// File: /workspace/github_cpp_makefile_star2_O3/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 0x1d6554(%rip), %rax    # 0x23ef3e
leaq 0x2ce62f(%rip), %rcx    # 0x337020
movb (%rcx), %cl
orb (%rax), %cl
je 0x689f9
popq %rbp
retq
leaq 0x1afed0(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x3ffff, %rax          # imm = 0x3FFFF
jg 0x68a46
cmpq $0xff, %rax
jg 0x68a7b
cmpq $0x1, %rax
je 0x68ac9
cmpq $0x20, %rax
jne 0x689f7
leaq 0xb8169(%rip), %rdi     # 0x120b93
callq 0x6160d
movl $0xff, %edi
callq 0x590f7
xorl %edi, %edi
callq 0x592eb
popq %rbp
jmp 0x61688
cmpq $0x3fffff, %rax         # imm = 0x3FFFFF
jg 0x68aa3
cmpq $0x40000, %rax          # imm = 0x40000
je 0x68afd
cmpq $0x100000, %rax         # imm = 0x100000
jne 0x689f7
leaq 0xb812e(%rip), %rdi     # 0x120b97
callq 0x5f0e5
leaq 0xb8128(%rip), %rdi     # 0x120b9d
popq %rbp
jmp 0x5f0e5
cmpq $0x100, %rax            # imm = 0x100
je 0x68b0f
cmpq $0x800, %rax            # imm = 0x800
jne 0x689f7
movl $0x35, %edi
callq 0x5e6be
popq %rbp
jmp 0x5e7c0
cmpq $0x400000, %rax         # imm = 0x400000
je 0x68b29
movabsq $0x800000000, %rcx      # imm = 0x800000000
cmpq %rcx, %rax
jne 0x689f7
movl $0x32, %edi
popq %rbp
jmp 0x65f72
leaq 0x1b2504(%rip), %rax    # 0x21afd4
movl (%rax), %eax
cmpl $0x33, %eax
je 0x689f7
cmpl $0x36, %eax
je 0x689f7
movl $0x3, %edi
xorl %esi, %esi
callq 0x68981
movl $0x6, %edi
xorl %esi, %esi
popq %rbp
jmp 0x68981
leaq 0xaea8b(%rip), %rdi     # 0x11758f
movl $0x194, %esi            # imm = 0x194
popq %rbp
jmp 0x5edda
movl $0x3f4, %edi            # imm = 0x3F4
movl $0x6, %esi
movl $0x800, %edx            # imm = 0x800
callq 0x646e6
popq %rbp
jmp 0x648ab
callq 0x65ac1
callq 0x65a8f
callq 0x65a2b
callq 0x65a5d
callq 0x65b25
xorl %edi, %edi
callq 0x65779
movl $0x45, %edi
callq 0x5e6be
popq %rbp
jmp 0x5e73c