// File: tomfunkhouser[P]gaps/pkgs/RNBasics/json.cpp
// Function: Json::Value::getMemberNames[abi:cxx11]() const
Value::Members Value::getMemberNames() const {
  JSON_ASSERT_MESSAGE(
      type_ == nullValue || type_ == objectValue,
      "in Json::Value::getMemberNames(), value must be objectValue");
  if (type_ == nullValue)
    return Value::Members();
  Members members;
  members.reserve(value_.map_->size());
  ObjectValues::const_iterator it = value_.map_->begin();
  ObjectValues::const_iterator itEnd = value_.map_->end();
  for (; it != itEnd; ++it) {
    members.push_back(std::string((*it).first.data(),
                                  (*it).first.length()));
  }
  return members;
}

// Assembly:
subq $0x248, %rsp            # imm = 0x248
movq %rdi, 0x28(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq %rdi, 0x240(%rsp)
movq %rsi, 0x238(%rsp)
movq 0x238(%rsp), %rax
movq %rax, 0x38(%rsp)
movw 0x8(%rax), %ax
andw $0xff, %ax
movzwl %ax, %eax
cmpl $0x0, %eax
je 0xeb0b4
movq 0x38(%rsp), %rax
movw 0x8(%rax), %ax
andw $0xff, %ax
movzwl %ax, %eax
cmpl $0x7, %eax
je 0xeb0b4
leaq 0xc0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x12980
movq 0x20(%rsp), %rdi
leaq 0x7fb57(%rip), %rsi     # 0x16ab83
callq 0x126b0
jmp 0xeb033
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x12700
jmp 0xeb04a
leaq 0x90(%rsp), %rdi
callq 0xec480
jmp 0xeb059
leaq 0x90(%rsp), %rdi
callq 0x12430
callq 0x12380
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
jmp 0xeb0a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0x90(%rsp), %rdi
callq 0x12430
leaq 0xc0(%rsp), %rdi
callq 0x121a0
jmp 0xeb29b
movq 0x38(%rsp), %rax
movw 0x8(%rax), %ax
andw $0xff, %ax
movzwl %ax, %eax
cmpl $0x0, %eax
jne 0xeb0e9
movq 0x28(%rsp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x12370
movq 0x28(%rsp), %rdi
callq 0xfa620
jmp 0xeb28e
movq 0x28(%rsp), %rdi
movb $0x0, 0x8f(%rsp)
callq 0xfa620
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xfa1e0
movq 0x28(%rsp), %rdi
movq %rax, %rsi
callq 0xfa630
jmp 0xeb117
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xfa740
movq %rax, 0x78(%rsp)
leaq 0x80(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xfa2d0
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xfa2a0
movq %rax, 0x68(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0xfa2d0
leaq 0x80(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0xfa770
testb $0x1, %al
jne 0xeb177
jmp 0xeb264
leaq 0x80(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xfa320
movq %rax, %rdi
callq 0xebe70
movq (%rsp), %rdi
movq %rax, 0x8(%rsp)
callq 0xfa320
movq %rax, %rdi
callq 0xebea0
movl %eax, %eax
movq %rax, 0x10(%rsp)
leaq 0x47(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x12c30
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
leaq 0x48(%rsp), %rdi
callq 0x127f0
jmp 0xeb1d7
movq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0xfa790
jmp 0xeb1e8
leaq 0x48(%rsp), %rdi
callq 0x12430
leaq 0x47(%rsp), %rdi
callq 0x12760
leaq 0x80(%rsp), %rdi
callq 0xfa7c0
jmp 0xeb15c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
jmp 0xeb282
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
jmp 0xeb258
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0x48(%rsp), %rdi
callq 0x12430
leaq 0x47(%rsp), %rdi
callq 0x12760
jmp 0xeb282
movb $0x1, 0x8f(%rsp)
testb $0x1, 0x8f(%rsp)
jne 0xeb280
movq 0x28(%rsp), %rdi
callq 0xf9da0
jmp 0xeb28e
movq 0x28(%rsp), %rdi
callq 0xf9da0
jmp 0xeb29b
movq 0x30(%rsp), %rax
addq $0x248, %rsp            # imm = 0x248
retq
movq 0xb8(%rsp), %rdi
callq 0x12c20
nopl (%rax,%rax)