// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathmsc.cpp
// Function: write_xml_log(_IO_FILE*)
void write_xml_log(FILE *file)
{
int i;
DATA_SIZE dop_sum;
double old_lat, old_lon;

   // write readings to GPX/XML format log files
   // NEW_RCVR

   if(file == 0) return;

   old_lat = lat;
   old_lon = lon;
   if(log_fmt == GPX) {
      if(plot_loc == 0) {
         lat = 90.0*PI/180.0;
         lon = 180.0*PI/180.0;
      }
      i = (int) (raw_frac*1000.0);
      fprintf(file, "      <trkpt lat=\"%.9f\" lon=\"%.9f\">\n", lat*180.0/PI,lon*180.0/PI);
      fprintf(file, "        <ele>%.3f</ele>\n", alt);
      fprintf(file, "        <time>%04d-%02d-%02dT%02d:%02d:%02d.%03dZ</time>\n", year,month,day,hours,minutes,seconds, i);
      old_lat = lat;
      old_lon = lon;

      if(have_heading) {
         fprintf(file, "        <course>%.3f</course>\n", heading);
      }
      if(have_speed) {
         fprintf(file, "        <speed>%.3f</speed>\n", speed);
      }

      if(have_dops) {
         if(have_dops & HDOP) fprintf(file, "        <hdop>%.2f</hdop>\n", hdop); 
         if(have_dops & VDOP) fprintf(file, "        <vdop>%.2f</vdop>\n", vdop); 
         if(have_dops & PDOP) fprintf(file, "        <pdop>%.2f</pdop>\n", pdop); 
      }

      if(luxor) ;
      else if(rcvr_type == CS_RCVR) ;
      else if(rcvr_type == NO_RCVR) ;
      else if(rcvr_type == TICC_RCVR) ;
      else if(rcvr_type == TIDE_RCVR) ;
      else if(rcvr_mode == RCVR_MODE_2D)       fprintf(file, "        <fix>2d</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_3D)       fprintf(file, "        <fix>3d</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_UNKNOWN)  fprintf(file, "        <fix>none</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_ACQUIRE)  fprintf(file, "        <fix>none>/fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_BAD_GEOM) fprintf(file, "        <fix>none</fix>\n"); 

      if(have_count) fprintf(file, "        <sat>%d</sat>\n", sat_count);
      fprintf(file, "      </trkpt>\n\n");
   }
   else if(log_fmt == XML) {
      if(plot_loc == 0) {
         lat = 90.0*PI/180.0;
         lon = 180.0*PI/180.0;
      }
      i = (int) (raw_frac*1000.0);
      fprintf(file, "      <trkpt lat=\"%.9f\" lon=\"%.9f\">\n", lat*180.0/PI,lon*180.0/PI);
      fprintf(file, "        <ele>%.3f</ele>\n", alt);
      fprintf(file, "        <time>%04d-%02d-%02dT%02d:%02d:%02d.%03dZ</time>\n", year,month,day,hours,minutes,seconds, i);
      old_lat = lat;
      old_lon = lon;

      if(have_week)    fprintf(file, "        <week>%d</week>\n", gps_week);
      if(have_tow)     fprintf(file, "        <tow>%d</tow>\n", pri_tow);
      if(have_utc_ofs) fprintf(file, "        <utcofs>%d</utcofs>\n", utc_offset);
      if(have_utc_ofs) fprintf(file, "        <deltat>%f</deltat>\n", utc_delta_t()*(24.0*60.0*60.0));
      fprintf(file, "\n");

      if(have_heading) {
         fprintf(file, "        <course>%.3f</course>\n", heading);
      }
      if(have_speed) {
         fprintf(file, "        <speed>%.3f</speed>\n", speed);
      }
      if(have_datum) {
         fprintf(file, "        <datum>%d</datum>\n", datum);
      }

      if((rcvr_type == UCCM_RCVR) && (scpi_type == UCCMP_TYPE) && (have_temperature == 0)) {  // samsung
         fprintf(file, "        <tcor>%.6f</tcor>\n", temperature);
      }

      if(have_dac || have_temperature || have_sawtooth || have_osc_offset || 
         have_pps_offset || have_chc_offset || have_chd_offset || 
         have_tfom || have_ffom || have_true_eval || have_star_led || 
         have_temperature2 || have_humidity || have_pressure || 
         have_adc1 || have_adc2 || have_adc3 || have_adc4 || 
         have_ant_v1 || have_ant_v2 || have_ant_ma || 
         have_lars_dac || have_lars_temp || have_lars_pps
      ) {
         if(rcvr_type != THERMO_RCVR) {
            if(have_temperature)  fprintf(file, "        <temp>%.6f</temp>\n", temperature);
         }
         if(have_temperature0) fprintf(file, "        <temp0>%.6f</temp0>\n", tc0);
         if(have_temperature1) fprintf(file, "        <temp1>%.6f</temp1>\n", tc1);
         if(have_temperature2) fprintf(file, "        <temp2>%.6f</temp2>\n", tc2);
         if(have_lars_temp)    fprintf(file, "        <templ>%.6f</templ>\n", lars_temp);

         if(have_humidity)     fprintf(file, "        <rh>%.6f</rh>\n", humidity);
         if(have_pressure)     fprintf(file, "        <mb>%.6f</mb>\n", pressure);
         if(have_adc1)         fprintf(file, "        <adc1>%.6f</adc1>\n", adc1);
         if(have_adc2)         fprintf(file, "        <adc2>%.6f</adc2>\n", adc2);
         if(have_adc3)         fprintf(file, "        <adc3>%.6f</adc3>\n", adc3);
         if(have_adc4)         fprintf(file, "        <adc4>%.6f</adc4>\n", adc4);

         if(have_dac)          fprintf(file, "        <%s>%.6f</%s>\n", idlwr(DAC), dac_voltage, idlwr(DAC));
         if(have_lars_dac)     fprintf(file, "        <%s>%.6f</%s>\n", idlwr(DAC), lars_dac, idlwr(DAC));
         if(have_sawtooth)     fprintf(file, "        <sawtooth>%.6f</sawtooth>\n", dac_voltage);

         if(have_lars_pps) {
             fprintf(file, "        <%s>%.6f</%s>\n", idlwr(PPS), lars_pps,  idlwr(PPS));
         }
         else if(have_pps_offset) {
             fprintf(file, "        <%s>%.6f</%s>\n", idlwr(PPS), pps_offset,  idlwr(PPS));
         }

         if(have_osc_offset) {
             if(rcvr_type == X72_RCVR) {
                fprintf(file, "        <%s>%.6g</%s>\n", idlwr(OSC), osc_offset,  idlwr(OSC));
             }
             else {
                fprintf(file, "        <%s>%.6f</%s>\n", idlwr(OSC), osc_offset,  idlwr(OSC));
             }
         }
         if(have_chc_offset)    fprintf(file, "        <%s>%.6f</%s>\n", idlwr(CHC), chc_offset,  idlwr(CHC));
         if(have_chd_offset)    fprintf(file, "        <%s>%.6f</%s>\n", idlwr(CHD), chd_offset,  idlwr(CHD));

         if(have_esip_pps_type) fprintf(file, "        <gclk>%d</gclk>\n", esip_pps_type);
         if(have_true_eval)     fprintf(file, "        <eval>%.6f</eval>\n", true_eval); 
         if(have_tfom)          fprintf(file, "        <tfom>%d</tfom>\n", tfom); 
         if(have_ffom) {
            if(rcvr_type == BRANDY_RCVR) fprintf(file, "        <pll>%d</pll>\n", ffom); 
            else                         fprintf(file, "        <ffom>%d</ffom>\n", ffom); 
         }
         if(have_star_led) {
            fprintf(file, "        <led>%d</led>\n", star_led); 
         }

         if(luxor) {
            fprintf(file, "        <lumens>%.6f</lumens>\n", lux2);
            fprintf(file, "        <ledi>%.6f</ledi>\n", led_i);
            fprintf(file, "        <ledv>%.6f</ledv>\n", led_v);
            fprintf(file, "        <temp2>%.6f</temp2>\n", luxor_tc2);
            fprintf(file, "        <blue>%.6f</blue>\n", blue_hz);
            fprintf(file, "        <green>%.6f</green>\n", green_hz);
            fprintf(file, "        <red>%.6f</red>\n", red_hz);
            fprintf(file, "        <white>%.6f</white>\n", white_hz);
            fprintf(file, "        <pwm>%.6f</pwm>\n", pwm_hz);
            fprintf(file, "        <auxv>%.6f</auxv>\n", adc2);
         }
         else if(rcvr_type == CS_RCVR) ;
         else if(rcvr_type == TICC_RCVR) ;
         else if((rcvr_type == RFTG_RCVR) && have_rftg_unit && (have_ant_v1 || have_ant_v2 || have_ant_ma)) {
            if(rftg_unit == 0) {
               if(have_ant_v1) fprintf(file, "        <lampv>%.6f</lampv>\n", ant_v1);
               if(have_ant_v2) fprintf(file, "        <ocxov>%.6f</ocxov>\n", ant_v2);
            }
            else {
               if(have_ant_v1) fprintf(file, "        <antv1>%.6f</antv1>\n", ant_v1);
               if(have_ant_v2) fprintf(file, "        <antv2>%.6f</antv2>\n", ant_v2);
               if(have_ant_ma) fprintf(file, "        <antma>%.6f</antma>\n", ant_ma);
            }
            fprintf(file, "        <oscv>%.6f</oscv>\n", rftg_oscv);
         }
         else if(have_ant_v1 || have_ant_v2 || have_ant_ma) {
            if(have_ant_v1) fprintf(file, "        <antv1>%.6f</antv1>\n", ant_v1);
            if(have_ant_v2) fprintf(file, "        <antv2>%.6f</antv2>\n", ant_v2);
            if(have_ant_ma) fprintf(file, "        <antma>%.6f</antma>\n", ant_ma);
         }
         else fprintf(file, "\n");
      }

      if(rcvr_type == CS_RCVR) {
         log_cs_xml(file);
      }
      else if(rcvr_type == LPFRS_RCVR) {
         log_lpfrs_xml(file);
      }
      else if(rcvr_type == PRS_RCVR) {
         log_prs_xml(file);
      }
      else if(rcvr_type == SA35_RCVR) {
         log_sa35_xml(file);
      }
      else if(rcvr_type == SRO_RCVR) {  // !!!!!SRO
         log_sro_xml(file);
      }
      else if(rcvr_type == X72_RCVR) {
         log_x72_xml(file);
      }

      if(have_tc | have_damp | have_gain | have_initv) {
         if(have_tc)    fprintf(file, "        <tc>%.6f</tc>\n", time_constant); 
         if(have_damp)  fprintf(file, "        <damp>%.6f</damp>\n", damping_factor); 
         if(have_gain)  fprintf(file, "        <oscgain>%.6f</oscgain>\n", osc_gain); 
         if(have_initv) fprintf(file, "        <initv>%.6f</initv>\n", initial_voltage); 
         fprintf(file, "\n");
      }

      i = 0;
      if(have_pps_enable) {
         if(pps_enabled) fprintf(file, "        <pulse>on</pulse>\n"); 
         else            fprintf(file, "        <pulse>off</pulse>\n"); 
         ++i;
      }

      if(have_pps_rate) {
         if((rcvr_type == UBX_RCVR) && (pps_rate == RATE_100PPS)) {
            fprintf(file, "        <ppsrate>100.0</ppsrate>\n"); 
         }
         else if((rcvr_type == UBX_RCVR) && (pps_rate == RATE_1000PPS)) {
            fprintf(file, "        <ppsrate>1000.0</ppsrate>\n"); 
         }
         else if((rcvr_type == UBX_RCVR) && (pps_rate == RATE_USER)) {  // !!!!! uuuuu user rate
            fprintf(file, "        <ppsrate>-1.0</ppsrate>\n"); 
         }
         else if((rcvr_type == MOTO_RCVR) && (pps_rate != RATE_USER)) {
            fprintf(file, "        <ppsrate>100.0</ppsrate>\n"); 
         }
         else if(pps_rate == RATE_PP2S) {
            fprintf(file, "        <ppsrate>0.50</ppsrate>\n"); 
         }
         else if(rcvr_type == ZODIAC_RCVR) {
            fprintf(file, "        <ppsrate>1.0</ppsrate>\n"); 
         }
         else {
            fprintf(file, "        <ppsrate>1.0</ppsrate>\n"); 
         }
         ++i;
      }

      if(have_pps_polarity) {
         if(pps_polarity) fprintf(file, "        <ppsedge>fall</ppsedge>\n"); 
         else             fprintf(file, "        <ppsedge>rise</ppsedge>\n"); 
         ++i;
      }

      if(have_osc_polarity) {
         if(osc_polarity) fprintf(file, "        <oscedge>fall</oscedge>\n"); 
         else             fprintf(file, "        <oscedge>rise</oscedge>\n"); 
         ++i;
      }

      if(have_cable_delay) {
         fprintf(file, "        <cable>%f</cable>\n", cable_delay*1.0E9); 
         ++i;
      }
      if(have_rf_delay) {
         fprintf(file, "        <rfdelay>%f</rfdelay>\n", rf_delay*1.0E9); 
         ++i;
      }
      if(have_pps_delay & 0x01) {
         fprintf(file, "        <pps1delay>%f</pps1delay>\n", pps1_delay); 
         ++i;
      }
      if(have_pps_delay & 0x02) {
         fprintf(file, "        <pps2delay>%f</pps2delay>\n", pps2_delay); 
         ++i;
      }

      if(i) fprintf(file, "\n");


      dop_sum = hdop + vdop + pdop + gdop + tdop + ndop + edop;
      if(have_dops && (dop_sum != 0.0)) {
         if(have_dops & HDOP) fprintf(file, "        <hdop>%.2f</hdop>\n", hdop); 
         if(have_dops & VDOP) fprintf(file, "        <vdop>%.2f</vdop>\n", vdop); 
         if(have_dops & PDOP) fprintf(file, "        <pdop>%.2f</pdop>\n", pdop); 
         if(have_dops & GDOP) fprintf(file, "        <gdop>%.2f</gdop>\n", gdop); 
         if(have_dops & TDOP) fprintf(file, "        <tdop>%.2f</tdop>\n", tdop); 
         if(have_dops & NDOP) fprintf(file, "        <ndop>%.2f</ndop>\n", ndop); 
         if(have_dops & EDOP) fprintf(file, "        <edop>%.2f</edop>\n", edop); 
         fprintf(file, "\n");
      }

      i = 1;
      if(luxor) i = 0;
      else if(rcvr_type == CS_RCVR) i = 0;
      else if(rcvr_type == LPFRS_RCVR) i = 0;
      else if(rcvr_type == NO_RCVR) i = 0;
      else if(rcvr_type == PRS_RCVR) i = 0;
      else if(rcvr_type == SRO_RCVR) i = 0;
      else if(rcvr_type == SA35_RCVR) i = 0;
      else if(rcvr_type == TICC_RCVR) i = 0;
      else if(rcvr_type == TIDE_RCVR) i = 0;
      else if(rcvr_type == X72_RCVR) i = 0;
      else if(rcvr_mode == RCVR_MODE_2D_3D)    fprintf(file, "        <fix>2d3d</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_SINGLE)   fprintf(file, "        <fix>single</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_2D)       fprintf(file, "        <fix>2d</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_3D)       fprintf(file, "        <fix>3d</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_DGPS)     fprintf(file, "        <fix>dgps</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_2DCLK)    fprintf(file, "        <fix>clk2d</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_HOLD)     fprintf(file, "        <fix>posnhold</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_PROP) {
         if((rcvr_type == SCPI_RCVR) || (rcvr_type == UCCM_RCVR)) {
            fprintf(file, "        <fix>holdover</fix>\n"); 
         }
         else {
            fprintf(file, "        <fix>propogate</fix>\n"); 
         }
      }
      else if(rcvr_mode == RCVR_MODE_ACQUIRE)  fprintf(file, "        <fix>acquire</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_BAD_GEOM) fprintf(file, "        <fix>badgeom</fix>\n"); 
      else if(rcvr_mode == RCVR_MODE_SURVEY)   fprintf(file, "        <fix>survey</fix>\n"); 
      else                                     fprintf(file, "        <fix>unknown</fix>\n"); 
      if(i) fprintf(file, "\n");

      if(have_amu)     fprintf(file, "        <snrmask>%.1f</snrmask>\n", amu_mask);
      if(have_el_mask) fprintf(file, "        <elmask>%.1f</elmask>\n", el_mask);
      if(have_gnss_mask && gnss_mask) {
         out[0] = 0;
         if(gnss_mask & GPS)     strcat(out, "G");
         if(gnss_mask & GLONASS) strcat(out, "R");
         if(gnss_mask & BEIDOU)  strcat(out, "C");
         if(gnss_mask & GALILEO) strcat(out, "E");
         if(gnss_mask & SBAS)    strcat(out, "S");
         if(gnss_mask & QZSS)    strcat(out, "Q");
         if(gnss_mask & IMES)    strcat(out, "I");
         fprintf(file, "        <gnss>%s", out);
         fprintf(file, "</gnss>\n");
      }
      if(have_count)   fprintf(file, "        <sat>%d</sat>\n", sat_count);
      if(log_db) log_sky_data(file);

      if(lat || lon) {
         if(have_tides) {
            fprintf(file, "\n");
            fprintf(file, "        <lattide>%.2f</lattide>\n", lat_tide); 
            fprintf(file, "        <lontide>%.2f</lontide>\n", lon_tide); 
            fprintf(file, "        <alttide>%.2f</alttide>\n", alt_tide); 
         }
         if(have_ugals) {
            if(have_tides == 0) fprintf(file, "\n");
            fprintf(file, "        <ugals>%.2f</ugals>\n", ugals); 
         }
      }

      fprintf(file, "      </trkpt>\n\n");
   }
   else if(log_fmt == KML) {
      fprintf(file, "            %.9f,%.9f,%.3f\n", lon*180.0/PI,lat*180.0/PI,alt);
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0xcc5d3
movq %rdi, %rbx
leaq 0x172097(%rip), %rax    # 0x23e448
movl (%rax), %eax
cmpl $0xa, %eax
je 0xcc63e
cmpl $0x1e, %eax
je 0xcc5e2
cmpl $0x14, %eax
jne 0xcc5d3
leaq 0x14f00d(%rip), %rax    # 0x21b3e2
cmpb $0x0, (%rax)
jne 0xcc402
leaq 0x240bef(%rip), %rax    # 0x30cfd0
movabsq $0x3ff921fb54442d18, %rcx # imm = 0x3FF921FB54442D18
movq %rcx, (%rax)
leaq 0x240be3(%rip), %rax    # 0x30cfd8
movabsq $0x400921fb54442d18, %rcx # imm = 0x400921FB54442D18
movq %rcx, (%rax)
leaq 0x2410d7(%rip), %rax    # 0x30d4e0
movsd (%rax), %xmm0
mulsd 0x3cc23(%rip), %xmm0    # 0x109038
cvttsd2si %xmm0, %r14d
leaq 0x240baf(%rip), %rax    # 0x30cfd0
movsd 0x3f3f7(%rip), %xmm1    # 0x10b820
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
movsd 0x3f3df(%rip), %xmm2    # 0x10b818
divsd %xmm2, %xmm0
leaq 0x240b94(%rip), %rax    # 0x30cfd8
mulsd (%rax), %xmm1
divsd %xmm2, %xmm1
leaq 0x6496a(%rip), %rsi     # 0x130dbd
movq %rbx, %rdi
movb $0x2, %al
callq 0x9560
leaq 0x240b7c(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm0
leaq 0x64973(%rip), %rsi     # 0x130de2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x24105c(%rip), %rax    # 0x30d4dc
movl (%rax), %edx
leaq 0x24104f(%rip), %rax    # 0x30d4d8
movl (%rax), %ecx
leaq 0x241042(%rip), %rax    # 0x30d4d4
movl (%rax), %r8d
leaq 0x241034(%rip), %rax    # 0x30d4d0
movl (%rax), %r9d
leaq 0x241026(%rip), %rax    # 0x30d4cc
movl (%rax), %r10d
leaq 0x241018(%rip), %rax    # 0x30d4c8
movl (%rax), %r11d
subq $0x8, %rsp
leaq 0x6493d(%rip), %rsi     # 0x130dfb
movq %rbx, %rdi
xorl %eax, %eax
pushq %r14
pushq %r11
pushq %r10
callq 0x9560
addq $0x20, %rsp
leaq 0x240e5b(%rip), %rax    # 0x30d334
cmpl $0x0, (%rax)
je 0xcc4fa
leaq 0x240b43(%rip), %rax    # 0x30d028
movsd (%rax), %xmm0
leaq 0x64945(%rip), %rsi     # 0x130e35
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240e37(%rip), %rax    # 0x30d338
cmpl $0x0, (%rax)
je 0xcc522
leaq 0x240b13(%rip), %rax    # 0x30d020
movsd (%rax), %xmm0
leaq 0x6493c(%rip), %rsi     # 0x130e54
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x156fbb(%rip), %r14    # 0x2234e4
movl (%r14), %eax
testl %eax, %eax
je 0xcc594
testb $0x2, %al
je 0xcc550
leaq 0x156fb5(%rip), %rax    # 0x2234f0
movsd (%rax), %xmm0
leaq 0x6492b(%rip), %rsi     # 0x130e71
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x4, (%r14)
je 0xcc572
leaq 0x156f9b(%rip), %rax    # 0x2234f8
movsd (%rax), %xmm0
leaq 0x64924(%rip), %rsi     # 0x130e8c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x1, (%r14)
je 0xcc594
leaq 0x156f69(%rip), %rax    # 0x2234e8
movsd (%rax), %xmm0
leaq 0x6491d(%rip), %rsi     # 0x130ea7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x1729a3(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xcc7d9
leaq 0x240d6d(%rip), %rax    # 0x30d318
cmpl $0x0, (%rax)
je 0xcd978
leaq 0x172951(%rip), %rax    # 0x23ef0c
movl (%rax), %edx
leaq 0x6495e(%rip), %rsi     # 0x130f22
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
jmp 0xcd978
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2409ef(%rip), %rax    # 0x30cfd8
movsd 0x3f22f(%rip), %xmm1    # 0x10b820
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
movsd 0x3f217(%rip), %xmm2    # 0x10b818
divsd %xmm2, %xmm0
leaq 0x2409c4(%rip), %rax    # 0x30cfd0
mulsd (%rax), %xmm1
divsd %xmm2, %xmm1
leaq 0x2409c5(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm2
leaq 0x6523b(%rip), %rsi     # 0x131861
movq %rbx, %rdi
movb $0x3, %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x9560
leaq 0x14ed9d(%rip), %rax    # 0x21b3e2
cmpb $0x0, (%rax)
jne 0xcc672
leaq 0x24097f(%rip), %rax    # 0x30cfd0
movabsq $0x3ff921fb54442d18, %rcx # imm = 0x3FF921FB54442D18
movq %rcx, (%rax)
leaq 0x240973(%rip), %rax    # 0x30cfd8
movabsq $0x400921fb54442d18, %rcx # imm = 0x400921FB54442D18
movq %rcx, (%rax)
leaq 0x240e67(%rip), %rax    # 0x30d4e0
movsd (%rax), %xmm0
mulsd 0x3c9b3(%rip), %xmm0    # 0x109038
cvttsd2si %xmm0, %r14d
leaq 0x24093f(%rip), %rax    # 0x30cfd0
movsd 0x3f187(%rip), %xmm1    # 0x10b820
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
movsd 0x3f16f(%rip), %xmm2    # 0x10b818
divsd %xmm2, %xmm0
leaq 0x240924(%rip), %rax    # 0x30cfd8
mulsd (%rax), %xmm1
divsd %xmm2, %xmm1
leaq 0x646fa(%rip), %rsi     # 0x130dbd
movq %rbx, %rdi
movb $0x2, %al
callq 0x9560
leaq 0x24090c(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm0
leaq 0x64703(%rip), %rsi     # 0x130de2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240dec(%rip), %rax    # 0x30d4dc
movl (%rax), %edx
leaq 0x240ddf(%rip), %rax    # 0x30d4d8
movl (%rax), %ecx
leaq 0x240dd2(%rip), %rax    # 0x30d4d4
movl (%rax), %r8d
leaq 0x240dc4(%rip), %rax    # 0x30d4d0
movl (%rax), %r9d
leaq 0x240db6(%rip), %rax    # 0x30d4cc
movl (%rax), %r10d
leaq 0x240da8(%rip), %rax    # 0x30d4c8
movl (%rax), %r11d
subq $0x8, %rsp
leaq 0x646cd(%rip), %rsi     # 0x130dfb
movq %rbx, %rdi
xorl %eax, %eax
pushq %r14
pushq %r11
pushq %r10
callq 0x9560
addq $0x20, %rsp
leaq 0x240be3(%rip), %rax    # 0x30d32c
cmpl $0x0, (%rax)
je 0xcc769
leaq 0x240fe3(%rip), %rax    # 0x30d738
movzwl (%rax), %edx
leaq 0x647eb(%rip), %rsi     # 0x130f4a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x240bb8(%rip), %rax    # 0x30d328
cmpl $0x0, (%rax)
je 0xcc78f
leaq 0x240fc8(%rip), %rax    # 0x30d744
movl (%rax), %edx
leaq 0x647de(%rip), %rsi     # 0x130f63
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x240b86(%rip), %r14    # 0x30d31c
cmpl $0x0, (%r14)
je 0xcc7b6
leaq 0x240f85(%rip), %rax    # 0x30d728
movl (%rax), %edx
leaq 0x647ce(%rip), %rsi     # 0x130f7a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
cmpl $0x0, (%r14)
je 0xcc858
leaq 0x240d21(%rip), %rax    # 0x30d4e8
cmpl $0x0, (%rax)
je 0xcc80c
leaq 0x240d1d(%rip), %rax    # 0x30d4f0
movsd (%rax), %xmm0
jmp 0xcc83f
leaq 0x14c0f0(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x1ffff, %rax          # imm = 0x1FFFF
jg 0xcd257
cmpq $0x400, %rax            # imm = 0x400
je 0xcc5a4
cmpq $0x10000, %rax          # imm = 0x10000
je 0xcc5a4
jmp 0xcd26f
leaq 0x240f15(%rip), %rax    # 0x30d728
movl (%rax), %eax
addl $0x33, %eax
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
addsd 0x5ee61(%rip), %xmm1    # 0x12b688
divsd 0x3c7e1(%rip), %xmm1    # 0x109010
xorpd %xmm0, %xmm0
addsd %xmm1, %xmm0
divsd 0x3c801(%rip), %xmm0    # 0x109040
mulsd 0x3c7d1(%rip), %xmm0    # 0x109018
leaq 0x64749(%rip), %rsi     # 0x130f97
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x240ac8(%rip), %rax    # 0x30d334
cmpl $0x0, (%rax)
je 0xcc88d
leaq 0x2407b0(%rip), %rax    # 0x30d028
movsd (%rax), %xmm0
leaq 0x645b2(%rip), %rsi     # 0x130e35
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240aa4(%rip), %rax    # 0x30d338
cmpl $0x0, (%rax)
je 0xcc8b5
leaq 0x240780(%rip), %rax    # 0x30d020
movsd (%rax), %xmm0
leaq 0x645a9(%rip), %rsi     # 0x130e54
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x241538(%rip), %rax    # 0x30ddf4
cmpl $0x0, (%rax)
je 0xcc8db
leaq 0x241528(%rip), %rax    # 0x30ddf0
movl (%rax), %edx
leaq 0x646e3(%rip), %rsi     # 0x130fb4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x14bfee(%rip), %rax    # 0x2188d0
cmpq $0x8, (%rax)
leaq 0x24095f(%rip), %r14    # 0x30d24c
jne 0xcc91d
leaq 0x14e6ea(%rip), %rax    # 0x21afe0
cmpl $0x50, (%rax)
jne 0xcc91d
cmpl $0x0, (%r14)
jne 0xcc91d
leaq 0x240110(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm0
leaq 0x646bc(%rip), %rsi     # 0x130fcf
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x2409d8(%rip), %rax    # 0x30d2fc
cmpl $0x0, (%rax)
movl (%r14), %eax
leaq 0x240927(%rip), %r14    # 0x30d258
leaq 0x240924(%rip), %r13    # 0x30d25c
leaq 0x240921(%rip), %r12    # 0x30d260
leaq 0x241132(%rip), %rcx    # 0x30da78
leaq 0x24010b(%rip), %r15    # 0x30ca58
jne 0xcca6e
testl %eax, %eax
jne 0xcca6e
leaq 0x240a62(%rip), %rdx    # 0x30d3c4
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x2408c2(%rip), %rdx    # 0x30d234
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x2408b6(%rip), %rdx    # 0x30d238
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x2408aa(%rip), %rdx    # 0x30d23c
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x24089e(%rip), %rdx    # 0x30d240
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x2402a2(%rip), %rdx    # 0x30cc54
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x24029a(%rip), %rdx    # 0x30cc5c
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x27099e(%rip), %rdx    # 0x33d370
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x240a02(%rip), %rdx    # 0x30d3e4
cmpl $0x0, (%rdx)
jne 0xcca6e
cmpl $0x0, (%r14)
jne 0xcca6e
cmpl $0x0, (%r13)
jne 0xcca6e
cmpl $0x0, (%r12)
jne 0xcca6e
leaq 0x24085e(%rip), %rdx    # 0x30d264
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x240856(%rip), %rdx    # 0x30d268
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x24084e(%rip), %rdx    # 0x30d26c
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x240846(%rip), %rdx    # 0x30d270
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x24103a(%rip), %rdx    # 0x30da70
cmpl $0x0, (%rdx)
jne 0xcca6e
leaq 0x241032(%rip), %rdx    # 0x30da74
cmpl $0x0, (%rdx)
jne 0xcca6e
cmpl $0x0, (%rcx)
jne 0xcca6e
leaq 0x240001(%rip), %rcx    # 0x30ca54
cmpl $0x0, (%rcx)
jne 0xcca6e
cmpl $0x0, (%r15)
jne 0xcca6e
leaq 0x23ffeb(%rip), %rcx    # 0x30ca50
cmpl $0x0, (%rcx)
je 0xcd14c
testl %eax, %eax
setne %al
leaq 0x14be56(%rip), %rcx    # 0x2188d0
cmpq $0x80000, (%rcx)        # imm = 0x80000
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xccaa7
leaq 0x23ff86(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm0
leaq 0x6454d(%rip), %rsi     # 0x130fea
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x2407a2(%rip), %rax    # 0x30d250
cmpl $0x0, (%rax)
je 0xccacf
leaq 0x2400ee(%rip), %rax    # 0x30cba8
movsd (%rax), %xmm0
leaq 0x64540(%rip), %rsi     # 0x131005
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x24077e(%rip), %rax    # 0x30d254
cmpl $0x0, (%rax)
je 0xccaf7
leaq 0x2400ce(%rip), %rax    # 0x30cbb0
movsd (%rax), %xmm0
leaq 0x64535(%rip), %rsi     # 0x131022
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r14)
je 0xccb19
leaq 0x2400b4(%rip), %rax    # 0x30cbb8
movsd (%rax), %xmm0
leaq 0x64530(%rip), %rsi     # 0x13103f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r15)
je 0xccb3b
leaq 0x23ff22(%rip), %rax    # 0x30ca48
movsd (%rax), %xmm0
leaq 0x6452b(%rip), %rsi     # 0x13105c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r13)
je 0xccb5e
leaq 0x24004f(%rip), %rax    # 0x30cb98
movsd (%rax), %xmm0
leaq 0x64525(%rip), %rsi     # 0x131079
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r12)
je 0xccb81
leaq 0x240034(%rip), %rax    # 0x30cba0
movsd (%rax), %xmm0
leaq 0x64519(%rip), %rsi     # 0x131090
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x2406dc(%rip), %rax    # 0x30d264
cmpl $0x0, (%rax)
je 0xccba9
leaq 0x24003c(%rip), %rax    # 0x30cbd0
movsd (%rax), %xmm0
leaq 0x64508(%rip), %rsi     # 0x1310a7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x2406b8(%rip), %rax    # 0x30d268
cmpl $0x0, (%rax)
je 0xccbd1
leaq 0x24001c(%rip), %rax    # 0x30cbd8
movsd (%rax), %xmm0
leaq 0x644fb(%rip), %rsi     # 0x1310c2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240694(%rip), %rax    # 0x30d26c
cmpl $0x0, (%rax)
je 0xccbf9
leaq 0x23fffc(%rip), %rax    # 0x30cbe0
movsd (%rax), %xmm0
leaq 0x644ee(%rip), %rsi     # 0x1310dd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240670(%rip), %rax    # 0x30d270
cmpl $0x0, (%rax)
je 0xccc21
leaq 0x23ffdc(%rip), %rax    # 0x30cbe8
movsd (%rax), %xmm0
leaq 0x644e1(%rip), %rsi     # 0x1310f8
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x2406d4(%rip), %rax    # 0x30d2fc
cmpl $0x0, (%rax)
je 0xccc95
leaq 0x910fc(%rip), %r15     # 0x15dd30
movq 0x1d0(%r15), %rsi
leaq 0x26f5de(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23fda7(%rip), %rax    # 0x30ca00
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x1d0(%r15), %rsi
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x64493(%rip), %rsi     # 0x131113
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x23fdb8(%rip), %rax    # 0x30ca54
cmpl $0x0, (%rax)
je 0xccd09
leaq 0x91088(%rip), %r15     # 0x15dd30
movq 0x1d0(%r15), %rsi
leaq 0x26f56a(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23fd73(%rip), %rax    # 0x30ca40
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x1d0(%r15), %rsi
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x6441f(%rip), %rsi     # 0x131113
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x2406b4(%rip), %rax    # 0x30d3c4
cmpl $0x0, (%rax)
je 0xccd31
leaq 0x23fce4(%rip), %rax    # 0x30ca00
movsd (%rax), %xmm0
leaq 0x64403(%rip), %rsi     # 0x13112a
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fd18(%rip), %rax    # 0x30ca50
cmpl $0x0, (%rax)
je 0xccd83
leaq 0x90fec(%rip), %r15     # 0x15dd30
movq (%r15), %rsi
leaq 0x26f4d2(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23fcd3(%rip), %rax    # 0x30ca38
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq (%r15), %rsi
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
jmp 0xccdad
leaq 0x2404ae(%rip), %rax    # 0x30d238
cmpl $0x0, (%rax)
je 0xccdcd
xorl %edi, %edi
callq 0xc7850
leaq 0x23fa1b(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
xorl %edi, %edi
callq 0xc7850
leaq 0x6435f(%rip), %rsi     # 0x131113
leaq 0x26f465(%rip), %rcx    # 0x33c220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x240460(%rip), %rax    # 0x30d234
cmpl $0x0, (%rax)
je 0xcce63
leaq 0x14baec(%rip), %rax    # 0x2188d0
movq (%rax), %r15
leaq 0x90f42(%rip), %r12     # 0x15dd30
movq 0xe8(%r12), %rsi
leaq 0x26f423(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f9ac(%rip), %rax    # 0x30c7c0
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0xe8(%r12), %rsi
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
cmpq $0x2000000, %r15        # imm = 0x2000000
leaq 0x6430a(%rip), %rax     # 0x13114d
leaq 0x642c9(%rip), %rsi     # 0x131113
cmoveq %rax, %rsi
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x2403d2(%rip), %rax    # 0x30d23c
cmpl $0x0, (%rax)
je 0xcced7
leaq 0x90eba(%rip), %r15     # 0x15dd30
movq 0x910(%r15), %rsi
leaq 0x26f39c(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f92d(%rip), %rax    # 0x30c7c8
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x910(%r15), %rsi
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x64251(%rip), %rsi     # 0x131113
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x240362(%rip), %rax    # 0x30d240
cmpl $0x0, (%rax)
je 0xccf4b
leaq 0x90e46(%rip), %r15     # 0x15dd30
movq 0x9f8(%r15), %rsi
leaq 0x26f328(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f8c1(%rip), %rax    # 0x30c7d0
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq 0x9f8(%r15), %rsi
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x641dd(%rip), %rsi     # 0x131113
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x240e26(%rip), %rax    # 0x30dd78
cmpl $0x0, (%rax)
je 0xccf71
leaq 0x240e16(%rip), %rax    # 0x30dd74
movl (%rax), %edx
leaq 0x641fd(%rip), %rsi     # 0x131164
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x2703f8(%rip), %rax    # 0x33d370
cmpl $0x0, (%rax)
je 0xccf99
leaq 0x2703e4(%rip), %rax    # 0x33d368
movsd (%rax), %xmm0
leaq 0x641ee(%rip), %rsi     # 0x13117d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fcb4(%rip), %rax    # 0x30cc54
cmpl $0x0, (%rax)
je 0xccfbf
leaq 0x23fca4(%rip), %rax    # 0x30cc50
movl (%rax), %edx
leaq 0x641e3(%rip), %rsi     # 0x131198
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23fc96(%rip), %rax    # 0x30cc5c
cmpl $0x0, (%rax)
je 0xccffe
leaq 0x14b8fe(%rip), %rax    # 0x2188d0
cmpq $0x40000, (%rax)        # imm = 0x40000
leaq 0x23fc78(%rip), %rax    # 0x30cc58
movl (%rax), %edx
leaq 0x641c8(%rip), %rax     # 0x1311b1
leaq 0x641d8(%rip), %rsi     # 0x1311c8
cmoveq %rax, %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x2403df(%rip), %rax    # 0x30d3e4
cmpl $0x0, (%rax)
je 0xcd024
leaq 0x270d2b(%rip), %rax    # 0x33dd3c
movl (%rax), %edx
leaq 0x641c7(%rip), %rsi     # 0x1311e1
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x171f13(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xcd1b4
leaq 0x23fdc5(%rip), %rax    # 0x30ce00
movsd (%rax), %xmm0
leaq 0x641b2(%rip), %rsi     # 0x1311f8
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fd81(%rip), %rax    # 0x30cdd8
movsd (%rax), %xmm0
leaq 0x641b5(%rip), %rsi     # 0x131217
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fd5d(%rip), %rax    # 0x30cdd0
movsd (%rax), %xmm0
leaq 0x641b4(%rip), %rsi     # 0x131232
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x14e179(%rip), %rax    # 0x21b208
movsd (%rax), %xmm0
leaq 0x63fa5(%rip), %rsi     # 0x13103f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fe55(%rip), %rax    # 0x30cf00
movsd (%rax), %xmm0
leaq 0x64197(%rip), %rsi     # 0x13124d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fe41(%rip), %rax    # 0x30cf08
movsd (%rax), %xmm0
leaq 0x64196(%rip), %rsi     # 0x131268
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fe2d(%rip), %rax    # 0x30cf10
movsd (%rax), %xmm0
leaq 0x64197(%rip), %rsi     # 0x131285
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fe19(%rip), %rax    # 0x30cf18
movsd (%rax), %xmm0
leaq 0x64194(%rip), %rsi     # 0x13129e
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fcd5(%rip), %rax    # 0x30cdf0
movsd (%rax), %xmm0
leaq 0x64195(%rip), %rsi     # 0x1312bb
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23faa1(%rip), %rax    # 0x30cbd8
movsd (%rax), %xmm0
leaq 0x64192(%rip), %rsi     # 0x1312d4
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x14b77d(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x1ffffff, %rax        # imm = 0x1FFFFFF
jle 0xcd18f
cmpq $0x2000000, %rax        # imm = 0x2000000
je 0xcd2a1
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0xcd2ab
cmpq $0x10000000, %rax       # imm = 0x10000000
jne 0xcd2bd
movq %rbx, %rdi
callq 0xcb570
jmp 0xcd2bd
cmpq $0x20000, %rax          # imm = 0x20000
je 0xcd2b5
cmpq $0x1000000, %rax        # imm = 0x1000000
jne 0xcd2bd
movq %rbx, %rdi
callq 0xcb74e
jmp 0xcd2bd
leaq 0x14b715(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x10000, %rax          # imm = 0x10000
leaq 0x2408ad(%rip), %rcx    # 0x30da78
je 0xcd14c
cmpq $0x20000, %rax          # imm = 0x20000
je 0xcd14c
cmpq $0x400000, %rax         # imm = 0x400000
jne 0xcd21b
leaq 0x2407cc(%rip), %rax    # 0x30d9b8
cmpl $0x0, (%rax)
je 0xcd21b
leaq 0x240878(%rip), %rax    # 0x30da70
movl (%rax), %eax
testl %eax, %eax
jne 0xcdb31
leaq 0x24086b(%rip), %rdx    # 0x30da74
cmpl $0x0, (%rdx)
jne 0xcdb31
cmpl $0x0, (%rcx)
jne 0xcdb31
leaq 0x24084e(%rip), %rax    # 0x30da70
movl (%rax), %eax
testl %eax, %eax
jne 0xcda95
leaq 0x240841(%rip), %rdx    # 0x30da74
cmpl $0x0, (%rdx)
jne 0xcda95
cmpl $0x0, (%rcx)
jne 0xcda95
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
jmp 0xcd14c
cmpq $0x20000, %rax          # imm = 0x20000
je 0xcc5a4
cmpq $0x800000, %rax         # imm = 0x800000
je 0xcc5a4
leaq 0x23fe5a(%rip), %rax    # 0x30d0d0
movzbl (%rax), %ecx
leal -0x3(%rcx), %eax
cmpl $0x7, %eax
ja 0xcdb1c
leaq 0x5dc18(%rip), %rcx     # 0x12aea4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x63c26(%rip), %rdi     # 0x130ec2
jmp 0xcdbb0
movq %rbx, %rdi
callq 0xcbfc1
jmp 0xcd2bd
movq %rbx, %rdi
callq 0xcb662
jmp 0xcd2bd
movq %rbx, %rdi
callq 0xcb0d1
leaq 0x24002c(%rip), %rax    # 0x30d2f0
movl (%rax), %eax
leaq 0x240027(%rip), %r12    # 0x30d2f4
movl (%r12), %ecx
leaq 0x240020(%rip), %r15    # 0x30d2f8
orl (%r15), %ecx
leaq 0x24001e(%rip), %r14    # 0x30d300
orl (%r14), %ecx
orl %eax, %ecx
je 0xcd381
testl %eax, %eax
je 0xcd30d
leaq 0x23fdf8(%rip), %rax    # 0x30d0f0
movsd (%rax), %xmm0
leaq 0x64098(%rip), %rsi     # 0x13139b
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r12)
je 0xcd330
leaq 0x23fde5(%rip), %rax    # 0x30d100
movsd (%rax), %xmm0
leaq 0x6408c(%rip), %rsi     # 0x1313b2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r15)
je 0xcd352
leaq 0x23fdcb(%rip), %rax    # 0x30d108
movsd (%rax), %xmm0
leaq 0x64085(%rip), %rsi     # 0x1313cd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r14)
je 0xcd374
leaq 0x23fdf1(%rip), %rax    # 0x30d150
movsd (%rax), %xmm0
leaq 0x64084(%rip), %rsi     # 0x1313ee
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x23ff54(%rip), %rax    # 0x30d2dc
cmpl $0x0, (%rax)
je 0xcd3a7
leaq 0x24098c(%rip), %rax    # 0x30dd20
cmpb $0x0, (%rax)
je 0xcd3ac
leaq 0x6406b(%rip), %rdi     # 0x13140b
movl $0x1a, %esi
jmp 0xcd3b8
xorl %r14d, %r14d
jmp 0xcd3cb
leaq 0x64073(%rip), %rdi     # 0x131426
movl $0x1b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
movl $0x1, %r14d
leaq 0x23fefe(%rip), %rax    # 0x30d2d0
cmpl $0x0, (%rax)
je 0xcd46c
leaq 0x14b4ee(%rip), %rax    # 0x2188d0
movq (%rax), %rcx
cmpq $0x4, %rcx
sete %dl
leaq 0x240930(%rip), %rax    # 0x30dd23
movb (%rax), %al
cmpb $-0x7e, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xcd412
leaq 0x64037(%rip), %rdi     # 0x131442
movl $0x21, %esi
jmp 0xcd45c
cmpq $0x4, %rcx
sete %dl
cmpb $-0x7d, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xcd436
leaq 0x64035(%rip), %rdi     # 0x131464
movl $0x22, %esi
jmp 0xcd45c
cmpq $0x4, %rcx
sete %dl
testb %al, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xcda6a
leaq 0x64030(%rip), %rdi     # 0x131487
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23fe6d(%rip), %rax    # 0x30d2e0
cmpl $0x0, (%rax)
je 0xcd4a9
leaq 0x240899(%rip), %rax    # 0x30dd18
cmpl $0x0, (%rax)
leaq 0x64081(%rip), %rax     # 0x13150a
leaq 0x64059(%rip), %rdi     # 0x1314e9
cmoveq %rax, %rdi
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23fe38(%rip), %rax    # 0x30d2e8
cmpl $0x0, (%rax)
je 0xcd4e6
leaq 0x240856(%rip), %rax    # 0x30dd12
cmpb $0x0, (%rax)
leaq 0x64086(%rip), %rax     # 0x13154c
leaq 0x6405e(%rip), %rdi     # 0x13152b
cmoveq %rax, %rdi
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23fdc7(%rip), %rax    # 0x30d2b4
cmpl $0x0, (%rax)
je 0xcd519
leaq 0x2408cf(%rip), %rax    # 0x30ddc8
movsd (%rax), %xmm0
mulsd 0x3bb23(%rip), %xmm0    # 0x109028
leaq 0x64061(%rip), %rsi     # 0x13156d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
incl %r14d
leaq 0x23fd9c(%rip), %rax    # 0x30d2bc
cmpl $0x0, (%rax)
je 0xcd54c
leaq 0x2408a4(%rip), %rax    # 0x30ddd0
movsd (%rax), %xmm0
mulsd 0x3baf0(%rip), %xmm0    # 0x109028
leaq 0x64049(%rip), %rsi     # 0x131588
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
incl %r14d
leaq 0x23fd65(%rip), %r15    # 0x30d2b8
testb $0x1, (%r15)
je 0xcd578
leaq 0x240878(%rip), %rax    # 0x30ddd8
movsd (%rax), %xmm0
leaq 0x6403c(%rip), %rsi     # 0x1315a7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
incl %r14d
testb $0x2, (%r15)
je 0xcd5a0
leaq 0x24085b(%rip), %rax    # 0x30dde0
movsd (%rax), %xmm0
leaq 0x6403a(%rip), %rsi     # 0x1315ca
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0x1, %r14d
testl %r14d, %r14d
je 0xcd5b2
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x155f2b(%rip), %r14    # 0x2234e4
movl (%r14), %eax
testl %eax, %eax
je 0xcd708
leaq 0x155f25(%rip), %rcx    # 0x2234f0
movsd (%rcx), %xmm0
leaq 0x155f22(%rip), %r13    # 0x2234f8
movsd (%r13), %xmm1
addsd %xmm0, %xmm1
leaq 0x155f01(%rip), %r12    # 0x2234e8
addsd (%r12), %xmm1
leaq 0x155f0c(%rip), %r15    # 0x223500
addsd (%r15), %xmm1
leaq 0x155f08(%rip), %rcx    # 0x223508
addsd (%rcx), %xmm1
leaq 0x155f05(%rip), %rcx    # 0x223510
addsd (%rcx), %xmm1
leaq 0x155f02(%rip), %rcx    # 0x223518
addsd (%rcx), %xmm1
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0xcd62a
jnp 0xcd708
testb $0x2, %al
je 0xcd63f
leaq 0x6383c(%rip), %rsi     # 0x130e71
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x4, (%r14)
je 0xcd65c
movsd (%r13), %xmm0
leaq 0x6383a(%rip), %rsi     # 0x130e8c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x1, (%r14)
je 0xcd679
movsd (%r12), %xmm0
leaq 0x63838(%rip), %rsi     # 0x130ea7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x8, (%r14)
je 0xcd695
movsd (%r15), %xmm0
leaq 0x63f62(%rip), %rsi     # 0x1315ed
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x10, (%r14)
je 0xcd6b7
leaq 0x155e66(%rip), %rax    # 0x223508
movsd (%rax), %xmm0
leaq 0x63f5b(%rip), %rsi     # 0x131608
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x20, (%r14)
je 0xcd6d9
leaq 0x155e4c(%rip), %rax    # 0x223510
movsd (%rax), %xmm0
leaq 0x63f54(%rip), %rsi     # 0x131623
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x40, (%r14)
je 0xcd6fb
leaq 0x155e32(%rip), %rax    # 0x223518
movsd (%rax), %xmm0
leaq 0x63f4d(%rip), %rsi     # 0x13163e
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x17182f(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xcd99f
leaq 0x23fcd9(%rip), %rax    # 0x30d3f8
cmpl $0x0, (%rax)
je 0xcd743
leaq 0x23f98d(%rip), %rax    # 0x30d0b8
xorps %xmm0, %xmm0
cvtss2sd (%rax), %xmm0
leaq 0x6404e(%rip), %rsi     # 0x131787
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fcb2(%rip), %rax    # 0x30d3fc
cmpl $0x0, (%rax)
je 0xcd76e
leaq 0x23f95e(%rip), %rax    # 0x30d0b4
xorps %xmm0, %xmm0
cvtss2sd (%rax), %xmm0
leaq 0x64044(%rip), %rsi     # 0x1317a8
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0xa3503(%rip), %rax     # 0x170c78
cmpl $0x0, (%rax)
setne %al
leaq 0xa34f2(%rip), %rcx     # 0x170c74
movl (%rcx), %r15d
testl %r15d, %r15d
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xcd867
leaq 0x26ea83(%rip), %r14    # 0x33c220
movb $0x0, (%r14)
testb $0x1, %r15b
je 0xcd7b6
movq %r14, %rdi
callq 0x9120
movw $0x47, (%r14,%rax)
testb $0x2, %r15b
je 0xcd7cb
movq %r14, %rdi
callq 0x9120
movw $0x52, (%r14,%rax)
testb $0x8, %r15b
je 0xcd7e0
movq %r14, %rdi
callq 0x9120
movw $0x43, (%r14,%rax)
testb $0x4, %r15b
je 0xcd7f5
movq %r14, %rdi
callq 0x9120
movw $0x45, (%r14,%rax)
testw %r15w, %r15w
jns 0xcd80a
movq %r14, %rdi
callq 0x9120
movw $0x53, (%r14,%rax)
btl $0xe, %r15d
jae 0xcd820
movq %r14, %rdi
callq 0x9120
movw $0x51, (%r14,%rax)
btl $0xd, %r15d
jae 0xcd836
movq %r14, %rdi
callq 0x9120
movw $0x49, (%r14,%rax)
leaq 0x63f8a(%rip), %rsi     # 0x1317c7
leaq 0x26e9dc(%rip), %rdx    # 0x33c220
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x63f83(%rip), %rdi     # 0x1317d8
movl $0x8, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
leaq 0x23faaa(%rip), %rax    # 0x30d318
cmpl $0x0, (%rax)
je 0xcd88d
leaq 0x171692(%rip), %rax    # 0x23ef0c
movl (%rax), %edx
leaq 0x6369f(%rip), %rsi     # 0x130f22
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x170b81(%rip), %rax    # 0x23e415
cmpb $0x0, (%rax)
je 0xcd8a1
movq %rbx, %rdi
callq 0xc701d
leaq 0x23f728(%rip), %rax    # 0x30cfd0
movsd (%rax), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0xcd8cf
jp 0xcd8cf
leaq 0x23f719(%rip), %rax    # 0x30cfd8
movsd (%rax), %xmm1
ucomisd %xmm0, %xmm1
jne 0xcd8cf
jnp 0xcd978
leaq 0x23f7a2(%rip), %r14    # 0x30d078
cmpl $0x0, (%r14)
je 0xcd93d
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x23f758(%rip), %rax    # 0x30d048
movsd (%rax), %xmm0
leaq 0x63ee6(%rip), %rsi     # 0x1317e1
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f744(%rip), %rax    # 0x30d050
movsd (%rax), %xmm0
leaq 0x63eeb(%rip), %rsi     # 0x131802
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f730(%rip), %rax    # 0x30d058
movsd (%rax), %xmm0
leaq 0x63ef0(%rip), %rsi     # 0x131823
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f738(%rip), %rax    # 0x30d07c
cmpl $0x0, (%rax)
je 0xcd978
cmpl $0x0, (%r14)
jne 0xcd95c
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x23f6cd(%rip), %rax    # 0x30d030
movsd (%rax), %xmm0
leaq 0x63ed6(%rip), %rsi     # 0x131844
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x635ba(%rip), %rdi     # 0x130f39
movl $0x10, %esi
movl $0x1, %edx
movq %rbx, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x9750
leaq 0x14af2a(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0xffffff, %rax         # imm = 0xFFFFFF
jle 0xcd9e6
cmpq $0x7ffffff, %rax        # imm = 0x7FFFFFF
jle 0xcda22
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0xcd718
cmpq $0x10000000, %rax       # imm = 0x10000000
je 0xcd718
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
cmpq %rcx, %rax
je 0xcd718
jmp 0xcda3a
cmpq $0x1ffff, %rax          # imm = 0x1FFFF
jg 0xcda08
cmpq $0x400, %rax            # imm = 0x400
je 0xcd718
cmpq $0x10000, %rax          # imm = 0x10000
je 0xcd718
jmp 0xcda3a
cmpq $0x20000, %rax          # imm = 0x20000
je 0xcd718
cmpq $0x800000, %rax         # imm = 0x800000
je 0xcd718
jmp 0xcda3a
cmpq $0x1000000, %rax        # imm = 0x1000000
je 0xcd718
cmpq $0x2000000, %rax        # imm = 0x2000000
je 0xcd718
leaq 0x23f68f(%rip), %rcx    # 0x30d0d0
movzbl (%rcx), %ecx
cmpq $0xb, %rcx
ja 0xcdcb3
leaq 0x5d41f(%rip), %rdx     # 0x12ae74
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x63bf4(%rip), %rdi     # 0x131659
jmp 0xcdc44
cmpq $0x20, %rcx
sete %cl
testb %al, %al
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0xcd404
cmpb $-0x7e, %al
jne 0xcdb0b
leaq 0x63a18(%rip), %rdi     # 0x1314a8
jmp 0xcd457
testl %eax, %eax
je 0xcdabc
leaq 0x23ffb8(%rip), %rax    # 0x30da58
movsd (%rax), %xmm0
leaq 0x6387e(%rip), %rsi     # 0x131329
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ffbc(%rip), %rcx    # 0x30da78
leaq 0x23ffb1(%rip), %rax    # 0x30da74
cmpl $0x0, (%rax)
je 0xcdaeb
leaq 0x23ff91(%rip), %rax    # 0x30da60
movsd (%rax), %xmm0
leaq 0x6386c(%rip), %rsi     # 0x131346
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ff8d(%rip), %rcx    # 0x30da78
cmpl $0x0, (%rcx)
je 0xcd14c
leaq 0x23ff6d(%rip), %rax    # 0x30da68
movsd (%rax), %xmm0
leaq 0x6385d(%rip), %rsi     # 0x131363
jmp 0xcd142
leaq 0x639b7(%rip), %rdi     # 0x1314c9
movl $0x1f, %esi
jmp 0xcd45c
cmpl $0x63, %ecx
jne 0xcc5a4
leaq 0x633c4(%rip), %rdi     # 0x130ef0
jmp 0xcdbbe
leaq 0x23fe7c(%rip), %rcx    # 0x30d9b4
cmpl $0x0, (%rcx)
je 0xcdbd5
testl %eax, %eax
je 0xcdb61
leaq 0x23ff0c(%rip), %rax    # 0x30da58
movsd (%rax), %xmm0
leaq 0x637d2(%rip), %rsi     # 0x131329
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ff0c(%rip), %rax    # 0x30da74
cmpl $0x0, (%rax)
je 0xcdb89
leaq 0x23feec(%rip), %rax    # 0x30da60
movsd (%rax), %xmm0
leaq 0x637c7(%rip), %rsi     # 0x131346
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fee8(%rip), %rax    # 0x30da78
cmpl $0x0, (%rax)
je 0xcdc1d
leaq 0x637c3(%rip), %rsi     # 0x131363
leaq 0x23fec1(%rip), %rax    # 0x30da68
jmp 0xcdc0f
leaq 0x63329(%rip), %rdi     # 0x130ed9
movl $0x16, %esi
jmp 0xcdbc3
leaq 0x6334b(%rip), %rdi     # 0x130f09
movl $0x18, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
jmp 0xcc5a4
testl %eax, %eax
je 0xcdbf5
leaq 0x23fe78(%rip), %rax    # 0x30da58
movsd (%rax), %xmm0
leaq 0x63704(%rip), %rsi     # 0x1312ef
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fe78(%rip), %rax    # 0x30da74
cmpl $0x0, (%rax)
je 0xcdc1d
leaq 0x63704(%rip), %rsi     # 0x13130c
leaq 0x23fe51(%rip), %rax    # 0x30da60
movsd (%rax), %xmm0
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23fe6c(%rip), %rax    # 0x30da90
movsd (%rax), %xmm0
leaq 0x63751(%rip), %rsi     # 0x131380
jmp 0xcd142
leaq 0x63b15(%rip), %rdi     # 0x131750
jmp 0xcdc77
leaq 0x63a49(%rip), %rdi     # 0x13168d
movl $0x18, %esi
jmp 0xcdcbf
leaq 0x63a54(%rip), %rdi     # 0x1316a6
movl $0x19, %esi
jmp 0xcdcbf
leaq 0x63279(%rip), %rdi     # 0x130ed9
jmp 0xcdc69
leaq 0x63259(%rip), %rdi     # 0x130ec2
movl $0x16, %esi
jmp 0xcdcbf
leaq 0x639fb(%rip), %rdi     # 0x131672
movl $0x1a, %esi
jmp 0xcdcbf
leaq 0x63a3b(%rip), %rdi     # 0x1316c0
jmp 0xcdc9a
cmpq $0x10, %rax
je 0xcdc93
cmpq $0x8, %rax
jne 0xcdcde
leaq 0x63a43(%rip), %rdi     # 0x1316dd
movl $0x1c, %esi
jmp 0xcdcbf
leaq 0x63a8c(%rip), %rdi     # 0x131734
jmp 0xcdcba
leaq 0x63a67(%rip), %rdi     # 0x131718
jmp 0xcdcba
leaq 0x63ab1(%rip), %rdi     # 0x13176b
movl $0x1b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
jmp 0xcd718
leaq 0x63a15(%rip), %rdi     # 0x1316fa
movl $0x1d, %esi
jmp 0xcdcbf