// File: /workspace/github_c_makefile_star2_O0/mist64[P]cbm6502asm/src/opcode.c
// Function: parseopr
char parseopr() {
	char tmp[LINELENG];
	long l;
	long s;
	int i, j, k, s3l;
	/*
	        check for implied address mode first to avoid wasting time
	        trying to parse a comment
	*/
	if ((j = searchstr(nm0, s2, 3)) >= 0) return (op0[j]);
	/*
	        test for valid opcode
	*/
	k = TRUE;
	if (strlen(s2) == 3) { /* three char opcode name */
		if (searchstr(nm1, s2, 3) >= 0) k = FALSE;
		if (searchstr(nm5, s2, 3) >= 0) k = FALSE;
		if (searchstr(nm7, s2, 3) >= 0) k = FALSE;
		if (searchstr(nmd, s2, 3) >= 0) k = FALSE;
		if (searchstr(nmh, s2, 3) >= 0) k = FALSE;
	}
	if (strlen(s2) == 4) { /* four char opcode name */
		if (searchstr(nm2, s2, 4) >= 0) k = FALSE;
		if (searchstr(nm3, s2, 4) >= 0) k = FALSE;
	}
	if (k) { /* unknown opcode */
		display_error(error = 'N');
		return (data = 0);
	}
	squote = dquote = i = 0;
	while (i < LINELENG && p3[i]) { /* change first space to null */
		if (p3[i] == '~') {
			i++;
			if (!p3[i]) {
				p3[i++] = ' ';
				p3[i] = 0;
			}
			continue;
		}
		if (p3[i] == '\'') squote = !squote;
		if (p3[i] == '\"') dquote = !dquote;
		if (isspace(p3[i]) && !dquote && !squote)
			p3[i] = 0;
		else
			i++;
	}
	/*
	        try some of these easiest to check addressing modes next
	*/
	if (toupper(*s3) == 'A' && !s3[1]) { /* accumulator addressing mode */
		if ((j = searchstr(nm1, s2, 3)) >= 0) return (op1[j]);
		display_error(error = 'O');
		return (data = 0);
	}
	if (*s3 == '#') { /* immediate addressing mode */
		s3++;
		if ((*s3 == '\'' || *s3 == '\"') && isspace(s3[2])) s3[2] = *s3;
		known = evaluate(s3, &l);
		j = searchstr(nm7, s2, 3);
		if (j >= 0) {
			d[data++] = l & 255;
			if ((op7[j] & 0x00ff) == 0x00f4) d[data++] = l >> 8;
			if (!known || l < 256 || (op7[j] & 0x00ff) == 0x00f4)
				return (op7[j]);
		}
		display_error(error = 'O');
		return (data = 0);
	}
	s3l = strlen(s3);

	if (toupper(s3[s3l - 5]) == 'S' &&
	    s3[s3l - 6] == ',' && /* SP indirect,Y */
	    toupper(s3[s3l - 4]) == 'P' && s3[s3l - 3] == ')' &&
	    toupper(s3[s3l - 1]) == 'Y' && s3[s3l - 2] == ',') {
		strcpy(tmp, &s3[1]);
		tmp[s3l - 7] = 0;
		known = evaluate(tmp, &l);
		d[data++] = l & 255;
		if (!known || l < 256)
			if ((j = searchstr(nmg, s2, 3)) >= 0) return (opg[j]);
		display_error(error = 'O');
		return (data = 0);
	}
	/*
	        calls and jmps
	*/
	if (!strcmp(s2, "BSR")) { /* relative call */
		known = evaluate(s3, &s);
		s -= loc_cntr + 2;
		d[data++] = s & 255;
		d[data++] = s >> 8;
		return (oph[0]);
	}
	if (!strcmp(s2, "JMP")) { /* jmp - 3 flavors */
		strcpy(tmp, s3);
		i = 1;
		if (s3[0] == '(' && s3[s3l - 1] == ')') {
			strcpy(tmp, &s3[1]);
			if ((i = (s3[s3l - 3] == ',' &&
			         toupper(s3[s3l - 2]) == 'X')))
				tmp[s3l - 4] = 0;
			else
				tmp[s3l - 2] = 0;
			i += 2;
		}
		known = evaluate(tmp, &l);
		d[data++] = l & 255;
		d[data++] = l >> 8;
		return (oph[i]);
	}
	if (!strcmp(s2, "JSR")) { /* call - 3 flavors */
		strcpy(tmp, s3);
		i = 4;
		if (s3[0] == '(' && s3[s3l - 1] == ')') {
			strcpy(tmp, &s3[1]);
			if ((i = (s3[s3l - 3] == ',' &&
			         toupper(s3[s3l - 2]) == 'X')))
				tmp[s3l - 4] = 0;
			else
				tmp[s3l - 2] = 0;
			i += 5;
		}
		known = evaluate(tmp, &l);
		d[data++] = l & 255;
		d[data++] = l >> 8;
		return (oph[i]);
	}
	/*      indirect X */
	if (s3[s3l - 3] == ',' && toupper(s3[s3l - 2]) == 'X' &&
	    s3[s3l - 1] == ')' && s3[0] == '(') {
		strcpy(tmp, &s3[1]);
		tmp[s3l - 4] = 0;
		known = evaluate(tmp, &l);
		d[data++] = l & 255;
		if (!known || l < 256)
			if ((j = searchstr(nm4, s2, 3)) >= 0) return (op4[j]);
		display_error(error = 'O');
		return (data = 0);
	}
	/*      indirect Y */
	if (s3[s3l - 3] == ')' && toupper(s3[s3l - 1]) == 'Y' &&
	    s3[s3l - 2] == ',' && s3[0] == '(') {
		strcpy(tmp, &s3[1]);
		tmp[s3l - 4] = 0;
		known = evaluate(tmp, &l);
		d[data++] = l;
		if (!known || l < 256)
			if ((j = searchstr(nma, s2, 3)) >= 0) return (opa[j]);
		display_error(error = 'O');
		return (data = 0);
	}
	/*
	        (bp),Z      indirect Z  if cputype = 3
	        (bp)        indirect    if cputype = 1 or 2
	                    error       if cputype = 0
	*/
	if (s3[0] == '(' && toupper(s3[s3l - 1]) == 'Z' && s3[s3l - 2] == ',' &&
	            s3[s3l - 3] == ')' && cputype == 3 ||
	    cputype && cputype < 3 && s3[0] == '(' && s3[s3l - 1] == ')') {
		strcpy(tmp, &s3[1]);
		tmp[s3l - 4] = 0;
		known = evaluate(tmp, &l);
		d[data++] = l & 255;
		if (!known || l < 256)
			if ((j = searchstr(nmf, s2, 3)) >= 0) return (opf[j]);
		display_error(error = 'O');
		return (data = 0);
	}

	if (s3[s3l - 2] == ',' &&
	    toupper(s3[s3l - 1]) == 'Y') { /* abs,Y or bp,Y */
		strcpy(tmp, s3);
		tmp[s3l - 2] = 0;
		known = evaluate(tmp, &l);
		d[data++] = l & 255;
		if (known && l > -129 && l < 256 && !forcelong)
			if ((j = searchstr(nmc, s2, 3)) >= 0) return (opc[j]);
		d[data++] = l >> 8;
		if ((j = searchstr(nmb, s2, 3)) >= 0) return (opb[j]);
		display_error(error = 'O');
		return (data = 0);
	}

	if (s3[s3l - 2] == ',' &&
	    toupper(s3[s3l - 1]) == 'X') { /* abs,X or bp,X */
		strcpy(tmp, s3);
		tmp[s3l - 2] = 0;
		known = evaluate(tmp, &l);
		d[data++] = l & 255;
		if (!known || l > 255 || forcelong) {
			d[data++] = l >> 8;
			if ((j = searchstr(nm8, s2, 3)) >= 0)
				if (op9[j]) return (op9[j]); /* abs,x */
		}
		if (known && l < 256)
			if ((j = searchstr(nm8, s2, 3)) >= 0)
				if (op8[j]) return (op8[j]); /* bp,x */
		display_error(error = 'O');
		return (data = 0);
	}
	/*
	        now test the easiest instructions to identify
	*/
	if (isdigit(s2[3]) &&
	    s2[4] == 0) { /* must be a rockwell bit instruction */
		if ((j = searchstr(nm2, s2, 4)) >= 0) {
			known = evaluate(s3, &l);
			d[data++] = l & 255;
			return (op2[j]); /* set or reset */
		}
		if ((j = searchstr(nm3, s2, 4)) >= 0) {
			char *p;
			strcpy(tmp, s3);
			if ((p = strchr(tmp, ','))) { /* find the , */
				*p = 0;
				known = evaluate(tmp, &l);
				d[data++] = l & 255;
				if (known && l > 255) {
					display_error(error = 'O');
					return (data = 0);
				}
				l = known;
				known = evaluate(++p, &s);
				s -= 3 + loc_cntr;
				d[data++] = s & 255;
				if (known && (s > 127 || s < -128)) {
					display_error(error = 'O');
					return (data = 0);
				}
				known &= l;
				return (op3[j]); /* br set or br reset */
			}
		}
		display_error(error = 'O');
		return (data = 0);
	}
	/*
	        test for branches
	*/
	if ((j = searchstr(nmd, s2, 3)) >= 0) {
		int petite;
		known = evaluate(s3, &s);
		s -= 2 + loc_cntr;
		petite = s < 128 && s > -129;
		d[data++] = s & 255;     /* low byte whether long or short */
		if (curpass < maxpass) { /* okay to change operand size */
			if (known && petite) return (opd[j]); /* short branch */
			if (cputype < 3) {
				if (known) display_error(error = 'A');
				return (opd[j]);
			}
			if ((assumeL && !known) ||
			    (known && !petite)) { /* long */
				d[data++] = s >> 8;
				return (ope[j]); /* long */
			}
			return opd[j]; /* else short */
		} else /* last pass, can't change operand size */
		        if (forcelong) { /* long branch */
			d[data++] = s >> 8;
			return (ope[j]);
		} else { /* short branch */
			if (!petite) display_error(error = 'A');
			return (opd[j]);
		}
	}
	/*
	        must be absolute or bp
	*/
	known = evaluate(s3, &l);
	d[data++] = l & 255;
	j = searchstr(nm5, s2, 3);
	i = !known || l < -128 || l > 255 || forcelong || !op5[j];
	if ((k = (i && op6[j]))) d[data++] = l >> 8 & 255;
	if (k ? op6[j] : op5[j]) return (k ? op6[j] : op5[j]); /* ?abs:bp */
	display_error(error = 'O');
	return (data = 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
leaq 0x8d26(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7ec4(%rip), %rdi      # 0x10230
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x839a
movslq -0xa8(%rbp), %rcx
leaq 0x7f21(%rip), %rax      # 0x102b0
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
movl $0x1, -0xac(%rbp)
leaq 0x8cdd(%rip), %rax      # 0x11088
movq (%rax), %rdi
callq 0x10a0
cmpq $0x3, %rax
jne 0x8491
leaq 0x8cc4(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7f12(%rip), %rdi      # 0x102e0
movl $0x3, %edx
callq 0x82a0
cmpl $0x0, %eax
jl 0x83e7
movl $0x0, -0xac(%rbp)
leaq 0x8c9a(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x8008(%rip), %rdi      # 0x10400
movl $0x3, %edx
callq 0x82a0
cmpl $0x0, %eax
jl 0x8411
movl $0x0, -0xac(%rbp)
leaq 0x8c70(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x808e(%rip), %rdi      # 0x104b0
movl $0x3, %edx
callq 0x82a0
cmpl $0x0, %eax
jl 0x843b
movl $0x0, -0xac(%rbp)
leaq 0x8c46(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x81a4(%rip), %rdi      # 0x105f0
movl $0x3, %edx
callq 0x82a0
cmpl $0x0, %eax
jl 0x8465
movl $0x0, -0xac(%rbp)
leaq 0x8c1c(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x81e4(%rip), %rdi      # 0x1065a
movl $0x3, %edx
callq 0x82a0
cmpl $0x0, %eax
jl 0x848f
movl $0x0, -0xac(%rbp)
jmp 0x8491
leaq 0x8bf0(%rip), %rax      # 0x11088
movq (%rax), %rdi
callq 0x10a0
cmpq $0x4, %rax
jne 0x84fc
leaq 0x8bdb(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7e59(%rip), %rdi      # 0x10310
movl $0x4, %edx
callq 0x82a0
cmpl $0x0, %eax
jl 0x84d0
movl $0x0, -0xac(%rbp)
leaq 0x8bb1(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7e8f(%rip), %rdi      # 0x10370
movl $0x4, %edx
callq 0x82a0
cmpl $0x0, %eax
jl 0x84fa
movl $0x0, -0xac(%rbp)
jmp 0x84fc
cmpl $0x0, -0xac(%rbp)
je 0x852c
leaq 0x88d4(%rip), %rax      # 0x10de0
movb $0x4e, (%rax)
movl $0x4e, %edi
callq 0x2350
leaq 0x8d91(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
movl $0x0, -0xa4(%rbp)
leaq 0x8897(%rip), %rax      # 0x10dd4
movl $0x0, (%rax)
leaq 0x888e(%rip), %rax      # 0x10dd8
movl $0x0, (%rax)
xorl %eax, %eax
cmpl $0x86, -0xa4(%rbp)
movb %al, -0xbd(%rbp)
jge 0x8582
movslq -0xa4(%rbp), %rcx
leaq 0x8a8e(%rip), %rax      # 0x11000
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0xbd(%rbp)
movb -0xbd(%rbp), %al
testb $0x1, %al
jne 0x8591
jmp 0x86d4
movslq -0xa4(%rbp), %rcx
leaq 0x8a61(%rip), %rax      # 0x11000
movsbl (%rax,%rcx), %eax
cmpl $0x7e, %eax
jne 0x8601
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movslq -0xa4(%rbp), %rcx
leaq 0x8a3b(%rip), %rax      # 0x11000
cmpb $0x0, (%rax,%rcx)
jne 0x85fc
movl -0xa4(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xa4(%rbp)
movslq %eax, %rcx
leaq 0x8a1a(%rip), %rax      # 0x11000
movb $0x20, (%rax,%rcx)
movslq -0xa4(%rbp), %rcx
leaq 0x8a08(%rip), %rax      # 0x11000
movb $0x0, (%rax,%rcx)
jmp 0x8550
movslq -0xa4(%rbp), %rcx
leaq 0x89f1(%rip), %rax      # 0x11000
movsbl (%rax,%rcx), %eax
cmpl $0x27, %eax
jne 0x8635
leaq 0x87b9(%rip), %rax      # 0x10dd8
cmpl $0x0, (%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
leaq 0x87a5(%rip), %rax      # 0x10dd8
movl %ecx, (%rax)
movslq -0xa4(%rbp), %rcx
leaq 0x89bd(%rip), %rax      # 0x11000
movsbl (%rax,%rcx), %eax
cmpl $0x22, %eax
jne 0x8669
leaq 0x8781(%rip), %rax      # 0x10dd4
cmpl $0x0, (%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
leaq 0x876d(%rip), %rax      # 0x10dd4
movl %ecx, (%rax)
callq 0x1200
movq (%rax), %rax
movslq -0xa4(%rbp), %rdx
leaq 0x8981(%rip), %rcx      # 0x11000
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x86c0
leaq 0x8739(%rip), %rax      # 0x10dd4
cmpl $0x0, (%rax)
jne 0x86c0
leaq 0x8731(%rip), %rax      # 0x10dd8
cmpl $0x0, (%rax)
jne 0x86c0
movslq -0xa4(%rbp), %rcx
leaq 0x8946(%rip), %rax      # 0x11000
movb $0x0, (%rax,%rcx)
jmp 0x86cf
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
jmp 0x8550
leaq 0x89b5(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %edi
callq 0x1080
cmpl $0x41, %eax
jne 0x8761
leaq 0x899e(%rip), %rax      # 0x11090
movq (%rax), %rax
cmpb $0x0, 0x1(%rax)
jne 0x8761
leaq 0x8986(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7bd4(%rip), %rdi      # 0x102e0
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x873a
movslq -0xa8(%rbp), %rcx
leaq 0x7bca(%rip), %rax      # 0x102f9
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x869f(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x8b5c(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x8928(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x8945
leaq 0x8912(%rip), %rax      # 0x11090
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x8904(%rip), %rax      # 0x11090
movq %rcx, (%rax)
leaq 0x88fa(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x27, %eax
je 0x87b3
leaq 0x88e8(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0x87f3
callq 0x1200
movq (%rax), %rax
leaq 0x88ce(%rip), %rcx      # 0x11090
movq (%rcx), %rcx
movsbl 0x2(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x87f3
leaq 0x88af(%rip), %rax      # 0x11090
movq (%rax), %rax
movb (%rax), %cl
leaq 0x88a3(%rip), %rax      # 0x11090
movq (%rax), %rax
movb %cl, 0x2(%rax)
leaq 0x8896(%rip), %rax      # 0x11090
movq (%rax), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x8aa1(%rip), %rax      # 0x112b3
movb %cl, (%rax)
leaq 0x886d(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7c8b(%rip), %rdi      # 0x104b0
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, -0xa8(%rbp)
jl 0x891e
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x8a59(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x8a49(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x893a(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movslq -0xa8(%rbp), %rcx
leaq 0x7c69(%rip), %rax      # 0x104f0
movsbl (%rax,%rcx), %eax
andl $0xff, %eax
cmpl $0xf4, %eax
jne 0x88cc
movq -0x98(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x8a06(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x89f6(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x88e7(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x89e0(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x8903
cmpq $0x100, -0x98(%rbp) # imm = 0x100
jl 0x8903
movslq -0xa8(%rbp), %rcx
leaq 0x7bfd(%rip), %rax      # 0x104f0
movsbl (%rax,%rcx), %eax
andl $0xff, %eax
cmpl $0xf4, %eax
jne 0x891c
movslq -0xa8(%rbp), %rcx
leaq 0x7bdf(%rip), %rax      # 0x104f0
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x891e
leaq 0x84bb(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x8978(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x8744(%rip), %rax      # 0x11090
movq (%rax), %rdi
callq 0x10a0
movl %eax, -0xb0(%rbp)
leaq 0x872f(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x5, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x53, %eax
jne 0x8b3e
leaq 0x8707(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x6, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x8b3e
leaq 0x86e4(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x4, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x50, %eax
jne 0x8b3e
leaq 0x86bc(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x8b3e
leaq 0x8699(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x59, %eax
jne 0x8b3e
leaq 0x8671(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x8b3e
leaq -0x90(%rbp), %rdi
leaq 0x8647(%rip), %rax      # 0x11090
movq (%rax), %rsi
addq $0x1, %rsi
callq 0x1070
movl -0xb0(%rbp), %eax
subl $0x7, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x882f(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x8815(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x8805(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x86f6(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x87ef(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x8ad6
cmpq $0x100, -0x98(%rbp) # imm = 0x100
jge 0x8b17
leaq 0x85ab(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7b6a(%rip), %rdi      # 0x10651
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x8b15
movslq -0xa8(%rbp), %rcx
leaq 0x7b4e(%rip), %rax      # 0x10658
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x8b17
leaq 0x82c2(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x877f(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x8543(%rip), %rax      # 0x11088
movq (%rax), %rdi
leaq 0x4ed7(%rip), %rsi      # 0xda26
callq 0x1110
cmpl $0x0, %eax
jne 0x8c17
leaq 0x852c(%rip), %rax      # 0x11090
movq (%rax), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x8737(%rip), %rax      # 0x112b3
movb %cl, (%rax)
leaq 0x7c7b(%rip), %rax      # 0x10800
movq (%rax), %rcx
addq $0x2, %rcx
movq -0xa0(%rbp), %rax
subq %rcx, %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x86fe(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x86ee(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x85df(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movq -0xa0(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x86c9(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x86b9(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x85aa(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movb 0x7a55(%rip), %al       # 0x10664
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x846a(%rip), %rax      # 0x11088
movq (%rax), %rdi
leaq 0x4e02(%rip), %rsi      # 0xda2a
callq 0x1110
cmpl $0x0, %eax
jne 0x8def
leaq -0x90(%rbp), %rdi
leaq 0x844c(%rip), %rax      # 0x11090
movq (%rax), %rsi
callq 0x1070
movl $0x1, -0xa4(%rbp)
leaq 0x8433(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0x8d4c
leaq 0x841d(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x8d4c
leaq -0x90(%rbp), %rdi
leaq 0x83f3(%rip), %rax      # 0x11090
movq (%rax), %rsi
addq $0x1, %rsi
callq 0x1070
leaq 0x83e0(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x2c, %ecx
movb %al, -0xbe(%rbp)
jne 0x8cfb
leaq 0x83b9(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x58, %eax
sete %al
movb %al, -0xbe(%rbp)
movb -0xbe(%rbp), %al
movb %al, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movl %ecx, -0xa4(%rbp)
testb $0x1, %al
jne 0x8d15
jmp 0x8d2a
movl -0xb0(%rbp), %eax
subl $0x4, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
jmp 0x8d3d
movl -0xb0(%rbp), %eax
subl $0x2, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
movl -0xa4(%rbp), %eax
addl $0x2, %eax
movl %eax, -0xa4(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x854b(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x8531(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x8521(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x8412(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movq -0x98(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x84fc(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x84ec(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x83dd(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movslq -0xa4(%rbp), %rcx
leaq 0x7880(%rip), %rax      # 0x10664
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x8292(%rip), %rax      # 0x11088
movq (%rax), %rdi
leaq 0x4c2e(%rip), %rsi      # 0xda2e
callq 0x1110
cmpl $0x0, %eax
jne 0x8fc7
leaq -0x90(%rbp), %rdi
leaq 0x8274(%rip), %rax      # 0x11090
movq (%rax), %rsi
callq 0x1070
movl $0x4, -0xa4(%rbp)
leaq 0x825b(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0x8f24
leaq 0x8245(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x8f24
leaq -0x90(%rbp), %rdi
leaq 0x821b(%rip), %rax      # 0x11090
movq (%rax), %rsi
addq $0x1, %rsi
callq 0x1070
leaq 0x8208(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x2c, %ecx
movb %al, -0xbf(%rbp)
jne 0x8ed3
leaq 0x81e1(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x58, %eax
sete %al
movb %al, -0xbf(%rbp)
movb -0xbf(%rbp), %al
movb %al, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movl %ecx, -0xa4(%rbp)
testb $0x1, %al
jne 0x8eed
jmp 0x8f02
movl -0xb0(%rbp), %eax
subl $0x4, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
jmp 0x8f15
movl -0xb0(%rbp), %eax
subl $0x2, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
movl -0xa4(%rbp), %eax
addl $0x5, %eax
movl %eax, -0xa4(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x8373(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x8359(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x8349(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x823a(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movq -0x98(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x8324(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x8314(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x8205(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movslq -0xa4(%rbp), %rcx
leaq 0x76a8(%rip), %rax      # 0x10664
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x80c2(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x914e
leaq 0x809f(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x58, %eax
jne 0x914e
leaq 0x8077(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x914e
leaq 0x8054(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0x914e
leaq -0x90(%rbp), %rdi
leaq 0x8037(%rip), %rax      # 0x11090
movq (%rax), %rsi
addq $0x1, %rsi
callq 0x1070
movl -0xb0(%rbp), %eax
subl $0x4, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x821f(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x8205(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x81f5(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x80e6(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x81df(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x90e6
cmpq $0x100, -0x98(%rbp) # imm = 0x100
jge 0x9127
leaq 0x7f9b(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x72d9(%rip), %rdi      # 0x103d0
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x9125
movslq -0xa8(%rbp), %rcx
leaq 0x72cf(%rip), %rax      # 0x103e9
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x9127
leaq 0x7cb2(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x816f(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x7f3b(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x92cf
leaq 0x7f18(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x59, %eax
jne 0x92cf
leaq 0x7ef0(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x92cf
leaq 0x7ecd(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0x92cf
leaq -0x90(%rbp), %rdi
leaq 0x7eb0(%rip), %rax      # 0x11090
movq (%rax), %rsi
addq $0x1, %rsi
callq 0x1070
movl -0xb0(%rbp), %eax
subl $0x4, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x8098(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
movb %al, %dl
leaq 0x8084(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x8074(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7f65(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x805e(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x9267
cmpq $0x100, -0x98(%rbp) # imm = 0x100
jge 0x92a8
leaq 0x7e1a(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x7308(%rip), %rdi      # 0x10580
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x92a6
movslq -0xa8(%rbp), %rcx
leaq 0x72fe(%rip), %rax      # 0x10599
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x92a8
leaq 0x7b31(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7fee(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x7dba(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0x934f
leaq 0x7da8(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x5a, %eax
jne 0x934f
leaq 0x7d84(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x934f
leaq 0x7d65(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x934f
leaq 0x755e(%rip), %rax      # 0x108a8
cmpl $0x3, (%rax)
je 0x93a8
leaq 0x7552(%rip), %rax      # 0x108a8
cmpl $0x0, (%rax)
je 0x94ab
leaq 0x7542(%rip), %rax      # 0x108a8
cmpl $0x3, (%rax)
jge 0x94ab
leaq 0x7d1a(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x28, %eax
jne 0x94ab
leaq 0x7d04(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x29, %eax
jne 0x94ab
leaq -0x90(%rbp), %rdi
leaq 0x7cda(%rip), %rax      # 0x11090
movq (%rax), %rsi
addq $0x1, %rsi
callq 0x1070
movl -0xb0(%rbp), %eax
subl $0x4, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x7ec2(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x7ea8(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7e98(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7d89(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x7e82(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x9443
cmpq $0x100, -0x98(%rbp) # imm = 0x100
jge 0x9484
leaq 0x7c3e(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x71dc(%rip), %rdi      # 0x10630
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x9482
movslq -0xa8(%rbp), %rcx
leaq 0x71d2(%rip), %rax      # 0x10649
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x9484
leaq 0x7955(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7e12(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x7bde(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x9685
leaq 0x7bbb(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x59, %eax
jne 0x9685
leaq -0x90(%rbp), %rdi
leaq 0x7b8c(%rip), %rax      # 0x11090
movq (%rax), %rsi
callq 0x1070
movl -0xb0(%rbp), %eax
subl $0x2, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x7d78(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x7d5e(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7d4e(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7c3f(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x7d38(%rip), %rax      # 0x112b3
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x95ea
cmpq $-0x81, -0x98(%rbp)
jle 0x95ea
cmpq $0x100, -0x98(%rbp) # imm = 0x100
jge 0x95ea
leaq 0x750c(%rip), %rax      # 0x10ab0
cmpl $0x0, (%rax)
jne 0x95ea
leaq 0x7ad8(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x701f(%rip), %rdi      # 0x105d9
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x95e8
movslq -0xa8(%rbp), %rcx
leaq 0x7003(%rip), %rax      # 0x105e0
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x95ea
movq -0x98(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x7cb3(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7ca3(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7b94(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x7a62(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x6f80(%rip), %rdi      # 0x105b0
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x965e
movslq -0xa8(%rbp), %rcx
leaq 0x6f7c(%rip), %rax      # 0x105cf
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x777b(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7c38(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x7a04(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x989d
leaq 0x79e1(%rip), %rax      # 0x11090
movq (%rax), %rax
movl -0xb0(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x1080
cmpl $0x58, %eax
jne 0x989d
leaq -0x90(%rbp), %rdi
leaq 0x79b2(%rip), %rax      # 0x11090
movq (%rax), %rsi
callq 0x1070
movl -0xb0(%rbp), %eax
subl $0x2, %eax
cltq
movb $0x0, -0x90(%rbp,%rax)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x7b9e(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x7b84(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7b74(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7a65(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x7b5e(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x9777
cmpq $0xff, -0x98(%rbp)
jg 0x9777
leaq 0x7342(%rip), %rax      # 0x10ab0
cmpl $0x0, (%rax)
je 0x9803
movq -0x98(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x7b26(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7b16(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7a07(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x78d5(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x6d43(%rip), %rdi      # 0x10500
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x9801
movslq -0xa8(%rbp), %rcx
leaq 0x6d80(%rip), %rax      # 0x10560
cmpb $0x0, (%rax,%rcx)
je 0x97ff
movslq -0xa8(%rbp), %rcx
leaq 0x6d6c(%rip), %rax      # 0x10560
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x9801
jmp 0x9803
leaq 0x7aa9(%rip), %rax      # 0x112b3
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x9876
cmpq $0x100, -0x98(%rbp) # imm = 0x100
jge 0x9876
leaq 0x7862(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x6cd0(%rip), %rdi      # 0x10500
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x9874
movslq -0xa8(%rbp), %rcx
leaq 0x6ced(%rip), %rax      # 0x10540
cmpb $0x0, (%rax,%rcx)
je 0x9872
movslq -0xa8(%rbp), %rcx
leaq 0x6cd9(%rip), %rax      # 0x10540
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x9874
jmp 0x9876
leaq 0x7563(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7a20(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
callq 0x1200
movq (%rax), %rax
leaq 0x77dc(%rip), %rcx      # 0x11088
movq (%rcx), %rcx
movsbl 0x3(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x9bb7
leaq 0x77b9(%rip), %rax      # 0x11088
movq (%rax), %rax
movsbl 0x4(%rax), %eax
cmpl $0x0, %eax
jne 0x9bb7
leaq 0x77a2(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x6a20(%rip), %rdi      # 0x10310
movl $0x4, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x9976
leaq 0x7784(%rip), %rax      # 0x11090
movq (%rax), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x798f(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x7975(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7965(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7856(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movslq -0xa8(%rbp), %rcx
leaq 0x69f5(%rip), %rax      # 0x10360
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x770b(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x69e9(%rip), %rdi      # 0x10370
movl $0x4, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x9b90
leaq -0x90(%rbp), %rdi
leaq 0x76e2(%rip), %rax      # 0x11090
movq (%rax), %rsi
callq 0x1070
leaq -0x90(%rbp), %rdi
movl $0x2c, %esi
callq 0x10c0
movq %rax, -0xb8(%rbp)
cmpq $0x0, %rax
je 0x9b8e
movq -0xb8(%rbp), %rax
movb $0x0, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x78b5(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x789b(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x788b(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x777c(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x7875(%rip), %rax      # 0x112b3
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x9a7a
cmpq $0xff, -0x98(%rbp)
jle 0x9a7a
leaq 0x7386(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7843(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x7832(%rip), %rax      # 0x112b3
movsbq (%rax), %rax
movq %rax, -0x98(%rbp)
movq -0xb8(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0xb8(%rbp)
leaq -0xa0(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x7800(%rip), %rax      # 0x112b3
movb %cl, (%rax)
leaq 0x6d44(%rip), %rax      # 0x10800
movq (%rax), %rcx
addq $0x3, %rcx
movq -0xa0(%rbp), %rax
subq %rcx, %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x77c7(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x77b7(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x76a8(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x77a1(%rip), %rax      # 0x112b3
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x9b55
cmpq $0x7f, -0xa0(%rbp)
jg 0x9b2e
cmpq $-0x80, -0xa0(%rbp)
jge 0x9b55
leaq 0x72ab(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7768(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
movq -0x98(%rbp), %rcx
leaq 0x7750(%rip), %rax      # 0x112b3
movsbq (%rax), %rax
andq %rcx, %rax
movb %al, %cl
leaq 0x7740(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movslq -0xa8(%rbp), %rcx
leaq 0x683d(%rip), %rax      # 0x103c0
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
jmp 0x9b90
leaq 0x7249(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7706(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0xa062
leaq 0x74ca(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x6a28(%rip), %rdi      # 0x105f0
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
cmpl $0x0, %eax
jl 0x9e47
leaq 0x74a8(%rip), %rax      # 0x11090
movq (%rax), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x76b3(%rip), %rax      # 0x112b3
movb %cl, (%rax)
leaq 0x6bf7(%rip), %rax      # 0x10800
movq (%rax), %rcx
addq $0x2, %rcx
movq -0xa0(%rbp), %rax
subq %rcx, %rax
movq %rax, -0xa0(%rbp)
xorl %eax, %eax
cmpq $0x80, -0xa0(%rbp)
movb %al, -0xc0(%rbp)
jge 0x9c4a
cmpq $-0x81, -0xa0(%rbp)
setg %al
movb %al, -0xc0(%rbp)
movb -0xc0(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xbc(%rbp)
movq -0xa0(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x7640(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7630(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7521(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x6b37(%rip), %rax      # 0x107d0
movl (%rax), %eax
leaq 0x6b3e(%rip), %rcx      # 0x107e0
cmpl (%rcx), %eax
jge 0x9db7
leaq 0x7602(%rip), %rax      # 0x112b3
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x9cdb
cmpl $0x0, -0xbc(%rbp)
je 0x9cdb
movslq -0xa8(%rbp), %rcx
leaq 0x693f(%rip), %rax      # 0x1060f
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x6bc6(%rip), %rax      # 0x108a8
cmpl $0x3, (%rax)
jge 0x9d20
leaq 0x75c5(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x9d07
leaq 0x70e6(%rip), %rax      # 0x10de0
movb $0x41, (%rax)
movl $0x41, %edi
callq 0x2350
movslq -0xa8(%rbp), %rcx
leaq 0x68fa(%rip), %rax      # 0x1060f
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x6c21(%rip), %rax      # 0x10948
cmpl $0x0, (%rax)
je 0x9d38
leaq 0x7580(%rip), %rax      # 0x112b3
cmpb $0x0, (%rax)
je 0x9d50
leaq 0x7574(%rip), %rax      # 0x112b3
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x9d9e
cmpl $0x0, -0xbc(%rbp)
jne 0x9d9e
movq -0xa0(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x754d(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x753d(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x742e(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movslq -0xa8(%rbp), %rcx
leaq 0x6886(%rip), %rax      # 0x10619
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
movslq -0xa8(%rbp), %rcx
leaq 0x6863(%rip), %rax      # 0x1060f
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x6cf2(%rip), %rax      # 0x10ab0
cmpl $0x0, (%rax)
je 0x9e11
movq -0xa0(%rbp), %rax
sarq $0x8, %rax
movb %al, %dl
leaq 0x74da(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x74ca(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x73bb(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
movslq -0xa8(%rbp), %rcx
leaq 0x6813(%rip), %rax      # 0x10619
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
cmpl $0x0, -0xbc(%rbp)
jne 0x9e2e
leaq 0x6fbf(%rip), %rax      # 0x10de0
movb $0x41, (%rax)
movl $0x41, %edi
callq 0x2350
movslq -0xa8(%rbp), %rcx
leaq 0x67d3(%rip), %rax      # 0x1060f
movb (%rax,%rcx), %al
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x7242(%rip), %rax      # 0x11090
movq (%rax), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6690
movb %al, %cl
leaq 0x744d(%rip), %rax      # 0x112b3
movb %cl, (%rax)
movq -0x98(%rbp), %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x7433(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7423(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x7314(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
leaq 0x71e2(%rip), %rax      # 0x11088
movq (%rax), %rsi
leaq 0x6550(%rip), %rdi      # 0x10400
movl $0x3, %edx
callq 0x82a0
movl %eax, -0xa8(%rbp)
movb $0x1, %al
leaq 0x73ea(%rip), %rcx      # 0x112b3
cmpb $0x0, (%rcx)
movb %al, -0xc1(%rbp)
je 0x9f2c
movb $0x1, %al
cmpq $-0x80, -0x98(%rbp)
movb %al, -0xc1(%rbp)
jl 0x9f2c
movb $0x1, %al
cmpq $0xff, -0x98(%rbp)
movb %al, -0xc1(%rbp)
jg 0x9f2c
movb $0x1, %al
leaq 0x6bac(%rip), %rcx      # 0x10ab0
cmpl $0x0, (%rcx)
movb %al, -0xc1(%rbp)
jne 0x9f2c
movslq -0xa8(%rbp), %rcx
leaq 0x6553(%rip), %rax      # 0x10470
cmpb $0x0, (%rax,%rcx)
setne %al
xorb $-0x1, %al
movb %al, -0xc1(%rbp)
movb -0xc1(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xa4(%rbp)
xorl %eax, %eax
cmpl $0x0, -0xa4(%rbp)
movb %al, -0xc2(%rbp)
je 0x9f6c
movslq -0xa8(%rbp), %rcx
leaq 0x6534(%rip), %rax      # 0x10490
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0xc2(%rbp)
movb -0xc2(%rbp), %al
movb %al, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movl %ecx, -0xac(%rbp)
testb $0x1, %al
jne 0x9f86
jmp 0x9fc1
movq -0x98(%rbp), %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %dl
leaq 0x7311(%rip), %rax      # 0x112b1
movb (%rax), %al
movb %al, %sil
addb $0x1, %sil
leaq 0x7301(%rip), %rcx      # 0x112b1
movb %sil, (%rcx)
movsbq %al, %rcx
leaq 0x71f2(%rip), %rax      # 0x111b0
movb %dl, (%rax,%rcx)
cmpl $0x0, -0xac(%rbp)
je 0x9fe3
movslq -0xa8(%rbp), %rcx
leaq 0x64b8(%rip), %rax      # 0x10490
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x9ffa
jmp 0xa040
movslq -0xa8(%rbp), %rcx
leaq 0x647f(%rip), %rax      # 0x10470
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0xa040
cmpl $0x0, -0xac(%rbp)
je 0xa01d
movslq -0xa8(%rbp), %rcx
leaq 0x647f(%rip), %rax      # 0x10490
movsbl (%rax,%rcx), %eax
movl %eax, -0xc8(%rbp)
jmp 0xa035
movslq -0xa8(%rbp), %rcx
leaq 0x6445(%rip), %rax      # 0x10470
movsbl (%rax,%rcx), %eax
movl %eax, -0xc8(%rbp)
movl -0xc8(%rbp), %eax
movb %al, -0x1(%rbp)
jmp 0xa062
leaq 0x6d99(%rip), %rax      # 0x10de0
movb $0x4f, (%rax)
movl $0x4f, %edi
callq 0x2350
leaq 0x7256(%rip), %rax      # 0x112b1
movb $0x0, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
addq $0xd0, %rsp
popq %rbp
retq
nop