// File: Heptagon196[P]Gos/Reflection/ReflMgr.cpp
// Function: std::vector<MethodInfo, std::allocator<MethodInfo>>* ReflMgr::SafeGet<std::vector<MethodInfo, std::allocator<MethodInfo>>>(std::unordered_map<TypeID, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<MethodInfo, std::allocator<MethodInfo>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<MethodInfo, std::allocator<MethodInfo>>>>>, std::hash<TypeID>, TypeIDHashEqual, std::allocator<std::pair<TypeID const, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<MethodInfo, std::allocator<MethodInfo>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<MethodInfo, std::allocator<MethodInfo>>>>>>>>&, TypeID, std::basic_string_view<char, std::char_traits<char>>)
T* ReflMgr::SafeGet(TypeIDMap<std::unordered_map<std::string, T>>& info, TypeID id, std::string_view name) {
    auto* lst = SafeGetList(info, id);
    if (lst == nullptr) {
        return nullptr;
    }
    if (lst->find(std::string{name}) == lst->end()) {
        return nullptr;
    }
    return &(*lst)[std::string{name}];
}

// Assembly:
subq $0x118, %rsp            # imm = 0x118
leaq 0x120(%rsp), %rax
movq %rdx, 0x100(%rsp)
movq %rcx, 0x108(%rsp)
movq %rdi, 0xf8(%rsp)
movq %rsi, 0xf0(%rsp)
movq 0xf8(%rsp), %rdi
movq 0xf0(%rsp), %rsi
movq (%rax), %rcx
movq %rcx, 0xc8(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0xd0(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0xd8(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0xe0(%rsp)
leaq 0xc8(%rsp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
callq 0x190040
movq %rax, 0xe8(%rsp)
cmpq $0x0, 0xe8(%rsp)
jne 0x190361
movq $0x0, 0x110(%rsp)
jmp 0x19051c
movq 0xe8(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x9f(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x13570
movq 0x50(%rsp), %rdx
leaq 0xa0(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x52e80
jmp 0x19039c
movq 0x48(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x190560
movq %rax, 0x40(%rsp)
jmp 0x1903b5
movq 0x40(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x190590
movq %rax, 0x80(%rsp)
leaq 0xc0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x190540
movb %al, 0x3f(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0x52f50
leaq 0x9f(%rsp), %rdi
callq 0x136a0
movb 0x3f(%rsp), %al
testb $0x1, %al
jne 0x190414
jmp 0x19046e
movq $0x0, 0x110(%rsp)
jmp 0x19051c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x19045c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0x52f50
leaq 0x9f(%rsp), %rdi
callq 0x136a0
jmp 0x19052c
movq 0xe8(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x13570
movq 0x30(%rsp), %rdx
leaq 0x60(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x52e80
jmp 0x1904a3
movq 0x28(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x1905c0
movq %rax, 0x20(%rsp)
jmp 0x1904b9
movq 0x20(%rsp), %rax
movq %rax, 0x110(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x52f50
leaq 0x5f(%rsp), %rdi
callq 0x136a0
jmp 0x19051c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x190510
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x52f50
leaq 0x5f(%rsp), %rdi
callq 0x136a0
jmp 0x19052c
movq 0x110(%rsp), %rax
addq $0x118, %rsp            # imm = 0x118
retq
movq 0x90(%rsp), %rdi
callq 0x133f0
nopl (%rax)