// File: oknenavin[P]cxon/test/../src/cxon/lib/node.cbor.hxx
// Function: bool cxon::read<cxon::CBOR<cxon::cbor::format_traits>, cxon::cbor::simple<unsigned char>, void>::value<char const*, cxon::context<cxon::CBOR<cxon::cbor::format_traits>, cxon::napa::imp::var<cxon::node::recursion_guard, unsigned int>>, cxon::CBOR<cxon::cbor::format_traits>>(cxon::cbor::simple<unsigned char>&, char const*&, char const*, cxon::context<cxon::CBOR<cxon::cbor::format_traits>, cxon::napa::imp::var<cxon::node::recursion_guard, unsigned int>>&)
static bool value(cbor::simple<T>& t, II& i, II e, Cx& cx) {
                    II const o = i;
                    auto const b = bio::get(i, e);
                    switch (b & Y::mjr) {
                        case Y::svn:
                            switch (b & X::mnr) {
                                case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case 0x09:
                                case 0x0A: case 0x0B: case 0x0C: case 0x0D: case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13:
                                    return  (t = T(b & Y::mnr), true);
                                case 0x18:
                                    return  (bio::get(t.value, 1, i, e)) ||
                                            (bio::rewind(i, o), cx/cbor::read_error::unexpected)
                                    ;
                                case 0x14: case 0x15: case 0x16: case 0x17:
                                case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F:
                                    break;
                            }
                    }
                    return bio::rewind(i, o), cx/cbor::read_error::unexpected;
                }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl $0xff, %edx
callq 0x310f0
movb %al, -0x31(%rbp)
movzbl -0x31(%rbp), %eax
notl %eax
testb $-0x20, %al
jne 0x37381
jmp 0x372d8
movzbl -0x31(%rbp), %eax
andl $0x1f, %eax
movl %eax, -0x38(%rbp)
subl $0x14, %eax
jb 0x37311
jmp 0x372e9
movl -0x38(%rbp), %eax
addl $-0x14, %eax
subl $0x4, %eax
jb 0x3737d
jmp 0x372fa
movl -0x38(%rbp), %eax
subl $0x18, %eax
je 0x37333
jmp 0x37304
movl -0x38(%rbp), %eax
addl $-0x19, %eax
subl $0x7, %eax
jb 0x3737d
jmp 0x3737f
movzbl -0x31(%rbp), %eax
andl $0x1f, %eax
leaq -0x32(%rbp), %rdi
movzbl %al, %esi
callq 0x30e60
movq -0x10(%rbp), %rax
movb -0x32(%rbp), %cl
movb %cl, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x373a1
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl $0x1, %esi
callq 0x373b0
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x39(%rbp)
jne 0x37373
movq -0x18(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x31170
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x31190
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x373a1
jmp 0x3737f
jmp 0x37381
movq -0x18(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x31170
movq -0x28(%rbp), %rdi
movl $0x1, %esi
callq 0x31190
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)