// File: /workspace/github_c_makefile_star2_O1/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 0x3a37
movq %rax, %r14
movq %rbx, %rdi
callq 0x3a3c
movq %rax, %rbx
leaq 0x2b1f(%rip), %rsi      # 0xf7b8
leaq 0x1a5(%rip), %rdx       # 0xce45
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2b13(%rip), %rsi      # 0xf7c4
leaq 0x199(%rip), %rdx       # 0xce51
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2b05(%rip), %rsi      # 0xf7ce
leaq 0x18d(%rip), %rdx       # 0xce5d
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2af8(%rip), %rsi      # 0xf7d9
leaq 0x1af(%rip), %rdx       # 0xce97
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2aed(%rip), %rsi      # 0xf7e6
leaq 0x280(%rip), %rdx       # 0xcf80
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2adf(%rip), %rsi      # 0xf7f0
leaq 0x2e1(%rip), %rdx       # 0xcff9
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2ad1(%rip), %rsi      # 0xf7fa
leaq 0x3cd(%rip), %rdx       # 0xd0fd
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2ac4(%rip), %rsi      # 0xf805
leaq 0x422(%rip), %rdx       # 0xd16a
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2ab7(%rip), %rsi      # 0xf810
leaq 0x489(%rip), %rdx       # 0xd1e9
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2aad(%rip), %rsi      # 0xf81e
leaq 0x4b1(%rip), %rdx       # 0xd229
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2a9f(%rip), %rsi      # 0xf828
leaq 0x4d9(%rip), %rdx       # 0xd269
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2a97(%rip), %rsi      # 0xf838
leaq 0x501(%rip), %rdx       # 0xd2a9
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2a8b(%rip), %rsi      # 0xf844
leaq 0x574(%rip), %rdx       # 0xd334
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2a7e(%rip), %rsi      # 0xf84f
leaq 0x582(%rip), %rdx       # 0xd35a
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2a72(%rip), %rsi      # 0xf85b
leaq 0x5dd(%rip), %rdx       # 0xd3cd
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x2a66(%rip), %rsi      # 0xf867
leaq 0x687(%rip), %rdx       # 0xd48f
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc509
leaq 0x29d2(%rip), %rsi      # 0xf7eb
movq %rbx, %rdi
movq $-0x1, %rdx
callq 0xc36c
leaq 0x2a44(%rip), %rsi      # 0xf873
movq %rbx, %rdi
movq $-0x1, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc36c