// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathmsc.cpp
// Function: write_log_readings(_IO_FILE*, long)
void write_log_readings(FILE *file, long x)
{
int all_info_avail;
char *s;

   // write readings to ASCII format log file
   // NEW_RCVR

   if(file == 0) return;  // log not open
   if(tow == 0) return;   // no data from GPS yet
   if(log_stream & LOG_HEX_STREAM) return; // dumping raw tsip data

   // see if all available device info has been collected
   all_info_avail = 1;
   if(have_info & INFO_LOGGED) ;
   else if((rcvr_type == THERMO_RCVR) || (rcvr_type == ZYFER_RCVR)) {
      if     ((have_info & MANUF_PARAMS) == 0) all_info_avail = 0;
      else if((have_info & PRODN_PARAMS) == 0) all_info_avail = 0;
      else if((have_info & VERSION_INFO) == 0) all_info_avail = 0;
      else if((have_info & MFG_INFO) == 0)     all_info_avail = 0;
   }
   else {
      if     ((have_info & MANUF_PARAMS) == 0) all_info_avail = 0;
      else if((have_info & PRODN_PARAMS) == 0) all_info_avail = 0;
      else if((have_info & VERSION_INFO) == 0) all_info_avail = 0;
   }

   if(sim_file) ;  // sim capture files may not have ID info in them
   else if((no_log_id_wait == 0) && (all_info_avail == 0)) {
      return;   // wait for receiver id info before logging data
   }


   if((no_log_id_wait || sim_file) && (all_info_avail == 0)) {
       // log data without having seen receiver id info
   }
   else if(log_stream & (LOG_HEX_STREAM | LOG_SENT_DATA | LOG_PACKET_START)) {
       // always log info if logging other than raw stream
   }
   else if(have_info & INFO_LOGGED) {
       // device id info already written to log
   }
   else if(have_info) {
      write_log_header(file, 1);
      have_info |= INFO_LOGGED;
   }


   if(hours != last_log_hours) {  // sync log data to disk every hour
      if(file == log_file) {
         sync_log_file();
         file = log_file;  // in case sync_log_file changed the file descriptor
      }
      last_log_hours = hours;
      if(log_header) log_written = 0;
   }

   if(log_written == 0) {  // write header each time log opens
      log_written = 1;
      month = fix_month(month);
      if(log_comments && (log_fmt == HEATHER)) {
         fprintf(file,"#\n");

         //!!!! NOTE: IF YOU CHANGE THE CONTENT OR SPACING IF THIS LUNE,  
         //           YOU MUST CHANGE reload_log() TO MATCH !!!!
         month = fix_month(month);
         if((nav_rate != 1.0) || (rcvr_type == BRANDY_RCVR)) {
            fprintf(file,"#  %02d:%02d:%02d.%03d %s   %02d %s %04d - interval %.3f seconds\n", 
               hours,minutes,seconds,(int)(raw_frac*1000.0+0.50), (time_flags & TFLAGS_UTC)?"UTC":"GPS", day,months[month],year, (double)log_interval/(double)nav_rate);
         }
         else {
            fprintf(file,"#  %02d:%02d:%02d.%03d %s   %02d %s %04d - interval %ld seconds\n", 
               hours,minutes,seconds,(int)(raw_frac*1000.0+0.50), (time_flags & TFLAGS_UTC)?"UTC":"GPS", day,months[month],year, log_interval);
         }

         fprintf(file,"#\n");

         if(luxor) {
            fprintf(file,"# time\t  tow   \t  LUX1\t LUMENS\t  BATTi\t  BATTv\t  LEDi \t  LEDv \t TEMP1\t TEMP2\t   Blue\t  Green\t    Red\t  White\t   PWM\t  AUXv\n");
         }
         else if(rcvr_type == NO_RCVR) {
            fprintf(file,"# time\t  tow\n");
         }
         else {
            if(tow >= 1000000) s = "# tow ";
            else               s = "# tow";
            if(nav_rate != 1.0) {
                if(rcvr_type == TIDE_RCVR) fprintf(file, "%s\t\t\t", s);
                else                       fprintf(file, "%s\t\t\t\t", s);
            }
            else if(rcvr_type == TIDE_RCVR)  fprintf(file, "%s\t\t", s);
            else                             fprintf(file, "%s\t\t\t", s);

            if(rcvr_type == ACRON_RCVR) {
               fprintf(file,"\n");
            }
            else if(rcvr_type == BRANDY_RCVR) {
               fprintf(file,"phase(sec) \tosc(%s)\tdac(%s)  \ttemp(C)\t\tsats\n", ppb_string, plot[DAC].units);
            }
            else if(rcvr_type == CS_RCVR) {
               fprintf(file,"pump(uA) \temult(%s)\tdac(%s)  \ttemp(C)\t\tsats\n", "V", plot[DAC].units);
            }
            else if(rcvr_type == FURUNO_RCVR) {
               fprintf(file,"lat        \tlon     \talt (m)\t\tsats\n");
            }
            else if(rcvr_type == GPSD_RCVR) {
               fprintf(file,"lat        \tlon     \talt (m)\t\tsats\n");
            }
            else if(rcvr_type == LPFRS_RCVR) {  // !!!!!LPFRS
               fprintf(file,"TT(sec) \tFC(%s)\tEFC(%s)  \ttemp(C)\t\tsats\n", ppb_string, "V");
            }
            else if(rcvr_type == NMEA_RCVR) {
               fprintf(file,"tlat        \tlon     \talt (m)\t\tsats\n");
            }
            else if(rcvr_type == PRS_RCVR) {
               fprintf(file,"TT(sec) \tFC(%s)\tdac(%s)  \ttemp(C)\t\tsats\n", ppb_string, "V");
            }
            else if(rcvr_type == RFTG_RCVR) {
               fprintf(file,"phase(sec) \tosc(%s)\tdac(%s)  \ttemp(C)\t\tsats\n", ppb_string, plot[DAC].units);
            }
            else if(rcvr_type == SCPI_RCVR) {
               fprintf(file,"pps(ns)  \tunc(%s) \tdac(%s)  \ttemp(C)\t\tsats\n", "us", plot[DAC].units);
            }
            else if(rcvr_type == SA35_RCVR) {  // !!!!!SA35
               fprintf(file,"TT(sec) \tFC(%s)\tEFC(%s)  \ttemp(C)\t\tsats\n", ppb_string, "V");
            }
            else if(rcvr_type == SRO_RCVR) {
               fprintf(file,"pps(sec) \tosc(%s)\tsig(%s)  \tVT(s)\n", "PPB", "V");
            }
            else if(rcvr_type == THERMO_RCVR) {
               fprintf(file,"temp1(C)\ttemp2(C)\tmb\trh\tadc3\tadc4\n");
            }
            else if(rcvr_type == TICC_RCVR) {
               fprintf(file,"chA(ps)  \t\tchB(ps) \t\tchC(ps)\t\tchD(ps)\n");
            }
            else if(rcvr_type == TIDE_RCVR) {  // ckckck
               fprintf(file,"  lat(mm)\tlon(mm)  \talt(mm)  \tgrav(uGals)\n");
            }
            else if((rcvr_type == UCCM_RCVR) && (scpi_type == UCCMP_TYPE) && (have_temperature == 0)) { // samsung
               fprintf(file,"tpps(sec) \tosc(%s)\tdac(%s)  \ttcor(ppt)\t\tsats\n", ppb_string, plot[DAC].units);
            }
            else if(rcvr_type == UCCM_RCVR) {
               fprintf(file,"pps(sec) \tosc(%s)\tdac(%s)  \ttemp(C)\t\tsats\n", ppb_string, plot[DAC].units);
            }
            else if(rcvr_type == UBX_RCVR) {
               fprintf(file,"accu(ns)   \tfrac(ns)\tsawtooth \ttemp(C)\t\tsats\n");
            }
            else if(TIMING_RCVR) {
               if(rcvr_type == ESIP_RCVR) {
                  fprintf(file,"accu(ns)   \tcofs(ns)\tsawtooth \ttemp(C)\t\tsats\n");
               }
               else if(rcvr_type == MOTO_RCVR) {
                  fprintf(file,"accu(ns)   \tcofs(ns)\tsawtooth \ttemp(C)\t\tsats\n");
               }
               else if(rcvr_type == NVS_RCVR) {
                  fprintf(file,"rgen(ns/s) \tbias(ns)\tsawtooth \ttemp(C)\t\tsats\n");
               }
               else if(rcvr_type == SIRF_RCVR) {
                  fprintf(file,"Drift(ns)  \tcofs(%s)\tsawtooth \ttemp(C)\t\tsats\n", ppb_string);
               }
               else if(rcvr_type == ZODIAC_RCVR) {
                  fprintf(file,"PPS(ns)    \tcofs(ns)\tsawtooth \ttemp(C)\t\tsats\n");
               }
               else if(lte_lite) {
                  fprintf(file,"pps(ns)    \tosc(%s) \tDAC      \ttemp(C)\t\tsats\n", ppb_string);
               }
               else {
                  fprintf(file,"bias(ns)   \trate(%s)\tsawtooth \ttemp(C)\t\tsats\n", ppb_string);
               }
            }
            else if(rcvr_type == TM4_RCVR) {
               fprintf(file,"\n");
            }
            else if(rcvr_type == TSERVE_RCVR) {
               fprintf(file,"\n");
            }
            else if(rcvr_type == Z12_RCVR) {
               fprintf(file,"tlat        \tlon     \talt (m)\t\tsats\n");
            }
            else if(rcvr_type == TSIP_RCVR) {
               fprintf(file,"pps(sec) \tosc(%s)\tdac(%s)  \ttemp(C)\t\tsats\n", ppb_string, "V");
            }
            else {
               fprintf(file,"pps(sec) \tosc(%s)\tdac(%s)  \ttemp(C)\t\tsats\n", ppb_string, plot[DAC].units);
            }
         }
      }
      else if(log_comments && ((log_fmt == XML) || (log_fmt == GPX) || (log_fmt == KML))) {
         sprintf(log_text,"#  %02d:%02d:%02d.%03d %s   %02d %s %04d - interval %.2f seconds", 
            hours,minutes,seconds,(int)(raw_frac*1000.0+0.50), (time_flags & TFLAGS_UTC)?"UTC":"GPS", day,months[month],year, (double)log_interval/(double)nav_rate);
         write_log_comment(2);
      }
   }

   if(spike_threshold && last_temperature && (ABS(temperature - last_temperature) >= spike_threshold)) {
//    sprintf(log_text,"#! temperature spike: %f at tow %lu", (temperature-last_temperature), tow);
//    write_log_comment(1);
   }


   if(log_fmt == RINEX) {
      write_rinex_obs(file);
      return;
   }
   else if(log_fmt != HEATHER) {
      write_xml_log(file);
      return;
   }

//fprintf(file, "%ld: ", x);
   if((nav_rate != 1.0) || (rcvr_type == BRANDY_RCVR)) {
      fprintf(file, "%02d:%02d:%02d.%03d", hours,minutes,seconds,(int)(raw_frac*1000.0+0.5));
      if(csv_char == '\t') {
         fprintf(file, "  ");
      }
      else {
         fprintf(file, "%c", csv_char);
      }
      if(rcvr_type == TIDE_RCVR)    fprintf(file, "%6lu.%03d%c",   (unsigned long) tow, (int) (raw_frac*1000.0+0.5), ' '); 
      else if(rcvr_type == NO_RCVR) fprintf(file, "%6lu.%03d%c",   (unsigned long) tow, (int) (raw_frac*1000.0+0.5), ' '); 
      else                          fprintf(file, "%6lu.%03d%c",   (unsigned long) tow, (int) (raw_frac*1000.0+0.5), csv_char);
   }
   else {
      fprintf(file, "%02d:%02d:%02d", hours,minutes,seconds);
      if(csv_char == '\t') {
         fprintf(file, "  ");
      }
      else {
         fprintf(file, "%c", csv_char);
      }
      if(rcvr_type == TIDE_RCVR)    fprintf(file, "%6lu%c",   (unsigned long) tow, ' '); 
      else if(rcvr_type == NO_RCVR) fprintf(file, "%6lu%c",   (unsigned long) tow, ' '); 
      else                          fprintf(file, "%6lu%c",   (unsigned long) tow, csv_char); 
   }

   if(luxor) {
      fprintf(file, "%7.3f%c%7.3f%c%7.3f%c%7.3f%c%7.3f%c%7.3f%c%7.3f%c%7.3f%c%7.0f%c%7.0f%c%7.0f%c%7.0f%c%7.0f%c%7.3f \n", 
         pps_offset, csv_char, // lux1
         lux2, csv_char,               // lux2
         osc_offset, csv_char, // batti
         dac_voltage, csv_char,        // battv
         led_i, csv_char,              // ledi
         led_v, csv_char,              // ledv
         temperature, csv_char, 
         luxor_tc2, csv_char, 
         blue_hz, csv_char,
         green_hz, csv_char,
         red_hz, csv_char,
         white_hz, csv_char,
         pwm_hz, csv_char,
         adc2
      );
   }
   else if(rcvr_type == BRANDY_RCVR) {
      fprintf(file, "%-12g%c%f%c%f%c%f%c%d \n", 
         pps_offset/1.0E9, csv_char, 
         osc_offset, csv_char, 
         dac_voltage, csv_char, 
         temperature, csv_char, 
         sat_count
      );
   }
   else if(rcvr_type == FURUNO_RCVR) {
      fprintf(file, "%f%c%f%c%f%c%d \n", 
         lat*180.0/PI, csv_char,
         lon*180.0/PI,  csv_char,
         alt, csv_char,
         sat_count
      );
   }
   else if(rcvr_type == LPFRS_RCVR) {  //!!!!!LPFRS
      fprintf(file, "%g%c%f%c%f%c%f%c%d \n", 
         pps_offset/1.0E9, csv_char, 
         osc_offset, csv_char, 
         lpfrs_dd, csv_char, 
         lpfrs_gg, csv_char, 
         sat_count
      );
   }
   else if((rcvr_type == NMEA_RCVR) || (rcvr_type == GPSD_RCVR) || (rcvr_type == Z12_RCVR)) {
      fprintf(file, "%f%c%f%c%f%c%d \n", 
         lat*180.0/PI, csv_char,
         lon*180.0/PI,  csv_char,
         alt, csv_char,
         sat_count
      );
   }
   else if((rcvr_type == NO_RCVR) || (rcvr_type == ACRON_RCVR) || (rcvr_type == TSERVE_RCVR)) {
      fprintf(file, "\n");
   }
   else if(rcvr_type == SA35_RCVR) {  //!!!!!SA35
      fprintf(file, "%g%c%f%c%f%c%f%c%d \n", 
         pps_offset/1.0E9, csv_char, 
         osc_offset, csv_char, 
         lpfrs_dd, csv_char, 
         lpfrs_gg, csv_char, 
         sat_count
      );
   }
   else if(rcvr_type == SCPI_RCVR) {
      fprintf(file, "%f%c%f%c%f%c%f%c%d \n", 
         pps_offset, csv_char,
         osc_offset*1000.0,  csv_char,
         dac_voltage, csv_char,
         temperature, csv_char, 
         sat_count
      );
   }
   else if(rcvr_type == SRO_RCVR) {
      fprintf(file, "%g%c%f%c%f%c%d%c%d \n", 
         pps_offset/1.0E9, csv_char, 
         osc_offset*1000.0, csv_char, 
         sro_ff, csv_char, 
         sro_vt, csv_char, 
         sat_count
      );
   }
   else if(rcvr_type == THERMO_RCVR) {
      fprintf(file, "%7.3f%c%7.3f  %c%7.3f%c%7.3f%c%7.4f%c%7.4f \n", 
         tc1,csv_char, tc2,csv_char, pressure,csv_char, humidity,csv_char, adc3,csv_char, adc4   // aaaahhhh  
      );
   }
   else if(rcvr_type == TICC_RCVR) {
      fprintf(file, "%14.12f%c%14.12f%c%14.12f%c%14.12f \n", 
         (pps_phase), csv_char,    // aaaahhhh
         (osc_phase),  csv_char,
         (chc_phase), csv_char,
         (chd_phase)
      );
   }
   else if(rcvr_type == TIDE_RCVR) {  // ckckck
      fprintf(file, "%f%c%f%c%f%c%f \n", 
         lat_tide, csv_char,
         lon_tide, csv_char,
         alt_tide, csv_char,
         ugals
      );
   }
   else if(TIMING_RCVR) {
      fprintf(file, "%f%c%f%c%f%c%f%c%d \n", 
         pps_offset, csv_char,
         osc_offset,  csv_char,
         dac_voltage, csv_char,
         temperature, csv_char, 
         sat_count
      );
   }
   else if(rcvr_type == TM4_RCVR) {
      fprintf(file, "\n");
   }
   else {
      fprintf(file, "%g%c%f%c%f%c%f%c%d \n", 
         pps_offset/1.0E9, csv_char, 
         osc_offset, csv_char, 
         dac_voltage, csv_char, 
         temperature, csv_char, 
         sat_count
      );
   }

   if(file && log_comments && log_db && (file == log_file)) {
      log_sky_data(file);
   }

   if(file && log_flush_mode) fflush(file);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0xce47a
leaq 0x23f34f(%rip), %r14    # 0x30d73c
cmpl $0x0, (%r14)
je 0xce47a
leaq 0x170012(%rip), %rax    # 0x23e410
movl (%rax), %eax
testb $0x1, %al
jne 0xce47a
movq %rdi, %rbx
leaq 0x23f566(%rip), %r15    # 0x30d974
movl (%r15), %ecx
btl $0x9, %ecx
jb 0xce444
leaq 0x14a4b2(%rip), %rdx    # 0x2188d0
movq (%rdx), %rdx
cmpq $0x100000, %rdx         # imm = 0x100000
je 0xce433
cmpq $0x80000, %rdx          # imm = 0x80000
jne 0xce448
movl %ecx, %esi
notl %esi
movb $0x1, %dl
testb $0x7, %sil
jne 0xce45a
testb $0x8, %cl
jmp 0xce457
xorl %edx, %edx
jmp 0xce45a
movl %ecx, %esi
notl %esi
movb $0x1, %dl
testb $0x3, %sil
jne 0xce45a
testb $0x4, %cl
sete %dl
leaq 0x16ff5f(%rip), %rsi    # 0x23e3c0
movq (%rsi), %rsi
leaq 0x23f50d(%rip), %rdi    # 0x30d978
movl (%rdi), %edi
testq %rsi, %rsi
jne 0xce489
testb %dl, %dl
je 0xce489
testl %edi, %edi
jne 0xce489
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %ecx, %r8d
shrl $0x9, %r8d
andl $0x1, %r8d
testl %edi, %edi
setne %dil
testq %rsi, %rsi
setne %sil
orb %dil, %sil
andb %sil, %dl
testb $0x14, %al
setne %al
testl %ecx, %ecx
sete %cl
orb %al, %cl
orb %r8b, %cl
orb %dl, %cl
jne 0xce4c7
movq %rbx, %rdi
callq 0xc678f
orb $0x2, 0x1(%r15)
leaq 0x23f002(%rip), %r13    # 0x30d4d0
movl (%r13), %eax
leaq 0x23f22b(%rip), %r15    # 0x30d704
cmpl (%r15), %eax
je 0xce507
leaq 0x16fe7b(%rip), %r12    # 0x23e360
cmpq %rbx, (%r12)
jne 0xce4f8
callq 0xc3eb7
movq (%r12), %rbx
movl (%r13), %eax
movl %eax, (%r15)
leaq 0x16fef6(%rip), %rax    # 0x23e3f8
cmpb $0x0, (%rax)
jne 0xce517
leaq 0x16fedc(%rip), %rax    # 0x23e3ea
cmpb $0x0, (%rax)
jne 0xce7da
leaq 0x16fecc(%rip), %rax    # 0x23e3ea
movb $0x1, (%rax)
leaq 0x23efb0(%rip), %r12    # 0x30d4d8
movl (%r12), %edi
callq 0x723a5
movl %eax, (%r12)
leaq 0x16fed8(%rip), %rcx    # 0x23e414
movb (%rcx), %dl
testb %dl, %dl
setne %sil
leaq 0x16fefd(%rip), %rcx    # 0x23e448
movl (%rcx), %ecx
testl %ecx, %ecx
sete %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0xce65f
leaq 0x63406(%rip), %rdi     # 0x13196d
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
movl (%r12), %edi
callq 0x723a5
leaq 0x14cdcf(%rip), %rdx    # 0x21b358
leaq 0x23ef14(%rip), %rcx    # 0x30d4a4
testb $0x1, (%rcx)
leaq 0x65357(%rip), %rcx     # 0x1338f1
leaq 0x6690d(%rip), %r10     # 0x134eae
cmoveq %rcx, %r10
movsd (%rdx), %xmm1
ucomisd 0x3aabf(%rip), %xmm1    # 0x109070
movl %eax, (%r12)
leaq 0x14a314(%rip), %r14    # 0x2188d0
movl (%r13), %edx
leaq 0x23ef05(%rip), %rcx    # 0x30d4cc
movl (%rcx), %ecx
leaq 0x23eef8(%rip), %rsi    # 0x30d4c8
leaq 0x23ef09(%rip), %rdi    # 0x30d4e0
movsd (%rdi), %xmm0
mulsd 0x3aa55(%rip), %xmm0    # 0x109038
addsd 0x3aa7d(%rip), %xmm0    # 0x109068
movl (%rsi), %r8d
cvttsd2si %xmm0, %r9d
leaq 0x23eeda(%rip), %rsi    # 0x30d4d4
movl (%rsi), %r11d
cltq
leaq 0x9c13a(%rip), %rsi     # 0x16a740
movq (%rsi,%rax,8), %r15
leaq 0x23eecb(%rip), %rax    # 0x30d4dc
movl (%rax), %r13d
leaq 0x14cd8d(%rip), %rax    # 0x21b3a8
movq (%rax), %r12
jne 0xce741
jp 0xce741
cmpq $0x40000, (%r14)        # imm = 0x40000
je 0xce741
subq $0x8, %rsp
leaq 0x63370(%rip), %rsi     # 0x1319b2
movq %rbx, %rdi
xorl %eax, %eax
pushq %r12
pushq %r13
pushq %r15
pushq %r11
pushq %r10
callq 0x9560
addq $0x30, %rsp
jmp 0xce76a
testb %dl, %dl
je 0xce7e3
cmpl $0x1e, %ecx
ja 0xce7e3
movl $0x40100400, %edx       # imm = 0x40100400
btl %ecx, %edx
jae 0xce7e3
movl (%r13), %edx
leaq 0x23ee43(%rip), %rcx    # 0x30d4cc
movl (%rcx), %ecx
leaq 0x23ee36(%rip), %rsi    # 0x30d4c8
leaq 0x23ee47(%rip), %rdi    # 0x30d4e0
movsd (%rdi), %xmm0
mulsd 0x3a993(%rip), %xmm0    # 0x109038
addsd 0x3a9bb(%rip), %xmm0    # 0x109068
cvttsd2si %xmm0, %r9d
movl (%rsi), %r8d
leaq 0x23ede8(%rip), %rsi    # 0x30d4a4
testb $0x1, (%rsi)
leaq 0x6522b(%rip), %rsi     # 0x1338f1
leaq 0x667e1(%rip), %r10     # 0x134eae
cmoveq %rsi, %r10
leaq 0x23edfc(%rip), %rsi    # 0x30d4d4
movl (%rsi), %r11d
movslq %eax, %r15
leaq 0x23edf7(%rip), %rax    # 0x30d4dc
leaq 0x14ccbc(%rip), %rsi    # 0x21b3a8
xorps %xmm0, %xmm0
cvtsi2sdq (%rsi), %xmm0
movq %r13, %r12
movl (%rax), %r13d
leaq 0x14cc57(%rip), %rax    # 0x21b358
divsd (%rax), %xmm0
leaq 0x16f254(%rip), %rdi    # 0x23d960
leaq 0x636b9(%rip), %rsi     # 0x131dcc
movb $0x1, %al
pushq %r13
movq %r12, %r13
leaq 0x9c01f(%rip), %r12     # 0x16a740
pushq (%r12,%r15,8)
pushq %r11
pushq %r10
callq 0x9060
addq $0x20, %rsp
movl $0x2, %edi
callq 0xc36e2
jmp 0xce7da
xorps %xmm0, %xmm0
cvtsi2sd %r12, %xmm0
divsd %xmm1, %xmm0
leaq 0x6321c(%rip), %rsi     # 0x131970
movq %rbx, %rdi
movb $0x1, %al
pushq %r13
pushq %r15
pushq %r11
pushq %r10
callq 0x9560
addq $0x20, %rsp
leaq 0x23efcb(%rip), %r14    # 0x30d73c
leaq 0x631f5(%rip), %rdi     # 0x13196d
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
leaq 0x1707ad(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
leaq 0x23ed35(%rip), %r13    # 0x30d4d0
je 0xce7ab
leaq 0x6324f(%rip), %rdi     # 0x1319f3
movl $0x7b, %esi
jmp 0xce7cd
leaq 0x14a11e(%rip), %rcx    # 0x2188d0
movq (%rcx), %rax
cmpq $0x400, %rax            # imm = 0x400
jne 0xceb85
leaq 0x632a7(%rip), %rdi     # 0x131a6f
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
leaq 0x16fc67(%rip), %rax    # 0x23e448
movl (%rax), %ecx
testl %ecx, %ecx
je 0xce809
movq %rbx, %rdi
addq $0x8, %rsp
cmpl $0x12e, %ecx            # imm = 0x12E
jne 0xce88b
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xcf52b
leaq 0x14cb48(%rip), %rax    # 0x21b358
movsd (%rax), %xmm0
ucomisd 0x3a854(%rip), %xmm0    # 0x109070
leaq 0x14a0ad(%rip), %r12    # 0x2188d0
movl (%r13), %edx
leaq 0x23ec9e(%rip), %rax    # 0x30d4cc
movl (%rax), %ecx
leaq 0x23ec91(%rip), %rax    # 0x30d4c8
movl (%rax), %r8d
jne 0xce89a
jp 0xce89a
cmpq $0x40000, (%r12)        # imm = 0x40000
je 0xce89a
leaq 0x6168a(%rip), %rsi     # 0x12fed9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23eef8(%rip), %r15    # 0x30d758
movzbl (%r15), %edi
cmpl $0x9, %edi
jne 0xce942
leaq 0x542df(%rip), %rdi     # 0x122b53
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
jmp 0xce94a
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xcca28
leaq 0x23ec3f(%rip), %r15    # 0x30d4e0
movsd (%r15), %xmm0
mulsd 0x3a78a(%rip), %xmm0    # 0x109038
addsd 0x3a7b2(%rip), %xmm0    # 0x109068
cvttsd2si %xmm0, %r9d
leaq 0x57cee(%rip), %rsi     # 0x1265b0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23ee85(%rip), %r13    # 0x30d758
movzbl (%r13), %edi
cmpl $0x9, %edi
jne 0xce8f8
leaq 0x5426f(%rip), %rdi     # 0x122b53
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
jmp 0xce900
movq %rbx, %rsi
callq 0x9480
movq (%r12), %rax
movsd (%r15), %xmm0
mulsd 0x3a727(%rip), %xmm0    # 0x109038
addsd 0x3a74f(%rip), %xmm0    # 0x109068
movl (%r14), %edx
cvttsd2si %xmm0, %ecx
cmpq $0x400, %rax            # imm = 0x400
je 0xce930
cmpq $0x800000, %rax         # imm = 0x800000
jne 0xce972
leaq 0x634d6(%rip), %rsi     # 0x131e0d
movq %rbx, %rdi
movl $0x20, %r8d
jmp 0xce981
movq %rbx, %rsi
callq 0x9480
movq (%r12), %rax
movl (%r14), %edx
cmpq $0x400, %rax            # imm = 0x400
je 0xce961
cmpq $0x800000, %rax         # imm = 0x800000
jne 0xce98a
leaq 0x634b1(%rip), %rsi     # 0x131e19
movq %rbx, %rdi
movl $0x20, %ecx
jmp 0xce998
movzbl (%r13), %r8d
leaq 0x6348f(%rip), %rsi     # 0x131e0d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
jmp 0xce99f
movzbl (%r15), %ecx
leaq 0x63484(%rip), %rsi     # 0x131e19
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x170598(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xcead2
leaq 0x23de02(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
leaq 0x23ed97(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23e435(%rip), %rax    # 0x30ce00
movsd (%rax), %xmm1
leaq 0x23ddea(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm2
leaq 0x23e01f(%rip), %rax    # 0x30ca00
movsd (%rax), %xmm3
leaq 0x23e3ec(%rip), %rax    # 0x30cdd8
movsd (%rax), %xmm4
leaq 0x23e3d9(%rip), %rax    # 0x30cdd0
movsd (%rax), %xmm5
leaq 0x23e016(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm6
leaq 0x14c7fb(%rip), %rax    # 0x21b208
movsd (%rax), %xmm7
leaq 0x23e4e8(%rip), %rax    # 0x30cf00
movsd (%rax), %xmm8
leaq 0x23e4e4(%rip), %rax    # 0x30cf08
movsd (%rax), %xmm9
leaq 0x23e4e0(%rip), %rax    # 0x30cf10
movsd (%rax), %xmm10
leaq 0x23e4dc(%rip), %rax    # 0x30cf18
movsd (%rax), %xmm11
leaq 0x23e3a8(%rip), %rax    # 0x30cdf0
movsd (%rax), %xmm12
leaq 0x23e184(%rip), %rax    # 0x30cbd8
movsd (%rax), %xmm13
subq $0x80, %rsp
movsd %xmm13, 0x70(%rsp)
movl %ecx, 0x68(%rsp)
movsd %xmm12, 0x60(%rsp)
movl %ecx, 0x58(%rsp)
movsd %xmm11, 0x50(%rsp)
movl %ecx, 0x48(%rsp)
movsd %xmm10, 0x40(%rsp)
movl %ecx, 0x38(%rsp)
movsd %xmm9, 0x30(%rsp)
movl %ecx, 0x28(%rsp)
movsd %xmm8, 0x20(%rsp)
movl %ecx, 0x18(%rsp)
movl %ecx, 0x10(%rsp)
movl %ecx, 0x8(%rsp)
movl %ecx, (%rsp)
leaq 0x6336c(%rip), %rsi     # 0x131e20
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
movl %ecx, %r9d
movb $0x8, %al
callq 0x9560
addq $0x80, %rsp
jmp 0xcefb8
movq (%r12), %rax
cmpq $0x7ffff, %rax          # imm = 0x7FFFF
jle 0xceb50
cmpq $0x1fffffff, %rax       # imm = 0x1FFFFFFF
jg 0xcec34
cmpq $0x7ffffff, %rax        # imm = 0x7FFFFFF
jg 0xced49
cmpq $0x80000, %rax          # imm = 0x80000
je 0xcf018
cmpq $0x800000, %rax         # imm = 0x800000
jne 0xcedd3
leaq 0x23e533(%rip), %rax    # 0x30d048
movsd (%rax), %xmm0
leaq 0x23ec38(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23e526(%rip), %rax    # 0x30d050
movsd (%rax), %xmm1
leaq 0x23e523(%rip), %rax    # 0x30d058
movsd (%rax), %xmm2
leaq 0x23e4f0(%rip), %rax    # 0x30d030
movsd (%rax), %xmm3
leaq 0x633e1(%rip), %rsi     # 0x131f2c
jmp 0xcef3c
cmpq $0x3ff, %rax            # imm = 0x3FF
jle 0xcec6c
cmpq $0xffff, %rax           # imm = 0xFFFF
jg 0xcecd9
cmpq $0x400, %rax            # imm = 0x400
je 0xcec5a
cmpq $0x4000, %rax           # imm = 0x4000
je 0xcec5a
jmp 0xcedd3
cmpl $0xf4240, (%r14)        # imm = 0xF4240
movq %rcx, %r14
leaq 0x62ee7(%rip), %rcx     # 0x131a7d
leaq 0x62ee7(%rip), %rdx     # 0x131a84
cmovaeq %rcx, %rdx
cmpq $0x800000, %rax         # imm = 0x800000
leaq 0x62edc(%rip), %rax     # 0x131a8a
leaq 0x62edb(%rip), %rcx     # 0x131a90
cmoveq %rax, %rcx
leaq 0x62ed7(%rip), %rsi     # 0x131a97
cmovneq %rax, %rsi
leaq 0x14c78d(%rip), %rax    # 0x21b358
movsd (%rax), %xmm0
ucomisd 0x3a499(%rip), %xmm0    # 0x109070
cmovneq %rcx, %rsi
cmovpq %rcx, %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
movq (%r14), %rax
cmpq $0x7ffff, %rax          # imm = 0x7FFFF
jle 0xcec91
cmpq $0x7ffffff, %rax        # imm = 0x7FFFFFF
jg 0xceea3
cmpq $0x7fffff, %rax         # imm = 0x7FFFFF
leaq 0x23eb2b(%rip), %r14    # 0x30d73c
jg 0xcf130
cmpq $0x80000, %rax          # imm = 0x80000
je 0xcf1eb
cmpq $0x400000, %rax         # imm = 0x400000
je 0xcf10c
jmp 0xcf231
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq %rcx, %rax
jg 0xcedb5
cmpq $0x20000000, %rax       # imm = 0x20000000
je 0xcee37
cmpq $0x40000000, %rax       # imm = 0x40000000
jne 0xcedd3
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
jmp 0xcefb8
cmpq $0x2, %rax
je 0xcee37
cmpq $0x10, %rax
je 0xcef4d
cmpq $0x200, %rax            # imm = 0x200
je 0xcee37
jmp 0xcedd3
cmpq $0x3fff, %rax           # imm = 0x3FFF
jle 0xceed3
cmpq $0x1ffff, %rax          # imm = 0x1FFFF
leaq 0x23ea92(%rip), %r14    # 0x30d73c
jg 0xcf0f4
cmpq $0x4000, %rax           # imm = 0x4000
je 0xcf19d
cmpq $0x10000, %rax          # imm = 0x10000
jne 0xcf231
leaq 0x62f10(%rip), %rdi     # 0x131bdf
movl $0x26, %esi
jmp 0xce7cd
cmpq $0x10000, %rax          # imm = 0x10000
je 0xceeff
cmpq $0x40000, %rax          # imm = 0x40000
jne 0xcedd3
leaq 0x23dac0(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
divsd 0x3a324(%rip), %xmm0    # 0x109028
leaq 0x23ea4d(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23daab(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm1
leaq 0x23dce0(%rip), %rax    # 0x30ca00
movsd (%rax), %xmm2
leaq 0x23dced(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm3
leaq 0x1701d6(%rip), %rax    # 0x23ef0c
movl (%rax), %r10d
subq $0x8, %rsp
leaq 0x6313f(%rip), %rsi     # 0x131e83
jmp 0xcefa0
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0xcf087
cmpq $0x10000000, %rax       # imm = 0x10000000
jne 0xcedd3
leaq 0x23da54(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
divsd 0x3a2b8(%rip), %xmm0    # 0x109028
leaq 0x23e9e1(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23da3f(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm1
leaq 0x23ef5c(%rip), %rax    # 0x30dce8
movsd (%rax), %xmm2
leaq 0x23ef39(%rip), %rax    # 0x30dcd0
movsd (%rax), %xmm3
leaq 0x17016a(%rip), %rax    # 0x23ef0c
movl (%rax), %r10d
subq $0x8, %rsp
leaq 0x630eb(%rip), %rsi     # 0x131e9b
jmp 0xcefa0
movabsq $0x100000000, %rcx      # imm = 0x100000000
cmpq %rcx, %rax
je 0xcee37
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
cmpq %rcx, %rax
je 0xced5d
leaq 0x149b2a(%rip), %rcx    # 0x218904
cmpb $0x0, (%rcx)
jne 0xcee12
cmpq $0x1, %rax
sete %dl
leaq 0x14c1e7(%rip), %rcx    # 0x21afd4
movl (%rcx), %ecx
cmpl $0x41, %ecx
sete %sil
andb %dl, %sil
leaq 0x149af8(%rip), %rdx    # 0x2188f8
movl (%rdx), %edx
cmpl $0x47, %edx
sete %dil
testb %dil, %sil
je 0xcf2af
leaq 0x23d99f(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
leaq 0x23e934(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23d992(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm1
jmp 0xcef75
leaq 0x23e192(%rip), %rax    # 0x30cfd0
movsd 0x3c9ea(%rip), %xmm1    # 0x10b830
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
movsd 0x3c9d2(%rip), %xmm2    # 0x10b828
divsd %xmm2, %xmm0
leaq 0x23e8f7(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23e16d(%rip), %rax    # 0x30cfd8
mulsd (%rax), %xmm1
divsd %xmm2, %xmm1
leaq 0x23e166(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm2
leaq 0x170087(%rip), %rax    # 0x23ef0c
movl (%rax), %r9d
leaq 0x63025(%rip), %rsi     # 0x131eb4
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
movb $0x3, %al
callq 0x9560
jmp 0xcefb8
cmpq $0x1fffffff, %rax       # imm = 0x1FFFFFFF
leaq 0x23e88c(%rip), %r14    # 0x30d73c
jg 0xcf15e
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0xcf1fc
cmpq $0x10000000, %rax       # imm = 0x10000000
je 0xcf179
jmp 0xcf231
cmpq $0x2, %rax
leaq 0x23e85e(%rip), %r14    # 0x30d73c
je 0xcf270
cmpq $0x10, %rax
je 0xcf1cd
cmpq $0x200, %rax            # imm = 0x200
je 0xcf18c
jmp 0xcf231
leaq 0x23d8f2(%rip), %rax    # 0x30c7f8
movsd (%rax), %xmm0
leaq 0x23e847(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23d8e5(%rip), %rax    # 0x30c800
movsd (%rax), %xmm1
leaq 0x23d8f2(%rip), %rax    # 0x30c818
movsd (%rax), %xmm2
leaq 0x23d8ef(%rip), %rax    # 0x30c820
movsd (%rax), %xmm3
leaq 0x62fcb(%rip), %rsi     # 0x131f07
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
movb $0x4, %al
callq 0x9560
jmp 0xcefb8
leaq 0x23d864(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
leaq 0x23e7f9(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23d857(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm1
mulsd 0x3a0c3(%rip), %xmm1    # 0x109038
leaq 0x23da84(%rip), %rax    # 0x30ca00
movsd (%rax), %xmm2
leaq 0x23da91(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm3
leaq 0x16ff7a(%rip), %rax    # 0x23ef0c
movl (%rax), %r10d
subq $0x8, %rsp
leaq 0x62f10(%rip), %rsi     # 0x131eb0
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
movl %ecx, %r9d
movb $0x4, %al
pushq %r10
callq 0x9560
addq $0x10, %rsp
testq %rbx, %rbx
je 0xcefe9
leaq 0x16f450(%rip), %rax    # 0x23e414
cmpb $0x0, (%rax)
je 0xcefe9
leaq 0x16f445(%rip), %rax    # 0x23e415
cmpb $0x0, (%rax)
je 0xcefe9
leaq 0x16f384(%rip), %rax    # 0x23e360
cmpq (%rax), %rbx
jne 0xcefe9
movq %rbx, %rdi
callq 0xc7666
testq %rbx, %rbx
je 0xce47a
leaq 0x16f427(%rip), %rax    # 0x23e420
cmpl $0x0, (%rax)
je 0xce47a
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x9420
leaq 0x23db91(%rip), %rax    # 0x30cbb0
movsd (%rax), %xmm0
leaq 0x23e72e(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23db84(%rip), %rax    # 0x30cbb8
movsd (%rax), %xmm1
leaq 0x23db61(%rip), %rax    # 0x30cba0
movsd (%rax), %xmm2
leaq 0x23db4e(%rip), %rax    # 0x30cb98
movsd (%rax), %xmm3
leaq 0x23db8b(%rip), %rax    # 0x30cbe0
movsd (%rax), %xmm4
leaq 0x23db88(%rip), %rax    # 0x30cbe8
movsd (%rax), %xmm5
subq $0x8, %rsp
leaq 0x62e6b(%rip), %rsi     # 0x131eda
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
movl %ecx, %r9d
movb $0x6, %al
pushq %rcx
callq 0x9560
jmp 0xcefb4
leaq 0x23d72a(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
divsd 0x39f8e(%rip), %xmm0    # 0x109028
leaq 0x23e6b7(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23d715(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm1
mulsd 0x39f81(%rip), %xmm1    # 0x109038
leaq 0x23eaba(%rip), %rax    # 0x30db78
movsd (%rax), %xmm2
leaq 0x23eb0f(%rip), %rax    # 0x30dbd8
movl (%rax), %r9d
leaq 0x16fe39(%rip), %rax    # 0x23ef0c
movl (%rax), %r10d
leaq 0x62de8(%rip), %rsi     # 0x131ec5
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
movb $0x3, %al
pushq %r10
pushq %rcx
callq 0x9560
jmp 0xcefb4
cmpq $0x20000, %rax          # imm = 0x20000
je 0xcf1af
cmpq $0x40000, %rax          # imm = 0x40000
jne 0xcf231
leaq 0x270505(%rip), %rax    # 0x33f618
movq (%rax), %rdx
leaq 0x8ec13(%rip), %rax     # 0x15dd30
movq 0x1d8(%rax), %rcx
leaq 0x62971(%rip), %rsi     # 0x131a9c
jmp 0xcf211
cmpq $0x800000, %rax         # imm = 0x800000
je 0xcf220
cmpq $0x1000000, %rax        # imm = 0x1000000
jne 0xcf231
leaq 0x2704c9(%rip), %rax    # 0x33f618
movq (%rax), %rdx
leaq 0x629eb(%rip), %rsi     # 0x131b44
jmp 0xcf20a
cmpq $0x20000000, %rax       # imm = 0x20000000
je 0xcf18c
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
cmpq %rcx, %rax
jne 0xcf231
leaq 0x270498(%rip), %rax    # 0x33f618
movq (%rax), %rdx
leaq 0x6296c(%rip), %rsi     # 0x131af6
jmp 0xcf20a
leaq 0x6298d(%rip), %rdi     # 0x131b20
movl $0x23, %esi
jmp 0xce7cd
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
jmp 0xce7da
leaq 0x8eb7a(%rip), %rax     # 0x15dd30
movq 0x1d8(%rax), %rcx
leaq 0x62905(%rip), %rsi     # 0x131ac9
leaq 0x605a9(%rip), %rdx     # 0x12f774
jmp 0xcf211
leaq 0x8eb5c(%rip), %rax     # 0x15dd30
movq 0x1d8(%rax), %rcx
leaq 0x6298b(%rip), %rsi     # 0x131b6d
leaq 0x482a2(%rip), %rdx     # 0x11748b
jmp 0xcf211
leaq 0x629ca(%rip), %rdi     # 0x131bbc
movl $0x22, %esi
jmp 0xce7cd
leaq 0x62996(%rip), %rsi     # 0x131b99
leaq 0x5fdff(%rip), %rdx     # 0x12f009
leaq 0x60563(%rip), %rcx     # 0x12f774
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
jmp 0xce7da
leaq 0x629df(%rip), %rdi     # 0x131c06
movl $0x2a, %esi
jmp 0xce7cd
cmpq $0x8, %rax
jne 0xcf281
leaq 0x14bda2(%rip), %rcx    # 0x21afe0
cmpl $0x50, (%rcx)
jne 0xcf281
leaq 0x23e002(%rip), %rcx    # 0x30d24c
cmpl $0x0, (%rcx)
jne 0xcf281
leaq 0x2703c2(%rip), %rax    # 0x33f618
movq (%rax), %rdx
leaq 0x8ead0(%rip), %rax     # 0x15dd30
movq 0x1d8(%rax), %rcx
leaq 0x629c3(%rip), %rsi     # 0x131c31
jmp 0xcf211
leaq 0x628a8(%rip), %rdi     # 0x131b1f
movl $0x24, %esi
jmp 0xce7cd
cmpq $0x8, %rax
jne 0xcf342
leaq 0x270386(%rip), %rax    # 0x33f618
movq (%rax), %rdx
leaq 0x8ea94(%rip), %rax     # 0x15dd30
movq 0x1d8(%rax), %rcx
leaq 0x629b5(%rip), %rsi     # 0x131c5f
jmp 0xcf211
testb %sil, %sil
je 0xcf2c6
cmpl $0x33, %edx
je 0xcee12
cmpl $0x47, %edx
je 0xcee12
cmpl $0x41, %ecx
sete %dl
cmpq $0x1, %rax
sete %sil
cmpl $0x50, %ecx
sete %cl
testl $0x800009e4, %eax       # imm = 0x800009E4
jne 0xcee12
orb %cl, %dl
andb %dl, %sil
jne 0xcee12
movabsq $0x400000000, %rcx      # imm = 0x400000000
cmpq %rcx, %rax
je 0xcec5a
leaq 0x23d4ae(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
divsd 0x39d12(%rip), %xmm0    # 0x109028
leaq 0x23e43b(%rip), %rax    # 0x30d758
movzbl (%rax), %ecx
leaq 0x23d499(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm1
leaq 0x23d6ce(%rip), %rax    # 0x30ca00
movsd (%rax), %xmm2
leaq 0x23d6db(%rip), %rax    # 0x30ca18
jmp 0xced97
cmpq $0x4, %rax
jne 0xcf359
leaq 0x6293b(%rip), %rdi     # 0x131c8a
movl $0x2d, %esi
jmp 0xce7cd
leaq 0x1495a4(%rip), %rcx    # 0x218904
cmpb $0x0, (%rcx)
je 0xcf39c
cmpq $0xff, %rax
jle 0xcf44d
cmpq $0x100, %rax            # imm = 0x100
je 0xcf4a7
cmpq $0x800, %rax            # imm = 0x800
je 0xcf4b0
movl $0x80000000, %ecx       # imm = 0x80000000
cmpq %rcx, %rax
je 0xcf48b
jmp 0xcf46c
cmpq $0x1, %rax
sete %dl
leaq 0x14bc2a(%rip), %rcx    # 0x21afd4
movl (%rcx), %ecx
cmpl $0x41, %ecx
sete %sil
andb %dl, %sil
leaq 0x14953b(%rip), %rdx    # 0x2188f8
movl (%rdx), %edx
cmpl $0x47, %edx
sete %dil
testb %dil, %sil
jne 0xcf46c
testb %sil, %sil
je 0xcf3e6
cmpl $0x33, %edx
je 0xcf46c
cmpl $0x47, %edx
je 0xcf46c
cmpl $0x41, %ecx
sete %dl
cmpq $0x1, %rax
sete %sil
cmpl $0x50, %ecx
sete %cl
testl $0x800009e4, %eax       # imm = 0x800009E4
jne 0xcf365
orb %cl, %dl
andb %dl, %sil
jne 0xcf365
cmpq $0x40000000, %rax       # imm = 0x40000000
je 0xcf43e
movabsq $0x100000000, %rcx      # imm = 0x100000000
cmpq %rcx, %rax
je 0xcf4dc
movabsq $0x400000000, %rcx      # imm = 0x400000000
cmpq %rcx, %rax
jne 0xcf4ea
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
jmp 0xcf4c9
cmpq $0x20, %rax
je 0xcf48b
cmpq $0x40, %rax
jne 0xcf46c
leaq 0x2701b8(%rip), %rax    # 0x33f618
movq (%rax), %rdx
leaq 0x628aa(%rip), %rsi     # 0x131d14
jmp 0xcf49b
leaq 0x14bb5d(%rip), %rax    # 0x21afd0
cmpl $0x0, (%rax)
leaq 0x27019b(%rip), %rax    # 0x33f618
movq (%rax), %rdx
je 0xcf494
leaq 0x628e7(%rip), %rsi     # 0x131d70
jmp 0xcf49b
leaq 0x62826(%rip), %rdi     # 0x131cb8
jmp 0xcf4b7
leaq 0x62903(%rip), %rsi     # 0x131d9e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
jmp 0xcf4c9
leaq 0x62894(%rip), %rdi     # 0x131d42
jmp 0xcf4b7
leaq 0x6282f(%rip), %rdi     # 0x131ce6
movl $0x2d, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
leaq 0x23e000(%rip), %r13    # 0x30d4d0
leaq 0x23e265(%rip), %r14    # 0x30d73c
jmp 0xce7da
leaq 0x6263c(%rip), %rdi     # 0x131b1f
movl $0x24, %esi
jmp 0xcf4bc
leaq 0x270127(%rip), %rcx    # 0x33f618
movq (%rcx), %rdx
cmpq $0x1, %rax
jne 0xcf50a
leaq 0x6275e(%rip), %rsi     # 0x131c5f
leaq 0x6026c(%rip), %rcx     # 0x12f774
jmp 0xcf51f
leaq 0x8e81f(%rip), %rax     # 0x15dd30
movq 0x1d8(%rax), %rcx
leaq 0x62740(%rip), %rsi     # 0x131c5f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
jmp 0xcf4c9