// File: /workspace/github_cpp_makefile_star2_O1/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 0x811da
testl %eax, %eax
je 0xa26b5
leaq 0x2993ab(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x17833f(%rip), %rcx    # 0x21a9e0
movl %eax, (%rcx)
leaq 0x26ae26(%rip), %rcx    # 0x30d4d0
movl %eax, (%rcx)
leaq 0x26ae55(%rip), %rcx    # 0x30d508
movl %eax, (%rcx)
callq 0x811da
testl %eax, %eax
je 0xa26e5
leaq 0x29937b(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x178313(%rip), %rcx    # 0x21a9e4
movl %eax, (%rcx)
leaq 0x26adf2(%rip), %rcx    # 0x30d4cc
movl %eax, (%rcx)
leaq 0x26ae21(%rip), %rcx    # 0x30d504
movl %eax, (%rcx)
callq 0x811da
testl %eax, %eax
je 0xa2715
leaq 0x29934b(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x1782e7(%rip), %rcx    # 0x21a9e8
movl %eax, (%rcx)
leaq 0x26adbe(%rip), %rcx    # 0x30d4c8
movl %eax, (%rcx)
leaq 0x26aded(%rip), %rcx    # 0x30d500
movl %eax, (%rcx)
leaq 0x26adfc(%rip), %rax    # 0x30d518
movq $0x0, (%rax)
leaq 0x1782da(%rip), %rax    # 0x21aa04
cmpl $0x0, (%rax)
je 0xa276c
leaq 0x1781c2(%rip), %rax    # 0x21a8f8
movsd (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xa2746
jnp 0xa276c
addsd 0x7bfca(%rip), %xmm0    # 0x11e718
xorl %edi, %edi
callq 0xd0c46
leaq 0x26af44(%rip), %rax    # 0x30d6a0
leaq 0x26af39(%rip), %rcx    # 0x30d69c
leaq 0x26af3a(%rip), %rdx    # 0x30d6a4
jmp 0xa2786
callq 0xa495
leaq 0x26af4c(%rip), %rax    # 0x30d6c4
leaq 0x26af41(%rip), %rcx    # 0x30d6c0
leaq 0x26af42(%rip), %rdx    # 0x30d6c8
movl (%rdx), %edx
leaq 0x26ad4d(%rip), %rsi    # 0x30d4dc
movl %edx, (%rsi)
leaq 0x26ad7c(%rip), %rsi    # 0x30d514
movl %edx, (%rsi)
movl (%rcx), %ecx
leaq 0x26ad35(%rip), %rdx    # 0x30d4d8
movl %ecx, (%rdx)
leaq 0x26ad64(%rip), %rdx    # 0x30d510
movl %ecx, (%rdx)
movl (%rax), %eax
leaq 0x26ad1d(%rip), %rcx    # 0x30d4d4
movl %eax, (%rcx)
leaq 0x26ad4c(%rip), %rcx    # 0x30d50c
movl %eax, (%rcx)
leaq 0x178237(%rip), %rax    # 0x21aa00
movl $0x1, (%rax)
leaq 0x26ace7(%rip), %rax    # 0x30d4bd
cmpb $0x0, (%rax)
je 0xa27e6
xorpd %xmm0, %xmm0
callq 0x5c907
jmp 0xa2810
leaq 0x26af3b(%rip), %rax    # 0x30d728
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x5c907
leaq 0x26aca4(%rip), %rax    # 0x30d4a4
andb $-0x2, (%rax)
leaq 0x26abc2(%rip), %rax    # 0x30d3cc
movl $0x1, (%rax)
leaq 0x26acb1(%rip), %rax    # 0x30d4c8
movl (%rax), %eax
cmpl 0xc7b51(%rip), %eax     # 0x16a370
jne 0xa2823
popq %rbp
retq
popq %rbp
jmp 0x7327e