// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_cs_time()
void parse_cs_time()
{
double jd;

   if(get_msg_field()) {
      pri_hours = hours = cs_hours = atoi(msg_field);
   }
   if(get_msg_field()) {
      pri_minutes = minutes = cs_minutes = atoi(msg_field);
   }
   if(get_msg_field()) {
      pri_seconds = seconds = cs_seconds = atoi(msg_field);
   }
   pri_frac = 0.0;

   if(have_cs_mjd && cs_mjd) {
      jd = cs_mjd + JD_MJD;
      gregorian(0, jd);
      pri_year = year = g_year;
      pri_month = month = g_month;
      pri_day = day = g_day;
   }
   else {  // no MJD set, get it from system clock
      get_clock_time();   // get system clock time in UTC
      pri_year = year = clk_year;
      pri_month = month = clk_month;
      pri_day = day = clk_day;
   }

   have_cs_time = 1;

   if(timing_mode == TMODE_GPS) {     // convert utc time to gps time
      utc_to_gps();
   }
   else {
      adjust_rcvr_time(0.0);  // incorporarte possibly negative fractional second into time variables
   }

   if(seconds != last_misc_second) {
      update_gps_screen(1006);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
callq 0x75767
testl %eax, %eax
je 0x936ba
leaq 0x2923a6(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x17133a(%rip), %rcx    # 0x2049e0
movl %eax, (%rcx)
leaq 0x263e21(%rip), %rcx    # 0x2f74d0
movl %eax, (%rcx)
leaq 0x263e50(%rip), %rcx    # 0x2f7508
movl %eax, (%rcx)
callq 0x75767
testl %eax, %eax
je 0x936ea
leaq 0x292376(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x17130e(%rip), %rcx    # 0x2049e4
movl %eax, (%rcx)
leaq 0x263ded(%rip), %rcx    # 0x2f74cc
movl %eax, (%rcx)
leaq 0x263e1c(%rip), %rcx    # 0x2f7504
movl %eax, (%rcx)
callq 0x75767
testl %eax, %eax
je 0x9371a
leaq 0x292346(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x1712e2(%rip), %rcx    # 0x2049e8
movl %eax, (%rcx)
leaq 0x263db9(%rip), %rcx    # 0x2f74c8
movl %eax, (%rcx)
leaq 0x263de8(%rip), %rcx    # 0x2f7500
movl %eax, (%rcx)
leaq 0x263df7(%rip), %rax    # 0x2f7518
andq $0x0, (%rax)
leaq 0x1712d8(%rip), %rax    # 0x204a04
cmpl $0x0, (%rax)
je 0x9376e
leaq 0x1711c0(%rip), %rax    # 0x2048f8
movsd (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x93748
jnp 0x9376e
addsd 0x74ff0(%rip), %xmm0    # 0x108740
xorl %edi, %edi
callq 0xbfac2
leaq 0x263f42(%rip), %rax    # 0x2f76a0
leaq 0x263f37(%rip), %rcx    # 0x2f769c
leaq 0x263f38(%rip), %rdx    # 0x2f76a4
jmp 0x93788
callq 0xa386
leaq 0x263f4a(%rip), %rax    # 0x2f76c4
leaq 0x263f3f(%rip), %rcx    # 0x2f76c0
leaq 0x263f40(%rip), %rdx    # 0x2f76c8
movl (%rdx), %edx
leaq 0x263d4b(%rip), %rsi    # 0x2f74dc
movl %edx, (%rsi)
leaq 0x263d7a(%rip), %rsi    # 0x2f7514
movl %edx, (%rsi)
movl (%rcx), %ecx
leaq 0x263d33(%rip), %rdx    # 0x2f74d8
movl %ecx, (%rdx)
leaq 0x263d62(%rip), %rdx    # 0x2f7510
movl %ecx, (%rdx)
movl (%rax), %eax
leaq 0x263d1b(%rip), %rcx    # 0x2f74d4
movl %eax, (%rcx)
leaq 0x263d4a(%rip), %rcx    # 0x2f750c
movl %eax, (%rcx)
leaq 0x171235(%rip), %rax    # 0x204a00
movl $0x1, (%rax)
leaq 0x263ce5(%rip), %rax    # 0x2f74bd
cmpb $0x0, (%rax)
je 0x937e8
xorpd %xmm0, %xmm0
callq 0x55462
jmp 0x937ed
callq 0x554d3
leaq 0x263cd4(%rip), %rax    # 0x2f74c8
movl (%rax), %eax
cmpl 0xc0b74(%rip), %eax     # 0x154370
jne 0x93800
popq %rbp
retq
popq %rbp
jmp 0x694f6