// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x10, %rsp
callq 0x29f0
movl %eax, -0x8(%rbp)
jmp 0x5a92
movb $0x1, %al
movl $0x20, %ecx
cmpl -0x8(%rbp), %ecx
movb %al, -0x9(%rbp)
je 0x5acd
movb $0x1, %al
movl $0x9, %ecx
cmpl -0x8(%rbp), %ecx
movb %al, -0x9(%rbp)
je 0x5acd
movb $0x1, %al
movl $0xa, %ecx
cmpl -0x8(%rbp), %ecx
movb %al, -0x9(%rbp)
je 0x5acd
movl $0xd, %eax
cmpl -0x8(%rbp), %eax
sete %al
movb %al, -0x9(%rbp)
movb -0x9(%rbp), %al
testb $0x1, %al
jne 0x5ad6
jmp 0x5b1d
movl 0x1ab54(%rip), %eax     # 0x20630
cmpl $0x0, %eax
jne 0x5aeb
cmpq $0x0, 0x1ab3f(%rip)     # 0x20628
je 0x5af7
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e24
movl $0xa, %eax
cmpl -0x8(%rbp), %eax
jne 0x5b10
movl 0x1a62d(%rip), %eax     # 0x20134
addl $0x1, %eax
movl %eax, 0x1a624(%rip)     # 0x20134
callq 0x29f0
movl %eax, -0x8(%rbp)
jmp 0x5a92
cmpl $0x3b, -0x8(%rbp)
je 0x5b25
jmp 0x5b54
jmp 0x5b27
xorl %eax, %eax
cmpl $0xa, -0x8(%rbp)
movb %al, -0xa(%rbp)
je 0x5b3c
cmpl $-0x1, -0x8(%rbp)
setne %al
movb %al, -0xa(%rbp)
movb -0xa(%rbp), %al
testb $0x1, %al
jne 0x5b45
jmp 0x5b4f
callq 0x29f0
movl %eax, -0x8(%rbp)
jmp 0x5b27
jmp 0x5a90
movl 0x1aad6(%rip), %eax     # 0x20630
cmpl $0x0, %eax
jne 0x5b69
cmpq $0x0, 0x1aac1(%rip)     # 0x20628
je 0x5b75
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e24
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl -0x8(%rbp), %eax
jne 0x5b8b
movl $0xfffffffd, -0x4(%rbp) # imm = 0xFFFFFFFD
jmp 0x5e24
movl $0x23, %eax
cmpl -0x8(%rbp), %eax
jne 0x5c39
callq 0x29f0
movl %eax, -0x8(%rbp)
movl $0x5c, %eax
cmpl -0x8(%rbp), %eax
jne 0x5bb8
callq 0x55e0
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl $0x28, %eax
cmpl -0x8(%rbp), %eax
jne 0x5bcf
callq 0x5e30
movl %eax, -0x4(%rbp)
jmp 0x5e24
callq 0x2230
movq (%rax), %rax
movslq -0x8(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x5bf9
movl -0x8(%rbp), %edi
callq 0x63b0
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl -0x8(%rbp), %edi
andl $0xff, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3990
movl %eax, %esi
movl $0xfffffff4, %edi       # imm = 0xFFFFFFF4
movl $0x1, %edx
callq 0x3990
movl %eax, %esi
leaq 0x15a0d(%rip), %rdi     # 0x1b638
callq 0x55a0
jmp 0x5c32
jmp 0x5c34
jmp 0x5e1b
movl $0x22, %eax
cmpl -0x8(%rbp), %eax
jne 0x5c50
callq 0x6470
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl $0x28, %eax
cmpl -0x8(%rbp), %eax
jne 0x5c67
callq 0x5850
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl $0x29, %eax
cmpl -0x8(%rbp), %eax
jne 0x5c97
cmpl $0x0, 0x1a9a4(%rip)     # 0x2061c
jne 0x5c8b
leaq 0x159c4(%rip), %rdi     # 0x1b645
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x55a0
movl $0xfffffffb, -0x4(%rbp) # imm = 0xFFFFFFFB
jmp 0x5e24
movl $0x27, %eax
cmpl -0x8(%rbp), %eax
jne 0x5cb4
movl 0x1a991(%rip), %edi     # 0x20638
callq 0x67b0
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl $0x60, %eax
cmpl -0x8(%rbp), %eax
je 0x5cc8
movl $0x40, %eax
cmpl -0x8(%rbp), %eax
jne 0x5cdb
movl 0x1a96e(%rip), %edi     # 0x2063c
callq 0x67b0
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl $0x2c, %eax
cmpl -0x8(%rbp), %eax
jne 0x5d44
cmpl $0x0, 0x1a930(%rip)     # 0x2061c
jne 0x5d04
cmpl $0x0, 0x1a92b(%rip)     # 0x20620
jne 0x5d04
callq 0x6810
movl %eax, -0x4(%rbp)
jmp 0x5e24
callq 0x29f0
movl %eax, -0x8(%rbp)
movl $0x40, %eax
cmpl -0x8(%rbp), %eax
jne 0x5d29
movl 0x1a924(%rip), %edi     # 0x20640
callq 0x67b0
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl -0x8(%rbp), %edi
callq 0x2ab0
movl 0x1a90d(%rip), %edi     # 0x20644
callq 0x67b0
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl $0x2e, %eax
cmpl -0x8(%rbp), %eax
jne 0x5d74
cmpl $0x0, 0x1a8c7(%rip)     # 0x2061c
jne 0x5d68
leaq 0x158f6(%rip), %rdi     # 0x1b654
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x55a0
movl $0xfffffffa, -0x4(%rbp) # imm = 0xFFFFFFFA
jmp 0x5e24
callq 0x2230
movq (%rax), %rax
movslq -0x8(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0x5dc3
callq 0x2230
movq (%rax), %rax
movslq -0x8(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
jne 0x5dc3
cmpl $0x0, -0x8(%rbp)
je 0x5dda
movl -0x8(%rbp), %esi
leaq 0x157a2(%rip), %rdi     # 0x1b55a
callq 0x20b0
cmpq $0x0, %rax
je 0x5dda
movl -0x8(%rbp), %edi
movl $0xa, %esi
movl $0x1, %edx
callq 0x6220
movl %eax, -0x4(%rbp)
jmp 0x5e24
movl -0x8(%rbp), %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3990
movl %eax, %esi
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
movl $0x1, %edx
callq 0x3990
movl %eax, %esi
leaq 0x1585d(%rip), %rdi     # 0x1b663
callq 0x55a0
jmp 0x5e0d
jmp 0x5e0f
jmp 0x5e11
jmp 0x5e13
jmp 0x5e15
jmp 0x5e17
jmp 0x5e19
jmp 0x5e1b
jmp 0x5e1d
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)