// File: /workspace/github_cpp_makefile_star2_O3/mattn[P]minijson/./minijson.h
// Function: minijson::error minijson::parse_object<char const*>(char const*&, minijson::value&)
inline error
parse_object(Iter& i, value& v) {
  object o;
  i++;
  _MINIJSON_SKIP(i);
  if (*i != '\x7d') {
    while (*i) {
      value vk, vv;
      error e = parse_string(i, vk);
      if (e != no_error) return e;
      _MINIJSON_SKIP(i);
      if (*i != ':') return invalid_token_error;
      i++;
      e = parse_any(i, vv);
      if (e != no_error) return e;
#if defined(_MSC_VER) && _MSC_VER <= 6000
      string s;
      vk.get(s);
      o[s] = vv;
#else
      o[vk.get<std::string>()] = vv;
#endif
      _MINIJSON_SKIP(i);
      if (*i == '\x7d') break;
      if (*i != ',') return invalid_token_error;
      i++;
      _MINIJSON_SKIP(i);
#ifdef __MINIJSON_LIBERAL
      if (*i == '\x7d') break;
#endif
    }
  }
  v = value(o);
  i++;
  return no_error;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x30(%rsp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
movq (%rdi), %r12
incq %r12
leaq 0x1349(%rip), %r15      # 0x50f1
movq %r12, (%rbx)
movsbl (%r12), %ebp
testl %ebp, %ebp
je 0x3dd1
movl $0x5, %edx
movq %r15, %rdi
movl %ebp, %esi
callq 0x21b0
incq %r12
testq %rax, %rax
jne 0x3da8
cmpb $0x7d, %bpl
jne 0x3e01
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x4552
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x33fe
leaq 0x8(%rsp), %rdi
callq 0x294a
incq (%rbx)
xorl %ebp, %ebp
jmp 0x3f91
xorl %eax, %eax
leaq 0x8(%rsp), %r15
leaq 0x12e2(%rip), %r12      # 0x50f1
movl %eax, 0x8(%rsp)
movq %rax, 0x10(%rsp)
movl %eax, 0x18(%rsp)
movq %rax, 0x20(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x42ec
movl %eax, %ebp
testl %eax, %eax
jne 0x3f7d
movq (%rbx), %r15
movb (%r15), %r13b
movl $0x2, %ebp
testb %r13b, %r13b
je 0x3f7d
incq %r15
movsbl %r13b, %esi
movl $0x5, %edx
movq %r12, %rdi
callq 0x21b0
testq %rax, %rax
je 0x3e76
movq %r15, (%rbx)
movb (%r15), %r13b
incq %r15
testb %r13b, %r13b
jne 0x3e4d
jmp 0x3f7d
cmpb $0x3a, %r13b
jne 0x3f7d
movq %r15, (%rbx)
movq %rbx, %rdi
leaq 0x18(%rsp), %rsi
callq 0x3b95
testl %eax, %eax
jne 0x3f57
movl 0x8(%rsp), %eax
cmpl $0x4, %eax
je 0x3eb0
cmpl $0x6, %eax
je 0x3eb0
leaq 0x10(%rsp), %rsi
cmpl $0x5, %eax
jne 0x3eb5
movq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x44d6
movq %rax, %rdi
leaq 0x18(%rsp), %rsi
callq 0x33fe
movq (%rbx), %r15
movb (%r15), %r13b
testb %r13b, %r13b
je 0x3f7d
incq %r15
movsbl %r13b, %esi
movl $0x5, %edx
movq %r12, %rdi
callq 0x21b0
testq %rax, %rax
je 0x3f04
movq %r15, (%rbx)
movb (%r15), %r13b
incq %r15
testb %r13b, %r13b
jne 0x3ede
jmp 0x3f7d
cmpb $0x2c, %r13b
jne 0x3f5b
movq %r15, (%rbx)
movsbl (%r15), %esi
testl %esi, %esi
je 0x3f2a
movl $0x5, %edx
movq %r12, %rdi
callq 0x21b0
incq %r15
testq %rax, %rax
jne 0x3f0a
leaq 0x18(%rsp), %rdi
callq 0x294a
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x294a
movq (%rbx), %rax
cmpb $0x0, (%rax)
movl $0x0, %eax
jne 0x3e0f
jmp 0x3dd1
movl %eax, %ebp
jmp 0x3f7d
movzbl %r13b, %eax
cmpl $0x7d, %eax
jne 0x3f7d
leaq 0x18(%rsp), %rdi
callq 0x294a
leaq 0x8(%rsp), %rdi
callq 0x294a
jmp 0x3dd1
leaq 0x18(%rsp), %rdi
callq 0x294a
leaq 0x8(%rsp), %rdi
callq 0x294a
leaq 0x28(%rsp), %rdi
callq 0x2e0e
movl %ebp, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x294a
jmp 0x3fbe
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x294a
jmp 0x3fcd
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2e0e
movq %rbx, %rdi
callq 0x2250