// File: /workspace/github_cpp_makefile_star2_O2/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 0xbb59a
movq %rdi, %rbx
leaq 0x16cf0e(%rip), %rax    # 0x228448
movl (%rax), %edx
movabsq $0x3ff921fb54442d18, %rcx # imm = 0x3FF921FB54442D18
movabsq $0x400921fb54442d18, %rax # imm = 0x400921FB54442D18
cmpl $0xa, %edx
je 0xbb605
cmpl $0x1e, %edx
je 0xbb5a9
cmpl $0x14, %edx
jne 0xbb59a
leaq 0x149e78(%rip), %rdx    # 0x2053e2
cmpb $0x0, (%rdx)
je 0xbbc57
leaq 0x23ba56(%rip), %rax    # 0x2f6fd0
leaq 0x23ba57(%rip), %rcx    # 0x2f6fd8
movsd 0x3a31f(%rip), %xmm1    # 0xf58a8
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
mulsd (%rcx), %xmm1
jmp 0xbbc7b
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x23ba28(%rip), %rax    # 0x2f6fd8
movsd 0x3a2f0(%rip), %xmm1    # 0xf58a8
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
movsd 0x3a2d8(%rip), %xmm2    # 0xf58a0
divsd %xmm2, %xmm0
leaq 0x23b9fd(%rip), %rax    # 0x2f6fd0
mulsd (%rax), %xmm1
divsd %xmm2, %xmm1
leaq 0x23b9fe(%rip), %rax    # 0x2f6fe0
movsd (%rax), %xmm2
leaq 0x60284(%rip), %rsi     # 0x11b871
movq %rbx, %rdi
movb $0x3, %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x9560
leaq 0x149dd6(%rip), %rdx    # 0x2053e2
cmpb $0x0, (%rdx)
je 0xbb635
leaq 0x23b9b8(%rip), %rax    # 0x2f6fd0
leaq 0x23b9b9(%rip), %rcx    # 0x2f6fd8
movsd 0x3a281(%rip), %xmm1    # 0xf58a8
movsd (%rax), %xmm0
mulsd %xmm1, %xmm0
mulsd (%rcx), %xmm1
jmp 0xbb659
leaq 0x23b994(%rip), %rdx    # 0x2f6fd0
movq %rcx, (%rdx)
leaq 0x23b992(%rip), %rcx    # 0x2f6fd8
movq %rax, (%rcx)
movsd 0x5a04f(%rip), %xmm0    # 0x1156a0
movsd 0x5a04f(%rip), %xmm1    # 0x1156a8
leaq 0x23be80(%rip), %rax    # 0x2f74e0
movsd (%rax), %xmm2
mulsd 0x379cc(%rip), %xmm2    # 0xf3038
cvttsd2si %xmm2, %r14d
movsd 0x3a227(%rip), %xmm2    # 0xf58a0
divsd %xmm2, %xmm0
divsd %xmm2, %xmm1
leaq 0x5f745(%rip), %rsi     # 0x11adcd
movq %rbx, %rdi
movb $0x2, %al
callq 0x9560
leaq 0x23b947(%rip), %rax    # 0x2f6fe0
movsd (%rax), %xmm0
leaq 0x5f74e(%rip), %rsi     # 0x11adf2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23be27(%rip), %rax    # 0x2f74dc
movl (%rax), %edx
leaq 0x23be1a(%rip), %rax    # 0x2f74d8
movl (%rax), %ecx
leaq 0x23be0d(%rip), %rax    # 0x2f74d4
movl (%rax), %r8d
leaq 0x23bdff(%rip), %rax    # 0x2f74d0
movl (%rax), %r9d
leaq 0x23bdf1(%rip), %rax    # 0x2f74cc
movl (%rax), %r10d
leaq 0x23bde3(%rip), %rax    # 0x2f74c8
movl (%rax), %r11d
subq $0x8, %rsp
leaq 0x5f718(%rip), %rsi     # 0x11ae0b
movq %rbx, %rdi
xorl %eax, %eax
pushq %r14
pushq %r11
pushq %r10
callq 0x9560
addq $0x20, %rsp
leaq 0x23bc1e(%rip), %rax    # 0x2f732c
cmpl $0x0, (%rax)
je 0xbb72e
leaq 0x23c01e(%rip), %rax    # 0x2f7738
movzwl (%rax), %edx
leaq 0x5f836(%rip), %rsi     # 0x11af5a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23bbf3(%rip), %rax    # 0x2f7328
cmpl $0x0, (%rax)
je 0xbb754
leaq 0x23c003(%rip), %rax    # 0x2f7744
movl (%rax), %edx
leaq 0x5f829(%rip), %rsi     # 0x11af73
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23bbc1(%rip), %r14    # 0x2f731c
cmpl $0x0, (%r14)
je 0xbb79f
leaq 0x23bfc0(%rip), %rax    # 0x2f7728
movl (%rax), %edx
leaq 0x5f819(%rip), %rsi     # 0x11af8a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
cmpl $0x0, (%r14)
je 0xbb79f
callq 0xbcc92
mulsd 0x3788a(%rip), %xmm0    # 0xf3018
leaq 0x5f812(%rip), %rsi     # 0x11afa7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
leaq 0x23bb83(%rip), %rax    # 0x2f7334
cmpl $0x0, (%rax)
je 0xbb7d2
leaq 0x23b86b(%rip), %rax    # 0x2f7028
movsd (%rax), %xmm0
leaq 0x5f67d(%rip), %rsi     # 0x11ae45
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23bb5f(%rip), %rax    # 0x2f7338
cmpl $0x0, (%rax)
je 0xbb7fa
leaq 0x23b83b(%rip), %rax    # 0x2f7020
movsd (%rax), %xmm0
leaq 0x5f674(%rip), %rsi     # 0x11ae64
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23c5f3(%rip), %rax    # 0x2f7df4
cmpl $0x0, (%rax)
je 0xbb820
leaq 0x23c5e3(%rip), %rax    # 0x2f7df0
movl (%rax), %edx
leaq 0x5f7ae(%rip), %rsi     # 0x11afc4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x1470a9(%rip), %rax    # 0x2028d0
cmpq $0x8, (%rax)
sete %al
leaq 0x1497ab(%rip), %rcx    # 0x204fe0
cmpl $0x50, (%rcx)
sete %cl
andb %al, %cl
leaq 0x23ba08(%rip), %r14    # 0x2f724c
movl (%r14), %eax
testl %eax, %eax
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xbb872
leaq 0x23b1be(%rip), %rax    # 0x2f6a18
movsd (%rax), %xmm0
leaq 0x5f77a(%rip), %rsi     # 0x11afdf
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
leaq 0x23ba83(%rip), %rcx    # 0x2f72fc
cmpl $0x0, (%rcx)
leaq 0x23b9d5(%rip), %r14    # 0x2f7258
leaq 0x23b9d2(%rip), %r12    # 0x2f725c
leaq 0x23b9cf(%rip), %r15    # 0x2f7260
leaq 0x23c1e0(%rip), %rcx    # 0x2f7a78
leaq 0x23b1b9(%rip), %r13    # 0x2f6a58
jne 0xbb9c0
testl %eax, %eax
jne 0xbb9c0
leaq 0x23bb10(%rip), %rdx    # 0x2f73c4
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b970(%rip), %rdx    # 0x2f7234
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b964(%rip), %rdx    # 0x2f7238
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b958(%rip), %rdx    # 0x2f723c
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b94c(%rip), %rdx    # 0x2f7240
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b350(%rip), %rdx    # 0x2f6c54
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b348(%rip), %rdx    # 0x2f6c5c
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x26ba4c(%rip), %rdx    # 0x327370
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23bab0(%rip), %rdx    # 0x2f73e4
cmpl $0x0, (%rdx)
jne 0xbb9c0
cmpl $0x0, (%r14)
jne 0xbb9c0
cmpl $0x0, (%r12)
jne 0xbb9c0
cmpl $0x0, (%r15)
jne 0xbb9c0
leaq 0x23b90d(%rip), %rdx    # 0x2f7264
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b905(%rip), %rdx    # 0x2f7268
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b8fd(%rip), %rdx    # 0x2f726c
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23b8f5(%rip), %rdx    # 0x2f7270
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23c0e9(%rip), %rdx    # 0x2f7a70
cmpl $0x0, (%rdx)
jne 0xbb9c0
leaq 0x23c0e1(%rip), %rdx    # 0x2f7a74
cmpl $0x0, (%rdx)
jne 0xbb9c0
cmpl $0x0, (%rcx)
jne 0xbb9c0
leaq 0x23b0b0(%rip), %rcx    # 0x2f6a54
cmpl $0x0, (%rcx)
jne 0xbb9c0
cmpl $0x0, (%r13)
jne 0xbb9c0
leaq 0x23b099(%rip), %rcx    # 0x2f6a50
cmpl $0x0, (%rcx)
je 0xbc1dc
testl %eax, %eax
setne %al
leaq 0x146f04(%rip), %rcx    # 0x2028d0
cmpq $0x80000, (%rcx)        # imm = 0x80000
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xbb9f9
leaq 0x23b034(%rip), %rax    # 0x2f6a18
movsd (%rax), %xmm0
leaq 0x5f60b(%rip), %rsi     # 0x11affa
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b850(%rip), %rax    # 0x2f7250
cmpl $0x0, (%rax)
je 0xbba21
leaq 0x23b19c(%rip), %rax    # 0x2f6ba8
movsd (%rax), %xmm0
leaq 0x5f5fe(%rip), %rsi     # 0x11b015
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b82c(%rip), %rax    # 0x2f7254
cmpl $0x0, (%rax)
je 0xbba49
leaq 0x23b17c(%rip), %rax    # 0x2f6bb0
movsd (%rax), %xmm0
leaq 0x5f5f3(%rip), %rsi     # 0x11b032
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r14)
je 0xbba6b
leaq 0x23b162(%rip), %rax    # 0x2f6bb8
movsd (%rax), %xmm0
leaq 0x5f5ee(%rip), %rsi     # 0x11b04f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r13)
je 0xbba8e
leaq 0x23afcf(%rip), %rax    # 0x2f6a48
movsd (%rax), %xmm0
leaq 0x5f5e8(%rip), %rsi     # 0x11b06c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r12)
je 0xbbab1
leaq 0x23b0fc(%rip), %rax    # 0x2f6b98
movsd (%rax), %xmm0
leaq 0x5f5e2(%rip), %rsi     # 0x11b089
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r15)
je 0xbbad3
leaq 0x23b0e2(%rip), %rax    # 0x2f6ba0
movsd (%rax), %xmm0
leaq 0x5f5d7(%rip), %rsi     # 0x11b0a0
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b78a(%rip), %rax    # 0x2f7264
cmpl $0x0, (%rax)
je 0xbbafb
leaq 0x23b0ea(%rip), %rax    # 0x2f6bd0
movsd (%rax), %xmm0
leaq 0x5f5c6(%rip), %rsi     # 0x11b0b7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b766(%rip), %rax    # 0x2f7268
cmpl $0x0, (%rax)
je 0xbbb23
leaq 0x23b0ca(%rip), %rax    # 0x2f6bd8
movsd (%rax), %xmm0
leaq 0x5f5b9(%rip), %rsi     # 0x11b0d2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b742(%rip), %rax    # 0x2f726c
cmpl $0x0, (%rax)
je 0xbbb4b
leaq 0x23b0aa(%rip), %rax    # 0x2f6be0
movsd (%rax), %xmm0
leaq 0x5f5ac(%rip), %rsi     # 0x11b0ed
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b71e(%rip), %rax    # 0x2f7270
cmpl $0x0, (%rax)
je 0xbbb73
leaq 0x23b08a(%rip), %rax    # 0x2f6be8
movsd (%rax), %xmm0
leaq 0x5f59f(%rip), %rsi     # 0x11b108
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b782(%rip), %rax    # 0x2f72fc
cmpl $0x0, (%rax)
je 0xbbbc3
pushq $0x2
popq %r14
movl %r14d, %edi
callq 0xb6b39
leaq 0x23ae6e(%rip), %rax    # 0x2f6a00
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movl %r14d, %edi
callq 0xb6b39
leaq 0x5f579(%rip), %rsi     # 0x11b123
leaq 0x26a66f(%rip), %rcx    # 0x326220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x23ae8a(%rip), %rax    # 0x2f6a54
cmpl $0x0, (%rax)
je 0xbbc13
pushq $0x2
popq %r14
movl %r14d, %edi
callq 0xb6b39
leaq 0x23ae5e(%rip), %rax    # 0x2f6a40
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movl %r14d, %edi
callq 0xb6b39
leaq 0x5f529(%rip), %rsi     # 0x11b123
leaq 0x26a61f(%rip), %rcx    # 0x326220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x23b7aa(%rip), %rax    # 0x2f73c4
cmpl $0x0, (%rax)
je 0xbbc3b
leaq 0x23adda(%rip), %rax    # 0x2f6a00
movsd (%rax), %xmm0
leaq 0x5f509(%rip), %rsi     # 0x11b13a
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ae0e(%rip), %rax    # 0x2f6a50
cmpl $0x0, (%rax)
je 0xbbe84
leaq 0x23ade6(%rip), %r14    # 0x2f6a38
jmp 0xbbe97
leaq 0x23b372(%rip), %rdx    # 0x2f6fd0
movq %rcx, (%rdx)
leaq 0x23b370(%rip), %rcx    # 0x2f6fd8
movq %rax, (%rcx)
movsd 0x59a2d(%rip), %xmm0    # 0x1156a0
movsd 0x59a2d(%rip), %xmm1    # 0x1156a8
leaq 0x23b85e(%rip), %rax    # 0x2f74e0
movsd (%rax), %xmm2
mulsd 0x373aa(%rip), %xmm2    # 0xf3038
cvttsd2si %xmm2, %r14d
movsd 0x39c05(%rip), %xmm2    # 0xf58a0
divsd %xmm2, %xmm0
divsd %xmm2, %xmm1
leaq 0x5f123(%rip), %rsi     # 0x11adcd
movq %rbx, %rdi
movb $0x2, %al
callq 0x9560
leaq 0x23b325(%rip), %rax    # 0x2f6fe0
movsd (%rax), %xmm0
leaq 0x5f12c(%rip), %rsi     # 0x11adf2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b805(%rip), %rax    # 0x2f74dc
movl (%rax), %edx
leaq 0x23b7f8(%rip), %rax    # 0x2f74d8
movl (%rax), %ecx
leaq 0x23b7eb(%rip), %rax    # 0x2f74d4
movl (%rax), %r8d
leaq 0x23b7dd(%rip), %rax    # 0x2f74d0
movl (%rax), %r9d
leaq 0x23b7cf(%rip), %rax    # 0x2f74cc
movl (%rax), %r10d
leaq 0x23b7c1(%rip), %rax    # 0x2f74c8
movl (%rax), %r11d
subq $0x8, %rsp
leaq 0x5f0f6(%rip), %rsi     # 0x11ae0b
movq %rbx, %rdi
xorl %eax, %eax
pushq %r14
pushq %r11
pushq %r10
callq 0x9560
addq $0x20, %rsp
leaq 0x23b604(%rip), %rax    # 0x2f7334
cmpl $0x0, (%rax)
je 0xbbd51
leaq 0x23b2ec(%rip), %rax    # 0x2f7028
movsd (%rax), %xmm0
leaq 0x5f0fe(%rip), %rsi     # 0x11ae45
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b5e0(%rip), %rax    # 0x2f7338
cmpl $0x0, (%rax)
je 0xbbd79
leaq 0x23b2bc(%rip), %rax    # 0x2f7020
movsd (%rax), %xmm0
leaq 0x5f0f5(%rip), %rsi     # 0x11ae64
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x151764(%rip), %r14    # 0x20d4e4
movl (%r14), %eax
testl %eax, %eax
je 0xbbded
testb $0x2, %al
je 0xbbdaa
leaq 0x15175e(%rip), %rax    # 0x20d4f0
movsd (%rax), %xmm0
leaq 0x5f0e4(%rip), %rsi     # 0x11ae81
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x4, %al
je 0xbbdcd
leaq 0x151743(%rip), %rax    # 0x20d4f8
movsd (%rax), %xmm0
leaq 0x5f0dc(%rip), %rsi     # 0x11ae9c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x1, %al
je 0xbbded
leaq 0x151710(%rip), %rax    # 0x20d4e8
movsd (%rax), %xmm0
leaq 0x5f0d4(%rip), %rsi     # 0x11aeb7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x16d14a(%rip), %rax    # 0x228f3e
cmpb $0x0, (%rax)
je 0xbbe28
leaq 0x23b518(%rip), %rax    # 0x2f7318
cmpl $0x0, (%rax)
je 0xbc9ca
leaq 0x16d0fc(%rip), %rax    # 0x228f0c
movl (%rax), %edx
leaq 0x5f119(%rip), %rsi     # 0x11af32
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
jmp 0xbc9ca
leaq 0x146aa1(%rip), %rax    # 0x2028d0
movq (%rax), %rax
cmpq $0x400, %rax            # imm = 0x400
je 0xbbdf9
cmpq $0x10000, %rax          # imm = 0x10000
je 0xbbdf9
cmpq $0x20000, %rax          # imm = 0x20000
je 0xbbdf9
cmpq $0x800000, %rax         # imm = 0x800000
je 0xbbdf9
leaq 0x23b277(%rip), %rax    # 0x2f70d0
movzbl (%rax), %ecx
leal -0x3(%rcx), %eax
cmpl $0x7, %eax
ja 0xbcb5b
leaq 0x59045(%rip), %rcx     # 0x114eb4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x5f053(%rip), %rdi     # 0x11aed2
jmp 0xbcb74
leaq 0x23b3ad(%rip), %rax    # 0x2f7238
cmpl $0x0, (%rax)
je 0xbbecf
leaq 0x23a921(%rip), %r14    # 0x2f67b8
xorl %edi, %edi
callq 0xb6b39
movsd (%r14), %xmm0
movsd %xmm0, -0x30(%rbp)
xorl %edi, %edi
callq 0xb6b39
leaq 0x5f26d(%rip), %rsi     # 0x11b123
leaq 0x26a363(%rip), %rcx    # 0x326220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x23b35e(%rip), %rax    # 0x2f7234
cmpl $0x0, (%rax)
je 0xbbf3b
leaq 0x1469ee(%rip), %rax    # 0x2028d0
movq (%rax), %r15
pushq $0x1
popq %r14
movl %r14d, %edi
callq 0xb6b39
leaq 0x23a8c8(%rip), %rax    # 0x2f67c0
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movl %r14d, %edi
callq 0xb6b39
cmpq $0x2000000, %r15        # imm = 0x2000000
leaq 0x5f246(%rip), %rax     # 0x11b15d
leaq 0x5f205(%rip), %rsi     # 0x11b123
cmoveq %rax, %rsi
leaq 0x26a2f7(%rip), %rcx    # 0x326220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x23b2fa(%rip), %rax    # 0x2f723c
cmpl $0x0, (%rax)
je 0xbbf8b
pushq $0xa
popq %r14
movl %r14d, %edi
callq 0xb6b39
leaq 0x23a86e(%rip), %rax    # 0x2f67c8
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movl %r14d, %edi
callq 0xb6b39
leaq 0x5f1b1(%rip), %rsi     # 0x11b123
leaq 0x26a2a7(%rip), %rcx    # 0x326220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x23b2ae(%rip), %rax    # 0x2f7240
cmpl $0x0, (%rax)
je 0xbbfdb
pushq $0xb
popq %r14
movl %r14d, %edi
callq 0xb6b39
leaq 0x23a826(%rip), %rax    # 0x2f67d0
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movl %r14d, %edi
callq 0xb6b39
leaq 0x5f161(%rip), %rsi     # 0x11b123
leaq 0x26a257(%rip), %rcx    # 0x326220
movq %rbx, %rdi
movq %rcx, %rdx
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x9560
leaq 0x23bd96(%rip), %rax    # 0x2f7d78
cmpl $0x0, (%rax)
je 0xbc001
leaq 0x23bd86(%rip), %rax    # 0x2f7d74
movl (%rax), %edx
leaq 0x5f17d(%rip), %rsi     # 0x11b174
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x26b368(%rip), %rax    # 0x327370
cmpl $0x0, (%rax)
je 0xbc029
leaq 0x26b354(%rip), %rax    # 0x327368
movsd (%rax), %xmm0
leaq 0x5f16e(%rip), %rsi     # 0x11b18d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ac24(%rip), %rax    # 0x2f6c54
cmpl $0x0, (%rax)
je 0xbc04f
leaq 0x23ac14(%rip), %rax    # 0x2f6c50
movl (%rax), %edx
leaq 0x5f163(%rip), %rsi     # 0x11b1a8
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23ac06(%rip), %rax    # 0x2f6c5c
cmpl $0x0, (%rax)
je 0xbc08e
leaq 0x14686e(%rip), %rax    # 0x2028d0
cmpq $0x40000, (%rax)        # imm = 0x40000
leaq 0x23abe8(%rip), %rax    # 0x2f6c58
movl (%rax), %edx
leaq 0x5f148(%rip), %rax     # 0x11b1c1
leaq 0x5f158(%rip), %rsi     # 0x11b1d8
cmoveq %rax, %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x23b34f(%rip), %rax    # 0x2f73e4
cmpl $0x0, (%rax)
je 0xbc0b4
leaq 0x26bc9b(%rip), %rax    # 0x327d3c
movl (%rax), %edx
leaq 0x5f147(%rip), %rsi     # 0x11b1f1
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x16ce83(%rip), %rax    # 0x228f3e
cmpb $0x0, (%rax)
je 0xbc234
leaq 0x23ad35(%rip), %rax    # 0x2f6e00
movsd (%rax), %xmm0
leaq 0x5f132(%rip), %rsi     # 0x11b208
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23acf1(%rip), %rax    # 0x2f6dd8
movsd (%rax), %xmm0
leaq 0x5f135(%rip), %rsi     # 0x11b227
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23accd(%rip), %rax    # 0x2f6dd0
movsd (%rax), %xmm0
leaq 0x5f134(%rip), %rsi     # 0x11b242
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x1490e9(%rip), %rax    # 0x205208
movsd (%rax), %xmm0
leaq 0x5ef25(%rip), %rsi     # 0x11b04f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23adc5(%rip), %rax    # 0x2f6f00
movsd (%rax), %xmm0
leaq 0x5f117(%rip), %rsi     # 0x11b25d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23adb1(%rip), %rax    # 0x2f6f08
movsd (%rax), %xmm0
leaq 0x5f116(%rip), %rsi     # 0x11b278
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ad9d(%rip), %rax    # 0x2f6f10
movsd (%rax), %xmm0
leaq 0x5f117(%rip), %rsi     # 0x11b295
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ad89(%rip), %rax    # 0x2f6f18
movsd (%rax), %xmm0
leaq 0x5f114(%rip), %rsi     # 0x11b2ae
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ac45(%rip), %rax    # 0x2f6df0
movsd (%rax), %xmm0
leaq 0x5f115(%rip), %rsi     # 0x11b2cb
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23aa11(%rip), %rax    # 0x2f6bd8
movsd (%rax), %xmm0
leaq 0x5f112(%rip), %rsi     # 0x11b2e4
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x1466ed(%rip), %rax    # 0x2028d0
movq (%rax), %rcx
cmpq $0x10000000, %rcx       # imm = 0x10000000
je 0xbc32e
cmpq $0x1000000, %rcx        # imm = 0x1000000
je 0xbc310
cmpq $0x2000000, %rcx        # imm = 0x2000000
je 0xbc324
cmpq $0x8000000, %rcx        # imm = 0x8000000
je 0xbc31a
cmpq $0x20000, %rcx          # imm = 0x20000
jne 0xbc336
movq %rbx, %rdi
callq 0xba221
jmp 0xbc336
leaq 0x146695(%rip), %rax    # 0x2028d0
movq (%rax), %rcx
cmpq $0x10000, %rcx          # imm = 0x10000
je 0xbc1e6
cmpq $0x20000, %rcx          # imm = 0x20000
je 0xbc1e6
leaq 0x23b819(%rip), %rax    # 0x2f7a70
movl (%rax), %edx
leaq 0x23b814(%rip), %rax    # 0x2f7a74
movl (%rax), %eax
leaq 0x23b80f(%rip), %rsi    # 0x2f7a78
movl (%rsi), %esi
cmpq $0x400000, %rcx         # imm = 0x400000
jne 0xbcac5
leaq 0x23b739(%rip), %rcx    # 0x2f79b8
cmpl $0x0, (%rcx)
je 0xbcac5
movl %edx, %ecx
orl %eax, %ecx
orl %esi, %ecx
je 0xbcac5
leaq 0x23b719(%rip), %rcx    # 0x2f79b4
cmpl $0x0, (%rcx)
je 0xbcb92
testl %edx, %edx
je 0xbc2cd
leaq 0x23b7a9(%rip), %rax    # 0x2f7a58
movsd (%rax), %xmm0
leaq 0x5f07f(%rip), %rsi     # 0x11b339
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b7a9(%rip), %rax    # 0x2f7a74
movl (%rax), %eax
testl %eax, %eax
je 0xbc2ed
leaq 0x23b788(%rip), %rax    # 0x2f7a60
movsd (%rax), %xmm0
leaq 0x5f073(%rip), %rsi     # 0x11b356
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23b784(%rip), %rax    # 0x2f7a78
cmpl $0x0, (%rax)
je 0xbcbdb
leaq 0x5f06f(%rip), %rsi     # 0x11b373
leaq 0x23b75d(%rip), %rax    # 0x2f7a68
jmp 0xbcbcd
movq %rbx, %rdi
callq 0xba8a7
jmp 0xbc336
movq %rbx, %rdi
callq 0xba7bb
jmp 0xbc336
movq %rbx, %rdi
callq 0xbb14e
jmp 0xbc336
movq %rbx, %rdi
callq 0xba6c9
leaq 0x23afb3(%rip), %rax    # 0x2f72f0
movl (%rax), %ecx
leaq 0x23afae(%rip), %r12    # 0x2f72f4
movl (%r12), %eax
leaq 0x23afa7(%rip), %r15    # 0x2f72f8
movl (%r15), %edx
leaq 0x23afa5(%rip), %r14    # 0x2f7300
orl (%r14), %edx
orl %eax, %edx
orl %ecx, %edx
je 0xbc3fb
testl %ecx, %ecx
je 0xbc38c
leaq 0x23ad7d(%rip), %rax    # 0x2f70f0
movsd (%rax), %xmm0
leaq 0x5f02d(%rip), %rsi     # 0x11b3ab
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r12), %eax
testl %eax, %eax
je 0xbc3ac
leaq 0x23ad69(%rip), %rax    # 0x2f7100
movsd (%rax), %xmm0
leaq 0x5f020(%rip), %rsi     # 0x11b3c2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r15)
je 0xbc3ce
leaq 0x23ad4f(%rip), %rax    # 0x2f7108
movsd (%rax), %xmm0
leaq 0x5f019(%rip), %rsi     # 0x11b3dd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
cmpl $0x0, (%r14)
je 0xbc3f0
leaq 0x23ad75(%rip), %rax    # 0x2f7150
movsd (%rax), %xmm0
leaq 0x5f018(%rip), %rsi     # 0x11b3fe
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
leaq 0x23aeda(%rip), %rax    # 0x2f72dc
cmpl $0x0, (%rax)
je 0xbc422
pushq $0x1
popq %r14
leaq 0x23b90e(%rip), %rax    # 0x2f7d20
cmpb $0x0, (%rax)
je 0xbc427
leaq 0x5effd(%rip), %rdi     # 0x11b41b
pushq $0x1a
jmp 0xbc430
xorl %r14d, %r14d
jmp 0xbc43c
leaq 0x5f008(%rip), %rdi     # 0x11b436
pushq $0x1b
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9750
leaq 0x23ae8d(%rip), %rax    # 0x2f72d0
cmpl $0x0, (%rax)
je 0xbc4d3
leaq 0x14647d(%rip), %rax    # 0x2028d0
movq (%rax), %rcx
cmpq $0x4, %rcx
sete %dl
leaq 0x23b8bf(%rip), %rax    # 0x2f7d23
movb (%rax), %al
cmpb $-0x7e, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xbc480
leaq 0x5efd6(%rip), %rdi     # 0x11b452
pushq $0x21
jmp 0xbc4c4
cmpq $0x4, %rcx
sete %dl
cmpb $-0x7d, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xbc4a1
leaq 0x5efd7(%rip), %rdi     # 0x11b474
pushq $0x22
jmp 0xbc4c4
cmpq $0x4, %rcx
sete %dl
testb %al, %al
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xbca9a
leaq 0x5efd5(%rip), %rdi     # 0x11b497
pushq $0x20
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23ae06(%rip), %rax    # 0x2f72e0
cmpl $0x0, (%rax)
je 0xbc50c
leaq 0x23b832(%rip), %rax    # 0x2f7d18
cmpl $0x0, (%rax)
leaq 0x5f02a(%rip), %rax     # 0x11b51a
leaq 0x5f002(%rip), %rdi     # 0x11b4f9
cmoveq %rax, %rdi
pushq $0x20
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23add5(%rip), %rax    # 0x2f72e8
cmpl $0x0, (%rax)
je 0xbc545
leaq 0x23b7f3(%rip), %rax    # 0x2f7d12
cmpb $0x0, (%rax)
leaq 0x5f033(%rip), %rax     # 0x11b55c
leaq 0x5f00b(%rip), %rdi     # 0x11b53b
cmoveq %rax, %rdi
pushq $0x20
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9750
incl %r14d
leaq 0x23ad68(%rip), %rax    # 0x2f72b4
cmpl $0x0, (%rax)
je 0xbc578
leaq 0x23b870(%rip), %rax    # 0x2f7dc8
movsd (%rax), %xmm0
mulsd 0x36ac4(%rip), %xmm0    # 0xf3028
leaq 0x5f012(%rip), %rsi     # 0x11b57d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
incl %r14d
leaq 0x23ad3d(%rip), %rax    # 0x2f72bc
cmpl $0x0, (%rax)
je 0xbc5ac
leaq 0x23b845(%rip), %rax    # 0x2f7dd0
movsd (%rax), %xmm0
mulsd 0x36a91(%rip), %xmm0    # 0xf3028
leaq 0x5effa(%rip), %rsi     # 0x11b598
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
pushq $0x1
popq %r14
leaq 0x23ad05(%rip), %r15    # 0x2f72b8
movl (%r15), %eax
testb $0x1, %al
jne 0xbc5c5
testb $0x2, %al
jne 0xbc5e7
testl %r14d, %r14d
jne 0xbc603
jmp 0xbc60e
leaq 0x23b80c(%rip), %rax    # 0x2f7dd8
movsd (%rax), %xmm0
leaq 0x5efe0(%rip), %rsi     # 0x11b5b7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
testb $0x2, (%r15)
je 0xbc603
leaq 0x23b7f2(%rip), %rax    # 0x2f7de0
movsd (%rax), %xmm0
leaq 0x5efe1(%rip), %rsi     # 0x11b5da
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
leaq 0x150ecf(%rip), %r14    # 0x20d4e4
movl (%r14), %eax
testl %eax, %eax
je 0xbc768
leaq 0x150ec9(%rip), %rcx    # 0x20d4f0
movsd (%rcx), %xmm0
leaq 0x150ec6(%rip), %r13    # 0x20d4f8
movsd (%r13), %xmm1
addsd %xmm0, %xmm1
leaq 0x150ea5(%rip), %r12    # 0x20d4e8
addsd (%r12), %xmm1
leaq 0x150eb0(%rip), %r15    # 0x20d500
addsd (%r15), %xmm1
leaq 0x150eac(%rip), %rcx    # 0x20d508
addsd (%rcx), %xmm1
leaq 0x150ea9(%rip), %rcx    # 0x20d510
addsd (%rcx), %xmm1
leaq 0x150ea6(%rip), %rcx    # 0x20d518
addsd (%rcx), %xmm1
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0xbc686
jnp 0xbc768
testb $0x2, %al
je 0xbc69e
leaq 0x5e7f0(%rip), %rsi     # 0x11ae81
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x4, %al
je 0xbc6bc
movsd (%r13), %xmm0
leaq 0x5e7ed(%rip), %rsi     # 0x11ae9c
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x1, %al
je 0xbc6da
movsd (%r12), %xmm0
leaq 0x5e7ea(%rip), %rsi     # 0x11aeb7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x8, %al
je 0xbc6f7
movsd (%r15), %xmm0
leaq 0x5ef13(%rip), %rsi     # 0x11b5fd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x10, %al
je 0xbc71a
leaq 0x150e06(%rip), %rax    # 0x20d508
movsd (%rax), %xmm0
leaq 0x5ef0b(%rip), %rsi     # 0x11b618
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x20, %al
je 0xbc73d
leaq 0x150deb(%rip), %rax    # 0x20d510
movsd (%rax), %xmm0
leaq 0x5ef03(%rip), %rsi     # 0x11b633
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
movl (%r14), %eax
testb $0x40, %al
je 0xbc75d
leaq 0x150dd0(%rip), %rax    # 0x20d518
movsd (%rax), %xmm0
leaq 0x5eefb(%rip), %rsi     # 0x11b64e
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
leaq 0x16c7cf(%rip), %rax    # 0x228f3e
cmpb $0x0, (%rax)
je 0xbc9ed
leaq 0x23ac79(%rip), %rax    # 0x2f73f8
cmpl $0x0, (%rax)
je 0xbc7a0
leaq 0x23a92d(%rip), %rax    # 0x2f70b8
cvtss2sd (%rax), %xmm0
leaq 0x5f001(%rip), %rsi     # 0x11b797
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23ac55(%rip), %rax    # 0x2f73fc
cmpl $0x0, (%rax)
je 0xbc7c8
leaq 0x23a901(%rip), %rax    # 0x2f70b4
cvtss2sd (%rax), %xmm0
leaq 0x5effa(%rip), %rsi     # 0x11b7b8
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x9e4a9(%rip), %rax     # 0x15ac78
cmpl $0x0, (%rax)
setne %al
leaq 0x9e498(%rip), %rcx     # 0x15ac74
movl (%rcx), %r15d
testl %r15d, %r15d
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xbc8bd
leaq 0x269a29(%rip), %r14    # 0x326220
movb $0x0, (%r14)
testb $0x1, %r15b
je 0xbc810
movq %r14, %rdi
callq 0x9120
movw $0x47, (%r14,%rax)
testb $0x2, %r15b
je 0xbc825
movq %r14, %rdi
callq 0x9120
movw $0x52, (%r14,%rax)
testb $0x8, %r15b
je 0xbc83a
movq %r14, %rdi
callq 0x9120
movw $0x43, (%r14,%rax)
testb $0x4, %r15b
je 0xbc84f
movq %r14, %rdi
callq 0x9120
movw $0x45, (%r14,%rax)
testw %r15w, %r15w
jns 0xbc864
movq %r14, %rdi
callq 0x9120
movw $0x53, (%r14,%rax)
btl $0xe, %r15d
jae 0xbc87a
movq %r14, %rdi
callq 0x9120
movw $0x51, (%r14,%rax)
btl $0xd, %r15d
jae 0xbc890
movq %r14, %rdi
callq 0x9120
movw $0x49, (%r14,%rax)
leaq 0x5ef40(%rip), %rsi     # 0x11b7d7
leaq 0x269982(%rip), %rdx    # 0x326220
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x5ef39(%rip), %rdi     # 0x11b7e8
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9750
leaq 0x23aa54(%rip), %rax    # 0x2f7318
cmpl $0x0, (%rax)
je 0xbc8e3
leaq 0x16c63c(%rip), %rax    # 0x228f0c
movl (%rax), %edx
leaq 0x5e659(%rip), %rsi     # 0x11af32
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9560
leaq 0x16bb2b(%rip), %rax    # 0x228415
cmpb $0x0, (%rax)
je 0xbc8f7
movq %rbx, %rdi
callq 0xb63b7
leaq 0x23a6d2(%rip), %rax    # 0x2f6fd0
movsd (%rax), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0xbc925
jp 0xbc925
leaq 0x23a6c3(%rip), %rax    # 0x2f6fd8
movsd (%rax), %xmm1
ucomisd %xmm0, %xmm1
jne 0xbc925
jnp 0xbc9ca
leaq 0x23a74c(%rip), %r14    # 0x2f7078
cmpl $0x0, (%r14)
je 0xbc991
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
leaq 0x23a704(%rip), %rax    # 0x2f7048
movsd (%rax), %xmm0
leaq 0x5eea2(%rip), %rsi     # 0x11b7f1
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23a6f0(%rip), %rax    # 0x2f7050
movsd (%rax), %xmm0
leaq 0x5eea7(%rip), %rsi     # 0x11b812
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23a6dc(%rip), %rax    # 0x2f7058
movsd (%rax), %xmm0
leaq 0x5eeac(%rip), %rsi     # 0x11b833
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23a6e4(%rip), %rax    # 0x2f707c
cmpl $0x0, (%rax)
je 0xbc9ca
cmpl $0x0, (%r14)
jne 0xbc9ae
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
leaq 0x23a67b(%rip), %rax    # 0x2f7030
movsd (%rax), %xmm0
leaq 0x5ee94(%rip), %rsi     # 0x11b854
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x5e578(%rip), %rdi     # 0x11af49
pushq $0x10
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x9750
leaq 0x145edc(%rip), %rax    # 0x2028d0
movq (%rax), %rax
cmpq $0x400, %rax            # imm = 0x400
je 0xbc778
cmpq $0x10000, %rax          # imm = 0x10000
je 0xbc778
cmpq $0x20000, %rax          # imm = 0x20000
je 0xbc778
cmpq $0x800000, %rax         # imm = 0x800000
je 0xbc778
cmpq $0x1000000, %rax        # imm = 0x1000000
je 0xbc778
cmpq $0x2000000, %rax        # imm = 0x2000000
je 0xbc778
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0xbc778
cmpq $0x10000000, %rax       # imm = 0x10000000
je 0xbc778
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
cmpq %rcx, %rax
je 0xbc778
leaq 0x23a65f(%rip), %rcx    # 0x2f70d0
movzbl (%rcx), %ecx
cmpq $0xb, %rcx
ja 0xbcc62
leaq 0x583ff(%rip), %rdx     # 0x114e84
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x5ebd4(%rip), %rdi     # 0x11b669
jmp 0xbcc02
cmpq $0x20, %rcx
sete %cl
testb %al, %al
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0xbc475
cmpb $-0x7e, %al
jne 0xbcb4d
leaq 0x5e9f8(%rip), %rdi     # 0x11b4b8
jmp 0xbc4c2
movl %edx, %ecx
orl %eax, %ecx
orl %esi, %ecx
je 0xbcb3d
testl %edx, %edx
je 0xbcaf6
leaq 0x23af80(%rip), %rax    # 0x2f7a58
movsd (%rax), %xmm0
leaq 0x5e856(%rip), %rsi     # 0x11b339
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23af80(%rip), %rax    # 0x2f7a74
movl (%rax), %eax
testl %eax, %eax
je 0xbcb16
leaq 0x23af5f(%rip), %rax    # 0x2f7a60
movsd (%rax), %xmm0
leaq 0x5e84a(%rip), %rsi     # 0x11b356
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23af5b(%rip), %rax    # 0x2f7a78
cmpl $0x0, (%rax)
je 0xbc1dc
leaq 0x23af3b(%rip), %rax    # 0x2f7a68
movsd (%rax), %xmm0
leaq 0x5e83b(%rip), %rsi     # 0x11b373
jmp 0xbc1d2
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
jmp 0xbc1dc
leaq 0x5e985(%rip), %rdi     # 0x11b4d9
pushq $0x1f
jmp 0xbc4c4
cmpl $0x63, %ecx
jne 0xbbdf9
leaq 0x5e395(%rip), %rdi     # 0x11af00
jmp 0xbcb7f
leaq 0x5e375(%rip), %rdi     # 0x11aee9
pushq $0x16
jmp 0xbcb81
leaq 0x5e39a(%rip), %rdi     # 0x11af19
pushq $0x18
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9750
jmp 0xbbdf9
testl %edx, %edx
je 0xbcbbb
leaq 0x23aebb(%rip), %rax    # 0x2f7a58
movsd (%rax), %xmm0
leaq 0x5e757(%rip), %rsi     # 0x11b2ff
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23aebb(%rip), %rax    # 0x2f7a74
movl (%rax), %eax
testl %eax, %eax
je 0xbcbdb
leaq 0x5e756(%rip), %rsi     # 0x11b31c
leaq 0x23ae93(%rip), %rax    # 0x2f7a60
movsd (%rax), %xmm0
movq %rbx, %rdi
movb $0x1, %al
callq 0x9560
leaq 0x23aeae(%rip), %rax    # 0x2f7a90
movsd (%rax), %xmm0
leaq 0x5e7a3(%rip), %rsi     # 0x11b390
jmp 0xbc1d2
leaq 0x5eb67(%rip), %rdi     # 0x11b760
jmp 0xbcc2c
leaq 0x5ea9b(%rip), %rdi     # 0x11b69d
pushq $0x18
jmp 0xbcc6b
leaq 0x5eaa9(%rip), %rdi     # 0x11b6b6
pushq $0x19
jmp 0xbcc6b
leaq 0x5e2d1(%rip), %rdi     # 0x11aee9
jmp 0xbcc21
leaq 0x5e2b1(%rip), %rdi     # 0x11aed2
pushq $0x16
jmp 0xbcc6b
leaq 0x5ea56(%rip), %rdi     # 0x11b682
pushq $0x1a
jmp 0xbcc6b
leaq 0x5ea99(%rip), %rdi     # 0x11b6d0
jmp 0xbcc4c
cmpq $0x10, %rax
je 0xbcc45
cmpq $0x8, %rax
jne 0xbcc87
leaq 0x5eaa1(%rip), %rdi     # 0x11b6ed
pushq $0x1c
jmp 0xbcc6b
leaq 0x5eaed(%rip), %rdi     # 0x11b744
jmp 0xbcc69
leaq 0x5eac8(%rip), %rdi     # 0x11b728
jmp 0xbcc69
leaq 0x5eb12(%rip), %rdi     # 0x11b77b
pushq $0x1b
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9750
pushq $0xa
popq %rdi
movq %rbx, %rsi
callq 0x9480
jmp 0xbc778
leaq 0x5ea7c(%rip), %rdi     # 0x11b70a
pushq $0x1d
jmp 0xbcc6b