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

   // satellite positions
   log_packet_id("sat info");

   reset_sat_tracking();

   while(1) {
      if(get_msg_field()) prn = atoi(msg_field);
      else break;

      if(get_msg_field()) el = atof(msg_field);
      else break;

      if(get_msg_field()) az = atof(msg_field);
      else break;

      if((prn >= 1) && (prn <= 32)) { 
         set_sat_azel(prn, (float) az, (float) el);
         if(az && el && sat[prn].sig_level) {
            sat[prn].level_msg = 52;
            sat[prn].visible = 1;
            have_snr |= rinex_gnss(prn);
         }
         else sat[prn].visible = 0;

         if(az && el) sat[prn].tracking = prn;
         else         sat[prn].tracking = (-1);
         have_sat_azel = 2;
         level_type = "dBc";
      }
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0xa226c(%rip), %rdi     # 0x187fbb
callq 0x7add0
callq 0x81c10
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe5d74
leaq 0x2b4eb6(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
jmp 0xe5d79
jmp 0xe5f36
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe5d96
leaq 0x2b4e96(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd %xmm0, -0x18(%rbp)
jmp 0xe5d9b
jmp 0xe5f36
callq 0xb0bd0
cmpl $0x0, %eax
je 0xe5db8
leaq 0x2b4e74(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd %xmm0, -0x10(%rbp)
jmp 0xe5dbd
jmp 0xe5f36
cmpl $0x1, -0x4(%rbp)
jl 0xe5f31
cmpl $0x20, -0x4(%rbp)
jg 0xe5f31
movl -0x4(%rbp), %edi
movsd -0x10(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
movsd -0x18(%rbp), %xmm1
cvtsd2ss %xmm1, %xmm1
callq 0x7d450
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xe5e00
jp 0xe5e00
jmp 0xe5e91
movsd -0x18(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xe5e12
jp 0xe5e12
jmp 0xe5e91
movslq -0x4(%rbp), %rcx
leaq 0x1b8373(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0xe5e38
jp 0xe5e38
jmp 0xe5e91
movslq -0x4(%rbp), %rcx
leaq 0x1b834d(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl $0x34, 0x1c(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x1b8331(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl $0x1, 0x21c(%rax)
movl -0x4(%rbp), %edi
callq 0x12d280
movl %eax, %ecx
leaq 0x2866a8(%rip), %rax    # 0x36c52c
orl (%rax), %ecx
leaq 0x28669f(%rip), %rax    # 0x36c52c
movl %ecx, (%rax)
jmp 0xe5eb0
movslq -0x4(%rbp), %rcx
leaq 0x1b82f4(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl $0x0, 0x21c(%rax)
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xe5ec2
jp 0xe5ec2
jmp 0xe5ef4
movsd -0x18(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xe5ed4
jp 0xe5ed4
jmp 0xe5ef4
movl -0x4(%rbp), %ecx
movslq -0x4(%rbp), %rdx
leaq 0x1b82ae(%rip), %rax    # 0x29e190
imulq $0x348, %rdx, %rdx      # imm = 0x348
addq %rdx, %rax
movl %ecx, 0x218(%rax)
jmp 0xe5f13
movslq -0x4(%rbp), %rcx
leaq 0x1b8291(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl $0xffffffff, 0x218(%rax) # imm = 0xFFFFFFFF
leaq 0x28655a(%rip), %rax    # 0x36c474
movl $0x2, (%rax)
leaq 0x1b81b1(%rip), %rax    # 0x29e0d8
leaq 0x9f03c(%rip), %rcx     # 0x184f6a
movq %rcx, (%rax)
jmp 0xe5d59
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)