// File: DoubleString[P]RtConverter/src/Json/json_value.cpp
// Function: Json::Value::asString[abi:cxx11]() const
JSONCPP_STRING Value::asString() const {
  switch (type_) {
  case nullValue:
    return "";
  case stringValue: {
    if (value_.string_ == 0)
      return "";
    unsigned this_len;
    char const* this_str;
    decodePrefixedString(this->allocated_, this->value_.string_, &this_len,
                         &this_str);
    return JSONCPP_STRING(this_str, this_len);
  }
  case booleanValue:
    return value_.bool_ ? "true" : "false";
  case intValue:
    return valueToString(value_.int_);
  case uintValue:
    return valueToString(value_.uint_);
  case realValue:
    return valueToString(value_.real_);
  default:
    JSON_FAIL_MESSAGE("Type is not convertible to string");
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x1f8(%rbp)
movq %rdi, %rax
movq %rax, -0x1f0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movzbl 0x8(%rax), %eax
movzwl %ax, %ecx
movq %rcx, -0x1e0(%rbp)
subw $0x5, %ax
ja 0x1ff83
movq -0x1e0(%rbp), %rax
leaq 0x9bf93(%rip), %rcx     # 0xbbcf8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x11(%rbp), %rdi
movq %rdi, -0x200(%rbp)
callq 0x9d30
movq -0x1f8(%rbp), %rdi
movq -0x200(%rbp), %rdx
leaq 0x9cf74(%rip), %rsi     # 0xbcd07
callq 0x9a30
jmp 0x1fd9a
leaq -0x11(%rbp), %rdi
callq 0x97e0
jmp 0x20002
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x11(%rbp), %rdi
callq 0x97e0
jmp 0x20012
movq -0x1e8(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x1fe23
leaq -0x25(%rbp), %rdi
movq %rdi, -0x208(%rbp)
callq 0x9d30
movq -0x1f8(%rbp), %rdi
movq -0x208(%rbp), %rdx
leaq 0x9cf13(%rip), %rsi     # 0xbcd07
callq 0x9a30
jmp 0x1fdfb
leaq -0x25(%rbp), %rdi
callq 0x97e0
jmp 0x20002
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x97e0
jmp 0x20012
movq -0x1e8(%rbp), %rax
movzwl 0x8(%rax), %edi
shrl $0x8, %edi
andl $0x1, %edi
movq (%rax), %rsi
leaq -0x2c(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0x1f770
movq -0x38(%rbp), %rax
movq %rax, -0x220(%rbp)
movl -0x2c(%rbp), %eax
movq %rax, -0x218(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x9d30
movq -0x1f8(%rbp), %rdi
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
movq -0x210(%rbp), %rcx
callq 0x9850
jmp 0x1fe8c
leaq -0x39(%rbp), %rdi
callq 0x97e0
jmp 0x20002
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x97e0
jmp 0x20012
movq -0x1e8(%rbp), %rax
movb (%rax), %dl
leaq 0x9c148(%rip), %rcx     # 0xbc00c
leaq 0x9c048(%rip), %rax     # 0xbbf13
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0x230(%rbp)
leaq -0x3a(%rbp), %rdi
movq %rdi, -0x228(%rbp)
callq 0x9d30
movq -0x1f8(%rbp), %rdi
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
callq 0x9a30
jmp 0x1ff05
leaq -0x3a(%rbp), %rdi
callq 0x97e0
jmp 0x20002
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x3a(%rbp), %rdi
callq 0x97e0
jmp 0x20012
movq -0x1f8(%rbp), %rdi
movq -0x1e8(%rbp), %rax
movq (%rax), %rsi
callq 0x2ac40
jmp 0x20002
movq -0x1f8(%rbp), %rdi
movq -0x1e8(%rbp), %rax
movq (%rax), %rsi
callq 0x2ade0
jmp 0x20002
movq -0x1f8(%rbp), %rdi
movq -0x1e8(%rbp), %rax
movsd (%rax), %xmm0
movl $0x11, %esi
xorl %edx, %edx
callq 0x2af00
jmp 0x20002
leaq -0x1b8(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0x9a00
movq -0x238(%rbp), %rdi
leaq 0x9c06d(%rip), %rsi     # 0xbc011
callq 0x9760
jmp 0x1ffab
leaq -0x1d8(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x9790
jmp 0x1ffc0
leaq -0x1d8(%rbp), %rdi
callq 0x1ddc0
jmp 0x1ffce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1fff4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x9480
leaq -0x1b8(%rbp), %rdi
callq 0x91d0
jmp 0x20012
movq -0x1f0(%rbp), %rax
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x9d20
nopl (%rax,%rax)