// File: zeeev[P]DASVC/bamtools/src/third_party/jsoncpp/json_writer.cpp
// Function: Json::StyledWriter::writeValue(Json::Value const&)
void 
StyledWriter::writeValue( const Value &value )
{
   switch ( value.type() )
   {
   case nullValue:
      pushValue( "null" );
      break;
   case intValue:
      pushValue( valueToString( value.asInt() ) );
      break;
   case uintValue:
      pushValue( valueToString( value.asUInt() ) );
      break;
   case realValue:
      pushValue( valueToString( value.asDouble() ) );
      break;
   case stringValue:
      pushValue( valueToQuotedString( value.asCString() ) );
      break;
   case booleanValue:
      pushValue( valueToString( value.asBool() ) );
      break;
   case arrayValue:
      writeArrayValue( value);
      break;
   case objectValue:
      {
         Value::Members members( value.getMemberNames() );
         if ( members.empty() )
            pushValue( "{}" );
         else
         {
            writeWithIndent( "{" );
            indent();
            Value::Members::iterator it = members.begin();
            while ( true )
            {
               const std::string &name = *it;
               const Value &childValue = value[name];
               writeCommentBeforeValue( childValue );
               writeWithIndent( valueToQuotedString( name.c_str() ) );
               document_ += " : ";
               writeValue( childValue );
               if ( ++it == members.end() )
               {
                  writeCommentAfterValueOnSameLine( childValue );
                  break;
               }
               document_ += ",";
               writeCommentAfterValueOnSameLine( childValue );
            }
            unindent();
            writeWithIndent( "}" );
         }
      }
      break;
   }
}

