// File: /workspace/github_cpp_makefile_star2_O1/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 0xa01e
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x4abd(%rip), %rsi      # 0xe897
movl $0x4, %edx
movq %r14, %rdi
callq 0x3190
testl %eax, %eax
je 0x9e3b
leaq 0x4aaa(%rip), %rsi      # 0xe89c
movl $0x5, %edx
movq %r14, %rdi
callq 0x3190
testl %eax, %eax
je 0x9e44
leaq 0x4a98(%rip), %rsi      # 0xe8a2
movl $0x4, %edx
movq %r14, %rdi
callq 0x3190
testl %eax, %eax
je 0x9e54
movzbl (%r14), %eax
cmpl $0x2d, %eax
je 0x9e74
cmpl $0x22, %eax
jne 0x9e68
movq %rbx, %rdi
movq %r14, %rsi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0xadd9
movl $0x2, 0x18(%rbx)
jmp 0x9e5f
movl $0x0, 0x18(%rbx)
addq $0x5, %r14
jmp 0xa021
movl $0x1, %eax
movl %eax, 0x18(%rbx)
movl %eax, 0x28(%rbx)
addq $0x4, %r14
jmp 0xa021
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x9f60
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 0x9ed3
xorpd %xmm4, %xmm4
movsd 0x48fe(%rip), %xmm0     # 0xe7a8
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 0x9eaa
jmp 0x9eda
movq %rcx, %r14
xorpd %xmm4, %xmm4
cmpb $0x2e, (%r14)
jne 0x9f31
movb 0x1(%r14), %cl
addb $-0x30, %cl
cmpb $0x9, %cl
ja 0x9f31
incq %r14
xorpd %xmm1, %xmm1
movsd 0x48ad(%rip), %xmm0     # 0xe7a8
movsd 0x48ad(%rip), %xmm2     # 0xe7b0
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 0x9f06
movzbl (%r14), %edx
xorl %ecx, %ecx
orl $0x20, %edx
cmpl $0x65, %edx
jne 0x9f59
movzbl 0x1(%r14), %esi
cmpl $0x2d, %esi
je 0x9f84
movl $0x1, %edx
cmpl $0x2b, %esi
jne 0x9f8f
addq $0x2, %r14
jmp 0x9f92
movl $0x1, %edx
jmp 0x9fbe
cmpl $0x7b, %eax
je 0xa005
cmpl $0x5b, %eax
jne 0xa017
movq %rbx, %rdi
movq %r14, %rsi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0xb01b
addq $0x2, %r14
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
jmp 0x9f92
incq %r14
movb (%r14), %sil
leal -0x30(%rsi), %edi
cmpb $0x9, %dil
ja 0x9fbe
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 0x9fa0
cmpl $0x2d, %eax
jne 0x9fcb
xorpd 0x4825(%rip), %xmm4     # 0xe7f0
movapd %xmm4, (%rsp)
imull %ecx, %edx
xorps %xmm0, %xmm0
cvtsi2sd %edx, %xmm0
addsd %xmm0, %xmm1
movsd 0x47c2(%rip), %xmm0     # 0xe7a8
callq 0x35d0
mulsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rbx)
cvttsd2si %xmm0, %eax
movl %eax, 0x28(%rbx)
movl $0x3, 0x18(%rbx)
jmp 0xa021
movq %rbx, %rdi
movq %r14, %rsi
addq $0x18, %rsp
popq %rbx
popq %r14
jmp 0xb170
movq %r14, 0xbbe2(%rip)      # 0x15c00
xorl %r14d, %r14d
movq %r14, %rax
addq $0x18, %rsp
popq %rbx
popq %r14
retq