// File: Falldog[P]dcinja/src/include/nlohmann/json.hpp
// 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, std::vector<unsigned char, std::allocator<unsigned char>>>>::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, std::vector<unsigned char, std::allocator<unsigned char>>>> const&) const
bool operator<(const iter_impl& other) const
    {
        // if objects are not the same, the comparison is undefined
        if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
        {
            JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers"));
        }

        JSON_ASSERT(m_object != nullptr);

        switch (m_object->m_type)
        {
            case value_t::object:
                JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators"));

            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 $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x7cf38
jmp 0x7cff5
movb $0x1, -0x4d(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0xa0(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0xba70
movq -0x98(%rbp), %rdx
leaq 0x49947(%rip), %rsi     # 0xc68b2
leaq -0x38(%rbp), %rdi
callq 0x10b90
jmp 0x7cf76
movq -0xa0(%rbp), %rdi
movl $0xd4, %esi
leaq -0x38(%rbp), %rdx
callq 0x50110
jmp 0x7cf8d
movq -0xa0(%rbp), %rdi
movb $0x0, -0x4d(%rbp)
leaq 0x9ee31(%rip), %rsi     # 0x11bdd0
leaq -0x2cd46(%rip), %rdx    # 0x50260
callq 0xb9f0
jmp 0x7d179
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7cfd3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xbb98
leaq -0x39(%rbp), %rdi
callq 0xb600
testb $0x1, -0x4d(%rbp)
jne 0x7cfe4
jmp 0x7cff0
movq -0xa0(%rbp), %rdi
callq 0xb460
jmp 0x7d170
movq -0x90(%rbp), %rax
cmpq $0x0, (%rax)
je 0x7d004
jmp 0x7d023
leaq 0x478de(%rip), %rdi     # 0xc48e9
leaq 0x4595b(%rip), %rsi     # 0xc296d
movl $0x2bc9, %edx           # imm = 0x2BC9
leaq 0x4a216(%rip), %rcx     # 0xc7234
callq 0xb410
movq -0x90(%rbp), %rax
movq (%rax), %rax
movb (%rax), %al
movb %al, -0xa1(%rbp)
subb $0x1, %al
je 0x7d04e
jmp 0x7d03b
movb -0xa1(%rbp), %al
subb $0x2, %al
je 0x7d108
jmp 0x7d12f
movb $0x1, -0x72(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0xb8(%rbp)
leaq -0x71(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0xba70
movq -0xb0(%rbp), %rdx
leaq 0x4a248(%rip), %rsi     # 0xc72c9
leaq -0x70(%rbp), %rdi
callq 0x10b90
jmp 0x7d08c
movq -0xb8(%rbp), %rdi
movl $0xd5, %esi
leaq -0x70(%rbp), %rdx
callq 0x50110
jmp 0x7d0a3
movq -0xb8(%rbp), %rdi
movb $0x0, -0x72(%rbp)
leaq 0x9ed1b(%rip), %rsi     # 0x11bdd0
leaq -0x2ce5c(%rip), %rdx    # 0x50260
callq 0xb9f0
jmp 0x7d179
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7d0e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0xbb98
leaq -0x71(%rbp), %rdi
callq 0xb600
testb $0x1, -0x72(%rbp)
jne 0x7d0fa
jmp 0x7d106
movq -0xb8(%rbp), %rdi
callq 0xb460
jmp 0x7d170
movq -0x90(%rbp), %rdi
addq $0x8, %rdi
addq $0x8, %rdi
movq -0x18(%rbp), %rsi
addq $0x8, %rsi
addq $0x8, %rsi
callq 0x7de10
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x7d162
movq -0x90(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x7de50
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xc0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0xba60
nopl (%rax)