// File: /workspace/github_c_makefile_star2_O3/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 0x3a0e
movq %rax, %r14
movq %rbx, %rdi
callq 0x3a13
movq %rax, %rbx
leaq 0x2c87(%rip), %rsi      # 0xf7b8
leaq 0x1a5(%rip), %rdx       # 0xccdd
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c7b(%rip), %rsi      # 0xf7c4
leaq 0x199(%rip), %rdx       # 0xcce9
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c6d(%rip), %rsi      # 0xf7ce
leaq 0x18d(%rip), %rdx       # 0xccf5
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c60(%rip), %rsi      # 0xf7d9
leaq 0x1af(%rip), %rdx       # 0xcd2f
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c55(%rip), %rsi      # 0xf7e6
leaq 0x271(%rip), %rdx       # 0xce09
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c47(%rip), %rsi      # 0xf7f0
leaq 0x2d2(%rip), %rdx       # 0xce82
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c39(%rip), %rsi      # 0xf7fa
leaq 0x3be(%rip), %rdx       # 0xcf86
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c2c(%rip), %rsi      # 0xf805
leaq 0x413(%rip), %rdx       # 0xcff3
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c1f(%rip), %rsi      # 0xf810
leaq 0x47a(%rip), %rdx       # 0xd072
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c15(%rip), %rsi      # 0xf81e
leaq 0x4a2(%rip), %rdx       # 0xd0b2
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2c07(%rip), %rsi      # 0xf828
leaq 0x4ca(%rip), %rdx       # 0xd0f2
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2bff(%rip), %rsi      # 0xf838
leaq 0x4f2(%rip), %rdx       # 0xd132
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2bf3(%rip), %rsi      # 0xf844
leaq 0x565(%rip), %rdx       # 0xd1bd
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2be6(%rip), %rsi      # 0xf84f
leaq 0x573(%rip), %rdx       # 0xd1e3
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2bda(%rip), %rsi      # 0xf85b
leaq 0x5ce(%rip), %rdx       # 0xd256
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2bce(%rip), %rsi      # 0xf867
leaq 0x678(%rip), %rdx       # 0xd318
movq %r14, %rdi
xorl %ecx, %ecx
callq 0xc3c8
leaq 0x2b3a(%rip), %rsi      # 0xf7eb
movq %rbx, %rdi
movq $-0x1, %rdx
callq 0xc217
leaq 0x2bac(%rip), %rsi      # 0xf873
movq %rbx, %rdi
movq $-0x1, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc217