// File: zeeev[P]DASVC/bamtools/src/third_party/jsoncpp/json_reader.cpp
// Function: Json::Reader::decodeDouble(Json::Reader::Token&)
bool 
Reader::decodeDouble( Token &token )
{
   double value = 0;
   const int bufferSize = 32;
   int count;
   int length = int(token.end_ - token.start_);
   if ( length <= bufferSize )
   {
      Char buffer[bufferSize];
      memcpy( buffer, token.start_, length );
      buffer[length] = 0;
      count = sscanf( buffer, "%lf", &value );
   }
   else
   {
      std::string buffer( token.start_, token.end_ );
      count = sscanf( buffer.c_str(), "%lf", &value );
   }

   if ( count != 1 )
      return addError( "'" + std::string( token.start_, token.end_ ) + "' is not a number.", token );
   currentValue() = value;
   return true;
}

// Assembly:
subq $0x168, %rsp            # imm = 0x168
movq %rdi, 0x158(%rsp)
movq %rsi, 0x150(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0x50(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x148(%rsp)
movl $0x20, 0x144(%rsp)
movq 0x150(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x150(%rsp), %rcx
movq 0x8(%rcx), %rcx
subq %rcx, %rax
movl %eax, 0x13c(%rsp)
cmpl $0x20, 0x13c(%rsp)
jg 0x1191d2
leaq 0x110(%rsp), %rdi
movq 0x150(%rsp), %rax
movq 0x8(%rax), %rsi
movslq 0x13c(%rsp), %rdx
callq 0x865e0
movslq 0x13c(%rsp), %rax
movb $0x0, 0x110(%rsp,%rax)
leaq 0x110(%rsp), %rdi
leaq 0x1b5dd(%rip), %rsi     # 0x134794
leaq 0x148(%rsp), %rdx
movb $0x0, %al
callq 0x86540
movl %eax, 0x140(%rsp)
jmp 0x1192bc
movq 0x150(%rsp), %rax
movq 0x8(%rax), %rcx
movq %rcx, 0x38(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x40(%rsp)
leaq 0xef(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x86da0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x48(%rsp), %rcx
leaq 0xf0(%rsp), %rdi
callq 0x11a670
jmp 0x11921c
leaq 0xef(%rsp), %rdi
callq 0x867b0
leaq 0xf0(%rsp), %rdi
callq 0x86320
movq %rax, 0x30(%rsp)
jmp 0x11923d
movq 0x30(%rsp), %rdi
leaq 0x1b54b(%rip), %rsi     # 0x134794
leaq 0x148(%rsp), %rdx
movb $0x0, %al
callq 0x86540
movl %eax, 0x140(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0x86f68
jmp 0x1192bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
leaq 0xef(%rsp), %rdi
callq 0x867b0
jmp 0x1194bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0x86f68
jmp 0x1192b7
jmp 0x1194bf
cmpl $0x1, 0x140(%rsp)
je 0x119443
movq 0x150(%rsp), %rax
movq 0x8(%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
leaq 0x77(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x86da0
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x28(%rsp), %rcx
leaq 0x78(%rsp), %rdi
callq 0x11a670
jmp 0x11930e
leaq 0x1785b(%rip), %rsi     # 0x130b70
leaq 0x98(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xbafb0
jmp 0x119329
leaq 0x1b451(%rip), %rdx     # 0x134781
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x927c0
jmp 0x119347
movq 0x50(%rsp), %rdi
movq 0x150(%rsp), %rdx
xorl %eax, %eax
movl %eax, %ecx
leaq 0xb8(%rsp), %rsi
callq 0x116e50
movb %al, 0x17(%rsp)
jmp 0x11936b
movb 0x17(%rsp), %al
andb $0x1, %al
movb %al, 0x167(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x86f68
jmp 0x119387
leaq 0x98(%rsp), %rdi
callq 0x86f68
jmp 0x119396
leaq 0x78(%rsp), %rdi
callq 0x86f68
jmp 0x1193a2
leaq 0x77(%rsp), %rdi
callq 0x867b0
jmp 0x1194ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0x119437
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0x119429
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
jmp 0x119418
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x86f68
jmp 0x119416
jmp 0x119418
leaq 0x98(%rsp), %rdi
callq 0x86f68
jmp 0x119427
jmp 0x119429
leaq 0x78(%rsp), %rdi
callq 0x86f68
jmp 0x119435
jmp 0x119437
leaq 0x77(%rsp), %rdi
callq 0x867b0
jmp 0x1194bf
movsd 0x148(%rsp), %xmm0
leaq 0x58(%rsp), %rdi
callq 0x1214a0
movq 0x50(%rsp), %rdi
callq 0x116f10
movq %rax, 0x8(%rsp)
jmp 0x119467
movq 0x8(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x121b00
jmp 0x119478
leaq 0x58(%rsp), %rdi
callq 0x121950
movb $0x1, 0x167(%rsp)
jmp 0x1194ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x121950
jmp 0x1194ac
jmp 0x1194bf
movb 0x167(%rsp), %al
andb $0x1, %al
addq $0x168, %rsp            # imm = 0x168
retq
movq 0xe0(%rsp), %rdi
callq 0x86d80
movq %rax, %rdi
callq 0x91290
nopw %cs:(%rax,%rax)