// File: king1600[P]cordpp/./include/json.h
// Function: nlohmann::detail::iter_impl<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>>::operator==(nlohmann::detail::iter_impl<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>> const&) const
bool operator==(const iter_impl& other) const
    {
        // if objects are not the same, the comparison is undefined
        if (JSON_UNLIKELY(m_object != other.m_object))
        {
            JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
        }

        assert(m_object != nullptr);

        switch (m_object->m_type)
        {
            case value_t::object:
                return (m_it.object_iterator == other.m_it.object_iterator);

            case value_t::array:
                return (m_it.array_iterator == other.m_it.array_iterator);

            default:
                return (m_it.primitive_iterator == other.m_it.primitive_iterator);
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x4be65
jmp 0x4bf10
movb $0x1, -0x4d(%rbp)
movl $0x20, %edi
callq 0xc560
movq %rax, -0x78(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0xcc80
movq -0x70(%rbp), %rdx
leaq 0x47240(%rip), %rsi     # 0x930cf
leaq -0x38(%rbp), %rdi
callq 0x107e0
jmp 0x4be9a
movq -0x78(%rbp), %rdi
movl $0xd4, %esi
leaq -0x38(%rbp), %rdx
callq 0x4bfe0
jmp 0x4beae
movq -0x78(%rbp), %rdi
movb $0x0, -0x4d(%rbp)
leaq 0x8f7d3(%rip), %rsi     # 0xdb690
leaq 0x26c(%rip), %rdx       # 0x4c130
callq 0xc890
jmp 0x4bfd7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4bef1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xcfb8
leaq -0x39(%rbp), %rdi
callq 0xcfa0
testb $0x1, -0x4d(%rbp)
jne 0x4bf02
jmp 0x4bf0b
movq -0x78(%rbp), %rdi
callq 0xcb30
jmp 0x4bfce
movq -0x68(%rbp), %rax
cmpq $0x0, (%rax)
je 0x4bf1c
jmp 0x4bf3b
leaq 0x471dd(%rip), %rdi     # 0x93100
leaq 0x4371f(%rip), %rsi     # 0x8f649
movl $0xf17, %edx            # imm = 0xF17
leaq 0x471de(%rip), %rcx     # 0x93114
callq 0xc290
movq -0x68(%rbp), %rax
movq (%rax), %rax
movb (%rax), %al
movb %al, -0x79(%rbp)
subb $0x1, %al
je 0x4bf56
jmp 0x4bf4d
movb -0x79(%rbp), %al
subb $0x2, %al
je 0x4bf72
jmp 0x4bf96
movq -0x68(%rbp), %rdi
addq $0x8, %rdi
movq -0x18(%rbp), %rsi
addq $0x8, %rsi
callq 0x1fba0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4bfc0
movq -0x68(%rbp), %rdi
addq $0x8, %rdi
addq $0x8, %rdi
movq -0x18(%rbp), %rsi
addq $0x8, %rsi
addq $0x8, %rsi
callq 0x4c150
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4bfc0
movq -0x68(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x4c190
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0xc8c0
nopw (%rax,%rax)