// File: /workspace/github_c_makefile_star2_O2/msteveb[P]autosetup/./jimsh0.c
// Function: Jim_ApplyCoreCommand
static int Jim_ApplyCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
{
    if (argc < 2) {
        Jim_WrongNumArgs(interp, 1, argv, "lambdaExpr ?arg ...?");
        return JIM_ERR;
    }
    else {
        int ret;
        Jim_Cmd *cmd;
        Jim_Obj *argListObjPtr;
        Jim_Obj *bodyObjPtr;
        Jim_Obj *nsObj = NULL;
        Jim_Obj **nargv;

        int len = Jim_ListLength(interp, argv[1]);
        if (len != 2 && len != 3) {
            Jim_SetResultFormatted(interp, "can't interpret \"%#s\" as a lambda expression", argv[1]);
            return JIM_ERR;
        }

        if (len == 3) {
#ifdef jim_ext_namespace

            nsObj = Jim_ListGetIndex(interp, argv[1], 2);
#else
            Jim_SetResultString(interp, "namespaces not enabled", -1);
            return JIM_ERR;
#endif
        }
        argListObjPtr = Jim_ListGetIndex(interp, argv[1], 0);
        bodyObjPtr = Jim_ListGetIndex(interp, argv[1], 1);

        cmd = JimCreateProcedureCmd(interp, argListObjPtr, NULL, bodyObjPtr, nsObj);

        if (cmd) {

            nargv = Jim_Alloc((argc - 2 + 1) * sizeof(*nargv));
            nargv[0] = Jim_NewStringObj(interp, "apply lambdaExpr", -1);
            Jim_IncrRefCount(nargv[0]);
            memcpy(&nargv[1], argv + 2, (argc - 2) * sizeof(*nargv));
            ret = JimCallProcedure(interp, cmd, argc - 2 + 1, nargv);
            Jim_DecrRefCount(interp, nargv[0]);
            Jim_Free(nargv);

            JimDecrCmdRefCount(interp, cmd);
            return ret;
        }
        return JIM_ERR;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movq %rdi, %rbx
cmpl $0x1, %esi
jg 0x1ec7f
leaq 0xa866(%rip), %rcx      # 0x294d1
pushq $0x1
popq %r13
movq %rbx, %rdi
movl %r13d, %esi
movq %r14, %rdx
callq 0x72a5
jmp 0x1ecea
movl %esi, %r15d
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0x8b3c
leal -0x4(%rax), %ecx
cmpl $-0x3, %ecx
ja 0x1ecad
movq 0x8(%r14), %rdx
leaq 0xa845(%rip), %rsi      # 0x294e6
movq %rbx, %rdi
xorl %eax, %eax
callq 0x68a7
jmp 0x1ece6
cmpl $0x3, %eax
jne 0x1ecfc
leaq 0xa85a(%rip), %rsi      # 0x29513
pushq $-0x1
popq %rdx
movq %rbx, %rdi
callq 0x7363
movq %rax, %r14
incl 0x10(%rax)
movq (%rbx), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x1ece3
movq %rbx, %rdi
callq 0x73bf
movq %r14, (%rbx)
pushq $0x1
popq %r13
movl %r13d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%r14), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0xd95e
movq %rax, %r12
movq 0x8(%r14), %rsi
pushq $0x1
popq %r13
movq %rbx, %rdi
movl %r13d, %edx
callq 0xd95e
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x1fd78
testq %rax, %rax
je 0x1ecea
leal -0x2(%r15), %r13d
decl %r15d
leaq (,%r15,8), %rsi
xorl %edi, %edi
movq %rax, -0x30(%rbp)
callq *0x14538(%rip)          # 0x33288
movq %rax, %r12
leaq 0xa7d0(%rip), %rsi      # 0x2952a
pushq $-0x1
popq %rdx
movq %rbx, %rdi
callq 0x7363
movq %rax, (%r12)
incl 0x10(%rax)
leaq 0x8(%r12), %rdi
addq $0x10, %r14
shlq $0x3, %r13
movq %r14, %rsi
movq %r13, %rdx
callq 0x6320
movq %rbx, %rdi
movq -0x30(%rbp), %r14
movq %r14, %rsi
movl %r15d, %edx
movq %r12, %rcx
callq 0x18bd8
movl %eax, %r13d
movq (%r12), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x1edb6
movq %rbx, %rdi
callq 0x73bf
movq %r12, %rdi
xorl %esi, %esi
callq *0x144c7(%rip)          # 0x33288
movq %rbx, %rdi
movq %r14, %rsi
callq 0x16865
jmp 0x1ecea