// File: /workspace/github_c_makefile_star2_O1/qq-smart[P]qq_sh_server/core/qq_json.c
// Function: parse_value
static const char *parse_value(cJSON *item,const char *value)
{
	if (!value)						return 0;	/* Fail on null. */
	if (!strncmp(value,"null",4))	{ item->type=cJSON_NULL;  return value+4; }
	if (!strncmp(value,"false",5))	{ item->type=cJSON_False; return value+5; }
	if (!strncmp(value,"true",4))	{ item->type=cJSON_True; item->valueint=1;	return value+4; }
	if (*value=='\"')				{ return parse_string(item,value); }
	if (*value=='-' || (*value>='0' && *value<='9'))	{ return parse_number(item,value); }
	if (*value=='[')				{ return parse_array(item,value); }
	if (*value=='{')				{ return parse_object(item,value); }

	ep=value;return 0;	/* failure. */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
testq %rsi, %rsi
je 0x42eb
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x68dd(%rip), %rsi      # 0xa981
movl $0x4, %edx
movq %r14, %rdi
callq 0x2110
testl %eax, %eax
je 0x4106
leaq 0x68ca(%rip), %rsi      # 0xa986
movl $0x5, %edx
movq %r14, %rdi
callq 0x2110
testl %eax, %eax
je 0x410f
leaq 0x68b8(%rip), %rsi      # 0xa98c
movl $0x4, %edx
movq %r14, %rdi
callq 0x2110
testl %eax, %eax
je 0x411f
movzbl (%r14), %eax
cmpl $0x2d, %eax
je 0x413f
cmpl $0x22, %eax
jne 0x4133
movq %rbx, %rdi
movq %r14, %rsi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x519d
movl $0x2, 0x18(%rbx)
jmp 0x412a
movl $0x0, 0x18(%rbx)
addq $0x5, %r14
jmp 0x42ee
movl $0x1, %eax
movl %eax, 0x18(%rbx)
movl %eax, 0x28(%rbx)
addq $0x4, %r14
jmp 0x42ee
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x422b
xorl %ecx, %ecx
cmpl $0x2d, %eax
sete %cl
leaq (%r14,%rcx), %rdx
xorl %esi, %esi
cmpb $0x30, (%r14,%rcx)
sete %sil
leaq (%rdx,%rsi), %rcx
movb (%rsi,%rdx), %dl
addb $-0x31, %dl
xorpd %xmm1, %xmm1
cmpb $0x8, %dl
ja 0x419e
xorpd %xmm4, %xmm4
movsd 0x66f3(%rip), %xmm0     # 0xa868
leaq 0x1(%rcx), %r14
movsbl (%rcx), %edx
addl $-0x30, %edx
xorps %xmm2, %xmm2
cvtsi2sd %edx, %xmm2
mulsd %xmm0, %xmm4
addsd %xmm2, %xmm4
movb 0x1(%rcx), %dl
addb $-0x30, %dl
movq %r14, %rcx
cmpb $0xa, %dl
jb 0x4175
jmp 0x41a5
movq %rcx, %r14
xorpd %xmm4, %xmm4
cmpb $0x2e, (%r14)
jne 0x41fc
movb 0x1(%r14), %cl
addb $-0x30, %cl
cmpb $0x9, %cl
ja 0x41fc
incq %r14
xorpd %xmm1, %xmm1
movsd 0x66a2(%rip), %xmm0     # 0xa868
movsd 0x66a2(%rip), %xmm2     # 0xa870
movq %r14, %rcx
movsbl (%rcx), %edx
addl $-0x30, %edx
xorps %xmm3, %xmm3
cvtsi2sd %edx, %xmm3
leaq 0x1(%rcx), %r14
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
addsd %xmm2, %xmm1
movb 0x1(%rcx), %dl
addb $-0x30, %dl
movq %r14, %rcx
cmpb $0xa, %dl
jb 0x41d1
movzbl (%r14), %edx
xorl %ecx, %ecx
orl $0x20, %edx
cmpl $0x65, %edx
jne 0x4224
movzbl 0x1(%r14), %esi
cmpl $0x2d, %esi
je 0x4250
movl $0x1, %edx
cmpl $0x2b, %esi
jne 0x425b
addq $0x2, %r14
jmp 0x425e
movl $0x1, %edx
jmp 0x428a
cmpl $0x7b, %eax
je 0x42d1
cmpl $0x5b, %eax
jne 0x42e4
movq %rbx, %rdi
movq %r14, %rsi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x53ea
addq $0x2, %r14
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
jmp 0x425e
incq %r14
movb (%r14), %sil
leal -0x30(%rsi), %edi
cmpb $0x9, %dil
ja 0x428a
xorl %ecx, %ecx
leal (%rcx,%rcx,4), %ecx
addb $-0x30, %sil
movzbl %sil, %esi
leal (%rsi,%rcx,2), %ecx
movb 0x1(%r14), %sil
incq %r14
leal -0x30(%rsi), %edi
cmpb $0xa, %dil
jb 0x426c
cmpl $0x2d, %eax
jne 0x4297
xorpd 0x6619(%rip), %xmm4     # 0xa8b0
movapd %xmm4, -0x20(%rbp)
imull %ecx, %edx
xorps %xmm0, %xmm0
cvtsi2sd %edx, %xmm0
addsd %xmm0, %xmm1
movsd 0x65b6(%rip), %xmm0     # 0xa868
callq 0x22e0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, 0x30(%rbx)
cvttsd2si %xmm0, %eax
movl %eax, 0x28(%rbx)
movl $0x3, 0x18(%rbx)
jmp 0x42ee
movq %rbx, %rdi
movq %r14, %rsi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x553f
movq %r14, 0xb045(%rip)      # 0xf330
xorl %r14d, %r14d
movq %r14, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq