// File: 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:
subq $0x288, %rsp            # imm = 0x288
movq %rsi, 0x50(%rsp)
movq %rdx, 0x60(%rsp)
movq %rdi, 0x280(%rsp)
movq %rsi, 0x278(%rsp)
movq %rdx, 0x270(%rsp)
movq 0x280(%rsp), %rax
movq %rax, 0x58(%rsp)
leaq 0x250(%rsp), %rdi
callq 0x70590
movq 0x60(%rsp), %rdx
movups 0x250(%rsp), %xmm0
movups 0x25a(%rsp), %xmm1
movups %xmm1, 0xa2(%rdx)
movups %xmm0, 0x98(%rdx)
movups 0x28b573(%rip), %xmm0   # 0x2fb5f0
movaps %xmm0, 0x210(%rsp)
movups 0x28b554(%rip), %xmm0   # 0x2fb5e0
movaps %xmm0, 0x200(%rsp)
leaq 0x200(%rsp), %rax
movq %rax, 0x228(%rsp)
movq $0x1, 0x230(%rsp)
leaq 0x1ff(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x56a70
movq 0x68(%rsp), %rcx
movq 0x228(%rsp), %rsi
movq 0x230(%rsp), %rdx
leaq 0x238(%rsp), %rdi
callq 0x70620
jmp 0x700e6
movq 0x60(%rsp), %rdi
addq $0xb8, %rdi
leaq 0x238(%rsp), %rsi
movq %rsi, 0x40(%rsp)
callq 0x70660
movq 0x40(%rsp), %rdi
callq 0x56a10
leaq 0x1ff(%rsp), %rdi
callq 0x59200
movq 0x50(%rsp), %rsi
leaq 0x1c8(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x70340
movq 0x58(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x70690
jmp 0x70143
movq 0x60(%rsp), %rdi
addq $0x78, %rdi
leaq 0x1eb(%rsp), %rsi
callq 0x706a0
leaq 0x1c8(%rsp), %rdi
callq 0x6a1c0
leaq 0x1a0(%rsp), %rdi
callq 0x6b8f0
movq 0x60(%rsp), %rax
movq 0x50(%rsp), %rsi
movq %rax, 0x30(%rsp)
leaq 0x70(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x70340
movq 0x58(%rsp), %rsi
movq 0x38(%rsp), %rdx
leaq 0x90(%rsp), %rdi
callq 0x706f0
jmp 0x701aa
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x70780
jmp 0x701c1
movq 0x60(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x4a210
movq %rax, 0x28(%rsp)
jmp 0x701da
movq 0x28(%rsp), %rsi
leaq 0xd0(%rsp), %rdi
callq 0x703f0
jmp 0x701ee
movq 0x30(%rsp), %rsi
movq 0x58(%rsp), %rdi
movups 0x1a0(%rsp), %xmm0
movups 0x1b0(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0xd0(%rsp), %rdx
movl $0x1, %ecx
callq 0x4a7f0
jmp 0x70226
leaq 0xd0(%rsp), %rdi
callq 0x70530
leaq 0xb0(%rsp), %rdi
callq 0x70000
leaq 0x90(%rsp), %rdi
callq 0x70830
leaq 0x70(%rsp), %rdi
callq 0x6a1c0
addq $0x288, %rsp            # imm = 0x288
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
leaq 0x1ff(%rsp), %rdi
callq 0x59200
jmp 0x70332
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
leaq 0x1c8(%rsp), %rdi
callq 0x6a1c0
jmp 0x70332
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0x70328
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0x7031b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
jmp 0x7030e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1f0(%rsp)
movl %eax, 0x1ec(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x70530
leaq 0xb0(%rsp), %rdi
callq 0x70000
leaq 0x90(%rsp), %rdi
callq 0x70830
leaq 0x70(%rsp), %rdi
callq 0x6a1c0
movq 0x1f0(%rsp), %rdi
callq 0x133f0
nop