// File: /workspace/github_c_makefile_star2_O1/Tarsnap[P]kivaloo/liball/../libcperciva/util/json.c
// Function: skip_value
static const uint8_t *
skip_value(const uint8_t * buf, const uint8_t * end)
{

	/* If there's nothing here, return. */
	if (buf == end)
		return (end);

	/* Handle different types of objects. */
	switch (buf[0]) {
	case 'f':
	case 'n':
	case 't':
		/* This must be a literal.  Skip it. */
		return (skip_literal(buf, end));
	case '"':
		/* This must be a string.  Skip it. */
		return (skip_string(buf, end));
	case '[':
		/* This must be an array.  Skip it. */
		return (skip_array(buf, end));
	case '{':
		/* This must be an object.  Skip it. */
		return (skip_object(buf, end));
	default:
		/* Could this plausibly be a number? */
		if (strchr(numchars, buf[0]) != NULL)
			return (skip_number(buf, end));

		/* We don't have a valid JSON value.  Return. */
		return (end);
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
cmpq %rsi, %rdi
je 0xb804
movq %rdi, %r14
movzbl (%rdi), %esi
cmpl $0x6d, %esi
jg 0xb671
cmpl $0x22, %esi
je 0xb6d3
cmpl $0x5b, %esi
je 0xb72a
cmpl $0x66, %esi
je 0xb684
jmp 0xb6e3
cmpl $0x6e, %esi
je 0xb684
cmpl $0x7b, %esi
je 0xb7ba
cmpl $0x74, %esi
jne 0xb6e3
movq %rbx, %rax
subq %r14, %rax
cmpq $0x5, %rax
jl 0xb6a8
movl $0x736c6166, %ecx       # imm = 0x736C6166
xorl (%r14), %ecx
movzbl 0x4(%r14), %edx
xorl $0x65, %edx
orl %ecx, %edx
je 0xb7f7
cmpq $0x4, %rax
jl 0xb804
cmpl $0x6c6c756e, (%r14)     # imm = 0x6C6C756E
je 0xb7fd
leaq 0x4(%r14), %rax
cmpl $0x65757274, (%r14)     # imm = 0x65757274
cmoveq %rax, %rbx
jmp 0xb804
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xb8c2
leaq 0xcfd6(%rip), %rdi      # 0x186c0
callq 0x3160
testq %rax, %rax
je 0xb804
cmpq %rbx, %r14
jae 0xb801
leaq 0xcfb8(%rip), %r15      # 0x186c0
movzbl (%r14), %esi
movq %r15, %rdi
callq 0x3160
testq %rax, %rax
je 0xb801
incq %r14
cmpq %rbx, %r14
jne 0xb708
jmp 0xb804
incq %r14
cmpq %rbx, %r14
jae 0xb757
movabsq $0x100002600, %rax      # imm = 0x100002600
movzbl (%r14), %ecx
cmpq $0x20, %rcx
ja 0xb757
btq %rcx, %rax
jae 0xb757
incq %r14
cmpq %rbx, %r14
jne 0xb73c
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb804
cmpb $0x5d, (%r14)
je 0xb7f2
movabsq $0x100002600, %r15      # imm = 0x100002600
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb640
movq %rax, %r14
cmpq %rbx, %rax
jae 0xb7a2
movzbl (%r14), %eax
cmpq $0x20, %rax
ja 0xb7a2
btq %rax, %r15
jae 0xb7a2
incq %r14
cmpq %rbx, %r14
jne 0xb787
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb804
movzbl (%r14), %eax
incq %r14
cmpl $0x2c, %eax
je 0xb774
cmpl $0x5d, %eax
je 0xb801
jmp 0xb804
incq %r14
cmpq %rbx, %r14
jae 0xb7e7
movabsq $0x100002600, %rax      # imm = 0x100002600
movzbl (%r14), %ecx
cmpq $0x20, %rcx
ja 0xb7e7
btq %rcx, %rax
jae 0xb7e7
incq %r14
cmpq %rbx, %r14
jne 0xb7cc
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb804
cmpb $0x7d, (%r14)
jne 0xb80d
incq %r14
jmp 0xb801
addq $0x5, %r14
jmp 0xb801
addq $0x4, %r14
movq %r14, %rbx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
movabsq $0x100002600, %r15      # imm = 0x100002600
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb8c2
cmpq %rbx, %rax
jae 0xb841
movzbl (%rax), %ecx
cmpq $0x20, %rcx
ja 0xb841
btq %rcx, %r15
jae 0xb841
incq %rax
cmpq %rbx, %rax
jne 0xb827
movq %rbx, %rax
cmpq %rbx, %rax
je 0xb804
cmpb $0x3a, (%rax)
jne 0xb804
incq %rax
cmpq %rbx, %rax
jae 0xb86d
movzbl (%rax), %ecx
cmpq $0x20, %rcx
ja 0xb86d
btq %rcx, %r15
jae 0xb86d
incq %rax
cmpq %rbx, %rax
jne 0xb853
movq %rbx, %rax
movq %rax, %rdi
movq %rbx, %rsi
callq 0xb640
movq %rax, %r14
cmpq %rbx, %rax
jae 0xb89b
movzbl (%r14), %eax
cmpq $0x20, %rax
ja 0xb89b
btq %rax, %r15
jae 0xb89b
incq %r14
cmpq %rbx, %r14
jne 0xb880
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb804
movzbl (%r14), %eax
incq %r14
cmpl $0x2c, %eax
je 0xb817
cmpl $0x7d, %eax
je 0xb801
jmp 0xb804