// File: cqbqdd11519[P]DockerClient/rapidjson/include/rapidjson/reader.h
// Function: void rapidjson::GenericReader<rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator>::ParseObject<0u, rapidjson::GenericStringStream<rapidjson::UTF8<char>>, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>>(rapidjson::GenericStringStream<rapidjson::UTF8<char>>&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>&)
void ParseObject(InputStream& is, Handler& handler) {
        RAPIDJSON_ASSERT(is.Peek() == '{');
        is.Take();  // Skip '{'

        if (RAPIDJSON_UNLIKELY(!handler.StartObject()))
            RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());

        SkipWhitespaceAndComments<parseFlags>(is);
        RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;

        if (Consume(is, '}')) {
            if (RAPIDJSON_UNLIKELY(!handler.EndObject(0)))  // empty object
                RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
            return;
        }

        for (SizeType memberCount = 0;;) {
            if (RAPIDJSON_UNLIKELY(is.Peek() != '"'))
                RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell());

            ParseString<parseFlags>(is, handler, true);
            RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;

            SkipWhitespaceAndComments<parseFlags>(is);
            RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;

            if (RAPIDJSON_UNLIKELY(!Consume(is, ':')))
                RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell());

            SkipWhitespaceAndComments<parseFlags>(is);
            RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;

            ParseValue<parseFlags>(is, handler);
            RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;

            SkipWhitespaceAndComments<parseFlags>(is);
            RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;

            ++memberCount;

            switch (is.Peek()) {
                case ',':
                    is.Take();
                    SkipWhitespaceAndComments<parseFlags>(is);
                    RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID;
                    break;
                case '}':
                    is.Take();
                    if (RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount)))
                        RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
                    return;
                default:
                    RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); break; // This useless break is only for making warning and coverage happy
            }

            if (parseFlags & kParseTrailingCommasFlag) {
                if (is.Peek() == '}') {
                    if (RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount)))
                        RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell());
                    is.Take();
                    return;
                }
            }
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0xebe0
movsbl %al, %eax
cmpl $0x7b, %eax
jne 0x19dff
jmp 0x19e1e
leaq 0x661a(%rip), %rdi      # 0x20420
leaq 0x598d(%rip), %rsi      # 0x1f79a
movl $0x2e4, %edx            # imm = 0x2E4
leaq 0x6618(%rip), %rcx      # 0x20431
callq 0xe600
movq -0x10(%rbp), %rdi
callq 0xee40
movq -0x18(%rbp), %rdi
callq 0xe040
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x19e3c
jmp 0x19eac
jmp 0x19e3e
jmp 0x19e40
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
testb $0x1, %al
jne 0x19e51
jmp 0x19e53
jmp 0x19e72
leaq 0x592f(%rip), %rdi      # 0x1f789
leaq 0x5939(%rip), %rsi      # 0x1f79a
movl $0x2e8, %edx            # imm = 0x2E8
leaq 0x65c4(%rip), %rcx      # 0x20431
callq 0xe600
movq -0x10(%rbp), %rdi
callq 0xf330
movq -0x28(%rbp), %rdi
movq %rax, %rdx
movl $0x10, %esi
callq 0xe410
jmp 0x19e8e
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x19ea1
jmp 0x19ea6
jmp 0x1a2c5
jmp 0x19ea8
jmp 0x19eaa
jmp 0x19eac
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xeaa0
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x19ecc
jmp 0x19ed1
jmp 0x1a2c5
jmp 0x19ed3
movq -0x10(%rbp), %rdi
movl $0x7d, %esi
callq 0xe210
testb $0x1, %al
jne 0x19eea
jmp 0x19f76
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0xf2a0
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x19f01
jmp 0x19f71
jmp 0x19f03
jmp 0x19f05
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
testb $0x1, %al
jne 0x19f16
jmp 0x19f18
jmp 0x19f37
leaq 0x586a(%rip), %rdi      # 0x1f789
leaq 0x5874(%rip), %rsi      # 0x1f79a
movl $0x2ef, %edx            # imm = 0x2EF
leaq 0x64ff(%rip), %rcx      # 0x20431
callq 0xe600
movq -0x10(%rbp), %rdi
callq 0xf330
movq -0x28(%rbp), %rdi
movq %rax, %rdx
movl $0x10, %esi
callq 0xe410
jmp 0x19f53
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x19f66
jmp 0x19f6b
jmp 0x1a2c5
jmp 0x19f6d
jmp 0x19f6f
jmp 0x19f71
jmp 0x1a2c5
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0xebe0
movsbl %al, %eax
cmpl $0x22, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x19f99
jmp 0x1a009
jmp 0x19f9b
jmp 0x19f9d
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
testb $0x1, %al
jne 0x19fae
jmp 0x19fb0
jmp 0x19fcf
leaq 0x57d2(%rip), %rdi      # 0x1f789
leaq 0x57dc(%rip), %rsi      # 0x1f79a
movl $0x2f5, %edx            # imm = 0x2F5
leaq 0x6467(%rip), %rcx      # 0x20431
callq 0xe600
movq -0x10(%rbp), %rdi
callq 0xf330
movq -0x28(%rbp), %rdi
movq %rax, %rdx
movl $0x4, %esi
callq 0xe410
jmp 0x19feb
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x19ffe
jmp 0x1a003
jmp 0x1a2c5
jmp 0x1a005
jmp 0x1a007
jmp 0x1a009
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl $0x1, %ecx
callq 0xee20
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a032
jmp 0x1a037
jmp 0x1a2c5
jmp 0x1a039
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xeaa0
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a059
jmp 0x1a05e
jmp 0x1a2c5
jmp 0x1a060
movq -0x10(%rbp), %rdi
movl $0x3a, %esi
callq 0xe210
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a07a
jmp 0x1a0ea
jmp 0x1a07c
jmp 0x1a07e
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a08f
jmp 0x1a091
jmp 0x1a0b0
leaq 0x56f1(%rip), %rdi      # 0x1f789
leaq 0x56fb(%rip), %rsi      # 0x1f79a
movl $0x2fe, %edx            # imm = 0x2FE
leaq 0x6386(%rip), %rcx      # 0x20431
callq 0xe600
movq -0x10(%rbp), %rdi
callq 0xf330
movq -0x28(%rbp), %rdi
movq %rax, %rdx
movl $0x5, %esi
callq 0xe410
jmp 0x1a0cc
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a0df
jmp 0x1a0e4
jmp 0x1a2c5
jmp 0x1a0e6
jmp 0x1a0e8
jmp 0x1a0ea
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xeaa0
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a10a
jmp 0x1a10f
jmp 0x1a2c5
jmp 0x1a111
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0xe160
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a135
jmp 0x1a13a
jmp 0x1a2c5
jmp 0x1a13c
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xeaa0
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a15c
jmp 0x1a161
jmp 0x1a2c5
jmp 0x1a163
movl -0x1c(%rbp), %eax
incl %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
callq 0xebe0
movsbl %al, %eax
movl %eax, -0x2c(%rbp)
subl $0x2c, %eax
je 0x1a18e
jmp 0x1a181
movl -0x2c(%rbp), %eax
subl $0x7d, %eax
je 0x1a1c3
jmp 0x1a253
movq -0x10(%rbp), %rdi
callq 0xee40
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xeaa0
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a1b7
jmp 0x1a1bc
jmp 0x1a2c5
jmp 0x1a1be
jmp 0x1a2c0
movq -0x10(%rbp), %rdi
callq 0xee40
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0xf2a0
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a1e4
jmp 0x1a251
jmp 0x1a1e6
jmp 0x1a1e8
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a1f9
jmp 0x1a1fb
jmp 0x1a21a
leaq 0x5587(%rip), %rdi      # 0x1f789
leaq 0x5591(%rip), %rsi      # 0x1f79a
movl $0x314, %edx            # imm = 0x314
leaq 0x621c(%rip), %rcx      # 0x20431
callq 0xe600
movq -0x10(%rbp), %rdi
callq 0xf330
movq -0x28(%rbp), %rdi
movq %rax, %rdx
movl $0x10, %esi
callq 0xe410
jmp 0x1a236
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a249
jmp 0x1a24b
jmp 0x1a2c5
jmp 0x1a24d
jmp 0x1a24f
jmp 0x1a251
jmp 0x1a2c5
jmp 0x1a255
jmp 0x1a257
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a268
jmp 0x1a26a
jmp 0x1a289
leaq 0x5518(%rip), %rdi      # 0x1f789
leaq 0x5522(%rip), %rsi      # 0x1f79a
movl $0x317, %edx            # imm = 0x317
leaq 0x61ad(%rip), %rcx      # 0x20431
callq 0xe600
movq -0x10(%rbp), %rdi
callq 0xf330
movq -0x28(%rbp), %rdi
movq %rax, %rdx
movl $0x6, %esi
callq 0xe410
jmp 0x1a2a5
movq -0x28(%rbp), %rdi
callq 0xeb20
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1a2b8
jmp 0x1a2ba
jmp 0x1a2c5
jmp 0x1a2bc
jmp 0x1a2be
jmp 0x1a2c0
jmp 0x19f7d
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)