// File: /workspace/github_c_makefile_star2_O3/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 0xb6af
movq %rdi, %r14
movzbl (%rdi), %esi
cmpl $0x6d, %esi
jg 0xb51d
cmpl $0x22, %esi
je 0xb584
cmpl $0x5b, %esi
je 0xb5db
cmpl $0x66, %esi
je 0xb530
jmp 0xb594
cmpl $0x6e, %esi
je 0xb530
cmpl $0x7b, %esi
je 0xb66b
cmpl $0x74, %esi
jne 0xb594
movq %rbx, %rax
subq %r14, %rax
cmpq $0x5, %rax
jl 0xb559
movl $0x736c6166, %eax       # imm = 0x736C6166
xorl (%r14), %eax
movzbl 0x4(%r14), %ecx
xorl $0x65, %ecx
orl %eax, %ecx
jne 0xb563
addq $0x5, %r14
jmp 0xb6ac
cmpq $0x4, %rax
jne 0xb6af
cmpl $0x6c6c756e, (%r14)     # imm = 0x6C6C756E
je 0xb6a8
leaq 0x4(%r14), %rax
cmpl $0x65757274, (%r14)     # imm = 0x65757274
cmoveq %rax, %rbx
jmp 0xb6af
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xb76d
leaq 0xd125(%rip), %rdi      # 0x186c0
callq 0x3160
testq %rax, %rax
je 0xb6af
cmpq %rbx, %r14
jae 0xb6ac
leaq 0xd107(%rip), %r15      # 0x186c0
movzbl (%r14), %esi
movq %r15, %rdi
callq 0x3160
testq %rax, %rax
je 0xb6ac
incq %r14
cmpq %rbx, %r14
jne 0xb5b9
jmp 0xb6af
incq %r14
cmpq %rbx, %r14
jae 0xb608
movabsq $0x100002600, %rax      # imm = 0x100002600
movzbl (%r14), %ecx
cmpq $0x20, %rcx
ja 0xb608
btq %rcx, %rax
jae 0xb608
incq %r14
cmpq %rbx, %r14
jne 0xb5ed
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb6af
cmpb $0x5d, (%r14)
je 0xb6a3
movabsq $0x100002600, %r15      # imm = 0x100002600
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb4ec
movq %rax, %r14
cmpq %rbx, %rax
jae 0xb653
movzbl (%r14), %eax
cmpq $0x20, %rax
ja 0xb653
btq %rax, %r15
jae 0xb653
incq %r14
cmpq %rbx, %r14
jne 0xb638
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb6af
movzbl (%r14), %eax
incq %r14
cmpl $0x2c, %eax
je 0xb625
cmpl $0x5d, %eax
je 0xb6ac
jmp 0xb6af
incq %r14
cmpq %rbx, %r14
jae 0xb698
movabsq $0x100002600, %rax      # imm = 0x100002600
movzbl (%r14), %ecx
cmpq $0x20, %rcx
ja 0xb698
btq %rcx, %rax
jae 0xb698
incq %r14
cmpq %rbx, %r14
jne 0xb67d
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb6af
cmpb $0x7d, (%r14)
jne 0xb6b8
incq %r14
jmp 0xb6ac
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 0xb76d
cmpq %rbx, %rax
jae 0xb6ec
movzbl (%rax), %ecx
cmpq $0x20, %rcx
ja 0xb6ec
btq %rcx, %r15
jae 0xb6ec
incq %rax
cmpq %rbx, %rax
jne 0xb6d2
movq %rbx, %rax
cmpq %rbx, %rax
je 0xb6af
cmpb $0x3a, (%rax)
jne 0xb6af
incq %rax
cmpq %rbx, %rax
jae 0xb718
movzbl (%rax), %ecx
cmpq $0x20, %rcx
ja 0xb718
btq %rcx, %r15
jae 0xb718
incq %rax
cmpq %rbx, %rax
jne 0xb6fe
movq %rbx, %rax
movq %rax, %rdi
movq %rbx, %rsi
callq 0xb4ec
movq %rax, %r14
cmpq %rbx, %rax
jae 0xb746
movzbl (%r14), %eax
cmpq $0x20, %rax
ja 0xb746
btq %rax, %r15
jae 0xb746
incq %r14
cmpq %rbx, %r14
jne 0xb72b
movq %rbx, %r14
cmpq %rbx, %r14
je 0xb6af
movzbl (%r14), %eax
incq %r14
cmpl $0x2c, %eax
je 0xb6c2
cmpl $0x7d, %eax
je 0xb6ac
jmp 0xb6af