// File: /workspace/github_c_makefile_star2_O1/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 0x28d8
movl %eax, %ebx
cmpl $0x3b, %ebx
jne 0x4530
cmpl $-0x1, %ebx
je 0x4518
cmpl $0xa, %ebx
je 0x4518
callq 0x28d8
movl %eax, %ebx
jmp 0x451d
cmpl $0x20, %ebx
ja 0x4565
movl %ebx, %eax
btq %rax, %r14
jae 0x4565
cmpl $0x0, 0x150ec(%rip)     # 0x19630
jne 0x478d
cmpq $0x0, 0x150d6(%rip)     # 0x19628
jne 0x478d
cmpl $0xa, %ebx
jne 0x4511
incl 0x14bd1(%rip)           # 0x19134
jmp 0x4511
cmpl $0x0, 0x150c4(%rip)     # 0x19630
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jne 0x478d
cmpq $0x0, 0x150a9(%rip)     # 0x19628
jne 0x478d
leal -0x22(%rbx), %eax
cmpl $0x7, %eax
ja 0x45a6
leaq 0xea70(%rip), %rcx      # 0x13004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
popq %rbx
popq %r14
popq %rbp
jmp 0x4cf9
movl $0xfffffffd, %ebp       # imm = 0xFFFFFFFD
cmpl $-0x1, %ebx
je 0x478d
movl %ebx, %eax
andl $-0x21, %eax
cmpl $0x40, %eax
jne 0x4624
movl 0x15078(%rip), %edi     # 0x1963c
jmp 0x45f8
movl $0xfffffffb, %ebp       # imm = 0xFFFFFFFB
cmpl $0x0, 0x1504a(%rip)     # 0x1961c
jne 0x478d
cmpq $0x0, 0x14f78(%rip)     # 0x19558
je 0x47ca
leaq 0xefb8(%rip), %rax      # 0x135a5
jmp 0x4786
movl 0x15040(%rip), %edi     # 0x19638
popq %rbx
popq %r14
popq %rbp
jmp 0x4f66
callq 0x28d8
cmpl $0x28, %eax
je 0x465e
movl %eax, %ebx
cmpl $0x5c, %eax
jne 0x4673
popq %rbx
popq %r14
popq %rbp
jmp 0x41d1
popq %rbx
popq %r14
popq %rbp
jmp 0x438b
cmpl $0x2e, %ebx
je 0x46cb
cmpl $0x2c, %ebx
jne 0x46f7
movl 0x14fe4(%rip), %eax     # 0x19620
orl 0x14fda(%rip), %eax     # 0x1961c
je 0x4729
callq 0x28d8
cmpl $0x40, %eax
jne 0x4794
movl 0x14fe4(%rip), %edi     # 0x19640
jmp 0x45f8
callq 0x438b
movl %eax, %edi
movl $0x1, %esi
popq %rbx
popq %r14
popq %rbp
jmp 0x480e
callq 0x2230
movq (%rax), %rax
movslq %ebx, %rcx
testb $0x8, 0x1(%rax,%rcx,2)
jne 0x471e
movzbl %bl, %edi
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3162
movl $0xfffffff4, %edi       # imm = 0xFFFFFFF4
movl %eax, %esi
movl $0x1, %edx
callq 0x3162
cmpq $0x0, 0x14e9f(%rip)     # 0x19558
je 0x47db
leaq 0xeed2(%rip), %rax      # 0x13598
jmp 0x4786
movl $0xfffffffa, %ebp       # imm = 0xFFFFFFFA
cmpl $0x0, 0x14f45(%rip)     # 0x1961c
jne 0x478d
cmpq $0x0, 0x14e73(%rip)     # 0x19558
je 0x47e4
leaq 0xeec2(%rip), %rax      # 0x135b4
jmp 0x4786
callq 0x2230
movq (%rax), %rax
movslq %ebx, %rcx
testb $0xc, 0x1(%rax,%rcx,2)
je 0x4732
movl %ebx, %edi
movl $0xa, %esi
movl $0x1, %edx
popq %rbx
popq %r14
popq %rbp
jmp 0x4ab6
movl %ebx, %edi
popq %rbx
popq %r14
popq %rbp
jmp 0x4c25
popq %rbx
popq %r14
popq %rbp
jmp 0x4f94
testl %ebx, %ebx
je 0x474e
leaq 0xed7d(%rip), %rdi      # 0x134ba
movl $0x12, %edx
movl %ebx, %esi
callq 0x20d0
testq %rax, %rax
jne 0x4709
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebx, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3162
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
movl %eax, %esi
movl $0x1, %edx
callq 0x3162
cmpq $0x0, 0x14ddb(%rip)     # 0x19558
je 0x47ed
leaq 0xee3d(%rip), %rax      # 0x135c3
movq %rax, 0x14e9b(%rip)     # 0x19628
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
cmpq $0x0, 0x14dbc(%rip)     # 0x19558
je 0x47a6
movb %al, 0x149b0(%rip)      # 0x19154
jmp 0x47bf
movslq 0x14d9b(%rip), %rcx     # 0x19548
leaq 0x14dac(%rip), %rdx     # 0x19560
movq (%rdx,%rcx,8), %rsi
movl %eax, %edi
callq 0x2180
movl 0x14e7f(%rip), %edi     # 0x19644
jmp 0x45f8
leaq 0xedd4(%rip), %rdi      # 0x135a5
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x264c
leaq 0xedb6(%rip), %rdi      # 0x13598
jmp 0x47f4
leaq 0xedc9(%rip), %rdi      # 0x135b4
jmp 0x47d1
leaq 0xedcf(%rip), %rdi      # 0x135c3
movl %eax, %esi
callq 0x264c