// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathgps.cpp
// Function: show_rcvr_type()
void show_rcvr_type()
{
char *s;

   // show the receiver type in the screen receiver version data block
   // also shows the current disicple mode above the receiver data block
   //
   // NEW_RCVR

   if(rcvr_type == NO_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  System clock"); 
      return;
   }
   else if(rcvr_type == ACRON_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Acron Zeit       "); 
      return;
   }
   else if(unit_name[0]) {
      sprintf(out, "Dev:  %s", unit_name);
      vidstr(VER_ROW+1, VER_COL, WHITE,  out);  
      show_rcvr_rate();
   }
   else if(res_t) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Resolution-T     "); 
      show_rcvr_rate();
   }
   else if(saw_ntpx) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Nortel NTPX      "); 
      show_rcvr_rate();
   }
   else if(saw_nortel) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Nortel NTGS/NTBW "); 
      show_rcvr_rate();
   }
   else if(ACU_GG) {
//    vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Acutime GG "); 
      show_rcvr_rate();
   }
   else if(ACU_360) {
//    vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Acutime 360 "); 
      show_rcvr_rate();
   }
   else if(ACUTIME) {
//    vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Trimble Acutime  "); 
      show_rcvr_rate();
   }
   else if(PALISADE) {
//    vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Trimble Palisade "); 
      show_rcvr_rate();
   }
   else if(ACE3) {
//    vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Trimble ACE-III  "); 
      show_rcvr_rate();
   }
   else if(SV6_FAMILY) {
//    vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Trimble SV6/SV8  "); 
      show_rcvr_rate();
   }
   else if(rcvr_type == BRANDY_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Brandywine GPSDO "); 
      show_rcvr_rate();
   }
   else if(rcvr_type == ESIP_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  eSIP Receiver  ");
      show_rcvr_rate();
   }
   else if(rcvr_type == FURUNO_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Furuno Receiver  ");
      show_rcvr_rate();
   }
   else if(rcvr_type == GPSD_RCVR) {  
      if(gpsd_release[0]) {
         sprintf(out, "Rel:  GPSD %-12.12s", gpsd_release);
         vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      }
      else if(gpsd_major || gpsd_minor) {
         sprintf(out, "Dev:  GPSD prot %d.%02d   ", gpsd_major,gpsd_minor);
         vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      }
      else {
         vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  GPSD interface   ");
      }
      show_rcvr_rate();

      if(gpsd_driver[0]) vidstr(VER_ROW+2, VER_COL, WHITE, gpsd_driver);
   }
   else if(rcvr_type == LPFRS_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev: LPFRS rubidium   ");
      show_rcvr_rate();
   }
   else if(rcvr_type == MOTO_RCVR) {
      if(0 && moto_id[2][0]) {   // show software version
         s = strchr(&moto_id[2][0], '#');
         if(s) {
            while(*s) {
               ++s;
               if(*s == 0) break;
               if(*s != ' ') {
                  sprintf(out, "SW:   %-19.19s", s);
                  goto show_moto;
               }
            }
         }
      }

      if(furuno_moto) sprintf(out, "Dev:  Furuno %2d chan   ", moto_chans);
      else            sprintf(out, "Dev:  Motorola %2d chan ", moto_chans);

      show_moto:
      vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      show_rcvr_rate();
   }
   else if(rcvr_type == RT17_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Trimble RT17 fmt ");
      show_rcvr_rate();
   }
   else if(rcvr_type == NMEA_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  NMEA GPS Receiver");
      show_rcvr_rate();
   }
   else if(rcvr_type == NVS_RCVR) {
      sprintf(out, "Dev:  NVS %2d channel   ", nvs_chans);
      vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      show_rcvr_rate();
   }
   else if(rcvr_type == PRS_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev: PRS-10 rubidium  ");
      show_rcvr_rate();
   }
   else if(rcvr_type == RFTG_RCVR) {
      if((have_rftg_unit) && (rftg_unit == 0)) {
         vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  RFTG-m RB        ");
      }
      else if((have_rftg_unit) && (rftg_unit == 1)) {
         vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  RFTG-m XO        "); 
      }
      else {
         vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  RFTG-m           "); 
      }
      show_rcvr_rate();
   }
   else if(rcvr_type == SA35_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE, "Dev: SA.35m rubidium   ");
      show_rcvr_rate();
   }
   else if(rcvr_type == SCPI_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE, "Dev:  SCPI receiver    ");
      show_rcvr_rate();
   }
   else if(rcvr_type == SIRF_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  SIRF receiver    ");
      show_rcvr_rate();
   }
   else if(rcvr_type == SRO_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev: SRO100 rubidium  ");
      show_rcvr_rate();
   }
   else if(rcvr_type == STAR_RCVR) {
      if(star_module[0]) {
         sprintf(out, "Dev:  %s", star_module);
         vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      }
      else {
         vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  STAR receiver    ");
      }
      show_rcvr_rate();
   }
   else if(rcvr_type == TAIP_RCVR) {
      if(taip_product[0]) {
         sprintf(out, "Dev:  %-17.17s", taip_product);
         vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      }
      else {
         vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  TAIP receiver    ");
      }
      show_rcvr_rate();
   }
   else if(rcvr_type == THERMO_RCVR) {
      if(enviro_dev[0]) {
         sprintf(out, "Dev:  %s", enviro_dev);
         vidstr(VER_ROW+1, VER_COL, WHITE,  out);  
      }
      else {
         vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Environmental    ");
      }
      show_rcvr_rate();
   }
   else if(rcvr_type == TICC_RCVR) {
      if     (ticc_type == TAPR_TICC)   vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  TAPR TICC        ");
      else if(ticc_type == HP_TICC)     vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  HP53xxx counter  ");
      else if(ticc_type == PICPET_TICC) vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  PICPET           ");
      else if(ticc_type == LARS_TICC)   vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  LARS GPSDO TIC   ");
      else                              vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Generic counter  ");
//    show_rcvr_rate();
   }
   else if(rcvr_type == TIDE_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Gravity clock"); 
      return;
   }
   else if(rcvr_type == TM4_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Spectrum TM4     ");
      show_rcvr_rate();
   }
   else if(rcvr_type == TRUE_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  TruePosition     ");
      show_rcvr_rate();
   }
   else if(rcvr_type == TSERVE_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  TymServe 2000    ");
      show_rcvr_rate();
   }
   else if(rcvr_type == UCCM_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  UCCM receiver    ");
      show_rcvr_rate();
   }
   else if(rcvr_type == UBX_RCVR) {
      if(saw_timing_msg) vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Ublox timing     ");
      else               vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Ublox receiver   ");
      show_rcvr_rate();
   }
   else if(rcvr_type == VENUS_RCVR) {
      if(lte_lite) {
         sprintf(out, "%s", "Dev:  Jackson Labs LTE ");
      }
      else if(saw_venus_raw) {
         if(venus_kern[0]) sprintf(out, "Dev:  Venus-R %s", venus_kern);
         else              sprintf(out, "%s", "Dev:  Venus RTK rcvr   ");
      }
      else if(saw_timing_msg) {
         if(venus_kern[0]) sprintf(out, "Dev:  Venus-T %s", venus_kern);
         else              sprintf(out, "%s", "Dev:  Venus timing rcvr");
      }
      else {
         if(venus_kern[0]) sprintf(out, "Dev:  Venus %s ", venus_kern);
         else              sprintf(out, "%s", "Dev:  Venus receiver   ");
      }
      vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      show_rcvr_rate();
   }
   else if(rcvr_type == X72_RCVR) {
      if(x72_type == SA22_TYPE)     vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev: SA22 rubidium    ");
      else if(x72_type == X99_TYPE) vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev: X99 rubidium     ");
      else                          vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev: X72 rubidium     ");
      show_rcvr_rate();
   }
   else if(rcvr_type == ZODIAC_RCVR) {
      if(zod_chans[0]) sprintf(out, "Dev:  Jupiter %2s chan    ", zod_chans);
      else             sprintf(out, "Dev:  Jupiter receiver   ");
      vidstr(VER_ROW+1, VER_COL, WHITE,  out);
      show_rcvr_rate();
   }
   else if(rcvr_type == ZYFER_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Zyfer Nanosync   ");
      show_rcvr_rate();
   }
   else if(rcvr_type == Z12_RCVR) {
      vidstr(VER_ROW+1, VER_COL, WHITE,  "Dev:  Ashtech Z12      ");
      show_rcvr_rate();
   }
   else if(touch_screen && last_plot_key) {
      show_rcvr_rate();
   }
   else if(ticc_port_open()) {
      show_rcvr_rate();
   }
   else if(GPSDO) {
      if(discipline == DIS_LOCKED)  {
         if(ticc_port_open() || (enviro_mode() && (rcvr_type != THERMO_RCVR))) {
            show_rcvr_rate();
         }
         else {
            vidstr(VAL_ROW+0, VAL_COL, GREEN,  "Phase locked    ");
         }
      }
      else if(discipline == DIS_WARMING) vidstr(VAL_ROW+0, VAL_COL, YELLOW, "Warming up      ");
      else if(discipline == DIS_FLOCK)   vidstr(VAL_ROW+0, VAL_COL, YELLOW, "Freq locking    ");
      else if(discipline == DIS_PLACING) vidstr(VAL_ROW+0, VAL_COL, YELLOW, "Placing PPS     ");
      else if(discipline == DIS_FINIT)   vidstr(VAL_ROW+0, VAL_COL, YELLOW, "Filter init     ");
      else if(discipline == DIS_COMP)    vidstr(VAL_ROW+0, VAL_COL, YELLOW, "OCXO comp       ");
      else if(discipline == DIS_OFF) {
         if(osc_control_on) vidstr(VAL_ROW+0, VAL_COL, OSC_PID_COLOR, "Discipline OSC PID   ");
         else               vidstr(VAL_ROW+0, VAL_COL, RED,           "Discipline OFF       ");
      }
      else if(discipline == DIS_RECOVERY) {
         vidstr(VAL_ROW+0, VAL_COL, YELLOW, "Recovery mode   ");
         holdover_seen |= HOLD_SEEN_REC;
      }
      else {
         sprintf(out, "Discipline: %02X  ", discipline);
         vidstr(VAL_ROW+0, VAL_COL, RED, out);
      }
   }
   else if(0) {
      show_rcvr_rate();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
leaq 0x15be7c(%rip), %rax    # 0x2188d0
movq (%rax), %rbx
cmpq $0x4000, %rbx           # imm = 0x4000
je 0xbca86
cmpq $0x400, %rbx            # imm = 0x400
jne 0xbcab5
leaq 0x15bd24(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15bd1d(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cea4(%rip), %rcx     # 0x129928
jmp 0xbcaa1
leaq 0x15bd07(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15bd00(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ce9a(%rip), %rcx     # 0x12993b
movl $0xf, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xe7d0
leaq 0x27fb84(%rip), %rax    # 0x33c640
cmpb $0x0, (%rax)
je 0xbcafe
leaq 0x27f758(%rip), %rbx    # 0x33c220
leaq 0x6ce84(%rip), %rsi     # 0x129953
leaq 0x27fb6a(%rip), %rdx    # 0x33c640
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leaq 0x15bcad(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15bca6(%rip), %rax    # 0x218798
movl (%rax), %esi
movl $0xf, %edx
movq %rbx, %rcx
jmp 0xbcb7c
leaq 0x15bdff(%rip), %rax    # 0x218904
cmpb $0x0, (%rax)
je 0xbcb27
leaq 0x15bc83(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15bc7c(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ce37(%rip), %rcx     # 0x12995c
jmp 0xbcb77
leaq 0x18240e(%rip), %rax    # 0x23ef3c
cmpb $0x0, (%rax)
je 0xbcb50
leaq 0x15bc5a(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15bc53(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ce26(%rip), %rcx     # 0x129974
jmp 0xbcb77
leaq 0x1823e3(%rip), %rax    # 0x23ef3a
cmpb $0x0, (%rax)
je 0xbcb90
leaq 0x15bc31(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15bc2a(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ce15(%rip), %rcx     # 0x12998c
movl $0xf, %edx
callq 0xe7d0
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xbc7ba
cmpq $0x1, %rbx
sete %dl
leaq 0x15e436(%rip), %rax    # 0x21afd4
movl (%rax), %eax
cmpl $0x41, %eax
sete %cl
andb %dl, %cl
leaq 0x15bd49(%rip), %rdx    # 0x2188f8
movl (%rdx), %edx
cmpl $0x47, %edx
sete %sil
andb %cl, %sil
cmpb $0x1, %sil
je 0xbcb81
testb %cl, %cl
je 0xbcbd3
cmpl $0x47, %edx
je 0xbcb81
cmpl $0x33, %edx
je 0xbcb81
testb %cl, %cl
jne 0xbcb81
cmpq $0x1, %rbx
sete %cl
cmpl $0x50, %eax
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0xbcb81
cmpq $0x1, %rbx
sete %cl
cmpl $0x33, %eax
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0xbcb81
cmpq $0x1, %rbx
jne 0xbcc17
leal -0x33(%rax), %ecx
cmpl $0x1d, %ecx
ja 0xbcc17
movl $0x20004009, %edx       # imm = 0x20004009
btl %ecx, %edx
jb 0xbcb81
cmpq $0xfffff, %rbx          # imm = 0xFFFFF
jg 0xbcc95
cmpq $0xff, %rbx
jle 0xbccf7
cmpq $0x7fff, %rbx           # imm = 0x7FFF
jg 0xbcda4
cmpq $0x7ff, %rbx            # imm = 0x7FF
jg 0xbcfa0
cmpq $0x100, %rbx            # imm = 0x100
je 0xbd14e
cmpq $0x200, %rbx            # imm = 0x200
jne 0xbd2fd
leaq 0x15e418(%rip), %rax    # 0x21b080
cmpb $0x0, (%rax)
je 0xbd4a5
leaq 0x27f5a8(%rip), %rbx    # 0x33c220
leaq 0x6cd6b(%rip), %rsi     # 0x1299ea
leaq 0x15e3fa(%rip), %rdx    # 0x21b080
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
jmp 0xbd532
cmpq $0xfffffff, %rbx        # imm = 0xFFFFFFF
jle 0xbcd50
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq %rcx, %rbx
jg 0xbce13
cmpq $0x3fffffff, %rbx       # imm = 0x3FFFFFFF
jg 0xbcfe4
cmpq $0x10000000, %rbx       # imm = 0x10000000
je 0xbd178
cmpq $0x20000000, %rbx       # imm = 0x20000000
jne 0xbd2fd
leaq 0x15bab6(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15baaf(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cce0(%rip), %rcx     # 0x1299d2
jmp 0xbcb77
cmpq $0xf, %rbx
jle 0xbce6c
cmpq $0x3f, %rbx
jg 0xbcf1b
cmpq $0x10, %rbx
je 0xbd0a9
cmpq $0x20, %rbx
jne 0xbd2fd
leaq 0x15c21a(%rip), %rax    # 0x218f40
cmpl $0x0, (%rax)
leaq 0x15e2f4(%rip), %rax    # 0x21b024
movl (%rax), %edx
leaq 0x6cd28(%rip), %rax     # 0x129a61
leaq 0x6cd08(%rip), %rsi     # 0x129a48
cmoveq %rax, %rsi
leaq 0x27f4d5(%rip), %rbx    # 0x33c220
jmp 0xbd1f9
cmpq $0x7fffff, %rbx         # imm = 0x7FFFFF
jle 0xbceaa
cmpq $0x1ffffff, %rbx        # imm = 0x1FFFFFF
jg 0xbcf66
cmpq $0x800000, %rbx         # imm = 0x800000
je 0xbd0c9
cmpq $0x1000000, %rbx        # imm = 0x1000000
jne 0xbd2fd
leaq 0x15ba09(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15ba02(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cd24(%rip), %rcx     # 0x129ac3
jmp 0xbcb77
cmpq $0x3ffff, %rbx          # imm = 0x3FFFF
jg 0xbd01f
cmpq $0x8000, %rbx           # imm = 0x8000
je 0xbd198
cmpq $0x10000, %rbx          # imm = 0x10000
jne 0xbd2fd
leaq 0x15bb36(%rip), %rax    # 0x218908
movl (%rax), %eax
addl $-0x48, %eax
roll $0x1e, %eax
leaq 0x15b9b3(%rip), %rcx    # 0x218794
movl (%rcx), %edi
incl %edi
leaq 0x15b9ac(%rip), %rcx    # 0x218798
movl (%rcx), %esi
cmpl $0x3, %eax
ja 0xbd51f
leaq 0x630ba(%rip), %rcx     # 0x11feb8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x6cde2(%rip), %rcx     # 0x129bf0
jmp 0xbcaa1
movabsq $0x3ffffffff, %rcx      # imm = 0x3FFFFFFFF
cmpq %rcx, %rbx
jg 0xbd063
movabsq $0x100000000, %rcx      # imm = 0x100000000
cmpq %rcx, %rbx
je 0xbd1c2
movabsq $0x200000000, %rcx      # imm = 0x200000000
cmpq %rcx, %rbx
jne 0xbd2fd
leaq 0x15b941(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b93a(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cc13(%rip), %rcx     # 0x129a7a
jmp 0xbcb77
cmpq $0x2, %rbx
je 0xbd2bd
cmpq $0x4, %rbx
je 0xbd268
cmpq $0x8, %rbx
jne 0xbd2fd
leaq 0x15b903(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b8fc(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ce07(%rip), %rcx     # 0x129cac
jmp 0xbcb77
cmpq $0x100000, %rbx         # imm = 0x100000
je 0xbd2dd
cmpq $0x200000, %rbx         # imm = 0x200000
je 0xbd29d
cmpq $0x400000, %rbx         # imm = 0x400000
jne 0xbd2fd
leaq 0x250ae0(%rip), %rax    # 0x30d9b8
movl (%rax), %eax
testl %eax, %eax
setne %dl
leaq 0x250ace(%rip), %rcx    # 0x30d9b4
movl (%rcx), %ecx
testl %ecx, %ecx
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xbd40f
leaq 0x15b892(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b88b(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cbc4(%rip), %rcx     # 0x129ada
jmp 0xbcb77
cmpq $0x40, %rbx
je 0xbd0e9
cmpq $0x80, %rbx
jne 0xbd2fd
leaq 0x15e097(%rip), %rax    # 0x21afd0
cmpl $0x0, (%rax)
je 0xbd445
movups 0x6cdab(%rip), %xmm0    # 0x129cf4
leaq 0x27f2d0(%rip), %rax    # 0x33c220
movaps %xmm0, (%rax)
movabsq $0x2045544c207362, %rcx # imm = 0x2045544C207362
movq %rcx, 0x10(%rax)
jmp 0xbd5e8
cmpq $0x2000000, %rbx        # imm = 0x2000000
je 0xbd109
cmpq $0x8000000, %rbx        # imm = 0x8000000
jne 0xbd2fd
leaq 0x15b80d(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b806(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cbcf(%rip), %rcx     # 0x129b6a
jmp 0xbcb77
cmpq $0x800, %rbx            # imm = 0x800
je 0xbd1e2
cmpq $0x1000, %rbx           # imm = 0x1000
jne 0xbd2fd
leaq 0x280cb5(%rip), %rax    # 0x33dc76
cmpb $0x0, (%rax)
je 0xbd4d7
leaq 0x27f24f(%rip), %rbx    # 0x33c220
leaq 0x6c97b(%rip), %rsi     # 0x129953
leaq 0x280c97(%rip), %rdx    # 0x33dc76
jmp 0xbcad6
cmpq $0x40000000, %rbx       # imm = 0x40000000
je 0xbd208
movl $0x80000000, %ecx       # imm = 0x80000000
cmpq %rcx, %rbx
jne 0xbd2fd
leaq 0x15b78e(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b787(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6c9a2(%rip), %rcx     # 0x1299bc
jmp 0xbcb77
cmpq $0x40000, %rbx          # imm = 0x40000
je 0xbd228
cmpq $0x80000, %rbx          # imm = 0x80000
jne 0xbd2fd
leaq 0x280220(%rip), %rax    # 0x33d260
cmpb $0x0, (%rax)
je 0xbd4e3
leaq 0x27f1d0(%rip), %rbx    # 0x33c220
leaq 0x6c8fc(%rip), %rsi     # 0x129953
leaq 0x280202(%rip), %rdx    # 0x33d260
jmp 0xbcad6
movabsq $0x400000000, %rcx      # imm = 0x400000000
cmpq %rcx, %rbx
je 0xbd248
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
cmpq %rcx, %rbx
jne 0xbd2fd
leaq 0x15b704(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b6fd(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ca7e(%rip), %rcx     # 0x129b22
jmp 0xbcb77
leaq 0x15b6e4(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b6dd(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ca76(%rip), %rcx     # 0x129b3a
jmp 0xbcb77
leaq 0x15b6c4(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b6bd(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cb6c(%rip), %rcx     # 0x129c50
jmp 0xbcaa1
leaq 0x15b6a4(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b69d(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ca4e(%rip), %rcx     # 0x129b52
jmp 0xbcb77
leaq 0x15dc30(%rip), %rax    # 0x21ad40
movl (%rax), %eax
leaq 0x15b67b(%rip), %rcx    # 0x218794
movl (%rcx), %edi
incl %edi
leaq 0x15b674(%rip), %rcx    # 0x218798
movl (%rcx), %esi
cmpl $0x3, %eax
leaq 0x6cc6d(%rip), %rcx     # 0x129d9d
leaq 0x6cc7d(%rip), %rdx     # 0x129db4
cmoveq %rcx, %rdx
cmpl $0x1, %eax
leaq 0x6cc41(%rip), %rcx     # 0x129d86
cmovneq %rdx, %rcx
jmp 0xbcb77
leaq 0x280cbb(%rip), %rax    # 0x33de10
cmpb $0x0, (%rax)
je 0xbd478
leaq 0x27f0bb(%rip), %rdi    # 0x33c220
leaq 0x6cc5f(%rip), %rsi     # 0x129dcb
leaq 0x280c9d(%rip), %rdx    # 0x33de10
jmp 0xbd5e1
leaq 0x15b615(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b60e(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6c89e(%rip), %rcx     # 0x129a31
jmp 0xbcb77
leaq 0x280d11(%rip), %rax    # 0x33deb0
cmpb $0x0, (%rax)
je 0xbd499
leaq 0x27f071(%rip), %rbx    # 0x33c220
leaq 0x6c9e3(%rip), %rsi     # 0x129b99
leaq 0x280cf3(%rip), %rdx    # 0x33deb0
jmp 0xbcad6
leaq 0x15b5cb(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b5c4(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cc3b(%rip), %rcx     # 0x129e18
jmp 0xbcb77
leaq 0x15dddb(%rip), %rax    # 0x21afc4
movl (%rax), %edx
leaq 0x27f02e(%rip), %rbx    # 0x33c220
leaq 0x6c8b1(%rip), %rsi     # 0x129aaa
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
jmp 0xbcae0
leaq 0x15b585(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b57e(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ca71(%rip), %rcx     # 0x129c94
jmp 0xbcb77
leaq 0x15b565(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b55e(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6c761(%rip), %rcx     # 0x1299a4
jmp 0xbcb77
leaq 0x15b545(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b53e(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ca01(%rip), %rcx     # 0x129c64
jmp 0xbcb77
leaq 0x2501b9(%rip), %rax    # 0x30d428
leaq 0x15b51e(%rip), %rcx    # 0x218794
movl (%rcx), %edi
incl %edi
cmpl $0x0, (%rax)
leaq 0x15b514(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6ca4f(%rip), %rax     # 0x129cdc
leaq 0x6ca30(%rip), %rcx     # 0x129cc4
cmoveq %rax, %rcx
jmp 0xbcb77
leaq 0x15b4f0(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b4e9(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6c9c4(%rip), %rcx     # 0x129c7c
jmp 0xbcb77
leaq 0x15b4d0(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b4c9(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6c7ba(%rip), %rcx     # 0x129a92
jmp 0xbcb77
leaq 0x15b4b0(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b4a9(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x6cb08(%rip), %rcx     # 0x129e00
jmp 0xbcb77
leaq 0x15df1a(%rip), %rcx    # 0x21b21e
cmpb $0x0, (%rcx)
je 0xbd319
leaq 0x15df10(%rip), %rcx    # 0x21b220
cmpl $0x0, (%rcx)
jne 0xbcb81
leaq 0x181078(%rip), %rcx    # 0x23e398
movq (%rcx), %rsi
testq %rsi, %rsi
jne 0xbcb81
leaq 0x250fad(%rip), %rcx    # 0x30e2e0
cmpl $0x0, 0x1e114(%rcx)
je 0xbd349
cmpl $0x0, 0x1e110(%rcx)
jg 0xbcb81
cmpq $0x1, %rbx
jne 0xbd361
addl $-0x33, %eax
cmpl $0x1d, %eax
ja 0xbd398
movl $0x20004009, %edx       # imm = 0x20004009
btl %eax, %edx
jae 0xbd398
movabsq $0x400741010, %rax      # imm = 0x400741010
testq %rax, %rbx
jne 0xbd398
leaq 0x15dc59(%rip), %rax    # 0x21afd0
cmpl $0x0, (%rax)
jne 0xbd398
leaq 0x181baa(%rip), %rax    # 0x23ef2d
cmpb $0x0, (%rax)
jne 0xbd398
leaq 0x15dca9(%rip), %rax    # 0x21b038
cmpl $0x0, (%rax)
je 0xbd6cc
leaq 0x2500f6(%rip), %rax    # 0x30d495
movzbl (%rax), %edx
cmpq $0x8, %rdx
ja 0xbd648
leaq 0x62b15(%rip), %rax     # 0x11fec8
movslq (%rax,%rdx,4), %rdi
addq %rax, %rdi
jmpq *%rdi
testq %rsi, %rsi
jne 0xbcb81
cmpl $0x0, 0x1e114(%rcx)
je 0xbd3db
cmpl $0x0, 0x1e110(%rcx)
jg 0xbcb81
callq 0x5f743
testl %eax, %eax
sete %al
cmpq $0x80000, %rbx          # imm = 0x80000
sete %cl
orb %al, %cl
je 0xbcb81
leaq 0x6ca32(%rip), %rcx     # 0x129e30
xorl %edi, %edi
movl $0xf, %esi
movl $0xa, %edx
jmp 0xbcaa6
testl %eax, %eax
setne %al
cmpl $0x1, %ecx
sete %cl
andb %al, %cl
leaq 0x15b371(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b36a(%rip), %rax    # 0x218798
movl (%rax), %esi
cmpb $0x1, %cl
jne 0xbd4ef
leaq 0x6c6b2(%rip), %rcx     # 0x129af2
jmp 0xbcb77
leaq 0x2809a8(%rip), %rax    # 0x33ddf4
cmpl $0x0, (%rax)
je 0xbd57f
leaq 0x280934(%rip), %rax    # 0x33dd90
cmpb $0x0, (%rax)
je 0xbd5a8
leaq 0x27edb4(%rip), %rdi    # 0x33c220
leaq 0x6c899(%rip), %rsi     # 0x129d0c
jmp 0xbd5da
movups 0x6c971(%rip), %xmm0    # 0x129df0
leaq 0x27ed9a(%rip), %rax    # 0x33c220
movups %xmm0, 0xa(%rax)
movups 0x6c955(%rip), %xmm0    # 0x129de6
movaps %xmm0, (%rax)
jmp 0xbd5e8
leaq 0x6c708(%rip), %rbx     # 0x129ba8
jmp 0xbcae0
leaq 0x15dbf8(%rip), %rax    # 0x21b0a4
movl (%rax), %edx
leaq 0x15dbf3(%rip), %rax    # 0x21b0a8
movl (%rax), %ecx
movl %edx, %eax
orl %ecx, %eax
je 0xbd52b
leaq 0x27ed5c(%rip), %rbx    # 0x33c220
leaq 0x6c533(%rip), %rsi     # 0x1299fe
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
jmp 0xbd532
leaq 0x6c6a3(%rip), %rbx     # 0x129b81
jmp 0xbcae0
leaq 0x6c6d6(%rip), %rbx     # 0x129bc0
jmp 0xbcae0
leaq 0x6c614(%rip), %rcx     # 0x129b0a
jmp 0xbcb77
leaq 0x6c706(%rip), %rcx     # 0x129c08
jmp 0xbcaa1
leaq 0x6c6ca(%rip), %rcx     # 0x129bd8
jmp 0xbcaa1
leaq 0x6c706(%rip), %rcx     # 0x129c20
jmp 0xbcaa1
leaq 0x6c712(%rip), %rcx     # 0x129c38
jmp 0xbcaa1
leaq 0x6c4e7(%rip), %rbx     # 0x129a19
leaq 0x15b25b(%rip), %r14    # 0x218794
movl (%r14), %edi
incl %edi
leaq 0x15b253(%rip), %r15    # 0x218798
movl (%r15), %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe7d0
callq 0xbc7ba
leaq 0x15daef(%rip), %rax    # 0x21b050
cmpb $0x0, (%rax)
je 0xbd6cc
movl (%r14), %edi
addl $0x2, %edi
movl (%r15), %esi
leaq 0x15dad6(%rip), %rcx    # 0x21b050
jmp 0xbcaa1
leaq 0x24fea2(%rip), %rax    # 0x30d428
cmpl $0x0, (%rax)
leaq 0x280800(%rip), %rax    # 0x33dd90
movb (%rax), %al
je 0xbd5c8
testb %al, %al
je 0xbd608
leaq 0x27ec81(%rip), %rdi    # 0x33c220
leaq 0x6c78f(%rip), %rsi     # 0x129d35
jmp 0xbd5da
movups 0x6c76e(%rip), %xmm0    # 0x129d1d
leaq 0x27ec6a(%rip), %rax    # 0x33c220
movaps %xmm0, (%rax)
movabsq $0x20202072766372, %rcx # imm = 0x20202072766372
jmp 0xbcf5d
testb %al, %al
je 0xbd628
leaq 0x27ec4d(%rip), %rdi    # 0x33c220
leaq 0x6c784(%rip), %rsi     # 0x129d5e
leaq 0x2807af(%rip), %rdx    # 0x33dd90
xorl %eax, %eax
callq 0x9060
leaq 0x15b1a5(%rip), %rax    # 0x218794
movl (%rax), %edi
incl %edi
leaq 0x15b19e(%rip), %rax    # 0x218798
movl (%rax), %esi
leaq 0x27ec1d(%rip), %rcx    # 0x33c220
jmp 0xbcb77
movups 0x6c737(%rip), %xmm0    # 0x129d46
leaq 0x27ec0a(%rip), %rax    # 0x33c220
movaps %xmm0, (%rax)
movabsq $0x7276637220676e, %rcx # imm = 0x7276637220676E
jmp 0xbcf5d
movups 0x6c73f(%rip), %xmm0    # 0x129d6e
leaq 0x27ebea(%rip), %rax    # 0x33c220
movaps %xmm0, (%rax)
movabsq $0x20202072657669, %rcx # imm = 0x20202072657669
jmp 0xbcf5d
leaq 0x27ebd1(%rip), %rbx    # 0x33c220
leaq 0x6c86c(%rip), %rsi     # 0x129ec2
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
xorl %edi, %edi
movl $0xf, %esi
movl $0xc, %edx
movq %rbx, %rcx
jmp 0xbcaa6
leaq 0x6bb57(%rip), %rcx     # 0x1291d2
jmp 0xbd6f0
leaq 0x6c7f0(%rip), %rcx     # 0x129e74
jmp 0xbd6f0
leaq 0x28204b(%rip), %rax    # 0x33f6d8
cmpb $0x0, (%rax)
je 0xbd701
leaq 0x6c7ec(%rip), %rcx     # 0x129e85
xorl %edi, %edi
movl $0xf, %esi
movl $0xb, %edx
jmp 0xbcaa6
leaq 0x6c800(%rip), %rcx     # 0x129eb1
xorl %edi, %edi
movl $0xf, %esi
movl $0xe, %edx
callq 0xe7d0
leaq 0x24fd8a(%rip), %rax    # 0x30d453
orb $0x2, (%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0x6c763(%rip), %rcx     # 0x129e41
jmp 0xbd6f0
leaq 0x6c76b(%rip), %rcx     # 0x129e52
jmp 0xbd6f0
leaq 0x6c773(%rip), %rcx     # 0x129e63
xorl %edi, %edi
movl $0xf, %esi
movl $0xe, %edx
jmp 0xbcaa6
leaq 0x6c793(%rip), %rcx     # 0x129e9b
xorl %edi, %edi
movl $0xf, %esi
movl $0xc, %edx
jmp 0xbcaa6