// File: /workspace/github_c_makefile_star2_O0/mist64[P]cbm6502asm/src/line.c
// Function: parses3
void parses3(int enablang) {
	angleb = squote = dquote = 0;

	if (*s3 == '=') { /* special 4 field case "label symbol = exp" */
		s3++;
		while (isspace(*s3)) s3++; /* 3rd field is "= exp" */
	}
	while (*s3 && (*s3 != ';' || squote || dquote)) {
		char *pnt;
		if (*s3 == '~') { /* special treatment for the tilde char */
			pnt = s3 +
			      1; /* save pointer to char after char after ~ */
			if (!*pnt) { /* if last char is tilde add a space */
				*pnt = ' ';
				*(pnt + 1) = 0;
			}
			while (*s3) { /* shift field */
				*s3 = s3[1];
				s3++;
			}
			s3 = pnt; /* pointing to char after char after ~ */
			continue;
		}
		if (*s3 == '\'' &&
		    !dquote)              /* if sngl quote not in dbl quotes */
			squote = !squote; /* toggle single quote status */
		if (*s3 == '\"' &&
		    !squote)              /* if dbl quote not in sngl quotes */
			dquote = !dquote; /* toggle double quote status */
		if (*s3 == '<' && !dquote &&
		    !squote) /* count angle brackets < */
			angleb++;
		if (*s3 == '>' && !dquote &&
		    !squote) /* count angle brackets > */
			angleb--;
		if (!(enablang * angleb | dquote |
		      squote)) {          /* if delimiters are balanced */
			if (*s3 == ',') { /* if comma - separate subfields */
				*s3 = 0;  /* then terminate sub-field */
				while (isspace(*(pnt = s3 + 1)))
					while (*pnt) {
						*pnt = pnt[1];
						pnt++;
					}
			}
			if (isspace(*s3)) /* end of field */
				break;
		}
		s3++; /* scan next character */
	}
	*s3++ = 0; /* field ends in double null */
	*s3 = 0;
	s3 = p3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
leaq 0x9ca2(%rip), %rax      # 0x10dd4
movl $0x0, (%rax)
leaq 0x9c99(%rip), %rax      # 0x10dd8
movl $0x0, (%rax)
leaq 0x9c84(%rip), %rax      # 0x10dd0
movl $0x0, (%rax)
leaq 0x9f37(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x71be
leaq 0x9f25(%rip), %rax      # 0x11090
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x9f17(%rip), %rax      # 0x11090
movq %rcx, (%rax)
callq 0x1200
movq (%rax), %rax
leaq 0x9f05(%rip), %rcx      # 0x11090
movq (%rcx), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x71bc
leaq 0x9ee7(%rip), %rax      # 0x11090
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x9ed9(%rip), %rax      # 0x11090
movq %rcx, (%rax)
jmp 0x717c
jmp 0x71be
jmp 0x71c0
leaq 0x9ec9(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x11(%rbp)
je 0x7215
leaq 0x9eb2(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x3b, %ecx
movb %al, -0x12(%rbp)
jne 0x720f
movb $0x1, %al
leaq 0x9be1(%rip), %rcx      # 0x10dd8
cmpl $0x0, (%rcx)
movb %al, -0x12(%rbp)
jne 0x720f
leaq 0x9bce(%rip), %rax      # 0x10dd4
cmpl $0x0, (%rax)
setne %al
movb %al, -0x12(%rbp)
movb -0x12(%rbp), %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
testb $0x1, %al
jne 0x7221
jmp 0x7496
leaq 0x9e68(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0x72b8
leaq 0x9e52(%rip), %rax      # 0x11090
movq (%rax), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
jne 0x7261
movq -0x10(%rbp), %rax
movb $0x20, (%rax)
movq -0x10(%rbp), %rax
movb $0x0, 0x1(%rax)
jmp 0x7263
leaq 0x9e26(%rip), %rax      # 0x11090
movq (%rax), %rax
cmpb $0x0, (%rax)
je 0x72a5
leaq 0x9e17(%rip), %rax      # 0x11090
movq (%rax), %rax
movb 0x1(%rax), %cl
leaq 0x9e0a(%rip), %rax      # 0x11090
movq (%rax), %rax
movb %cl, (%rax)
leaq 0x9dfe(%rip), %rax      # 0x11090
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x9df0(%rip), %rax      # 0x11090
movq %rcx, (%rax)
jmp 0x7263
movq -0x10(%rbp), %rcx
leaq 0x9de0(%rip), %rax      # 0x11090
movq %rcx, (%rax)
jmp 0x71c0
leaq 0x9dd1(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x27, %eax
jne 0x72f3
leaq 0x9b03(%rip), %rax      # 0x10dd4
cmpl $0x0, (%rax)
jne 0x72f3
leaq 0x9afb(%rip), %rax      # 0x10dd8
cmpl $0x0, (%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
leaq 0x9ae7(%rip), %rax      # 0x10dd8
movl %ecx, (%rax)
leaq 0x9d96(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0x732e
leaq 0x9acc(%rip), %rax      # 0x10dd8
cmpl $0x0, (%rax)
jne 0x732e
leaq 0x9abc(%rip), %rax      # 0x10dd4
cmpl $0x0, (%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
leaq 0x9aa8(%rip), %rax      # 0x10dd4
movl %ecx, (%rax)
leaq 0x9d5b(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x3c, %eax
jne 0x736d
leaq 0x9a8d(%rip), %rax      # 0x10dd4
cmpl $0x0, (%rax)
jne 0x736d
leaq 0x9a85(%rip), %rax      # 0x10dd8
cmpl $0x0, (%rax)
jne 0x736d
leaq 0x9a71(%rip), %rax      # 0x10dd0
movl (%rax), %ecx
addl $0x1, %ecx
leaq 0x9a65(%rip), %rax      # 0x10dd0
movl %ecx, (%rax)
leaq 0x9d1c(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x73ac
leaq 0x9a4e(%rip), %rax      # 0x10dd4
cmpl $0x0, (%rax)
jne 0x73ac
leaq 0x9a46(%rip), %rax      # 0x10dd8
cmpl $0x0, (%rax)
jne 0x73ac
leaq 0x9a32(%rip), %rax      # 0x10dd0
movl (%rax), %ecx
addl $-0x1, %ecx
leaq 0x9a26(%rip), %rax      # 0x10dd0
movl %ecx, (%rax)
movl -0x4(%rbp), %eax
leaq 0x9a1a(%rip), %rcx      # 0x10dd0
imull (%rcx), %eax
leaq 0x9a14(%rip), %rcx      # 0x10dd4
orl (%rcx), %eax
leaq 0x9a0f(%rip), %rcx      # 0x10dd8
orl (%rcx), %eax
cmpl $0x0, %eax
jne 0x7479
leaq 0x9cb5(%rip), %rax      # 0x11090
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
jne 0x744f
leaq 0x9ca3(%rip), %rax      # 0x11090
movq (%rax), %rax
movb $0x0, (%rax)
callq 0x1200
movq (%rax), %rax
leaq 0x9c8e(%rip), %rcx      # 0x11090
movq (%rcx), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movsbl 0x1(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x744d
jmp 0x7427
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
je 0x744b
movq -0x10(%rbp), %rax
movb 0x1(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x7427
jmp 0x73f3
jmp 0x744f
callq 0x1200
movq (%rax), %rax
leaq 0x9c32(%rip), %rcx      # 0x11090
movq (%rcx), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x7477
jmp 0x7496
jmp 0x7479
leaq 0x9c10(%rip), %rax      # 0x11090
movq (%rax), %rcx
addq $0x1, %rcx
leaq 0x9c02(%rip), %rax      # 0x11090
movq %rcx, (%rax)
jmp 0x71c0
leaq 0x9bf3(%rip), %rax      # 0x11090
movq (%rax), %rax
movq %rax, %rdx
addq $0x1, %rdx
leaq 0x9be2(%rip), %rcx      # 0x11090
movq %rdx, (%rcx)
movb $0x0, (%rax)
leaq 0x9bd5(%rip), %rax      # 0x11090
movq (%rax), %rax
movb $0x0, (%rax)
leaq 0x9bc8(%rip), %rax      # 0x11090
leaq 0x9b31(%rip), %rcx      # 0x11000
movq %rcx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)