// File: /workspace/github_c_makefile_star2_O1/qq-smart[P]qq_sh_server/core/qq_json.c
// Function: parse_object
static const char *parse_object(cJSON *item,const char *value)
{
	cJSON *child;
	if (*value!='{')	{ep=value;return 0;}	/* not an object! */
	
	item->type=cJSON_Object;
	value=skip(value+1);
	if (*value=='}') return value+1;	/* empty array. */
	
	item->child=child=cJSON_New_Item();
	if (!item->child) return 0;
	value=skip(parse_string(child,skip(value)));
	if (!value) return 0;
	child->string=child->valuestring;child->valuestring=0;
	if (*value!=':') {ep=value;return 0;}	/* fail! */
	value=skip(parse_value(child,skip(value+1)));	/* skip any spacing, get the value. */
	if (!value) return 0;
	
	while (*value==',')
	{
		cJSON *new_item;
		if (!(new_item=cJSON_New_Item()))	return 0; /* memory fail */
		child->next=new_item;new_item->prev=child;child=new_item;
		value=skip(parse_string(child,skip(value+1)));
		if (!value) return 0;
		child->string=child->valuestring;child->valuestring=0;
		if (*value!=':') {ep=value;return 0;}	/* fail! */
		value=skip(parse_value(child,skip(value+1)));	/* skip any spacing, get the value. */
		if (!value) return 0;
	}
	
	if (*value=='}') return value+1;	/* end of array */
	ep=value;return 0;	/* malformed. */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %rbx
cmpb $0x7b, (%rsi)
jne 0x571b
movq %rdi, %r14
movl $0x6, 0x18(%rdi)
incq %rbx
movb (%rbx), %al
leal -0x1(%rax), %ecx
incq %rbx
cmpb $0x20, %cl
jb 0x5563
cmpb $0x7d, %al
je 0x5724
movl $0x40, %edi
callq *0x9c35(%rip)           # 0xf1b8
movq %rax, %r15
testq %rax, %rax
je 0x5730
addq $-0x2, %rbx
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%r15)
movups %xmm0, 0x20(%r15)
movups %xmm0, 0x10(%r15)
movups %xmm0, (%r15)
movq %r15, 0x10(%r14)
movb 0x1(%rbx), %al
incq %rbx
decb %al
cmpb $0x20, %al
jb 0x55ad
movq %r15, %rdi
movq %rbx, %rsi
callq 0x519d
testq %rax, %rax
je 0x55d9
decq %rax
movb 0x1(%rax), %cl
incq %rax
decb %cl
cmpb $0x20, %cl
jb 0x55cc
testq %rax, %rax
je 0x5722
movq 0x20(%r15), %rcx
movq %rcx, 0x38(%r15)
movq $0x0, 0x20(%r15)
cmpb $0x3a, (%rax)
jne 0x5736
movb 0x1(%rax), %cl
incq %rax
decb %cl
cmpb $0x20, %cl
jb 0x55fb
movq %r15, %rdi
movq %rax, %rsi
callq 0x4083
movq %rax, %r14
testq %rax, %rax
je 0x562b
decq %r14
movb 0x1(%r14), %al
incq %r14
decb %al
cmpb $0x20, %al
jb 0x561e
testq %r14, %r14
je 0x5722
xorl %ebx, %ebx
movzbl (%r14), %eax
cmpl $0x2c, %eax
jne 0x573f
movl $0x40, %edi
callq *0x9b6a(%rip)           # 0xf1b8
testq %rax, %rax
je 0x56f9
movq %rax, %r12
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
movq %rax, (%r15)
movq %r15, 0x8(%rax)
movb 0x1(%r14), %al
incq %r14
decb %al
cmpb $0x20, %al
jb 0x5673
movq %r12, %rdi
movq %r14, %rsi
callq 0x519d
movq %rax, %r14
testq %rax, %rax
je 0x56a3
decq %r14
movb 0x1(%r14), %al
incq %r14
decb %al
cmpb $0x20, %al
jb 0x5696
testq %r14, %r14
je 0x5700
movq 0x20(%r12), %rax
movq %rax, 0x38(%r12)
movq $0x0, 0x20(%r12)
cmpb $0x3a, (%r14)
jne 0x5705
movb 0x1(%r14), %al
incq %r14
decb %al
cmpb $0x20, %al
jb 0x56c1
movq %r12, %rdi
movq %r14, %rsi
callq 0x4083
movq %rax, %r14
testq %rax, %rax
je 0x56f1
decq %r14
movb 0x1(%r14), %al
incq %r14
decb %al
cmpb $0x20, %al
jb 0x56e4
testq %r14, %r14
setne %al
jmp 0x570e
xorl %eax, %eax
movq %r15, %r12
jmp 0x570e
xorl %r14d, %r14d
jmp 0x570c
movq %r14, 0x9c24(%rip)      # 0xf330
xorl %eax, %eax
movq %r12, %r15
testb %al, %al
jne 0x5636
jmp 0x5724
movq %rbx, 0x9c0e(%rip)      # 0xf330
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %r15, 0x10(%r14)
jmp 0x5722
movq %rax, 0x9bf3(%rip)      # 0xf330
jmp 0x5722
cmpl $0x7d, %eax
jne 0x574c
incq %r14
movq %r14, %rbx
jmp 0x5724
movq %r14, 0x9bdd(%rip)      # 0xf330
jmp 0x5722