// File: zeeev[P]DASVC/bamtools/src/third_party/jsoncpp/json_writer.cpp
// Function: Json::FastWriter::writeValue(Json::Value const&)
void 
FastWriter::writeValue( const Value &value )
{
   switch ( value.type() )
   {
   case nullValue:
      document_ += "null";
      break;
   case intValue:
      document_ += valueToString( value.asInt() );
      break;
   case uintValue:
      document_ += valueToString( value.asUInt() );
      break;
   case realValue:
      document_ += valueToString( value.asDouble() );
      break;
   case stringValue:
      document_ += valueToQuotedString( value.asCString() );
      break;
   case booleanValue:
      document_ += valueToString( value.asBool() );
      break;
   case arrayValue:
      {
         document_ += "[";
         int size = value.size();
         for ( int index =0; index < size; ++index )
         {
            if ( index > 0 )
               document_ += ",";
            writeValue( value[index] );
         }
         document_ += "]";
      }
      break;
   case objectValue:
      {
         Value::Members members( value.getMemberNames() );
         document_ += "{";
         for ( Value::Members::iterator it = members.begin(); 
               it != members.end(); 
               ++it )
         {
            const std::string &name = *it;
            if ( it != members.begin() )
               document_ += ",";
            document_ += valueToQuotedString( name.c_str() );
            document_ += yamlCompatiblityEnabled_ ? ": " 
                                                  : ":";
            writeValue( value[name] );
         }
         document_ += "}";
      }
      break;
   }
}

