// File: /workspace/github_cpp_makefile_star2_O1/Heptagon196[P]Gos/Reflection/./ReflMgr.h
// Function: void ReflMgr::AddMethod<ObjectPtr, SharedObject, ObjectPtr const&>(std::function<SharedObject (ObjectPtr*, ObjectPtr const&)>, MethodInfo)
void AddMethod(std::function<Ret(Type*, Args...)> func, MethodInfo info) {
            info.returnType = TypeID::get<Ret>();
            info.argsList = ArgsTypeList{TypeID::get<Args>()...};
            info.newRet = GetNewRet(func);
            AddMethodInfo(TypeID::get<Type>(), info.name, info.withRegister(GetLambdaRegisterFunc(func)));
        }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movabsq $0x1531cb40dec93163, %rax # imm = 0x1531CB40DEC93163
movq %rax, 0x98(%rdx)
movq $0xc, 0xa0(%rdx)
leaq 0x8597e(%rip), %rax     # 0xbd0d0
movq %rax, 0xa8(%rdx)
movw $0x0, 0xb0(%rdx)
movups 0xe1c27(%rip), %xmm0    # 0x119390
leaq 0x30(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movups 0xe1c07(%rip), %xmm0    # 0x119380
movaps %xmm0, (%rsi)
leaq 0xb0(%rsp), %r12
leaq 0x2f(%rsp), %rcx
movl $0x1, %edx
movq %r12, %rdi
callq 0x37da6
leaq 0xb8(%rbx), %rdi
movq %r12, %rsi
callq 0x37e72
movq (%r12), %rdi
testq %rdi, %rdi
je 0x377be
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x11360
leaq 0xc8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x37a8a
leaq 0x78(%rbx), %rdi
leaq 0x30(%rsp), %rsi
callq 0x37ca4
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x377fb
leaq 0xc8(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movabsq $0x57dfe2a8f2175be4, %rax # imm = 0x57DFE2A8F2175BE4
movq %rax, 0x70(%rsp)
movq $0x9, 0x78(%rsp)
leaq 0x85830(%rip), %rax     # 0xbd04a
movq %rax, 0x80(%rsp)
movw $0x0, 0x88(%rsp)
leaq 0x90(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x37a8a
leaq 0x30(%rsp), %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x37d12
xorps %xmm0, %xmm0
movaps %xmm0, 0x60(%rsp)
movaps %xmm0, 0x50(%rsp)
movl $0x20, %edi
callq 0x11350
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x48(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq 0x40(%rsp), %rcx
testq %rcx, %rcx
je 0x3789d
leaq 0x40(%rsp), %rdx
movups -0x10(%rdx), %xmm0
movups %xmm0, (%rax)
movq %rcx, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rdx)
leaq 0x50(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x7d0(%rip), %rax       # 0x3807c
movq %rax, 0x18(%rsi)
leaq 0x7cd(%rip), %rax       # 0x38084
movq %rax, 0x10(%rsi)
movq %rbx, %rdi
callq 0x23120
leaq 0xe8(%rsp), %rdi
movq %rax, %rsi
callq 0x37ae8
movups 0x70(%rsp), %xmm0
movups 0x80(%rsp), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0xe8(%rsp), %rdx
movq %r14, %rdi
movq %rbx, %rsi
movl $0x1, %ecx
callq 0x2343c
movq 0x1a0(%rsp), %rdi
testq %rdi, %rdi
je 0x3791e
movq 0x1b0(%rsp), %rsi
subq %rdi, %rsi
callq 0x11360
movq 0x170(%rsp), %rax
testq %rax, %rax
je 0x3793d
leaq 0x160(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x150(%rsp), %rax
testq %rax, %rax
je 0x3795c
leaq 0x140(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x108(%rsp), %rbx
movq %rbx, %rdi
callq 0x376f2
movq -0x20(%rbx), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x3798d
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x11360
movq 0x60(%rsp), %rax
testq %rax, %rax
je 0x379a6
leaq 0x50(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x40(%rsp), %rax
testq %rax, %rax
je 0x379bf
leaq 0x30(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0xa0(%rsp), %rax
testq %rax, %rax
je 0x379de
leaq 0x90(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x37a81
jmp 0x37a81
jmp 0x37a81
jmp 0x37a81
jmp 0x37a81
jmp 0x37a81
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0x37c26
jmp 0x37a24
movq %rax, %rbx
jmp 0x37a3d
movq %rax, %rbx
jmp 0x37a56
movq %rax, %rbx
movq 0x60(%rsp), %rax
testq %rax, %rax
je 0x37a3d
leaq 0x50(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x40(%rsp), %rax
testq %rax, %rax
je 0x37a56
leaq 0x30(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0xa0(%rsp), %rax
testq %rax, %rax
je 0x37a75
leaq 0x90(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq %rbx, %rdi
callq 0x11580
jmp 0x37a81
jmp 0x37a81
movq %rax, %rdi
callq 0x2789a
nop