// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_ss_timing()
void parse_ss_timing()
{
int i;

   log_packet_id("Timing status");

   cable_delay = ((double) tsip_dword()) * 1.0E9;
   have_cable_delay = 333;

   pps1_delay = ((double) tsip_dword()) * 1.0E9;
   have_pps_delay |= 0x01;

   ss_pps_width = ((double) tsip_dword()) * 100.0;  // in ns (100 ns granularity)
   have_pps_duty = 1;

   tsip_byte();  // number of observations
   el_mask = ((float) tsip_word()) / 100.0F;

   tsip_byte();  // leap second change (-1, 0, 1)
   i = tsip_byte();
   if(i) {
      if(!user_set_utc_ofs) utc_offset = i;
      check_utc_ofs(33);
   }

   pps_offset = (DATA_SIZE) tsip_double();  // bias
   have_pps_offset = 333;
   osc_offset = (DATA_SIZE) tsip_double();  // drift
   have_osc_offset = 333;

   tsip_byte();    // date of PPS
   tsip_byte();  
   tsip_word();  

   tsip_byte();    // time of PPS
   tsip_byte();
   tsip_double();

   tsip_dword();   // pps residual in ns

   tsip_byte();    // timing operation mode, etc
   tsip_dword();   // TFOM clock bias in ns
   tsip_byte();    // rsvd
   ss_intrinsic_delay = tsip_word();    // intrinsic delay
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0x9b3ad(%rip), %rdi     # 0x1232ed
callq 0x58e77
callq 0x589b0
movl %eax, %eax
cvtsi2sd %rax, %xmm0
mulsd 0x810cf(%rip), %xmm0    # 0x109028
leaq 0x285e68(%rip), %rax    # 0x30ddc8
movsd %xmm0, (%rax)
leaq 0x285349(%rip), %rax    # 0x30d2b4
movl $0x14d, (%rax)          # imm = 0x14D
callq 0x589b0
movl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
mulsd 0x810a0(%rip), %xmm0    # 0x109028
leaq 0x285e49(%rip), %rax    # 0x30ddd8
movsd %xmm0, (%rax)
leaq 0x28531e(%rip), %rax    # 0x30d2b8
orb $0x1, (%rax)
callq 0x589b0
movl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
mulsd 0x810ac(%rip), %xmm0    # 0x109060
leaq 0x285ded(%rip), %rax    # 0x30dda8
movsd %xmm0, (%rax)
leaq 0x285d9e(%rip), %rax    # 0x30dd64
movl $0x1, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x87fe2
leaq 0x1b6f91(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588f0
movzwl %ax, %eax
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
divss 0x84fdf(%rip), %xmm0    # 0x10cfd8
leaq 0x2850b4(%rip), %rax    # 0x30d0b4
movss %xmm0, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x8801a
leaq 0x1b6f59(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x88030
leaq 0x1b6f43(%rip), %rcx    # 0x23ef70
orb $0x8, (%rcx)
andl $0xff, %eax
je 0x88099
leaq 0x2856f6(%rip), %rcx    # 0x30d734
cmpl $0x0, (%rcx)
jne 0x8804c
leaq 0x2856de(%rip), %rcx    # 0x30d728
movl %eax, (%rcx)
leaq 0x2852c9(%rip), %rax    # 0x30d31c
cmpl $0x0, (%rax)
jne 0x88099
leaq 0x2854b5(%rip), %rcx    # 0x30d514
cmpl $0x7e1, (%rcx)          # imm = 0x7E1
setge %cl
leaq 0x2856b9(%rip), %rdx    # 0x30d728
movl (%rdx), %edx
cmpl $0x12, %edx
setl %sil
andb %cl, %sil
cmpl $0x11, %edx
setl %cl
orb %sil, %cl
jne 0x88099
leaq 0x1907b7(%rip), %rcx    # 0x218844
movl $0x7f1, (%rcx)          # imm = 0x7F1
movl $0x21, (%rax)
callq 0x58b86
leaq 0x284713(%rip), %rax    # 0x30c7b8
movsd %xmm0, (%rax)
leaq 0x285188(%rip), %rax    # 0x30d238
movl $0x14d, %ebx            # imm = 0x14D
movl %ebx, (%rax)
callq 0x58b86
leaq 0x2846fd(%rip), %rax    # 0x30c7c0
movsd %xmm0, (%rax)
leaq 0x285166(%rip), %rax    # 0x30d234
movl %ebx, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x880e6
leaq 0x1b6e8d(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x880fc
leaq 0x1b6e77(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588f0
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x88117
leaq 0x1b6e5c(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x8812d
leaq 0x1b6e46(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x58b86
callq 0x589b0
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x8814d
leaq 0x1b6e26(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x589b0
callq 0x587d1
cmpl $0x100, %eax            # imm = 0x100
jb 0x88168
leaq 0x1b6e0b(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588f0
movzwl %ax, %eax
leaq 0x285c41(%rip), %rcx    # 0x30ddb8
movl %eax, (%rcx)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq