LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_cs_remote(int)
void set_cs_remote(int mode)
{
   if(read_only) return;

   if(rcvr_type == CS_RCVR) {
      if(mode) queue_cs_cmd("SYST:REM ON", CS_REM_MSG);
      else     queue_cs_cmd("SYST:REM OFF", CS_REM_MSG);
      queue_cs_cmd("SYST:REM?", CS_REM_MSG);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x30cf68(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x89299
jmp 0x892e4
leaq 0x1ee810(%rip), %rax    # 0x277ab0
cmpq $0x20000, (%rax)        # imm = 0x20000
jne 0x892e4
cmpl $0x0, -0x4(%rbp)
je 0x892c2
leaq 0xffa5c(%rip), %rdi     # 0x188d12
movl $0x146, %esi            # imm = 0x146
callq 0x82fd0
jmp 0x892d3
leaq 0xffa55(%rip), %rdi     # 0x188d1e
movl $0x146, %esi            # imm = 0x146
callq 0x82fd0
leaq 0xfa78f(%rip), %rdi     # 0x183a69
movl $0x146, %esi            # imm = 0x146
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: init_z12(int)
void init_z12(int mode)
{
int baud;
int i;

   // mode 0 -> no mem reset
   // mode 1 -> reset internal memory
   // mode 2 -> reset external memory
   // mode 3 -> reset all memory

   i = (-1);
   baud = com[RCVR_PORT].baud_rate;
   if     (baud == 150) ;   // don't allow non-standard values
   else if(baud == 300) i = 0;   
   else if(baud == 600) i = 1;   
   else if(baud == 1200) i = 2;  
   else if(baud == 2400) i = 3;  
   else if(baud == 4800) i = 4;  
   else if(baud == 9600) i = 5;  
   else if(baud == 19200) i = 6; 
   else if(baud == 38400) i = 7; 
   else if(baud == 57600) i = 8; 
   else if(baud == 115200) i = 9; 
   else if(baud == 230400) i = (-1);
   sprintf(out, "PASHS,INI,%d,%d,%d,%d,%d,0", i,i,i,i,mode);
//lfs sprintf(debug_text, "baud:%d  i:%d  msg:%s", baud,i,out);
   if(i < 0) return;

   send_z12_cmd(out);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl $0xffffffff, -0xc(%rbp) # imm = 0xFFFFFFFF
leaq 0x2e41b7(%rip), %rax    # 0x36d4c0
movl 0x159d0(%rax), %eax
movl %eax, -0x8(%rbp)
cmpl $0x96, -0x8(%rbp)
jne 0x89320
jmp 0x89406
cmpl $0x12c, -0x8(%rbp)      # imm = 0x12C
jne 0x89335
movl $0x0, -0xc(%rbp)
jmp 0x89404
cmpl $0x258, -0x8(%rbp)      # imm = 0x258
jne 0x8934a
movl $0x1, -0xc(%rbp)
jmp 0x89402
cmpl $0x4b0, -0x8(%rbp)      # imm = 0x4B0
jne 0x8935f
movl $0x2, -0xc(%rbp)
jmp 0x89400
cmpl $0x960, -0x8(%rbp)      # imm = 0x960
jne 0x89374
movl $0x3, -0xc(%rbp)
jmp 0x893fe
cmpl $0x12c0, -0x8(%rbp)     # imm = 0x12C0
jne 0x89386
movl $0x4, -0xc(%rbp)
jmp 0x893fc
cmpl $0x2580, -0x8(%rbp)     # imm = 0x2580
jne 0x89398
movl $0x5, -0xc(%rbp)
jmp 0x893fa
cmpl $0x4b00, -0x8(%rbp)     # imm = 0x4B00
jne 0x893aa
movl $0x6, -0xc(%rbp)
jmp 0x893f8
cmpl $0x9600, -0x8(%rbp)     # imm = 0x9600
jne 0x893bc
movl $0x7, -0xc(%rbp)
jmp 0x893f6
cmpl $0xe100, -0x8(%rbp)     # imm = 0xE100
jne 0x893ce
movl $0x8, -0xc(%rbp)
jmp 0x893f4
cmpl $0x1c200, -0x8(%rbp)    # imm = 0x1C200
jne 0x893e0
movl $0x9, -0xc(%rbp)
jmp 0x893f2
cmpl $0x38400, -0x8(%rbp)    # imm = 0x38400
jne 0x893f0
movl $0xffffffff, -0xc(%rbp) # imm = 0xFFFFFFFF
jmp 0x893f2
jmp 0x893f4
jmp 0x893f6
jmp 0x893f8
jmp 0x893fa
jmp 0x893fc
jmp 0x893fe
jmp 0x89400
jmp 0x89402
jmp 0x89404
jmp 0x89406
movl -0xc(%rbp), %edx
movl -0xc(%rbp), %ecx
movl -0xc(%rbp), %r8d
movl -0xc(%rbp), %r9d
movl -0x4(%rbp), %eax
leaq 0x311fe2(%rip), %rdi    # 0x39b400
leaq 0xfa53c(%rip), %rsi     # 0x183961
movl %eax, (%rsp)
movb $0x0, %al
callq 0x9060
cmpl $0x0, -0xc(%rbp)
jge 0x89437
jmp 0x89443
leaq 0x311fc2(%rip), %rdi    # 0x39b400
callq 0x83630
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_luxor_time()
void set_luxor_time()
{
   if(luxor == 0) return;

   get_clock_time();   // in UTC

   send_tsip_start(LUXOR_ID); 
   send_byte(0x02);
   send_byte((u08) clk_seconds);
   send_byte((u08) clk_minutes);
   send_byte((u08) clk_hours);
   send_byte((u08) clk_day);
   send_byte((u08) clk_month);
   send_byte((u08) (clk_year%100));
   send_tsip_end();

   luxor_time_set = 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x214843(%rip), %rax    # 0x29e11e
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x898e8
jmp 0x8997d
callq 0xa750
movl $0xdc, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
leaq 0x2e2fac(%rip), %rax    # 0x36c8b4
movl (%rax), %eax
movzbl %al, %edi
callq 0x7b210
leaq 0x2e2f97(%rip), %rax    # 0x36c8b0
movl (%rax), %eax
movzbl %al, %edi
callq 0x7b210
leaq 0x2e2f82(%rip), %rax    # 0x36c8ac
movl (%rax), %eax
movzbl %al, %edi
callq 0x7b210
leaq 0x2e2f69(%rip), %rax    # 0x36c8a4
movl (%rax), %eax
movzbl %al, %edi
callq 0x7b210
leaq 0x2e2f54(%rip), %rax    # 0x36c8a0
movl (%rax), %eax
movzbl %al, %edi
callq 0x7b210
leaq 0x2e2f4b(%rip), %rax    # 0x36c8a8
movl (%rax), %eax
movl $0x64, %ecx
cltd
idivl %ecx
movb %dl, %al
movzbl %al, %edi
callq 0x7b210
callq 0x82590
movb $0x1, 0x341681(%rip)    # 0x3caffe
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_reset(int)
void request_rftg_reset(int mode)
{
   start_rftg_request(0);

   send_rftg_start(0x30);
   send_byte(0x06);
   send_dword(0);
   send_rftg_end();

   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
xorl %edi, %edi
callq 0x8aef0
movl $0x30, %edi
callq 0x824f0
movl $0x6, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x82590
callq 0x8b030
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: send_zod_start(unsigned short, unsigned short, unsigned short)
void send_zod_start(u16 id, u16 len, u16 flags)
{
u16 cksum;

   if(log_file && (log_stream & LOG_PACKET_START)) {
      fprintf(log_file, "\nSend zodiac start %04X  len:%u  flags:%04X\n", id, len,flags);
   }

   if(id == ZOD_FW_UPDATE) return;  // we don't allow this - might brick things

   len -= 6;
   cksum = (0x81FF + id + len + flags) & 0xFFFF;
   if(cksum != 0x8000) cksum = (0 - cksum) & 0xFFFF;

   zod_seq_num = (zod_seq_num + 1) & 0x7FFF;

   send_word(0x81FF);
   send_word(id);
   send_word(len);
   send_word(flags);
   send_word(cksum);

   zodiac_tx_cksum = 0;
   zodiac_tx_cnt = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movw %dx, %ax
movw %si, %cx
movw %di, %dx
movw %dx, -0x2(%rbp)
movw %cx, -0x4(%rbp)
movw %ax, -0x6(%rbp)
leaq 0x21392c(%rip), %rax    # 0x29d540
cmpq $0x0, (%rax)
je 0x89c50
leaq 0x2139cf(%rip), %rax    # 0x29d5f0
movl (%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x89c50
leaq 0x21390e(%rip), %rax    # 0x29d540
movq (%rax), %rdi
movzwl -0x2(%rbp), %edx
movzwl -0x4(%rbp), %ecx
movzwl -0x6(%rbp), %r8d
leaq 0xfe1b6(%rip), %rsi     # 0x187dff
movb $0x0, %al
callq 0x9550
movzwl -0x2(%rbp), %eax
cmpl $0x564, %eax            # imm = 0x564
jne 0x89c60
jmp 0x89cfb
movzwl -0x4(%rbp), %eax
subl $0x6, %eax
movw %ax, -0x4(%rbp)
movzwl -0x2(%rbp), %eax
addl $0x81ff, %eax           # imm = 0x81FF
movzwl -0x4(%rbp), %ecx
addl %ecx, %eax
movzwl -0x6(%rbp), %ecx
addl %ecx, %eax
andl $0xffff, %eax           # imm = 0xFFFF
movw %ax, -0x8(%rbp)
movzwl -0x8(%rbp), %eax
cmpl $0x8000, %eax           # imm = 0x8000
je 0x89ca5
movzwl -0x8(%rbp), %ecx
xorl %eax, %eax
subl %ecx, %eax
andl $0xffff, %eax           # imm = 0xFFFF
movw %ax, -0x8(%rbp)
movzwl 0x34205e(%rip), %eax    # 0x3cbd0a
addl $0x1, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movw %ax, 0x34204f(%rip)     # 0x3cbd0a
movl $0x81ff, %edi           # imm = 0x81FF
callq 0x7b4b0
movzwl -0x2(%rbp), %edi
callq 0x7b4b0
movzwl -0x4(%rbp), %edi
callq 0x7b4b0
movzwl -0x6(%rbp), %edi
callq 0x7b4b0
movzwl -0x8(%rbp), %edi
callq 0x7b4b0
movw $0x0, 0x342008(%rip)    # 0x3cbcfa
movw $0x0, 0x341ffd(%rip)    # 0x3cbcf8
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: send_zod_end()
void send_zod_end()
{
   if(zodiac_tx_cksum != 0x8000) zodiac_tx_cksum = (0 - zodiac_tx_cksum) & 0xFFFF;

   sendout(RCVR_PORT, zodiac_tx_cksum % 256, ADD_CHAR);
   sendout(RCVR_PORT, zodiac_tx_cksum / 256, EOM);
   if(sim_file == 0) Sleep(50);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movzwl 0x341fbf(%rip), %eax    # 0x3cbcfa
cmpl $0x8000, %eax           # imm = 0x8000
je 0x89d59
movzwl 0x341fb1(%rip), %ecx    # 0x3cbcfa
xorl %eax, %eax
subl %ecx, %eax
andl $0xffff, %eax           # imm = 0xFFFF
movw %ax, 0x341fa1(%rip)     # 0x3cbcfa
movzwl 0x341f9a(%rip), %eax    # 0x3cbcfa
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movb %dl, %al
movl $0xa, %edi
xorl %edx, %edx
movzbl %al, %esi
callq 0xd160
movzwl 0x341f7a(%rip), %eax    # 0x3cbcfa
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movl $0xa, %edi
movl $0x1, %edx
movzbl %al, %esi
callq 0xd160
leaq 0x2137ff(%rip), %rax    # 0x29d5a0
cmpq $0x0, (%rax)
jne 0x89db1
movl $0x32, %edi
callq 0xb8b0
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_venus_mode(int)
void set_venus_mode(int mode)
{
   // mode 1: NMEA output (accepts binary input) 2:binary output
   if(read_only) return;  // !!!!!!!!!!!!!!!!!

   send_venus_start(SET_VENUS_BINARY);
   send_byte(mode);
   send_venus_save(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x30bd18(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8a4e9
jmp 0x8a50d
movl $0x9, %edi
movl $0x3, %esi
callq 0x84080
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x84130
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: send_ss_start(int, int)
void send_ss_start(int id, int len)
{
   ss_tx_cksum = 0;
   len -= 4;   // 4 bytes of header

   send_byte(0x01);    // SOH
   send_byte(id);      // if bit 0x80 set on message requests, send continuosly
   send_byte(id^0xFF);
   send_byte(len);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movw $0x0, 0x341105(%rip)    # 0x3cbc9c
movl -0x8(%rbp), %eax
subl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x1, %edi
callq 0x7b210
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
movl -0x4(%rbp), %eax
xorl $0xff, %eax
movzbl %al, %edi
callq 0x7b210
movl -0x8(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_manuf_params()
void request_manuf_params()
{
   if(luxor) return;
   if(no_poll) return;
   if(rcvr_type != TSIP_RCVR) return;
   if(ACU_GG) ;
   else if(ACU_360) ;
   else if(ACUTIME) ;
   else if(PALISADE) ;
   else if(SV6_FAMILY) return;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x213483(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8aca5
jmp 0x8adbb
leaq 0x30b554(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8acb6
jmp 0x8adbb
leaq 0x1ecdf3(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x8acc8
jmp 0x8adbb
leaq 0x1ecde1(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8acf2
leaq 0x1ef4d8(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8acf2
leaq 0x1ecdf0(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8acf2
jmp 0x8ada2
leaq 0x1ecdb7(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ad25
leaq 0x1ef4ae(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ad25
leaq 0x1ecdc6(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x8ad23
leaq 0x1ecdba(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8ad25
jmp 0x8ada0
leaq 0x1ecd84(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ad40
leaq 0x1ef47b(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ad40
jmp 0x8ad9e
leaq 0x1ecd69(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ad5b
leaq 0x1ef460(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x8ad5b
jmp 0x8ad9c
leaq 0x1ecd4e(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ad9a
leaq 0x1ef445(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x8ad98
leaq 0x1ef439(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x8ad98
leaq 0x1ef42d(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x8ad98
leaq 0x1ef421(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ad9a
jmp 0x8adbb
jmp 0x8ad9c
jmp 0x8ad9e
jmp 0x8ada0
jmp 0x8ada2
movl $0x8e, %edi
callq 0x824f0
movl $0x41, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_prodn_params()
void request_prodn_params()
{
   if(luxor) return;
   if(no_poll) return;
   if(rcvr_type != TSIP_RCVR) return;
   if(ACU_GG) ;
   else if(ACU_360) ;
   else if(ACUTIME) ;
   else if(PALISADE) ;
   else if(SV6_FAMILY) return;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x213353(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8add5
jmp 0x8aeeb
leaq 0x30b424(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8ade6
jmp 0x8aeeb
leaq 0x1eccc3(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x8adf8
jmp 0x8aeeb
leaq 0x1eccb1(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ae22
leaq 0x1ef3a8(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ae22
leaq 0x1eccc0(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8ae22
jmp 0x8aed2
leaq 0x1ecc87(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ae55
leaq 0x1ef37e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ae55
leaq 0x1ecc96(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x8ae53
leaq 0x1ecc8a(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8ae55
jmp 0x8aed0
leaq 0x1ecc54(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ae70
leaq 0x1ef34b(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8ae70
jmp 0x8aece
leaq 0x1ecc39(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8ae8b
leaq 0x1ef330(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x8ae8b
jmp 0x8aecc
leaq 0x1ecc1e(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8aeca
leaq 0x1ef315(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x8aec8
leaq 0x1ef309(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x8aec8
leaq 0x1ef2fd(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x8aec8
leaq 0x1ef2f1(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8aeca
jmp 0x8aeeb
jmp 0x8aecc
jmp 0x8aece
jmp 0x8aed0
jmp 0x8aed2
movl $0x8e, %edi
callq 0x824f0
movl $0x42, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: start_rftg_request(int)
void start_rftg_request(int dont_do)
{
if(dont_do) return;

   send_rftg_start(0x34);
   send_byte(0x00);
   send_byte(0x40);
   send_byte(0x01);
   send_byte(0xFF);
   send_byte(0x02);
   send_rftg_end();

   send_rftg_start(0x34);
   send_byte(0x00);
   send_byte(0x40);
   send_byte(0x01);
   send_byte(0xFF);
   send_byte(0x01);
   send_rftg_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
je 0x8af03
jmp 0x8af7f
movl $0x34, %edi
callq 0x824f0
xorl %edi, %edi
callq 0x7b210
movl $0x40, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
movl $0xff, %edi
callq 0x7b210
movl $0x2, %edi
callq 0x7b210
callq 0x82590
movl $0x34, %edi
callq 0x824f0
xorl %edi, %edi
callq 0x7b210
movl $0x40, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
movl $0xff, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: start_rftg_request2(int)
void start_rftg_request2(int dont_do)
{
if(dont_do) return;

   send_rftg_start(0x34);
   send_byte(0x00);
   send_byte(0x40);
   send_byte(0x01);
   send_byte(0xFF);
   send_byte(0x02);
   send_rftg_end();

   send_rftg_start(0x34);
   send_byte(0x00);
   send_byte(0x40);
   send_byte(0x01);
   send_byte(0xFF);
   send_byte(0x02);
   send_rftg_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
je 0x8afa3
jmp 0x8b01f
movl $0x34, %edi
callq 0x824f0
xorl %edi, %edi
callq 0x7b210
movl $0x40, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
movl $0xff, %edi
callq 0x7b210
movl $0x2, %edi
callq 0x7b210
callq 0x82590
movl $0x34, %edi
callq 0x824f0
xorl %edi, %edi
callq 0x7b210
movl $0x40, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
movl $0xff, %edi
callq 0x7b210
movl $0x2, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_cable()
void request_rftg_cable()
{
   start_rftg_request(1);    // request cable delay (in feet)

   send_rftg_start(0x35);
   send_byte(2);   // 2=req  1=set
   send_dword(0);
   send_rftg_end();
   set_rftg_normal();

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl $0x1, %edi
callq 0x8aef0
movl $0x35, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x82590
callq 0x8b030
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_voltages()
void request_rftg_voltages()
{
// start_rftg_request(1);
   if(no_poll) return;

start_rftg_request2(0);

   send_rftg_start(0x43);
   send_rftg_end();

//send_rftg_start(0x48);  // ?? does not do anything
//send_rftg_end();

   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30b165(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b0a2
jmp 0x8b0bd
xorl %edi, %edi
callq 0x8af90
movl $0x43, %edi
callq 0x824f0
callq 0x82590
callq 0x8b030
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_errlog()
void request_rftg_errlog()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x37);
   send_byte(2);  // 2=req 1=clear
   send_rftg_end();
/////   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30b135(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b0d2
jmp 0x8b0f5
movl $0x1, %edi
callq 0x8aef0
movl $0x37, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_corr_data()
void request_rftg_corr_data()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x44);  // correction data
   send_rftg_end();
/////   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30b0f5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b112
jmp 0x8b12b
movl $0x1, %edi
callq 0x8aef0
movl $0x44, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_sats()
void request_rftg_sats()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x46);   // 0x46->sat posn (sends msgs 0x25, 0x26)
   send_rftg_end();
/////   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30b0c5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b142
jmp 0x8b15b
movl $0x1, %edi
callq 0x8aef0
movl $0x46, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_additional_status()
void request_rftg_additional_status()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x47);
   send_rftg_end();
/////   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30b095(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b172
jmp 0x8b18b
movl $0x1, %edi
callq 0x8aef0
movl $0x47, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_corr_history()
void request_rftg_corr_history()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x49);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30b065(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b1a2
jmp 0x8b1bb
movl $0x1, %edi
callq 0x8aef0
movl $0x49, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_warmup_time()
void request_rftg_warmup_time()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x62);
   send_byte(0x02);  // 2=req 1=set
   send_word(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30b035(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b1d2
jmp 0x8b1fc
movl $0x1, %edi
callq 0x8aef0
movl $0x62, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b4b0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_delta_ape()
void request_rftg_delta_ape()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x65);
   send_byte(0x02);  // 2=req 1=set
   send_dword(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30aff5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b212
jmp 0x8b23c
movl $0x1, %edi
callq 0x8aef0
movl $0x65, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_const_ape()
void request_rftg_const_ape()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x66);
   send_byte(0x02);  // 2=req 1=set
   send_dword(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30afb5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b252
jmp 0x8b27c
movl $0x1, %edi
callq 0x8aef0
movl $0x66, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_ape2()
void request_rftg_ape2()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x68);
   send_byte(0x02);  // 2=req 1=set
   send_dword(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30af75(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b292
jmp 0x8b2bc
movl $0x1, %edi
callq 0x8aef0
movl $0x68, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_ape()
void request_rftg_ape()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x69);
   send_byte(0x02);  // 2=req 1=set
   send_dword(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30af35(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b2d2
jmp 0x8b2fc
movl $0x1, %edi
callq 0x8aef0
movl $0x69, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_delta_temp()
void request_rftg_delta_temp()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x70);   // 43=get voltages?
   send_byte(0x02);  // 2=req 1=set
   send_dword(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30aef5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b312
jmp 0x8b33c
movl $0x1, %edi
callq 0x8aef0
movl $0x70, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b520
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_corr_sched()
void request_rftg_corr_sched()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x74);
   send_byte(0x02);  // 2=req 1=set
   send_word(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30aeb5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b352
jmp 0x8b37c
movl $0x1, %edi
callq 0x8aef0
movl $0x74, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b4b0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_hw_ver()
void request_rftg_hw_ver()
{
   if(no_poll) return;

   start_rftg_request(1);  // was (1)
   send_rftg_start(0x71);
   send_byte(0x02);  // 2=req 1=set
   send_byte(0);
   send_rftg_end();

///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30ae75(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b392
jmp 0x8b3bc
movl $0x1, %edi
callq 0x8aef0
movl $0x71, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_avg_sample()
void request_rftg_avg_sample()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x72);
   send_byte(0x02);  // 2=req 1=set
   send_byte(0);
   send_rftg_end();
///   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30ae35(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b3d2
jmp 0x8b3fc
movl $0x1, %edi
callq 0x8aef0
movl $0x72, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_rftg_traim()
void request_rftg_traim()
{
   if(no_poll) return;

   start_rftg_request(1);
   send_rftg_start(0x83);
   send_rftg_end();
/////   set_rftg_normal();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30adf5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8b412
jmp 0x8b42b
movl $0x1, %edi
callq 0x8aef0
movl $0x83, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: query_venus_msg(int, int)
void query_venus_msg(int id, int sub_id)
{
   if(sub_id >= 0) {
      send_venus_start(id, 2);
      send_byte(sub_id);
   }
   else {
      send_venus_start(id, 1);
   }
   send_venus_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
jl 0x8b82e
movl -0x4(%rbp), %edi
movl $0x2, %esi
callq 0x84080
movl -0x8(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
jmp 0x8b83b
movl -0x4(%rbp), %edi
movl $0x1, %esi
callq 0x84080
callq 0x867d0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: show_test_warning()
void show_test_warning()
{
   erase_screen();
   vidstr(0,0, YELLOW, "Receiver is resetting... this may take a while");
   refresh_page();
   Sleep(3000);
   erase_screen();
   refresh_page();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
callq 0x117e0
xorl %esi, %esi
movl $0xe, %edx
leaq 0xfddc3(%rip), %rcx     # 0x1898ca
movl %esi, %edi
callq 0x10ee0
callq 0xb0d0
movl $0xbb8, %edi            # imm = 0xBB8
callq 0xb8b0
callq 0x117e0
callq 0xb0d0
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_almanac(int)
void request_almanac(int prn)
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == NVS_RCVR) { 
      if(prn < NVS_GLONASS_PRN) {  // GPS
         send_nvs_start(0x20);
         send_byte(0x01);
         send_byte((u08) prn);
         send_nvs_end();
      }
      else { // GLONASS
         send_nvs_start(0x20);
         send_byte(0x02);
         send_byte(prn-NVS_GLONASS_PRN);
         send_nvs_end();
      }
   }
   else 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(0x20);
      send_byte((u08) prn);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2125dc(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8bb4c
jmp 0x8bccc
leaq 0x30a6ad(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8bb5d
jmp 0x8bccc
leaq 0x1ebf4c(%rip), %rax    # 0x277ab0
cmpq $0x800, (%rax)          # imm = 0x800
jne 0x8bbc5
cmpl $0x40, -0x4(%rbp)
jge 0x8bb99
movl $0x20, %edi
callq 0x824f0
movl $0x1, %edi
callq 0x7b210
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82630
jmp 0x8bbc0
movl $0x20, %edi
callq 0x824f0
movl $0x2, %edi
callq 0x7b210
movl -0x4(%rbp), %eax
subl $0x40, %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82630
jmp 0x8bccc
leaq 0x1ebee4(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bcca
leaq 0x1ebed3(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bc00
leaq 0x1ee5ca(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8bc00
leaq 0x1ebee2(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8bc00
jmp 0x8bcb0
leaq 0x1ebea9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bc33
leaq 0x1ee5a0(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8bc33
leaq 0x1ebeb8(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x8bc31
leaq 0x1ebeac(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8bc33
jmp 0x8bcae
leaq 0x1ebe76(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bc4e
leaq 0x1ee56d(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8bc4e
jmp 0x8bcac
leaq 0x1ebe5b(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bc69
leaq 0x1ee552(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x8bc69
jmp 0x8bcaa
leaq 0x1ebe40(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bca8
leaq 0x1ee537(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x8bca6
leaq 0x1ee52b(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x8bca6
leaq 0x1ee51f(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x8bca6
leaq 0x1ee513(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8bca8
jmp 0x8bccc
jmp 0x8bcaa
jmp 0x8bcac
jmp 0x8bcae
jmp 0x8bcb0
movl $0x20, %edi
callq 0x824f0
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82590
jmp 0x8bccc
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_atten(double)
void set_atten(double val)
{
   if(read_only) return;

   if(rcvr_type == TRUE_RCVR) {
      sprintf(out, "$SETA %d", (int) val);
      send_true_cmd(out);       // $SETA %d - set attenuator value
   }
   request_atten();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd %xmm0, -0x8(%rbp)
leaq 0x30a4d6(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8bd2b
jmp 0x8bd66
leaq 0x1ebd7e(%rip), %rax    # 0x277ab0
cmpq $0x200000, (%rax)       # imm = 0x200000
jne 0x8bd61
cvttsd2si -0x8(%rbp), %edx
leaq 0x30f6b9(%rip), %rdi    # 0x39b400
leaq 0xf7e5c(%rip), %rsi     # 0x183baa
movb $0x0, %al
callq 0x9060
leaq 0x30f6a4(%rip), %rdi    # 0x39b400
callq 0x83580
callq 0x8bce0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_antenna(int)
void set_antenna(int i)
{
   if(read_only) return;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x30a478(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8bd89
jmp 0x8bdc3
movabsq $0x400000000, %rcx      # imm = 0x400000000
leaq 0x1ebd16(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x8bdc3
movl -0x4(%rbp), %edx
leaq 0x30f657(%rip), %rdi    # 0x39b400
leaq 0xf7e03(%rip), %rsi     # 0x183bb3
movb $0x0, %al
callq 0x9060
leaq 0x30f642(%rip), %rdi    # 0x39b400
callq 0x83490
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_gps_time()
void request_gps_time()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {  // SV6_TYPE uses this
      send_tsip_start(0x21);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x2121b3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8bf72
jmp 0x8bf9c
leaq 0x30a287(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8bf80
jmp 0x8bf9c
leaq 0x1ebb29(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bf9c
movl $0x21, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_sig_levels()
void request_sig_levels()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x27);
      send_tsip_end();
   }
   else if(rcvr_type == UBX_RCVR) {
      if(raw_msg_rate == 0) {   // poll for doppler, etc
         request_ubx_msg(UBX_SVN); // sat info
         request_ubx_msg(UBX_RAW);  
         request_ubx_msg(UBX_RAWX);
      }
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x212173(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8bfb2
jmp 0x8c019
leaq 0x30a247(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8bfc0
jmp 0x8c019
leaq 0x1ebae9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8bfde
movl $0x27, %edi
callq 0x824f0
callq 0x82590
jmp 0x8c019
leaq 0x1ebacb(%rip), %rax    # 0x277ab0
cmpq $0x4, (%rax)
jne 0x8c017
leaq 0x1ee566(%rip), %rax    # 0x27a558
cmpl $0x0, (%rax)
jne 0x8c015
movl $0x130, %edi            # imm = 0x130
callq 0x85d00
movl $0x210, %edi            # imm = 0x210
callq 0x85d00
movl $0x215, %edi            # imm = 0x215
callq 0x85d00
jmp 0x8c017
jmp 0x8c019
popq %rbp
retq
nopl (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_alm_health()
void request_alm_health()
{
   if(no_poll) return;
   if(res_t) return;
   if(luxor) 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(0x29);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30a1d5(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8c035
jmp 0x8c151
leaq 0x1ebaa8(%rip), %rax    # 0x277ae4
cmpb $0x0, (%rax)
je 0x8c046
jmp 0x8c151
leaq 0x2120d1(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8c057
jmp 0x8c151
leaq 0x1eba52(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8c151
leaq 0x1eba41(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8c092
leaq 0x1ee138(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8c092
leaq 0x1eba50(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8c092
jmp 0x8c142
leaq 0x1eba17(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8c0c5
leaq 0x1ee10e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8c0c5
leaq 0x1eba26(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x8c0c3
leaq 0x1eba1a(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x8c0c5
jmp 0x8c140
leaq 0x1eb9e4(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8c0e0
leaq 0x1ee0db(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8c0e0
jmp 0x8c13e
leaq 0x1eb9c9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8c0fb
leaq 0x1ee0c0(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x8c0fb
jmp 0x8c13c
leaq 0x1eb9ae(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8c13a
leaq 0x1ee0a5(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x8c138
leaq 0x1ee099(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x8c138
leaq 0x1ee08d(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x8c138
leaq 0x1ee081(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x8c13a
jmp 0x8c151
jmp 0x8c13c
jmp 0x8c13e
jmp 0x8c140
jmp 0x8c142
movl $0x29, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_xyz(float, float, float)
void set_xyz(float x, float y, float z)
{
   if(read_only) return;
   if(luxor) return;

   if(rcvr_type == TSIP_RCVR) {
      send_tsip_start(0x31);
      send_single(x);
      send_single(y);
      send_single(z);
      send_tsip_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movss %xmm0, -0x4(%rbp)
movss %xmm1, -0x8(%rbp)
movss %xmm2, -0xc(%rbp)
leaq 0x30a07c(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8c185
jmp 0x8c1cd
leaq 0x211f92(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8c193
jmp 0x8c1cd
leaq 0x1eb916(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8c1cd
movl $0x31, %edi
callq 0x824f0
movss -0x4(%rbp), %xmm0
callq 0x7b600
movss -0x8(%rbp), %xmm0
callq 0x7b600
movss -0xc(%rbp), %xmm0
callq 0x7b600
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_ref_input(int)
void set_ref_input(int ref)
{
   // ref=0: GPS
   // ref=1: AUX PPS input

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

   if(rcvr_type == STAR_RCVR) {
      if     (ref == 0) queue_star_cmd("INPUT_TYPE(1)=GPS;", STAR_INP_TYPE_MSG);       // gps input
      else if(ref == 1) queue_star_cmd("INPUT_TYPE(1)=AUX;", STAR_INP_TYPE_MSG);  // pps input
      queue_star_cmd("INPUT_TYPE(1);", STAR_INP_TYPE_MSG);  // !!! this command is not valid for ATDC model
   }
   else request_rcvr_config(7788);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x30a008(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8c1f9
jmp 0x8c266
leaq 0x211f1e(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8c207
jmp 0x8c266
leaq 0x1eb8a2(%rip), %rax    # 0x277ab0
cmpq $0x1000, (%rax)         # imm = 0x1000
jne 0x8c25c
cmpl $0x0, -0x4(%rbp)
jne 0x8c230
leaq 0xf79dd(%rip), %rdi     # 0x183c01
movl $0xcb, %esi
callq 0x82fd0
jmp 0x8c249
cmpl $0x1, -0x4(%rbp)
jne 0x8c247
leaq 0xf79d7(%rip), %rdi     # 0x183c14
movl $0xcb, %esi
callq 0x82fd0
jmp 0x8c249
leaq 0xf79d7(%rip), %rdi     # 0x183c27
movl $0xcb, %esi
callq 0x82fd0
jmp 0x8c266
movl $0x1e6c, %edi           # imm = 0x1E6C
callq 0x8c270
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_venus_survey(int, double, double, double)
void set_venus_survey(int mode, double slat,double slon,double salt)
{
   if(read_only) return;

   if(saw_venus_raw) send_venus_start(SET_VENUS_RTK_SURVEY);
   else              send_venus_start(SET_VENUS_SURVEY);
   send_byte(mode);       // 0=timing pvt mode  1=do survey  2=posn hold mode
   send_dword(do_survey);
   send_dword(100);             // standard deviation
   send_double(slat*180.0/PI);  // lla only used for position hold mode
   send_double(slon*180.0/PI);
   send_single((float)salt);
   send_venus_save(1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
leaq 0x309989(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8c87b
jmp 0x8c921
leaq 0x310752(%rip), %rax    # 0x39cfd4
cmpl $0x0, (%rax)
je 0x8c898
movl $0x22, %edi
movl $0x1f, %esi
callq 0x84080
jmp 0x8c8a7
movl $0x54, %edi
movl $0x1f, %esi
callq 0x84080
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
leaq 0x2e079f(%rip), %rax    # 0x36d058
movq (%rax), %rax
movl %eax, %edi
callq 0x7b520
movl $0x64, %edi
callq 0x7b520
movsd 0xe27a3(%rip), %xmm0    # 0x16f078
mulsd -0x10(%rbp), %xmm0
movsd 0xe4ce6(%rip), %xmm1    # 0x1715c8
divsd %xmm1, %xmm0
callq 0x7b670
movsd 0xe2785(%rip), %xmm0    # 0x16f078
mulsd -0x18(%rbp), %xmm0
movsd 0xe4cc8(%rip), %xmm1    # 0x1715c8
divsd %xmm1, %xmm0
callq 0x7b670
movsd -0x20(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
callq 0x7b600
movl $0x1, %edi
callq 0x84130
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_filter_factor(double)
void set_filter_factor(DATA_SIZE val)
{
   if(read_only) return;

   if(rcvr_type == NVS_RCVR) {
      send_nvs_start(0x0D);
      send_byte(0x04);
      send_single((float) val);
      send_nvs_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd %xmm0, -0x8(%rbp)
leaq 0x3098b6(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8c94b
jmp 0x8c982
leaq 0x1eb15e(%rip), %rax    # 0x277ab0
cmpq $0x800, (%rax)          # imm = 0x800
jne 0x8c982
movl $0xd, %edi
callq 0x824f0
movl $0x4, %edi
callq 0x7b210
movsd -0x8(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
callq 0x7b600
callq 0x82630
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rtcm_mode(int)
void set_rtcm_mode(int enable)
{
   if(rcvr_type == VENUS_RCVR) {  // raw Hz !!!!
      send_venus_start(SET_VENUS_RTCM);
      send_byte(enable);
      send_byte(0);   // 1Hz rnx2  0..6 -> 1/2/4/5/10/20/8 Hz

      send_byte(1);   // base station ARP
      if(gnss_mask & GPS)     send_byte(1);
      else                    send_byte(0);

      if(gnss_mask & GLONASS) send_byte(1);
      else                    send_byte(0);

      if(1)                   send_byte(0);  // reserved

      if(gnss_mask & SBAS)    send_byte(1);
      else                    send_byte(0);

      if(gnss_mask & QZSS)    send_byte(1);
      else                    send_byte(0);

      if(gnss_mask & BEIDOU)  send_byte(1);
      else                    send_byte(0);

      send_byte(0);  // reserved
      send_byte(0);  // reserved
      send_byte(0);  // reserved
      send_byte(0);  // reserved
      send_byte(0);  // reserved
      send_byte(0);  // reserved
      send_venus_save(1);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x1eb10e(%rip), %rax    # 0x277ab0
cmpq $0x80, (%rax)
jne 0x8cacd
movl $0x20, %edi
movl $0x11, %esi
callq 0x84080
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
leaq 0x143473(%rip), %rax    # 0x1cfe54
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x8c9f7
movl $0x1, %edi
callq 0x7b210
jmp 0x8c9fe
xorl %edi, %edi
callq 0x7b210
leaq 0x14344f(%rip), %rax    # 0x1cfe54
movl (%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x8ca1b
movl $0x1, %edi
callq 0x7b210
jmp 0x8ca22
xorl %edi, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
leaq 0x143424(%rip), %rax    # 0x1cfe54
movl (%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x8ca48
movl $0x1, %edi
callq 0x7b210
jmp 0x8ca4f
xorl %edi, %edi
callq 0x7b210
leaq 0x1433fe(%rip), %rax    # 0x1cfe54
movl (%rax), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
je 0x8ca6e
movl $0x1, %edi
callq 0x7b210
jmp 0x8ca75
xorl %edi, %edi
callq 0x7b210
leaq 0x1433d8(%rip), %rax    # 0x1cfe54
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x8ca92
movl $0x1, %edi
callq 0x7b210
jmp 0x8ca99
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 0x7b210
xorl %edi, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x84130
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_ubx_rate(int, int)
void set_ubx_rate(int id, int rate)
{
   // set periodic output rate for a UBX message
   if(read_only) return;

   send_ubx_start(UBX_SET_RATE, 3);
   send_byte((id >> 8) & 0xFF);
   send_byte(id & 0xFF);
   send_byte(rate);
   send_ubx_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
leaq 0x309145(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8d0bc
jmp 0x8d0fe
movl $0x601, %edi            # imm = 0x601
movl $0x3, %esi
callq 0x83710
movl -0x4(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movzbl %al, %edi
callq 0x7b210
movl -0x4(%rbp), %eax
andl $0xff, %eax
movzbl %al, %edi
callq 0x7b210
movl -0x8(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x83820
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rinex_site(char*)
void set_rinex_site(char *s)
{
   // set RINEX site name
   if(read_only) return;

   if(s == 0) return;

   if(rcvr_type == Z12_RCVR) {
      out[4] = 0;
      sprintf(out, "PASHS,SIT,%s", s);
      send_z12_cmd(out);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x3090d7(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8d12a
jmp 0x8d179
cmpq $0x0, -0x8(%rbp)
jne 0x8d133
jmp 0x8d179
movabsq $0x100000000, %rcx      # imm = 0x100000000
leaq 0x1ea96c(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x8d179
leaq 0x30e2b0(%rip), %rax    # 0x39b400
movb $0x0, 0x4(%rax)
movq -0x8(%rbp), %rdx
leaq 0x30e2a1(%rip), %rdi    # 0x39b400
leaq 0xf6b68(%rip), %rsi     # 0x183cce
movb $0x0, %al
callq 0x9060
leaq 0x30e28c(%rip), %rdi    # 0x39b400
callq 0x83630
addq $0x10, %rsp
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rftg_lla(int, int, int)
void set_rftg_lla(S32 slat, S32 slon, S32 salt)
{
   if(read_only) return;

   start_rftg_request2(0);

   send_rftg_start(0x32);
   send_dword(slat);
   send_dword(slon);
   send_dword(salt);
   send_rftg_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
leaq 0x307f52(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8e2af
jmp 0x8e2dd
xorl %edi, %edi
callq 0x8af90
movl $0x32, %edi
callq 0x824f0
movl -0x4(%rbp), %edi
callq 0x7b520
movl -0x8(%rbp), %edi
callq 0x7b520
movl -0xc(%rbp), %edi
callq 0x7b520
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_zod_config(int, double, double, double, unsigned int, int)
void set_zod_config(int mode, double slat,double slon,double salt, u32 traim, int why)
{
S32 val;
u16 pps_suppress;

//sprintf(debug_text2, "set zod config: %d", why);
   if(read_only) return;

   send_zod_start(ZOD_SET_CONFIG, 24, 0);
   send_zod_seq();

   send_word(mode);
   send_word(1);     // power up in posn hold mode
   send_dword((S32) (cable_delay*1.0E9));
   send_word((u16) do_survey);  // hours

   val = (S32) (slat * 1.0E8);    // lat lon alt
   send_dword(val);
   val = (S32) (slon * 1.0E8);
   send_dword(val);
   val = (S32) (salt * 1.0E2);
   send_dword(val);

   pps_suppress = 0;  // !!!! zorky set to 1 to suppress PPS pulses if traim error

   if(time_flags & TFLAGS_UTC) send_word(0x0000 | pps_suppress);  // align to UTC
   else                        send_word(0x0002 | pps_suppress);  // align to GPS

   send_word(0x0007);  // traim alarm due to any time fault

   if(traim == 0) send_word(1);  // traim disabled
   else           send_word(0);  // traim enabled
   send_word(traim/50);

   send_dword(0);  // reserved

   send_zod_end();

   Sleep(200);  // zorky
   query_zod_msg(ZOD_TRAIM_CONFIG_MSG);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
movl %esi, -0x24(%rbp)
movl %edx, -0x28(%rbp)
leaq 0x307ce3(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x8e521
jmp 0x8e65c
movl $0x4e7, %edi            # imm = 0x4E7
movl $0x18, %esi
xorl %edx, %edx
callq 0x89bf0
callq 0x89d10
movl -0x4(%rbp), %eax
movzwl %ax, %edi
callq 0x7b4b0
movl $0x1, %edi
callq 0x7b4b0
movsd 0xe0ad4(%rip), %xmm0    # 0x16f028
leaq 0x2dea4d(%rip), %rax    # 0x36cfa8
mulsd (%rax), %xmm0
cvttsd2si %xmm0, %edi
callq 0x7b520
leaq 0x2deae9(%rip), %rax    # 0x36d058
movq (%rax), %rax
movzwl %ax, %edi
callq 0x7b4b0
movsd 0xf464e(%rip), %xmm0    # 0x182bd0
mulsd -0x10(%rbp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %edi
callq 0x7b520
movsd 0xf4632(%rip), %xmm0    # 0x182bd0
mulsd -0x18(%rbp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %edi
callq 0x7b520
movsd 0xe0a96(%rip), %xmm0    # 0x16f050
mulsd -0x20(%rbp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %edi
callq 0x7b520
movw $0x0, -0x2e(%rbp)
leaq 0x2de0a9(%rip), %rax    # 0x36c684
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x8e5f6
movzwl -0x2e(%rbp), %eax
orl $0x0, %eax
movzwl %ax, %edi
callq 0x7b4b0
jmp 0x8e605
movzwl -0x2e(%rbp), %eax
orl $0x2, %eax
movzwl %ax, %edi
callq 0x7b4b0
movl $0x7, %edi
callq 0x7b4b0
cmpl $0x0, -0x24(%rbp)
jne 0x8e621
movl $0x1, %edi
callq 0x7b4b0
jmp 0x8e628
xorl %edi, %edi
callq 0x7b4b0
movl -0x24(%rbp), %eax
movl $0x32, %ecx
xorl %edx, %edx
divl %ecx
movzwl %ax, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b520
callq 0x89d30
movl $0xc8, %edi
callq 0xb8b0
movl $0x41f, %edi            # imm = 0x41F
callq 0x8b850
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_io_options()
void request_io_options()
{
   if(luxor) return;
   if(no_poll) return;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x20faa3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x8e682
jmp 0x8e6ac
leaq 0x307b77(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x8e690
jmp 0x8e6ac
leaq 0x1e9419(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x8e6ac
movl $0x35, %edi
callq 0x824f0
callq 0x82590
popq %rbp
retq
nop