// Assembly:
subq $0x198, %rsp            # imm = 0x198
movq %rdi, 0x190(%rsp)
movq %rsi, 0x188(%rsp)
movq 0x190(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x188(%rsp), %rdi
callq 0x121c70
movl %eax, %ecx
movq %rcx, 0x70(%rsp)
subl $0x7, %eax
ja 0x12afba
movq 0x70(%rsp), %rax
leaq 0xa14f(%rip), %rcx      # 0x134bcc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0xa1f3(%rip), %rsi      # 0x134c89
callq 0x866c0
jmp 0x12afba
movq 0x188(%rsp), %rdi
callq 0x122470
movq %rax, %rsi
leaq 0x168(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x129e80
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
addq $0x8, %rdi
callq 0x86910
jmp 0x12aad7
leaq 0x168(%rsp), %rdi
callq 0x86f68
jmp 0x12afba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
leaq 0x168(%rsp), %rdi
callq 0x86f68
jmp 0x12ab0c
jmp 0x12afc2
movq 0x188(%rsp), %rdi
callq 0x122810
movq %rax, %rsi
leaq 0x138(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x129fd0
movq 0x68(%rsp), %rdi
movq 0x58(%rsp), %rsi
addq $0x8, %rdi
callq 0x86910
jmp 0x12ab48
leaq 0x138(%rsp), %rdi
callq 0x86f68
jmp 0x12afba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
leaq 0x138(%rsp), %rdi
callq 0x86f68
jmp 0x12ab7d
jmp 0x12afc2
movq 0x188(%rsp), %rdi
callq 0x122bd0
leaq 0x118(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x12a070
movq 0x68(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x8, %rdi
callq 0x86910
jmp 0x12abb6
leaq 0x118(%rsp), %rdi
callq 0x86f68
jmp 0x12afba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
leaq 0x118(%rsp), %rdi
callq 0x86f68
jmp 0x12abeb
jmp 0x12afc2
movq 0x188(%rsp), %rdi
callq 0x122150
movq %rax, %rsi
leaq 0xf8(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x12a370
movq 0x68(%rsp), %rdi
movq 0x48(%rsp), %rsi
addq $0x8, %rdi
callq 0x86910
jmp 0x12ac27
leaq 0xf8(%rsp), %rdi
callq 0x86f68
jmp 0x12afba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x86f68
jmp 0x12ac5c
jmp 0x12afc2
movq 0x188(%rsp), %rdi
callq 0x122da0
movzbl %al, %esi
leaq 0xd8(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x12a2d0
movq 0x68(%rsp), %rdi
movq 0x40(%rsp), %rsi
addq $0x8, %rdi
callq 0x86910
jmp 0x12ac98
leaq 0xd8(%rsp), %rdi
callq 0x86f68
jmp 0x12afba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0x86f68
jmp 0x12accd
jmp 0x12afc2
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0x9378(%rip), %rsi      # 0x13405a
callq 0x866c0
movq 0x188(%rsp), %rdi
callq 0x123200
movl %eax, 0xd4(%rsp)
movl $0x0, 0xd0(%rsp)
movl 0xd0(%rsp), %eax
cmpl 0xd4(%rsp), %eax
jge 0x12ad69
cmpl $0x0, 0xd0(%rsp)
jle 0x12ad35
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0x3743(%rip), %rsi      # 0x12e473
callq 0x866c0
movq 0x188(%rsp), %rdi
movl 0xd0(%rsp), %esi
callq 0x123840
movq 0x68(%rsp), %rdi
movq %rax, %rsi
callq 0x12aa30
movl 0xd0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xd0(%rsp)
jmp 0x12ad06
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0x49f8(%rip), %rsi      # 0x12f771
callq 0x866c0
jmp 0x12afba
movq 0x188(%rsp), %rsi
leaq 0xb8(%rsp), %rdi
callq 0x124370
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0x370a(%rip), %rsi      # 0x12e4b2
callq 0x866c0
jmp 0x12adaf
leaq 0xb8(%rsp), %rdi
callq 0x935d0
movq %rax, 0x38(%rsp)
jmp 0x12adc3
movq 0x38(%rsp), %rax
movq %rax, 0xb0(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x93440
movq %rax, 0x30(%rsp)
jmp 0x12ade4
movq 0x30(%rsp), %rax
movq %rax, 0xa8(%rsp)
leaq 0xb0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0xd7fb0
movb %al, 0x2f(%rsp)
jmp 0x12ae0c
movb 0x2f(%rsp), %al
testb $0x1, %al
jne 0x12ae19
jmp 0x12af83
leaq 0xb0(%rsp), %rdi
callq 0xd7ff0
movq %rax, 0x20(%rsp)
jmp 0x12ae2d
movq 0x20(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x935d0
movq %rax, 0x18(%rsp)
jmp 0x12ae4e
movq 0x18(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0xb0(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xd7fb0
movb %al, 0x17(%rsp)
jmp 0x12ae76
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x12ae80
jmp 0x12aeb2
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0x35e3(%rip), %rsi      # 0x12e473
callq 0x866c0
jmp 0x12ae97
jmp 0x12aeb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
jmp 0x12afa9
movq 0xa0(%rsp), %rdi
callq 0x86320
movq %rax, 0x8(%rsp)
jmp 0x12aec6
movq 0x8(%rsp), %rsi
leaq 0x78(%rsp), %rdi
callq 0x12a370
jmp 0x12aed7
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0x78(%rsp), %rsi
callq 0x86910
jmp 0x12aeec
leaq 0x78(%rsp), %rdi
callq 0x86f68
jmp 0x12aef8
movq 0x68(%rsp), %rdi
movb 0x28(%rdi), %cl
leaq 0x8ec2(%rip), %rax      # 0x133dc9
leaq 0x35b3(%rip), %rsi      # 0x12e4c1
testb $0x1, %cl
cmovneq %rax, %rsi
addq $0x8, %rdi
callq 0x866c0
jmp 0x12af20
movq 0x188(%rsp), %rdi
movq 0xa0(%rsp), %rsi
callq 0x123f20
movq %rax, (%rsp)
jmp 0x12af3b
movq (%rsp), %rsi
movq 0x68(%rsp), %rdi
callq 0x12aa30
jmp 0x12af4b
jmp 0x12af4d
leaq 0xb0(%rsp), %rdi
callq 0xd8000
jmp 0x12af5c
jmp 0x12add0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x86f68
jmp 0x12af81
jmp 0x12afa9
movq 0x68(%rsp), %rdi
addq $0x8, %rdi
leaq 0x9cfc(%rip), %rsi      # 0x134c8f
callq 0x866c0
jmp 0x12af9a
leaq 0xb8(%rsp), %rdi
callq 0x92a50
jmp 0x12afba
leaq 0xb8(%rsp), %rdi
callq 0x92a50
jmp 0x12afb8
jmp 0x12afc2
addq $0x198, %rsp            # imm = 0x198
retq
movq 0x160(%rsp), %rdi
callq 0x86d80
movq %rax, %rdi
callq 0x91290
nopw (%rax,%rax)