// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathmsc.cpp
// Function: write_log_tsip_vers()
void write_log_tsip_vers()
{
   sprintf(log_text, "#   Serial number: %u.%lu", sn_prefix, (unsigned long) serial_num);
   write_log_comment(1);
   sprintf(log_text, "#   Case s/n:      %u.%lu", case_prefix, (unsigned long) case_sn);
   write_log_comment(1);
   sprintf(log_text, "#   Prodn number:  %lu.%u", (unsigned long) prodn_num, prodn_extn);
   write_log_comment(1);
   sprintf(log_text, "#   Prodn options: %u", prodn_options);        // from prodn_params message
   write_log_comment(1);
   sprintf(log_text, "#   Machine id:    %u", machine_id);
   write_log_comment(1);
   if(ebolt) {
      sprintf(log_text, "#   Hardware code: %u", hw_code);
      write_log_comment(1);
   }

   sprintf(log_text, "#   App firmware:  %2d.%-2d  %02d %s %02d", 
      ap_major, ap_minor,  ap_day, months[ap_month], ap_year);   //!!! docs say 1900
   write_log_comment(1);
   sprintf(log_text, "#   GPS firmware:  %2d.%-2d  %02d %s %02d", 
      core_major, core_minor,  core_day, months[core_month], core_year);  //!!! docs say 1900
   write_log_comment(1);
   sprintf(log_text, "#   Mfg time:      %02d:00  %02d %s %04d", 
      build_hour, build_day, months[build_month], build_year);
   write_log_comment(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
leaq 0x2491c4(%rip), %rax    # 0x30d980
movzwl (%rax), %edx
leaq 0x2491be(%rip), %rax    # 0x30d984
movl (%rax), %ecx
leaq 0x179191(%rip), %rbx    # 0x23d960
leaq 0x69489(%rip), %rsi     # 0x12dc5f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x2491a5(%rip), %rax    # 0x30d996
movzwl (%rax), %edx
leaq 0x24919d(%rip), %rax    # 0x30d998
movl (%rax), %ecx
leaq 0x69475(%rip), %rsi     # 0x12dc79
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x24917d(%rip), %rax    # 0x30d99c
movl (%rax), %edx
leaq 0x24916d(%rip), %rax    # 0x30d995
movzbl (%rax), %ecx
leaq 0x69461(%rip), %rsi     # 0x12dc93
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x249147(%rip), %rax    # 0x30d994
movzbl (%rax), %edx
leaq 0x69456(%rip), %rsi     # 0x12dcad
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x24912e(%rip), %rax    # 0x30d9a0
movzwl (%rax), %edx
leaq 0x69447(%rip), %rsi     # 0x12dcc3
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x17a68d(%rip), %rax    # 0x23ef24
cmpl $0x0, (%rax)
je 0xc48c5
leaq 0x2490ff(%rip), %rax    # 0x30d9a2
movzwl (%rax), %edx
leaq 0x1790b3(%rip), %rdi    # 0x23d960
leaq 0x69425(%rip), %rsi     # 0x12dcd9
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x2490d8(%rip), %rax    # 0x30d9a4
movzbl (%rax), %edx
leaq 0x2490cf(%rip), %rax    # 0x30d9a5
movzbl (%rax), %ecx
leaq 0x2490c7(%rip), %rax    # 0x30d9a7
movzbl (%rax), %r8d
leaq 0x2490bb(%rip), %rax    # 0x30d9a6
movzbl (%rax), %eax
leaq 0xa5e4b(%rip), %r14     # 0x16a740
movq (%r14,%rax,8), %r9
leaq 0x2490a8(%rip), %rax    # 0x30d9a8
movzwl (%rax), %eax
movl %eax, (%rsp)
leaq 0x179053(%rip), %rbx    # 0x23d960
leaq 0x693db(%rip), %rsi     # 0x12dcef
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x24907b(%rip), %rax    # 0x30d9aa
movzbl (%rax), %edx
leaq 0x249072(%rip), %rax    # 0x30d9ab
movzbl (%rax), %ecx
leaq 0x24906a(%rip), %rax    # 0x30d9ad
movzbl (%rax), %r8d
leaq 0x24905e(%rip), %rax    # 0x30d9ac
movzbl (%rax), %eax
movq (%r14,%rax,8), %r9
leaq 0x249052(%rip), %rax    # 0x30d9ae
movzwl (%rax), %eax
movl %eax, (%rsp)
leaq 0x693b0(%rip), %rsi     # 0x12dd19
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
callq 0xc36e2
leaq 0x249008(%rip), %rax    # 0x30d98c
movzbl (%rax), %edx
leaq 0x248ffd(%rip), %rax    # 0x30d98b
movzbl (%rax), %ecx
leaq 0x248ff2(%rip), %rax    # 0x30d98a
movzbl (%rax), %eax
movq (%r14,%rax,8), %r8
leaq 0x248fe2(%rip), %rax    # 0x30d988
movzwl (%rax), %r9d
leaq 0x69392(%rip), %rsi     # 0x12dd43
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl $0x1, %edi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0xc36e2