// File: /workspace/github_c_makefile_star2_O0/blakemcbride[P]LISP9/ls9.c
// Function: initmap
cell initmap(cell fv, cell e, cell a) {
	cell	m, n, p;
	int	i, j;

	protect(m = NIL);
	i = 0;
	while (fv != NIL) {
		p = cons(car(fv), NIL);
		protect(p);
		n = mkfix(i);
		p = cons(n, p);
		car(Protected) = p;
		if ((j = posq(car(fv), a)) != NIL) {
			n = mkfix(j);
			p = cons(n, p);
			unprot(1);
			p = cons(I_a, p);
		}
		else if ((j = posq(car(fv), e)) != NIL) {
			n = mkfix(j);
			p = cons(n, p);
			unprot(1);
			p = cons(I_e, p);
		}
		else {
			error("undefined symbol", car(fv));
		}
		m = cons(p, m);
		car(Protected) = m;
		i++;
		fv = cdr(fv);
	}
	return nreverse(unprot(1));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl $0xffffffff, -0x10(%rbp) # imm = 0xFFFFFFFF
movl 0x176a2(%rip), %esi     # 0x20170
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x3990
movl %eax, 0x17690(%rip)     # 0x20170
movl $0x0, -0x1c(%rbp)
cmpl $-0x1, -0x4(%rbp)
je 0x8cb6
movq 0x17848(%rip), %rax     # 0x20340
movslq -0x4(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x3990
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %edi
movl 0x17659(%rip), %esi     # 0x20170
xorl %edx, %edx
callq 0x3990
movl %eax, 0x1764c(%rip)     # 0x20170
movl -0x1c(%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, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl -0x18(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %edx
movq 0x177dc(%rip), %rax     # 0x20340
movslq 0x17605(%rip), %rcx     # 0x20170
movl %edx, (%rax,%rcx,4)
movq 0x177cb(%rip), %rax     # 0x20340
movslq -0x4(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movl -0xc(%rbp), %esi
callq 0x8a50
movl %eax, -0x20(%rbp)
cmpl $-0x1, %eax
je 0x8be4
movl -0x20(%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, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl -0x18(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x18(%rbp)
movl $0x1, %edi
callq 0x3d00
movl 0x17b66(%rip), %edi     # 0x20738
movl -0x18(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x18(%rbp)
jmp 0x8c73
movq 0x17755(%rip), %rax     # 0x20340
movslq -0x4(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movl -0x8(%rbp), %esi
callq 0x8a50
movl %eax, -0x20(%rbp)
cmpl $-0x1, %eax
je 0x8c57
movl -0x20(%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, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl -0x18(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x18(%rbp)
movl $0x1, %edi
callq 0x3d00
movl 0x17af4(%rip), %edi     # 0x2073c
movl -0x18(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x18(%rbp)
jmp 0x8c71
movq 0x176e2(%rip), %rax     # 0x20340
movslq -0x4(%rbp), %rcx
movl (%rax,%rcx,4), %esi
leaq 0x12b85(%rip), %rdi     # 0x1b7f1
callq 0x26c0
jmp 0x8c73
movl -0x18(%rbp), %edi
movl -0x10(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %edx
movq 0x176b3(%rip), %rax     # 0x20340
movslq 0x174dc(%rip), %rcx     # 0x20170
movl %edx, (%rax,%rcx,4)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq 0x176a1(%rip), %rax     # 0x20348
movslq -0x4(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x4(%rbp)
jmp 0x8ae7
movl $0x1, %edi
callq 0x3d00
movl %eax, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4e80
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)