// File: Silica[P]PSL/./PSL/environment.h
// Function: PSL::variable::Variable::Scope::setLocal(PSL::variable::rsv const&)
virtual rsv setLocal(const rsv &v)
	{
		if (owner)
			owner->setLocal(v);
		variable x = v;
		variable l = local;
		variable k = l.keys();
		for (size_t i = 0; i < k.length(); ++i)
		{
			string s = k[i];
			rsv z = l[s];
			if (v.get() != z.get() && (z.get()->type() != POINTER || z.get()->toBool()))
				x.set(s, l[s]);
		}
		return v;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x90(%rbp)
movq %rdi, %rax
movq %rax, -0x88(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, 0x10(%rax)
je 0x1cee6
movq -0x80(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x18(%rbp), %rdx
movq (%rsi), %rax
leaq -0x20(%rbp), %rdi
callq *0x60(%rax)
leaq -0x20(%rbp), %rdi
callq 0xcd90
movq -0x18(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0xcd50
movq -0x80(%rbp), %rsi
addq $0x8, %rsi
leaq -0x30(%rbp), %rdi
callq 0xcd50
jmp 0x1cf06
leaq -0x48(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1d240
jmp 0x1cf15
movq $0x0, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1d280
movq %rax, -0x98(%rbp)
jmp 0x1cf3a
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
cmpq %rcx, %rax
jae 0x1d121
movq -0x50(%rbp), %rdx
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x1d2a0
jmp 0x1cf64
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x1d2f0
jmp 0x1cf73
leaq -0x60(%rbp), %rdi
callq 0xcdc0
leaq -0x70(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x1d320
jmp 0x1cf8f
leaq -0x68(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x11b10
jmp 0x1cf9e
leaq -0x70(%rbp), %rdi
callq 0xcdc0
movq -0x18(%rbp), %rdi
callq 0x12060
movq %rax, -0xa8(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x12060
movq %rax, %rcx
movq -0xa8(%rbp), %rax
cmpq %rcx, %rax
je 0x1d0ea
leaq -0x68(%rbp), %rdi
callq 0x12060
movq %rax, %rdi
callq 0x16f00
movl %eax, -0xac(%rbp)
jmp 0x1cfec
movl -0xac(%rbp), %eax
cmpl $0x5, %eax
jne 0x1d01f
leaq -0x68(%rbp), %rdi
callq 0x12060
movq %rax, %rdi
callq 0x16f20
movb %al, -0xad(%rbp)
jmp 0x1d010
movb -0xad(%rbp), %al
testb $0x1, %al
jne 0x1d01f
jmp 0x1d0ea
leaq -0x78(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x1d320
jmp 0x1d032
leaq -0x28(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x1d370
jmp 0x1d045
leaq -0x78(%rbp), %rdi
callq 0xcdc0
jmp 0x1d0ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1d170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1d167
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1d15e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xcdc0
jmp 0x1d15e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1d116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0xcdc0
jmp 0x1d116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1d10d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xcdc0
jmp 0x1d10d
leaq -0x68(%rbp), %rdi
callq 0xcd90
leaq -0x58(%rbp), %rdi
callq 0xc950
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
jmp 0x1cf1d
leaq -0x68(%rbp), %rdi
callq 0xcd90
leaq -0x58(%rbp), %rdi
callq 0xc950
jmp 0x1d15e
movq -0x90(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xd070
jmp 0x1d133
leaq -0x48(%rbp), %rdi
callq 0xcdc0
leaq -0x30(%rbp), %rdi
callq 0xcdc0
leaq -0x28(%rbp), %rdi
callq 0xcdc0
movq -0x88(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
leaq -0x48(%rbp), %rdi
callq 0xcdc0
leaq -0x30(%rbp), %rdi
callq 0xcdc0
leaq -0x28(%rbp), %rdi
callq 0xcdc0
movq -0x38(%rbp), %rdi
callq 0xc280
nopw %cs:(%rax,%rax)
nopl (%rax)