// File: /workspace/github_c_makefile_star2_O0/blakemcbride[P]LISP9/ls9.c
// Function: rdstr
cell rdstr(void) {
	char	name[TOKLEN+1];
	int	i, j, c, u, v;
	cell	n;

	c = readc();
	u = 0;
	for (i=0; i<TOKLEN; i++) {
		if (Intr || Readerr) return NIL;
		if ('"' == c) break;
		if ('\n' == c) Line++;
		if (EOF == c) rderror("EOF in string", UNDEF);
		if ('\\' == c) {
			c = readc();
			if ('\\' == c || '"' == c) {
				/**/
			}
			else if ('t' == c) {
				c = '\t';
			}
			else if ('n' == c) {
				c = '\n';
			}
			else if (octalp(c)) {
				v = 0;
				j = 0;
				while (j < 3 && octalp(c)) {
					v = v * 8 + c-'0';
					c = readc();
					j++;
				}
				rejectc(c);
				if (v > 255) rderror("invalid char", mkfix(v));
				c = v;
			}
			else if (0 == u) {
				u = c;
			}
		}
		name[i] = c;
		c = readc();
	}
	name[i] = 0;
	if (u) rderror("unknown slash sequence", mkchar(u));
	if (i >= TOKLEN) rderror("string too long", mkstr(name, i));
	if (u) return NIL;
	n = mkstr(name, i);
	tag(n) |= CONST_TAG;
	return n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
callq 0x29f0
movl %eax, -0x6c(%rbp)
movl $0x0, -0x70(%rbp)
movl $0x0, -0x64(%rbp)
cmpl $0x50, -0x64(%rbp)
jge 0x66f6
movl 0x1a18f(%rip), %eax     # 0x20630
cmpl $0x0, %eax
jne 0x64b0
cmpq $0x0, 0x1a17a(%rip)     # 0x20628
je 0x64bc
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6798
movl $0x22, %eax
cmpl -0x6c(%rbp), %eax
jne 0x64cb
jmp 0x66f6
movl $0xa, %eax
cmpl -0x6c(%rbp), %eax
jne 0x64e4
movl 0x19c59(%rip), %eax     # 0x20134
addl $0x1, %eax
movl %eax, 0x19c50(%rip)     # 0x20134
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl -0x6c(%rbp), %eax
jne 0x64ff
leaq 0x150e1(%rip), %rdi     # 0x1b5d6
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x55a0
movl $0x5c, %eax
cmpl -0x6c(%rbp), %eax
jne 0x66d3
callq 0x29f0
movl %eax, -0x6c(%rbp)
movl $0x5c, %eax
cmpl -0x6c(%rbp), %eax
je 0x6529
movl $0x22, %eax
cmpl -0x6c(%rbp), %eax
jne 0x652e
jmp 0x66d1
movl $0x74, %eax
cmpl -0x6c(%rbp), %eax
jne 0x6544
movl $0x9, -0x6c(%rbp)
jmp 0x66cf
movl $0x6e, %eax
cmpl -0x6c(%rbp), %eax
jne 0x655a
movl $0xa, -0x6c(%rbp)
jmp 0x66cd
movl $0x30, %eax
cmpl -0x6c(%rbp), %eax
je 0x65ae
movl $0x31, %eax
cmpl -0x6c(%rbp), %eax
je 0x65ae
movl $0x32, %eax
cmpl -0x6c(%rbp), %eax
je 0x65ae
movl $0x33, %eax
cmpl -0x6c(%rbp), %eax
je 0x65ae
movl $0x34, %eax
cmpl -0x6c(%rbp), %eax
je 0x65ae
movl $0x35, %eax
cmpl -0x6c(%rbp), %eax
je 0x65ae
movl $0x36, %eax
cmpl -0x6c(%rbp), %eax
je 0x65ae
movl $0x37, %eax
cmpl -0x6c(%rbp), %eax
jne 0x66bc
movl $0x0, -0x74(%rbp)
movl $0x0, -0x68(%rbp)
xorl %eax, %eax
cmpl $0x3, -0x68(%rbp)
movb %al, -0x79(%rbp)
jge 0x6644
movb $0x1, %al
movl $0x30, %ecx
cmpl -0x6c(%rbp), %ecx
movb %al, -0x7a(%rbp)
je 0x663e
movb $0x1, %al
movl $0x31, %ecx
cmpl -0x6c(%rbp), %ecx
movb %al, -0x7a(%rbp)
je 0x663e
movb $0x1, %al
movl $0x32, %ecx
cmpl -0x6c(%rbp), %ecx
movb %al, -0x7a(%rbp)
je 0x663e
movb $0x1, %al
movl $0x33, %ecx
cmpl -0x6c(%rbp), %ecx
movb %al, -0x7a(%rbp)
je 0x663e
movb $0x1, %al
movl $0x34, %ecx
cmpl -0x6c(%rbp), %ecx
movb %al, -0x7a(%rbp)
je 0x663e
movb $0x1, %al
movl $0x35, %ecx
cmpl -0x6c(%rbp), %ecx
movb %al, -0x7a(%rbp)
je 0x663e
movb $0x1, %al
movl $0x36, %ecx
cmpl -0x6c(%rbp), %ecx
movb %al, -0x7a(%rbp)
je 0x663e
movl $0x37, %eax
cmpl -0x6c(%rbp), %eax
sete %al
movb %al, -0x7a(%rbp)
movb -0x7a(%rbp), %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
testb $0x1, %al
jne 0x664d
jmp 0x6672
movl -0x74(%rbp), %eax
shll $0x3, %eax
addl -0x6c(%rbp), %eax
subl $0x30, %eax
movl %eax, -0x74(%rbp)
callq 0x29f0
movl %eax, -0x6c(%rbp)
movl -0x68(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x68(%rbp)
jmp 0x65bc
movl -0x6c(%rbp), %edi
callq 0x2ab0
cmpl $0xff, -0x74(%rbp)
jle 0x66b4
movl -0x74(%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 0x14f35(%rip), %rdi     # 0x1b5e4
callq 0x55a0
movl -0x74(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0x66cb
xorl %eax, %eax
cmpl -0x70(%rbp), %eax
jne 0x66c9
movl -0x6c(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x66cb
jmp 0x66cd
jmp 0x66cf
jmp 0x66d1
jmp 0x66d3
movl -0x6c(%rbp), %eax
movb %al, %cl
movslq -0x64(%rbp), %rax
movb %cl, -0x60(%rbp,%rax)
callq 0x29f0
movl %eax, -0x6c(%rbp)
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0x6491
movslq -0x64(%rbp), %rax
movb $0x0, -0x60(%rbp,%rax)
cmpl $0x0, -0x70(%rbp)
je 0x673c
movl -0x70(%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 0x14eba(%rip), %rdi     # 0x1b5f1
callq 0x55a0
cmpl $0x50, -0x64(%rbp)
jl 0x675c
leaq -0x60(%rbp), %rdi
movl -0x64(%rbp), %esi
callq 0x2880
movl %eax, %esi
leaq 0x14eb1(%rip), %rdi     # 0x1b608
callq 0x55a0
cmpl $0x0, -0x70(%rbp)
je 0x676b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x6798
leaq -0x60(%rbp), %rdi
movl -0x64(%rbp), %esi
callq 0x2880
movl %eax, -0x78(%rbp)
movq 0x19bcf(%rip), %rax     # 0x20350
movslq -0x78(%rbp), %rcx
movzbl (%rax,%rcx), %edx
orl $0x80, %edx
movb %dl, (%rax,%rcx)
movl -0x78(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)