// File: /workspace/github_cpp_makefile_star2_O1/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 0x1d6799(%rip), %rax    # 0x23ef3e
leaq 0x2ce874(%rip), %rcx    # 0x337020
movb (%rcx), %cl
orb (%rax), %cl
je 0x687b4
popq %rbp
retq
leaq 0x1b0115(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x3ffff, %rax          # imm = 0x3FFFF
jg 0x68801
cmpq $0xff, %rax
jg 0x68836
cmpq $0x1, %rax
je 0x68888
cmpq $0x20, %rax
jne 0x687b2
leaq 0xb82ce(%rip), %rdi     # 0x120ab3
callq 0x61694
movl $0xff, %edi
callq 0x591af
xorl %edi, %edi
callq 0x593b5
popq %rbp
jmp 0x6170f
cmpq $0x3fffff, %rax         # imm = 0x3FFFFF
jg 0x6885e
cmpq $0x40000, %rax          # imm = 0x40000
je 0x688c1
cmpq $0x100000, %rax         # imm = 0x100000
jne 0x687b2
leaq 0xb8293(%rip), %rdi     # 0x120ab7
callq 0x5f15d
leaq 0xb828d(%rip), %rdi     # 0x120abd
popq %rbp
jmp 0x5f15d
cmpq $0x100, %rax            # imm = 0x100
je 0x688d3
cmpq $0x800, %rax            # imm = 0x800
jne 0x687b2
movl $0x35, %edi
callq 0x5e740
popq %rbp
jmp 0x5e844
cmpq $0x400000, %rax         # imm = 0x400000
je 0x688ed
movabsq $0x800000000, %rcx      # imm = 0x800000000
cmpq %rcx, %rax
jne 0x687b2
movl $0x32, %edi
popq %rbp
jmp 0x65d47
leaq 0x1b2745(%rip), %rcx    # 0x21afd4
movl (%rcx), %ecx
movl %ecx, %esi
xorl $0x41, %esi
leaq 0x1b005b(%rip), %rdx    # 0x2188f8
movl (%rdx), %edx
movl %edx, %edi
xorl $0x47, %edi
orl %esi, %edi
jne 0x6891d
movl $0x3, %edi
xorl %esi, %esi
callq 0x6873c
movl $0x6, %edi
xorl %esi, %esi
popq %rbp
jmp 0x6873c
leaq 0xaec33(%rip), %rdi     # 0x1174fb
movl $0x194, %esi            # imm = 0x194
popq %rbp
jmp 0x5ee52
movl $0x3f4, %edi            # imm = 0x3F4
movl $0x6, %esi
movl $0x800, %edx            # imm = 0x800
callq 0x645ec
popq %rbp
jmp 0x646c7
callq 0x658c7
callq 0x65895
callq 0x65831
callq 0x65863
callq 0x6592b
xorl %edi, %edi
callq 0x655b0
movl $0x45, %edi
callq 0x5e740
popq %rbp
jmp 0x5e7c0
cmpl $0x41, %ecx
jne 0x68930
cmpl $0x33, %edx
je 0x688a8
cmpl $0x47, %edx
je 0x688a8
cmpl $0x41, %ecx
sete %dl
cmpl $0x50, %ecx
setne %sil
cmpq $0x1, %rax
jne 0x688a8
xorb %sil, %dl
je 0x688a8
addl $-0x33, %ecx
cmpl $0x1d, %ecx
ja 0x688a8
movl $0x20004009, %eax       # imm = 0x20004009
btl %ecx, %eax
jb 0x687b2
jmp 0x688a8