// File: jkingan[P]ladyheather/heathgps.cpp
// Function: parse_true_sat()
void parse_true_sat()
{
int prn;
double az, el, sig;

   log_packet_id("sat info");

   if(get_msg_field()) {  // receiver channel
   }
   else return;

   if(get_msg_field()) {
      prn = atoi(msg_field);
      if(prn < 1) return;
      else if(prn > 255) return;
   }
   else return;

   az = el = 999.0;
   if(get_msg_field()) {
      el = atof(msg_field);
   }
   else return;
   if(get_msg_field()) {
      az = atof(msg_field);
   }
   else return;
   if((az < 999.0) && (el < 999.0)) {
      set_sat_azel(prn, (float) az, (float) el);
   }

   if(get_msg_field()) {
      sig = atof(msg_field);
      if(sig) {
         sat[prn].tracking = prn;
         sat[prn].level_msg = 55;
         sat[prn].sig_level = (float) sig;
         have_snr |= rinex_gnss(prn);
         record_sig_levels(prn);
      }
      else {
         sat[prn].level_msg = 0;
         sat[prn].tracking = 0;
      }
   }
   else return;

   level_type = "dBc";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0xa028c(%rip), %rdi     # 0x187fbb
callq 0x7add0
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe7d40
jmp 0xe7d45
jmp 0xe7f1d
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe7d7b
leaq 0x2b2eca(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
cmpl $0x1, -0x4(%rbp)
jge 0xe7d69
jmp 0xe7f1d
cmpl $0xff, -0x4(%rbp)
jle 0xe7d77
jmp 0xe7f1d
jmp 0xe7d79
jmp 0xe7d80
jmp 0xe7f1d
movsd 0x89968(%rip), %xmm0    # 0x1716f0
movsd %xmm0, -0x18(%rbp)
movsd 0x8995b(%rip), %xmm0    # 0x1716f0
movsd %xmm0, -0x10(%rbp)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe7db7
leaq 0x2b2e75(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd %xmm0, -0x18(%rbp)
jmp 0xe7dbc
jmp 0xe7f1d
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe7dd9
leaq 0x2b2e53(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd %xmm0, -0x10(%rbp)
jmp 0xe7dde
jmp 0xe7f1d
movsd 0x8990a(%rip), %xmm0    # 0x1716f0
ucomisd -0x10(%rbp), %xmm0
jbe 0xe7e16
movsd 0x898fb(%rip), %xmm0    # 0x1716f0
ucomisd -0x18(%rbp), %xmm0
jbe 0xe7e16
movl -0x4(%rbp), %edi
movsd -0x10(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
movsd -0x18(%rbp), %xmm1
cvtsd2ss %xmm1, %xmm1
callq 0x7d450
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe7f0a
leaq 0x2b2df5(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xe7e4a
jp 0xe7e4a
jmp 0xe7ecd
movl -0x4(%rbp), %ecx
movslq -0x4(%rbp), %rdx
leaq 0x1b6338(%rip), %rax    # 0x29e190
imulq $0x348, %rdx, %rdx      # imm = 0x348
addq %rdx, %rax
movl %ecx, 0x218(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x1b631d(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl $0x37, 0x1c(%rax)
movsd -0x20(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
movslq -0x4(%rbp), %rcx
leaq 0x1b62f8(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss %xmm0, 0x20(%rax)
movl -0x4(%rbp), %edi
callq 0x12d280
movl %eax, %ecx
leaq 0x284674(%rip), %rax    # 0x36c52c
orl (%rax), %ecx
leaq 0x28466b(%rip), %rax    # 0x36c52c
movl %ecx, (%rax)
movl -0x4(%rbp), %edi
callq 0x80340
jmp 0xe7f08
movslq -0x4(%rbp), %rcx
leaq 0x1b62b8(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl $0x0, 0x1c(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x1b629c(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl $0x0, 0x218(%rax)
jmp 0xe7f0c
jmp 0xe7f1d
leaq 0x1b61c5(%rip), %rax    # 0x29e0d8
leaq 0x9d050(%rip), %rcx     # 0x184f6a
movq %rcx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)