LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_dac_value(unsigned int)
void set_dac_value(u32 value)
{
   if(read_only) return;
   if(luxor) 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_byte(0x01);
   send_dword(value);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x3018e8(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9491c
jmp 0x94a42
leaq 0x2097fb(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9492d
jmp 0x94a42
leaq 0x1e317c(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x9493f
jmp 0x94a42
leaq 0x1e316a(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94969
leaq 0x1e5861(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x94969
leaq 0x1e3179(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x94969
jmp 0x94a42
leaq 0x1e3140(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9499f
leaq 0x1e5837(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9499f
leaq 0x1e314f(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x9499a
leaq 0x1e3143(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9499f
jmp 0x94a42
leaq 0x1e310a(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x949bd
leaq 0x1e5801(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x949bd
jmp 0x94a42
leaq 0x1e30ec(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x949d8
leaq 0x1e57e3(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x949d8
jmp 0x94a42
leaq 0x1e30d1(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94a17
leaq 0x1e57c8(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x94a15
leaq 0x1e57bc(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x94a15
leaq 0x1e57b0(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x94a15
leaq 0x1e57a4(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x94a17
jmp 0x94a42
movl $0x8e, %edi
callq 0x824f0
movl $0xa0, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x7b210
movl -0x4(%rbp), %edi
callq 0x7b520
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_osc_sense(unsigned char, int)
void set_osc_sense(u08 mode, int save)
{
   if(read_only) return;
   if(luxor) 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_byte(mode);
   send_tsip_end();

   if(save) save_segment(6, 24);       // save timing config in EEPROM
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
movl %esi, -0x8(%rbp)
leaq 0x301792(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x94a72
jmp 0x94ba4
leaq 0x2096a5(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x94a83
jmp 0x94ba4
leaq 0x1e3026(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x94a95
jmp 0x94ba4
leaq 0x1e3014(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94abf
leaq 0x1e570b(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x94abf
leaq 0x1e3023(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x94abf
jmp 0x94ba4
leaq 0x1e2fea(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94af5
leaq 0x1e56e1(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x94af5
leaq 0x1e2ff9(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x94af0
leaq 0x1e2fed(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x94af5
jmp 0x94ba4
leaq 0x1e2fb4(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94b13
leaq 0x1e56ab(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x94b13
jmp 0x94ba4
leaq 0x1e2f96(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94b2e
leaq 0x1e568d(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x94b2e
jmp 0x94ba4
leaq 0x1e2f7b(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x94b6d
leaq 0x1e5672(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x94b6b
leaq 0x1e5666(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x94b6b
leaq 0x1e565a(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x94b6b
leaq 0x1e564e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x94b6d
jmp 0x94ba4
movl $0x8e, %edi
callq 0x824f0
movl $0xa1, %edi
callq 0x7b210
movzbl -0x1(%rbp), %edi
callq 0x7b210
callq 0x82590
cmpl $0x0, -0x8(%rbp)
je 0x94ba4
movl $0x6, %edi
movl $0x18, %esi
callq 0x90d70
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_traim_info()
void request_traim_info()
{
   if(luxor) return;
   if(no_poll) return;

   if(rcvr_type == FURUNO_RCVR) {
      send_furuno_cmd("GPrrq");   // get traim settings
      send_furuno_cmd("GPint,rrm00");  // get pps info
   }
   else if(rcvr_type == MOTO_RCVR) {
      send_moto_start("Ge");  // 12 chan traim data
      send_byte(0xFF);
      send_moto_end();
      send_moto_start("Gf");  // 12 chan traim data
      send_word(0xFFFF);
      send_moto_end();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x209563(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x94bc2
jmp 0x94c3f
leaq 0x301637(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x94bd0
jmp 0x94c3f
leaq 0x1e2ed9(%rip), %rax    # 0x277ab0
cmpq $0x20000000, (%rax)     # imm = 0x20000000
jne 0x94bfa
leaq 0xef451(%rip), %rdi     # 0x184038
callq 0x83270
leaq 0xefa45(%rip), %rdi     # 0x184638
callq 0x83270
jmp 0x94c3f
leaq 0x1e2eaf(%rip), %rax    # 0x277ab0
cmpq $0x20, (%rax)
jne 0x94c3d
leaq 0xefa36(%rip), %rdi     # 0x184644
callq 0x86190
movl $0xff, %edi
callq 0x7b210
callq 0x86230
leaq 0xefa1e(%rip), %rdi     # 0x184647
callq 0x86190
movl $0xffff, %edi           # imm = 0xFFFF
callq 0x7b4b0
callq 0x86230
jmp 0x94c3f
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rcvr_utc_ofs(int)
void set_rcvr_utc_ofs(int i)
{
   // sets the receiver default UTC offset value
   if(read_only) return;

   if(rcvr_type == ESIP_RCVR) {
      sprintf(out, "PERDAPI,DEFLS,%d,AUTO", i);
      send_esip_cmd(out);
      Sleep(1000);
      save_segment(128,8787);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x301388(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x94e79
jmp 0x94ec7
movl $0x80000000, %ecx       # imm = 0x80000000
leaq 0x1e2c2b(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x94ec7
movl -0x4(%rbp), %edx
leaq 0x30656c(%rip), %rdi    # 0x39b400
leaq 0xef82f(%rip), %rsi     # 0x1846ca
movb $0x0, %al
callq 0x9060
leaq 0x306557(%rip), %rdi    # 0x39b400
callq 0x830d0
movl $0x3e8, %edi            # imm = 0x3E8
callq 0xb8b0
movl $0x80, %edi
movl $0x2253, %esi           # imm = 0x2253
callq 0x90d70
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rftg_traim(int)
void set_rftg_traim(int mode)
{
   // (mode == 1) -> enable  (0 == disable)
   // note: this does not seem to change anything!!!!!
   if(read_only) return;

   start_rftg_request2(0);

   if(mode == 0) mode = 2;  // disable

   send_rftg_start(0x64);
   send_byte(mode);
   send_rftg_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x3010b8(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x95149
jmp 0x95177
xorl %edi, %edi
callq 0x8af90
cmpl $0x0, -0x4(%rbp)
jne 0x9515d
movl $0x2, -0x4(%rbp)
movl $0x64, %edi
callq 0x824f0
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_sro_sy(int)
void set_sro_sy(int mode)
{
   if(read_only) return;

   if(mode < 0) mode = 0;
   if(mode > 3) mode = 1;
   sprintf(out, "SY%d", mode);
   queue_sro_cmd(out, SRO_SY_MSG);
   sro_eeprom();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x300a08(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x957f9
jmp 0x95841
cmpl $0x0, -0x4(%rbp)
jge 0x95806
movl $0x0, -0x4(%rbp)
cmpl $0x3, -0x4(%rbp)
jle 0x95813
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %edx
leaq 0x305be3(%rip), %rdi    # 0x39b400
leaq 0xf1448(%rip), %rsi     # 0x186c6c
movb $0x0, %al
callq 0x9060
leaq 0x305bce(%rip), %rdi    # 0x39b400
movl $0x326, %esi            # imm = 0x326
callq 0x82fd0
callq 0xbeb90
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_sro_tr(int)
void set_sro_tr(int mode)
{
   if(read_only) return;

   if(mode < 0) mode = 0;
   if(mode > 3) mode = 1;
   sprintf(out, "TR%d", mode);
   queue_sro_cmd(out, SRO_TR_MSG);
   sro_eeprom();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x300998(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x95869
jmp 0x958b1
cmpl $0x0, -0x4(%rbp)
jge 0x95876
movl $0x0, -0x4(%rbp)
cmpl $0x3, -0x4(%rbp)
jle 0x95883
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %edx
leaq 0x305b73(%rip), %rdi    # 0x39b400
leaq 0xf13dd(%rip), %rsi     # 0x186c71
movb $0x0, %al
callq 0x9060
leaq 0x305b5e(%rip), %rdi    # 0x39b400
movl $0x325, %esi            # imm = 0x325
callq 0x82fd0
callq 0xbeb90
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: exit_test_mode()
void exit_test_mode()
{
   // this is a set_() type function
   if(read_only) return;
   if(luxor) return;
   if(rcvr_type != TSIP_RCVR) return;

   send_tsip_start(0x8E);
   send_byte(0xA4);
   send_byte(0x00);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x30075f(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x95aa2
jmp 0x95adf
leaq 0x208675(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x95ab0
jmp 0x95adf
leaq 0x1e1ff9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x95abf
jmp 0x95adf
movl $0x8e, %edi
callq 0x824f0
movl $0xa4, %edi
callq 0x7b210
xorl %edi, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_packet_mask()
void request_packet_mask()
{
   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(0xA5);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x2085f3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x95b35
jmp 0x95c4b
leaq 0x3006c4(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x95b46
jmp 0x95c4b
leaq 0x1e1f63(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x95b58
jmp 0x95c4b
leaq 0x1e1f51(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x95b82
leaq 0x1e4648(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x95b82
leaq 0x1e1f60(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x95b82
jmp 0x95c32
leaq 0x1e1f27(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x95bb5
leaq 0x1e461e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x95bb5
leaq 0x1e1f36(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x95bb3
leaq 0x1e1f2a(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x95bb5
jmp 0x95c30
leaq 0x1e1ef4(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x95bd0
leaq 0x1e45eb(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x95bd0
jmp 0x95c2e
leaq 0x1e1ed9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x95beb
leaq 0x1e45d0(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x95beb
jmp 0x95c2c
leaq 0x1e1ebe(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x95c2a
leaq 0x1e45b5(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x95c28
leaq 0x1e45a9(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x95c28
leaq 0x1e459d(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x95c28
leaq 0x1e4591(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x95c2a
jmp 0x95c4b
jmp 0x95c2c
jmp 0x95c2e
jmp 0x95c30
jmp 0x95c32
movl $0x8e, %edi
callq 0x824f0
movl $0xa5, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_rtk_mode(int)
void set_rtk_mode(int mode)
{
   if(read_only) return;

   if(rcvr_type == VENUS_RCVR) {
      if(mode < 0) mode = ROVER_MODE;
      else if(mode > 1) mode = BASE_MODE;

      send_venus_start(SET_VENUS_RTK_MODE);
      send_byte(1); 
      send_byte(mode);  // 0=rover  1=base
      send_venus_save(1);

      query_venus_msg(QUERY_VENUS_RTK_MODE);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x300598(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x95c69
jmp 0x95cd4
leaq 0x1e1e40(%rip), %rax    # 0x277ab0
cmpq $0x80, (%rax)
jne 0x95cd4
cmpl $0x0, -0x4(%rbp)
jge 0x95c88
movl $0x0, -0x4(%rbp)
jmp 0x95c97
cmpl $0x1, -0x4(%rbp)
jle 0x95c95
movl $0x1, -0x4(%rbp)
jmp 0x95c97
movl $0x6a, %edi
movl $0x4, %esi
callq 0x84080
movl $0x1, %edi
callq 0x7b210
movl -0x4(%rbp), %eax
movzbl %al, %edi
callq 0x7b210
movl $0x1, %edi
callq 0x84130
movl $0x6a, %edi
movl $0x2, %esi
callq 0x8b800
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_ubx_nav_rate(double, int)
void set_ubx_nav_rate(DATA_SIZE rate, int align)
{
   if(read_only) return;

   send_ubx_start(UBX_NAV_RATE, 6);
   send_word((u16) rate);  // in msecs
   send_word(1);
   send_word(align);
   send_ubx_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd %xmm0, -0x8(%rbp)
movl %edi, -0xc(%rbp)
leaq 0x300313(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x95eee
jmp 0x95f24
movl $0x608, %edi            # imm = 0x608
movl $0x6, %esi
callq 0x83710
cvttsd2si -0x8(%rbp), %eax
movzwl %ax, %edi
callq 0x7b4b0
movl $0x1, %edi
callq 0x7b4b0
movl -0xc(%rbp), %eax
movzwl %ax, %edi
callq 0x7b4b0
callq 0x83820
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: init_enviro(unsigned int)
void init_enviro(unsigned port)
{
   // intialize the environmental sensor device to start sending data
   // We request the device ID.

   if(port >= NUM_COM_PORTS) return;
   drain_port(port);
   reset_com_timer(port);

   last_enviro = ENV_ID;
   if(enviro_type == DOG_ENVIRO) {
      send_enviro_cmd("GI\r", port);
      send_enviro_cmd("GI\r", port);
   }
   else if(enviro_type == LFS_ENVIRO) {
      send_enviro_cmd("GETID\r", port);
      send_enviro_cmd("GETID\r", port);
   }
   else if(enviro_type == DETECT_ENVIRO) {
      send_enviro_cmd("GI\n", port); 
      send_enviro_cmd("GI\n", port);
      send_enviro_cmd("\n", port);

      send_enviro_cmd("GETID\r", port);  //lfs
      send_enviro_cmd("GETID\r", port);
      if(rcvr_type == THERMO_RCVR) {  //lfs
         send_enviro_cmd("GETID\r", port);
         send_enviro_cmd("GETID\r", port);
      }
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
cmpl $0x13, -0x4(%rbp)
jb 0x961b6
jmp 0x962bc
movl -0x4(%rbp), %edi
callq 0x79900
movl -0x4(%rbp), %edi
callq 0x2bd30
leaq 0x1e1937(%rip), %rax    # 0x277b04
movl $0x8000, (%rax)         # imm = 0x8000
leaq 0x1e191a(%rip), %rax    # 0x277af4
cmpl $0x1, (%rax)
jne 0x96202
movl -0x4(%rbp), %esi
leaq 0xee6b4(%rip), %rdi     # 0x18489d
callq 0x855b0
movl -0x4(%rbp), %esi
leaq 0xee6a5(%rip), %rdi     # 0x18489d
callq 0x855b0
jmp 0x962bc
leaq 0x1e18eb(%rip), %rax    # 0x277af4
cmpl $0x3, (%rax)
jne 0x96231
movl -0x4(%rbp), %esi
leaq 0xee689(%rip), %rdi     # 0x1848a1
callq 0x855b0
movl -0x4(%rbp), %esi
leaq 0xee67a(%rip), %rdi     # 0x1848a1
callq 0x855b0
jmp 0x962ba
leaq 0x1e18bc(%rip), %rax    # 0x277af4
cmpl $0x0, (%rax)
jne 0x962b8
movl -0x4(%rbp), %esi
leaq 0xee661(%rip), %rdi     # 0x1848a8
callq 0x855b0
movl -0x4(%rbp), %esi
leaq 0xee652(%rip), %rdi     # 0x1848a8
callq 0x855b0
movl -0x4(%rbp), %esi
leaq 0x1023c1(%rip), %rdi    # 0x198626
callq 0x855b0
movl -0x4(%rbp), %esi
leaq 0xee62d(%rip), %rdi     # 0x1848a1
callq 0x855b0
movl -0x4(%rbp), %esi
leaq 0xee61e(%rip), %rdi     # 0x1848a1
callq 0x855b0
leaq 0x1e1821(%rip), %rax    # 0x277ab0
cmpq $0x80000, (%rax)        # imm = 0x80000
jne 0x962b6
movl -0x4(%rbp), %esi
leaq 0xee5ff(%rip), %rdi     # 0x1848a1
callq 0x855b0
movl -0x4(%rbp), %esi
leaq 0xee5f0(%rip), %rdi     # 0x1848a1
callq 0x855b0
jmp 0x962b8
jmp 0x962ba
jmp 0x962bc
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: poll_z12_time(int)
void poll_z12_time(int sleep)
{
   if(rcvr_type == Z12_RCVR) {
if(raw_msg_rate) return; //lfs // !!!!! we get time from the system clock
      if(ZDA_TIME) send_z12_cmd("PASHQ,ZDA");
      else         send_z12_cmd("PASHQ,RID");
      if(sleep) Sleep(150);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movabsq $0x100000000, %rcx      # imm = 0x100000000
leaq 0x1e17c4(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x9631d
leaq 0x1e4260(%rip), %rax    # 0x27a558
cmpl $0x0, (%rax)
je 0x962ff
jmp 0x9631d
leaq 0xed9be(%rip), %rdi     # 0x183cc4
callq 0x83630
cmpl $0x0, -0x4(%rbp)
je 0x9631b
movl $0x96, %edi
callq 0xb8b0
jmp 0x9631d
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: enable_gpsd()
void enable_gpsd()
{
   if(gpsd_device[0]) {
      sprintf(out, "?WATCH={\"enable\":true,\"json\":true,\"pps\":true,\"devicename\":\"%s\"}", gpsd_device);
   }
   else {
      sprintf(out, "?WATCH={\"enable\":true,\"json\":true,\"pps\":true}");
   }
   send_nmea_string(out, 0);
//    send_byte(0x0D);
   eom_flag = EOM;
   send_byte(0x0A);
   eom_flag = ADD_CHAR;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x304625(%rip), %rax    # 0x39b610
cmpb $0x0, (%rax)
je 0x9700e
leaq 0x304409(%rip), %rdi    # 0x39b400
leaq 0xf202a(%rip), %rsi     # 0x189028
leaq 0x30460b(%rip), %rdx    # 0x39b610
movb $0x0, %al
callq 0x9060
jmp 0x97023
leaq 0x3043eb(%rip), %rdi    # 0x39b400
leaq 0xf204c(%rip), %rsi     # 0x189068
movb $0x0, %al
callq 0x9060
leaq 0x3043d6(%rip), %rdi    # 0x39b400
xorl %esi, %esi
callq 0x82750
movl $0x1, 0x333fb5(%rip)    # 0x3caff0
movl $0xa, %edi
callq 0x7b210
movl $0x0, 0x333fa1(%rip)    # 0x3caff0
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: poll_next_sa35()
void poll_next_sa35()
{
int test;

   // !!!!! placeholder
   test = 0;
   if(test && (polled_q_in != polled_q_out)) {  // we have a special message request queued
      send_queued_cmd(1);
      if(no_response_msg) {  // last message sends no response
         no_response_msg = 0;
         send_polled_cmd("^", SA35_TELEM_CMD); 
      }
   }
   else if(1) { // request next misc message every time
      send_polled_cmd("^", SA35_TELEM_CMD);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x0, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
je 0x97d33
movl 0x3374a5(%rip), %eax    # 0x3cf1a0
cmpl 0x3374a3(%rip), %eax    # 0x3cf1a4
je 0x97d33
movl $0x1, %edi
callq 0xbd7c0
cmpl $0x0, 0x33329c(%rip)    # 0x3cafb0
je 0x97d31
movl $0x0, 0x333290(%rip)    # 0x3cafb0
leaq 0xd824d(%rip), %rdi     # 0x16ff74
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x96370
jmp 0x97d44
leaq 0xd823a(%rip), %rdi     # 0x16ff74
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x96370
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_ubx_antenna(unsigned char)
void set_ubx_antenna(u08 mode)
{ 
   if(read_only) return;

   send_ubx_start(UBX_CFG_ANT, 4);
   send_word(mode);
   send_word(0x0000);  // dont re-config pins - LEA-5T has a98b
   send_ubx_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x2fd465(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x98d9c
jmp 0x98dc3
movl $0x613, %edi            # imm = 0x613
movl $0x4, %esi
callq 0x83710
movzbl -0x1(%rbp), %eax
movzwl %ax, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
callq 0x83820
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_zod_nav_mode(int)
void set_zod_nav_mode(int flags)
{
   if(read_only) return;

   send_zod_start(ZOD_SET_NAV_MODE, 15, 0);
   send_zod_seq();
   send_word(flags);
   send_word(0);
   send_word(0);
   send_word(0);
   send_word(0);
   send_word(0);
   send_word(0);
   send_word(0);
   send_zod_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fcf88(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x99279
jmp 0x992d0
movl $0x4c5, %edi            # imm = 0x4C5
movl $0xf, %esi
xorl %edx, %edx
callq 0x89bf0
callq 0x89d10
movl -0x4(%rbp), %eax
movzwl %ax, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
xorl %edi, %edi
callq 0x7b4b0
callq 0x89d30
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_all_dis_params()
void request_all_dis_params()
{
   if(luxor) return;
   if(no_poll) return;

   request_discipline_params(0x00); // time constant
   request_discipline_params(0x01); // gain / DAC range
   request_discipline_params(0x02); // sync / freq thresholds
   request_discipline_params(0x03); // initial DAC voltage
   request_discipline_params(0x04); // undocumented - allowable DAC range?
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x204463(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x99cc2
jmp 0x99cff
leaq 0x2fc537(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x99cd0
jmp 0x99cff
xorl %edi, %edi
callq 0x99aa0
movl $0x1, %edi
callq 0x99aa0
movl $0x2, %edi
callq 0x99aa0
movl $0x3, %edi
callq 0x99aa0
movl $0x4, %edi
callq 0x99aa0
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_pullin_range(int)
void set_pullin_range(int i)
{
   if(read_only) return;

   if(rcvr_type == UCCM_RCVR) {
      sprintf(out, "PULLINRANGE %d", i/10);
      queue_uccm_cmd(out, UCCM_SET_PULLIN_MSG);
      queue_uccm_cmd("PULLINRANGE?", UCCM_GET_PULLIN_MSG);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fc4d8(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x99d29
jmp 0x99d7a
leaq 0x1ddd80(%rip), %rax    # 0x277ab0
cmpq $0x8, (%rax)
jne 0x99d7a
movl -0x4(%rbp), %eax
movl $0xa, %ecx
cltd
idivl %ecx
movl %eax, %edx
leaq 0x3016b6(%rip), %rdi    # 0x39b400
leaq 0xeae85(%rip), %rsi     # 0x184bd6
movb $0x0, %al
callq 0x9060
leaq 0x3016a1(%rip), %rdi    # 0x39b400
movl $0x6c, %esi
callq 0x82fd0
leaq 0xea32f(%rip), %rdi     # 0x18409f
movl $0x6d, %esi
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_prs_pt(int)
void set_prs_pt(int val)
{
   if(read_only) return;

   sprintf(out, "PT%d", val);
   queue_prs_cmd(out, PRS_PT_MSG);
   queue_prs_cmd("PT?", PRS_PT_MSG);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fbee8(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a319
jmp 0x9a353
movl -0x4(%rbp), %edx
leaq 0x3010dd(%rip), %rdi    # 0x39b400
leaq 0xecc8c(%rip), %rsi     # 0x186fb6
movb $0x0, %al
callq 0x9060
leaq 0x3010c8(%rip), %rdi    # 0x39b400
movl $0x20b, %esi            # imm = 0x20B
callq 0x82fd0
leaq 0xea87d(%rip), %rdi     # 0x184bc6
movl $0x20b, %esi            # imm = 0x20B
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_prs_pf(int)
void set_prs_pf(int val)
{
   if(read_only) return;

   sprintf(out, "PF%d", val);
   queue_prs_cmd(out, PRS_PF_MSG);
   queue_prs_cmd("PF?", PRS_PF_MSG);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fbe88(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a379
jmp 0x9a3b3
movl -0x4(%rbp), %edx
leaq 0x30107d(%rip), %rdi    # 0x39b400
leaq 0xecc1d(%rip), %rsi     # 0x186fa7
movb $0x0, %al
callq 0x9060
leaq 0x301068(%rip), %rdi    # 0x39b400
movl $0x20c, %esi            # imm = 0x20C
callq 0x82fd0
leaq 0xea825(%rip), %rdi     # 0x184bce
movl $0x20c, %esi            # imm = 0x20C
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_prs_ga(int)
void set_prs_ga(int val)
{
   if(read_only) return;

   sprintf(out, "GA%d", val);
   queue_prs_cmd(out, PRS_GA_MSG);
   queue_prs_cmd("GA?", PRS_GA_MSG);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fbe28(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a3d9
jmp 0x9a413
movl -0x4(%rbp), %edx
leaq 0x30101d(%rip), %rdi    # 0x39b400
leaq 0xe0087(%rip), %rsi     # 0x17a471
movb $0x0, %al
callq 0x9060
leaq 0x301008(%rip), %rdi    # 0x39b400
movl $0x200, %esi            # imm = 0x200
callq 0x82fd0
leaq 0xea7c1(%rip), %rdi     # 0x184bca
movl $0x200, %esi            # imm = 0x200
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_prs_pi(int)
void set_prs_pi(int val)
{
   if(read_only) return;

   sprintf(out, "PI%d", val);
   queue_prs_cmd(out, PRS_PI_MSG);
   queue_prs_cmd("PI?", PRS_PI_MSG);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fbdc8(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a439
jmp 0x9a473
movl -0x4(%rbp), %edx
leaq 0x300fbd(%rip), %rdi    # 0x39b400
leaq 0xecb62(%rip), %rsi     # 0x186fac
movb $0x0, %al
callq 0x9060
leaq 0x300fa8(%rip), %rdi    # 0x39b400
movl $0x20d, %esi            # imm = 0x20D
callq 0x82fd0
leaq 0xea769(%rip), %rdi     # 0x184bd2
movl $0x20d, %esi            # imm = 0x20D
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_sro_tc(int)
void set_sro_tc(int secs)
{
   if(read_only) return;

   if(secs < 0) secs = 0;
   if(secs > 999999) secs = 999999;
   sprintf(out, "TC%06d", secs);
   queue_sro_cmd(out, SRO_TC_MSG);
   sro_eeprom();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fbd68(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a499
jmp 0x9a4e4
cmpl $0x0, -0x4(%rbp)
jge 0x9a4a6
movl $0x0, -0x4(%rbp)
cmpl $0xf423f, -0x4(%rbp)    # imm = 0xF423F
jle 0x9a4b6
movl $0xf423f, -0x4(%rbp)    # imm = 0xF423F
movl -0x4(%rbp), %edx
leaq 0x300f40(%rip), %rdi    # 0x39b400
leaq 0xec79e(%rip), %rsi     # 0x186c65
movb $0x0, %al
callq 0x9060
leaq 0x300f2b(%rip), %rdi    # 0x39b400
movl $0x32d, %esi            # imm = 0x32D
callq 0x82fd0
callq 0xbeb90
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_x72_jamthresh(double)
void set_x72_jamthresh(double val)
{
   // set the X72 sw discipline forced jamsync threshold
   if(read_only) return;

//// if(x72_fw_discipline()) return;
// !!!!!!!!!!!!!! we need to change the X72_PPS_BINS code to implement this !!!!!!!!!!!!!!
   if(val <= 0.0) val = X72_JAMSYNC_THRESH;
   if(val >= X72_JAMSYNC_THRESH) val = X72_JAMSYNC_THRESH;

   have_x72_jamthresh = 1;
   x72_jamthresh_val = val;
   user_jam_sync = (DATA_SIZE) val;
   jam_sync = (DATA_SIZE) val;
   have_osc_params |= PARAM_JAMSYNC;

   last_x72_jamthresh = val;
   user_set_x72_jamthresh = 1;

   save_x72_state();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd %xmm0, -0x8(%rbp)
leaq 0x2fbb26(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a6de
jmp 0x9a78c
xorps %xmm0, %xmm0
ucomisd -0x8(%rbp), %xmm0
jb 0x9a6f5
movsd 0xd4ae0(%rip), %xmm0    # 0x16f1d0
movsd %xmm0, -0x8(%rbp)
movsd -0x8(%rbp), %xmm0
movsd 0xd4ace(%rip), %xmm1    # 0x16f1d0
ucomisd %xmm1, %xmm0
jb 0x9a715
movsd 0xd4ac0(%rip), %xmm0    # 0x16f1d0
movsd %xmm0, -0x8(%rbp)
leaq 0x1df7ec(%rip), %rax    # 0x279f08
movl $0x1, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x1df8d2(%rip), %rax    # 0x27a000
movsd %xmm0, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x2d1c52(%rip), %rax    # 0x36c390
movsd %xmm0, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x2d1bd2(%rip), %rax    # 0x36c320
movsd %xmm0, (%rax)
leaq 0x2d2883(%rip), %rax    # 0x36cfdc
movl (%rax), %ecx
orl $0x200, %ecx            # imm = 0x200
leaq 0x2d2874(%rip), %rax    # 0x36cfdc
movl %ecx, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x1df97a(%rip), %rax    # 0x27a0f0
movsd %xmm0, (%rax)
leaq 0x1df95b(%rip), %rax    # 0x27a0dc
movl $0x1, (%rax)
callq 0x92e20
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_x72_tc(int)
void set_x72_tc(int val)
{
   // set the X72 disciplining time constant factor
   if(read_only) return;

   if(val < MIN_X72_TC) val = MIN_X72_TC;
   if(val > MAX_X72_TC) val = MAX_X72_TC;

   have_x72_tc = 1;
   x72_tc_val = val;
   user_time_constant = (DATA_SIZE) val;
   time_constant = (DATA_SIZE) val;
   have_osc_params |= PARAM_TC;
   x72_reset_filter();

   last_x72_tc = val;
   user_set_x72_tc = 1;
   save_x72_state();

   if(x72_fw_discipline()) {
      sprintf(out, "y2\r%d", val);
      queue_x72_cmd(out, X72_TC_MSG);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fba48(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a7bc
jmp 0x9a87d
cmpl $0x5, -0x4(%rbp)
jge 0x9a7c9
movl $0x5, -0x4(%rbp)
cmpl $0x186a0, -0x4(%rbp)    # imm = 0x186A0
jle 0x9a7d9
movl $0x186a0, -0x4(%rbp)    # imm = 0x186A0
leaq 0x1df720(%rip), %rax    # 0x279f00
movl $0x1, (%rax)
movl -0x4(%rbp), %ecx
leaq 0x1df7f4(%rip), %rax    # 0x279fe4
movl %ecx, (%rax)
cvtsi2sdl -0x4(%rbp), %xmm0
leaq 0x2d1b5a(%rip), %rax    # 0x36c358
movsd %xmm0, (%rax)
cvtsi2sdl -0x4(%rbp), %xmm0
leaq 0x2d1ac2(%rip), %rax    # 0x36c2d0
movsd %xmm0, (%rax)
leaq 0x2d27c3(%rip), %rax    # 0x36cfdc
movl (%rax), %ecx
orl $0x1, %ecx
leaq 0x2d27b7(%rip), %rax    # 0x36cfdc
movl %ecx, (%rax)
callq 0xc4f60
movl -0x4(%rbp), %ecx
leaq 0x1df8c6(%rip), %rax    # 0x27a0fc
movl %ecx, (%rax)
leaq 0x1df895(%rip), %rax    # 0x27a0d4
movl $0x1, (%rax)
callq 0x92e20
callq 0x94230
cmpl $0x0, %eax
je 0x9a87d
movl -0x4(%rbp), %edx
leaq 0x300ba2(%rip), %rdi    # 0x39b400
leaq 0xec9d9(%rip), %rsi     # 0x18723e
movb $0x0, %al
callq 0x9060
leaq 0x300b8d(%rip), %rdi    # 0x39b400
movl $0x2cb, %esi            # imm = 0x2CB
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_x72_damping(double)
void set_x72_damping(double val)
{
   // set the X72 disciplining damping factor
   if(read_only) return;

   have_x72_damping = 1;
   x72_damping_val = val;
   user_damping_factor = (DATA_SIZE) val;
   have_osc_params |= PARAM_DAMP;

   last_x72_damping = val;
   user_set_x72_damping = 1;
   save_x72_state();

   if(x72_fw_discipline()) {
      sprintf(out, "y1\r%.2f", val);
      queue_x72_cmd(out, X72_DAMPING_MSG);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd %xmm0, -0x8(%rbp)
leaq 0x2fb956(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a8ae
jmp 0x9a947
leaq 0x1df64f(%rip), %rax    # 0x279f04
movl $0x1, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x1df731(%rip), %rax    # 0x279ff8
movsd %xmm0, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x2d1a89(%rip), %rax    # 0x36c360
movsd %xmm0, (%rax)
leaq 0x2d26fa(%rip), %rax    # 0x36cfdc
movl (%rax), %ecx
orl $0x2, %ecx
leaq 0x2d26ee(%rip), %rax    # 0x36cfdc
movl %ecx, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x1df7ec(%rip), %rax    # 0x27a0e8
movsd %xmm0, (%rax)
leaq 0x1df7d1(%rip), %rax    # 0x27a0d8
movl $0x1, (%rax)
callq 0x92e20
callq 0x94230
cmpl $0x0, %eax
je 0x9a947
movsd -0x8(%rbp), %xmm0
leaq 0x300ad8(%rip), %rdi    # 0x39b400
leaq 0xec907(%rip), %rsi     # 0x187236
movb $0x1, %al
callq 0x9060
leaq 0x300ac3(%rip), %rdi    # 0x39b400
movl $0x2cc, %esi            # imm = 0x2CC
callq 0x82fd0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: set_x72_holdover(int)
void set_x72_holdover(int val)
{
   // set the X72 sw discipline holdover analysis time
   if(read_only) return;

//// if(x72_fw_discipline()) return;
   if(val <= 0) val = X72_HOLDOVER_SIZE;

   have_x72_holdover = 1;
   x72_holdover_val = val;
   user_holdover_time = val;
   have_osc_params |= PARAM_HOLDOVER;

   last_x72_holdover = val;
   user_set_x72_holdover = 1;

   save_x72_state();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
leaq 0x2fb898(%rip), %rax    # 0x3961fa
cmpb $0x0, (%rax)
je 0x9a969
jmp 0x9a9d1
cmpl $0x0, -0x4(%rbp)
jg 0x9a976
movl $0x78, -0x4(%rbp)
leaq 0x1df58f(%rip), %rax    # 0x279f0c
movl $0x1, (%rax)
movl -0x4(%rbp), %ecx
leaq 0x1df65b(%rip), %rax    # 0x279fe8
movl %ecx, (%rax)
movl -0x4(%rbp), %ecx
leaq 0x2d1a0f(%rip), %rax    # 0x36c3a8
movl %ecx, (%rax)
leaq 0x2d263a(%rip), %rax    # 0x36cfdc
movl (%rax), %ecx
orl $0x2000, %ecx           # imm = 0x2000
leaq 0x2d262b(%rip), %rax    # 0x36cfdc
movl %ecx, (%rax)
movl -0x4(%rbp), %ecx
leaq 0x1df73b(%rip), %rax    # 0x27a0f8
movl %ecx, (%rax)
leaq 0x1df71a(%rip), %rax    # 0x27a0e0
movl $0x1, (%rax)
callq 0x92e20
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_primary_timing()
void request_primary_timing()
{
   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) return;
   else if(SV6_FAMILY) return;

   send_tsip_start(0x8E);
   send_byte(0xAB);
   send_byte(0x02);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x202e03(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9b325
jmp 0x9b445
leaq 0x2faed4(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x9b336
jmp 0x9b445
leaq 0x1dc773(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x9b348
jmp 0x9b445
leaq 0x1dc761(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b372
leaq 0x1dee58(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b372
leaq 0x1dc770(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9b372
jmp 0x9b422
leaq 0x1dc737(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b3a5
leaq 0x1dee2e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b3a5
leaq 0x1dc746(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x9b3a3
leaq 0x1dc73a(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9b3a5
jmp 0x9b420
leaq 0x1dc704(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b3c0
leaq 0x1dedfb(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b3c0
jmp 0x9b41e
leaq 0x1dc6e9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b3db
leaq 0x1dede0(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x9b3db
jmp 0x9b445
leaq 0x1dc6ce(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b41a
leaq 0x1dedc5(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x9b418
leaq 0x1dedb9(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x9b418
leaq 0x1dedad(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x9b418
leaq 0x1deda1(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b41a
jmp 0x9b445
jmp 0x9b41c
jmp 0x9b41e
jmp 0x9b420
jmp 0x9b422
movl $0x8e, %edi
callq 0x824f0
movl $0xab, %edi
callq 0x7b210
movl $0x2, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_secondary_timing()
void request_secondary_timing()
{
   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) return;
   else if(SV6_FAMILY) return;

   send_tsip_start(0x8E);
   send_byte(0xAC);
   send_byte(0x02);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x202cc3(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9b465
jmp 0x9b585
leaq 0x2fad94(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x9b476
jmp 0x9b585
leaq 0x1dc633(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x9b488
jmp 0x9b585
leaq 0x1dc621(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b4b2
leaq 0x1ded18(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b4b2
leaq 0x1dc630(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9b4b2
jmp 0x9b562
leaq 0x1dc5f7(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b4e5
leaq 0x1decee(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b4e5
leaq 0x1dc606(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x9b4e3
leaq 0x1dc5fa(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9b4e5
jmp 0x9b560
leaq 0x1dc5c4(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b500
leaq 0x1decbb(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b500
jmp 0x9b55e
leaq 0x1dc5a9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b51b
leaq 0x1deca0(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x9b51b
jmp 0x9b585
leaq 0x1dc58e(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b55a
leaq 0x1dec85(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x9b558
leaq 0x1dec79(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x9b558
leaq 0x1dec6d(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x9b558
leaq 0x1dec61(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b55a
jmp 0x9b585
jmp 0x9b55c
jmp 0x9b55e
jmp 0x9b560
jmp 0x9b562
movl $0x8e, %edi
callq 0x824f0
movl $0xac, %edi
callq 0x7b210
movl $0x2, %edi
callq 0x7b210
callq 0x82590
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: request_ae_packet(unsigned char)
void request_ae_packet(u08 subcode)
{
   if(luxor) return;
   if(no_poll) 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(0xAE);
   send_byte(subcode);
   send_tsip_end();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
leaq 0x202b79(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x9b5af
jmp 0x9b6c9
leaq 0x2fac4a(%rip), %rax    # 0x396200
cmpb $0x0, (%rax)
je 0x9b5c0
jmp 0x9b6c9
leaq 0x1dc4e9(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
je 0x9b5d2
jmp 0x9b6c9
leaq 0x1dc4d7(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b5fc
leaq 0x1debce(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b5fc
leaq 0x1dc4e6(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9b5fc
jmp 0x9b6c9
leaq 0x1dc4ad(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b632
leaq 0x1deba4(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b632
leaq 0x1dc4bc(%rip), %rax    # 0x277ad8
cmpl $0x33, (%rax)
je 0x9b62d
leaq 0x1dc4b0(%rip), %rax    # 0x277ad8
cmpl $0x47, (%rax)
jne 0x9b632
jmp 0x9b6c9
leaq 0x1dc477(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b64d
leaq 0x1deb6e(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b64d
jmp 0x9b6c9
leaq 0x1dc45c(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b668
leaq 0x1deb53(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
jne 0x9b668
jmp 0x9b6c9
leaq 0x1dc441(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9b6a7
leaq 0x1deb38(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x9b6a5
leaq 0x1deb2c(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x9b6a5
leaq 0x1deb20(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x9b6a5
leaq 0x1deb14(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9b6a7
jmp 0x9b6c9
movl $0x8e, %edi
callq 0x824f0
movl $0xae, %edi
callq 0x7b210
movzbl -0x1(%rbp), %edi
callq 0x7b210
callq 0x82590
addq $0x10, %rsp
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_almanac_data()
void get_almanac_data()
{
int prn;

   log_packet_id("Packet 0x40 - Almanac data");

   prn = tsip_byte();
   tsip_single();   // seconds
   tsip_word();     // week
   tsip_single();   // eccentricity
   tsip_single();   // T_oa
   tsip_single();   // I_o
   tsip_single();   // OMEGA_dot
   tsip_single();   // sqrt(A)
   tsip_single();   // OMEGAo
   tsip_single();   // omega
   tsip_single();   // Mo
   check_tsip_end(1);
   if(tsip_error) return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xe8fcc(%rip), %rdi     # 0x184d1b
callq 0x7add0
callq 0x7a510
movzbl %al, %eax
movl %eax, -0x4(%rbp)
callq 0x7a860
callq 0x7a560
callq 0x7a860
callq 0x7a860
callq 0x7a860
callq 0x7a860
callq 0x7a860
callq 0x7a860
callq 0x7a860
callq 0x7a860
movl $0x1, %edi
callq 0x7aee0
leaq 0x2023ae(%rip), %rax    # 0x29e150
cmpl $0x0, (%rax)
je 0x9bda9
jmp 0x9bda9
addq $0x10, %rsp
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_single_ecef_fix()
void get_single_ecef_fix()
{
float fix_x,fix_y,fix_z;
float time_of_fix;

   log_packet_id("Packet 0x42 (XYZ ECEF)");

   fix_x = tsip_single();
   fix_y = tsip_single();
   fix_z = tsip_single();
   time_of_fix = tsip_single();
   check_tsip_end(1);
   if(tsip_error) return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xe8dae(%rip), %rdi     # 0x184d4d
callq 0x7add0
callq 0x7a860
movss %xmm0, -0x4(%rbp)
callq 0x7a860
movss %xmm0, -0x8(%rbp)
callq 0x7a860
movss %xmm0, -0xc(%rbp)
callq 0x7a860
movss %xmm0, -0x10(%rbp)
movl $0x1, %edi
callq 0x7aee0
leaq 0x202173(%rip), %rax    # 0x29e150
cmpl $0x0, (%rax)
je 0x9bfe4
jmp 0x9bfe4
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_velocity_fix()
void get_velocity_fix()
{
float x_vel,y_vel,z_vel;
float bias_rate;
float time_of_fix;

   log_packet_id("Packet 0x43 (XYZ ECEF velocity)");

   x_vel = tsip_single();
   y_vel = tsip_single();
   z_vel = tsip_single();
   bias_rate = tsip_single();
   time_of_fix = tsip_single();
   check_tsip_end(1);
   if(tsip_error) return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0xe8d65(%rip), %rdi     # 0x184d64
callq 0x7add0
callq 0x7a860
movss %xmm0, -0x4(%rbp)
callq 0x7a860
movss %xmm0, -0x8(%rbp)
callq 0x7a860
movss %xmm0, -0xc(%rbp)
callq 0x7a860
movss %xmm0, -0x10(%rbp)
callq 0x7a860
movss %xmm0, -0x14(%rbp)
movl $0x1, %edi
callq 0x7aee0
leaq 0x202109(%rip), %rax    # 0x29e150
cmpl $0x0, (%rax)
je 0x9c04e
jmp 0x9c04e
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_system_msg()
void get_system_msg()
{
int i;

// response to 0x28 GPS system message request
   log_packet_id("Packet 0x48 (GPS system message)");

   for(i=0; i<22; i++) msg_field[i] = tsip_byte();
   msg_field[22] = 0;
//strcpy(debug_text, msg_field);
if(debug_file) fprintf(debug_file, "# GPS system message:%s\n", msg_field);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xe7e0f(%rip), %rdi     # 0x184e0e
callq 0x7add0
movl $0x0, -0x4(%rbp)
cmpl $0x16, -0x4(%rbp)
jge 0x9d031
callq 0x7a510
movb %al, %dl
movslq -0x4(%rbp), %rcx
leaq 0x2fdbfd(%rip), %rax    # 0x39ac20
movb %dl, (%rax,%rcx)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x9d00b
leaq 0x2fdbe8(%rip), %rax    # 0x39ac20
movb $0x0, 0x16(%rax)
leaq 0x20052d(%rip), %rax    # 0x29d570
cmpq $0x0, (%rax)
je 0x9d068
leaq 0x200520(%rip), %rax    # 0x29d570
movq (%rax), %rdi
leaq 0xe7dd5(%rip), %rsi     # 0x184e2f
leaq 0x2fdbbf(%rip), %rdx    # 0x39ac20
movb $0x0, %al
callq 0x9550
addq $0x10, %rsp
popq %rbp
retq
nop
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_alm_health()
void get_alm_health()
{
int i;

   log_packet_id("Packet 0x49 (Almanac health page)");
   for(i=1; i<=32; i++) {
//    sat[i].health_flag = tsip_byte();
      if(tsip_byte()) sat[i].health_flag = 1;  // unhealthy
      else            sat[i].health_flag = 0;  // healthy
   }
   check_tsip_end(1);
   if(tsip_error) return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xe7dc9(%rip), %rdi     # 0x184e48
callq 0x7add0
movl $0x1, -0x4(%rbp)
cmpl $0x20, -0x4(%rbp)
jg 0x9d0d9
callq 0x7a510
cmpb $0x0, %al
je 0x9d0b4
movslq -0x4(%rbp), %rcx
leaq 0x2010eb(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movb $0x1, (%rax)
jmp 0x9d0cc
movslq -0x4(%rbp), %rcx
leaq 0x2010d1(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movb $0x0, (%rax)
jmp 0x9d0ce
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x9d08b
movl $0x1, %edi
callq 0x7aee0
leaq 0x201066(%rip), %rax    # 0x29e150
cmpl $0x0, (%rax)
je 0x9d0f1
jmp 0x9d0f1
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_single_lla_fix()
void get_single_lla_fix()
{
float lat, lon, alt;
float clock_bias;
float time_of_fix;

//  A different (9 byte) packet is sent in response to packet 2A:
//     single: alt above WGS84 or MSL
//     single: reserved
//     byte:   flag

   log_packet_id("Packet 0x4A (LLA fix)");
   lat = tsip_single();
   lon = tsip_single();
   alt = tsip_single();
   clock_bias = tsip_single();
   time_of_fix = tsip_single();
   check_tsip_end(1);
   if(tsip_error) return;

// show_lla(100);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0xe7d5b(%rip), %rdi     # 0x184e6a
callq 0x7add0
callq 0x7a860
movss %xmm0, -0x4(%rbp)
callq 0x7a860
movss %xmm0, -0x8(%rbp)
callq 0x7a860
movss %xmm0, -0xc(%rbp)
callq 0x7a860
movss %xmm0, -0x10(%rbp)
callq 0x7a860
movss %xmm0, -0x14(%rbp)
movl $0x1, %edi
callq 0x7aee0
leaq 0x200ff9(%rip), %rax    # 0x29e150
cmpl $0x0, (%rax)
je 0x9d15e
jmp 0x9d15e
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: jkingan[P]ladyheather/heathgps.cpp
// Function: get_ebolt_health2()
void get_ebolt_health2()
{
u08 id;
u08 rtc;
u08 superpackets;

   log_packet_id("Packet 0x4B (Tbolt-E health)");

   id = tsip_byte();           // sv6=1B
   rtc = tsip_byte();
   superpackets = tsip_byte();
   check_tsip_end(1);
   if(tsip_error) return;

   saw_version |= 0x08;
   saw_ebolt();
   tbolt_e |= 0x02;

   if(SV6_FAMILY) {
      if(rtc & 0x08) minor_alarms |= MINOR_ALMANAC;
      else           minor_alarms &= (~MINOR_ALMANAC);

//    if(rtc & 0x02) minor_alarms |= MINOR_ALMANAC;      // no time at power-up
//    else           minor_alarms &= (~MINOR_ALMANAC);

      if(rtc & 0x05) critical_alarms |= CRIT_FPGA;
      else           critical_alarms &= (~CRIT_FPGA);
      have_critical_alarms = 34;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xe7d01(%rip), %rdi     # 0x184e80
callq 0x7add0
callq 0x7a510
movb %al, -0x1(%rbp)
callq 0x7a510
movb %al, -0x2(%rbp)
callq 0x7a510
movb %al, -0x3(%rbp)
movl $0x1, %edi
callq 0x7aee0
leaq 0x200fa3(%rip), %rax    # 0x29e150
cmpl $0x0, (%rax)
je 0x9d1b7
jmp 0x9d2ae
leaq 0x2cf42a(%rip), %rax    # 0x36c5e8
movl (%rax), %ecx
orl $0x8, %ecx
leaq 0x2cf41e(%rip), %rax    # 0x36c5e8
movl %ecx, (%rax)
callq 0x81d20
leaq 0x1da908(%rip), %rax    # 0x277ae0
movl (%rax), %ecx
orl $0x2, %ecx
leaq 0x1da8fc(%rip), %rax    # 0x277ae0
movl %ecx, (%rax)
leaq 0x1da8c3(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x9d2ae
leaq 0x1dcfb6(%rip), %rax    # 0x27a1b4
cmpl $0x36, (%rax)
je 0x9d22b
leaq 0x1dcfaa(%rip), %rax    # 0x27a1b4
cmpl $0x33, (%rax)
je 0x9d22b
leaq 0x1dcf9e(%rip), %rax    # 0x27a1b4
cmpl $0x50, (%rax)
je 0x9d22b
leaq 0x1dcf92(%rip), %rax    # 0x27a1b4
cmpl $0x41, (%rax)
jne 0x9d2ae
movzbl -0x2(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x9d251
leaq 0x2cf17a(%rip), %rax    # 0x36c3b8
movl (%rax), %ecx
orl $0x800, %ecx            # imm = 0x800
leaq 0x2cf16b(%rip), %rax    # 0x36c3b8
movl %ecx, (%rax)
jmp 0x9d269
leaq 0x2cf160(%rip), %rax    # 0x36c3b8
movl (%rax), %ecx
andl $0xfffff7ff, %ecx       # imm = 0xFFFFF7FF
leaq 0x2cf151(%rip), %rax    # 0x36c3b8
movl %ecx, (%rax)
movzbl -0x2(%rbp), %eax
andl $0x5, %eax
cmpl $0x0, %eax
je 0x9d28c
leaq 0x2cf134(%rip), %rax    # 0x36c3b0
movl (%rax), %ecx
orl $0x8, %ecx
leaq 0x2cf128(%rip), %rax    # 0x36c3b0
movl %ecx, (%rax)
jmp 0x9d2a1
leaq 0x2cf11d(%rip), %rax    # 0x36c3b0
movl (%rax), %ecx
andl $-0x9, %ecx
leaq 0x2cf111(%rip), %rax    # 0x36c3b0
movl %ecx, (%rax)
leaq 0x2cf1e0(%rip), %rax    # 0x36c488
movl $0x22, (%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)