// File: /workspace/github_c_makefile_star2_O1/azhai[P]mlite/mlite.c
// Function: destructuring_bind
cell destructuring_bind(cell v, cell a) {
	cell	s;
	cell	rib, new;

	s = NIL;
	save(s);
	rib = NIL;
	save(rib);
	while (1) {
		if (symbol_p(v) || eqv_p(v, a)) {
			if (symbol_p(v) && consname_p(v) && v != a) {
				unsave(2);
				return UNDEFINED;
			}
			else {
				if (	symbol_p(v) &&
					!consname_p(v) &&
					v != S_ignore
				) {
					Tmp = make_binding(v, a);
					rib = node(Tmp, rib);
					car(Stack) = rib;
				}
				if (cadr(Stack) == NIL)
					break;
				a = caadr(Stack);
				v = cadadr(Stack);
				cadr(Stack) = cddadr(Stack);
			}
		}
		else if (cons_p(v) && cons_p(a) && Tag[v] == Tag[a]) {
			set(cadr(Stack), node(cdr(v), cadr(Stack)));
			set(cadr(Stack), node(cdr(a), cadr(Stack)));
			v = car(v);
			a = car(a);
			continue;
		}
		else {
			unsave(2);
			return UNDEFINED;
		}
	}
	rib = car(Stack);
	unsave(2);
	Tmp = NIL;
	return rib;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %r15
movq 0xa3c3(%rip), %rsi      # 0x1e128
movq $-0x1, %rbx
movq $-0x1, %rdi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0xa3a7(%rip)      # 0x1e128
movq $-0x1, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0xa38f(%rip)      # 0x1e128
testq %r15, %r15
js 0x13dbe
movq 0xa83b(%rip), %rax      # 0x1e5e0
testb $0x10, (%rax,%r15)
je 0x13dbe
movq 0xa3bd(%rip), %rax      # 0x1e170
cmpq $-0x22, (%rax,%r15,8)
je 0x13e9e
movq %r15, %rdi
movq %r14, %rsi
callq 0x109df
testl %eax, %eax
jne 0x13e9e
testq %r15, %r15
js 0x13f8e
movq 0xa7ff(%rip), %rax      # 0x1e5e0
movzbl (%rax,%r15), %ecx
testb $0x1, %cl
jne 0x13f8e
testb $0x10, %cl
jne 0x13f8e
testq %r14, %r14
js 0x13f8e
movb (%rax,%r14), %al
cmpb %al, %cl
jne 0x13f8e
andb $0x11, %al
jne 0x13f8e
movq 0xa7a4(%rip), %rax      # 0x1e5c0
movq (%rax,%r15,8), %rdi
movq 0xa349(%rip), %rcx      # 0x1e170
movq 0xa2fa(%rip), %rdx      # 0x1e128
movq (%rax,%rdx,8), %rax
movq (%rcx,%rax,8), %rsi
xorl %edx, %edx
callq 0x36e8
movq 0xa32c(%rip), %rcx      # 0x1e170
movq 0xa775(%rip), %rdx      # 0x1e5c0
movq 0xa2d6(%rip), %rsi      # 0x1e128
movq (%rdx,%rsi,8), %rsi
movq %rax, (%rcx,%rsi,8)
movq (%rdx,%r14,8), %rdi
movq 0xa2c3(%rip), %rax      # 0x1e128
movq (%rdx,%rax,8), %rax
movq (%rcx,%rax,8), %rsi
xorl %edx, %edx
callq 0x36e8
movq 0xa2f5(%rip), %rcx      # 0x1e170
movq 0xa73e(%rip), %rdx      # 0x1e5c0
movq 0xa29f(%rip), %rsi      # 0x1e128
movq (%rdx,%rsi,8), %rdx
movq %rax, (%rcx,%rdx,8)
movq (%rcx,%r15,8), %r15
movq (%rcx,%r14,8), %r14
jmp 0x13d99
testq %r15, %r15
js 0x13f52
movq 0xa732(%rip), %rax      # 0x1e5e0
movb (%rax,%r15), %al
testb $0x10, %al
je 0x13f52
movq 0xa2af(%rip), %rcx      # 0x1e170
cmpq $-0x22, (%rcx,%r15,8)
jne 0x13ee9
movq 0xa719(%rip), %rcx      # 0x1e5e8
movq 0xa6ea(%rip), %rdx      # 0x1e5c0
movq (%rdx,%r15,8), %rdx
cmpb $0x3a, (%rcx,%rdx,8)
jne 0x13ee9
cmpq %r14, %r15
jne 0x13f8e
testb $0x10, %al
je 0x13f52
movq 0xa27c(%rip), %rax      # 0x1e170
cmpq $-0x22, (%rax,%r15,8)
jne 0x13f52
movq 0xa6e6(%rip), %rax      # 0x1e5e8
movq 0xa6b7(%rip), %rcx      # 0x1e5c0
movq (%rcx,%r15,8), %rcx
cmpb $0x3a, (%rax,%rcx,8)
je 0x13f52
cmpq 0xacc6(%rip), %r15      # 0x1ebe0
je 0x13f52
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, 0xa1e0(%rip)      # 0x1e110
movq %rax, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x36e8
movq %rax, %rbx
movq 0xa229(%rip), %rax      # 0x1e170
movq 0xa1da(%rip), %rcx      # 0x1e128
movq %rbx, (%rax,%rcx,8)
movq 0xa217(%rip), %rax      # 0x1e170
movq 0xa660(%rip), %rcx      # 0x1e5c0
movq 0xa1c1(%rip), %rsi      # 0x1e128
movq (%rcx,%rsi,8), %rdx
movq (%rax,%rdx,8), %rdi
cmpq $-0x1, %rdi
je 0x13fad
movq (%rax,%rdi,8), %r14
movq (%rcx,%rdi,8), %rsi
movq (%rax,%rsi,8), %r15
movq (%rcx,%rsi,8), %rcx
movq %rcx, (%rax,%rdx,8)
jmp 0x13d99
movl $0x2, %edi
callq 0x3851
movq $-0x5, %rbx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq (%rax,%rsi,8), %rbx
movl $0x2, %edi
callq 0x3851
movq $-0x1, 0xa14a(%rip) # 0x1e110
jmp 0x13f9f