// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_sat_health()
void request_sat_health()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == BRANDY_RCVR) {
      queue_brandy_cmd("h", BRANDY_HEALTH_MSG);
   }
   else if(rcvr_type == FURUNO_RCVR) {
   }
   else if(rcvr_type == MOTO_RCVR) {
      send_moto_start("Am");
      send_byte(0xFF);
      send_dword(0);
      send_moto_end();
   }
   else if(rcvr_type == NVS_RCVR) {
      send_nvs_start(0x35);
      send_nvs_end();
   }
   else if(rcvr_type == RFTG_RCVR) {  // this is not sat health requests...
      request_rftg_ape();             // but is part of rcvr_config.  We break
      request_rftg_ape2();            // it up into two groups to avoid overloading
      request_rftg_delta_ape();       // the receiver with requests
      request_rftg_const_ape();
      request_rftg_corr_sched();

      set_rftg_normal();
   }
   else if(rcvr_type == SS_RCVR) {
      request_ss_msg(50);
   }
   else if(rcvr_type == TSIP_RCVR) {
      if(ACU_GG) ;
      else if(ACU_360) ;
      else if(ACUTIME) ;
      else if(PALISADE) ;
      else if(SV6_FAMILY) return;
      set_health_config(3, 0x00);  // request enable/disable status of all sats
      set_health_config(6, 0x00);  // request heed/ignore status of all sats
   }
   else if(rcvr_type == ZODIAC_RCVR) {
      query_zod_msg(ZOD_SETTINGS_MSG);
   }
   else if(rcvr_type == ZYFER_RCVR) {
      send_zyfer_cmd("$SSLT");
      send_zyfer_cmd("$RSAH");
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20f6f3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8ea35
jmp 0x8ec8a
leaq 0x3077c4(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8ea46
jmp 0x8ec8a
leaq 0x1e9063(%rip), %rax    # 0x277ab0
cmpq $0x40000, (%rax)        # imm = 0x40000
jne 0x8ea6c
leaq 0xed530(%rip), %rdi     # 0x17bf8d
movl $0x194, %esi            # imm = 0x194
callq 0x82fd0
jmp 0x8ec8a
leaq 0x1e903d(%rip), %rax    # 0x277ab0
cmpq $0x20000000, (%rax)     # imm = 0x20000000
jne 0x8ea81
jmp 0x8ec88
leaq 0x1e9028(%rip), %rax    # 0x277ab0
cmpq $0x20, (%rax)
jne 0x8eab5
leaq 0xf537e(%rip), %rdi     # 0x183e13
callq 0x86190
movl $0xff, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x86230
jmp 0x8ec86
leaq 0x1e8ff4(%rip), %rax    # 0x277ab0
cmpq $0x800, (%rax)          # imm = 0x800
jne 0x8ead9
movl $0x35, %edi
callq 0x824f0
callq 0x82630
jmp 0x8ec84
leaq 0x1e8fd0(%rip), %rax    # 0x277ab0
cmpq $0x400000, (%rax)       # imm = 0x400000
jne 0x8eb0c
callq 0x8b2c0
callq 0x8b280
callq 0x8b200
callq 0x8b240
callq 0x8b340
callq 0x8b030
jmp 0x8ec82
movabsq $0x800000000, %rcx      # imm = 0x800000000
leaq 0x1e8f93(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x8eb31
movl $0x32, %edi
callq 0x8b7d0
jmp 0x8ec80
leaq 0x1e8f78(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ec36
leaq 0x1e8f67(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8eb6c
leaq 0x1eb65e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8eb6c
leaq 0x1e8f76(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8eb6c
jmp 0x8ec1c
leaq 0x1e8f3d(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8eb9f
leaq 0x1eb634(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8eb9f
leaq 0x1e8f4c(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x8eb9d
leaq 0x1e8f40(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8eb9f
jmp 0x8ec1a
leaq 0x1e8f0a(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ebba
leaq 0x1eb601(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ebba
jmp 0x8ec18
leaq 0x1e8eef(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ebd5
leaq 0x1eb5e6(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x8ebd5
jmp 0x8ec16
leaq 0x1e8ed4(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ec14
leaq 0x1eb5cb(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x8ec12
leaq 0x1eb5bf(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x8ec12
leaq 0x1eb5b3(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x8ec12
leaq 0x1eb5a7(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ec14
jmp 0x8ec8a
jmp 0x8ec16
jmp 0x8ec18
jmp 0x8ec1a
jmp 0x8ec1c
movl $0x3, %edi
xorl %esi, %esi
callq 0x8e990
movl $0x6, %edi
xorl %esi, %esi
callq 0x8e990
jmp 0x8ec7e
leaq 0x1e8e73(%rip), %rax    # 0x277ab0
cmpq $0x100, (%rax)          # imm = 0x100
jne 0x8ec52
movl $0x3f4, %edi            # imm = 0x3F4
callq 0x8b850
jmp 0x8ec7c
leaq 0x1e8e57(%rip), %rax    # 0x277ab0
cmpq $0x100000, (%rax)       # imm = 0x100000
jne 0x8ec7a
leaq 0xf51ad(%rip), %rdi     # 0x183e16
callq 0x85d30
leaq 0xf51a7(%rip), %rdi     # 0x183e1c
callq 0x85d30
jmp 0x8ec7c
jmp 0x8ec7e
jmp 0x8ec80
jmp 0x8ec82
jmp 0x8ec84
jmp 0x8ec86
jmp 0x8ec88
jmp 0x8ec8a
popq %rbp
retq
nopl (%rax)