// File: /workspace/github_c_makefile_star2_O2/hoobaa[P]ficl/fileaccess.c
// Function: ficlSystemCompileFile
void ficlSystemCompileFile(ficlSystem *system)
{
#if !FICL_WANT_FILE
    FICL_IGNORE(system);
#else
    ficlDictionary *dictionary = ficlSystemGetDictionary(system);
    ficlDictionary *environment = ficlSystemGetEnvironment(system);

    FICL_SYSTEM_ASSERT(system, dictionary);
    FICL_SYSTEM_ASSERT(system, environment);

    ficlDictionarySetPrimitive(dictionary, "create-file", ficlPrimitiveCreateFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "open-file", ficlPrimitiveOpenFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "close-file", ficlPrimitiveCloseFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "include-file", ficlPrimitiveIncludeFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "read-file", ficlPrimitiveReadFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "read-line", ficlPrimitiveReadLine,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "write-file", ficlPrimitiveWriteFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "write-line", ficlPrimitiveWriteLine,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "file-position", ficlPrimitiveFilePosition,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "file-size", ficlPrimitiveFileSize,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "reposition-file", ficlPrimitiveRepositionFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "file-status", ficlPrimitiveFileStatus,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "flush-file", ficlPrimitiveFlushFile,  FICL_WORD_DEFAULT);

    ficlDictionarySetPrimitive(dictionary, "delete-file", ficlPrimitiveDeleteFile,  FICL_WORD_DEFAULT);
    ficlDictionarySetPrimitive(dictionary, "rename-file", ficlPrimitiveRenameFile,  FICL_WORD_DEFAULT);

#if FICL_PLATFORM_HAS_FTRUNCATE
    ficlDictionarySetPrimitive(dictionary, "resize-file", ficlPrimitiveResizeFile,  FICL_WORD_DEFAULT);

    ficlDictionarySetConstant(environment, "file", FICL_TRUE);
    ficlDictionarySetConstant(environment, "file-ext", FICL_TRUE);
#else /*  FICL_PLATFORM_HAS_FTRUNCATE */
    ficlDictionarySetConstant(environment, "file", FICL_FALSE);
    ficlDictionarySetConstant(environment, "file-ext", FICL_FALSE);
#endif /* FICL_PLATFORM_HAS_FTRUNCATE */

#endif /* !FICL_WANT_FILE */
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x399f
movq %rax, %r14
movq %rbx, %rdi
callq 0x39a4
movq %rax, %rbx
leaq 0x3527(%rip), %rsi      # 0xf7b8
leaq 0x1a1(%rip), %rdx       # 0xc439
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x351b(%rip), %rsi      # 0xf7c4
leaq 0x195(%rip), %rdx       # 0xc445
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x350d(%rip), %rsi      # 0xf7ce
leaq 0x189(%rip), %rdx       # 0xc451
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x3500(%rip), %rsi      # 0xf7d9
leaq 0x191(%rip), %rdx       # 0xc471
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x34f5(%rip), %rsi      # 0xf7e6
leaq 0x243(%rip), %rdx       # 0xc53b
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x34e7(%rip), %rsi      # 0xf7f0
leaq 0x2a2(%rip), %rdx       # 0xc5b2
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x34d9(%rip), %rsi      # 0xf7fa
leaq 0x386(%rip), %rdx       # 0xc6ae
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x34cc(%rip), %rsi      # 0xf805
leaq 0x3d9(%rip), %rdx       # 0xc719
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x34bf(%rip), %rsi      # 0xf810
leaq 0x43c(%rip), %rdx       # 0xc794
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x34b5(%rip), %rsi      # 0xf81e
leaq 0x464(%rip), %rdx       # 0xc7d4
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x34a7(%rip), %rsi      # 0xf828
leaq 0x48c(%rip), %rdx       # 0xc814
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x349f(%rip), %rsi      # 0xf838
leaq 0x4b4(%rip), %rdx       # 0xc854
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x3493(%rip), %rsi      # 0xf844
leaq 0x527(%rip), %rdx       # 0xc8df
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x3486(%rip), %rsi      # 0xf84f
leaq 0x535(%rip), %rdx       # 0xc905
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x347a(%rip), %rsi      # 0xf85b
leaq 0x590(%rip), %rdx       # 0xc978
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x346e(%rip), %rsi      # 0xf867
leaq 0x63a(%rip), %rdx       # 0xca3a
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xbbe5
leaq 0x33da(%rip), %rsi      # 0xf7eb
pushq $-0x1
popq %r14
movq %rbx, %rdi
movq %r14, %rdx
callq 0xba61
leaq 0x344c(%rip), %rsi      # 0xf873
movq %rbx, %rdi
movq %r14, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xba61