// Assembly:
subq $0x258, %rsp            # imm = 0x258
movq %rdi, 0x250(%rsp)
movq %rsi, 0x248(%rsp)
movq 0x250(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x248(%rsp), %rdi
callq 0x121c70
movl %eax, %ecx
movq %rcx, 0x98(%rsp)
subl $0x7, %eax
ja 0x12ba42
movq 0x98(%rsp), %rax
leaq 0x9926(%rip), %rcx      # 0x134bec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x227(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x86da0
movq 0x88(%rsp), %rdx
leaq 0x9996(%rip), %rsi      # 0x134c89
leaq 0x228(%rsp), %rdi
callq 0x86a00
jmp 0x12b302
movq 0x90(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x12bc90
jmp 0x12b319
leaq 0x228(%rsp), %rdi
callq 0x86f68
jmp 0x12b328
leaq 0x227(%rsp), %rdi
callq 0x867b0
jmp 0x12ba42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x12b375
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x228(%rsp), %rdi
callq 0x86f68
jmp 0x12b373
jmp 0x12b375
leaq 0x227(%rsp), %rdi
callq 0x867b0
jmp 0x12ba4a
movq 0x248(%rsp), %rdi
callq 0x122470
movq %rax, %rsi
leaq 0x1f0(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x129e80
movq 0x90(%rsp), %rdi
movq 0x80(%rsp), %rsi
callq 0x12bc90
jmp 0x12b3c3
leaq 0x1f0(%rsp), %rdi
callq 0x86f68
jmp 0x12ba42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0x86f68
jmp 0x12b3f8
jmp 0x12ba4a
movq 0x248(%rsp), %rdi
callq 0x122810
movq %rax, %rsi
leaq 0x1d0(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x129fd0
movq 0x90(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0x12bc90
jmp 0x12b433
leaq 0x1d0(%rsp), %rdi
callq 0x86f68
jmp 0x12ba42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x1d0(%rsp), %rdi
callq 0x86f68
jmp 0x12b468
jmp 0x12ba4a
movq 0x248(%rsp), %rdi
callq 0x122bd0
leaq 0x1b0(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x12a070
movq 0x90(%rsp), %rdi
movq 0x70(%rsp), %rsi
callq 0x12bc90
jmp 0x12b4a0
leaq 0x1b0(%rsp), %rdi
callq 0x86f68
jmp 0x12ba42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0x86f68
jmp 0x12b4d5
jmp 0x12ba4a
movq 0x248(%rsp), %rdi
callq 0x122150
movq %rax, %rsi
leaq 0x190(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x12a370
movq 0x90(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x12bc90
jmp 0x12b510
leaq 0x190(%rsp), %rdi
callq 0x86f68
jmp 0x12ba42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x190(%rsp), %rdi
callq 0x86f68
jmp 0x12b545
jmp 0x12ba4a
movq 0x248(%rsp), %rdi
callq 0x122da0
movzbl %al, %esi
leaq 0x170(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x12a2d0
movq 0x90(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x12bc90
jmp 0x12b580
leaq 0x170(%rsp), %rdi
callq 0x86f68
jmp 0x12ba42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x170(%rsp), %rdi
callq 0x86f68
jmp 0x12b5b5
jmp 0x12ba4a
movq 0x90(%rsp), %rdi
movq 0x248(%rsp), %rsi
callq 0x12bce0
jmp 0x12ba42
movq 0x248(%rsp), %rsi
leaq 0x158(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x124370
movq 0x50(%rsp), %rdi
callq 0xcfce0
movb %al, 0x5f(%rsp)
jmp 0x12b5fe
movb 0x5f(%rsp), %al
testb $0x1, %al
jne 0x12b60b
jmp 0x12b6d6
leaq 0x137(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x86da0
movq 0x48(%rsp), %rdx
leaq 0x9665(%rip), %rsi      # 0x134c8e
leaq 0x138(%rsp), %rdi
callq 0x86a00
jmp 0x12b638
movq 0x90(%rsp), %rdi
leaq 0x138(%rsp), %rsi
callq 0x12bc90
jmp 0x12b64f
leaq 0x138(%rsp), %rdi
callq 0x86f68
jmp 0x12b65e
leaq 0x137(%rsp), %rdi
callq 0x867b0
jmp 0x12ba22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x12ba31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x12b6c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x138(%rsp), %rdi
callq 0x86f68
jmp 0x12b6c2
jmp 0x12b6c4
leaq 0x137(%rsp), %rdi
callq 0x867b0
jmp 0x12ba31
leaq 0x10f(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x86da0
movq 0x40(%rsp), %rdx
leaq 0x2dbe(%rip), %rsi      # 0x12e4b2
leaq 0x110(%rsp), %rdi
callq 0x86a00
jmp 0x12b703
movq 0x90(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x12c0b0
jmp 0x12b71a
leaq 0x110(%rsp), %rdi
callq 0x86f68
jmp 0x12b729
leaq 0x10f(%rsp), %rdi
callq 0x867b0
movq 0x90(%rsp), %rdi
callq 0x12c0f0
jmp 0x12b745
leaq 0x158(%rsp), %rdi
callq 0x935d0
movq %rax, 0x38(%rsp)
jmp 0x12b759
movq 0x38(%rsp), %rax
movq %rax, 0x100(%rsp)
jmp 0x12b768
leaq 0x100(%rsp), %rdi
callq 0xd7ff0
movq %rax, 0x30(%rsp)
jmp 0x12b77c
movq 0x30(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0x248(%rsp), %rdi
movq 0xf8(%rsp), %rsi
callq 0x123f20
movq %rax, 0x28(%rsp)
jmp 0x12b7a5
movq 0x90(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0xf0(%rsp), %rsi
callq 0x12b180
jmp 0x12b7c9
movq 0xf8(%rsp), %rdi
callq 0x86320
movq %rax, 0x20(%rsp)
jmp 0x12b7dd
movq 0x20(%rsp), %rsi
leaq 0xd0(%rsp), %rdi
callq 0x12a370
jmp 0x12b7f1
movq 0x90(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x12c0b0
jmp 0x12b808
leaq 0xd0(%rsp), %rdi
callq 0x86f68
jmp 0x12b817
movq 0x90(%rsp), %rdi
addq $0x20, %rdi
leaq 0x859e(%rip), %rsi      # 0x133dc8
callq 0x866c0
jmp 0x12b831
movq 0x90(%rsp), %rdi
movq 0xf0(%rsp), %rsi
callq 0x12b270
jmp 0x12b848
leaq 0x100(%rsp), %rdi
callq 0xd8000
movq %rax, 0x18(%rsp)
jmp 0x12b85c
leaq 0x158(%rsp), %rdi
callq 0x93440
movq %rax, 0x10(%rsp)
jmp 0x12b870
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq %rax, 0xc8(%rsp)
leaq 0xc8(%rsp), %rsi
callq 0x12ddc0
movb %al, 0xf(%rsp)
jmp 0x12b895
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x12b8a2
jmp 0x12b933
movq 0x90(%rsp), %rdi
movq 0xf0(%rsp), %rsi
callq 0x12ba60
jmp 0x12b8b9
jmp 0x12b969
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x12b8f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x110(%rsp), %rdi
callq 0x86f68
jmp 0x12b8f7
jmp 0x12b8f9
leaq 0x10f(%rsp), %rdi
callq 0x867b0
jmp 0x12ba31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x86f68
jmp 0x12b92e
jmp 0x12ba31
movq 0x90(%rsp), %rdi
addq $0x20, %rdi
leaq 0x2b2d(%rip), %rsi      # 0x12e473
callq 0x866c0
jmp 0x12b94d
movq 0x90(%rsp), %rdi
movq 0xf0(%rsp), %rsi
callq 0x12ba60
jmp 0x12b964
jmp 0x12b766
movq 0x90(%rsp), %rdi
callq 0x12c1b0
jmp 0x12b978
leaq 0xa7(%rsp), %rdi
movq %rdi, (%rsp)
callq 0x86da0
movq (%rsp), %rdx
leaq 0x92fb(%rip), %rsi      # 0x134c8f
leaq 0xa8(%rsp), %rdi
callq 0x86a00
jmp 0x12b9a3
movq 0x90(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x12c0b0
jmp 0x12b9ba
leaq 0xa8(%rsp), %rdi
callq 0x86f68
jmp 0x12b9c9
leaq 0xa7(%rsp), %rdi
callq 0x867b0
jmp 0x12ba22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x12ba13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0x86f68
jmp 0x12ba11
jmp 0x12ba13
leaq 0xa7(%rsp), %rdi
callq 0x867b0
jmp 0x12ba31
leaq 0x158(%rsp), %rdi
callq 0x92a50
jmp 0x12ba42
leaq 0x158(%rsp), %rdi
callq 0x92a50
jmp 0x12ba40
jmp 0x12ba4a
addq $0x258, %rsp            # imm = 0x258
retq
movq 0x218(%rsp), %rdi
callq 0x86d80
movq %rax, %rdi
callq 0x91290
nop