// File: /workspace/github_c_makefile_star2_O0/msteveb[P]autosetup/./jimsh0.c
// Function: Jim_CreateInterp
Jim_Interp *Jim_CreateInterp(void)
{
    Jim_Interp *i = Jim_Alloc(sizeof(*i));

    memset(i, 0, sizeof(*i));

    i->maxCallFrameDepth = JIM_MAX_CALLFRAME_DEPTH;
    i->maxEvalDepth = JIM_MAX_EVAL_DEPTH;
    i->lastCollectTime = Jim_GetTimeUsec(CLOCK_MONOTONIC_RAW);

    Jim_InitHashTable(&i->commands, &JimCommandsHashTableType, i);
#ifdef JIM_REFERENCES
    Jim_InitHashTable(&i->references, &JimReferencesHashTableType, i);
#endif
    Jim_InitHashTable(&i->assocData, &JimAssocDataHashTableType, i);
    Jim_InitHashTable(&i->packages, &JimPackageHashTableType, NULL);
    i->emptyObj = Jim_NewEmptyStringObj(i);
    i->trueObj = Jim_NewIntObj(i, 1);
    i->falseObj = Jim_NewIntObj(i, 0);
    i->framePtr = i->topFramePtr = JimCreateCallFrame(i, NULL, i->emptyObj);
    i->result = i->emptyObj;
    i->stackTrace = Jim_NewListObj(i, NULL, 0);
    i->unknown = Jim_NewStringObj(i, "unknown", -1);
    i->defer = Jim_NewStringObj(i, "jim::defer", -1);
    i->errorProc = i->emptyObj;
    i->nullScriptObj = Jim_NewEmptyStringObj(i);
    i->evalFrame = &i->topEvalFrame;
    i->currentFilenameObj = Jim_NewEmptyStringObj(i);
    Jim_IncrRefCount(i->emptyObj);
    Jim_IncrRefCount(i->result);
    Jim_IncrRefCount(i->stackTrace);
    Jim_IncrRefCount(i->unknown);
    Jim_IncrRefCount(i->defer);
    Jim_IncrRefCount(i->nullScriptObj);
    Jim_IncrRefCount(i->errorProc);
    Jim_IncrRefCount(i->trueObj);
    Jim_IncrRefCount(i->falseObj);
    Jim_IncrRefCount(i->currentFilenameObj);


    Jim_SetVariableStrWithStr(i, JIM_LIBPATH, TCL_LIBRARY);
    Jim_SetVariableStrWithStr(i, JIM_INTERACTIVE, "0");

    Jim_SetVariableStrWithStr(i, "tcl_platform(engine)", "Jim");
    Jim_SetVariableStrWithStr(i, "tcl_platform(os)", TCL_PLATFORM_OS);
    Jim_SetVariableStrWithStr(i, "tcl_platform(platform)", TCL_PLATFORM_PLATFORM);
    Jim_SetVariableStrWithStr(i, "tcl_platform(pathSeparator)", TCL_PLATFORM_PATH_SEPARATOR);
    Jim_SetVariableStrWithStr(i, "tcl_platform(byteOrder)", Jim_IsBigEndian() ? "bigEndian" : "littleEndian");
    Jim_SetVariableStrWithStr(i, "tcl_platform(threaded)", "0");
    Jim_SetVariableStrWithStr(i, "tcl_platform(bootstrap)", "0");
    Jim_SetVariableStr(i, "tcl_platform(pointerSize)", Jim_NewIntObj(i, sizeof(void *)));
    Jim_SetVariableStr(i, "tcl_platform(wordSize)", Jim_NewIntObj(i, sizeof(jim_wide)));
    Jim_SetVariableStr(i, "tcl_platform(stackFormat)", Jim_NewIntObj(i, 4));

    return i;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
xorl %eax, %eax
movl %eax, %edi
movl $0x248, %esi            # imm = 0x248
callq *0x39b89(%rip)          # 0x48290
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
movl $0x248, %edx            # imm = 0x248
callq 0x6250
movq -0x8(%rbp), %rax
movl $0x3e8, 0x1c(%rax)      # imm = 0x3E8
movq -0x8(%rbp), %rax
movl $0x7d0, 0x20(%rax)      # imm = 0x7D0
movl $0x4, %edi
callq 0xb820
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x180(%rax)
movq -0x8(%rbp), %rdi
addq $0x68, %rdi
movq -0x8(%rbp), %rdx
leaq 0x37c04(%rip), %rsi     # 0x46360
callq 0xb920
movq -0x8(%rbp), %rdi
addq $0x1d8, %rdi            # imm = 0x1D8
movq -0x8(%rbp), %rdx
leaq 0x37c19(%rip), %rsi     # 0x46390
callq 0xb920
movq -0x8(%rbp), %rdi
addq $0x210, %rdi            # imm = 0x210
leaq 0x37c32(%rip), %rsi     # 0x463c0
xorl %eax, %eax
movl %eax, %edx
callq 0xb920
movq -0x8(%rbp), %rdi
leaq 0x2f210(%rip), %rsi     # 0x3d9b2
xorl %edx, %edx
callq 0x7990
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x128(%rax)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x8d60
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x130(%rax)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x8d60
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x138(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0xeb30
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x7b50
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x188(%rax)
movq -0x8(%rbp), %rdi
leaq 0x2c70d(%rip), %rsi     # 0x3af60
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7990
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x198(%rax)
movq -0x8(%rbp), %rdi
leaq 0x2c6f2(%rip), %rsi     # 0x3af68
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7990
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x1a0(%rax)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x190(%rax)
movq -0x8(%rbp), %rdi
leaq 0x2f103(%rip), %rsi     # 0x3d9b2
xorl %edx, %edx
callq 0x7990
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x120(%rax)
movq -0x8(%rbp), %rcx
addq $0xd0, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x108(%rax)
movq -0x8(%rbp), %rdi
leaq 0x2f0cd(%rip), %rsi     # 0x3d9b2
xorl %edx, %edx
callq 0x7990
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x188(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x198(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x1a0(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x120(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x190(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x130(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x138(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rdi
leaq 0x2c5b0(%rip), %rsi     # 0x3af73
leaq 0x2d04f(%rip), %rdx     # 0x3ba19
callq 0xdfa0
movq -0x8(%rbp), %rdi
leaq 0x2c5a3(%rip), %rsi     # 0x3af7d
leaq 0x2c333(%rip), %rdx     # 0x3ad14
callq 0xdfa0
movq -0x8(%rbp), %rdi
leaq 0x2c59c(%rip), %rsi     # 0x3af8d
leaq 0x2c5aa(%rip), %rdx     # 0x3afa2
callq 0xdfa0
movq -0x8(%rbp), %rdi
leaq 0x2c59e(%rip), %rsi     # 0x3afa6
leaq 0x2c551(%rip), %rdx     # 0x3af60
callq 0xdfa0
movq -0x8(%rbp), %rdi
leaq 0x2c598(%rip), %rsi     # 0x3afb7
leaq 0x2c5a8(%rip), %rdx     # 0x3afce
callq 0xdfa0
movq -0x8(%rbp), %rdi
leaq 0x2c59d(%rip), %rsi     # 0x3afd3
leaq 0x2ef11(%rip), %rdx     # 0x3d94e
callq 0xdfa0
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
callq 0xe6d0
movq -0x28(%rbp), %rdi
movl %eax, %ecx
leaq 0x2c5b5(%rip), %rdx     # 0x3b011
leaq 0x2c5a4(%rip), %rax     # 0x3b007
cmpl $0x0, %ecx
cmovneq %rax, %rdx
leaq 0x2c57e(%rip), %rsi     # 0x3afef
callq 0xdfa0
movq -0x8(%rbp), %rdi
leaq 0x2c59d(%rip), %rsi     # 0x3b01e
leaq 0x2c28c(%rip), %rdx     # 0x3ad14
callq 0xdfa0
movq -0x8(%rbp), %rdi
leaq 0x2c59d(%rip), %rsi     # 0x3b035
leaq 0x2c275(%rip), %rdx     # 0x3ad14
callq 0xdfa0
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movl $0x8, %esi
callq 0x8d60
movq -0x20(%rbp), %rdi
movq %rax, %rdx
leaq 0x2c585(%rip), %rsi     # 0x3b04d
callq 0xdec0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl $0x8, %esi
callq 0x8d60
movq -0x18(%rbp), %rdi
movq %rax, %rdx
leaq 0x2c576(%rip), %rsi     # 0x3b067
callq 0xdec0
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movl $0x4, %esi
callq 0x8d60
movq -0x10(%rbp), %rdi
movq %rax, %rdx
leaq 0x2c564(%rip), %rsi     # 0x3b07e
callq 0xdec0
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)