// File: /workspace/github_c_makefile_star2_O3/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 0x430e
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x68a8(%rip), %rsi      # 0xa971
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2110
testl %eax, %eax
je 0x412a
leaq 0x6895(%rip), %rsi      # 0xa976
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2110
testl %eax, %eax
je 0x4134
leaq 0x6883(%rip), %rsi      # 0xa97c
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2110
testl %eax, %eax
je 0x4145
movzbl (%rbx), %eax
cmpl $0x2d, %eax
je 0x4167
cmpl $0x22, %eax
jne 0x415b
movq %r14, %rdi
movq %rbx, %rsi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x513c
movl $0x2, 0x18(%r14)
jmp 0x4152
movl $0x0, 0x18(%r14)
addq $0x5, %rbx
jmp 0x4310
movl $0x1, %eax
movl %eax, 0x18(%r14)
movl %eax, 0x28(%r14)
addq $0x4, %rbx
jmp 0x4310
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x4237
xorl %ecx, %ecx
cmpl $0x2d, %eax
sete %cl
leaq (%rbx,%rcx), %rdx
xorl %esi, %esi
cmpb $0x30, (%rbx,%rcx)
sete %sil
leaq (%rdx,%rsi), %rbx
movb (%rsi,%rdx), %cl
leal -0x31(%rcx), %edx
xorpd %xmm1, %xmm1
xorpd %xmm4, %xmm4
cmpb $0x8, %dl
ja 0x41bf
movsd 0x66cc(%rip), %xmm0     # 0xa868
movzbl %cl, %ecx
addl $-0x30, %ecx
xorps %xmm2, %xmm2
cvtsi2sd %ecx, %xmm2
mulsd %xmm0, %xmm4
addsd %xmm2, %xmm4
movb 0x1(%rbx), %cl
incq %rbx
leal -0x30(%rcx), %edx
cmpb $0xa, %dl
jb 0x419c
cmpb $0x2e, %cl
jne 0x4211
movb 0x1(%rbx), %cl
leal -0x30(%rcx), %edx
cmpb $0x9, %dl
ja 0x4263
incq %rbx
xorpd %xmm1, %xmm1
movsd 0x6686(%rip), %xmm0     # 0xa868
movsd 0x6686(%rip), %xmm2     # 0xa870
movzbl %cl, %ecx
addl $-0x30, %ecx
xorps %xmm3, %xmm3
cvtsi2sd %ecx, %xmm3
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
addsd %xmm2, %xmm1
movb 0x1(%rbx), %cl
incq %rbx
leal -0x30(%rcx), %edx
cmpb $0xa, %dl
jb 0x41ea
movzbl %cl, %edx
xorl %ecx, %ecx
orl $0x20, %edx
cmpl $0x65, %edx
jne 0x425c
movzbl 0x1(%rbx), %esi
cmpl $0x2d, %esi
je 0x4270
movl $0x1, %edx
cmpl $0x2b, %esi
jne 0x427b
addq $0x2, %rbx
jmp 0x427e
cmpl $0x7b, %eax
je 0x42f4
cmpl $0x5b, %eax
jne 0x4307
movq %r14, %rdi
movq %rbx, %rsi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x5357
movl $0x1, %edx
jmp 0x42aa
movl $0x1, %edx
xorl %ecx, %ecx
xorpd %xmm1, %xmm1
jmp 0x42aa
addq $0x2, %rbx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
jmp 0x427e
incq %rbx
movb (%rbx), %sil
leal -0x30(%rsi), %edi
cmpb $0x9, %dil
ja 0x42aa
xorl %ecx, %ecx
leal (%rcx,%rcx,4), %ecx
addb $-0x30, %sil
movzbl %sil, %esi
leal (%rsi,%rcx,2), %ecx
movb 0x1(%rbx), %sil
incq %rbx
leal -0x30(%rsi), %edi
cmpb $0xa, %dil
jb 0x428c
cmpl $0x2d, %eax
jne 0x42b7
xorpd 0x65f9(%rip), %xmm4     # 0xa8b0
movapd %xmm4, -0x20(%rbp)
imull %ecx, %edx
xorps %xmm0, %xmm0
cvtsi2sd %edx, %xmm0
addsd %xmm0, %xmm1
movsd 0x6596(%rip), %xmm0     # 0xa868
callq 0x22e0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, 0x30(%r14)
cvttsd2si %xmm0, %eax
movl %eax, 0x28(%r14)
movl $0x3, 0x18(%r14)
jmp 0x4310
movq %r14, %rdi
movq %rbx, %rsi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x549b
movq %rbx, 0xb022(%rip)      # 0xf330
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq