// File: /workspace/github_c_makefile_star2_O0/blakemcbride[P]LISP9/ls9.c
// Function: appconv
cell appconv(cell x, cell e, cell a) {
	cell	fn, as, fv, fnargs, m, n, lv, vars, cv;

	fn = car(x);
	as = cdr(x);
	fv = freevars(fn, NIL);
	protect(fv);
	fnargs = flatargs(cadr(fn));
	protect(fnargs);
	newvars(fv);
	m = initmap(fv, e, a);
	protect(m);
	as = mapconv(as, e, a);
	protect(as);
	n = liftargs(m);
	as = nconc(n, as);
	car(Protected) = as;
	lv = liftnames(m);
	protect(lv);
	vars = conc(lv, cadr(fn));
	protect(vars);
	cv = set_union(lv, fnargs);
	cadr(Protected) = cv;
	fn = mapconv(cddr(fn), e, cv);
	fn = cons(NIL, fn);
	fn = cons(vars, fn);
	fn = cons(I_closure, fn);
	unprot(6);
	return cons(fn, as);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movq 0x16bd8(%rip), %rax     # 0x20340
movslq -0x4(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x10(%rbp)
movq 0x16bcf(%rip), %rax     # 0x20348
movslq -0x4(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x14(%rbp)
movl -0x10(%rbp), %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x85e0
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %edi
movl 0x169d4(%rip), %esi     # 0x20170
xorl %edx, %edx
callq 0x3990
movl %eax, 0x169c7(%rip)     # 0x20170
movq 0x16b90(%rip), %rax     # 0x20340
movq 0x16b91(%rip), %rcx     # 0x20348
movslq -0x10(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %edi
callq 0x8090
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
movl 0x1699d(%rip), %esi     # 0x20170
xorl %edx, %edx
callq 0x3990
movl %eax, 0x16990(%rip)     # 0x20170
movl -0x18(%rbp), %edi
callq 0x8db0
movl -0x18(%rbp), %edi
movl -0x8(%rbp), %esi
movl -0xc(%rbp), %edx
callq 0x8ab0
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %edi
movl 0x1696e(%rip), %esi     # 0x20170
xorl %edx, %edx
callq 0x3990
movl %eax, 0x16961(%rip)     # 0x20170
movl -0x14(%rbp), %edi
movl -0x8(%rbp), %esi
movl -0xc(%rbp), %edx
callq 0x8df0
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl 0x16947(%rip), %esi     # 0x20170
xorl %edx, %edx
callq 0x3990
movl %eax, 0x1693a(%rip)     # 0x20170
movl -0x20(%rbp), %edi
callq 0x9620
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %edi
movl -0x14(%rbp), %esi
callq 0x4fa0
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edx
movq 0x16ae7(%rip), %rax     # 0x20340
movslq 0x16910(%rip), %rcx     # 0x20170
movl %edx, (%rax,%rcx,4)
movl -0x20(%rbp), %edi
callq 0x9530
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %edi
movl 0x168f9(%rip), %esi     # 0x20170
xorl %edx, %edx
callq 0x3990
movl %eax, 0x168ec(%rip)     # 0x20170
movl -0x28(%rbp), %edi
movq 0x16ab2(%rip), %rax     # 0x20340
movq 0x16ab3(%rip), %rcx     # 0x20348
movslq -0x10(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4f10
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %edi
movl 0x168bf(%rip), %esi     # 0x20170
xorl %edx, %edx
callq 0x3990
movl %eax, 0x168b2(%rip)     # 0x20170
movl -0x28(%rbp), %edi
movl -0x1c(%rbp), %esi
callq 0x84a0
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %edx
movq 0x16a6a(%rip), %rax     # 0x20340
movq 0x16a6b(%rip), %rcx     # 0x20348
movslq 0x1688c(%rip), %rsi     # 0x20170
movslq (%rcx,%rsi,4), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x16a56(%rip), %rax     # 0x20348
movq 0x16a4f(%rip), %rcx     # 0x20348
movslq -0x10(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %edi
movl -0x8(%rbp), %esi
movl -0x30(%rbp), %edx
callq 0x8df0
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %esi
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x3990
movl %eax, -0x10(%rbp)
movl -0x2c(%rbp), %edi
movl -0x10(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x10(%rbp)
movl 0x16e06(%rip), %edi     # 0x20740
movl -0x10(%rbp), %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x10(%rbp)
movl $0x6, %edi
callq 0x3d00
movl -0x10(%rbp), %edi
movl -0x14(%rbp), %esi
xorl %edx, %edx
callq 0x3990
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)