// File: /workspace/github_c_makefile_star2_O3/msteveb[P]autosetup/./jimsh0.c
// Function: Jim_FileStoreStatData
int Jim_FileStoreStatData(Jim_Interp *interp, Jim_Obj *varName, const jim_stat_t *sb)
{

    Jim_Obj *listObj = Jim_NewListObj(interp, NULL, 0);

    AppendStatElement(interp, listObj, "dev", sb->st_dev);
    AppendStatElement(interp, listObj, "ino", sb->st_ino);
    AppendStatElement(interp, listObj, "mode", sb->st_mode);
    AppendStatElement(interp, listObj, "nlink", sb->st_nlink);
    AppendStatElement(interp, listObj, "uid", sb->st_uid);
    AppendStatElement(interp, listObj, "gid", sb->st_gid);
    AppendStatElement(interp, listObj, "size", sb->st_size);
    AppendStatElement(interp, listObj, "atime", sb->st_atime);
    AppendStatElement(interp, listObj, "mtime", sb->st_mtime);
    AppendStatElement(interp, listObj, "ctime", sb->st_ctime);
#ifdef STAT_MTIME_US
    AppendStatElement(interp, listObj, "mtimeus", STAT_MTIME_US(*sb));
#endif
    Jim_ListAppendElement(interp, listObj, Jim_NewStringObj(interp, "type", -1));
    Jim_ListAppendElement(interp, listObj, Jim_NewStringObj(interp, JimGetFileType((int)sb->st_mode), -1));


    if (varName) {
        Jim_Obj *objPtr;
        objPtr = Jim_GetVariable(interp, varName, JIM_NONE);

        if (objPtr) {
            Jim_Obj *objv[2];

            objv[0] = objPtr;
            objv[1] = listObj;

            objPtr = Jim_DictMerge(interp, 2, objv);
            if (objPtr == NULL) {

                Jim_SetResultFormatted(interp, "can't set \"%#s(dev)\": variable isn't array", varName);
                Jim_FreeNewObj(interp, listObj);
                return JIM_ERR;
            }

            Jim_InvalidateStringRep(objPtr);

            Jim_FreeNewObj(interp, listObj);
            listObj = objPtr;
        }
        Jim_SetVariable(interp, varName, listObj);
    }


    Jim_SetResult(interp, listObj);

    return JIM_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %rbx
callq 0xae38
movq %rax, %r14
leaq 0x2bd32(%rip), %rax     # 0x35368
movq %rax, 0x8(%r14)
movq $0x0, (%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%r14)
movq (%r12), %rcx
leaq 0x214ed(%rip), %rdx     # 0x2ab41
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movq 0x8(%r12), %rcx
leaq 0x214da(%rip), %rdx     # 0x2ab45
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movl 0x18(%r12), %ecx
leaq 0x23fb0(%rip), %rdx     # 0x2d632
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movq 0x10(%r12), %rcx
leaq 0x214b0(%rip), %rdx     # 0x2ab49
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movl 0x1c(%r12), %ecx
leaq 0x2149f(%rip), %rdx     # 0x2ab4f
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movl 0x20(%r12), %ecx
leaq 0x2148c(%rip), %rdx     # 0x2ab53
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movq 0x30(%r12), %rcx
leaq 0x21daa(%rip), %rdx     # 0x2b488
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movq 0x48(%r12), %rcx
leaq 0x21462(%rip), %rdx     # 0x2ab57
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movq 0x58(%r12), %rcx
leaq 0x21451(%rip), %rdx     # 0x2ab5d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
movq 0x68(%r12), %rcx
leaq 0x21440(%rip), %rdx     # 0x2ab63
movq %rbx, %rdi
movq %r14, %rsi
callq 0x984f
leaq 0x21434(%rip), %rsi     # 0x2ab69
movq %rbx, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7508
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7683
movl 0x18(%r12), %edi
callq 0x98b3
movq %rbx, %rdi
movq %rax, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7508
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7683
testq %r15, %r15
je 0x97fa
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x98e7
testq %rax, %rax
je 0x97e9
leaq -0x30(%rbp), %rdx
movq %rax, (%rdx)
movq %r14, 0x8(%rdx)
movq %rbx, %rdi
movl $0x2, %esi
callq 0x99b7
testq %rax, %rax
je 0x9829
movq %rax, %r12
movq (%rax), %rdi
testq %rdi, %rdi
sete %al
leaq 0x2dad9(%rip), %rcx     # 0x37298
cmpq %rcx, %rdi
sete %cl
orb %al, %cl
jne 0x97d1
xorl %esi, %esi
callq *0x2dab7(%rip)          # 0x37288
movq $0x0, (%r12)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x758c
movq %r12, %r14
jmp 0x97ec
movq %r14, %r12
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x876e
incl 0x10(%r14)
movq (%rbx), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x9817
movq %rbx, %rdi
callq 0x758c
movq %r14, (%rbx)
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2133e(%rip), %rsi     # 0x2ab6e
movq %rbx, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x6923
movq %rbx, %rdi
movq %r14, %rsi
callq 0x758c
movl $0x1, %eax
jmp 0x981c