// File: /workspace/github_cpp_makefile_star2_O2/Heptagon196[P]Gos/main.cpp
// Function: main
int main(int argc, char* argv[]) {
    reflIO();
    Gos::FileSystem::AddDirectory("Test");
    Gos::GosProject prj;
    // prj.AddScript(name);
    prj.ScanDirectory();
    ReflMgr::Instance().New("Lambda").Invoke("main")({ SharedObject::New<int>(2333) });
    /*
    const char* name;
    if (argc > 1) {
        name = argv[1];
    } else {
        name = "Lambda.gos";
    }
    std::ifstream fin;
    fin.open(name);
    Gos::GosScript script;
    script.Read(fin, name);
    fin.close();
    script.PrintIR(std::cout);
    script.Execute();
    auto f = script.CreateInstance().Invoke("main", {});
    f({ SharedObject::New<int>(1) });
    f({ SharedObject::New<int>(2) });
    f({ SharedObject::New<int>(3) });
    ReflMgr::Instance().InvokeStatic(TypeID::getRaw("Lambda"), "Greatings", {});
    */
    return 0;
}

// Assembly:
pushq %rbx
subq $0x240, %rsp            # imm = 0x240
callq 0x8f21c
leaq 0x1b5d3(%rip), %rsi     # 0xaad0d
leaq 0xe0(%rsp), %rbx
pushq $0x2
popq %rdx
movq %rbx, %rdi
callq 0x90888
movq %rbx, %rdi
callq 0x8d034
leaq 0xe0(%rsp), %rdi
callq 0x8b62c
leaq 0x1d0(%rsp), %rax
movq %rax, -0x30(%rax)
movq $0x1, -0x28(%rax)
xorps %xmm0, %xmm0
movups %xmm0, -0x20(%rax)
movl $0x3f800000, -0x10(%rax) # imm = 0x3F800000
movups %xmm0, -0x8(%rax)
leaq 0x1e0(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x7a55(%rip), %rsi      # 0x97201
leaq 0x60(%rsp), %rdi
leaq 0xa8(%rsp), %rdx
callq 0x664f4
leaq 0x80(%rsp), %rdx
xorps %xmm0, %xmm0
movaps %xmm0, (%rdx)
leaq 0x4dbf(%rip), %rax      # 0x94592
movq %rax, 0x18(%rdx)
leaq 0x4dba(%rip), %rax      # 0x94598
movq %rax, 0x10(%rdx)
leaq 0x1a0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x8b1ee
leaq 0x80(%rsp), %rdi
callq 0x21f04
leaq 0x60(%rsp), %rdi
callq 0x209be
callq 0x1df9e
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %r8
movaps %xmm0, (%r8)
andq $0x0, 0x10(%r8)
leaq 0x1b4ea(%rip), %rcx     # 0xaad12
leaq 0x140(%rsp), %rdi
pushq $0x6
popq %rdx
movq %rax, %rsi
callq 0x1e8a8
leaq 0x20(%rsp), %r8
xorps %xmm0, %xmm0
movaps %xmm0, (%r8)
andq $0x0, 0x10(%r8)
leaq 0x1b4c6(%rip), %rcx     # 0xaad19
leaq 0xa8(%rsp), %rdi
leaq 0x140(%rsp), %rsi
pushq $0x4
popq %rdx
callq 0x173b6
leaq 0x4(%rsp), %rsi
movl $0x91d, (%rsi)          # imm = 0x91D
leaq 0x108(%rsp), %rdi
callq 0x65fb4
leaq 0x178(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x16ff6
leaq 0x8(%rsp), %rdi
leaq 0x178(%rsp), %rsi
pushq $0x1
popq %rdx
leaq 0x3(%rsp), %rcx
callq 0x21334
leaq 0x208(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x18058
leaq 0x208(%rsp), %rdi
callq 0x19b6c
leaq 0x8(%rsp), %rdi
callq 0x225a0
leaq 0x108(%rsp), %rdi
callq 0x19b6c
leaq 0xa8(%rsp), %rdi
callq 0x19b6c
leaq 0x20(%rsp), %rdi
callq 0x225a0
leaq 0x140(%rsp), %rdi
callq 0x19b6c
leaq 0x40(%rsp), %rdi
callq 0x225a0
leaq 0x1a0(%rsp), %rdi
callq 0x908f4
xorl %eax, %eax
addq $0x240, %rsp            # imm = 0x240
popq %rbx
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x225a0
jmp 0x8f94a
jmp 0x8f947
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
callq 0x19b6c
jmp 0x8f95c
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0x19b6c
jmp 0x8f96e
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x225a0
leaq 0x140(%rsp), %rdi
callq 0x19b6c
leaq 0x40(%rsp), %rdi
callq 0x225a0
jmp 0x8f9b7
movq %rax, %rbx
jmp 0x8f985
jmp 0x8f9b4
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x21f04
leaq 0x60(%rsp), %rdi
callq 0x209be
jmp 0x8f9b7
movq %rax, %rbx
leaq 0x1a0(%rsp), %rdi
callq 0x908f4
movq %rbx, %rdi
callq 0x11570
movq %rax, %rbx
leaq 0xe0(%rsp), %rdi
callq 0x8b62c
jmp 0x8f9c4