// File: /workspace/github_cpp_makefile_star2_O3/fgheng[P]keysound/src/cJSON.cc
// Function: parse_value(cJSON*, char const*)
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 %r14
pushq %rbx
subq $0x18, %rsp
testq %rsi, %rsi
je 0x9fb6
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x4b13(%rip), %rsi      # 0xe887
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3190
testl %eax, %eax
je 0x9dd4
leaq 0x4b00(%rip), %rsi      # 0xe88c
movl $0x5, %edx
movq %rbx, %rdi
callq 0x3190
testl %eax, %eax
je 0x9dde
leaq 0x4aee(%rip), %rsi      # 0xe892
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3190
testl %eax, %eax
je 0x9def
movzbl (%rbx), %eax
cmpl $0x2d, %eax
je 0x9e11
cmpl $0x22, %eax
jne 0x9e05
movq %r14, %rdi
movq %rbx, %rsi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0xace8
movl $0x2, 0x18(%r14)
jmp 0x9dfc
movl $0x0, 0x18(%r14)
addq $0x5, %rbx
jmp 0x9fb8
movl $0x1, %eax
movl %eax, 0x18(%r14)
movl %eax, 0x28(%r14)
addq $0x4, %rbx
jmp 0x9fb8
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x9ee1
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 0x9e69
movsd 0x4962(%rip), %xmm0     # 0xe7a8
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 0x9e46
cmpb $0x2e, %cl
jne 0x9ebb
movb 0x1(%rbx), %cl
leal -0x30(%rcx), %edx
cmpb $0x9, %dl
ja 0x9f0c
incq %rbx
xorpd %xmm1, %xmm1
movsd 0x491c(%rip), %xmm0     # 0xe7a8
movsd 0x491c(%rip), %xmm2     # 0xe7b0
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 0x9e94
movzbl %cl, %edx
xorl %ecx, %ecx
orl $0x20, %edx
cmpl $0x65, %edx
jne 0x9f05
movzbl 0x1(%rbx), %esi
cmpl $0x2d, %esi
je 0x9f19
movl $0x1, %edx
cmpl $0x2b, %esi
jne 0x9f24
addq $0x2, %rbx
jmp 0x9f27
cmpl $0x7b, %eax
je 0x9f9d
cmpl $0x5b, %eax
jne 0x9faf
movq %r14, %rdi
movq %rbx, %rsi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0xaef6
movl $0x1, %edx
jmp 0x9f53
movl $0x1, %edx
xorl %ecx, %ecx
xorpd %xmm1, %xmm1
jmp 0x9f53
addq $0x2, %rbx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
jmp 0x9f27
incq %rbx
movb (%rbx), %sil
leal -0x30(%rsi), %edi
cmpb $0x9, %dil
ja 0x9f53
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 0x9f35
cmpl $0x2d, %eax
jne 0x9f60
xorpd 0x4890(%rip), %xmm4     # 0xe7f0
movapd %xmm4, (%rsp)
imull %ecx, %edx
xorps %xmm0, %xmm0
cvtsi2sd %edx, %xmm0
addsd %xmm0, %xmm1
movsd 0x482d(%rip), %xmm0     # 0xe7a8
callq 0x35d0
mulsd (%rsp), %xmm0
movsd %xmm0, 0x30(%r14)
cvttsd2si %xmm0, %eax
movl %eax, 0x28(%r14)
movl $0x3, 0x18(%r14)
jmp 0x9fb8
movq %r14, %rdi
movq %rbx, %rsi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0xb03a
movq %rbx, 0xbc4a(%rip)      # 0x15c00
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %r14
retq