// File: /workspace/github_cpp_makefile_star2_O3/maplechori[P]stata-reader-writer/StataHeader.cpp
// Function: StataHeader::showHeader[abi:cxx11]()
string StataHeader::showHeader() {
   std::ostringstream metadata;
   string textRelease;

   switch(fileRelease)
   {
       case R119: 
            textRelease = "119";
            break;
       case R118: 
            textRelease = "118";
            break;
       case R117: 
            textRelease = "117";
            break;
       case R115: 
            textRelease = "115";
            break;
       case R114: 
            textRelease = "114";
            break;
       case R113: 
            textRelease = "113";
            break;
       case R112:
            textRelease = "112";
            break;

   }

   
   metadata << "[Variables]: " << variables << endl
            << "[Observations]: " << observations << endl
            << "[Time Stamp]: " << ts << endl
            << "[Data Label]: " << datalabel << endl
            << "[Release]: " << textRelease << endl
            << "[Bitness]: " << (fileByteorder ? "Big Endian" : "Little Endian" ) << endl;


   return string(metadata.str());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rsi, %r14
movq %rdi, %rbx
leaq -0x1b8(%rbp), %rdi
callq 0x7440
leaq -0x30(%rbp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movl 0x58(%r14), %eax
cmpq $0x7, %rax
jae 0xb020
leaq 0x645e(%rip), %rdx      # 0x11464
movslq (%rdx,%rax,4), %rcx
addq %rdx, %rcx
leaq -0x40(%rbp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x74e0
leaq 0x63be(%rip), %rsi      # 0x113e5
leaq -0x1b8(%rbp), %rdi
movl $0xd, %edx
callq 0x73b0
movl 0x8(%r14), %esi
leaq -0x1b8(%rbp), %rdi
callq 0x7220
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7230
movq %rax, %r15
leaq 0x6377(%rip), %rsi      # 0x113f3
movl $0x10, %edx
movq %rax, %rdi
callq 0x73b0
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0x7220
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7230
movq %rax, %r15
leaq 0x633b(%rip), %rsi      # 0x11404
movl $0xe, %edx
movq %rax, %rdi
callq 0x73b0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %r15, %rdi
callq 0x73b0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7230
movq %rax, %r15
leaq 0x62f9(%rip), %rsi      # 0x11413
movl $0xe, %edx
movq %rax, %rdi
callq 0x73b0
movq 0x38(%r14), %rsi
movq 0x40(%r14), %rdx
movq %r15, %rdi
callq 0x73b0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7230
movq %rax, %r15
leaq 0x62b7(%rip), %rsi      # 0x11422
movl $0xb, %edx
movq %rax, %rdi
callq 0x73b0
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq %r15, %rdi
callq 0x73b0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7230
movq %rax, %r15
leaq 0x6272(%rip), %rsi      # 0x1142e
movl $0xb, %edx
movq %rax, %rdi
callq 0x73b0
xorl %eax, %eax
cmpl $0x0, 0x5c(%r14)
sete %al
leaq 0x626b(%rip), %rcx      # 0x11445
leaq 0x6259(%rip), %rsi      # 0x1143a
cmoveq %rcx, %rsi
leaq (%rax,%rax,2), %rdx
addq $0xa, %rdx
movq %r15, %rdi
callq 0x73b0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x7300
movsbl %al, %esi
movq %r15, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7230
leaq -0x1b0(%rbp), %rsi
movq %rbx, %rdi
callq 0x7510
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0xb240
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x7340
movq 0xdd71(%rip), %rsi      # 0x18fb8
leaq -0x1b8(%rbp), %rdi
callq 0x71c0
leaq -0x148(%rbp), %rdi
callq 0x7100
movq %rbx, %rax
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r12, %rdi
je 0xb28a
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x7340
movq 0xdd27(%rip), %rsi      # 0x18fb8
leaq -0x1b8(%rbp), %rdi
callq 0x71c0
leaq -0x148(%rbp), %rdi
callq 0x7100
movq %rbx, %rdi
callq 0x75b0
nopl (%rax)