// File: /workspace/github_cpp_makefile_star2_O1/cybozu[P]yrmcds/src/memcache/memcache.cpp
// Function: yrmcds::memcache::text_request::parse_verbosity(char const*, char const*)
inline void
text_request::parse_verbosity(const char* b, const char* e) noexcept {
    while( *b == SP ) ++b;
    if( b == e ) return;
    const char* vb_end = cfind(b, SP, e-b);
    if( vb_end == nullptr ) vb_end = e;
    std::size_t len = vb_end - b;
    if( len == 0 ) return; // invalid

    if( len == 5 ) {
        if( std::memcmp("error", b, 5) == 0 ) {
            m_verbosity = cybozu::severity::error;
        } else if( std::memcmp("debug", b, 5) == 0 ) {
            m_verbosity = cybozu::severity::debug;
        }
    }
    if( len == 7 && std::memcmp("warning", b, 7) == 0 )
        m_verbosity = cybozu::severity::warning;
    if( len == 4 && std::memcmp("info", b, 4) == 0 )
        m_verbosity = cybozu::severity::info;

    b = vb_end;

    while( *b == SP ) ++b;
    if( b != e ) {
        // noreply ?
        const char* we = cfind(b, SP, e-b);
        std::size_t noreply_len = (we != nullptr) ? (we - b) : (e - b);
        if( noreply_len != 7 ) return;
        if( std::memcmp(b, "noreply", 7) != 0 ) return;
        m_no_reply = true;
        b = (we != nullptr) ? we : e;
    }

    while( *b == SP ) ++b;
    if( b != e ) return; // garbage left

    m_valid = true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %rbx
movq %rsi, %r13
decq %r13
incq %r12
cmpb $0x20, 0x1(%r13)
leaq 0x1(%r13), %r13
je 0x3256c
cmpq %r14, %r13
je 0x326ba
movq %r14, %rdx
subq %r12, %rdx
incq %rdx
movq %r13, %rdi
movl $0x20, %esi
callq 0x7550
movq %rax, %r15
testq %rax, %rax
cmoveq %r14, %r15
cmpq %r15, %r13
je 0x326ba
movq %r15, %rax
subq %r12, %rax
incq %rax
cmpq $0x4, %rax
je 0x3262f
cmpq $0x7, %rax
je 0x32609
cmpq $0x5, %rax
jne 0x32640
movl $0x6f727265, %ecx       # imm = 0x6F727265
xorl (%r13), %ecx
movzbl 0x4(%r13), %edx
xorl $0x72, %edx
orl %ecx, %edx
je 0x325f8
movl $0x75626564, %ecx       # imm = 0x75626564
xorl (%r13), %ecx
movzbl 0x4(%r13), %edx
xorl $0x67, %edx
orl %ecx, %edx
jne 0x325fd
movl $0x3, %ecx
jmp 0x325fa
xorl %ecx, %ecx
movl %ecx, 0x60(%rbx)
cmpq $0x4, %rax
je 0x3262f
cmpq $0x7, %rax
jne 0x32640
leaq -0x3(%r15), %rax
movl $0x6e726177, %ecx       # imm = 0x6E726177
xorl (%r13), %ecx
movl $0x676e696e, %edx       # imm = 0x676E696E
xorl 0x3(%r13), %edx
orl %ecx, %edx
jne 0x3262a
movl $0x1, 0x60(%rbx)
cmpq %r12, %rax
jne 0x32640
cmpl $0x6f666e69, (%r13)     # imm = 0x6F666E69
jne 0x32640
movl $0x2, 0x60(%rbx)
decq %r15
movq %r15, %r12
incq %r15
cmpb $0x20, 0x1(%r12)
leaq 0x1(%r12), %r12
je 0x32646
cmpq %r14, %r12
je 0x326a1
movq %r14, %r13
subq %r15, %r13
movq %r12, %rdi
movl $0x20, %esi
movq %r13, %rdx
callq 0x7550
movq %rax, %rcx
subq %r15, %rcx
testq %rax, %rax
cmoveq %r13, %rcx
cmpq $0x7, %rcx
jne 0x3269b
movl $0x65726f6e, %ecx       # imm = 0x65726F6E
xorl (%r12), %ecx
movl $0x796c7065, %edx       # imm = 0x796C7065
xorl 0x3(%r12), %edx
orl %ecx, %edx
je 0x326c4
xorl %ecx, %ecx
testb %cl, %cl
je 0x326ba
decq %r12
cmpb $0x20, 0x1(%r12)
leaq 0x1(%r12), %r12
je 0x326a4
cmpq %r14, %r12
jne 0x326ba
movb $0x1, 0x1c(%rbx)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
testq %rax, %rax
movb $0x1, 0x1d(%rbx)
cmoveq %r14, %rax
movb $0x1, %cl
movq %rax, %r12
jmp 0x3269d