// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_sv6_sat_list()
void get_sv6_sat_list()
{
int prn[4];
int mode;

   log_packet_id("Packet 0x44 (SV6_FAMILY sats and dops - nav mode)");

   mode = tsip_byte();   // mode
   if(ACU_GG) ;
   else if(ACU_360) ;
   else if(ACUTIME) ;
   else {
      if     (mode == 0x01) rcvr_mode = RCVR_MODE_SINGLE;    // auto modes
      else if(mode == 0x03) rcvr_mode = RCVR_MODE_2D;
      else if(mode == 0x04) rcvr_mode = RCVR_MODE_3D;
      else if(mode == 0x11) rcvr_mode = RCVR_MODE_SINGLE;    // maunal modes
      else if(mode == 0x13) rcvr_mode = RCVR_MODE_2D;
      else if(mode == 0x14) rcvr_mode = RCVR_MODE_3D;
      else                  rcvr_mode = RCVR_MODE_UNKNOWN;
   }

   prn[0] = tsip_byte();   // prn1
   prn[1] = tsip_byte();   // prn2
   prn[2] = tsip_byte();   // prn3
   prn[3] = tsip_byte();   // prn4

   have_dops = 0;
   pdop = tsip_single();
   hdop = tsip_single();
   vdop = tsip_single();
   tdop = tsip_single();

   if(pdop > 20.0) pdop = 20.0;
   if(hdop > 20.0) hdop = 20.0;
   if(vdop > 20.0) vdop = 20.0;
   if(tdop > 20.0) tdop = 20.0;

   have_dops |= (PDOP | HDOP | VDOP | TDOP);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0xe8d15(%rip), %rdi     # 0x184d84
callq 0x7add0
callq 0x7a510
movzbl %al, %eax
movl %eax, -0x14(%rbp)
leaq 0x1dba2a(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9c0a9
leaq 0x1de121(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9c0a9
leaq 0x1dba39(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9c0a9
jmp 0x9c183
leaq 0x1dba00(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9c0df
leaq 0x1de0f7(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9c0df
leaq 0x1dba0f(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x9c0da
leaq 0x1dba03(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9c0df
jmp 0x9c181
leaq 0x1db9ca(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9c0fd
leaq 0x1de0c1(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9c0fd
jmp 0x9c17f
cmpl $0x1, -0x14(%rbp)
jne 0x9c10f
leaq 0x2d01a6(%rip), %rax    # 0x36c2b0
movb $0x1, (%rax)
jmp 0x9c17d
cmpl $0x3, -0x14(%rbp)
jne 0x9c121
leaq 0x2d0194(%rip), %rax    # 0x36c2b0
movb $0x3, (%rax)
jmp 0x9c17b
cmpl $0x4, -0x14(%rbp)
jne 0x9c133
leaq 0x2d0182(%rip), %rax    # 0x36c2b0
movb $0x4, (%rax)
jmp 0x9c179
cmpl $0x11, -0x14(%rbp)
jne 0x9c145
leaq 0x2d0170(%rip), %rax    # 0x36c2b0
movb $0x1, (%rax)
jmp 0x9c177
cmpl $0x13, -0x14(%rbp)
jne 0x9c157
leaq 0x2d015e(%rip), %rax    # 0x36c2b0
movb $0x3, (%rax)
jmp 0x9c175
cmpl $0x14, -0x14(%rbp)
jne 0x9c169
leaq 0x2d014c(%rip), %rax    # 0x36c2b0
movb $0x4, (%rax)
jmp 0x9c173
leaq 0x2d0140(%rip), %rax    # 0x36c2b0
movb $0x63, (%rax)
jmp 0x9c175
jmp 0x9c177
jmp 0x9c179
jmp 0x9c17b
jmp 0x9c17d
jmp 0x9c17f
jmp 0x9c181
jmp 0x9c183
callq 0x7a510
movzbl %al, %eax
movl %eax, -0x10(%rbp)
callq 0x7a510
movzbl %al, %eax
movl %eax, -0xc(%rbp)
callq 0x7a510
movzbl %al, %eax
movl %eax, -0x8(%rbp)
callq 0x7a510
movzbl %al, %eax
movl %eax, -0x4(%rbp)
leaq 0x1e650e(%rip), %rax    # 0x2826c4
movl $0x0, (%rax)
callq 0x7a860
cvtss2sd %xmm0, %xmm0
leaq 0x1e64fc(%rip), %rax    # 0x2826c8
movsd %xmm0, (%rax)
callq 0x7a860
cvtss2sd %xmm0, %xmm0
leaq 0x1e64f0(%rip), %rax    # 0x2826d0
movsd %xmm0, (%rax)
callq 0x7a860
cvtss2sd %xmm0, %xmm0
leaq 0x1e64e4(%rip), %rax    # 0x2826d8
movsd %xmm0, (%rax)
callq 0x7a860
cvtss2sd %xmm0, %xmm0
leaq 0x1e64e0(%rip), %rax    # 0x2826e8
movsd %xmm0, (%rax)
leaq 0x1e64b5(%rip), %rax    # 0x2826c8
movsd (%rax), %xmm0
movsd 0xd2ea9(%rip), %xmm1    # 0x16f0c8
ucomisd %xmm1, %xmm0
jbe 0x9c238
leaq 0x1e649c(%rip), %rax    # 0x2826c8
movsd 0xd2e94(%rip), %xmm0    # 0x16f0c8
movsd %xmm0, (%rax)
leaq 0x1e6491(%rip), %rax    # 0x2826d0
movsd (%rax), %xmm0
movsd 0xd2e7d(%rip), %xmm1    # 0x16f0c8
ucomisd %xmm1, %xmm0
jbe 0x9c264
leaq 0x1e6478(%rip), %rax    # 0x2826d0
movsd 0xd2e68(%rip), %xmm0    # 0x16f0c8
movsd %xmm0, (%rax)
leaq 0x1e646d(%rip), %rax    # 0x2826d8
movsd (%rax), %xmm0
movsd 0xd2e51(%rip), %xmm1    # 0x16f0c8
ucomisd %xmm1, %xmm0
jbe 0x9c290
leaq 0x1e6454(%rip), %rax    # 0x2826d8
movsd 0xd2e3c(%rip), %xmm0    # 0x16f0c8
movsd %xmm0, (%rax)
leaq 0x1e6451(%rip), %rax    # 0x2826e8
movsd (%rax), %xmm0
movsd 0xd2e25(%rip), %xmm1    # 0x16f0c8
ucomisd %xmm1, %xmm0
jbe 0x9c2bc
leaq 0x1e6438(%rip), %rax    # 0x2826e8
movsd 0xd2e10(%rip), %xmm0    # 0x16f0c8
movsd %xmm0, (%rax)
leaq 0x1e6401(%rip), %rax    # 0x2826c4
movl (%rax), %ecx
orl $0x17, %ecx
leaq 0x1e63f5(%rip), %rax    # 0x2826c4
movl %ecx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)