// File: Falldog[P]dcinja/src/include/nlohmann/json.hpp
// Function: nlohmann::json_pointer<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char>>>>::get_unchecked(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char>>> const*) const
const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const
    {
        for (const auto& reference_token : reference_tokens)
        {
            switch (ptr->type())
            {
                case detail::value_t::object:
                {
                    // use unchecked object access
                    ptr = &ptr->operator[](reference_token);
                    break;
                }

                case detail::value_t::array:
                {
                    if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
                    {
                        // "-" cannot be used for const access
                        JSON_THROW(detail::out_of_range::create(402,
                                                                "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
                                                                ") is out of range"));
                    }

                    // use unchecked array access
                    ptr = &ptr->operator[](array_index(reference_token));
                    break;
                }

                default:
                    JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'"));
            }
        }

        return *ptr;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x22030
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x22060
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x22410
testb $0x1, %al
jne 0x6f5cb
jmp 0x6f88f
leaq -0x20(%rbp), %rdi
callq 0x22480
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x6cfe0
movb %al, %cl
movb %cl, -0xe2(%rbp)
subb $0x1, %al
je 0x6f5fe
jmp 0x6f5ef
movb -0xe2(%rbp), %al
subb $0x2, %al
je 0x6f614
jmp 0x6f787
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x6d060
movq %rax, -0x10(%rbp)
jmp 0x6f87f
movq -0x30(%rbp), %rdi
leaq 0x53036(%rip), %rsi     # 0xc2655
callq 0x10d10
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6f631
jmp 0x6f75b
movb $0x1, -0x9d(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0xf0(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x4b020
movq %rax, %rsi
leaq -0x90(%rbp), %rdi
callq 0x38e90
jmp 0x6f667
leaq 0x56f81(%rip), %rsi     # 0xc65ef
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x34d50
jmp 0x6f680
leaq 0x56f7a(%rip), %rdx     # 0xc6601
leaq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x1fa80
jmp 0x6f696
movq -0xf0(%rbp), %rdi
movl $0x192, %esi            # imm = 0x192
leaq -0x50(%rbp), %rdx
callq 0x49da0
jmp 0x6f6ad
movq -0xf0(%rbp), %rdi
movb $0x0, -0x9d(%rbp)
leaq 0xac6f6(%rip), %rsi     # 0x11bdb8
leaq -0x257d9(%rip), %rdx    # 0x49ef0
callq 0xb9f0
jmp 0x6f8a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x6f73f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x6f733
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x6f72a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0xbb98
leaq -0x70(%rbp), %rdi
callq 0xbb98
leaq -0x90(%rbp), %rdi
callq 0xbb98
testb $0x1, -0x9d(%rbp)
jne 0x6f74a
jmp 0x6f756
movq -0xf0(%rbp), %rdi
callq 0xb460
jmp 0x6f89c
movq -0x10(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x30(%rbp), %rdi
callq 0x6d290
movq -0xf8(%rbp), %rdi
movq %rax, %rsi
callq 0x6d8c0
movq %rax, -0x10(%rbp)
jmp 0x6f87f
movb $0x1, -0xe1(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0x100(%rbp)
movq -0x30(%rbp), %rdx
leaq 0x56db6(%rip), %rsi     # 0xc6560
leaq -0xe0(%rbp), %rdi
callq 0x1ce80
jmp 0x6f7b8
leaq 0x55af1(%rip), %rdx     # 0xc52b0
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x1fa80
jmp 0x6f7d4
movq -0x100(%rbp), %rdi
movl $0x194, %esi            # imm = 0x194
leaq -0xc0(%rbp), %rdx
callq 0x49da0
jmp 0x6f7ee
movq -0x100(%rbp), %rdi
movb $0x0, -0xe1(%rbp)
leaq 0xac5b5(%rip), %rsi     # 0x11bdb8
leaq -0x2591a(%rip), %rdx    # 0x49ef0
callq 0xb9f0
jmp 0x6f8a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x6f866
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x6f85a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0xbb98
leaq -0xe0(%rbp), %rdi
callq 0xbb98
testb $0x1, -0xe1(%rbp)
jne 0x6f871
jmp 0x6f87d
movq -0x100(%rbp), %rdi
callq 0xb460
jmp 0x6f89c
jmp 0x6f881
leaq -0x20(%rbp), %rdi
callq 0x224a0
jmp 0x6f5b5
movq -0x10(%rbp), %rax
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0xba60
nopl (%rax,%rax)