// File: /workspace/github_cpp_makefile_star2_O3/cybozu[P]yrmcds/src/memcache/memcache.cpp
// Function: yrmcds::memcache::binary_response::error(yrmcds::memcache::binary_status)
void
binary_response::error(binary_status status) {
    switch( status ) {
    case binary_status::NotFound:
        send_error(status, STATUS_NOT_FOUND, sizeof(STATUS_NOT_FOUND) - 1);
        break;
    case binary_status::Exists:
        send_error(status, STATUS_EXISTS, sizeof(STATUS_EXISTS) - 1);
        break;
    case binary_status::TooLargeValue:
        send_error(status, STATUS_TOO_LARGE, sizeof(STATUS_TOO_LARGE) - 1);
        break;
    case binary_status::Invalid:
        send_error(status, STATUS_INVALID, sizeof(STATUS_INVALID) - 1);
        break;
    case binary_status::NotStored:
        send_error(status, STATUS_NOT_STORED, sizeof(STATUS_NOT_STORED) - 1);
        break;
    case binary_status::NonNumeric:
        send_error(status, STATUS_NON_NUMERIC, sizeof(STATUS_NON_NUMERIC) - 1);
        break;
    case binary_status::Locked:
        send_error(status, STATUS_LOCKED, sizeof(STATUS_LOCKED) - 1);
        break;
    case binary_status::NotLocked:
        send_error(status, STATUS_NOT_LOCKED, sizeof(STATUS_NOT_LOCKED) - 1);
        break;
    case binary_status::UnknownCommand:
        send_error(status, STATUS_UNKNOWN, sizeof(STATUS_UNKNOWN) - 1);
        break;
    case binary_status::OutOfMemory:
        send_error(status, STATUS_OOM, sizeof(STATUS_OOM) - 1);
        break;
    default:
        throw std::logic_error("<memcache::binary_response::error> bug");
    }
}

// Assembly:
pushq %r14
pushq %rbx
subq $0xa8, %rsp
leal -0x1(%rsi), %eax
cmpl $0x10, %eax
ja 0x2658d
leaq 0x108a3(%rip), %rcx     # 0x36dc4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x100, 0x6(%rax)       # imm = 0x100
movl $0x9000000, 0x8(%rax)   # imm = 0x9000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movabsq $0x6e756f6620746f4e, %rcx # imm = 0x6E756F6620746F4E
movq %rcx, 0x18(%rax)
movb $0x64, 0x20(%rax)
movq (%rdi), %rdi
movq %rsp, %rsi
movq %rdi, (%rsi)
movq %rax, 0x8(%rsi)
movq $0x21, 0x10(%rsi)
jmp 0x268d1
cmpl $0x81, %esi
je 0x26869
cmpl $0x82, %esi
jne 0x268e5
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x8200, 0x6(%rax)      # imm = 0x8200
movl $0xd000000, 0x8(%rax)   # imm = 0xD000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movabsq $0x6d20666f2074754f, %rcx # imm = 0x6D20666F2074754F
movq %rcx, 0x18(%rax)
movabsq $0x79726f6d656d2066, %rcx # imm = 0x79726F6D656D2066
movq %rcx, 0x1d(%rax)
movq (%rdi), %rdi
movq %rsp, %rsi
movq %rdi, (%rsi)
movq %rax, 0x8(%rsi)
movq $0x25, 0x10(%rsi)
jmp 0x268d1
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x1000, 0x6(%rax)      # imm = 0x1000
movl $0x6000000, 0x8(%rax)   # imm = 0x6000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movl $0x6b636f4c, 0x18(%rax) # imm = 0x6B636F4C
movw $0x6465, 0x1c(%rax)     # imm = 0x6465
jmp 0x267ed
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x600, 0x6(%rax)       # imm = 0x600
movl $0x11000000, 0x8(%rax)  # imm = 0x11000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movaps 0x115e7(%rip), %xmm0    # 0x37c80
movups %xmm0, 0x18(%rax)
movb $0x65, 0x28(%rax)
movq (%rdi), %rdi
movq %rsp, %rsi
movq %rdi, (%rsi)
movq %rax, 0x8(%rsi)
movq $0x29, 0x10(%rsi)
jmp 0x268d1
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x500, 0x6(%rax)       # imm = 0x500
movl $0xa000000, 0x8(%rax)   # imm = 0xA000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movabsq $0x726f747320746f4e, %rcx # imm = 0x726F747320746F4E
jmp 0x26848
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x400, 0x6(%rax)       # imm = 0x400
movl $0xf000000, 0x8(%rax)   # imm = 0xF000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movabsq $0x2064696c61766e49, %rcx # imm = 0x2064696C61766E49
movq %rcx, 0x18(%rax)
movabsq $0x7473657571657220, %rcx # imm = 0x7473657571657220
jmp 0x268b8
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x300, 0x6(%rax)       # imm = 0x300
movl $0xf000000, 0x8(%rax)   # imm = 0xF000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movabsq $0x6772616c206f6f54, %rcx # imm = 0x6772616C206F6F54
movq %rcx, 0x18(%rax)
movabsq $0x65756c6176206567, %rcx # imm = 0x65756C6176206567
jmp 0x268b8
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x200, 0x6(%rax)       # imm = 0x200
movl $0x6000000, 0x8(%rax)   # imm = 0x6000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movl $0x73697845, 0x18(%rax) # imm = 0x73697845
movw $0x7374, 0x1c(%rax)     # imm = 0x7374
movq (%rdi), %rdi
movq %rsp, %rsi
movq %rdi, (%rsi)
movq %rax, 0x8(%rsi)
movq $0x1e, 0x10(%rsi)
jmp 0x268d1
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x1100, 0x6(%rax)      # imm = 0x1100
movl $0xa000000, 0x8(%rax)   # imm = 0xA000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movabsq $0x6b636f6c20746f4e, %rcx # imm = 0x6B636F6C20746F4E
movq %rcx, 0x18(%rax)
movw $0x6465, 0x20(%rax)     # imm = 0x6465
movq (%rdi), %rdi
movq %rsp, %rsi
movq %rdi, (%rsi)
movq %rax, 0x8(%rsi)
movq $0x22, 0x10(%rsi)
jmp 0x268d1
leaq 0x20(%rsp), %rax
movb $-0x7f, (%rax)
movq 0x8(%rdi), %rcx
movb 0x1a(%rcx), %dl
movb %dl, 0x1(%rax)
movl $0x0, 0x2(%rax)
movw $0x8100, 0x6(%rax)      # imm = 0x8100
movl $0xf000000, 0x8(%rax)   # imm = 0xF000000
movq (%rcx), %rcx
movl 0xc(%rcx), %ecx
movl %ecx, 0xc(%rax)
movq $0x0, 0x10(%rax)
movabsq $0x206e776f6e6b6e55, %rcx # imm = 0x206E776F6E6B6E55
movq %rcx, 0x18(%rax)
movabsq $0x646e616d6d6f6320, %rcx # imm = 0x646E616D6D6F6320
movq %rcx, 0x1f(%rax)
movq (%rdi), %rdi
movq %rsp, %rsi
movq %rdi, (%rsi)
movq %rax, 0x8(%rsi)
movq $0x27, 0x10(%rsi)
movb $0x1, 0x18(%rsi)
callq 0x17a4e
addq $0xa8, %rsp
popq %rbx
popq %r14
retq
movl $0x10, %edi
callq 0x7220
movq %rax, %rbx
leaq 0x10e2e(%rip), %rsi     # 0x37727
movq %rax, %rdi
callq 0x7790
movq 0x1f6b0(%rip), %rsi     # 0x45fb8
movq 0x1f681(%rip), %rdx     # 0x45f90
movq %rbx, %rdi
callq 0x7960
movq %rax, %r14
movq %rbx, %rdi
callq 0x7370
movq %r14, %rdi
callq 0x79a0