// File: /workspace/github_cpp_makefile_star2_O2/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 %r15
pushq %r14
pushq %rbx
pushq %rax
leaq 0x24432b(%rip), %rax    # 0x2f7980
movzwl (%rax), %edx
leaq 0x244325(%rip), %rax    # 0x2f7984
movl (%rax), %ecx
leaq 0x1742f8(%rip), %rbx    # 0x227960
leaq 0x64510(%rip), %rsi     # 0x117b7f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
pushq $0x1
popq %r14
movl %r14d, %edi
callq 0xb25f5
leaq 0x24430a(%rip), %rax    # 0x2f7996
movzwl (%rax), %edx
leaq 0x244302(%rip), %rax    # 0x2f7998
movl (%rax), %ecx
leaq 0x644fa(%rip), %rsi     # 0x117b99
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
callq 0xb25f5
leaq 0x2442e4(%rip), %rax    # 0x2f799c
movl (%rax), %edx
leaq 0x2442d4(%rip), %rax    # 0x2f7995
movzbl (%rax), %ecx
leaq 0x644e8(%rip), %rsi     # 0x117bb3
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
callq 0xb25f5
leaq 0x2442b0(%rip), %rax    # 0x2f7994
movzbl (%rax), %edx
leaq 0x644df(%rip), %rsi     # 0x117bcd
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
callq 0xb25f5
leaq 0x244299(%rip), %rax    # 0x2f79a0
movzwl (%rax), %edx
leaq 0x644d2(%rip), %rsi     # 0x117be3
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
callq 0xb25f5
leaq 0x1757fa(%rip), %rax    # 0x228f24
cmpl $0x0, (%rax)
je 0xb3756
leaq 0x24426c(%rip), %rax    # 0x2f79a2
movzwl (%rax), %edx
leaq 0x174220(%rip), %rdi    # 0x227960
leaq 0x644b2(%rip), %rsi     # 0x117bf9
xorl %eax, %eax
callq 0x9060
pushq $0x1
popq %rdi
callq 0xb25f5
leaq 0x244247(%rip), %rax    # 0x2f79a4
movzbl (%rax), %edx
leaq 0x24423e(%rip), %rax    # 0x2f79a5
movzbl (%rax), %ecx
leaq 0x244236(%rip), %rax    # 0x2f79a7
movzbl (%rax), %r8d
leaq 0x24422a(%rip), %rax    # 0x2f79a6
movzbl (%rax), %eax
leaq 0xa0fba(%rip), %r15     # 0x154740
movq (%r15,%rax,8), %r9
leaq 0x244217(%rip), %rax    # 0x2f79a8
movzwl (%rax), %eax
movl %eax, (%rsp)
leaq 0x1741c2(%rip), %rbx    # 0x227960
leaq 0x6446a(%rip), %rsi     # 0x117c0f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
callq 0xb25f5
leaq 0x2441ec(%rip), %rax    # 0x2f79aa
movzbl (%rax), %edx
leaq 0x2441e3(%rip), %rax    # 0x2f79ab
movzbl (%rax), %ecx
leaq 0x2441db(%rip), %rax    # 0x2f79ad
movzbl (%rax), %r8d
leaq 0x2441cf(%rip), %rax    # 0x2f79ac
movzbl (%rax), %eax
movq (%r15,%rax,8), %r9
leaq 0x2441c3(%rip), %rax    # 0x2f79ae
movzwl (%rax), %eax
movl %eax, (%rsp)
leaq 0x64441(%rip), %rsi     # 0x117c39
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
callq 0xb25f5
leaq 0x24417b(%rip), %rax    # 0x2f798c
movzbl (%rax), %edx
leaq 0x244170(%rip), %rax    # 0x2f798b
movzbl (%rax), %ecx
leaq 0x244165(%rip), %rax    # 0x2f798a
movzbl (%rax), %eax
movq (%r15,%rax,8), %r8
leaq 0x244155(%rip), %rax    # 0x2f7988
movzwl (%rax), %r9d
leaq 0x64425(%rip), %rsi     # 0x117c63
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xb25f5