// File: /workspace/github_cpp_makefile_star2_O1/Fohlen[P]cubescript-standalone/command.cpp
// Function: setalias(char const*, tagval&)
static void setalias(const char *name, tagval &v)
{
    ident *id = idents.access(name);
    if(id) 
    {
        if(id->type == ID_ALIAS) 
        {
            if(id->index < MAXARGS) setarg(*id, v); else setalias(*id, v);
        }
        else
        {
            debugcode("cannot redefine builtin %s with an alias", id->name);
            freearg(v);
        }
    }
    else if(checknumber(name)) 
    {
        debugcode("cannot alias number %s", name);
        freearg(v);
    }
    else
    {
        addident(ident(ID_ALIAS, newstring(name), v, identflags));
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x50, %rsp
movq %rsi, %rbx
leaq -0x28(%rbp), %rsi
movq %rdi, (%rsi)
leaq 0x1a489(%rip), %rdi     # 0x1e660
callq 0x12604
testq %rax, %rax
je 0x4204
movq %rax, %r14
cmpl $0x4, (%rax)
jne 0x4220
cmpl $0x18, 0x3c(%r14)
jg 0x429a
movq %r14, %rdi
movq %rbx, %rsi
callq 0xdb1e
jmp 0x43c6
movq -0x28(%rbp), %r14
movsbl (%r14), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jae 0x426b
leaq 0x12e46(%rip), %rdi     # 0x17061
movq %r14, %rsi
jmp 0x422b
movq 0x8(%r14), %rsi
leaq 0x12e0d(%rip), %rdi     # 0x17038
xorl %eax, %eax
callq 0x3f86
movl 0x8(%rbx), %eax
cmpl $0x5, %eax
je 0x4250
cmpl $0x3, %eax
jne 0x43c6
movq (%rbx), %rdi
testq %rdi, %rdi
jne 0x4261
jmp 0x43c6
movq (%rbx), %rdi
cmpl $0x0, -0x4(%rdi)
jne 0x43c6
addq $-0x4, %rdi
callq 0x152d7
jmp 0x43c6
movzbl %al, %eax
cmpl $0x2b, %eax
je 0x4281
cmpl $0x2e, %eax
je 0x42f4
cmpl $0x2d, %eax
jne 0x430a
movsbl 0x1(%r14), %ecx
leal -0x30(%rcx), %eax
cmpl $0xa, %eax
jb 0x4214
movl $0x2, %eax
cmpb $0x2e, %cl
je 0x42f9
jmp 0x430a
cmpl $0x3, 0x10(%r14)
jne 0x42af
movq 0x20(%r14), %rdi
testq %rdi, %rdi
je 0x42af
callq 0x152d7
movl 0x8(%rbx), %eax
movl %eax, 0x10(%r14)
movq (%rbx), %rax
movq %rax, 0x20(%r14)
movq 0x18(%r14), %rax
testq %rax, %rax
je 0x42e5
addl $0xffffff00, (%rax)     # imm = 0xFFFFFF00
movq 0x18(%r14), %rdi
cmpl $0xff, (%rdi)
jg 0x42dd
callq 0x152d7
movq $0x0, 0x18(%r14)
movl 0x1a3ad(%rip), %eax     # 0x1e698
movl %eax, 0x38(%r14)
jmp 0x43c6
movl $0x1, %eax
movsbl (%r14,%rax), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
jbe 0x4214
movq %r14, %rdi
callq 0x2080
leaq 0x1(%rax), %r15
movq %r15, %rdi
callq 0x152b1
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2130
movl 0x1a363(%rip), %eax     # 0x1e698
movl $0x4, -0x68(%rbp)
movq %r12, -0x60(%rbp)
movl 0x8(%rbx), %ecx
movl %ecx, -0x58(%rbp)
xorl %ecx, %ecx
movq %rcx, -0x50(%rbp)
movq %rcx, -0x40(%rbp)
movl %eax, -0x30(%rbp)
movq (%rbx), %rax
movq %rax, -0x48(%rbp)
cmpb $0x0, 0x1a8d2(%rip)     # 0x1ec33
je 0x4395
leaq -0x60(%rbp), %rsi
leaq 0x1a2f2(%rip), %rdi     # 0x1e660
leaq -0x68(%rbp), %rdx
callq 0x129c8
leaq 0x1a302(%rip), %rdi     # 0x1e680
movl 0x1a308(%rip), %ecx     # 0x1e68c
movl %ecx, 0x3c(%rax)
leaq -0x70(%rbp), %rsi
movq %rax, (%rsi)
callq 0x12a76
jmp 0x43c6
cmpq $0x0, 0x1a89b(%rip)     # 0x1ec38
jne 0x43b6
movl $0x10, %edi
callq 0x1529c
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq %rax, 0x1a882(%rip)     # 0x1ec38
movq 0x1a87b(%rip), %rdi     # 0x1ec38
leaq -0x68(%rbp), %rsi
callq 0x12962
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq