// File: /workspace/github_c_makefile_star2_O2/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
testq %rsi, %rsi
je 0x4453
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x5992(%rip), %rsi      # 0x9971
pushq $0x4
popq %rdx
movq %rbx, %rdi
callq 0x2110
testl %eax, %eax
je 0x4040
leaq 0x5981(%rip), %rsi      # 0x9976
pushq $0x5
popq %rdx
movq %rbx, %rdi
callq 0x2110
testl %eax, %eax
je 0x404a
leaq 0x5971(%rip), %rsi      # 0x997c
pushq $0x4
popq %rdx
movq %rbx, %rdi
callq 0x2110
testl %eax, %eax
je 0x4058
movzbl (%rbx), %eax
cmpl $0x2d, %eax
je 0x4078
cmpl $0x22, %eax
jne 0x406c
movq %r14, %rdi
movq %rbx, %rsi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4fc2
movl $0x2, 0x18(%r14)
jmp 0x4063
andl $0x0, 0x18(%r14)
addq $0x5, %rbx
jmp 0x4455
pushq $0x1
popq %rax
movl %eax, 0x18(%r14)
movl %eax, 0x28(%r14)
addq $0x4, %rbx
jmp 0x4455
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x414e
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 0x40cd
movsd 0x57bb(%rip), %xmm0     # 0x9868
movzbl %cl, %ecx
addl $-0x30, %ecx
cvtsi2sd %ecx, %xmm2
mulsd %xmm0, %xmm4
addsd %xmm2, %xmm4
movb 0x1(%rbx), %cl
incq %rbx
leal -0x30(%rcx), %edx
cmpb $0xa, %dl
jb 0x40ad
cmpb $0x2e, %cl
jne 0x4118
movb 0x1(%rbx), %cl
leal -0x30(%rcx), %edx
xorpd %xmm1, %xmm1
cmpb $0x9, %dl
ja 0x4145
incq %rbx
movsd 0x577c(%rip), %xmm0     # 0x9868
movsd 0x577c(%rip), %xmm2     # 0x9870
movzbl %cl, %ecx
addl $-0x30, %ecx
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 0x40f4
movzbl %cl, %ecx
orl $0x20, %ecx
cmpl $0x65, %ecx
jne 0x4145
movzbl 0x1(%rbx), %edx
cmpl $0x2d, %edx
je 0x424b
pushq $0x1
popq %rcx
cmpl $0x2b, %edx
jne 0x4254
addq $0x2, %rbx
jmp 0x4257
xorpd %xmm0, %xmm0
jmp 0x427b
cmpl $0x7b, %eax
je 0x42be
cmpl $0x5b, %eax
jne 0x42e1
movl $0x5, 0x18(%r14)
incq %rbx
movq %rbx, %rdi
callq 0x447d
movq %rax, %rbx
cmpb $0x5d, (%rax)
je 0x42d9
pushq $0x40
popq %rdi
callq *0xa030(%rip)           # 0xe1b8
testq %rax, %rax
je 0x442f
movq %rax, %r15
xorpd %xmm0, %xmm0
movupd %xmm0, 0x30(%rax)
movupd %xmm0, 0x20(%rax)
movupd %xmm0, 0x10(%rax)
movupd %xmm0, (%rax)
movq %rax, 0x10(%r14)
movq %rbx, %rdi
callq 0x447d
movq %r15, %rdi
movq %rax, %rsi
callq 0x3fb8
movq %rax, %rdi
callq 0x447d
testq %rax, %rax
je 0x4453
movq %rax, %r12
pushq $0x40
popq %r14
xorl %ebx, %ebx
movzbl (%r12), %eax
cmpl $0x2c, %eax
jne 0x443f
movq %r14, %rdi
callq *0x9fc5(%rip)           # 0xe1b8
testq %rax, %rax
je 0x4455
movq %rax, %r13
xorpd %xmm0, %xmm0
movupd %xmm0, 0x30(%rax)
movupd %xmm0, 0x20(%rax)
movupd %xmm0, 0x10(%rax)
movupd %xmm0, (%rax)
movq %rax, (%r15)
movq %r15, 0x8(%rax)
incq %r12
movq %r12, %rdi
callq 0x447d
movq %r13, %rdi
movq %rax, %rsi
callq 0x3fb8
movq %rax, %rdi
callq 0x447d
movq %rax, %r12
movq %r13, %r15
testq %rax, %rax
jne 0x41dc
jmp 0x4455
addq $0x2, %rbx
pushq $-0x1
popq %rcx
jmp 0x4257
incq %rbx
xorl %edx, %edx
movb (%rbx), %sil
addb $-0x30, %sil
cmpb $0x9, %sil
ja 0x4274
imull $0xa, %edx, %edi
incq %rbx
movzbl %sil, %edx
addl %edi, %edx
jmp 0x4259
imull %ecx, %edx
cvtsi2sd %edx, %xmm0
cmpl $0x2d, %eax
jne 0x4288
xorpd 0x5628(%rip), %xmm4     # 0x98b0
movapd %xmm4, -0x40(%rbp)
addsd %xmm0, %xmm1
movsd 0x55cf(%rip), %xmm0     # 0x9868
callq 0x22f0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, 0x30(%r14)
cvttsd2si %xmm0, %eax
movl %eax, 0x28(%r14)
movl $0x3, 0x18(%r14)
jmp 0x4455
movl $0x6, 0x18(%r14)
incq %rbx
movq %rbx, %rdi
callq 0x447d
movq %rax, %rbx
cmpb $0x7d, (%rax)
jne 0x42ed
incq %rbx
jmp 0x4455
movq %rbx, 0xa048(%rip)      # 0xe330
jmp 0x4453
pushq $0x40
popq %rdi
callq *0x9ec2(%rip)           # 0xe1b8
testq %rax, %rax
je 0x442f
movq %rax, %r15
xorpd %xmm0, %xmm0
movupd %xmm0, 0x30(%rax)
movupd %xmm0, 0x20(%rax)
movupd %xmm0, 0x10(%rax)
movupd %xmm0, (%rax)
movq %rax, 0x10(%r14)
movq %rbx, %rdi
callq 0x447d
movq %r15, %rdi
movq %rax, %rsi
callq 0x4fc2
movq %rax, %rdi
callq 0x447d
testq %rax, %rax
je 0x4453
movq 0x20(%r15), %rcx
movq %rcx, 0x38(%r15)
andq $0x0, 0x20(%r15)
cmpb $0x3a, (%rax)
jne 0x4436
incq %rax
movq %rax, %rdi
callq 0x447d
movq %r15, %rdi
movq %rax, %rsi
callq 0x3fb8
movq %rax, %rdi
callq 0x447d
testq %rax, %rax
je 0x4453
movq %rax, %r13
pushq $0x40
popq %r14
xorl %ebx, %ebx
movzbl (%r13), %eax
cmpl $0x2c, %eax
jne 0x4467
movq %r14, %rdi
callq *0x9e1a(%rip)           # 0xe1b8
testq %rax, %rax
je 0x4455
movq %rax, %r12
xorpd %xmm0, %xmm0
movupd %xmm0, 0x30(%rax)
movupd %xmm0, 0x20(%rax)
movupd %xmm0, 0x10(%rax)
movupd %xmm0, (%rax)
movq %rax, (%r15)
movq %r15, 0x8(%rax)
incq %r13
movq %r13, %rdi
callq 0x447d
movq %r12, %rdi
movq %rax, %rsi
callq 0x4fc2
movq %rax, %rdi
callq 0x447d
testq %rax, %rax
je 0x4455
movq 0x20(%r12), %rcx
movq %rcx, 0x38(%r12)
andq $0x0, 0x20(%r12)
cmpb $0x3a, (%rax)
jne 0x4436
incq %rax
movq %rax, %rdi
callq 0x447d
movq %r12, %rdi
movq %rax, %rsi
callq 0x3fb8
movq %rax, %rdi
callq 0x447d
movq %rax, %r13
movq %r12, %r15
testq %rax, %rax
jne 0x4387
jmp 0x4455
andq $0x0, 0x10(%r14)
jmp 0x4453
movq %rax, 0x9ef3(%rip)      # 0xe330
jmp 0x4453
cmpl $0x5d, %eax
jne 0x444c
incq %r12
movq %r12, %rbx
jmp 0x4455
movq %r12, 0x9edd(%rip)      # 0xe330
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x7d, %eax
jne 0x4474
incq %r13
movq %r13, %rbx
jmp 0x4455
movq %r13, 0x9eb5(%rip)      # 0xe330
jmp 0x4453