// File: yangwanyuan[P]HLKVDS/src/Status.cc
// Function: hlkvds::Status::ToString[abi:cxx11]() const
std::string Status::ToString() const {
    char tmp[30];
    const char* type;
    switch (code_) {
        case kOk:
            return "OK";
        case kNotFound:
            type = "NotFound: ";
            break;
        case kCorruption:
            type = "Corruption: ";
            break;
        case kNotSupported:
            type = "Not implemented: ";
            break;
        case kInvalidArgument:
            type = "Invalid argument: ";
            break;
        case kIOError:
            type = "IO error: ";
            break;
        case kTimedOut:
            type = "Operation timed out: ";
            break;
        case kAborted:
            type = "Operation aborted: ";
            break;
        case kBusy:
            type = "Resource busy: ";
            break;
        case kTryAgain:
            type = "Operation failed. Try again.: ";
            break;
        default:
            snprintf(tmp, sizeof(tmp), "Unknown code(%d): ",
                     static_cast<int> (code()));
            type = tmp;
            break;
    }
    std::string result(type);
    if (state_ != nullptr) {
        result.append(state_);
    }

    return result;
}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x20(%rsp)
movq %rdi, %rax
movq %rax, 0x28(%rsp)
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movq 0x88(%rsp), %rax
movq %rax, 0x30(%rsp)
movl (%rax), %eax
movq %rax, 0x38(%rsp)
subq $0x9, %rax
ja 0x49291
movq 0x38(%rsp), %rax
leaq 0xb112(%rip), %rcx      # 0x542c0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x57(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x8830
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rdx
leaq 0xb111(%rip), %rsi      # 0x542e8
callq 0x8680
jmp 0x491de
leaq 0x57(%rsp), %rdi
callq 0x8540
jmp 0x49374
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
leaq 0x57(%rsp), %rdi
callq 0x8540
jmp 0x49381
leaq 0xb0da(%rip), %rax      # 0x542eb
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0d4(%rip), %rax      # 0x542f6
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0d0(%rip), %rax      # 0x54303
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0d1(%rip), %rax      # 0x54315
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0d6(%rip), %rax      # 0x54328
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0d3(%rip), %rax      # 0x54333
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0db(%rip), %rax      # 0x54349
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0e1(%rip), %rax      # 0x5435d
movq %rax, 0x58(%rsp)
jmp 0x492c9
leaq 0xb0e3(%rip), %rax      # 0x5436d
movq %rax, 0x58(%rsp)
jmp 0x492c9
movq 0x30(%rsp), %rdi
leaq 0x60(%rsp), %rax
movq %rax, 0x10(%rsp)
callq 0xc9e0
movq 0x10(%rsp), %rdi
movl %eax, %ecx
movl $0x1e, %esi
leaq 0xb0d4(%rip), %rdx      # 0x5438c
movb $0x0, %al
callq 0x8770
leaq 0x60(%rsp), %rax
movq %rax, 0x58(%rsp)
movb $0x0, 0x43(%rsp)
movq 0x58(%rsp), %rax
movq %rax, (%rsp)
leaq 0x42(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x8830
movq 0x20(%rsp), %rdi
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x8680
jmp 0x492fb
leaq 0x42(%rsp), %rdi
callq 0x8540
movq 0x30(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x4935c
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x88e0
jmp 0x49326
jmp 0x4935c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
leaq 0x42(%rsp), %rdi
callq 0x8540
jmp 0x49381
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
callq 0x8928
jmp 0x49381
movb $0x1, 0x43(%rsp)
testb $0x1, 0x43(%rsp)
jne 0x49372
movq 0x20(%rsp), %rdi
callq 0x8928
jmp 0x49374
movq 0x28(%rsp), %rax
addq $0x98, %rsp
retq
movq 0x48(%rsp), %rdi
callq 0x8820
nopl (%rax,%rax)