// File: /workspace/github_cpp_makefile_star2_O3/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 0x9b519(%rip), %rdi     # 0x1233cd
callq 0x58dc2
callq 0x58964
movl %eax, %eax
cvtsi2sd %rax, %xmm0
mulsd 0x8115b(%rip), %xmm0    # 0x109028
leaq 0x285ef4(%rip), %rax    # 0x30ddc8
movsd %xmm0, (%rax)
leaq 0x2853d5(%rip), %rax    # 0x30d2b4
movl $0x14d, (%rax)          # imm = 0x14D
callq 0x58964
movl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
mulsd 0x8112c(%rip), %xmm0    # 0x109028
leaq 0x285ed5(%rip), %rax    # 0x30ddd8
movsd %xmm0, (%rax)
leaq 0x2853aa(%rip), %rax    # 0x30d2b8
orb $0x1, (%rax)
callq 0x58964
movl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
mulsd 0x81138(%rip), %xmm0    # 0x109060
leaq 0x285e79(%rip), %rax    # 0x30dda8
movsd %xmm0, (%rax)
leaq 0x285e2a(%rip), %rax    # 0x30dd64
movl $0x1, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x87f56
leaq 0x1b701d(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588d2
movzwl %ax, %eax
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
divss 0x85103(%rip), %xmm0    # 0x10d070
leaq 0x285140(%rip), %rax    # 0x30d0b4
movss %xmm0, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x87f8e
leaq 0x1b6fe5(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x87fa4
leaq 0x1b6fcf(%rip), %rcx    # 0x23ef70
orb $0x8, (%rcx)
andl $0xff, %eax
je 0x8800d
leaq 0x285782(%rip), %rcx    # 0x30d734
cmpl $0x0, (%rcx)
jne 0x87fc0
leaq 0x28576a(%rip), %rcx    # 0x30d728
movl %eax, (%rcx)
leaq 0x285355(%rip), %rax    # 0x30d31c
cmpl $0x0, (%rax)
jne 0x8800d
leaq 0x285541(%rip), %rcx    # 0x30d514
cmpl $0x7e1, (%rcx)          # imm = 0x7E1
setge %cl
leaq 0x285745(%rip), %rdx    # 0x30d728
movl (%rdx), %edx
cmpl $0x12, %edx
setl %sil
andb %cl, %sil
cmpl $0x11, %edx
setl %cl
orb %sil, %cl
jne 0x8800d
leaq 0x190843(%rip), %rcx    # 0x218844
movl $0x7f1, (%rcx)          # imm = 0x7F1
movl $0x21, (%rax)
callq 0x58b08
leaq 0x28479f(%rip), %rax    # 0x30c7b8
movsd %xmm0, (%rax)
leaq 0x285214(%rip), %rax    # 0x30d238
movl $0x14d, %ebx            # imm = 0x14D
movl %ebx, (%rax)
callq 0x58b08
leaq 0x284789(%rip), %rax    # 0x30c7c0
movsd %xmm0, (%rax)
leaq 0x2851f2(%rip), %rax    # 0x30d234
movl %ebx, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x8805a
leaq 0x1b6f19(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x88070
leaq 0x1b6f03(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588d2
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x8808b
leaq 0x1b6ee8(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x880a1
leaq 0x1b6ed2(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x58b08
callq 0x58964
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x880c1
leaq 0x1b6eb2(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x58964
callq 0x587be
cmpl $0x100, %eax            # imm = 0x100
jb 0x880dc
leaq 0x1b6e97(%rip), %rax    # 0x23ef70
orb $0x8, (%rax)
callq 0x588d2
movzwl %ax, %eax
leaq 0x285ccd(%rip), %rcx    # 0x30ddb8
movl %eax, (%rcx)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq