// File: jkingan[P]ladyheather/heathmsc.cpp
// Function: write_log_changes()
void write_log_changes()
{
int change;

   // write receiver state changes to the log file

   if(log_file == 0) return;
   if(log_errors == 0) return;

   if(rcvr_type == CS_RCVR) ;
   else if(NO_SATS) ;
   else if(log_comments && (rcvr_mode != last_rmode) && (check_precise_posn == 0)) {
      sprintf(log_text, "#! new reciever mode: ");

      if(rcvr_type == ZODIAC_RCVR) {
         if(single_sat_prn)                     strcat(log_text, "Single sat mode");
         else if(rcvr_mode == RCVR_MODE_3D)     strcat(log_text, "Navigation mode");
         else if(rcvr_mode == RCVR_MODE_HOLD)   strcat(log_text, "Position hold mode");
         else if(rcvr_mode == RCVR_MODE_SURVEY) strcat(log_text, "Survey mode");
         else {
            sprintf(out, "Receiver mode ?%02X?", rcvr_mode);
            strcat(log_text, out);
         }
      }
      else if(single_sat_prn)                 strcat(log_text, "Single sat mode");
      else if(rcvr_mode == RCVR_MODE_2D_3D)   strcat(log_text, "2D/3D positioning");
      else if(rcvr_mode == RCVR_MODE_SINGLE)  strcat(log_text, "Single satellite");
      else if(rcvr_mode == RCVR_MODE_NO_SATS) strcat(log_text, "No sats");
      else if(rcvr_mode == RCVR_MODE_2D)      strcat(log_text, "2D positioning");
      else if(rcvr_mode == RCVR_MODE_3D)      strcat(log_text, "3D positioning");
      else if(rcvr_mode == RCVR_MODE_DGPS)    strcat(log_text, "DGPS reference");
      else if(rcvr_mode == RCVR_MODE_2DCLK)   strcat(log_text, "2D clock hold");
      else if(rcvr_mode == RCVR_MODE_HOLD)  {
         if(rcvr_type == TSIP_RCVR) strcat(log_text, "Overdetermined clock"); 
         else                       strcat(log_text, "Position hold mode");
      }
      else if(rcvr_mode == RCVR_MODE_PROP)  {
         if((rcvr_type == SCPI_RCVR) || (rcvr_type == UCCM_RCVR)) {
            strcat(log_text, "Holdover mode");
         }
         else {
            strcat(log_text, "Propogate mode");
         }
      }
      else if(rcvr_mode == RCVR_MODE_ACQUIRE)  strcat(log_text, "Acquiring sats");
      else if(rcvr_mode == RCVR_MODE_BAD_GEOM) strcat(log_text, "Bad sat geometry");
      else if(rcvr_mode == RCVR_MODE_SURVEY)   strcat(log_text, "Survey mode");
      else {
         sprintf(out, "Receiver mode ?%02X?", rcvr_mode);
         strcat(log_text, out);
      }

      write_log_tow(1);
   }

   last_rmode = rcvr_mode;


   if(log_comments && (gps_status != last_status) && (check_precise_posn == 0)) {
      sprintf(log_text,"#! new gps status: ");
      if     (gps_status == GPS_FIXES)       strcat(log_text, "Doing fixes");
      else if(gps_status == GPS_NO_TIME)     strcat(log_text, "No GPS time");
      else if(gps_status == GPS_PDOP_HIGH)   strcat(log_text, "PDOP too high");
      else if(gps_status == GPS_NO_SATS)     strcat(log_text, "No usable sats");
      else if(gps_status == GPS_ONE_SAT)     strcat(log_text, "1 usable sat");
      else if(gps_status == GPS_TWO_SATS)    strcat(log_text, "2 usable sats");
      else if(gps_status == GPS_THREE_SATS)  strcat(log_text, "3 usable sats");
      else if(gps_status == GPS_SAT_UNAVAIL) strcat(log_text, "chosen sat unusable");
      else if(gps_status == GPS_TRAIM_ERR)   strcat(log_text, "TRAIM rejected fix");
      else {
         sprintf(out, "?%02X?", gps_status);
         strcat(log_text, out);                  
      }
      write_log_tow(1);
   }
   last_status = gps_status;


   if(log_comments && (discipline_mode != last_dmode) && (check_precise_posn == 0)) { 
      // !!!!!!!! if you change any of this text,  you must also change reload_log();
      sprintf(log_text,"#! new discipline mode: ");
      if     (discipline_mode == DIS_MODE_NORMAL)        strcat(log_text, "Normal");
      else if(discipline_mode == DIS_MODE_POWERUP)       strcat(log_text, "Power-up");
      else if(discipline_mode == DIS_MODE_AUTO_HOLD)     strcat(log_text, "Auto holdover");
      else if(discipline_mode == DIS_MODE_MANUAL_HOLD)   strcat(log_text, "Manual holdover");
      else if(discipline_mode == DIS_MODE_RECOVERY)      strcat(log_text, "Recovery mode");
      else if(discipline_mode == DIS_MODE_FAST_RECOVERY) strcat(log_text, "Fast recovery");
      else if(discipline_mode == DIS_MODE_DISABLED)      strcat(log_text, "Disabled");
      else if(discipline_mode == DIS_MODE_LEARNING)      strcat(log_text, "Learning");
      else if(discipline_mode == DIS_MODE_NO_GPS)        strcat(log_text, "No GPS");
      else if(discipline_mode == DIS_MODE_SOFT_HOLD)     strcat(log_text, "Soft holdover");
      else if(discipline_mode == DIS_MODE_ACQUIRE)       strcat(log_text, "Acquire");
      else if(discipline_mode == DIS_MODE_WAIT)          strcat(log_text, "Wait");
      else if(discipline_mode == DIS_MODE_UNLOCK)        strcat(log_text, "Unlocked");
      else if(discipline_mode == DIS_MODE_UNKNOWN)       strcat(log_text, "Unknown");
      else if(discipline_mode == DIS_MODE_WARMUP) {
         if (saw_uccm_dmode == 1) strcat(log_text, "Settling  ");
         else                     strcat(log_text, "Warming up");
      }
      else if(discipline_mode == DIS_MODE_FAILED) {
         if     (rcvr_type == LPFRS_RCVR) strcat(log_text, "RB unlocked");
         else if(rcvr_type == RFTG_RCVR)  strcat(log_text, "Module failed");
         else if(rcvr_type == SA35_RCVR)  strcat(log_text, "RB unlocked");
         else if(rcvr_type == SRO_RCVR)   strcat(log_text, "RB unlocked");
         else                             strcat(log_text, "Module failed");
      }
      else {
         sprintf(out, "?%u?", discipline_mode);
         strcat(log_text, out);
      }
      write_log_tow(1);
   }
   last_dmode = discipline_mode;


   if(log_comments && (discipline != last_discipline) && (check_precise_posn == 0)) { 
      sprintf(log_text,"#! new discipline state: ");
      if     (discipline == DIS_LOCKED)   strcat(log_text, "Phase locking");
      else if(discipline == DIS_WARMING)  strcat(log_text, "Warming up");
      else if(discipline == DIS_FLOCK)    strcat(log_text, "Frequency locking");
      else if(discipline == DIS_PLACING)  strcat(log_text, "Placing PPS");
      else if(discipline == DIS_FINIT)    strcat(log_text, "Initializing loop filter");
      else if(discipline == DIS_COMP)     strcat(log_text, "Compensating OCXO");
      else if(discipline == DIS_OFF)      strcat(log_text, "Inactive");
      else if(discipline == DIS_RECOVERY) strcat(log_text, "Recovery");
      else {
         sprintf(out, "?%02X?", discipline);
         strcat(log_text, out);
      }
      write_log_tow(1);
   }
   last_discipline = discipline;


   if(log_comments && (timing_mode != last_tmode)) { 
      sprintf(log_text,"#! new timing mode: %04X", timing_mode);
      write_log_tow(1);
   }
   last_tmode = timing_mode;

   if(log_comments && (time_flags != last_tflags)) { 
      sprintf(log_text,"#! new time flags: %04X", time_flags);
      write_log_tow(1);
   }
   last_tflags = time_flags;


   if(log_comments && (last_critical != critical_alarms)) {
      sprintf(log_text, "#! new critical alarm state %04X:  ", critical_alarms);

      change = last_critical ^ critical_alarms;
      if(change & CRIT_ROM) {
         if(critical_alarms & CRIT_ROM)   strcat(log_text, "  ROM:BAD");
         else                             strcat(log_text, "  ROM:OK");
      }
      if(change & CRIT_RAM) {
         if(critical_alarms & CRIT_RAM)   strcat(log_text, "  RAM:BAD");
         else                             strcat(log_text, "  RAM:OK");
      }
      if(change & CRIT_PWR) {
         if(critical_alarms & CRIT_PWR)   strcat(log_text, "  Power:BAD");
         else                             strcat(log_text, "  Power:OK ");
      }
      if(change & CRIT_FPGA) {
         if(critical_alarms & CRIT_FPGA)  strcat(log_text, "  FPGA:BAD");
         else                             strcat(log_text, "  FPGA:OK ");
      }
      if(change & CRIT_OCXO) {
         if(critical_alarms & CRIT_OCXO)  strcat(log_text, "  OSC: BAD");
         else                             strcat(log_text, "  OSC: OK ");
      }
      write_log_tow(1);
   }
   last_critical = critical_alarms;


   change = last_minor ^ minor_alarms;
   change &= (~MINOR_PPS_SKIPPED);  // PP2S pulse skip is probably not an error
   if(log_comments && change && (check_precise_posn == 0)) {
      sprintf(log_text, "#! new minor alarm state %04X:  ", minor_alarms);
      if(change & MINOR_OSC_AGE) {
         if(minor_alarms & MINOR_OSC_AGE) strcat(log_text, "OSC age alarm   ");
         else                              strcat(log_text, "OSC age normal   ");
      }
      if(change & (MINOR_ANT_OPEN | MINOR_ANT_SHORT)) {
         if((minor_alarms & MINOR_ANT_OPEN) && (minor_alarms & MINOR_ANT_SHORT)) {
            strcat(log_text, "Antenna power  ");
         }
         else if(minor_alarms & MINOR_ANT_OPEN)  strcat(log_text, "Antenna open   ");
         else if(minor_alarms & MINOR_ANT_SHORT) strcat(log_text, "Antenna short   ");
         else                                    strcat(log_text, "Antenna OK   ");
      }
      if(change & MINOR_NO_TRACK) {
         if(minor_alarms & MINOR_NO_TRACK)  {
            if(rcvr_type == BRANDY_RCVR) strcat(log_text, "Positioning interrupted   ");
            else                         strcat(log_text, "No sats usable   ");
         }
         else strcat(log_text, "Tracking sats   ");
      }
      if(change & MINOR_OSC_CTRL) {
         if(minor_alarms & MINOR_OSC_CTRL)  strcat(log_text, "Undisciplined   ");
         else                               strcat(log_text, "Discipline OK   ");
      }
      if(change & MINOR_SURVEY) {
         if(minor_alarms & MINOR_SURVEY)    strcat(log_text, "Survey started  ");
         else                               strcat(log_text, "Survey stopped  ");
      }
      if(change & MINOR_NO_POSN) {
         if(minor_alarms & MINOR_NO_POSN)   strcat(log_text, "No saved posn   ");
         else                               strcat(log_text, "Position saved   ");
      }
      if(change & MINOR_LEAP_PEND) {
         if(minor_alarms & MINOR_LEAP_PEND) strcat(log_text, "LEAP PENDING!    ");
         else                               strcat(log_text, "No leap second   ");
      }
      if(change & MINOR_TEST_MODE) {
         if(minor_alarms & MINOR_TEST_MODE) strcat(log_text, "Test mode set    ");
         else                               strcat(log_text, "Normal op mode   ");
      }
      if(change & MINOR_BAD_POSN) {
         if(minor_alarms & MINOR_BAD_POSN)  strcat(log_text, "Saved posn BAD   ");
         else                               strcat(log_text, "Saved posn OK    ");
      }
      if(change & MINOR_EEPROM) {
         if(minor_alarms & MINOR_EEPROM)    strcat(log_text, "EEPROM corrupt   ");
         else                               strcat(log_text, "EEPROM data OK   ");
      }
      if(change & MINOR_ALMANAC) {
         if(minor_alarms & MINOR_ALMANAC)   strcat(log_text, "No almanac    ");
         else                               strcat(log_text, "Almanac OK    ");
      }
      if((change & MINOR_PPS_SKIPPED) && (res_t == 0)) {
         if(minor_alarms & MINOR_PPS_SKIPPED)  strcat(log_text, "PPS error     ");
         else                                  strcat(log_text, "PPS OK        ");
      }

      if(change & MINOR_JL_PHASE) {
         if(minor_alarms & MINOR_JL_PHASE)   strcat(log_text, "Phase >250 ns ");
         else                                strcat(log_text, "Phase OK      ");
      }
      if(change & MINOR_JL_RUNTIME) {
         if(minor_alarms & MINOR_JL_RUNTIME) strcat(log_text, "Runtime <300s ");
         else                                strcat(log_text, "Runtime OK    ");
      }
      if(change & MINOR_JL_HOLD) {
         if(minor_alarms & MINOR_JL_HOLD)    strcat(log_text, "Holdover >60s ");
         else                                strcat(log_text, "Holdover OK   ");
      }
      if(change & MINOR_JL_FREQ) {
         if(minor_alarms & MINOR_JL_FREQ)    strcat(log_text, "Freq error    ");
         else                                strcat(log_text, "Freq OK       ");
      }
      if(change & MINOR_JL_CHANGE) {
         if(minor_alarms & MINOR_JL_CHANGE)  strcat(log_text, "Phase reset   ");
         else                                strcat(log_text, "Phase set     ");
      }

      if(change & MINOR_DISCIPLINE) {
         if(minor_alarms & MINOR_DISCIPLINE) strcat(log_text, "Large PPS error");
         else                                strcat(log_text, "PPS error OK   ");
      }
      if(change & MINOR_WARMUP) {
         if(minor_alarms & MINOR_WARMUP)     strcat(log_text, "Warmup error  ");
         else                                strcat(log_text, "Warmup OK     ");
      }
      if(change & MINOR_INACTIVE)  {
         if(minor_alarms & MINOR_INACTIVE)   strcat(log_text, "Inactive      ");
         else                                strcat(log_text, "Active        ");
      }
      if(change & MINOR_HOLDOVER)  {
         if(minor_alarms & MINOR_HOLDOVER)   strcat(log_text, "Holdover>8hrs ");
         else                                strcat(log_text, "Holdover OK   ");
      }
      if(change & MINOR_PLL)  {
         if(minor_alarms & MINOR_PLL)        strcat(log_text, "PLL error     ");
         else                                strcat(log_text, "PLL OK        ");
      }
      if(change & MINOR_JAMMING)  {
         if(minor_alarms & MINOR_JAMMING)    strcat(log_text, "Jamming seen  ");
         else                                strcat(log_text, "Jamming OK    ");
      }
      write_log_tow(1);
   }
   last_minor = minor_alarms;

   if(eclipse_flag != last_eclipse) {
      if(eclipse_flag) {
         if(eclipse_flag == 1) {
            sprintf(log_text, "#! solar eclipse started");
            write_log_tow(1);
         }
         else if(0) {
            sprintf(log_text, "#! lunar eclipse started");
            write_log_tow(1);
         }
      }
      else {
         if(last_eclipse == 1) {
            sprintf(log_text, "#! solar eclipse ended");
            write_log_tow(1);
         }
         else if(0) {
            sprintf(log_text, "#! lunar eclipse ended");
            write_log_tow(1);
         }
      }

      last_eclipse = eclipse_flag;
   }

   if(eclipse_flag != 1) {
      eclipse_d1 = BIG_NUM;
      eclipse_d2 = BIG_NUM;
      eclipse_d3 = BIG_NUM;
   }
   else if(eclipse_d1 == BIG_NUM) ;
   else if(eclipse_d2 == BIG_NUM) ;
   else if(eclipse_d3 == BIG_NUM) ;
   else if((eclipse_d1 > eclipse_d2) && (eclipse_d2 < eclipse_d3)) {
      sprintf(log_text, "#! solar eclipse closest sun-moon distance");
      write_log_tow(1);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x17dfe1(%rip), %rax    # 0x29d540
cmpq $0x0, (%rax)
jne 0x11f56a
jmp 0x120d56
leaq 0x17e06a(%rip), %rax    # 0x29d5db
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x11f57e
jmp 0x120d56
leaq 0x15852b(%rip), %rax    # 0x277ab0
cmpq $0x20000, (%rax)        # imm = 0x20000
jne 0x11f593
jmp 0x11f9b5
leaq 0x158516(%rip), %rcx    # 0x277ab0
movabsq $0x105b8b0400, %rax     # imm = 0x105B8B0400
andq (%rcx), %rax
cmpq $0x0, %rax
jne 0x11f5e1
leaq 0x15abfc(%rip), %rax    # 0x27a1b0
cmpl $0x0, (%rax)
je 0x11f5c5
leaq 0x24cfe4(%rip), %rax    # 0x36c5a4
cmpl $0x0, (%rax)
je 0x11f5e1
leaq 0x1584e4(%rip), %rax    # 0x277ab0
cmpq $0x400000, (%rax)       # imm = 0x400000
jne 0x11f5e6
leaq 0x24d5b8(%rip), %rax    # 0x36cb94
cmpl $0x0, (%rax)
jne 0x11f5e6
jmp 0x11f9b3
leaq 0x17e007(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x11f9b1
leaq 0x24ccb3(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
leaq 0x24ccaa(%rip), %rcx    # 0x36c2b1
movzbl (%rcx), %ecx
cmpl %ecx, %eax
je 0x11f9b1
leaq 0x27aea7(%rip), %rax    # 0x39a4c0
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x11f9b1
leaq 0x17d514(%rip), %rdi    # 0x29cb40
leaq 0x75524(%rip), %rsi     # 0x194b57
movb $0x0, %al
callq 0x9060
leaq 0x15846f(%rip), %rax    # 0x277ab0
cmpq $0x100, (%rax)          # imm = 0x100
jne 0x11f71b
leaq 0x24cc67(%rip), %rax    # 0x36c2bc
cmpl $0x0, (%rax)
je 0x11f672
leaq 0x17d4df(%rip), %rdi    # 0x29cb40
leaq 0x75506(%rip), %rsi     # 0x194b6e
callq 0x96a0
jmp 0x11f716
leaq 0x24cc37(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x4, %eax
jne 0x11f696
leaq 0x17d4b8(%rip), %rdi    # 0x29cb40
leaq 0x754ef(%rip), %rsi     # 0x194b7e
callq 0x96a0
jmp 0x11f714
leaq 0x24cc13(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x7, %eax
jne 0x11f6ba
leaq 0x17d494(%rip), %rdi    # 0x29cb40
leaq 0x754db(%rip), %rsi     # 0x194b8e
callq 0x96a0
jmp 0x11f712
leaq 0x24cbef(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0x11f6de
leaq 0x17d470(%rip), %rdi    # 0x29cb40
leaq 0x754ca(%rip), %rsi     # 0x194ba1
callq 0x96a0
jmp 0x11f710
leaq 0x24cbcb(%rip), %rax    # 0x36c2b0
movzbl (%rax), %edx
leaq 0x27bd11(%rip), %rdi    # 0x39b400
leaq 0x754b7(%rip), %rsi     # 0x194bad
movb $0x0, %al
callq 0x9060
leaq 0x17d43c(%rip), %rdi    # 0x29cb40
leaq 0x27bcf5(%rip), %rsi    # 0x39b400
callq 0x96a0
jmp 0x11f712
jmp 0x11f714
jmp 0x11f716
jmp 0x11f9a7
leaq 0x24cb9a(%rip), %rax    # 0x36c2bc
cmpl $0x0, (%rax)
je 0x11f73f
leaq 0x17d412(%rip), %rdi    # 0x29cb40
leaq 0x75439(%rip), %rsi     # 0x194b6e
callq 0x96a0
jmp 0x11f9a5
leaq 0x24cb6a(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x11f766
leaq 0x17d3eb(%rip), %rdi    # 0x29cb40
leaq 0x75466(%rip), %rsi     # 0x194bc2
callq 0x96a0
jmp 0x11f9a3
leaq 0x24cb43(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x11f78d
leaq 0x17d3c4(%rip), %rdi    # 0x29cb40
leaq 0x75451(%rip), %rsi     # 0x194bd4
callq 0x96a0
jmp 0x11f9a1
leaq 0x24cb1c(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x2, %eax
jne 0x11f7b4
leaq 0x17d39d(%rip), %rdi    # 0x29cb40
leaq 0x7543b(%rip), %rsi     # 0x194be5
callq 0x96a0
jmp 0x11f99f
leaq 0x24caf5(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x3, %eax
jne 0x11f7db
leaq 0x17d376(%rip), %rdi    # 0x29cb40
leaq 0x7541c(%rip), %rsi     # 0x194bed
callq 0x96a0
jmp 0x11f99d
leaq 0x24cace(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x4, %eax
jne 0x11f802
leaq 0x17d34f(%rip), %rdi    # 0x29cb40
leaq 0x753cd(%rip), %rsi     # 0x194bc5
callq 0x96a0
jmp 0x11f99b
leaq 0x24caa7(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x5, %eax
jne 0x11f829
leaq 0x17d328(%rip), %rdi    # 0x29cb40
leaq 0x753dd(%rip), %rsi     # 0x194bfc
callq 0x96a0
jmp 0x11f999
leaq 0x24ca80(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x6, %eax
jne 0x11f850
leaq 0x17d301(%rip), %rdi    # 0x29cb40
leaq 0x753c5(%rip), %rsi     # 0x194c0b
callq 0x96a0
jmp 0x11f997
leaq 0x24ca59(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x7, %eax
jne 0x11f899
leaq 0x15824a(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0x11f881
leaq 0x17d2cd(%rip), %rdi    # 0x29cb40
leaq 0x7539f(%rip), %rsi     # 0x194c19
callq 0x96a0
jmp 0x11f894
leaq 0x17d2b8(%rip), %rdi    # 0x29cb40
leaq 0x752ff(%rip), %rsi     # 0x194b8e
callq 0x96a0
jmp 0x11f995
leaq 0x24ca10(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x8, %eax
jne 0x11f8ef
leaq 0x158201(%rip), %rax    # 0x277ab0
cmpq $0x10, (%rax)
je 0x11f8c2
leaq 0x1581f4(%rip), %rax    # 0x277ab0
cmpq $0x8, (%rax)
jne 0x11f8d7
leaq 0x17d277(%rip), %rdi    # 0x29cb40
leaq 0x52e58(%rip), %rsi     # 0x172728
callq 0x96a0
jmp 0x11f8ea
leaq 0x17d262(%rip), %rdi    # 0x29cb40
leaq 0x75349(%rip), %rsi     # 0x194c2e
callq 0x96a0
jmp 0x11f993
leaq 0x24c9ba(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0x9, %eax
jne 0x11f913
leaq 0x17d23b(%rip), %rdi    # 0x29cb40
leaq 0x75331(%rip), %rsi     # 0x194c3d
callq 0x96a0
jmp 0x11f991
leaq 0x24c996(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x11f937
leaq 0x17d217(%rip), %rdi    # 0x29cb40
leaq 0x7531c(%rip), %rsi     # 0x194c4c
callq 0x96a0
jmp 0x11f98f
leaq 0x24c972(%rip), %rax    # 0x36c2b0
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0x11f95b
leaq 0x17d1f3(%rip), %rdi    # 0x29cb40
leaq 0x7524d(%rip), %rsi     # 0x194ba1
callq 0x96a0
jmp 0x11f98d
leaq 0x24c94e(%rip), %rax    # 0x36c2b0
movzbl (%rax), %edx
leaq 0x27ba94(%rip), %rdi    # 0x39b400
leaq 0x7523a(%rip), %rsi     # 0x194bad
movb $0x0, %al
callq 0x9060
leaq 0x17d1bf(%rip), %rdi    # 0x29cb40
leaq 0x27ba78(%rip), %rsi    # 0x39b400
callq 0x96a0
jmp 0x11f98f
jmp 0x11f991
jmp 0x11f993
jmp 0x11f995
jmp 0x11f997
jmp 0x11f999
jmp 0x11f99b
jmp 0x11f99d
jmp 0x11f99f
jmp 0x11f9a1
jmp 0x11f9a3
jmp 0x11f9a5
jmp 0x11f9a7
movl $0x1, %edi
callq 0x11f500
jmp 0x11f9b3
jmp 0x11f9b5
leaq 0x24c8f4(%rip), %rax    # 0x36c2b0
movb (%rax), %cl
leaq 0x24c8ec(%rip), %rax    # 0x36c2b1
movb %cl, (%rax)
leaq 0x17dc26(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x11fb9d
leaq 0x24cc9e(%rip), %rax    # 0x36c67c
movl (%rax), %eax
leaq 0x24cc99(%rip), %rcx    # 0x36c680
cmpl (%rcx), %eax
je 0x11fb9d
leaq 0x27aaca(%rip), %rax    # 0x39a4c0
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x11fb9d
leaq 0x17d137(%rip), %rdi    # 0x29cb40
leaq 0x7524d(%rip), %rsi     # 0x194c5d
movb $0x0, %al
callq 0x9060
leaq 0x24cc5e(%rip), %rax    # 0x36c67c
cmpl $0x0, (%rax)
jne 0x11fa3b
leaq 0x17d116(%rip), %rdi    # 0x29cb40
leaq 0x75240(%rip), %rsi     # 0x194c71
callq 0x96a0
jmp 0x11fb93
leaq 0x24cc3a(%rip), %rax    # 0x36c67c
cmpl $0x1, (%rax)
jne 0x11fa5f
leaq 0x17d0f2(%rip), %rdi    # 0x29cb40
leaq 0x75228(%rip), %rsi     # 0x194c7d
callq 0x96a0
jmp 0x11fb91
leaq 0x24cc16(%rip), %rax    # 0x36c67c
cmpl $0x3, (%rax)
jne 0x11fa83
leaq 0x17d0ce(%rip), %rdi    # 0x29cb40
leaq 0x75210(%rip), %rsi     # 0x194c89
callq 0x96a0
jmp 0x11fb8f
leaq 0x24cbf2(%rip), %rax    # 0x36c67c
cmpl $0x8, (%rax)
jne 0x11faa7
leaq 0x17d0aa(%rip), %rdi    # 0x29cb40
leaq 0x751fa(%rip), %rsi     # 0x194c97
callq 0x96a0
jmp 0x11fb8d
leaq 0x24cbce(%rip), %rax    # 0x36c67c
cmpl $0x9, (%rax)
jne 0x11facb
leaq 0x17d086(%rip), %rdi    # 0x29cb40
leaq 0x751e5(%rip), %rsi     # 0x194ca6
callq 0x96a0
jmp 0x11fb8b
leaq 0x24cbaa(%rip), %rax    # 0x36c67c
cmpl $0xa, (%rax)
jne 0x11faef
leaq 0x17d062(%rip), %rdi    # 0x29cb40
leaq 0x751ce(%rip), %rsi     # 0x194cb3
callq 0x96a0
jmp 0x11fb89
leaq 0x24cb86(%rip), %rax    # 0x36c67c
cmpl $0xb, (%rax)
jne 0x11fb10
leaq 0x17d03e(%rip), %rdi    # 0x29cb40
leaq 0x751b8(%rip), %rsi     # 0x194cc1
callq 0x96a0
jmp 0x11fb87
leaq 0x24cb65(%rip), %rax    # 0x36c67c
cmpl $0xc, (%rax)
jne 0x11fb31
leaq 0x17d01d(%rip), %rdi    # 0x29cb40
leaq 0x751a5(%rip), %rsi     # 0x194ccf
callq 0x96a0
jmp 0x11fb85
leaq 0x24cb44(%rip), %rax    # 0x36c67c
cmpl $0x10, (%rax)
jne 0x11fb52
leaq 0x17cffc(%rip), %rdi    # 0x29cb40
leaq 0x75198(%rip), %rsi     # 0x194ce3
callq 0x96a0
jmp 0x11fb83
leaq 0x24cb23(%rip), %rax    # 0x36c67c
movl (%rax), %edx
leaq 0x27b89e(%rip), %rdi    # 0x39b400
leaq 0x75052(%rip), %rsi     # 0x194bbb
movb $0x0, %al
callq 0x9060
leaq 0x17cfc9(%rip), %rdi    # 0x29cb40
leaq 0x27b882(%rip), %rsi    # 0x39b400
callq 0x96a0
jmp 0x11fb85
jmp 0x11fb87
jmp 0x11fb89
jmp 0x11fb8b
jmp 0x11fb8d
jmp 0x11fb8f
jmp 0x11fb91
jmp 0x11fb93
movl $0x1, %edi
callq 0x11f500
leaq 0x24cad8(%rip), %rax    # 0x36c67c
movl (%rax), %ecx
leaq 0x24cad3(%rip), %rax    # 0x36c680
movl %ecx, (%rax)
leaq 0x17da3e(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x11ff94
leaq 0x24cab1(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
leaq 0x24caa8(%rip), %rcx    # 0x36c678
movzbl (%rcx), %ecx
cmpl %ecx, %eax
je 0x11ff94
leaq 0x27a8de(%rip), %rax    # 0x39a4c0
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x11ff94
leaq 0x17cf4b(%rip), %rdi    # 0x29cb40
leaq 0x750fa(%rip), %rsi     # 0x194cf6
movb $0x0, %al
callq 0x9060
leaq 0x24ca6d(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x11fc2a
leaq 0x17cf27(%rip), %rdi    # 0x29cb40
leaq 0x750ef(%rip), %rsi     # 0x194d0f
callq 0x96a0
jmp 0x11ff8a
leaq 0x24ca46(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x11fc51
leaq 0x17cf00(%rip), %rdi    # 0x29cb40
leaq 0x750cf(%rip), %rsi     # 0x194d16
callq 0x96a0
jmp 0x11ff88
leaq 0x24ca1f(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x2, %eax
jne 0x11fc78
leaq 0x17ced9(%rip), %rdi    # 0x29cb40
leaq 0x750b1(%rip), %rsi     # 0x194d1f
callq 0x96a0
jmp 0x11ff86
leaq 0x24c9f8(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x3, %eax
jne 0x11fc9f
leaq 0x17ceb2(%rip), %rdi    # 0x29cb40
leaq 0x75098(%rip), %rsi     # 0x194d2d
callq 0x96a0
jmp 0x11ff84
leaq 0x24c9d1(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x4, %eax
jne 0x11fcc6
leaq 0x17ce8b(%rip), %rdi    # 0x29cb40
leaq 0x75081(%rip), %rsi     # 0x194d3d
callq 0x96a0
jmp 0x11ff82
leaq 0x24c9aa(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x5, %eax
jne 0x11fced
leaq 0x17ce64(%rip), %rdi    # 0x29cb40
leaq 0x75068(%rip), %rsi     # 0x194d4b
callq 0x96a0
jmp 0x11ff80
leaq 0x24c983(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x6, %eax
jne 0x11fd14
leaq 0x17ce3d(%rip), %rdi    # 0x29cb40
leaq 0x72d5b(%rip), %rsi     # 0x192a65
callq 0x96a0
jmp 0x11ff7e
leaq 0x24c95c(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x14, %eax
jne 0x11fd3b
leaq 0x17ce16(%rip), %rdi    # 0x29cb40
leaq 0x6cf51(%rip), %rsi     # 0x18cc82
callq 0x96a0
jmp 0x11ff7c
leaq 0x24c935(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x11fd62
leaq 0x17cdef(%rip), %rdi    # 0x29cb40
leaq 0x75001(%rip), %rsi     # 0x194d59
callq 0x96a0
jmp 0x11ff7a
leaq 0x24c90e(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x16, %eax
jne 0x11fd89
leaq 0x17cdc8(%rip), %rdi    # 0x29cb40
leaq 0x74fe1(%rip), %rsi     # 0x194d60
callq 0x96a0
jmp 0x11ff78
leaq 0x24c8e7(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x17, %eax
jne 0x11fdb0
leaq 0x17cda1(%rip), %rdi    # 0x29cb40
leaq 0x74fc8(%rip), %rsi     # 0x194d6e
callq 0x96a0
jmp 0x11ff76
leaq 0x24c8c0(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x18, %eax
jne 0x11fdd7
leaq 0x17cd7a(%rip), %rdi    # 0x29cb40
leaq 0x74fa9(%rip), %rsi     # 0x194d76
callq 0x96a0
jmp 0x11ff74
leaq 0x24c899(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x1a, %eax
jne 0x11fdfe
leaq 0x17cd53(%rip), %rdi    # 0x29cb40
leaq 0x74f87(%rip), %rsi     # 0x194d7b
callq 0x96a0
jmp 0x11ff72
leaq 0x24c872(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0xff, %eax
jne 0x11fe27
leaq 0x17cd2a(%rip), %rdi    # 0x29cb40
leaq 0x71b03(%rip), %rsi     # 0x191920
callq 0x96a0
jmp 0x11ff70
leaq 0x24c849(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x11fe6f
leaq 0x15a3bb(%rip), %rax    # 0x27a1f8
cmpl $0x1, (%rax)
jne 0x11fe57
leaq 0x17ccf7(%rip), %rdi    # 0x29cb40
leaq 0x74f34(%rip), %rsi     # 0x194d84
callq 0x96a0
jmp 0x11fe6a
leaq 0x17cce2(%rip), %rdi    # 0x29cb40
leaq 0x74f2a(%rip), %rsi     # 0x194d8f
callq 0x96a0
jmp 0x11ff6e
leaq 0x24c801(%rip), %rax    # 0x36c677
movzbl (%rax), %eax
cmpl $0x19, %eax
jne 0x11ff3a
leaq 0x157c27(%rip), %rax    # 0x277ab0
cmpq $0x10000000, (%rax)     # imm = 0x10000000
jne 0x11feaa
leaq 0x17cca7(%rip), %rdi    # 0x29cb40
leaq 0x74efa(%rip), %rsi     # 0x194d9a
callq 0x96a0
jmp 0x11ff38
leaq 0x157bff(%rip), %rax    # 0x277ab0
cmpq $0x400000, (%rax)       # imm = 0x400000
jne 0x11fecf
leaq 0x17cc7f(%rip), %rdi    # 0x29cb40
leaq 0x74ede(%rip), %rsi     # 0x194da6
callq 0x96a0
jmp 0x11ff36
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
leaq 0x157bd0(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0x11fefa
leaq 0x17cc54(%rip), %rdi    # 0x29cb40
leaq 0x74ea7(%rip), %rsi     # 0x194d9a
callq 0x96a0
jmp 0x11ff34
leaq 0x157baf(%rip), %rax    # 0x277ab0
cmpq $0x8000000, (%rax)      # imm = 0x8000000
jne 0x11ff1f
leaq 0x17cc2f(%rip), %rdi    # 0x29cb40
leaq 0x74e82(%rip), %rsi     # 0x194d9a
callq 0x96a0
jmp 0x11ff32
leaq 0x17cc1a(%rip), %rdi    # 0x29cb40
leaq 0x74e79(%rip), %rsi     # 0x194da6
callq 0x96a0
jmp 0x11ff34
jmp 0x11ff36
jmp 0x11ff38
jmp 0x11ff6c
leaq 0x24c736(%rip), %rax    # 0x36c677
movzbl (%rax), %edx
leaq 0x27b4b5(%rip), %rdi    # 0x39b400
leaq 0x74e62(%rip), %rsi     # 0x194db4
movb $0x0, %al
callq 0x9060
leaq 0x17cbe0(%rip), %rdi    # 0x29cb40
leaq 0x27b499(%rip), %rsi    # 0x39b400
callq 0x96a0
jmp 0x11ff6e
jmp 0x11ff70
jmp 0x11ff72
jmp 0x11ff74
jmp 0x11ff76
jmp 0x11ff78
jmp 0x11ff7a
jmp 0x11ff7c
jmp 0x11ff7e
jmp 0x11ff80
jmp 0x11ff82
jmp 0x11ff84
jmp 0x11ff86
jmp 0x11ff88
jmp 0x11ff8a
movl $0x1, %edi
callq 0x11f500
leaq 0x24c6dc(%rip), %rax    # 0x36c677
movb (%rax), %cl
leaq 0x24c6d4(%rip), %rax    # 0x36c678
movb %cl, (%rax)
leaq 0x17d647(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x120173
leaq 0x24c6b8(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
leaq 0x24c6af(%rip), %rcx    # 0x36c676
movzbl (%rcx), %ecx
cmpl %ecx, %eax
je 0x120173
leaq 0x27a4e7(%rip), %rax    # 0x39a4c0
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x120173
leaq 0x17cb54(%rip), %rdi    # 0x29cb40
leaq 0x74dc6(%rip), %rsi     # 0x194db9
movb $0x0, %al
callq 0x9060
leaq 0x24c674(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x120021
leaq 0x17cb30(%rip), %rdi    # 0x29cb40
leaq 0x74dbc(%rip), %rsi     # 0x194dd3
callq 0x96a0
jmp 0x120169
leaq 0x24c64d(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x120048
leaq 0x17cb09(%rip), %rdi    # 0x29cb40
leaq 0x74d51(%rip), %rsi     # 0x194d8f
callq 0x96a0
jmp 0x120167
leaq 0x24c626(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x2, %eax
jne 0x12006f
leaq 0x17cae2(%rip), %rdi    # 0x29cb40
leaq 0x74d7c(%rip), %rsi     # 0x194de1
callq 0x96a0
jmp 0x120165
leaq 0x24c5ff(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x3, %eax
jne 0x120096
leaq 0x17cabb(%rip), %rdi    # 0x29cb40
leaq 0x74d67(%rip), %rsi     # 0x194df3
callq 0x96a0
jmp 0x120163
leaq 0x24c5d8(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x4, %eax
jne 0x1200bd
leaq 0x17ca94(%rip), %rdi    # 0x29cb40
leaq 0x74d4c(%rip), %rsi     # 0x194dff
callq 0x96a0
jmp 0x120161
leaq 0x24c5b1(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x5, %eax
jne 0x1200e1
leaq 0x17ca6d(%rip), %rdi    # 0x29cb40
leaq 0x74d3e(%rip), %rsi     # 0x194e18
callq 0x96a0
jmp 0x12015f
leaq 0x24c58d(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x6, %eax
jne 0x120105
leaq 0x17ca49(%rip), %rdi    # 0x29cb40
leaq 0x74d2c(%rip), %rsi     # 0x194e2a
callq 0x96a0
jmp 0x12015d
leaq 0x24c569(%rip), %rax    # 0x36c675
movzbl (%rax), %eax
cmpl $0x8, %eax
jne 0x120129
leaq 0x17ca25(%rip), %rdi    # 0x29cb40
leaq 0x74d11(%rip), %rsi     # 0x194e33
callq 0x96a0
jmp 0x12015b
leaq 0x24c545(%rip), %rax    # 0x36c675
movzbl (%rax), %edx
leaq 0x27b2c6(%rip), %rdi    # 0x39b400
leaq 0x74a7a(%rip), %rsi     # 0x194bbb
movb $0x0, %al
callq 0x9060
leaq 0x17c9f1(%rip), %rdi    # 0x29cb40
leaq 0x27b2aa(%rip), %rsi    # 0x39b400
callq 0x96a0
jmp 0x12015d
jmp 0x12015f
jmp 0x120161
jmp 0x120163
jmp 0x120165
jmp 0x120167
jmp 0x120169
movl $0x1, %edi
callq 0x11f500
leaq 0x24c4fb(%rip), %rax    # 0x36c675
movb (%rax), %cl
leaq 0x24c4f3(%rip), %rax    # 0x36c676
movb %cl, (%rax)
leaq 0x17d468(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x1201cf
leaq 0x24c505(%rip), %rax    # 0x36c69d
movzbl (%rax), %eax
leaq 0x24c4fe(%rip), %rcx    # 0x36c6a0
cmpl (%rcx), %eax
je 0x1201cf
leaq 0x24c4f0(%rip), %rax    # 0x36c69d
movzbl (%rax), %edx
leaq 0x17c989(%rip), %rdi    # 0x29cb40
leaq 0x74c7e(%rip), %rsi     # 0x194e3c
movb $0x0, %al
callq 0x9060
movl $0x1, %edi
callq 0x11f500
leaq 0x24c4c7(%rip), %rax    # 0x36c69d
movzbl (%rax), %ecx
leaq 0x24c4c0(%rip), %rax    # 0x36c6a0
movl %ecx, (%rax)
leaq 0x17d40b(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x12022a
leaq 0x24c48f(%rip), %rax    # 0x36c684
movl (%rax), %eax
leaq 0x24c48e(%rip), %rcx    # 0x36c68c
cmpl (%rcx), %eax
je 0x12022a
leaq 0x24c47b(%rip), %rax    # 0x36c684
movl (%rax), %edx
leaq 0x17c92e(%rip), %rdi    # 0x29cb40
leaq 0x74c3c(%rip), %rsi     # 0x194e55
movb $0x0, %al
callq 0x9060
movl $0x1, %edi
callq 0x11f500
leaq 0x24c453(%rip), %rax    # 0x36c684
movl (%rax), %ecx
leaq 0x24c452(%rip), %rax    # 0x36c68c
movl %ecx, (%rax)
leaq 0x17d3b1(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x1203ff
leaq 0x24c161(%rip), %rax    # 0x36c3b4
movl (%rax), %eax
leaq 0x24c154(%rip), %rcx    # 0x36c3b0
cmpl (%rcx), %eax
je 0x1203ff
leaq 0x24c145(%rip), %rax    # 0x36c3b0
movl (%rax), %edx
leaq 0x17c8cc(%rip), %rdi    # 0x29cb40
leaq 0x74bf2(%rip), %rsi     # 0x194e6d
movb $0x0, %al
callq 0x9060
leaq 0x24c12b(%rip), %rax    # 0x36c3b4
movl (%rax), %eax
leaq 0x24c11e(%rip), %rcx    # 0x36c3b0
xorl (%rcx), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1202dd
leaq 0x24c107(%rip), %rax    # 0x36c3b0
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1202c8
leaq 0x17c886(%rip), %rdi    # 0x29cb40
leaq 0x74bd0(%rip), %rsi     # 0x194e91
callq 0x96a0
jmp 0x1202db
leaq 0x17c871(%rip), %rdi    # 0x29cb40
leaq 0x74bc5(%rip), %rsi     # 0x194e9b
callq 0x96a0
jmp 0x1202dd
movl -0x4(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x120323
leaq 0x24c0c1(%rip), %rax    # 0x36c3b0
movl (%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x12030e
leaq 0x17c840(%rip), %rdi    # 0x29cb40
leaq 0x74b9d(%rip), %rsi     # 0x194ea4
callq 0x96a0
jmp 0x120321
leaq 0x17c82b(%rip), %rdi    # 0x29cb40
leaq 0x74b92(%rip), %rsi     # 0x194eae
callq 0x96a0
jmp 0x120323
movl -0x4(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x120369
leaq 0x24c07b(%rip), %rax    # 0x36c3b0
movl (%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x120354
leaq 0x17c7fa(%rip), %rdi    # 0x29cb40
leaq 0x74b6a(%rip), %rsi     # 0x194eb7
callq 0x96a0
jmp 0x120367
leaq 0x17c7e5(%rip), %rdi    # 0x29cb40
leaq 0x74b61(%rip), %rsi     # 0x194ec3
callq 0x96a0
jmp 0x120369
movl -0x4(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1203af
leaq 0x24c035(%rip), %rax    # 0x36c3b0
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x12039a
leaq 0x17c7b4(%rip), %rdi    # 0x29cb40
leaq 0x74b3c(%rip), %rsi     # 0x194ecf
callq 0x96a0
jmp 0x1203ad
leaq 0x17c79f(%rip), %rdi    # 0x29cb40
leaq 0x74b32(%rip), %rsi     # 0x194eda
callq 0x96a0
jmp 0x1203af
movl -0x4(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1203f5
leaq 0x24bfef(%rip), %rax    # 0x36c3b0
movl (%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1203e0
leaq 0x17c76e(%rip), %rdi    # 0x29cb40
leaq 0x74b0c(%rip), %rsi     # 0x194ee5
callq 0x96a0
jmp 0x1203f3
leaq 0x17c759(%rip), %rdi    # 0x29cb40
leaq 0x74b02(%rip), %rsi     # 0x194ef0
callq 0x96a0
jmp 0x1203f5
movl $0x1, %edi
callq 0x11f500
leaq 0x24bfaa(%rip), %rax    # 0x36c3b0
movl (%rax), %ecx
leaq 0x24bfa5(%rip), %rax    # 0x36c3b4
movl %ecx, (%rax)
leaq 0x24bfa4(%rip), %rax    # 0x36c3bc
movl (%rax), %eax
leaq 0x24bf97(%rip), %rcx    # 0x36c3b8
xorl (%rcx), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
andl $0xffffefff, %eax       # imm = 0xFFFFEFFF
movl %eax, -0x4(%rbp)
leaq 0x17d1bc(%rip), %rax    # 0x29d5f4
cmpb $0x0, (%rax)
je 0x120bad
cmpl $0x0, -0x4(%rbp)
je 0x120bad
leaq 0x27a06e(%rip), %rax    # 0x39a4c0
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x120bad
leaq 0x24bf53(%rip), %rax    # 0x36c3b8
movl (%rax), %edx
leaq 0x17c6d2(%rip), %rdi    # 0x29cb40
leaq 0x74a86(%rip), %rsi     # 0x194efb
movb $0x0, %al
callq 0x9060
movl -0x4(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1204c2
leaq 0x24bf2a(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1204ad
leaq 0x17c6a1(%rip), %rdi    # 0x29cb40
leaq 0x74a76(%rip), %rsi     # 0x194f1c
callq 0x96a0
jmp 0x1204c0
leaq 0x17c68c(%rip), %rdi    # 0x29cb40
leaq 0x74a72(%rip), %rsi     # 0x194f2d
callq 0x96a0
jmp 0x1204c2
movl -0x4(%rbp), %eax
andl $0x6, %eax
cmpl $0x0, %eax
je 0x12056d
leaq 0x24bee0(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x120508
leaq 0x24becf(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x120508
leaq 0x17c646(%rip), %rdi    # 0x29cb40
leaq 0x74a3e(%rip), %rsi     # 0x194f3f
callq 0x96a0
jmp 0x12056b
leaq 0x24bea9(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x12052e
leaq 0x17c620(%rip), %rdi    # 0x29cb40
leaq 0x74a28(%rip), %rsi     # 0x194f4f
callq 0x96a0
jmp 0x120569
leaq 0x24be83(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x120554
leaq 0x17c5fa(%rip), %rdi    # 0x29cb40
leaq 0x74a12(%rip), %rsi     # 0x194f5f
callq 0x96a0
jmp 0x120567
leaq 0x17c5e5(%rip), %rdi    # 0x29cb40
leaq 0x74a0e(%rip), %rsi     # 0x194f70
callq 0x96a0
jmp 0x120569
jmp 0x12056b
jmp 0x12056d
movl -0x4(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1205d8
leaq 0x24be39(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1205c3
leaq 0x157520(%rip), %rax    # 0x277ab0
cmpq $0x40000, (%rax)        # imm = 0x40000
jne 0x1205ae
leaq 0x17c5a0(%rip), %rdi    # 0x29cb40
leaq 0x749d7(%rip), %rsi     # 0x194f7e
callq 0x96a0
jmp 0x1205c1
leaq 0x17c58b(%rip), %rdi    # 0x29cb40
leaq 0x749dd(%rip), %rsi     # 0x194f99
callq 0x96a0
jmp 0x1205d6
leaq 0x17c576(%rip), %rdi    # 0x29cb40
leaq 0x749da(%rip), %rsi     # 0x194fab
callq 0x96a0
jmp 0x1205d8
movl -0x4(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x12061e
leaq 0x24bdce(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x120609
leaq 0x17c545(%rip), %rdi    # 0x29cb40
leaq 0x749ba(%rip), %rsi     # 0x194fbc
callq 0x96a0
jmp 0x12061c
leaq 0x17c530(%rip), %rdi    # 0x29cb40
leaq 0x749b6(%rip), %rsi     # 0x194fcd
callq 0x96a0
jmp 0x12061e
movl -0x4(%rbp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x120664
leaq 0x24bd88(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x12064f
leaq 0x17c4ff(%rip), %rdi    # 0x29cb40
leaq 0x74996(%rip), %rsi     # 0x194fde
callq 0x96a0
jmp 0x120662
leaq 0x17c4ea(%rip), %rdi    # 0x29cb40
leaq 0x74992(%rip), %rsi     # 0x194fef
callq 0x96a0
jmp 0x120664
movl -0x4(%rbp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x1206aa
leaq 0x24bd42(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x120695
leaq 0x17c4b9(%rip), %rdi    # 0x29cb40
leaq 0x74972(%rip), %rsi     # 0x195000
callq 0x96a0
jmp 0x1206a8
leaq 0x17c4a4(%rip), %rdi    # 0x29cb40
leaq 0x7496e(%rip), %rsi     # 0x195011
callq 0x96a0
jmp 0x1206aa
movl -0x4(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x1206f4
leaq 0x24bcfa(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x1206df
leaq 0x17c46f(%rip), %rdi    # 0x29cb40
leaq 0x7494b(%rip), %rsi     # 0x195023
callq 0x96a0
jmp 0x1206f2
leaq 0x17c45a(%rip), %rdi    # 0x29cb40
leaq 0x74948(%rip), %rsi     # 0x195035
callq 0x96a0
jmp 0x1206f4
movl -0x4(%rbp), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x12073e
leaq 0x24bcb0(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x120729
leaq 0x17c425(%rip), %rdi    # 0x29cb40
leaq 0x74925(%rip), %rsi     # 0x195047
callq 0x96a0
jmp 0x12073c
leaq 0x17c410(%rip), %rdi    # 0x29cb40
leaq 0x74922(%rip), %rsi     # 0x195059
callq 0x96a0
jmp 0x12073e
movl -0x4(%rbp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x120788
leaq 0x24bc66(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x120773
leaq 0x17c3db(%rip), %rdi    # 0x29cb40
leaq 0x748ff(%rip), %rsi     # 0x19506b
callq 0x96a0
jmp 0x120786
leaq 0x17c3c6(%rip), %rdi    # 0x29cb40
leaq 0x748fc(%rip), %rsi     # 0x19507d
callq 0x96a0
jmp 0x120788
movl -0x4(%rbp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x1207d2
leaq 0x24bc1c(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x1207bd
leaq 0x17c391(%rip), %rdi    # 0x29cb40
leaq 0x748d9(%rip), %rsi     # 0x19508f
callq 0x96a0
jmp 0x1207d0
leaq 0x17c37c(%rip), %rdi    # 0x29cb40
leaq 0x748d6(%rip), %rsi     # 0x1950a1
callq 0x96a0
jmp 0x1207d2
movl -0x4(%rbp), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x12081c
leaq 0x24bbd2(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x120807
leaq 0x17c347(%rip), %rdi    # 0x29cb40
leaq 0x748b3(%rip), %rsi     # 0x1950b3
callq 0x96a0
jmp 0x12081a
leaq 0x17c332(%rip), %rdi    # 0x29cb40
leaq 0x748ad(%rip), %rsi     # 0x1950c2
callq 0x96a0
jmp 0x12081c
movl -0x4(%rbp), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x120875
leaq 0x1572b4(%rip), %rax    # 0x277ae4
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x120875
leaq 0x24bb79(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x120860
leaq 0x17c2ee(%rip), %rdi    # 0x29cb40
leaq 0x74878(%rip), %rsi     # 0x1950d1
callq 0x96a0
jmp 0x120873
leaq 0x17c2d9(%rip), %rdi    # 0x29cb40
leaq 0x74872(%rip), %rsi     # 0x1950e0
callq 0x96a0
jmp 0x120875
movl -0x4(%rbp), %eax
andl $0x10000, %eax          # imm = 0x10000
cmpl $0x0, %eax
je 0x1208bf
leaq 0x24bb2f(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x10000, %eax          # imm = 0x10000
cmpl $0x0, %eax
je 0x1208aa
leaq 0x17c2a4(%rip), %rdi    # 0x29cb40
leaq 0x7484c(%rip), %rsi     # 0x1950ef
callq 0x96a0
jmp 0x1208bd
leaq 0x17c28f(%rip), %rdi    # 0x29cb40
leaq 0x74846(%rip), %rsi     # 0x1950fe
callq 0x96a0
jmp 0x1208bf
movl -0x4(%rbp), %eax
andl $0x20000, %eax          # imm = 0x20000
cmpl $0x0, %eax
je 0x120909
leaq 0x24bae5(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x20000, %eax          # imm = 0x20000
cmpl $0x0, %eax
je 0x1208f4
leaq 0x17c25a(%rip), %rdi    # 0x29cb40
leaq 0x6a5eb(%rip), %rsi     # 0x18aed8
callq 0x96a0
jmp 0x120907
leaq 0x17c245(%rip), %rdi    # 0x29cb40
leaq 0x7480b(%rip), %rsi     # 0x19510d
callq 0x96a0
jmp 0x120909
movl -0x4(%rbp), %eax
andl $0x40000, %eax          # imm = 0x40000
cmpl $0x0, %eax
je 0x120953
leaq 0x24ba9b(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x40000, %eax          # imm = 0x40000
cmpl $0x0, %eax
je 0x12093e
leaq 0x17c210(%rip), %rdi    # 0x29cb40
leaq 0x6a5b0(%rip), %rsi     # 0x18aee7
callq 0x96a0
jmp 0x120951
leaq 0x17c1fb(%rip), %rdi    # 0x29cb40
leaq 0x747d0(%rip), %rsi     # 0x19511c
callq 0x96a0
jmp 0x120953
movl -0x4(%rbp), %eax
andl $0x80000, %eax          # imm = 0x80000
cmpl $0x0, %eax
je 0x12099d
leaq 0x24ba51(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x80000, %eax          # imm = 0x80000
cmpl $0x0, %eax
je 0x120988
leaq 0x17c1c6(%rip), %rdi    # 0x29cb40
leaq 0x747aa(%rip), %rsi     # 0x19512b
callq 0x96a0
jmp 0x12099b
leaq 0x17c1b1(%rip), %rdi    # 0x29cb40
leaq 0x747a4(%rip), %rsi     # 0x19513a
callq 0x96a0
jmp 0x12099d
movl -0x4(%rbp), %eax
andl $0x100000, %eax         # imm = 0x100000
cmpl $0x0, %eax
je 0x1209e7
leaq 0x24ba07(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x100000, %eax         # imm = 0x100000
cmpl $0x0, %eax
je 0x1209d2
leaq 0x17c17c(%rip), %rdi    # 0x29cb40
leaq 0x6a53a(%rip), %rsi     # 0x18af05
callq 0x96a0
jmp 0x1209e5
leaq 0x17c167(%rip), %rdi    # 0x29cb40
leaq 0x74769(%rip), %rsi     # 0x195149
callq 0x96a0
jmp 0x1209e7
movl -0x4(%rbp), %eax
andl $0x200000, %eax         # imm = 0x200000
cmpl $0x0, %eax
je 0x120a31
leaq 0x24b9bd(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x200000, %eax         # imm = 0x200000
cmpl $0x0, %eax
je 0x120a1c
leaq 0x17c132(%rip), %rdi    # 0x29cb40
leaq 0x74743(%rip), %rsi     # 0x195158
callq 0x96a0
jmp 0x120a2f
leaq 0x17c11d(%rip), %rdi    # 0x29cb40
leaq 0x7473e(%rip), %rsi     # 0x195168
callq 0x96a0
jmp 0x120a31
movl -0x4(%rbp), %eax
andl $0x400000, %eax         # imm = 0x400000
cmpl $0x0, %eax
je 0x120a7b
leaq 0x24b973(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x400000, %eax         # imm = 0x400000
cmpl $0x0, %eax
je 0x120a66
leaq 0x17c0e8(%rip), %rdi    # 0x29cb40
leaq 0x74719(%rip), %rsi     # 0x195178
callq 0x96a0
jmp 0x120a79
leaq 0x17c0d3(%rip), %rdi    # 0x29cb40
leaq 0x74713(%rip), %rsi     # 0x195187
callq 0x96a0
jmp 0x120a7b
movl -0x4(%rbp), %eax
andl $0x800000, %eax         # imm = 0x800000
cmpl $0x0, %eax
je 0x120ac5
leaq 0x24b929(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x800000, %eax         # imm = 0x800000
cmpl $0x0, %eax
je 0x120ab0
leaq 0x17c09e(%rip), %rdi    # 0x29cb40
leaq 0x746ed(%rip), %rsi     # 0x195196
callq 0x96a0
jmp 0x120ac3
leaq 0x17c089(%rip), %rdi    # 0x29cb40
leaq 0x746e7(%rip), %rsi     # 0x1951a5
callq 0x96a0
jmp 0x120ac5
movl -0x4(%rbp), %eax
andl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x0, %eax
je 0x120b0f
leaq 0x24b8df(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x0, %eax
je 0x120afa
leaq 0x17c054(%rip), %rdi    # 0x29cb40
leaq 0x746c1(%rip), %rsi     # 0x1951b4
callq 0x96a0
jmp 0x120b0d
leaq 0x17c03f(%rip), %rdi    # 0x29cb40
leaq 0x74614(%rip), %rsi     # 0x19511c
callq 0x96a0
jmp 0x120b0f
movl -0x4(%rbp), %eax
andl $0x2000000, %eax        # imm = 0x2000000
cmpl $0x0, %eax
je 0x120b59
leaq 0x24b895(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x2000000, %eax        # imm = 0x2000000
cmpl $0x0, %eax
je 0x120b44
leaq 0x17c00a(%rip), %rdi    # 0x29cb40
leaq 0x74686(%rip), %rsi     # 0x1951c3
callq 0x96a0
jmp 0x120b57
leaq 0x17bff5(%rip), %rdi    # 0x29cb40
leaq 0x74680(%rip), %rsi     # 0x1951d2
callq 0x96a0
jmp 0x120b59
movl -0x4(%rbp), %eax
andl $0x4000000, %eax        # imm = 0x4000000
cmpl $0x0, %eax
je 0x120ba3
leaq 0x24b84b(%rip), %rax    # 0x36c3b8
movl (%rax), %eax
andl $0x4000000, %eax        # imm = 0x4000000
cmpl $0x0, %eax
je 0x120b8e
leaq 0x17bfc0(%rip), %rdi    # 0x29cb40
leaq 0x6a39c(%rip), %rsi     # 0x18af23
callq 0x96a0
jmp 0x120ba1
leaq 0x17bfab(%rip), %rdi    # 0x29cb40
leaq 0x74645(%rip), %rsi     # 0x1951e1
callq 0x96a0
jmp 0x120ba3
movl $0x1, %edi
callq 0x11f500
leaq 0x24b804(%rip), %rax    # 0x36c3b8
movl (%rax), %ecx
leaq 0x24b7ff(%rip), %rax    # 0x36c3bc
movl %ecx, (%rax)
leaq 0x24be2e(%rip), %rax    # 0x36c9f4
movl (%rax), %eax
leaq 0x24be29(%rip), %rcx    # 0x36c9f8
cmpl (%rcx), %eax
je 0x120c57
leaq 0x24be16(%rip), %rax    # 0x36c9f4
cmpl $0x0, (%rax)
je 0x120c14
leaq 0x24be0a(%rip), %rax    # 0x36c9f4
cmpl $0x1, (%rax)
jne 0x120c10
leaq 0x17bf4a(%rip), %rdi    # 0x29cb40
leaq 0x745f3(%rip), %rsi     # 0x1951f0
movb $0x0, %al
callq 0x9060
movl $0x1, %edi
callq 0x11f500
jmp 0x120c12
jmp 0x120c12
jmp 0x120c45
leaq 0x24bddd(%rip), %rax    # 0x36c9f8
cmpl $0x1, (%rax)
jne 0x120c41
leaq 0x17bf19(%rip), %rdi    # 0x29cb40
leaq 0x745db(%rip), %rsi     # 0x195209
movb $0x0, %al
callq 0x9060
movl $0x1, %edi
callq 0x11f500
jmp 0x120c43
jmp 0x120c43
jmp 0x120c45
leaq 0x24bda8(%rip), %rax    # 0x36c9f4
movl (%rax), %ecx
leaq 0x24bda3(%rip), %rax    # 0x36c9f8
movl %ecx, (%rax)
leaq 0x24bd96(%rip), %rax    # 0x36c9f4
cmpl $0x1, (%rax)
je 0x120ca1
leaq 0x24bd96(%rip), %rax    # 0x36ca00
movsd 0x4e3e6(%rip), %xmm0    # 0x16f058
movsd %xmm0, (%rax)
leaq 0x24bd8b(%rip), %rax    # 0x36ca08
movsd 0x4e3d3(%rip), %xmm0    # 0x16f058
movsd %xmm0, (%rax)
leaq 0x24bd80(%rip), %rax    # 0x36ca10
movsd 0x4e3c0(%rip), %xmm0    # 0x16f058
movsd %xmm0, (%rax)
jmp 0x120d56
leaq 0x24bd58(%rip), %rax    # 0x36ca00
movsd (%rax), %xmm0
movsd 0x4e3a4(%rip), %xmm1    # 0x16f058
ucomisd %xmm1, %xmm0
jne 0x120cc1
jp 0x120cc1
jmp 0x120d54
leaq 0x24bd40(%rip), %rax    # 0x36ca08
movsd (%rax), %xmm0
movsd 0x4e384(%rip), %xmm1    # 0x16f058
ucomisd %xmm1, %xmm0
jne 0x120cde
jp 0x120cde
jmp 0x120d52
leaq 0x24bd2b(%rip), %rax    # 0x36ca10
movsd (%rax), %xmm0
movsd 0x4e367(%rip), %xmm1    # 0x16f058
ucomisd %xmm1, %xmm0
jne 0x120cfb
jp 0x120cfb
jmp 0x120d50
leaq 0x24bcfe(%rip), %rax    # 0x36ca00
movsd (%rax), %xmm0
leaq 0x24bcfb(%rip), %rax    # 0x36ca08
ucomisd (%rax), %xmm0
jbe 0x120d4e
leaq 0x24bcee(%rip), %rax    # 0x36ca08
movsd (%rax), %xmm1
leaq 0x24bceb(%rip), %rax    # 0x36ca10
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x120d4e
leaq 0x17be0a(%rip), %rdi    # 0x29cb40
leaq 0x744e3(%rip), %rsi     # 0x195220
movb $0x0, %al
callq 0x9060
movl $0x1, %edi
callq 0x11f500
jmp 0x120d50
jmp 0x120d52
jmp 0x120d54
jmp 0x120d56
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)