// File: /workspace/github_cpp_makefile_star2_O3/oknenavin[P]cxon/test/../src/cxon/lang/common/cio/value.hxx
// Function: bool cxon::cio::val::imp::value_<cxon::JSON<cxon::json::format_traits>>::skip_cnt_<(char)123, (char)125, cxon::cio::val::sink<void> const, std::istreambuf_iterator<char, std::char_traits<char>>>(cxon::cio::val::sink<void> const&, std::istreambuf_iterator<char, std::char_traits<char>>&, std::istreambuf_iterator<char, std::char_traits<char>>)
static bool skip_cnt_(O& o, II& i, II e) {
                            if (!poke(o, *i)) return false;
                            unsigned r = 0;
                            for (++i; i != e; ++i) {
                                switch (*i) {
                                    case CB:                CXON_POKE(o, *i);
                                                            ++r; break;
                                    case CE:                CXON_POKE(o, *i);
                                                            if (r == 0) return ++i, true;
                                                            --r; break;
                                    case X::string::del:    if (!skip_s_(o, i, e)) return false;
                                                            break;
                                    default:                CXON_POKE(o, *i);
                                }
                            }
                            return false;
                        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %ecx, %ebp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, (%rsp)
movq %rsi, %rdi
callq 0x9cb2
movq (%r14), %rdi
movq 0x10(%rdi), %rax
cmpq 0x18(%rdi), %rax
jae 0x10b4f
incq %rax
movq %rax, 0x10(%rdi)
xorl %r13d, %r13d
cmpl $-0x1, %ebp
sete %r15b
movl $0xffffffff, 0x8(%r14)  # imm = 0xFFFFFFFF
movq %r14, %rdi
callq 0x9cb2
movl %eax, %r12d
testq %rbx, %rbx
setne %al
andb %r15b, %al
cmpb $0x1, %al
jne 0x10a72
movq 0x10(%rbx), %rax
cmpq 0x18(%rbx), %rax
jae 0x10afc
cmpl $-0x1, %r12d
je 0x10a87
jmp 0x10b1c
cmpl $-0x1, %r12d
sete %al
cmpl $-0x1, %ebp
sete %cl
cmpb %al, %cl
je 0x10b1c
movq %r14, %rdi
callq 0x9cb2
cmpb $0x22, %al
je 0x10abc
movzbl %al, %eax
movq %r14, %rdi
cmpl $0x7d, %eax
je 0x10aad
cmpl $0x7b, %eax
jne 0x10ad3
callq 0x9cb2
incl %r13d
jmp 0x10ad8
callq 0x9cb2
testl %r13d, %r13d
je 0x10b2f
decl %r13d
jmp 0x10ad8
movq (%rsp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
movl %ebp, %ecx
callq 0x10dd6
testb %al, %al
jne 0x10ad8
jmp 0x10b1c
callq 0x9cb2
movq (%r14), %rdi
movq 0x10(%rdi), %rax
cmpq 0x18(%rdi), %rax
jae 0x10af1
incq %rax
movq %rax, 0x10(%rdi)
jmp 0x10a32
movq (%rdi), %rax
callq *0x50(%rax)
jmp 0x10a32
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x48(%rax)
cmpl $-0x1, %eax
jne 0x10a67
xorl %ebx, %ebx
cmpl $-0x1, %r12d
jne 0x10a87
jmp 0x10b1e
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%r14), %rdi
movq 0x10(%rdi), %rax
cmpq 0x18(%rdi), %rax
jae 0x10b5a
incq %rax
movq %rax, 0x10(%rdi)
movl $0xffffffff, 0x8(%r14)  # imm = 0xFFFFFFFF
movb $0x1, %bl
jmp 0x10b1e
movq (%rdi), %rax
callq *0x50(%rax)
jmp 0x10a2f
movq (%rdi), %rax
callq *0x50(%rax)
jmp 0x10b43