LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_io_options(unsigned char, unsigned char, unsigned char, unsigned char)
void set_io_options(u08 posn, u08 vel, u08 timing, u08 aux)
{
   if(read_only) return;
   if(luxor) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x35);
      send_byte(posn);
      send_byte(vel);
      send_byte(timing);
      send_byte(aux);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %cl, %al
movb %dl, %cl
movb %sil, %dl
movb %dil, %sil
movb %sil, -0x1(%rbp)
movb %dl, -0x2(%rbp)
movb %cl, -0x3(%rbp)
movb %al, -0x4(%rbp)
leaq 0x307b24(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8e6dd
jmp 0x8e72b
leaq 0x20fa3a(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8e6eb
jmp 0x8e72b
leaq 0x1e93be(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e72b
movl $0x35, %edi
callq 0x824f0
movzbl -0x1(%rbp), %edi
callq 0x7b210
movzbl -0x2(%rbp), %edi
callq 0x7b210
movzbl -0x3(%rbp), %edi
callq 0x7b210
movzbl -0x4(%rbp), %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_last_posn()
void request_last_posn()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      if(ACU_GG) ;
      else if(ACU_360) ;
      else if(ACUTIME) ;
      else if(PALISADE) ;
      else if(SV6_FAMILY) return;
      send_tsip_start(0x37);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20f9d3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8e755
jmp 0x8e860
leaq 0x307aa4(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8e766
jmp 0x8e860
leaq 0x1e9343(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e860
leaq 0x1e9332(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e7a1
leaq 0x1eba29(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8e7a1
leaq 0x1e9341(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8e7a1
jmp 0x8e851
leaq 0x1e9308(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e7d4
leaq 0x1eb9ff(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8e7d4
leaq 0x1e9317(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x8e7d2
leaq 0x1e930b(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8e7d4
jmp 0x8e84f
leaq 0x1e92d5(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e7ef
leaq 0x1eb9cc(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8e7ef
jmp 0x8e84d
leaq 0x1e92ba(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e80a
leaq 0x1eb9b1(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x8e80a
jmp 0x8e84b
leaq 0x1e929f(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e849
leaq 0x1eb996(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x8e847
leaq 0x1eb98a(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x8e847
leaq 0x1eb97e(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x8e847
leaq 0x1eb972(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8e849
jmp 0x8e860
jmp 0x8e84b
jmp 0x8e84d
jmp 0x8e84f
jmp 0x8e851
movl $0x37, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_gps_system_msg()
void request_gps_system_msg()
{
  // request GPS system message

   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x28);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20f8a3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8e882
jmp 0x8e8ac
leaq 0x307977(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8e890
jmp 0x8e8ac
leaq 0x1e9219(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e8ac
movl $0x28, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_system_data(unsigned char, int)
void request_system_data(u08 mode, int prn)
{
   if(luxor) return;
   if(no_poll) return;
   if(rcvr_type != TSIP_RCVR) return;
   if(have_info == 0) return;

   if(res_t == RES_T) {  // this message can hose up the original res-t for 3 seconds
      if(raw_msg_rate < 3) {  // user can force raw data by setting the rate to 3 secs
         return;
      }
   }

   // mode 2: almanac
   // mode 3: health page
   // mode 4: ionosphere
   // mode 5: UTC params
   // mode 6: ephemeris

   if((prn >= 1) && (prn <= MAX_PRN)) {  // flag that we have asked about this sat
      eph_polled |= (0x01 << (prn-1));
   }

   send_tsip_start(0x38);
   send_byte(0x01);
   send_byte(mode);
   send_byte((u08) prn);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
movl %esi, -0x8(%rbp)
leaq 0x20f856(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8e8d2
jmp 0x8e97f
leaq 0x307927(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8e8e3
jmp 0x8e97f
leaq 0x1e91c6(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x8e8f5
jmp 0x8e97f
leaq 0x2de258(%rip), %rax    # 0x36cb54
cmpl $0x0, (%rax)
jne 0x8e903
jmp 0x8e97f
leaq 0x1e91da(%rip), %rax    # 0x277ae4
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x8e922
leaq 0x1ebc3f(%rip), %rax    # 0x27a558
cmpl $0x3, (%rax)
jge 0x8e920
jmp 0x8e97f
jmp 0x8e922
cmpl $0x1, -0x8(%rbp)
jl 0x8e952
cmpl $0x3e7, -0x8(%rbp)      # imm = 0x3E7
jg 0x8e952
movl -0x8(%rbp), %ecx
subl $0x1, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, %ecx
leaq 0x2ddce5(%rip), %rax    # 0x36c62c
orl (%rax), %ecx
leaq 0x2ddcdc(%rip), %rax    # 0x36c62c
movl %ecx, (%rax)
movl $0x38, %edi
callq 0x824f0
movl $0x1, %edi
callq 0x7b210
movzbl -0x1(%rbp), %edi
callq 0x7b210
movl -0x8(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_health_config(unsigned char, int)
void set_health_config(u08 mode, int prn)
{
   // mode 1: enable sat
   // mode 2: disable sat
   // mode 3: get enable/disable status of all sats
   // mode 4: set sat healthy
   // mode 5: set sat unhealthy
   // mode 6: get health of all sats

   if(read_only) return;
   if(luxor) return;
   if((res_t && (res_t != RES_T))) return;
   if(rcvr_type != TSIP_RCVR) return;

   send_tsip_start(0x39); 
   send_byte(mode);
   send_byte((u08) prn);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
movl %esi, -0x8(%rbp)
leaq 0x307852(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8e9af
jmp 0x8ea0c
leaq 0x20f768(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8e9bd
jmp 0x8ea0c
leaq 0x1e9120(%rip), %rax    # 0x277ae4
cmpb $0x0, (%rax)
je 0x8e9da
leaq 0x1e9114(%rip), %rax    # 0x277ae4
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x8e9da
jmp 0x8ea0c
leaq 0x1e90cf(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x8e9e9
jmp 0x8ea0c
movl $0x39, %edi
callq 0x824f0
movzbl -0x1(%rbp), %edi
callq 0x7b210
movl -0x8(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_zod_sat_mask(unsigned int)
void set_zod_sat_mask(u32 val)
{
   if(read_only) return;

   send_zod_start(ZOD_SET_SAT_MASK, 10, 0);
   send_zod_seq();
   send_dword(val);
   send_word(0);     // don't write to EEPROM
   send_zod_end();

   query_zod_msg(ZOD_SETTINGS_MSG);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x3063c8(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8fe39
jmp 0x8fe6d
movl $0x4bd, %edi            # imm = 0x4BD
movl $0xa, %esi
xorl %edx, %edx
callq 0x89bf0
callq 0x89d10
movl -0x4(%rbp), %edi
callq 0x7b520
xorl %edi, %edi
callq 0x7b4b0
callq 0x89d30
movl $0x3f4, %edi            # imm = 0x3F4
callq 0x8b850
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_eph_status(int)
void request_eph_status(int prn)
{
   if(res_t) return;
   if(luxor) return;
   if(no_poll) return;
   if(rcvr_type != TSIP_RCVR) return;

   send_tsip_start(0x3B);
   send_byte((u08) prn);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x1e7c52(%rip), %rax    # 0x277ae4
cmpb $0x0, (%rax)
je 0x8fe99
jmp 0x8fede
leaq 0x20e27e(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8fea7
jmp 0x8fede
leaq 0x306352(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8feb5
jmp 0x8fede
leaq 0x1e7bf4(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x8fec4
jmp 0x8fede
movl $0x3b, %edi
callq 0x824f0
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_last_raw(int)
void request_last_raw(int prn)
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x3A);
      send_byte((u08) prn);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x20e21c(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8ff09
jmp 0x8ff3e
leaq 0x3062f0(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8ff17
jmp 0x8ff3e
leaq 0x1e7b92(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ff3e
movl $0x3a, %edi
callq 0x824f0
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_sat_status(int)
void request_sat_status(int prn)
{
   if(luxor) return;
   if(no_poll) return;
   if(rcvr_type != TSIP_RCVR) return;

   send_tsip_start(0x3C);
   send_byte((u08) prn);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x20e1bc(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8ff69
jmp 0x8ffa0
leaq 0x306290(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8ff77
jmp 0x8ffa0
leaq 0x1e7b32(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x8ff86
jmp 0x8ffa0
movl $0x3c, %edi
callq 0x824f0
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_eeprom_status()
void request_eeprom_status()
{
   if(luxor) return;
   if(no_poll) return;
   if(rcvr_type != TSIP_RCVR) return;
   if(ACU_GG) return;
   if(ACU_360) return;
   if(ACUTIME) ;
   else if(PALISADE) return;
   else if(SV6_FAMILY) return;
   if(res_t) return;          // !!! Thunderbolt only
   if(saw_ntpx) return;

   send_tsip_start(0x3F);
   send_byte(0x11);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20e163(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8ffc5
jmp 0x900f6
leaq 0x306234(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8ffd6
jmp 0x900f6
leaq 0x1e7ad3(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x8ffe8
jmp 0x900f6
leaq 0x1e7ac1(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90012
leaq 0x1ea1b8(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x90012
leaq 0x1e7ad0(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x90012
jmp 0x900f6
leaq 0x1e7a97(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90048
leaq 0x1ea18e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x90048
leaq 0x1e7aa6(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x90043
leaq 0x1e7a9a(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x90048
jmp 0x900f6
leaq 0x1e7a61(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90063
leaq 0x1ea158(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x90063
jmp 0x900c1
leaq 0x1e7a46(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9007e
leaq 0x1ea13d(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x9007e
jmp 0x900f6
leaq 0x1e7a2b(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x900bd
leaq 0x1ea122(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x900bb
leaq 0x1ea116(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x900bb
leaq 0x1ea10a(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x900bb
leaq 0x1ea0fe(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x900bd
jmp 0x900f6
jmp 0x900bf
jmp 0x900c1
leaq 0x1e7a1c(%rip), %rax    # 0x277ae4
cmpb $0x0, (%rax)
je 0x900cf
jmp 0x900f6
leaq 0x20e046(%rip), %rax    # 0x29e11c
cmpb $0x0, (%rax)
je 0x900dd
jmp 0x900f6
movl $0x3f, %edi
callq 0x824f0
movl $0x11, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopl (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_diff_mode()
void request_diff_mode()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x62);
      send_byte(0xFF);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20e013(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x90112
jmp 0x90146
leaq 0x3060e7(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x90120
jmp 0x90146
leaq 0x1e7989(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90146
movl $0x62, %edi
callq 0x824f0
movl $0xff, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopl (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_diff_mode(unsigned char)
void set_diff_mode(u08 mode)
{
   if(read_only) return;
   if(luxor) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x62);
      send_byte(mode);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x306095(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9016c
jmp 0x9019f
leaq 0x20dfab(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9017a
jmp 0x9019f
leaq 0x1e792f(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9019f
movl $0x62, %edi
callq 0x824f0
movzbl -0x1(%rbp), %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_posn_filter()
void request_posn_filter()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x71);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20df63(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x901c2
jmp 0x901ec
leaq 0x306037(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x901d0
jmp 0x901ec
leaq 0x1e78d9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x901ec
movl $0x71, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_alt_filter()
void request_alt_filter()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x73);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20df23(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x90202
jmp 0x9022c
leaq 0x305ff7(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x90210
jmp 0x9022c
leaq 0x1e7899(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9022c
movl $0x73, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_high8_mode()
void request_high8_mode()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x75);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20dee3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x90242
jmp 0x9026c
leaq 0x305fb7(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x90250
jmp 0x9026c
leaq 0x1e7859(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9026c
movl $0x75, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_high6_mode()
void request_high6_mode()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x76);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20dea3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x90282
jmp 0x902ac
leaq 0x305f77(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x90290
jmp 0x902ac
leaq 0x1e7819(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x902ac
movl $0x76, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_diff_age()
void request_diff_age()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x77);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20de63(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x902c2
jmp 0x902ec
leaq 0x305f37(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x902d0
jmp 0x902ec
leaq 0x1e77d9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x902ec
movl $0x77, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_posn_filter(unsigned char, unsigned char)
void set_posn_filter(u08 static_mode, u08 dynamic_mode)
{
u08 val;

   if(read_only) return;
   if(luxor) return;

   if(rcvr_type == TSIP_RCVR) {
      if(static_mode || dynamic_mode) val = 1;
      else val = 0;
      send_tsip_start(0x71);
      send_byte(val);
      if(dynamic_mode) send_single(0.0625F);
      else             send_single(1.0F);
      send_byte(1);
      send_byte(1);
      send_byte(0);
      send_byte(6);
      send_single(0.1F);
      send_single(100.0F);
      send_single(1.21F);
      send_single(1.0E6F);
      if(static_mode) send_byte(6);
      else            send_byte(255);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %sil, %al
movb %dil, %cl
movb %cl, -0x1(%rbp)
movb %al, -0x2(%rbp)
leaq 0x305d0f(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x904f5
jmp 0x905dc
leaq 0x20dc22(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x90506
jmp 0x905dc
leaq 0x1e75a3(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x905dc
cmpb $0x0, -0x1(%rbp)
jne 0x90523
cmpb $0x0, -0x2(%rbp)
je 0x90529
movb $0x1, -0x3(%rbp)
jmp 0x9052d
movb $0x0, -0x3(%rbp)
movl $0x71, %edi
callq 0x824f0
movzbl -0x3(%rbp), %edi
callq 0x7b210
cmpb $0x0, -0x2(%rbp)
je 0x90555
movss 0xf2dda(%rip), %xmm0    # 0x183328
callq 0x7b600
jmp 0x90562
movss 0xe13df(%rip), %xmm0    # 0x17193c
callq 0x7b600
movl $0x1, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
movl $0x6, %edi
callq 0x7b210
movss 0xf2da5(%rip), %xmm0    # 0x183334
callq 0x7b600
movss 0xf2d88(%rip), %xmm0    # 0x183324
callq 0x7b600
movss 0xf2d87(%rip), %xmm0    # 0x183330
callq 0x7b600
movss 0xf2d76(%rip), %xmm0    # 0x18332c
callq 0x7b600
cmpb $0x0, -0x1(%rbp)
je 0x905cd
movl $0x6, %edi
callq 0x7b210
jmp 0x905d7
movl $0xff, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_alt_filter(unsigned char)
void set_alt_filter(u08 mode)
{
   if(read_only) return;
   if(luxor) return;

   // mode > 1: filter count
   // mode = 1: filter off
   // mode = 0: filter default
   if(mode) mode = 0;
   else     mode = 1;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x73);
      send_single((float) mode);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x3059d5(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9082c
jmp 0x90873
leaq 0x20d8eb(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9083a
jmp 0x90873
cmpb $0x0, -0x1(%rbp)
je 0x90846
movb $0x0, -0x1(%rbp)
jmp 0x9084a
movb $0x1, -0x1(%rbp)
leaq 0x1e725f(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90873
movl $0x73, %edi
callq 0x824f0
movzbl -0x1(%rbp), %eax
cvtsi2ss %eax, %xmm0
callq 0x7b600
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_high8_mode(unsigned char)
void set_high8_mode(u08 mode)
{
   if(read_only) return;
   if(luxor) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x75);
      send_single((float) mode);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x305965(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9089c
jmp 0x908d3
leaq 0x20d87b(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x908aa
jmp 0x908d3
leaq 0x1e71ff(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x908d3
movl $0x75, %edi
callq 0x824f0
movzbl -0x1(%rbp), %eax
cvtsi2ss %eax, %xmm0
callq 0x7b600
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_high6_mode(unsigned char)
void set_high6_mode(u08 mode)
{
   if(read_only) return;
   if(luxor) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x76);
      send_single((float) mode);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x305905(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x908fc
jmp 0x90933
leaq 0x20d81b(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9090a
jmp 0x90933
leaq 0x1e719f(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90933
movl $0x76, %edi
callq 0x824f0
movzbl -0x1(%rbp), %eax
cvtsi2ss %eax, %xmm0
callq 0x7b600
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_diff_age(unsigned short)
void set_diff_age(u16 age)
{
   if(read_only) return;
   if(luxor) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x77);
      send_word(age);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
leaq 0x3058a4(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9095d
jmp 0x90990
leaq 0x20d7ba(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9096b
jmp 0x90990
leaq 0x1e713e(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90990
movl $0x77, %edi
callq 0x824f0
movzwl -0x2(%rbp), %edi
callq 0x7b4b0
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: send_rt17_start(int, int)
void send_rt17_start(int msg, int len)
{
// flush_rt17_cmd();   // toots - RT17 fix needed
if(debug_file) fprintf(debug_file, "send rt17: %02x  len:%d\n", msg, len);

   send_byte(0x02);
   rt17_tx_cksum = 0;

   send_byte(0x00);   // status
   send_byte(msg);    // msg type
   send_byte(len);    // header len
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
leaq 0x20cb5b(%rip), %rax    # 0x29d570
cmpq $0x0, (%rax)
je 0x90a39
leaq 0x20cb4e(%rip), %rax    # 0x29d570
movq (%rax), %rdi
movl -0x4(%rbp), %edx
movl -0x8(%rbp), %ecx
leaq 0xf53c0(%rip), %rsi     # 0x185df2
movb $0x0, %al
callq 0x9550
movl $0x2, %edi
callq 0x7b210
movb $0x0, 0x33b256(%rip)    # 0x3cbca0
xorl %edi, %edi
callq 0x7b210
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
movl -0x8(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_gnss_system()
void request_gnss_system()
{
   // request the current GNSS system selections
   if(no_poll) return;
   if(luxor) return;

   if(rcvr_type == ESIP_RCVR) {
      send_esip_cmd("PERDAPI,GNSS,QUERY");
   }
   else if(rcvr_type == NVS_RCVR) {
      send_nvs_start(0x0D);  // gnss system info
      send_byte(0x02);
      send_nvs_end();
   }
   else if(rcvr_type == TSIP_RCVR) {
      if(PALISADE) return;
      if(SV6_FAMILY) return;

      if(saw_icm || (res_t == RES_T_360) || ACU_GG || ACU_360) {
         request_rcvr_config(666);
      }
   }
   else if(rcvr_type == UBX_RCVR) {
      request_ubx_msg(UBX_GNSS);
   }
   else if(rcvr_type == VENUS_RCVR) {
      query_venus_msg(QUERY_VENUS_GNSS);
      query_venus_msg(QUERY_VENUS_SBAS);
      query_venus_msg(QUERY_VENUS_QZSS);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x305735(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x90ad5
jmp 0x90c82
leaq 0x20d642(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x90ae6
jmp 0x90c82
movl $0x80000000, %ecx       # imm = 0x80000000
leaq 0x1e6fbe(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x90b08
leaq 0xf40a3(%rip), %rdi     # 0x184ba1
callq 0x830d0
jmp 0x90c82
leaq 0x1e6fa1(%rip), %rax    # 0x277ab0
cmpq $0x800, (%rax)          # imm = 0x800
jne 0x90b36
movl $0xd, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
callq 0x82630
jmp 0x90c80
leaq 0x1e6f73(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90c24
leaq 0x1e6f62(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90b65
leaq 0x1e9659(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x90b65
jmp 0x90c82
leaq 0x1e6f44(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90ba7
leaq 0x1e963b(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x90ba2
leaq 0x1e962f(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x90ba2
leaq 0x1e9623(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x90ba2
leaq 0x1e9617(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x90ba7
jmp 0x90c82
leaq 0x20d55f(%rip), %rax    # 0x29e10d
cmpb $0x0, (%rax)
jne 0x90c18
leaq 0x1e6f2a(%rip), %rax    # 0x277ae4
movzbl (%rax), %eax
cmpl $0x4, %eax
je 0x90c18
leaq 0x1e6ee7(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90be7
leaq 0x1e95de(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x90be7
leaq 0x1e6ef6(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
je 0x90c18
leaq 0x1e6ec2(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x90c22
leaq 0x1e95b9(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x90c22
leaq 0x1e6ed1(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x90c18
leaq 0x1e6ec5(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x90c22
movl $0x29a, %edi            # imm = 0x29A
callq 0x8c270
jmp 0x90c7e
leaq 0x1e6e85(%rip), %rax    # 0x277ab0
cmpq $0x4, (%rax)
jne 0x90c3d
movl $0x63e, %edi            # imm = 0x63E
callq 0x85d00
jmp 0x90c7c
leaq 0x1e6e6c(%rip), %rax    # 0x277ab0
cmpq $0x80, (%rax)
jne 0x90c7a
movl $0x64, %edi
movl $0x1a, %esi
callq 0x8b800
movl $0x62, %edi
movl $0x2, %esi
callq 0x8b800
movl $0x62, %edi
movl $0x4, %esi
callq 0x8b800
jmp 0x90c7c
jmp 0x90c7e
jmp 0x90c80
jmp 0x90c82
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_ubx_amu(float)
void set_ubx_amu(float amu)
{
   if(read_only) return;

   send_ubx_start(UBX_NAVX5, 40);

   send_word(0);      // msg version
   send_word(0x0008); // only update amu mask 
   send_dword(0);
   send_byte(0);      // rsvd
   send_byte(0);      // rsvd
   send_byte(1);      // min sv
   send_byte(16);     // max sv
   send_byte((s08) amu);
   send_byte(0);      // rsvd
   send_byte(0);      // initial fix
   send_byte(0);      // rsvd
   send_byte(0);      // rsvd
   send_byte(0);      // rsvd
   send_word(0);      // rollover week
   send_dword(0);     // rsvd
   send_dword(0);     // rsvd
   send_dword(0);     // rsvd
   send_dword(0);     // rsvd
   send_dword(0);     // rsvd

   send_ubx_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movss %xmm0, -0x4(%rbp)
leaq 0x305556(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x90cae
jmp 0x90d60
movl $0x623, %edi            # imm = 0x623
movl $0x28, %esi
callq 0x83710
xorl %edi, %edi
movl %edi, -0x8(%rbp)
callq 0x7b4b0
movl $0x8, %edi
callq 0x7b4b0
movl -0x8(%rbp), %edi
callq 0x7b520
movl -0x8(%rbp), %edi
callq 0x7b210
movl -0x8(%rbp), %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
movl $0x10, %edi
callq 0x7b210
movss -0x4(%rbp), %xmm0
cvttss2si %xmm0, %eax
movzbl %al, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b520
xorl %edi, %edi
callq 0x7b520
xorl %edi, %edi
callq 0x7b520
xorl %edi, %edi
callq 0x7b520
xorl %edi, %edi
callq 0x7b520
callq 0x83820
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rcvr_smoothing(int)
void set_rcvr_smoothing(int val)
{
   if(read_only) return;

   if(rcvr_type == FURUNO_RCVR) {
      if((val >= 1) && (val <= 3)) {
         sprintf(out, "GPset,W%d", val);
         send_furuno_cmd(out);
         send_furuno_cmd("GPsrq");
      }
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x305078(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x91189
jmp 0x911d7
leaq 0x1e6920(%rip), %rax    # 0x277ab0
cmpq $0x20000000, (%rax)     # imm = 0x20000000
jne 0x911d7
cmpl $0x1, -0x4(%rbp)
jl 0x911d5
cmpl $0x3, -0x4(%rbp)
jg 0x911d5
movl -0x4(%rbp), %edx
leaq 0x30a251(%rip), %rdi    # 0x39b400
leaq 0xf3090(%rip), %rsi     # 0x184246
movb $0x0, %al
callq 0x9060
leaq 0x30a23c(%rip), %rdi    # 0x39b400
callq 0x83270
leaq 0xf2b81(%rip), %rdi     # 0x183d51
callq 0x83270
jmp 0x911d7
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_serial_config(unsigned char)
void request_serial_config(u08 port)
{
   if(luxor) return;
   if(no_poll) return;
   if(rcvr_type != TSIP_RCVR) return;

   send_tsip_start(0xBC);
   send_byte(port);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x20cf29(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x911fc
jmp 0x91231
leaq 0x304ffd(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x9120a
jmp 0x91231
leaq 0x1e689f(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x91219
jmp 0x91231
movl $0xbc, %edi
callq 0x824f0
movzbl -0x1(%rbp), %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_datum()
void request_datum()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == FURUNO_RCVR) {
//      send_furuno_cmd("GPsrq");  // we get this from request_rcvr_config()
   }
   else if(rcvr_type == MOTO_RCVR) {
      send_moto_start("Ao");
      send_byte(0xFF);
      send_moto_end();
   }
   else if(rcvr_type == TSIP_RCVR) {
      if(SV6_FAMILY && !ACU_GG && !ACU_360) return;
      send_tsip_start(0x8E);
      send_byte(0x15);
      send_tsip_end();
   }
   else if(rcvr_type == UBX_RCVR) {
      request_ubx_msg(UBX_DATUM);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20ccf3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x91435
jmp 0x9156a
leaq 0x304dc4(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x91446
jmp 0x9156a
leaq 0x1e6663(%rip), %rax    # 0x277ab0
cmpq $0x20000000, (%rax)     # imm = 0x20000000
jne 0x9145b
jmp 0x9156a
leaq 0x1e664e(%rip), %rax    # 0x277ab0
cmpq $0x20, (%rax)
jne 0x91488
leaq 0xf2de1(%rip), %rdi     # 0x184250
callq 0x86190
movl $0xff, %edi
callq 0x7b210
callq 0x86230
jmp 0x91568
leaq 0x1e6621(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9154d
leaq 0x1e6610(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x91532
leaq 0x1e8d03(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x914da
leaq 0x1e8cf7(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x914da
leaq 0x1e8ceb(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x914da
leaq 0x1e8cdf(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x91532
leaq 0x1e65cf(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x914ff
leaq 0x1e8cc6(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x914ff
leaq 0x1e65de(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
je 0x91532
leaq 0x1e65aa(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x91530
leaq 0x1e8ca1(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x91530
leaq 0x1e65b9(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x91532
leaq 0x1e65ad(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
je 0x91532
jmp 0x9156a
movl $0x8e, %edi
callq 0x824f0
movl $0x15, %edi
callq 0x7b210
callq 0x82590
jmp 0x91566
leaq 0x1e655c(%rip), %rax    # 0x277ab0
cmpq $0x4, (%rax)
jne 0x91564
movl $0x606, %edi            # imm = 0x606
callq 0x85d00
jmp 0x91566
jmp 0x91568
jmp 0x9156a
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: revert_segment(unsigned char)
void revert_segment(u08 segment)
{
   if(read_only) return;
   if(luxor) return;
   if(rcvr_type != TSIP_RCVR) return;

   send_tsip_start(0x8E);
   send_byte(0x45);
   send_byte(segment);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x304c75(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9158c
jmp 0x915cb
leaq 0x20cb8b(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9159a
jmp 0x915cb
leaq 0x1e650f(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x915a9
jmp 0x915cb
movl $0x8e, %edi
callq 0x824f0
movl $0x45, %edi
callq 0x7b210
movzbl -0x1(%rbp), %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_osc_sense()
void request_osc_sense()
{
   if(luxor) return;
   if(no_poll) return;
   if(res_t) return;
   if(rcvr_type != TSIP_RCVR) return;
   if(ACU_GG) return;
   if(ACU_360) return;
   if(ACUTIME) return;
   if(PALISADE) return;
   if(SV6_FAMILY) return;

   send_tsip_start(0x8E);  // not available on ThunderBolt-E or early ThunderBolts
   send_byte(0xA1);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20cb33(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x915f5
jmp 0x91717
leaq 0x304c04(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x91606
jmp 0x91717
leaq 0x1e64d7(%rip), %rax    # 0x277ae4
cmpb $0x0, (%rax)
je 0x91617
jmp 0x91717
leaq 0x1e6492(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x91629
jmp 0x91717
leaq 0x1e6480(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x91653
leaq 0x1e8b77(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x91653
leaq 0x1e648f(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x91653
jmp 0x91717
leaq 0x1e6456(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x91689
leaq 0x1e8b4d(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x91689
leaq 0x1e6465(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x91684
leaq 0x1e6459(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x91689
jmp 0x91717
leaq 0x1e6420(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x916a4
leaq 0x1e8b17(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x916a4
jmp 0x91717
leaq 0x1e6405(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x916bf
leaq 0x1e8afc(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x916bf
jmp 0x91717
leaq 0x1e63ea(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x916fe
leaq 0x1e8ae1(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x916fc
leaq 0x1e8ad5(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x916fc
leaq 0x1e8ac9(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x916fc
leaq 0x1e8abd(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x916fe
jmp 0x91717
movl $0x8e, %edi
callq 0x824f0
movl $0xa1, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_ubx_tp5(int)
void request_ubx_tp5(int chan)
{
   if(no_poll) return;

   send_ubx_start(UBX_TP5, 1);
   send_byte(chan);
   send_ubx_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x30470e(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x91af9
jmp 0x91b18
movl $0x631, %edi            # imm = 0x631
movl $0x1, %esi
callq 0x83710
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x83820
addq $0x10, %rsp
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rftg_cable(double)
void set_rftg_cable(double delay)
{
   if(read_only) return;

   delay *= 1.0E9;
   delay *= VELOCITY_FACTOR;  // assumed velocity factor

   start_rftg_request(1);

   send_rftg_start(0x35);
   send_byte(1);   // 1=set?
   send_single((float) delay);
   send_rftg_end();
   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd %xmm0, -0x8(%rbp)
leaq 0x303776(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x92a8b
jmp 0x92ae5
movsd 0xdc595(%rip), %xmm0    # 0x16f028
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd 0xdec33(%rip), %xmm0    # 0x1716d8
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movl $0x1, %edi
callq 0x8aef0
movl $0x35, %edi
callq 0x824f0
movl $0x1, %edi
callq 0x7b210
movsd -0x8(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
callq 0x7b600
callq 0x82590
callq 0x8b030
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rftg_offset(double)
void set_rftg_offset(double val)
{
   // pps offset - in nanoseconds
   if(read_only) return;

   val = (val / 1000.0);   // convert nanoseconds to microseconds
   if(val >= 0.0) set_rftg_advance((float) val);
   else           set_rftg_delay((float) (0.0-val));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd %xmm0, -0x8(%rbp)
leaq 0x3036f6(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x92b0b
jmp 0x92b50
movsd -0x8(%rbp), %xmm0
movsd 0xdc518(%rip), %xmm1    # 0x16f030
divsd %xmm1, %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x92b3f
movsd -0x8(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
callq 0xbb440
jmp 0x92b50
xorps %xmm0, %xmm0
subsd -0x8(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
callq 0xbb490
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_x72_creg(int)
void set_x72_creg(int val)
{
   // set the X72 control reg value
   if(read_only) return;


   val &= 0xFFFF;
   sprintf(out, "q%04X", val);
   queue_x72_cmd(out, X72_SET_CREG_MSG);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x303428(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x92dd9
jmp 0x92e0d
movl -0x4(%rbp), %eax
andl $0xffff, %eax           # imm = 0xFFFF
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %edx
leaq 0x308612(%rip), %rdi    # 0x39b400
leaq 0xf442a(%rip), %rsi     # 0x18721f
movb $0x0, %al
callq 0x9060
leaq 0x3085fd(%rip), %rdi    # 0x39b400
movl $0x2c6, %esi            # imm = 0x2C6
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_pps_source(int)
void set_pps_source(int source)
{
   if(read_only) return;

   if(rcvr_type == TM4_RCVR) {
      sprintf(out, "#24,%d", source);
      send_tm4_cmd(out);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x303148(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x930b9
jmp 0x930f3
movabsq $0x400000000, %rcx      # imm = 0x400000000
leaq 0x1e49e6(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x930f3
movl -0x4(%rbp), %edx
leaq 0x308327(%rip), %rdi    # 0x39b400
leaq 0xf1355(%rip), %rsi     # 0x184435
movb $0x0, %al
callq 0x9060
leaq 0x308312(%rip), %rdi    # 0x39b400
callq 0x83490
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_time_code(char)
void set_time_code(char mode)
{
   // set time code output format
   if(read_only) return;

   if(rcvr_type == BRANDY_RCVR) {
      if(mode == 'D') {  // enable digital time code
         sprintf(out, "$PRCCG,E,X,1,X,X");
      }
      else {
         sprintf(out, "$PRCCG,E,%c,X,X,X", mode);
      }
      queue_brandy_cmd(out, BRANDY_CODE_MSG);
   }
   else if(rcvr_type == TM4_RCVR) {
      if     (mode == '0') send_tm4_cmd("#16,0"); // IRIG
      else if(mode == '1') send_tm4_cmd("#16,1"); // NASA36
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x3030e5(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9311f
jmp 0x931c3
leaq 0x1e498a(%rip), %rax    # 0x277ab0
cmpq $0x40000, (%rax)        # imm = 0x40000
jne 0x9317b
movsbl -0x1(%rbp), %eax
cmpl $0x44, %eax
jne 0x9314f
leaq 0x3082c1(%rip), %rdi    # 0x39b400
leaq 0xf12f6(%rip), %rsi     # 0x18443c
movb $0x0, %al
callq 0x9060
jmp 0x93168
movsbl -0x1(%rbp), %edx
leaq 0x3082a6(%rip), %rdi    # 0x39b400
leaq 0xf12ec(%rip), %rsi     # 0x18444d
movb $0x0, %al
callq 0x9060
leaq 0x308291(%rip), %rdi    # 0x39b400
movl $0x192, %esi            # imm = 0x192
callq 0x82fd0
jmp 0x931c3
movabsq $0x400000000, %rcx      # imm = 0x400000000
leaq 0x1e4924(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x931c1
movsbl -0x1(%rbp), %eax
cmpl $0x30, %eax
jne 0x931a8
leaq 0xf12be(%rip), %rdi     # 0x18445f
callq 0x83490
jmp 0x931bf
movsbl -0x1(%rbp), %eax
cmpl $0x31, %eax
jne 0x931bd
leaq 0xf12ad(%rip), %rdi     # 0x184465
callq 0x83490
jmp 0x931bf
jmp 0x931c1
jmp 0x931c3
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_timeport_format(int)
void set_timeport_format(int format)
{
   if(read_only) return;

   if(rcvr_type == TM4_RCVR) {
      sprintf(out, "#15,%d", format);
      send_tm4_cmd(out);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x303018(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x931e9
jmp 0x93223
movabsq $0x400000000, %rcx      # imm = 0x400000000
leaq 0x1e48b6(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x93223
movl -0x4(%rbp), %edx
leaq 0x3081f7(%rip), %rdi    # 0x39b400
leaq 0xf125b(%rip), %rsi     # 0x18446b
movb $0x0, %al
callq 0x9060
leaq 0x3081e2(%rip), %rdi    # 0x39b400
callq 0x83490
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: x72_fw_discipline()
int x72_fw_discipline()
{
   // returns true if the X72 supports firmware PPS disciplining
   if(rcvr_type != X72_RCVR) return 0;

   if(1 && have_x72_fw_dis) {  // use "j" command results to determine capability
      if(x72_type == X72_TYPE)  return 72;
      if(x72_type == X99_TYPE)  return 99;   // !!!!! what X99 firmware supports pps disciplining?
      if(x72_type == SA22_TYPE) return 22;
      return 1;
   }

   if(1 && have_x72_type) {  // use firmware rev to determine capability
      if((x72_type == X72_TYPE) && (x72_fw >= 5.02)) return -72;
      if((x72_type == X99_TYPE) && (x72_fw >= 5.02)) return -99;   // !!!!! what X99 firmware supports pps disciplining?
      if((x72_type == SA22_TYPE) && (x72_fw >= 6.05)) return -22;
   }

   return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x1e3875(%rip), %rax    # 0x277ab0
cmpq $0x2000000, (%rax)      # imm = 0x2000000
je 0x94250
movl $0x0, -0x4(%rbp)
jmp 0x94353
leaq 0x1e5c9d(%rip), %rax    # 0x279ef4
cmpl $0x0, (%rax)
je 0x942b0
leaq 0x1e5cbd(%rip), %rax    # 0x279f20
cmpl $0x0, (%rax)
jne 0x94274
movl $0x48, -0x4(%rbp)
jmp 0x94353
leaq 0x1e5ca5(%rip), %rax    # 0x279f20
cmpl $0x3, (%rax)
jne 0x9428c
movl $0x63, -0x4(%rbp)
jmp 0x94353
leaq 0x1e5c8d(%rip), %rax    # 0x279f20
cmpl $0x1, (%rax)
jne 0x942a4
movl $0x16, -0x4(%rbp)
jmp 0x94353
movl $0x1, -0x4(%rbp)
jmp 0x94353
leaq 0x1e5c09(%rip), %rax    # 0x279ec0
cmpl $0x0, (%rax)
je 0x9434c
leaq 0x1e5c59(%rip), %rax    # 0x279f20
cmpl $0x0, (%rax)
jne 0x942ee
leaq 0x1e5cb5(%rip), %rax    # 0x279f88
movsd (%rax), %xmm0
movsd 0xee901(%rip), %xmm1    # 0x182be0
ucomisd %xmm1, %xmm0
jb 0x942ee
movl $0xffffffb8, -0x4(%rbp) # imm = 0xFFFFFFB8
jmp 0x94353
leaq 0x1e5c2b(%rip), %rax    # 0x279f20
cmpl $0x3, (%rax)
jne 0x9431c
leaq 0x1e5c87(%rip), %rax    # 0x279f88
movsd (%rax), %xmm0
movsd 0xee8d3(%rip), %xmm1    # 0x182be0
ucomisd %xmm1, %xmm0
jb 0x9431c
movl $0xffffff9d, -0x4(%rbp) # imm = 0xFFFFFF9D
jmp 0x94353
leaq 0x1e5bfd(%rip), %rax    # 0x279f20
cmpl $0x1, (%rax)
jne 0x9434a
leaq 0x1e5c59(%rip), %rax    # 0x279f88
movsd (%rax), %xmm0
movsd 0xee8ad(%rip), %xmm1    # 0x182be8
ucomisd %xmm1, %xmm0
jb 0x9434a
movl $0xffffffea, -0x4(%rbp) # imm = 0xFFFFFFEA
jmp 0x94353
jmp 0x9434c
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: save_prs_param(char*)
void save_prs_param(char *s)
{
   if(s == 0) return;
   if(!strcmp(s, "AL")) {
      queue_prs_cmd("LM!", SCPI_USER_MSG);  // in verbose mode, these return an OK response
      queue_prs_cmd("FC!", SCPI_USER_MSG);  // ... so no need for -SCPI_USER_MSG
      queue_prs_cmd("GA!", SCPI_USER_MSG);
      queue_prs_cmd("SP!", SCPI_USER_MSG);
      queue_prs_cmd("MO!", SCPI_USER_MSG);
      queue_prs_cmd("TO!", SCPI_USER_MSG);
      queue_prs_cmd("PL!", SCPI_USER_MSG);
      queue_prs_cmd("PF!", SCPI_USER_MSG);
      queue_prs_cmd("PT!", SCPI_USER_MSG);
   }
   else {
      strcpy(out, s);
      strcat(out, "!");
      queue_prs_cmd(out, SCPI_USER_MSG);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x94398
jmp 0x94480
movq -0x8(%rbp), %rdi
leaq 0x1018ff(%rip), %rsi    # 0x195ca2
callq 0x9510
cmpl $0x0, %eax
jne 0x9444c
leaq 0xf01f8(%rip), %rdi     # 0x1845b0
movl $0x25, %esi
callq 0x82fd0
leaq 0xf01eb(%rip), %rdi     # 0x1845b4
movl $0x25, %esi
callq 0x82fd0
leaq 0xf01de(%rip), %rdi     # 0x1845b8
movl $0x25, %esi
callq 0x82fd0
leaq 0xf01d1(%rip), %rdi     # 0x1845bc
movl $0x25, %esi
callq 0x82fd0
leaq 0xf01c4(%rip), %rdi     # 0x1845c0
movl $0x25, %esi
callq 0x82fd0
leaq 0xf01b7(%rip), %rdi     # 0x1845c4
movl $0x25, %esi
callq 0x82fd0
leaq 0xf01aa(%rip), %rdi     # 0x1845c8
movl $0x25, %esi
callq 0x82fd0
leaq 0xf019d(%rip), %rdi     # 0x1845cc
movl $0x25, %esi
callq 0x82fd0
leaq 0xf0190(%rip), %rdi     # 0x1845d0
movl $0x25, %esi
callq 0x82fd0
jmp 0x94480
movq -0x8(%rbp), %rsi
leaq 0x306fa9(%rip), %rdi    # 0x39b400
callq 0x9350
leaq 0x306f9d(%rip), %rdi    # 0x39b400
leaq 0xebd42(%rip), %rsi     # 0x1801ac
callq 0x96a0
leaq 0x306f8a(%rip), %rdi    # 0x39b400
movl $0x25, %esi
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: rftg_clear_errlog()
void rftg_clear_errlog()
{
   if(read_only) return;

   start_rftg_request2(0);

   send_rftg_start(0x37);  // clear error history from eeprom
   send_byte(1); 
   send_rftg_end();

   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x301d2f(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x944d2
jmp 0x944f7
xorl %edi, %edi
callq 0x8af90
movl $0x37, %edi
callq 0x824f0
movl $0x1, %edi
callq 0x7b210
callq 0x82590
callq 0x8b030
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_dac_voltage()
void request_dac_voltage()
{
   if(luxor) return;
   if(no_poll) return;
   if(res_t) return;
   if(rcvr_type != TSIP_RCVR) return;
   if(ACU_GG) return;
   if(ACU_360) return;
   if(ACUTIME) return;
   if(PALISADE) return;
   if(SV6_FAMILY) return;

   send_tsip_start(0x8E);
   send_byte(0xA0);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x209c13(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x94515
jmp 0x94637
leaq 0x301ce4(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x94526
jmp 0x94637
leaq 0x1e35b7(%rip), %rax    # 0x277ae4
cmpb $0x0, (%rax)
je 0x94537
jmp 0x94637
leaq 0x1e3572(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x94549
jmp 0x94637
leaq 0x1e3560(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94573
leaq 0x1e5c57(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x94573
leaq 0x1e356f(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x94573
jmp 0x94637
leaq 0x1e3536(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x945a9
leaq 0x1e5c2d(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x945a9
leaq 0x1e3545(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x945a4
leaq 0x1e3539(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x945a9
jmp 0x94637
leaq 0x1e3500(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x945c4
leaq 0x1e5bf7(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x945c4
jmp 0x94637
leaq 0x1e34e5(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x945df
leaq 0x1e5bdc(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x945df
jmp 0x94637
leaq 0x1e34ca(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9461e
leaq 0x1e5bc1(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x9461c
leaq 0x1e5bb5(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x9461c
leaq 0x1e5ba9(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x9461c
leaq 0x1e5b9d(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9461e
jmp 0x94637
movl $0x8e, %edi
callq 0x824f0
movl $0xa0, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopl (%rax)