// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/pkgs/RNBasics/json.cpp
// Function: Json::CharReaderBuilder::validate(Json::Value*) const
bool CharReaderBuilder::validate(Json::Value* invalid) const
{
  Json::Value my_invalid;
  if (!invalid) invalid = &my_invalid;  // so we do not need to test for NULL
  Json::Value& inv = *invalid;
  std::set<std::string> valid_keys;
  getValidReaderKeys(&valid_keys);
  Value::Members keys = settings_.getMemberNames();
  size_t n = keys.size();
  for (size_t i = 0; i < n; ++i) {
    std::string const& key = keys[i];
    if (valid_keys.find(key) == valid_keys.end()) {
      inv[key] = settings_[key];
    }
  }
  return 0u == inv.size();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
leaq 0x68(%rsp), %rax
andw $0x0, 0x8(%rax)
xorps %xmm0, %xmm0
andq $0x0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
andq $0x0, (%rax)
movq %rdi, %rbx
testq %rsi, %rsi
cmoveq %rax, %rsi
movq %rsi, 0x30(%rsp)
leaq 0x40(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x38(%rsp), %rdi
callq 0x7a9ce
leaq 0x38a8f(%rip), %rsi     # 0xac2ea
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x38a70(%rip), %rsi     # 0xac2fa
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x38a4f(%rip), %rsi     # 0xac308
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x38a2b(%rip), %rsi     # 0xac313
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x38a19(%rip), %rsi     # 0xac330
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x389fb(%rip), %rsi     # 0xac341
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x389de(%rip), %rsi     # 0xac353
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x389ba(%rip), %rsi     # 0xac35e
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x38997(%rip), %rsi     # 0xac36a
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
leaq 0x38976(%rip), %rsi     # 0xac378
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x196d0
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7aa4c
leaq 0x10(%rsp), %rdi
callq 0x11270
addq $0x8, %rbx
leaq 0x10(%rsp), %rdi
movq %rbx, %rbp
movq %rbx, %rsi
callq 0x73b72
movq 0x18(%rsp), %r14
subq 0x10(%rsp), %r14
sarq $0x5, %r14
xorl %ebx, %ebx
leaq 0x38(%rsp), %r15
leaq 0x90(%rsp), %r12
subq $0x1, %r14
jb 0x73aba
movq 0x10(%rsp), %r13
addq %rbx, %r13
movq %r15, %rdi
movq %r13, %rsi
callq 0x7c468
leaq 0x40(%rsp), %rcx
cmpq %rcx, %rax
jne 0x73ab4
movq %rbp, %rdi
movq %r13, %rsi
callq 0x73ca2
movq %r12, %rdi
movq %rax, %rsi
callq 0x74b36
movq 0x30(%rsp), %rdi
movq %r13, %rsi
callq 0x70276
movq %rax, %rdi
movq %r12, %rsi
callq 0x74c68
movq %r12, %rdi
callq 0x74cb0
addq $0x20, %rbx
jmp 0x73a5b
movq 0x30(%rsp), %rdi
callq 0x73cc6
testl %eax, %eax
sete %bl
leaq 0x10(%rsp), %rdi
callq 0x7a0e6
leaq 0x38(%rsp), %rdi
callq 0x7abe4
leaq 0x68(%rsp), %rdi
callq 0x74cb0
movl %ebx, %eax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
jmp 0x73b21
jmp 0x73b30
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x11270
jmp 0x73b56
movq %rax, %rbx
jmp 0x73b56
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x74cb0
jmp 0x73b4c
jmp 0x73b49
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x7a0e6
leaq 0x38(%rsp), %rdi
callq 0x7abe4
leaq 0x68(%rsp), %rdi
callq 0x74cb0
movq %rbx, %rdi
callq 0x11a80