// File: Konano[P]UselessDatabase/./json.hpp
// Function: nlohmann::detail::json_sax_dom_callback_parser<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>>::parse_error(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, nlohmann::detail::exception const&)
bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
                     const detail::exception& ex)
    {
        errored = true;
        if (allow_exceptions)
        {
            // determine the proper exception type from the id
            switch ((ex.id / 100) % 100)
            {
                case 1:
                    JSON_THROW(*static_cast<const detail::parse_error*>(&ex));
                case 4:
                    JSON_THROW(*static_cast<const detail::out_of_range*>(&ex));
                // LCOV_EXCL_START
                case 2:
                    JSON_THROW(*static_cast<const detail::invalid_iterator*>(&ex));
                case 3:
                    JSON_THROW(*static_cast<const detail::type_error*>(&ex));
                case 5:
                    JSON_THROW(*static_cast<const detail::other_error*>(&ex));
                default:
                    assert(false);
                    // LCOV_EXCL_STOP
            }
        }
        return false;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movb $0x1, 0x78(%rax)
testb $0x1, 0xa0(%rax)
je 0x252de
movq -0x20(%rbp), %rax
movslq 0x8(%rax), %rax
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rax
shrq $0x3f, %rax
sarq $0x25, %rcx
addl %eax, %ecx
movslq %ecx, %rax
imulq $0x51eb851f, %rax, %rax # imm = 0x51EB851F
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rax
addl %edx, %eax
imull $0x64, %eax, %eax
notl %eax
addl %ecx, %eax
movl %eax, %ecx
movq %rcx, -0x28(%rbp)
subl $0x4, %eax
ja 0x252bf
movq -0x28(%rbp), %rax
leaq 0x597a3(%rip), %rcx     # 0x7e964
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x28, %edi
callq 0x62a0
movq %rax, %rdi
movq %rdi, -0x30(%rbp)
movq -0x20(%rbp), %rsi
callq 0x2f7a0
movq -0x30(%rbp), %rdi
leaq 0x8b871(%rip), %rsi     # 0xb0a60
leaq 0xa4a(%rip), %rdx       # 0x25c40
callq 0x6850
movl $0x20, %edi
callq 0x62a0
movq %rax, %rdi
movq %rdi, -0x38(%rbp)
movq -0x20(%rbp), %rsi
callq 0x2f7f0
movq -0x38(%rbp), %rdi
leaq 0x8b7c0(%rip), %rsi     # 0xb09e0
leaq 0x51e9(%rip), %rdx      # 0x2a410
callq 0x6850
movl $0x20, %edi
callq 0x62a0
movq %rax, %rdi
movq %rdi, -0x40(%rbp)
movq -0x20(%rbp), %rsi
callq 0x2f830
movq -0x40(%rbp), %rdi
leaq 0x8b7a7(%rip), %rsi     # 0xb09f8
leaq 0x7358(%rip), %rdx      # 0x2c5b0
callq 0x6850
movl $0x20, %edi
callq 0x62a0
movq %rax, %rdi
movq %rdi, -0x48(%rbp)
movq -0x20(%rbp), %rsi
callq 0x2f870
movq -0x48(%rbp), %rdi
leaq 0x8b6b6(%rip), %rsi     # 0xb0938
leaq -0x10099(%rip), %rdx    # 0x151f0
callq 0x6850
movl $0x20, %edi
callq 0x62a0
movq %rax, %rdi
movq %rdi, -0x50(%rbp)
movq -0x20(%rbp), %rsi
callq 0x2f8b0
movq -0x50(%rbp), %rdi
leaq 0x8b6ed(%rip), %rsi     # 0xb09a0
leaq -0xb43a(%rip), %rdx     # 0x19e80
callq 0x6850
leaq 0x5999e(%rip), %rdi     # 0x7ec64
leaq 0x59874(%rip), %rsi     # 0x7eb41
movl $0x12db, %edx           # imm = 0x12DB
leaq 0x5cf04(%rip), %rcx     # 0x821dd
callq 0x6350
xorl %eax, %eax
andb $0x1, %al
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)