// File: DoubleString[P]RtConverter/src/Json/json_reader.cpp
// Function: Json::OurReader::readNumber(bool)
bool OurReader::readNumber(bool checkInf) {
  const char* p = current_;
  if (checkInf && p != end_ && *p == 'I') {
    current_ = ++p;
    return false;
  }
  char c = '0'; // stopgap for already consumed character
  // integral part
  while (c >= '0' && c <= '9')
    c = (current_ = p) < end_ ? *p++ : '\0';
  // fractional part
  if (c == '.') {
    c = (current_ = p) < end_ ? *p++ : '\0';
    while (c >= '0' && c <= '9')
      c = (current_ = p) < end_ ? *p++ : '\0';
  }
  // exponential part
  if (c == 'e' || c == 'E') {
    c = (current_ = p) < end_ ? *p++ : '\0';
    if (c == '+' || c == '-')
      c = (current_ = p) < end_ ? *p++ : '\0';
    while (c >= '0' && c <= '9')
      c = (current_ = p) < end_ ? *p++ : '\0';
  }
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %sil, %al
movq %rdi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq 0xd0(%rax), %rax
movq %rax, -0x20(%rbp)
testb $0x1, -0x11(%rbp)
je 0x10b66
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
cmpq 0xc8(%rcx), %rax
je 0x10b66
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x49, %eax
jne 0x10b66
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movq %rcx, 0xd0(%rax)
movb $0x0, -0x1(%rbp)
jmp 0x10d7d
movb $0x30, -0x21(%rbp)
movsbl -0x21(%rbp), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x31(%rbp)
jl 0x10b85
movsbl -0x21(%rbp), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
testb $0x1, %al
jne 0x10b8e
jmp 0x10bcb
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rax, 0xd0(%rcx)
cmpq 0xc8(%rcx), %rax
jae 0x10bbc
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %al
movb %al, -0x32(%rbp)
jmp 0x10bc3
xorl %eax, %eax
movb %al, -0x32(%rbp)
jmp 0x10bc3
movb -0x32(%rbp), %al
movb %al, -0x21(%rbp)
jmp 0x10b6a
movsbl -0x21(%rbp), %eax
cmpl $0x2e, %eax
jne 0x10c76
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rax, 0xd0(%rcx)
cmpq 0xc8(%rcx), %rax
jae 0x10c06
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %al
movb %al, -0x33(%rbp)
jmp 0x10c0d
xorl %eax, %eax
movb %al, -0x33(%rbp)
jmp 0x10c0d
movb -0x33(%rbp), %al
movb %al, -0x21(%rbp)
movsbl -0x21(%rbp), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x34(%rbp)
jl 0x10c2e
movsbl -0x21(%rbp), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x34(%rbp)
movb -0x34(%rbp), %al
testb $0x1, %al
jne 0x10c37
jmp 0x10c74
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rax, 0xd0(%rcx)
cmpq 0xc8(%rcx), %rax
jae 0x10c65
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %al
movb %al, -0x35(%rbp)
jmp 0x10c6c
xorl %eax, %eax
movb %al, -0x35(%rbp)
jmp 0x10c6c
movb -0x35(%rbp), %al
movb %al, -0x21(%rbp)
jmp 0x10c13
jmp 0x10c76
movsbl -0x21(%rbp), %eax
cmpl $0x65, %eax
je 0x10c8c
movsbl -0x21(%rbp), %eax
cmpl $0x45, %eax
jne 0x10d79
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rax, 0xd0(%rcx)
cmpq 0xc8(%rcx), %rax
jae 0x10cba
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %al
movb %al, -0x36(%rbp)
jmp 0x10cc1
xorl %eax, %eax
movb %al, -0x36(%rbp)
jmp 0x10cc1
movb -0x36(%rbp), %al
movb %al, -0x21(%rbp)
movsbl -0x21(%rbp), %eax
cmpl $0x2b, %eax
je 0x10cd9
movsbl -0x21(%rbp), %eax
cmpl $0x2d, %eax
jne 0x10d14
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rax, 0xd0(%rcx)
cmpq 0xc8(%rcx), %rax
jae 0x10d07
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %al
movb %al, -0x37(%rbp)
jmp 0x10d0e
xorl %eax, %eax
movb %al, -0x37(%rbp)
jmp 0x10d0e
movb -0x37(%rbp), %al
movb %al, -0x21(%rbp)
jmp 0x10d16
movsbl -0x21(%rbp), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x38(%rbp)
jl 0x10d31
movsbl -0x21(%rbp), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x38(%rbp)
movb -0x38(%rbp), %al
testb $0x1, %al
jne 0x10d3a
jmp 0x10d77
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rax, 0xd0(%rcx)
cmpq 0xc8(%rcx), %rax
jae 0x10d68
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %al
movb %al, -0x39(%rbp)
jmp 0x10d6f
xorl %eax, %eax
movb %al, -0x39(%rbp)
jmp 0x10d6f
movb -0x39(%rbp), %al
movb %al, -0x21(%rbp)
jmp 0x10d16
jmp 0x10d79
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw %cs:(%rax,%rax)