// File: /workspace/github_c_makefile_star2_O3/blakemcbride[P]LISP9/ls9.c
// Function: xread2
cell xread2(void) {
	int	c;

	c = readc();
	while (1) {
		while (' ' == c || '\t' == c || '\n' == c || '\r' == c) {
			if (Intr || Readerr) return NIL;
			if ('\n' == c) Line++;
			c = readc();
		}
		if (c != ';') break;
		while (c != '\n' && c != EOF)
			c = readc();
	}
	if (Intr || Readerr) return NIL;
	if (EOF == c) {
		return EOFMARK;
	}
	else if ('#' == c) {
		c = readc();
		if ('\\' == c) return rdchar();
		else if (LP == c) return rdvec();
		else if (isdigit(c)) return rdfix(c);
		else rderror("bad # syntax", mkchar(c));
	}
	else if ('"' == c) {
		return rdstr();
	}
	else if (LP == c) {
		return rdlist();
	}
	else if (RP == c) {
		if (!Inlist) rderror("unexpected ')'", UNDEF);
		return RPAREN;
	}
	else if ('\'' == c) {
		return rdquote(S_quote);
	}
	else if ('`' == c || '@' == c) {
		return rdquote(S_qquote);
	}
	else if (',' == c) {
		if (!Inlist && !Quoting) return meta();
		c = readc();
		if ('@' == c) return rdquote(S_splice);
		rejectc(c);
		return rdquote(S_unquote);
	}
	else if ('.' == c) {
		if (!Inlist) rderror("unexpected '.'", UNDEF);
		return DOT;
	}
	else if (symbolic(c)) {
		return rdsymfix(c, 10, 1);
	}
	else {
		rderror("funny input character, code", mkfix(c));
	}
	return NIL;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movabsq $0x100002600, %r14      # imm = 0x100002600
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
callq 0x28ac
movl %eax, %ebx
cmpl $0x3b, %ebx
jne 0x4507
cmpl $-0x1, %ebx
je 0x44ef
cmpl $0xa, %ebx
je 0x44ef
callq 0x28ac
movl %eax, %ebx
jmp 0x44f4
cmpl $0x20, %ebx
ja 0x453c
movl %ebx, %eax
btq %rax, %r14
jae 0x453c
cmpl $0x0, 0x15115(%rip)     # 0x19630
jne 0x477a
cmpq $0x0, 0x150ff(%rip)     # 0x19628
jne 0x477a
cmpl $0xa, %ebx
jne 0x44e8
incl 0x14bfa(%rip)           # 0x19134
jmp 0x44e8
cmpl $0x0, 0x150ed(%rip)     # 0x19630
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jne 0x477a
cmpq $0x0, 0x150d2(%rip)     # 0x19628
jne 0x477a
leal -0x22(%rbx), %eax
cmpl $0x7, %eax
ja 0x457d
leaq 0xea99(%rip), %rcx      # 0x13004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
popq %rbx
popq %r14
popq %rbp
jmp 0x4cfc
movl $0xfffffffd, %ebp       # imm = 0xFFFFFFFD
cmpl $-0x1, %ebx
je 0x477a
movl %ebx, %eax
andl $-0x21, %eax
cmpl $0x40, %eax
jne 0x45fb
movl 0x150a1(%rip), %edi     # 0x1963c
jmp 0x45cf
movl $0xfffffffb, %ebp       # imm = 0xFFFFFFFB
cmpl $0x0, 0x15073(%rip)     # 0x1961c
jne 0x477a
cmpq $0x0, 0x14fa1(%rip)     # 0x19558
je 0x47a5
leaq 0xf011(%rip), %rax      # 0x135d5
jmp 0x4773
movl 0x15069(%rip), %edi     # 0x19638
popq %rbx
popq %r14
popq %rbp
jmp 0x4f5f
callq 0x28ac
cmpl $0x28, %eax
je 0x4635
movl %eax, %ebx
cmpl $0x5c, %eax
jne 0x464a
popq %rbx
popq %r14
popq %rbp
jmp 0x4152
popq %rbx
popq %r14
popq %rbp
jmp 0x433d
cmpl $0x2e, %ebx
je 0x46a2
cmpl $0x2c, %ebx
jne 0x46ce
movl 0x1500d(%rip), %eax     # 0x19620
orl 0x15003(%rip), %eax     # 0x1961c
je 0x4700
callq 0x28ac
cmpl $0x40, %eax
jne 0x4727
movl 0x1500d(%rip), %edi     # 0x19640
jmp 0x45cf
callq 0x433d
movl %eax, %edi
movl $0x1, %esi
popq %rbx
popq %r14
popq %rbp
jmp 0x47e9
callq 0x2230
movq (%rax), %rax
movslq %ebx, %rcx
testb $0x8, 0x1(%rax,%rcx,2)
jne 0x46f5
movzbl %bl, %edi
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x30e7
movl $0xfffffff4, %edi       # imm = 0xFFFFFFF4
movl %eax, %esi
movl $0x1, %edx
callq 0x30e7
cmpq $0x0, 0x14ec8(%rip)     # 0x19558
je 0x47b6
leaq 0xef2b(%rip), %rax      # 0x135c8
jmp 0x4773
movl $0xfffffffa, %ebp       # imm = 0xFFFFFFFA
cmpl $0x0, 0x14f6e(%rip)     # 0x1961c
jne 0x477a
cmpq $0x0, 0x14e9c(%rip)     # 0x19558
je 0x47bf
leaq 0xef1b(%rip), %rax      # 0x135e4
jmp 0x4773
callq 0x2230
movq (%rax), %rax
movslq %ebx, %rcx
testb $0xc, 0x1(%rax,%rcx,2)
je 0x4709
movl %ebx, %edi
movl $0xa, %esi
movl $0x1, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0x4ab4
movl %ebx, %edi
popq %rbx
popq %r14
popq %rbp
jmp 0x4c28
popq %rbx
popq %r14
popq %rbp
jmp 0x4f8d
testl %ebx, %ebx
je 0x4739
leaq 0xedd6(%rip), %rdi      # 0x134ea
movl $0x12, %edx
movl %ebx, %esi
callq 0x20d0
testq %rax, %rax
jne 0x46e0
jmp 0x473b
cmpq $0x0, 0x14e29(%rip)     # 0x19558
je 0x4781
movb %al, 0x14a1d(%rip)      # 0x19154
jmp 0x479a
xorl %ebx, %ebx
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebx, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x30e7
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
movl %eax, %esi
movl $0x1, %edx
callq 0x30e7
cmpq $0x0, 0x14dee(%rip)     # 0x19558
je 0x47c8
leaq 0xee80(%rip), %rax      # 0x135f3
movq %rax, 0x14eae(%rip)     # 0x19628
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
movslq 0x14dc0(%rip), %rcx     # 0x19548
leaq 0x14dd1(%rip), %rdx     # 0x19560
movq (%rdx,%rcx,8), %rsi
movl %eax, %edi
callq 0x2180
movl 0x14ea4(%rip), %edi     # 0x19644
jmp 0x45cf
leaq 0xee29(%rip), %rdi      # 0x135d5
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x2643
leaq 0xee0b(%rip), %rdi      # 0x135c8
jmp 0x47cf
leaq 0xee1e(%rip), %rdi      # 0x135e4
jmp 0x47ac
leaq 0xee24(%rip), %rdi      # 0x135f3
movl %eax, %esi
callq 0x2643