// File: /workspace/github_cpp_makefile_star2_O3/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 0x1b4a7(%rip), %rdi     # 0x1f660
callq 0x12b3c
testq %rax, %rax
je 0x41e6
movq %rax, %r14
cmpl $0x4, (%rax)
jne 0x4202
cmpl $0x18, 0x3c(%r14)
jg 0x4279
movq %r14, %rdi
movq %rbx, %rsi
callq 0xe137
jmp 0x43a3
movq -0x28(%rbp), %r14
movsbl (%r14), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jae 0x424a
leaq 0x13fc4(%rip), %rdi     # 0x181c1
movq %r14, %rsi
jmp 0x420d
movq 0x8(%r14), %rsi
leaq 0x13f8b(%rip), %rdi     # 0x18198
xorl %eax, %eax
callq 0x3f68
movq (%rbx), %rdi
movl 0x8(%rbx), %eax
cmpl $0x5, %eax
je 0x4232
cmpl $0x3, %eax
jne 0x43a3
testq %rdi, %rdi
jne 0x4240
jmp 0x43a3
cmpl $0x0, -0x4(%rdi)
jne 0x43a3
addq $-0x4, %rdi
callq 0x1572b
jmp 0x43a3
movzbl %al, %eax
cmpl $0x2b, %eax
je 0x4260
cmpl $0x2e, %eax
je 0x42d3
cmpl $0x2d, %eax
jne 0x42e9
movsbl 0x1(%r14), %ecx
leal -0x30(%rcx), %eax
cmpl $0xa, %eax
jb 0x41f6
movl $0x2, %eax
cmpb $0x2e, %cl
je 0x42d8
jmp 0x42e9
cmpl $0x3, 0x10(%r14)
jne 0x428e
movq 0x20(%r14), %rdi
testq %rdi, %rdi
je 0x428e
callq 0x1572b
movl 0x8(%rbx), %eax
movl %eax, 0x10(%r14)
movq (%rbx), %rax
movq %rax, 0x20(%r14)
movq 0x18(%r14), %rax
testq %rax, %rax
je 0x42c4
addl $0xffffff00, (%rax)     # imm = 0xFFFFFF00
movq 0x18(%r14), %rdi
cmpl $0xff, (%rdi)
jg 0x42bc
callq 0x1572b
movq $0x0, 0x18(%r14)
movl 0x1b3ce(%rip), %eax     # 0x1f698
movl %eax, 0x38(%r14)
jmp 0x43a3
movl $0x1, %eax
movsbl (%r14,%rax), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
jbe 0x41f6
movq %r14, %rdi
callq 0x2080
leaq 0x1(%rax), %r15
movq %r15, %rdi
callq 0x15705
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2130
movl 0x1b384(%rip), %eax     # 0x1f698
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, 0x1b8f3(%rip)     # 0x1fc33
je 0x4374
leaq -0x60(%rbp), %rsi
leaq 0x1b313(%rip), %rdi     # 0x1f660
leaq -0x68(%rbp), %rdx
callq 0x12f18
leaq 0x1b323(%rip), %rdi     # 0x1f680
movl 0x1b329(%rip), %ecx     # 0x1f68c
movl %ecx, 0x3c(%rax)
leaq -0x70(%rbp), %rsi
movq %rax, (%rsi)
callq 0x12fc6
jmp 0x43a3
movq 0x1b8bd(%rip), %rdi     # 0x1fc38
testq %rdi, %rdi
jne 0x439a
movl $0x10, %edi
callq 0x156f0
movq %rax, %rdi
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq %rax, 0x1b89e(%rip)     # 0x1fc38
leaq -0x68(%rbp), %rsi
callq 0x12eb0
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq