// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_taip_time()
void parse_taip_time()
{
int sec;
int i;
int source;
int count;

   if(get_fixed_field(2)) pri_hours = hours = atoi(msg_field);
   if(get_fixed_field(2)) pri_minutes = minutes = atoi(msg_field);
   if(get_fixed_field(5)) {
      sec = atoi(msg_field);
      pri_seconds = seconds = sec/1000;
      pri_frac = ((double) (sec % 1000)) / 1000.0;
   }

   if(get_fixed_field(2)) pri_day = day = atoi(msg_field);
   if(get_fixed_field(2)) pri_month = month = atoi(msg_field);
   if(get_fixed_field(4)) pri_year = year = atoi(msg_field);

   if(get_fixed_field(2)) {
      i = atoi(msg_field);
      if(!user_set_utc_ofs) utc_offset = i;
      check_utc_ofs(33);
   }

   if(get_fixed_field(1)) source = atoi(msg_field);
   if(get_fixed_field(2)) count = atoi(msg_field);

   get_fixed_field(1);  // gps/utc
   get_fixed_field(5);  // reserved

   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
   }

   update_gps_screen(667);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
pushq $0x2
popq %rdi
callq 0x78198
testl %eax, %eax
je 0x947a5
leaq 0x2912b2(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x262d36(%rip), %rcx    # 0x2f74d0
movl %eax, (%rcx)
leaq 0x262d65(%rip), %rcx    # 0x2f7508
movl %eax, (%rcx)
pushq $0x2
popq %rdi
callq 0x78198
testl %eax, %eax
je 0x947cf
leaq 0x291288(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x262d08(%rip), %rcx    # 0x2f74cc
movl %eax, (%rcx)
leaq 0x262d37(%rip), %rcx    # 0x2f7504
movl %eax, (%rcx)
pushq $0x5
popq %rdi
callq 0x78198
testl %eax, %eax
je 0x94818
leaq 0x29125e(%rip), %rdi    # 0x325a40
callq 0x95e0
movl $0x3e8, %ecx            # imm = 0x3E8
cltd
idivl %ecx
leaq 0x262cd2(%rip), %rcx    # 0x2f74c8
movl %eax, (%rcx)
leaq 0x262d01(%rip), %rcx    # 0x2f7500
movl %eax, (%rcx)
cvtsi2sd %edx, %xmm0
divsd 0x5e82b(%rip), %xmm0    # 0xf3038
leaq 0x262d04(%rip), %rax    # 0x2f7518
movsd %xmm0, (%rax)
pushq $0x2
popq %rdi
callq 0x78198
testl %eax, %eax
je 0x94842
leaq 0x291215(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x262c9d(%rip), %rcx    # 0x2f74d4
movl %eax, (%rcx)
leaq 0x262ccc(%rip), %rcx    # 0x2f750c
movl %eax, (%rcx)
pushq $0x2
popq %rdi
callq 0x78198
testl %eax, %eax
je 0x9486c
leaq 0x2911eb(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x262c77(%rip), %rcx    # 0x2f74d8
movl %eax, (%rcx)
leaq 0x262ca6(%rip), %rcx    # 0x2f7510
movl %eax, (%rcx)
pushq $0x4
popq %rdi
callq 0x78198
testl %eax, %eax
je 0x94896
leaq 0x2911c1(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x262c51(%rip), %rcx    # 0x2f74dc
movl %eax, (%rcx)
leaq 0x262c80(%rip), %rcx    # 0x2f7514
movl %eax, (%rcx)
pushq $0x2
popq %rdi
callq 0x78198
testl %eax, %eax
je 0x948cb
leaq 0x262e8b(%rip), %rax    # 0x2f7734
cmpl $0x0, (%rax)
jne 0x948c3
leaq 0x29118b(%rip), %rdi    # 0x325a40
callq 0x95e0
leaq 0x262e67(%rip), %rcx    # 0x2f7728
movl %eax, (%rcx)
pushq $0x21
popq %rdi
callq 0x51a91
pushq $0x1
popq %rbx
movl %ebx, %edi
callq 0x78198
pushq $0x2
popq %rdi
callq 0x78198
movl %ebx, %edi
callq 0x78198
pushq $0x5
popq %rdi
callq 0x78198
leaq 0x262bca(%rip), %rax    # 0x2f74bd
cmpb $0x0, (%rax)
je 0x94903
xorpd %xmm0, %xmm0
callq 0x55462
jmp 0x94908
callq 0x554d3
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x694f6