// File: tomfunkhouser[P]gaps/pkgs/RNBasics/json.cpp
// Function: Json::StyledWriter::isMultineArray(Json::Value const&)
bool StyledWriter::isMultineArray(const Value& value) {
  ArrayIndex const size = value.size();
  bool isMultiLine = size * 3 >= rightMargin_;
  childValues_.clear();
  for (ArrayIndex index = 0; index < size && !isMultiLine; ++index) {
    const Value& childValue = value[index];
    isMultiLine = ((childValue.isArray() || childValue.isObject()) &&
                        childValue.size() > 0);
  }
  if (!isMultiLine) // check if line length > max line length
  {
    childValues_.reserve(size);
    addChildValues_ = true;
    ArrayIndex lineLength = 4 + (size - 1) * 2; // '[ ' + ', '*n + ' ]'
    for (ArrayIndex index = 0; index < size; ++index) {
      if (hasCommentForValue(value[index])) {
        isMultiLine = true;
      }
      writeValue(value[index]);
      lineLength += static_cast<ArrayIndex>(childValues_[index].length());
    }
    addChildValues_ = false;
    isMultiLine = isMultiLine || lineLength >= rightMargin_;
  }
  return isMultiLine;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
callq 0xeb340
movq 0x10(%rsp), %rdi
movl %eax, 0x34(%rsp)
imull $0x3, 0x34(%rsp), %eax
cmpl 0x60(%rdi), %eax
setae %al
andb $0x1, %al
movb %al, 0x33(%rsp)
addq $0x8, %rdi
callq 0xfadd0
movl $0x0, 0x2c(%rsp)
movl 0x2c(%rsp), %ecx
xorl %eax, %eax
cmpl 0x34(%rsp), %ecx
movb %al, 0xf(%rsp)
jae 0xf50e7
movb 0x33(%rsp), %al
xorb $-0x1, %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0xf50f1
jmp 0xf5159
movq 0x38(%rsp), %rdi
movl 0x2c(%rsp), %esi
callq 0xf0020
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdi
callq 0xe0a60
testb $0x1, %al
jne 0xf512b
movq 0x20(%rsp), %rdi
callq 0xe0a80
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0xe(%rsp)
jne 0xf512b
jmp 0xf513f
movq 0x20(%rsp), %rdi
callq 0xeb340
cmpl $0x0, %eax
seta %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
andb $0x1, %al
movb %al, 0x33(%rsp)
movl 0x2c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0xf50cd
testb $0x1, 0x33(%rsp)
jne 0xf5248
movq 0x10(%rsp), %rdi
addq $0x8, %rdi
movl 0x34(%rsp), %eax
movl %eax, %esi
callq 0xfa630
movq 0x10(%rsp), %rax
movb $0x1, 0x68(%rax)
movl 0x34(%rsp), %eax
subl $0x1, %eax
shll %eax
addl $0x4, %eax
movl %eax, 0x1c(%rsp)
movl $0x0, 0x18(%rsp)
movl 0x18(%rsp), %eax
cmpl 0x34(%rsp), %eax
jae 0xf5215
movq 0x38(%rsp), %rdi
movl 0x18(%rsp), %esi
callq 0xf0020
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xf5300
testb $0x1, %al
jne 0xf51c4
jmp 0xf51c9
movb $0x1, 0x33(%rsp)
movq 0x38(%rsp), %rdi
movl 0x18(%rsp), %esi
callq 0xf0020
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xf41b0
movq 0x10(%rsp), %rdi
addq $0x8, %rdi
movl 0x18(%rsp), %eax
movl %eax, %esi
callq 0xf9cf0
movq %rax, %rdi
callq 0x12a90
addl 0x1c(%rsp), %eax
movl %eax, 0x1c(%rsp)
movl 0x18(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0xf5199
movq 0x10(%rsp), %rax
movb $0x0, 0x68(%rax)
movb $0x1, %al
testb $0x1, 0x33(%rsp)
movb %al, 0xd(%rsp)
jne 0xf523e
movq 0x10(%rsp), %rcx
movl 0x1c(%rsp), %eax
cmpl 0x60(%rcx), %eax
setae %al
movb %al, 0xd(%rsp)
movb 0xd(%rsp), %al
andb $0x1, %al
movb %al, 0x33(%rsp)
movb 0x33(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)