// 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
BasicJsonType& get_unchecked(BasicJsonType* ptr) const
    {
        for (const auto& reference_token : reference_tokens)
        {
            // convert null values to arrays or objects before continuing
            if (ptr->is_null())
            {
                // check if reference token is a number
                const bool nums =
                    std::all_of(reference_token.begin(), reference_token.end(),
                                [](const unsigned char x)
                {
                    return std::isdigit(x);
                });

                // change value to array for numbers or "-" or to object otherwise
                *ptr = (nums || reference_token == "-")
                       ? detail::value_t::array
                       : detail::value_t::object;
            }

            switch (ptr->type())
            {
                case detail::value_t::object:
                {
                    // use unchecked object access
                    ptr = &ptr->operator[](reference_token);
                    break;
                }

                case detail::value_t::array:
                {
                    if (reference_token == "-")
                    {
                        // explicitly treat "-" as index beyond the end
                        ptr = &ptr->operator[](ptr->m_value.array->size());
                    }
                    else
                    {
                        // convert array index to number; unchecked 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 $0xd0, %rsp
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 0x6dd2b
jmp 0x6df93
leaq -0x20(%rbp), %rdi
callq 0x22480
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x6a560
testb $0x1, %al
jne 0x6dd4a
jmp 0x6dde9
movq -0x30(%rbp), %rdi
callq 0xb530
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rdi
callq 0xbaf0
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x6dfb0
andb $0x1, %al
movb %al, -0x31(%rbp)
movb $0x1, %al
testb $0x1, -0x31(%rbp)
movb %al, -0xae(%rbp)
jne 0x6dd9a
movq -0x30(%rbp), %rdi
leaq 0x548c6(%rip), %rsi     # 0xc2655
callq 0x10d10
movb %al, -0xae(%rbp)
movb -0xae(%rbp), %cl
movb $0x2, %al
movb $0x1, %dl
movb %dl, -0xb0(%rbp)
testb $0x1, %cl
movb %al, -0xaf(%rbp)
jne 0x6ddc1
movb -0xb0(%rbp), %al
movb %al, -0xaf(%rbp)
movb -0xaf(%rbp), %al
leaq -0x60(%rbp), %rdi
movzbl %al, %esi
callq 0x457f0
movq -0x10(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x12800
leaq -0x60(%rbp), %rdi
callq 0x12460
movq -0x10(%rbp), %rdi
callq 0x6cfe0
movb %al, %cl
movb %cl, -0xb1(%rbp)
subb $0x1, %al
je 0x6de0f
jmp 0x6de00
movb -0xb1(%rbp), %al
subb $0x2, %al
je 0x6de25
jmp 0x6de94
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x126a0
movq %rax, -0x10(%rbp)
jmp 0x6df83
movq -0x30(%rbp), %rdi
leaq 0x54825(%rip), %rsi     # 0xc2655
callq 0x10d10
testb $0x1, %al
jne 0x6de3b
jmp 0x6de68
movq -0x10(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x4b020
movq -0xc0(%rbp), %rdi
movq %rax, %rsi
callq 0x6e000
movq %rax, -0x10(%rbp)
jmp 0x6de8f
movq -0x10(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x30(%rbp), %rdi
callq 0x6d290
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
callq 0x6e000
movq %rax, -0x10(%rbp)
jmp 0x6df83
movb $0x1, -0xad(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0xd0(%rbp)
movq -0x30(%rbp), %rdx
leaq 0x586a9(%rip), %rsi     # 0xc6560
leaq -0xa0(%rbp), %rdi
callq 0x1ce80
jmp 0x6dec5
leaq 0x573e4(%rip), %rdx     # 0xc52b0
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x1fa80
jmp 0x6dede
movq -0xd0(%rbp), %rdi
movl $0x194, %esi            # imm = 0x194
leaq -0x80(%rbp), %rdx
callq 0x49da0
jmp 0x6def5
movq -0xd0(%rbp), %rdi
movb $0x0, -0xad(%rbp)
leaq 0xadeae(%rip), %rsi     # 0x11bdb8
leaq -0x24021(%rip), %rdx    # 0x49ef0
callq 0xb9f0
jmp 0x6dfac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x6df6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
jmp 0x6df5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa8(%rbp)
movl %eax, -0xac(%rbp)
leaq -0x80(%rbp), %rdi
callq 0xbb98
leaq -0xa0(%rbp), %rdi
callq 0xbb98
testb $0x1, -0xad(%rbp)
jne 0x6df75
jmp 0x6df81
movq -0xd0(%rbp), %rdi
callq 0xb460
jmp 0x6dfa0
jmp 0x6df85
leaq -0x20(%rbp), %rdi
callq 0x224a0
jmp 0x6dd15
movq -0x10(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
movq -0xa8(%rbp), %rdi
callq 0xba60
nopl (%rax)