// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
xorl %r14d, %r14d
callq 0x28d8
leaq 0xe820(%rip), %r12      # 0x13536
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
xorl %ebp, %ebp
cmpl $0x0, 0x1490c(%rip)     # 0x19630
jne 0x4f24
cmpq $0x0, 0x148f6(%rip)     # 0x19628
jne 0x4f24
cmpl $0x21, %eax
jg 0x4d56
cmpl $-0x1, %eax
je 0x4db6
cmpl $0xa, %eax
jne 0x4e60
incl 0x143e3(%rip)           # 0x19134
jmp 0x4e60
cmpl $0x5c, %eax
jne 0x4dd0
callq 0x28d8
cmpl $0x5b, %eax
jg 0x4dde
leal -0x30(%rax), %ecx
cmpl $0x8, %ecx
jae 0x4e78
movl %eax, %ecx
andl $-0x8, %ecx
xorl %r15d, %r15d
cmpl $0x30, %ecx
jne 0x4da4
xorl %r15d, %r15d
xorl %r13d, %r13d
leal (%rax,%r15,8), %r15d
addl $-0x30, %r15d
callq 0x28d8
cmpl $0x1, %r13d
ja 0x4da4
incl %r13d
movl %eax, %ecx
andl $-0x8, %ecx
cmpl $0x30, %ecx
je 0x4d84
cmpq $0x0, 0x147ac(%rip)     # 0x19558
je 0x4dfc
movb %al, 0x143a0(%rip)      # 0x19154
jmp 0x4e15
cmpq $0x0, 0x1479a(%rip)     # 0x19558
je 0x4f35
movq %r12, 0x1485d(%rip)     # 0x19628
jmp 0x4e60
cmpl $0x22, %eax
jne 0x4e60
jmp 0x4e91
cmpl $0x5c, %eax
je 0x4e60
cmpl $0x6e, %eax
je 0x4e84
cmpl $0x74, %eax
jne 0x4e7d
movl $0x9, %eax
jmp 0x4e60
movslq 0x14745(%rip), %rcx     # 0x19548
leaq 0x14756(%rip), %rdx     # 0x19560
movq (%rdx,%rcx,8), %rsi
movl %eax, %edi
callq 0x2180
cmpl $0x100, %r15d           # imm = 0x100
jl 0x4e5d
movl %r15d, %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, 0x1470f(%rip)     # 0x19558
je 0x4f46
leaq 0xe6ee(%rip), %rax      # 0x13544
movq %rax, 0x147cb(%rip)     # 0x19628
movl %r15d, %eax
movb %al, (%rsp,%r14)
callq 0x28d8
incq %r14
cmpq $0x50, %r14
jne 0x4d1d
jmp 0x4e8b
cmpl $0x22, %eax
je 0x4e60
testl %ebp, %ebp
cmovel %eax, %ebp
jmp 0x4e60
movl $0xa, %eax
jmp 0x4e60
movl $0x50, %r14d
movl %r14d, %eax
movb $0x0, (%rsp,%rax)
testl %ebp, %ebp
je 0x4edc
movzbl %bpl, %edi
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, 0x14690(%rip)     # 0x19558
je 0x4f4f
leaq 0xe67c(%rip), %rax      # 0x13551
movq %rax, 0x1474c(%rip)     # 0x19628
cmpl $0x50, %r14d
jb 0x4f05
movq %rsp, %rdi
movl %r14d, %esi
callq 0x27dc
cmpq $0x0, 0x14663(%rip)     # 0x19558
je 0x4f58
leaq 0xe66a(%rip), %rax      # 0x13568
movq %rax, 0x14723(%rip)     # 0x19628
testl %ebp, %ebp
jne 0x4f24
movq %rsp, %rdi
movl %r14d, %esi
callq 0x27dc
movl %eax, %ebx
movq 0x14433(%rip), %rax     # 0x19350
movslq %ebx, %rcx
orb $-0x80, (%rax,%rcx)
movl %ebx, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xe5fa(%rip), %rdi      # 0x13536
movl $0xfffffffc, %esi       # imm = 0xFFFFFFFC
callq 0x264c
leaq 0xe5f7(%rip), %rdi      # 0x13544
jmp 0x4f5f
leaq 0xe5fb(%rip), %rdi      # 0x13551
jmp 0x4f5f
leaq 0xe609(%rip), %rdi      # 0x13568
movl %eax, %esi
callq 0x264c