// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: g_autoloader
static s7_pointer g_autoloader(s7_scheme *sc, s7_pointer args)
    {
#define H_autoloader "(*autoload* sym) returns the autoload info for the symbol sym, or #f."
#define Q_autoloader s7_make_signature(sc, 2, sc->T, sc->is_symbol_symbol)
        s7_pointer sym;

        sym = car(args);
        if (!is_symbol(sym))
        {
            check_method(sc, sym, sc->autoloader_symbol, args);
            return(s7_wrong_type_arg_error(sc, "*autoload*", 1, sym, "a symbol"));
        }
        if (sc->autoload_names)
        {
            const char *file;
            bool loaded = false;
            file = find_autoload_name(sc, sym, &loaded, false);
            if (file)
                return(s7_make_string(sc, file));
        }
        if (is_hash_table(sc->autoload_table))
            return(s7_hash_table_ref(sc, sc->autoload_table, sym));

        return(sc->F);
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
movq 0x8(%rsi), %rbx
cmpb $0xa, (%rbx)
jne 0x864c4
cmpq $0x0, 0x2160(%r14)
je 0x8663c
leaq 0x7(%rsp), %rdx
movb $0x0, (%rdx)
movq %r14, %rdi
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0xa374f
movq %rax, %r15
testq %rax, %rax
je 0x86637
movq %r14, %rdi
movq %r15, %rsi
callq 0xf735
jmp 0x86637
movb $0x1, %bpl
testb $0x40, 0x3(%rbx)
je 0x86606
cmpb $0x1, 0x24c(%r14)
jne 0x86606
movq %rsi, %r12
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9a55
movq 0xc20(%r14), %rdx
movq %r14, %rdi
movq %rax, %rsi
callq 0x99ef
cmpq 0x128(%r14), %rax
je 0x86606
cmpb $0x1, (%r12)
jne 0x8666d
movq %rax, 0x10(%rsp)
movq %r12, 0x4c8(%r14)
movq 0x8(%r12), %rbp
movq 0x90(%r14), %rax
movq 0x110(%r14), %r15
cmpq 0x98(%r14), %rax
ja 0x86547
movq %r14, %rdi
callq 0xb389
movq 0x90(%r14), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%r14)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %rbp, 0x8(%rax)
movq %r15, 0x10(%rax)
movq %rax, 0x8(%rsp)
movq %rax, 0x4e8(%r14)
movq 0x10(%r12), %r12
cmpb $0x1, (%r12)
jne 0x865e5
movq 0x8(%rsp), %rbp
movq 0x8(%r12), %r15
movq 0x90(%r14), %rax
movq 0x110(%r14), %r13
cmpq 0x98(%r14), %rax
ja 0x865ad
movq %r14, %rdi
callq 0xb389
movq 0x90(%r14), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%r14)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r15, 0x8(%rax)
movq %r13, 0x10(%rax)
movq %rax, 0x10(%rbp)
movq 0x10(%r12), %r12
cmpb $0x1, (%r12)
movq %rax, %rbp
je 0x86589
movq 0x110(%r14), %rax
movq %rax, 0x4e8(%r14)
movq %rax, 0x4c8(%r14)
movq 0x10(%rsp), %rax
movq 0x8(%rsp), %rdx
jmp 0x86674
testb %bpl, %bpl
je 0x8665e
leaq 0x96eec(%rip), %rsi     # 0x11d4fe
leaq 0x8e9ba(%rip), %r8      # 0x114fd3
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xe25f
testq %r15, %r15
jne 0x8665e
movq 0x2140(%r14), %rsi
cmpb $0x1b, (%rsi)
jne 0x86657
movq %r14, %rdi
movq %rbx, %rdx
callq *0x18(%rsi)
movq 0x20(%rax), %rax
jmp 0x8665e
movq 0x120(%r14), %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x110(%r14), %rdx
movq %r14, %rdi
movq %rax, %rsi
callq 0xbd41
xorl %ebp, %ebp
jmp 0x86606