// File: /workspace/github_c_makefile_star2_O2/blakemcbride[P]LISP9/ls9.c
// Function: entcol
void entcol(int fix) {
	int	n, na, i, s, d;
	cell	a, x, new;

	na = fixval(stackref(Sp-2));
	if (na < fix)
		error("too few arguments", UNDEF);
	protect(a = NIL);
	i = Sp-fix-3;
	for (n = na-fix; n; n--) {
		x = cons(boxref(stackref(i)), NIL);
		if (NIL == a) {
			a = x;
			car(Protected) = a;
		}
		else {
			cdr(a) = x;
			a = cdr(a);
		}
		i--;
	}
	a = unprot(1);
	if (na > fix) {
		new = box(a);
		stackset(Sp-fix-3, new);
	}
	else {
		push(NIL);
		s = Sp - na - 3;
		d = Sp - na - 2;
		for (i = na + 2; i >= 0; i--)
			stackset(d+i, stackref(s+i));
		new = mkfix(1+fix);
		stackset(Sp-2, new);
		new = box(NIL);
		stackset(Sp-fix-3, new);
	}
	push(mkfix(Fp));
	Fp = Sp-4;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq 0xb5b1(%rip), %rax      # 0x17340
movq 0xb5b2(%rip), %rcx      # 0x17348
movslq 0xb3bf(%rip), %rdx      # 0x1715c
movslq (%rcx,%rdx,4), %rdx
shlq $0x2, %rdx
addq 0xb5ac(%rip), %rdx      # 0x17358
movslq 0xb3ad(%rip), %rsi      # 0x17160
movslq -0x8(%rdx,%rsi,4), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %r15d
cmpl %edi, %r15d
jl 0xbfb2
movl %edi, %ebx
movslq %r15d, %rax
movq %rax, 0x10(%rsp)
movl 0xb397(%rip), %esi      # 0x17170
pushq $-0x1
popq %r13
movl %r13d, %edi
xorl %edx, %edx
callq 0x2f8c
movl %eax, 0xb383(%rip)      # 0x17170
movl 0xb36d(%rip), %eax      # 0x17160
subl %ebx, %eax
addl $-0x3, %eax
movslq %eax, %r12
leaq 0xb546(%rip), %r14      # 0x17348
movl %r15d, 0xc(%rsp)
movl %r13d, %ebp
cmpl %r15d, %ebx
je 0xbe6c
movq 0xb52a(%rip), %rax      # 0x17340
movq 0xb52b(%rip), %rcx      # 0x17348
movslq 0xb338(%rip), %rdx      # 0x1715c
movslq (%rcx,%rdx,4), %rcx
shlq $0x2, %rcx
addq 0xb525(%rip), %rcx      # 0x17358
movslq (%rcx,%r12,4), %rcx
movl (%rax,%rcx,4), %edi
movl %r13d, %esi
xorl %edx, %edx
callq 0x2f8c
movq %r14, %rcx
cmpl $-0x1, %ebp
jne 0xbe59
movl 0xb31e(%rip), %ebp      # 0x17170
leaq 0xb4e7(%rip), %rcx      # 0x17340
movq (%rcx), %rcx
movslq %ebp, %rdx
movl %eax, (%rcx,%rdx,4)
decq %r12
decl %r15d
movl %eax, %ebp
jmp 0xbe0a
pushq $0x1
popq %rdi
callq 0x31a9
movl 0xc(%rsp), %r14d
cmpl %ebx, %r14d
jle 0xbe85
movl %eax, %ebp
jmp 0xbf30
pushq $-0x1
popq %rbp
movl %ebp, %edi
callq 0xb7d0
movslq 0xb2ca(%rip), %rdx      # 0x17160
addl $0x2, %r14d
movq 0xb4b7(%rip), %rsi      # 0x17358
movq 0xb4a0(%rip), %rax      # 0x17348
movslq %r14d, %rcx
leaq (,%rcx,4), %rdi
leaq (%rdi,%rdx,4), %rdx
movq 0x10(%rsp), %rdi
shlq $0x2, %rdi
subq %rdi, %rdx
addq %rsi, %rdx
addq $-0xc, %rdx
testq %rcx, %rcx
js 0xbeea
movslq 0xb286(%rip), %rsi      # 0x1715c
movslq (%rax,%rsi,4), %rsi
movl (%rdx,%rsi,4), %edi
movl %edi, 0x4(%rdx,%rsi,4)
decq %rcx
addq $-0x4, %rdx
jmp 0xbeca
leal 0x1(%rbx), %edi
pushq $0x1
popq %r14
movl %ebp, %esi
movl %r14d, %edx
callq 0x2f8c
pushq $-0xe
popq %rdi
movl %eax, %esi
movl %r14d, %edx
callq 0x2f8c
movq 0xb439(%rip), %rcx      # 0x17348
movslq 0xb246(%rip), %rdx      # 0x1715c
movslq (%rcx,%rdx,4), %rcx
shlq $0x2, %rcx
addq 0xb433(%rip), %rcx      # 0x17358
movslq 0xb234(%rip), %rdx      # 0x17160
movl %eax, -0x8(%rcx,%rdx,4)
pushq $-0x1
popq %r14
movl %ebp, %edi
movl %r14d, %esi
xorl %edx, %edx
callq 0x2f8c
movq 0xb401(%rip), %rcx      # 0x17348
movslq 0xb20e(%rip), %rdx      # 0x1715c
movslq (%rcx,%rdx,4), %rcx
shlq $0x2, %rcx
addq 0xb3fb(%rip), %rcx      # 0x17358
movslq 0xb1fc(%rip), %rdx      # 0x17160
movslq %ebx, %rsi
subq %rsi, %rdx
movl %eax, -0xc(%rcx,%rdx,4)
movl 0xb254(%rip), %edi      # 0x171c8
pushq $0x1
popq %rbx
movl %r14d, %esi
movl %ebx, %edx
callq 0x2f8c
pushq $-0xe
popq %rdi
movl %eax, %esi
movl %ebx, %edx
callq 0x2f8c
movl %eax, %edi
callq 0xb7d0
movl 0xb1c6(%rip), %eax      # 0x17160
addl $-0x4, %eax
movl %eax, 0xb225(%rip)      # 0x171c8
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4832(%rip), %rdi      # 0x107eb
pushq $-0x4
popq %rsi
callq 0x258a