// File: /workspace/github_cpp_makefile_star2_O3/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 0xcca91
movq %rdi, %rbx
leaq 0x171a03(%rip), %rax    # 0x23e448
movl (%rax), %eax
cmpl $0xa, %eax
je 0xccafc
cmpl $0x1e, %eax
je 0xccaa0
cmpl $0x14, %eax
jne 0xcca91
leaq 0x14e981(%rip), %rax    # 0x21b3e2
cmpb $0x0, (%rax)
je 0xcccb5
leaq 0x24055f(%rip), %rax    # 0x30cfd0
leaq 0x240560(%rip), %rcx    # 0x30cfd8
movsd 0x3edb0(%rip), %xmm1    # 0x10b830
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
mulsd (%rcx), %xmm1
jmp 0xccced
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x240531(%rip), %rax    # 0x30cfd8
movsd 0x3ed81(%rip), %xmm1    # 0x10b830
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
movsd 0x3ed69(%rip), %xmm2    # 0x10b828
divsd %xmm2, %xmm0
leaq 0x240506(%rip), %rax    # 0x30cfd0
mulsd (%rax), %xmm1
divsd %xmm2, %xmm1
leaq 0x240507(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm2
leaq 0x64e6d(%rip), %rsi     # 0x131951
movq %rbx, %rdi
movb $0x3, %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x9560
leaq 0x14e8df(%rip), %rax    # 0x21b3e2
cmpb $0x0, (%rax)
je 0xccb2c
leaq 0x2404c1(%rip), %rax    # 0x30cfd0
leaq 0x2404c2(%rip), %rcx    # 0x30cfd8
movsd 0x3ed12(%rip), %xmm1    # 0x10b830
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
mulsd (%rcx), %xmm1
jmp 0xccb64
leaq 0x24049d(%rip), %rax    # 0x30cfd0
movabsq $0x3ff921fb54442d18, %rcx # imm = 0x3FF921FB54442D18
movq %rcx, (%rax)
leaq 0x240491(%rip), %rax    # 0x30cfd8
movabsq $0x400921fb54442d18, %rcx # imm = 0x400921FB54442D18
movq %rcx, (%rax)
movsd 0x5ebfc(%rip), %xmm0    # 0x12b758
movsd 0x5ebfc(%rip), %xmm1    # 0x12b760
leaq 0x240975(%rip), %rax    # 0x30d4e0
movsd (%rax), %xmm2
mulsd 0x3c4c1(%rip), %xmm2    # 0x109038
cvttsd2si %xmm2, %r14d
movsd 0x3eca4(%rip), %xmm2    # 0x10b828
divsd %xmm2, %xmm0
divsd %xmm2, %xmm1
leaq 0x6431a(%rip), %rsi     # 0x130ead
movq %rbx, %rdi
movb $0x2, %al
callq 0x9560
leaq 0x24043c(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm0
leaq 0x64323(%rip), %rsi     # 0x130ed2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x24091c(%rip), %rax    # 0x30d4dc
movl (%rax), %edx
leaq 0x24090f(%rip), %rax    # 0x30d4d8
movl (%rax), %ecx
leaq 0x240902(%rip), %rax    # 0x30d4d4
movl (%rax), %r8d
leaq 0x2408f4(%rip), %rax    # 0x30d4d0
movl (%rax), %r9d
leaq 0x2408e6(%rip), %rax    # 0x30d4cc
movl (%rax), %r10d
leaq 0x2408d8(%rip), %rax    # 0x30d4c8
movl (%rax), %r11d
subq $0x8, %rsp
leaq 0x642ed(%rip), %rsi     # 0x130eeb
movq %rbx, %rdi
xorl %eax, %eax
pushq %r14
pushq %r11
pushq %r10
callq 0x9560
addq $0x20, %rsp
leaq 0x240713(%rip), %rax    # 0x30d32c
cmpl $0x0, (%rax)
je 0xccc39
leaq 0x240b13(%rip), %rax    # 0x30d738
movzwl (%rax), %edx
leaq 0x6440b(%rip), %rsi     # 0x13103a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x2406e8(%rip), %rax    # 0x30d328
cmpl $0x0, (%rax)
je 0xccc5f
leaq 0x240af8(%rip), %rax    # 0x30d744
movl (%rax), %edx
leaq 0x643fe(%rip), %rsi     # 0x131053
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x2406b6(%rip), %r15    # 0x30d31c
cmpl $0x0, (%r15)
je 0xccf46
leaq 0x240ab1(%rip), %r14    # 0x30d728
movl (%r14), %edx
leaq 0x643e9(%rip), %rsi     # 0x13106a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
cmpl $0x0, (%r15)
je 0xccf46
leaq 0x24084c(%rip), %rax    # 0x30d4e8
cmpl $0x0, (%rax)
je 0xccf00
leaq 0x240844(%rip), %rax    # 0x30d4f0
movsd (%rax), %xmm0
jmp 0xccf2d
leaq 0x240314(%rip), %rax    # 0x30cfd0
movabsq $0x3ff921fb54442d18, %rcx # imm = 0x3FF921FB54442D18
movq %rcx, (%rax)
leaq 0x240308(%rip), %rax    # 0x30cfd8
movabsq $0x400921fb54442d18, %rcx # imm = 0x400921FB54442D18
movq %rcx, (%rax)
movsd 0x5ea73(%rip), %xmm0    # 0x12b758
movsd 0x5ea73(%rip), %xmm1    # 0x12b760
leaq 0x2407ec(%rip), %rax    # 0x30d4e0
movsd (%rax), %xmm2
mulsd 0x3c338(%rip), %xmm2    # 0x109038
cvttsd2si %xmm2, %r14d
movsd 0x3eb1b(%rip), %xmm2    # 0x10b828
divsd %xmm2, %xmm0
divsd %xmm2, %xmm1
leaq 0x64191(%rip), %rsi     # 0x130ead
movq %rbx, %rdi
movb $0x2, %al
callq 0x9560
leaq 0x2402b3(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm0
leaq 0x6419a(%rip), %rsi     # 0x130ed2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240793(%rip), %rax    # 0x30d4dc
movl (%rax), %edx
leaq 0x240786(%rip), %rax    # 0x30d4d8
movl (%rax), %ecx
leaq 0x240779(%rip), %rax    # 0x30d4d4
movl (%rax), %r8d
leaq 0x24076b(%rip), %rax    # 0x30d4d0
movl (%rax), %r9d
leaq 0x24075d(%rip), %rax    # 0x30d4cc
movl (%rax), %r10d
leaq 0x24074f(%rip), %rax    # 0x30d4c8
movl (%rax), %r11d
subq $0x8, %rsp
leaq 0x64164(%rip), %rsi     # 0x130eeb
movq %rbx, %rdi
xorl %eax, %eax
pushq %r14
pushq %r11
pushq %r10
callq 0x9560
addq $0x20, %rsp
leaq 0x240592(%rip), %rax    # 0x30d334
cmpl $0x0, (%rax)
je 0xccdc3
leaq 0x24027a(%rip), %rax    # 0x30d028
movsd (%rax), %xmm0
leaq 0x6416c(%rip), %rsi     # 0x130f25
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x24056e(%rip), %rax    # 0x30d338
cmpl $0x0, (%rax)
je 0xccdeb
leaq 0x24024a(%rip), %rax    # 0x30d020
movsd (%rax), %xmm0
leaq 0x64163(%rip), %rsi     # 0x130f44
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x1566f2(%rip), %r14    # 0x2234e4
movl (%r14), %eax
testl %eax, %eax
je 0xcce5f
testb $0x2, %al
je 0xcce1c
leaq 0x1566ec(%rip), %rax    # 0x2234f0
movsd (%rax), %xmm0
leaq 0x64152(%rip), %rsi     # 0x130f61
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x4, %al
je 0xcce3f
leaq 0x1566d1(%rip), %rax    # 0x2234f8
movsd (%rax), %xmm0
leaq 0x6414a(%rip), %rsi     # 0x130f7c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x1, %al
je 0xcce5f
leaq 0x15669e(%rip), %rax    # 0x2234e8
movsd (%rax), %xmm0
leaq 0x64142(%rip), %rsi     # 0x130f97
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x1720d8(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xcce9a
leaq 0x2404a6(%rip), %rax    # 0x30d318
cmpl $0x0, (%rax)
je 0xce072
leaq 0x17208a(%rip), %rax    # 0x23ef0c
movl (%rax), %edx
leaq 0x64187(%rip), %rsi     # 0x131012
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
jmp 0xce072
leaq 0x14ba2f(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x1ffff, %rax          # imm = 0x1FFFF
jg 0xccebe
cmpq $0x400, %rax            # imm = 0x400
je 0xcce6b
cmpq $0x10000, %rax          # imm = 0x10000
je 0xcce6b
jmp 0xccece
cmpq $0x20000, %rax          # imm = 0x20000
je 0xcce6b
cmpq $0x800000, %rax         # imm = 0x800000
je 0xcce6b
leaq 0x2401fb(%rip), %rax    # 0x30d0d0
movzbl (%rax), %ecx
leal -0x3(%rcx), %eax
cmpl $0x7, %eax
ja 0xce22a
leaq 0x5e089(%rip), %rcx     # 0x12af74
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x640b7(%rip), %rdi     # 0x130fb2
jmp 0xce243
movl (%r14), %eax
addl $0x33, %eax
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
addsd 0x5e853(%rip), %xmm1    # 0x12b768
divsd 0x3c0f3(%rip), %xmm1    # 0x109010
xorpd %xmm0, %xmm0
addsd %xmm1, %xmm0
divsd 0x3c113(%rip), %xmm0    # 0x109040
mulsd 0x3c0e3(%rip), %xmm0    # 0x109018
leaq 0x6414b(%rip), %rsi     # 0x131087
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x2403da(%rip), %rax    # 0x30d334
cmpl $0x0, (%rax)
je 0xccf7b
leaq 0x2400c2(%rip), %rax    # 0x30d028
movsd (%rax), %xmm0
leaq 0x63fb4(%rip), %rsi     # 0x130f25
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x2403b6(%rip), %rax    # 0x30d338
cmpl $0x0, (%rax)
je 0xccfa3
leaq 0x240092(%rip), %rax    # 0x30d020
movsd (%rax), %xmm0
leaq 0x63fab(%rip), %rsi     # 0x130f44
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240e4a(%rip), %rax    # 0x30ddf4
cmpl $0x0, (%rax)
je 0xccfc9
leaq 0x240e3a(%rip), %rax    # 0x30ddf0
movl (%rax), %edx
leaq 0x640e5(%rip), %rsi     # 0x1310a4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x14b900(%rip), %rax    # 0x2188d0
cmpq $0x8, (%rax)
sete %al
leaq 0x14e002(%rip), %rcx    # 0x21afe0
cmpl $0x50, (%rcx)
sete %cl
andb %al, %cl
leaq 0x24025f(%rip), %r14    # 0x30d24c
movl (%r14), %eax
testl %eax, %eax
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xcd01b
leaq 0x23fa15(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm0
leaq 0x640b1(%rip), %rsi     # 0x1310bf
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
leaq 0x2402da(%rip), %rcx    # 0x30d2fc
cmpl $0x0, (%rcx)
leaq 0x24022c(%rip), %r14    # 0x30d258
leaq 0x240229(%rip), %r15    # 0x30d25c
leaq 0x240226(%rip), %r12    # 0x30d260
leaq 0x240a37(%rip), %rcx    # 0x30da78
leaq 0x23fa10(%rip), %r13    # 0x30ca58
jne 0xcd169
testl %eax, %eax
jne 0xcd169
leaq 0x240367(%rip), %rdx    # 0x30d3c4
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x2401c7(%rip), %rdx    # 0x30d234
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x2401bb(%rip), %rdx    # 0x30d238
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x2401af(%rip), %rdx    # 0x30d23c
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x2401a3(%rip), %rdx    # 0x30d240
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x23fba7(%rip), %rdx    # 0x30cc54
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x23fb9f(%rip), %rdx    # 0x30cc5c
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x2702a3(%rip), %rdx    # 0x33d370
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x240307(%rip), %rdx    # 0x30d3e4
cmpl $0x0, (%rdx)
jne 0xcd169
cmpl $0x0, (%r14)
jne 0xcd169
cmpl $0x0, (%r15)
jne 0xcd169
cmpl $0x0, (%r12)
jne 0xcd169
leaq 0x240164(%rip), %rdx    # 0x30d264
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x24015c(%rip), %rdx    # 0x30d268
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x240154(%rip), %rdx    # 0x30d26c
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x24014c(%rip), %rdx    # 0x30d270
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x240940(%rip), %rdx    # 0x30da70
cmpl $0x0, (%rdx)
jne 0xcd169
leaq 0x240938(%rip), %rdx    # 0x30da74
cmpl $0x0, (%rdx)
jne 0xcd169
cmpl $0x0, (%rcx)
jne 0xcd169
leaq 0x23f907(%rip), %rcx    # 0x30ca54
cmpl $0x0, (%rcx)
jne 0xcd169
cmpl $0x0, (%r13)
jne 0xcd169
leaq 0x23f8f0(%rip), %rcx    # 0x30ca50
cmpl $0x0, (%rcx)
je 0xcd847
testl %eax, %eax
setne %al
leaq 0x14b75b(%rip), %rcx    # 0x2188d0
cmpq $0x80000, (%rcx)        # imm = 0x80000
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xcd1a2
leaq 0x23f88b(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm0
leaq 0x63f42(%rip), %rsi     # 0x1310da
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x2400a7(%rip), %rax    # 0x30d250
cmpl $0x0, (%rax)
je 0xcd1ca
leaq 0x23f9f3(%rip), %rax    # 0x30cba8
movsd (%rax), %xmm0
leaq 0x63f35(%rip), %rsi     # 0x1310f5
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240083(%rip), %rax    # 0x30d254
cmpl $0x0, (%rax)
je 0xcd1f2
leaq 0x23f9d3(%rip), %rax    # 0x30cbb0
movsd (%rax), %xmm0
leaq 0x63f2a(%rip), %rsi     # 0x131112
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r14)
je 0xcd214
leaq 0x23f9b9(%rip), %rax    # 0x30cbb8
movsd (%rax), %xmm0
leaq 0x63f25(%rip), %rsi     # 0x13112f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r13)
je 0xcd237
leaq 0x23f826(%rip), %rax    # 0x30ca48
movsd (%rax), %xmm0
leaq 0x63f1f(%rip), %rsi     # 0x13114c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r15)
je 0xcd259
leaq 0x23f954(%rip), %rax    # 0x30cb98
movsd (%rax), %xmm0
leaq 0x63f1a(%rip), %rsi     # 0x131169
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r12)
je 0xcd27c
leaq 0x23f939(%rip), %rax    # 0x30cba0
movsd (%rax), %xmm0
leaq 0x63f0e(%rip), %rsi     # 0x131180
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ffe1(%rip), %rax    # 0x30d264
cmpl $0x0, (%rax)
je 0xcd2a4
leaq 0x23f941(%rip), %rax    # 0x30cbd0
movsd (%rax), %xmm0
leaq 0x63efd(%rip), %rsi     # 0x131197
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ffbd(%rip), %rax    # 0x30d268
cmpl $0x0, (%rax)
je 0xcd2cc
leaq 0x23f921(%rip), %rax    # 0x30cbd8
movsd (%rax), %xmm0
leaq 0x63ef0(%rip), %rsi     # 0x1311b2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ff99(%rip), %rax    # 0x30d26c
cmpl $0x0, (%rax)
je 0xcd2f4
leaq 0x23f901(%rip), %rax    # 0x30cbe0
movsd (%rax), %xmm0
leaq 0x63ee3(%rip), %rsi     # 0x1311cd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ff75(%rip), %rax    # 0x30d270
cmpl $0x0, (%rax)
je 0xcd31c
leaq 0x23f8e1(%rip), %rax    # 0x30cbe8
movsd (%rax), %xmm0
leaq 0x63ed6(%rip), %rsi     # 0x1311e8
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ffd9(%rip), %rax    # 0x30d2fc
cmpl $0x0, (%rax)
je 0xcd390
leaq 0x90a01(%rip), %r15     # 0x15dd30
movq 0x1d0(%r15), %rsi
leaq 0x26eee3(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f6ac(%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 0x63e88(%rip), %rsi     # 0x131203
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x23f6bd(%rip), %rax    # 0x30ca54
cmpl $0x0, (%rax)
je 0xcd404
leaq 0x9098d(%rip), %r15     # 0x15dd30
movq 0x1d0(%r15), %rsi
leaq 0x26ee6f(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f678(%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 0x63e14(%rip), %rsi     # 0x131203
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x23ffb9(%rip), %rax    # 0x30d3c4
cmpl $0x0, (%rax)
je 0xcd42c
leaq 0x23f5e9(%rip), %rax    # 0x30ca00
movsd (%rax), %xmm0
leaq 0x63df8(%rip), %rsi     # 0x13121a
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f61d(%rip), %rax    # 0x30ca50
cmpl $0x0, (%rax)
je 0xcd47e
leaq 0x908f1(%rip), %r15     # 0x15dd30
movq (%r15), %rsi
leaq 0x26edd7(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f5d8(%rip), %rax    # 0x30ca38
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq (%r15), %rsi
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
jmp 0xcd4a8
leaq 0x23fdb3(%rip), %rax    # 0x30d238
cmpl $0x0, (%rax)
je 0xcd4c8
xorl %edi, %edi
callq 0xc7ea0
leaq 0x23f320(%rip), %rax    # 0x30c7b8
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
xorl %edi, %edi
callq 0xc7ea0
leaq 0x63d54(%rip), %rsi     # 0x131203
leaq 0x26ed6a(%rip), %rcx    # 0x33c220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x23fd65(%rip), %rax    # 0x30d234
cmpl $0x0, (%rax)
je 0xcd55e
leaq 0x14b3f1(%rip), %rax    # 0x2188d0
movq (%rax), %r15
leaq 0x90847(%rip), %r12     # 0x15dd30
movq 0xe8(%r12), %rsi
leaq 0x26ed28(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f2b1(%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 0x63cff(%rip), %rax     # 0x13123d
leaq 0x63cbe(%rip), %rsi     # 0x131203
cmoveq %rax, %rsi
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x23fcd7(%rip), %rax    # 0x30d23c
cmpl $0x0, (%rax)
je 0xcd5d2
leaq 0x907bf(%rip), %r15     # 0x15dd30
movq 0x910(%r15), %rsi
leaq 0x26eca1(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f232(%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 0x63c46(%rip), %rsi     # 0x131203
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x23fc67(%rip), %rax    # 0x30d240
cmpl $0x0, (%rax)
je 0xcd646
leaq 0x9074b(%rip), %r15     # 0x15dd30
movq 0x9f8(%r15), %rsi
leaq 0x26ec2d(%rip), %r14    # 0x33c220
movq %r14, %rdi
callq 0x9340
movq %r14, %rdi
callq 0x986c
leaq 0x23f1c6(%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 0x63bd2(%rip), %rsi     # 0x131203
movq %rbx, %rdi
movq %r14, %rdx
movsd -0x30(%rbp), %xmm0
movq %r14, %rcx
movb $0x1, %al
callq 0x9560
leaq 0x24072b(%rip), %rax    # 0x30dd78
cmpl $0x0, (%rax)
je 0xcd66c
leaq 0x24071b(%rip), %rax    # 0x30dd74
movl (%rax), %edx
leaq 0x63bf2(%rip), %rsi     # 0x131254
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x26fcfd(%rip), %rax    # 0x33d370
cmpl $0x0, (%rax)
je 0xcd694
leaq 0x26fce9(%rip), %rax    # 0x33d368
movsd (%rax), %xmm0
leaq 0x63be3(%rip), %rsi     # 0x13126d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f5b9(%rip), %rax    # 0x30cc54
cmpl $0x0, (%rax)
je 0xcd6ba
leaq 0x23f5a9(%rip), %rax    # 0x30cc50
movl (%rax), %edx
leaq 0x63bd8(%rip), %rsi     # 0x131288
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23f59b(%rip), %rax    # 0x30cc5c
cmpl $0x0, (%rax)
je 0xcd6f9
leaq 0x14b203(%rip), %rax    # 0x2188d0
cmpq $0x40000, (%rax)        # imm = 0x40000
leaq 0x23f57d(%rip), %rax    # 0x30cc58
movl (%rax), %edx
leaq 0x63bbd(%rip), %rax     # 0x1312a1
leaq 0x63bcd(%rip), %rsi     # 0x1312b8
cmoveq %rax, %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23fce4(%rip), %rax    # 0x30d3e4
cmpl $0x0, (%rax)
je 0xcd71f
leaq 0x270630(%rip), %rax    # 0x33dd3c
movl (%rax), %edx
leaq 0x63bbc(%rip), %rsi     # 0x1312d1
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x171818(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xcd8b5
leaq 0x23f6ca(%rip), %rax    # 0x30ce00
movsd (%rax), %xmm0
leaq 0x63ba7(%rip), %rsi     # 0x1312e8
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f686(%rip), %rax    # 0x30cdd8
movsd (%rax), %xmm0
leaq 0x63baa(%rip), %rsi     # 0x131307
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f662(%rip), %rax    # 0x30cdd0
movsd (%rax), %xmm0
leaq 0x63ba9(%rip), %rsi     # 0x131322
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x14da7e(%rip), %rax    # 0x21b208
movsd (%rax), %xmm0
leaq 0x6399a(%rip), %rsi     # 0x13112f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f75a(%rip), %rax    # 0x30cf00
movsd (%rax), %xmm0
leaq 0x63b8c(%rip), %rsi     # 0x13133d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f746(%rip), %rax    # 0x30cf08
movsd (%rax), %xmm0
leaq 0x63b8b(%rip), %rsi     # 0x131358
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f732(%rip), %rax    # 0x30cf10
movsd (%rax), %xmm0
leaq 0x63b8c(%rip), %rsi     # 0x131375
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f71e(%rip), %rax    # 0x30cf18
movsd (%rax), %xmm0
leaq 0x63b89(%rip), %rsi     # 0x13138e
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f5da(%rip), %rax    # 0x30cdf0
movsd (%rax), %xmm0
leaq 0x63b8a(%rip), %rsi     # 0x1313ab
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f3a6(%rip), %rax    # 0x30cbd8
movsd (%rax), %xmm0
leaq 0x63b87(%rip), %rsi     # 0x1313c4
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x14b082(%rip), %rax    # 0x2188d0
movq (%rax), %rcx
cmpq $0x1ffffff, %rcx        # imm = 0x1FFFFFF
jle 0xcd88e
cmpq $0x2000000, %rcx        # imm = 0x2000000
je 0xcd991
cmpq $0x8000000, %rcx        # imm = 0x8000000
je 0xcd99b
cmpq $0x10000000, %rcx       # imm = 0x10000000
jne 0xcd9ad
movq %rbx, %rdi
callq 0xcbbd4
jmp 0xcd9ad
cmpq $0x20000, %rcx          # imm = 0x20000
je 0xcd9a5
cmpq $0x1000000, %rcx        # imm = 0x1000000
jne 0xcd9ad
movq %rbx, %rdi
callq 0xcbdb2
jmp 0xcd9ad
leaq 0x14b014(%rip), %rax    # 0x2188d0
movq (%rax), %rcx
cmpq $0x10000, %rcx          # imm = 0x10000
je 0xcd851
cmpq $0x20000, %rcx          # imm = 0x20000
je 0xcd851
leaq 0x240198(%rip), %rax    # 0x30da70
movl (%rax), %edx
leaq 0x240193(%rip), %rax    # 0x30da74
movl (%rax), %eax
leaq 0x24018e(%rip), %rsi    # 0x30da78
movl (%rsi), %esi
cmpq $0x400000, %rcx         # imm = 0x400000
jne 0xce18f
leaq 0x2400b8(%rip), %rcx    # 0x30d9b8
cmpl $0x0, (%rcx)
je 0xce18f
movl %edx, %ecx
orl %eax, %ecx
orl %esi, %ecx
je 0xce18f
leaq 0x240098(%rip), %rcx    # 0x30d9b4
cmpl $0x0, (%rcx)
je 0xce268
testl %edx, %edx
je 0xcd94e
leaq 0x240128(%rip), %rax    # 0x30da58
movsd (%rax), %xmm0
leaq 0x63ade(%rip), %rsi     # 0x131419
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240128(%rip), %rax    # 0x30da74
movl (%rax), %eax
testl %eax, %eax
je 0xcd96e
leaq 0x240107(%rip), %rax    # 0x30da60
movsd (%rax), %xmm0
leaq 0x63ad2(%rip), %rsi     # 0x131436
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x240103(%rip), %rax    # 0x30da78
cmpl $0x0, (%rax)
je 0xce2b1
leaq 0x63ace(%rip), %rsi     # 0x131453
leaq 0x2400dc(%rip), %rax    # 0x30da68
jmp 0xce2a3
movq %rbx, %rdi
callq 0xcc659
jmp 0xcd9ad
movq %rbx, %rdi
callq 0xcbcc6
jmp 0xcd9ad
movq %rbx, %rdi
callq 0xcb72c
leaq 0x23f93c(%rip), %rax    # 0x30d2f0
movl (%rax), %ecx
leaq 0x23f937(%rip), %r12    # 0x30d2f4
movl (%r12), %eax
leaq 0x23f930(%rip), %r15    # 0x30d2f8
movl (%r15), %edx
leaq 0x23f92e(%rip), %r14    # 0x30d300
orl (%r14), %edx
orl %eax, %edx
orl %ecx, %edx
je 0xcda74
testl %ecx, %ecx
je 0xcda03
leaq 0x23f706(%rip), %rax    # 0x30d0f0
movsd (%rax), %xmm0
leaq 0x63a96(%rip), %rsi     # 0x13148b
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r12), %eax
testl %eax, %eax
je 0xcda23
leaq 0x23f6f2(%rip), %rax    # 0x30d100
movsd (%rax), %xmm0
leaq 0x63a89(%rip), %rsi     # 0x1314a2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r15)
je 0xcda45
leaq 0x23f6d8(%rip), %rax    # 0x30d108
movsd (%rax), %xmm0
leaq 0x63a82(%rip), %rsi     # 0x1314bd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r14)
je 0xcda67
leaq 0x23f6fe(%rip), %rax    # 0x30d150
movsd (%rax), %xmm0
leaq 0x63a81(%rip), %rsi     # 0x1314de
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x23f861(%rip), %rax    # 0x30d2dc
cmpl $0x0, (%rax)
je 0xcda9a
leaq 0x240299(%rip), %rax    # 0x30dd20
cmpb $0x0, (%rax)
je 0xcda9f
leaq 0x63a68(%rip), %rdi     # 0x1314fb
movl $0x1a, %esi
jmp 0xcdaab
xorl %r14d, %r14d
jmp 0xcdabe
leaq 0x63a70(%rip), %rdi     # 0x131516
movl $0x1b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
movl $0x1, %r14d
leaq 0x23f80b(%rip), %rax    # 0x30d2d0
cmpl $0x0, (%rax)
je 0xcdb5f
leaq 0x14adfb(%rip), %rax    # 0x2188d0
movq (%rax), %rcx
cmpq $0x4, %rcx
sete %dl
leaq 0x24023d(%rip), %rax    # 0x30dd23
movb (%rax), %al
cmpb $-0x7e, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xcdb05
leaq 0x63a34(%rip), %rdi     # 0x131532
movl $0x21, %esi
jmp 0xcdb4f
cmpq $0x4, %rcx
sete %dl
cmpb $-0x7d, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xcdb29
leaq 0x63a32(%rip), %rdi     # 0x131554
movl $0x22, %esi
jmp 0xcdb4f
cmpq $0x4, %rcx
sete %dl
testb %al, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xce164
leaq 0x63a2d(%rip), %rdi     # 0x131577
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23f77a(%rip), %rax    # 0x30d2e0
cmpl $0x0, (%rax)
je 0xcdb9c
leaq 0x2401a6(%rip), %rax    # 0x30dd18
cmpl $0x0, (%rax)
leaq 0x63a7e(%rip), %rax     # 0x1315fa
leaq 0x63a56(%rip), %rdi     # 0x1315d9
cmoveq %rax, %rdi
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23f745(%rip), %rax    # 0x30d2e8
cmpl $0x0, (%rax)
je 0xcdbd9
leaq 0x240163(%rip), %rax    # 0x30dd12
cmpb $0x0, (%rax)
leaq 0x63a83(%rip), %rax     # 0x13163c
leaq 0x63a5b(%rip), %rdi     # 0x13161b
cmoveq %rax, %rdi
movl $0x20, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23f6d4(%rip), %rax    # 0x30d2b4
cmpl $0x0, (%rax)
je 0xcdc0c
leaq 0x2401dc(%rip), %rax    # 0x30ddc8
movsd (%rax), %xmm0
mulsd 0x3b430(%rip), %xmm0    # 0x109028
leaq 0x63a5e(%rip), %rsi     # 0x13165d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
incl %r14d
leaq 0x23f6a9(%rip), %rax    # 0x30d2bc
cmpl $0x0, (%rax)
je 0xcdc42
leaq 0x2401b1(%rip), %rax    # 0x30ddd0
movsd (%rax), %xmm0
mulsd 0x3b3fd(%rip), %xmm0    # 0x109028
leaq 0x63a46(%rip), %rsi     # 0x131678
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0x1, %r14d
leaq 0x23f66f(%rip), %r15    # 0x30d2b8
movl (%r15), %eax
testb $0x1, %al
jne 0xcdc5b
testb $0x2, %al
jne 0xcdc7d
testl %r14d, %r14d
jne 0xcdc99
jmp 0xcdca6
leaq 0x240176(%rip), %rax    # 0x30ddd8
movsd (%rax), %xmm0
leaq 0x63a2a(%rip), %rsi     # 0x131697
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x2, (%r15)
je 0xcdc99
leaq 0x24015c(%rip), %rax    # 0x30dde0
movsd (%rax), %xmm0
leaq 0x63a2b(%rip), %rsi     # 0x1316ba
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x155837(%rip), %r14    # 0x2234e4
movl (%r14), %eax
testl %eax, %eax
je 0xcde02
leaq 0x155831(%rip), %rcx    # 0x2234f0
movsd (%rcx), %xmm0
leaq 0x15582e(%rip), %r13    # 0x2234f8
movsd (%r13), %xmm1
addsd %xmm0, %xmm1
leaq 0x15580d(%rip), %r12    # 0x2234e8
addsd (%r12), %xmm1
leaq 0x155818(%rip), %r15    # 0x223500
addsd (%r15), %xmm1
leaq 0x155814(%rip), %rcx    # 0x223508
addsd (%rcx), %xmm1
leaq 0x155811(%rip), %rcx    # 0x223510
addsd (%rcx), %xmm1
leaq 0x15580e(%rip), %rcx    # 0x223518
addsd (%rcx), %xmm1
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0xcdd1e
jnp 0xcde02
testb $0x2, %al
je 0xcdd36
leaq 0x63238(%rip), %rsi     # 0x130f61
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x4, %al
je 0xcdd54
movsd (%r13), %xmm0
leaq 0x63235(%rip), %rsi     # 0x130f7c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x1, %al
je 0xcdd72
movsd (%r12), %xmm0
leaq 0x63232(%rip), %rsi     # 0x130f97
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x8, %al
je 0xcdd8f
movsd (%r15), %xmm0
leaq 0x6395b(%rip), %rsi     # 0x1316dd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x10, %al
je 0xcddb2
leaq 0x15576e(%rip), %rax    # 0x223508
movsd (%rax), %xmm0
leaq 0x63953(%rip), %rsi     # 0x1316f8
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x20, %al
je 0xcddd5
leaq 0x155753(%rip), %rax    # 0x223510
movsd (%rax), %xmm0
leaq 0x6394b(%rip), %rsi     # 0x131713
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x40, %al
je 0xcddf5
leaq 0x155738(%rip), %rax    # 0x223518
movsd (%rax), %xmm0
leaq 0x63943(%rip), %rsi     # 0x13172e
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x171135(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xce099
leaq 0x23f5df(%rip), %rax    # 0x30d3f8
cmpl $0x0, (%rax)
je 0xcde3d
leaq 0x23f293(%rip), %rax    # 0x30d0b8
xorps %xmm0, %xmm0
cvtss2sd (%rax), %xmm0
leaq 0x63a44(%rip), %rsi     # 0x131877
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f5b8(%rip), %rax    # 0x30d3fc
cmpl $0x0, (%rax)
je 0xcde68
leaq 0x23f264(%rip), %rax    # 0x30d0b4
xorps %xmm0, %xmm0
cvtss2sd (%rax), %xmm0
leaq 0x63a3a(%rip), %rsi     # 0x131898
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0xa2e09(%rip), %rax     # 0x170c78
cmpl $0x0, (%rax)
setne %al
leaq 0xa2df8(%rip), %rcx     # 0x170c74
movl (%rcx), %r15d
testl %r15d, %r15d
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xcdf61
leaq 0x26e389(%rip), %r14    # 0x33c220
movb $0x0, (%r14)
testb $0x1, %r15b
je 0xcdeb0
movq %r14, %rdi
callq 0x9120
movw $0x47, (%r14,%rax)
testb $0x2, %r15b
je 0xcdec5
movq %r14, %rdi
callq 0x9120
movw $0x52, (%r14,%rax)
testb $0x8, %r15b
je 0xcdeda
movq %r14, %rdi
callq 0x9120
movw $0x43, (%r14,%rax)
testb $0x4, %r15b
je 0xcdeef
movq %r14, %rdi
callq 0x9120
movw $0x45, (%r14,%rax)
testw %r15w, %r15w
jns 0xcdf04
movq %r14, %rdi
callq 0x9120
movw $0x53, (%r14,%rax)
btl $0xe, %r15d
jae 0xcdf1a
movq %r14, %rdi
callq 0x9120
movw $0x51, (%r14,%rax)
btl $0xd, %r15d
jae 0xcdf30
movq %r14, %rdi
callq 0x9120
movw $0x49, (%r14,%rax)
leaq 0x63980(%rip), %rsi     # 0x1318b7
leaq 0x26e2e2(%rip), %rdx    # 0x33c220
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x63979(%rip), %rdi     # 0x1318c8
movl $0x8, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
leaq 0x23f3b0(%rip), %rax    # 0x30d318
cmpl $0x0, (%rax)
je 0xcdf87
leaq 0x170f98(%rip), %rax    # 0x23ef0c
movl (%rax), %edx
leaq 0x63095(%rip), %rsi     # 0x131012
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x170487(%rip), %rax    # 0x23e415
cmpb $0x0, (%rax)
je 0xcdf9b
movq %rbx, %rdi
callq 0xc7666
leaq 0x23f02e(%rip), %rax    # 0x30cfd0
movsd (%rax), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0xcdfc9
jp 0xcdfc9
leaq 0x23f01f(%rip), %rax    # 0x30cfd8
movsd (%rax), %xmm1
ucomisd %xmm0, %xmm1
jne 0xcdfc9
jnp 0xce072
leaq 0x23f0a8(%rip), %r14    # 0x30d078
cmpl $0x0, (%r14)
je 0xce037
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x23f05e(%rip), %rax    # 0x30d048
movsd (%rax), %xmm0
leaq 0x638dc(%rip), %rsi     # 0x1318d1
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f04a(%rip), %rax    # 0x30d050
movsd (%rax), %xmm0
leaq 0x638e1(%rip), %rsi     # 0x1318f2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f036(%rip), %rax    # 0x30d058
movsd (%rax), %xmm0
leaq 0x638e6(%rip), %rsi     # 0x131913
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f03e(%rip), %rax    # 0x30d07c
cmpl $0x0, (%rax)
je 0xce072
cmpl $0x0, (%r14)
jne 0xce056
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
leaq 0x23efd3(%rip), %rax    # 0x30d030
movsd (%rax), %xmm0
leaq 0x638cc(%rip), %rsi     # 0x131934
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x62fb0(%rip), %rdi     # 0x131029
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 0x14a830(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0xffffff, %rax         # imm = 0xFFFFFF
jle 0xce0e0
cmpq $0x7ffffff, %rax        # imm = 0x7FFFFFF
jle 0xce11c
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0xcde12
cmpq $0x10000000, %rax       # imm = 0x10000000
je 0xcde12
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
cmpq %rcx, %rax
je 0xcde12
jmp 0xce134
cmpq $0x1ffff, %rax          # imm = 0x1FFFF
jg 0xce102
cmpq $0x400, %rax            # imm = 0x400
je 0xcde12
cmpq $0x10000, %rax          # imm = 0x10000
je 0xcde12
jmp 0xce134
cmpq $0x20000, %rax          # imm = 0x20000
je 0xcde12
cmpq $0x800000, %rax         # imm = 0x800000
je 0xcde12
jmp 0xce134
cmpq $0x1000000, %rax        # imm = 0x1000000
je 0xcde12
cmpq $0x2000000, %rax        # imm = 0x2000000
je 0xcde12
leaq 0x23ef95(%rip), %rcx    # 0x30d0d0
movzbl (%rcx), %ecx
cmpq $0xb, %rcx
ja 0xce347
leaq 0x5cdf5(%rip), %rdx     # 0x12af44
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x635ea(%rip), %rdi     # 0x131749
jmp 0xce2d8
cmpq $0x20, %rcx
sete %cl
testb %al, %al
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0xcdaf7
cmpb $-0x7e, %al
jne 0xce219
leaq 0x6340e(%rip), %rdi     # 0x131598
jmp 0xcdb4a
movl %edx, %ecx
orl %eax, %ecx
orl %esi, %ecx
je 0xce207
testl %edx, %edx
je 0xce1c0
leaq 0x23f8b6(%rip), %rax    # 0x30da58
movsd (%rax), %xmm0
leaq 0x6326c(%rip), %rsi     # 0x131419
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f8b6(%rip), %rax    # 0x30da74
movl (%rax), %eax
testl %eax, %eax
je 0xce1e0
leaq 0x23f895(%rip), %rax    # 0x30da60
movsd (%rax), %xmm0
leaq 0x63260(%rip), %rsi     # 0x131436
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f891(%rip), %rax    # 0x30da78
cmpl $0x0, (%rax)
je 0xcd847
leaq 0x23f871(%rip), %rax    # 0x30da68
movsd (%rax), %xmm0
leaq 0x63251(%rip), %rsi     # 0x131453
jmp 0xcd83d
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
jmp 0xcd847
leaq 0x63399(%rip), %rdi     # 0x1315b9
movl $0x1f, %esi
jmp 0xcdb4f
cmpl $0x63, %ecx
jne 0xcce6b
leaq 0x62da6(%rip), %rdi     # 0x130fe0
jmp 0xce251
leaq 0x62d86(%rip), %rdi     # 0x130fc9
movl $0x16, %esi
jmp 0xce256
leaq 0x62da8(%rip), %rdi     # 0x130ff9
movl $0x18, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
jmp 0xcce6b
testl %edx, %edx
je 0xce291
leaq 0x23f7e5(%rip), %rax    # 0x30da58
movsd (%rax), %xmm0
leaq 0x63161(%rip), %rsi     # 0x1313df
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f7e5(%rip), %rax    # 0x30da74
movl (%rax), %eax
testl %eax, %eax
je 0xce2b1
leaq 0x63160(%rip), %rsi     # 0x1313fc
leaq 0x23f7bd(%rip), %rax    # 0x30da60
movsd (%rax), %xmm0
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23f7d8(%rip), %rax    # 0x30da90
movsd (%rax), %xmm0
leaq 0x631ad(%rip), %rsi     # 0x131470
jmp 0xcd83d
leaq 0x63571(%rip), %rdi     # 0x131840
jmp 0xce30b
leaq 0x634a5(%rip), %rdi     # 0x13177d
movl $0x18, %esi
jmp 0xce353
leaq 0x634b0(%rip), %rdi     # 0x131796
movl $0x19, %esi
jmp 0xce353
leaq 0x62cd5(%rip), %rdi     # 0x130fc9
jmp 0xce2fd
leaq 0x62cb5(%rip), %rdi     # 0x130fb2
movl $0x16, %esi
jmp 0xce353
leaq 0x63457(%rip), %rdi     # 0x131762
movl $0x1a, %esi
jmp 0xce353
leaq 0x63497(%rip), %rdi     # 0x1317b0
jmp 0xce32e
cmpq $0x10, %rax
je 0xce327
cmpq $0x8, %rax
jne 0xce372
leaq 0x6349f(%rip), %rdi     # 0x1317cd
movl $0x1c, %esi
jmp 0xce353
leaq 0x634e8(%rip), %rdi     # 0x131824
jmp 0xce34e
leaq 0x634c3(%rip), %rdi     # 0x131808
jmp 0xce34e
leaq 0x6350d(%rip), %rdi     # 0x13185b
movl $0x1b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x9750
movl $0xa, %edi
movq %rbx, %rsi
callq 0x9480
jmp 0xcde12
leaq 0x63471(%rip), %rdi     # 0x1317ea
movl $0x1d, %esi
jmp 0xce353