// File: /workspace/github_cpp_makefile_star2_O1/sus304[P]ForRocket/src/rocket/flight_data_recorder.cpp
// Function: forrocket::FlightDataRecorder::DumpCsv(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool)
void forrocket::FlightDataRecorder::DumpCsv(const std::string file_name, bool full_dump) {
    std::ofstream ofs(file_name, std::ios::out);

    ofs << "Time [s],";
    ofs << "Burn Time [s],";
    if (full_dump) {
        ofs << "AirDensity [kg/m3],";
        ofs << "AirPressure [kPa],";
        ofs << "AirTemprature [K],";
        ofs << "SpeedOfSound [m/s],";
        ofs << "Propellant Mass [kg],";
        ofs << "Mass [kg],";
        ofs << "X-C.G. [%],";
        ofs << "X-C.P. [%],";
        ofs << "StaticMargin [%],";
        ofs << "xx_InertiaTensor [kg-m2],";
        ofs << "xy_InertiaTensor [kg-m2],";
        ofs << "xz_InertiaTensor [kg-m2],";
        ofs << "yx_InertiaTensor [kg-m2],";
        ofs << "yy_InertiaTensor [kg-m2],";
        ofs << "yz_InertiaTensor [kg-m2],";
        ofs << "zx_InertiaTensor [kg-m2],";
        ofs << "zy_InertiaTensor [kg-m2],";
        ofs << "zz_InertiaTensor [kg-m2],";
        ofs << "Thrust [N],";
        ofs << "Mdot [kg/s],";
        ofs << "Burning [0/1],";
        ofs << "y-Gimbal [deg],";
        ofs << "z-Gimbal [deg],";
        ofs << "CA [-],";
        ofs << "CNa [-],";
        ofs << "Cld [-],";
        ofs << "Clp [-],";
        ofs << "Cmq [-],";
        ofs << "AoA [deg],";
        ofs << "AoS [deg],";
        ofs << "Fx-aero [N],";
        ofs << "Fy-aero [N],";
        ofs << "Fz-aero [N],";
        ofs << "Fx-thrust [N],";
        ofs << "Fy-thrust [N],";
        ofs << "Fz-thrust [N],";
        ofs << "Fx-gravity [N],";
        ofs << "Fy-gravity [N],";
        ofs << "Fz-gravity [N],";
        ofs << "Accx-body [m/s2],";
        ofs << "Accy-body [m/s2],";
        ofs << "Accz-body [m/s2],";
        ofs << "Gccx-body [G],";
        ofs << "Gccy-body [G],";
        ofs << "Gccz-body [G],";
        ofs << "Accx-ECI [m/s2],";
        ofs << "Accy-ECI [m/s2],";
        ofs << "Accz-ECI [m/s2],";
        ofs << "Vx-body [m/s],";
        ofs << "Vy-body [m/s],";
        ofs << "Vz-body [m/s],";
        ofs << "MachNumber [-],";
        ofs << "DynamicPressure [kPa],";
        ofs << "Vx-NED [m/s],";
        ofs << "Vy-NED [m/s],";
        ofs << "Vz-NED [m/s],";
        ofs << "Vx-ECEF [m/s],";
        ofs << "Vy-ECEF [m/s],";
        ofs << "Vz-ECEF [m/s],";
        ofs << "Vx-ECI [m/s],";
        ofs << "Vy-ECI [m/s],";
        ofs << "Vz-ECI [m/s],";
        ofs << "X-ECEF [km],";
        ofs << "Y-ECEF [km],";
        ofs << "Z-ECEF [km],";
        ofs << "X-ECI [km],";
        ofs << "Y-ECI [km],";
        ofs << "Z-ECI [km],";
    }
    ofs << "Latitude [deg],";
    ofs << "Longitude [deg],";
    ofs << "Altitude [m],";
    ofs << "Downrange [m],";
    if (full_dump) {
        ofs << "Mx-thrust [Nm],";
        ofs << "My-thrust [Nm],";
        ofs << "Mz-thrust [Nm],";
        ofs << "Mx-aero [Nm],";
        ofs << "My-aero [Nm],";
        ofs << "Mz-aero [Nm],";
        ofs << "Mx-aerodump [Nm],";
        ofs << "My-aerodump [Nm],";
        ofs << "Mz-aerodump [Nm],";
        ofs << "Mx-jetdump [Nm],";
        ofs << "My-jetdump [Nm],";
        ofs << "Mz-jetdump [Nm],";
        ofs << "Mx-gyroeffect [Nm],";
        ofs << "My-gyroeffect [Nm],";
        ofs << "Mz-gyroeffect [Nm],";
        ofs << "AngleAccx [rad/s2],";
        ofs << "AngleAccy [rad/s2],";
        ofs << "AngleAccz [rad/s2],";
        ofs << "AngleVelx [deg/s],";
        ofs << "AngleVely [deg/s],";
        ofs << "AngleVelz [deg/s],";
        ofs << "q1 [-],";
        ofs << "q2 [-],";
        ofs << "q3 [-],";
        ofs << "q4 [-],";
        ofs << "Azimuth [deg],";
        ofs << "Elvation [deg],";
        ofs << "Roll [deg],";
    }
    // pitch
    // yaw
    // nutation
    if (full_dump) {
        ofs << "Time [s],";
        ofs << "Time of IIP [s],";
        ofs << "Latitude of IIP [deg],";
        ofs << "Longitude of IIP [deg],";
        ofs << "Downrange of IIP [m],";
    }

    ofs << std::endl;
    
    double g0 = gravity(0.0);
    ofs << std::fixed;
    for (int i=0; i < countup_burn_time.size(); ++i) {
        double t = countup_burn_time[i];
        double alt = position[i].LLH(2);
        EnvironmentAir air(alt);


        ofs << std::setprecision(4) << countup_time[i] << ",";
        ofs << std::setprecision(4) << countup_burn_time[i] << ",";
        if (full_dump) {
            ofs << std::setprecision(6) << air.density << ",";
            ofs << std::setprecision(6) << air.pressure / 1e3 << ",";  // [kPa]
            ofs << std::setprecision(6) << air.temprature << ",";  // [K]
            ofs << std::setprecision(6) << air.speed_of_sound << ",";
            ofs << std::setprecision(8) << mass_prop[i] << ",";
            ofs << std::setprecision(8) << mass[i] << ",";
            ofs << std::setprecision(2) << length_CG[i] / p_rocket->length * 100.0 << ",";  // [%]
            ofs << std::setprecision(2) << length_CP[i] / p_rocket->length * 100.0 << ",";  // [%]
            ofs << std::setprecision(2) << (length_CG[i] - length_CP[i]) / p_rocket->length * 100.0 << ",";  // Fst [%]
            ofs << std::setprecision(8) << inertia_tensor[i](0, 0) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](0, 1) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](0, 2) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](1, 0) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](1, 1) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](1, 2) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](2, 0) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](2, 1) << ",";
            ofs << std::setprecision(8) << inertia_tensor[i](2, 2) << ",";
            ofs << std::setprecision(8) << thrust[i] << ",";
            ofs << std::setprecision(8) << mdot_prop[i] << ",";
            ofs << burning[i] << ",";
            ofs << std::setprecision(8) << rad2deg(gimbal_angle_y_axis[i]) << ",";  // [deg]
            ofs << std::setprecision(8) << rad2deg(gimbal_angle_z_axis[i]) << ",";  // [deg]
            ofs << std::setprecision(4) << CA[i] << ",";
            ofs << std::setprecision(4) << CNa[i] << ",";
            ofs << std::setprecision(4) << Cld[i] << ",";
            ofs << std::setprecision(4) << Clp[i] << ",";
            ofs << std::setprecision(4) << Cmq[i] << ",";
            ofs << std::setprecision(8) << rad2deg(angle_of_attack[i]) << ",";  // [deg]
            ofs << std::setprecision(8) << rad2deg(sideslip_angle[i]) << ",";  // [deg]
            ofs << std::setprecision(8) << force[i].aero(0) << ",";
            ofs << std::setprecision(8) << force[i].aero(1) << ",";
            ofs << std::setprecision(8) << force[i].aero(2) << ",";
            ofs << std::setprecision(8) << force[i].thrust(0) << ",";
            ofs << std::setprecision(8) << force[i].thrust(1) << ",";
            ofs << std::setprecision(8) << force[i].thrust(2) << ",";
            ofs << std::setprecision(8) << force[i].gravity(0) << ",";
            ofs << std::setprecision(8) << force[i].gravity(1) << ",";
            ofs << std::setprecision(8) << force[i].gravity(2) << ",";
            ofs << std::setprecision(8) << acceleration[i].body(0) << ",";  // [m/s2]
            ofs << std::setprecision(8) << acceleration[i].body(1) << ",";  // [m/s2]
            ofs << std::setprecision(8) << acceleration[i].body(2) << ",";  // [m/s2]
            ofs << std::setprecision(8) << acceleration[i].body(0) / g0 << ",";  // [G]
            ofs << std::setprecision(8) << acceleration[i].body(1) / g0 << ",";  // [G]
            ofs << std::setprecision(8) << acceleration[i].body(2) / g0 << ",";  // [G]
            ofs << std::setprecision(8) << acceleration[i].ECI(0) << ",";
            ofs << std::setprecision(8) << acceleration[i].ECI(1) << ",";
            ofs << std::setprecision(8) << acceleration[i].ECI(2) << ",";
            ofs << std::setprecision(8) << velocity[i].air_body(0) << ",";
            ofs << std::setprecision(8) << velocity[i].air_body(1) << ",";
            ofs << std::setprecision(8) << velocity[i].air_body(2) << ",";
            ofs << std::setprecision(8) << velocity[i].mach_number << ",";
            ofs << std::setprecision(8) << dynamic_pressure[i] / 1e3 << ",";  // [kPa]
            ofs << std::setprecision(8) << velocity[i].NED(0) << ",";
            ofs << std::setprecision(8) << velocity[i].NED(1) << ",";
            ofs << std::setprecision(8) << velocity[i].NED(2) << ",";
            ofs << std::setprecision(8) << velocity[i].ECEF(0) << ",";
            ofs << std::setprecision(8) << velocity[i].ECEF(1) << ",";
            ofs << std::setprecision(8) << velocity[i].ECEF(2) << ",";
            ofs << std::setprecision(8) << velocity[i].ECI(0) << ",";
            ofs << std::setprecision(8) << velocity[i].ECI(1) << ",";
            ofs << std::setprecision(8) << velocity[i].ECI(2) << ",";
            ofs << std::setprecision(10) << position[i].ECEF(0) / 1e3 << ",";  // [km]
            ofs << std::setprecision(10) << position[i].ECEF(1) / 1e3 << ",";  // [km]
            ofs << std::setprecision(10) << position[i].ECEF(2) / 1e3 << ",";  // [km]
            ofs << std::setprecision(10) << position[i].ECI(0) / 1e3 << ",";  // [km]
            ofs << std::setprecision(10) << position[i].ECI(1) / 1e3 << ",";  // [km]
            ofs << std::setprecision(10) << position[i].ECI(2) / 1e3 << ",";  // [km]
        }
        ofs << std::setprecision(8) << position[i].LLH(0) << ",";
        ofs << std::setprecision(8) << position[i].LLH(1) << ",";
        ofs << std::setprecision(8) << position[i].LLH(2) << ",";
        ofs << std::setprecision(8) << vdownrange(position[0].LLH, position[i].LLH).first << ",";
        if (full_dump) {
            ofs << std::setprecision(8) << moment[i].thrust(0) << ",";
            ofs << std::setprecision(8) << moment[i].thrust(1) << ",";
            ofs << std::setprecision(8) << moment[i].thrust(2) << ",";
            ofs << std::setprecision(8) << moment[i].aero_force(0) << ",";
            ofs << std::setprecision(8) << moment[i].aero_force(1) << ",";
            ofs << std::setprecision(8) << moment[i].aero_force(2) << ",";
            ofs << std::setprecision(8) << moment[i].aero_dumping(0) << ",";
            ofs << std::setprecision(8) << moment[i].aero_dumping(1) << ",";
            ofs << std::setprecision(8) << moment[i].aero_dumping(2) << ",";
            ofs << std::setprecision(8) << moment[i].jet_dumping(0) << ",";
            ofs << std::setprecision(8) << moment[i].jet_dumping(1) << ",";
            ofs << std::setprecision(8) << moment[i].jet_dumping(2) << ",";
            ofs << std::setprecision(8) << moment[i].gyro(0) << ",";
            ofs << std::setprecision(8) << moment[i].gyro(1) << ",";
            ofs << std::setprecision(8) << moment[i].gyro(2) << ",";
            ofs << std::setprecision(8) << angular_acceleration[i](0) << ",";  // [rad/s2]
            ofs << std::setprecision(8) << angular_acceleration[i](1) << ",";  // [rad/s2]
            ofs << std::setprecision(8) << angular_acceleration[i](2) << ",";  // [rad/s2]
            ofs << std::setprecision(8) << rad2deg(angular_velocity[i](0)) << ",";  // [deg/s]
            ofs << std::setprecision(8) << rad2deg(angular_velocity[i](1)) << ",";  // [deg/s]
            ofs << std::setprecision(8) << rad2deg(angular_velocity[i](2)) << ",";  // [deg/s]
            ofs << std::setprecision(8) << attitude[i].quaternion(0) << ",";
            ofs << std::setprecision(8) << attitude[i].quaternion(1) << ",";
            ofs << std::setprecision(8) << attitude[i].quaternion(2) << ",";
            ofs << std::setprecision(8) << attitude[i].quaternion(3) << ",";
            ofs << std::setprecision(8) << rad2deg(attitude[i].euler_angle(0)) << ",";  // [deg]
            ofs << std::setprecision(8) << rad2deg(attitude[i].euler_angle(1)) << ",";  // [deg]
            ofs << std::setprecision(8) << rad2deg(attitude[i].euler_angle(2)) << ",";  // [deg]
        }
        // pitch = omega
        // pitch
        // yaw
        // nutation
        // flight path angle
        // 軌道情報

        if (full_dump) {
            ofs << std::setprecision(4) << countup_burn_time[i] << ",";
            auto iip = IIP(position[i].ECI, velocity[i].ECI);
            ofs << std::setprecision(4) << iip.first << ",";  // [s]
            ofs << std::setprecision(8) << iip.second(0) << ",";  // [deg]
            ofs << std::setprecision(8) << iip.second(1) << ",";  // [deg]
            ofs << std::setprecision(8) << vdownrange(position[0].LLH, iip.second).first << ",";
        }

        ofs << std::endl;
    }
    ofs.close();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movl %edx, 0x1c(%rsp)
movq %rdi, %r14
leaq 0x20(%rsp), %r15
movq %r15, %rdi
movl $0x10, %edx
callq 0x5670
leaq 0x1f0b4(%rip), %rsi     # 0x3b6f5
movl $0x9, %edx
movq %r15, %rdi
callq 0x53b0
leaq 0x1f09b(%rip), %rsi     # 0x3b6f0
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
cmpb $0x0, 0x1c(%rsp)
je 0x1cc47
leaq 0x1f089(%rip), %rsi     # 0x3b6ff
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1f087(%rip), %rsi     # 0x3b713
leaq 0x20(%rsp), %rdi
movl $0x12, %edx
callq 0x53b0
leaq 0x1f084(%rip), %rsi     # 0x3b726
leaq 0x20(%rsp), %rdi
movl $0x12, %edx
callq 0x53b0
leaq 0x1f081(%rip), %rsi     # 0x3b739
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1f07f(%rip), %rsi     # 0x3b74d
leaq 0x20(%rsp), %rdi
movl $0x15, %edx
callq 0x53b0
leaq 0x1f074(%rip), %rsi     # 0x3b758
leaq 0x20(%rsp), %rdi
movl $0xa, %edx
callq 0x53b0
leaq 0x1f069(%rip), %rsi     # 0x3b763
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x53b0
leaq 0x1f05f(%rip), %rsi     # 0x3b76f
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x53b0
leaq 0x1f055(%rip), %rsi     # 0x3b77b
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x53b0
leaq 0x1f051(%rip), %rsi     # 0x3b78d
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f055(%rip), %rsi     # 0x3b7a7
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f059(%rip), %rsi     # 0x3b7c1
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f05d(%rip), %rsi     # 0x3b7db
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f061(%rip), %rsi     # 0x3b7f5
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f065(%rip), %rsi     # 0x3b80f
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f069(%rip), %rsi     # 0x3b829
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f06d(%rip), %rsi     # 0x3b843
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f071(%rip), %rsi     # 0x3b85d
leaq 0x20(%rsp), %rdi
movl $0x19, %edx
callq 0x53b0
leaq 0x1f075(%rip), %rsi     # 0x3b877
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x53b0
leaq 0x1f06b(%rip), %rsi     # 0x3b883
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x53b0
leaq 0x1f062(%rip), %rsi     # 0x3b890
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1f05b(%rip), %rsi     # 0x3b89f
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1f055(%rip), %rsi     # 0x3b8af
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1f04f(%rip), %rsi     # 0x3b8bf
leaq 0x20(%rsp), %rdi
movl $0x7, %edx
callq 0x53b0
leaq 0x1f041(%rip), %rsi     # 0x3b8c7
leaq 0x20(%rsp), %rdi
movl $0x8, %edx
callq 0x53b0
leaq 0x1f034(%rip), %rsi     # 0x3b8d0
leaq 0x20(%rsp), %rdi
movl $0x8, %edx
callq 0x53b0
leaq 0x1f027(%rip), %rsi     # 0x3b8d9
leaq 0x20(%rsp), %rdi
movl $0x8, %edx
callq 0x53b0
leaq 0x1f01a(%rip), %rsi     # 0x3b8e2
leaq 0x20(%rsp), %rdi
movl $0x8, %edx
callq 0x53b0
leaq 0x1f00d(%rip), %rsi     # 0x3b8eb
leaq 0x20(%rsp), %rdi
movl $0xa, %edx
callq 0x53b0
leaq 0x1f002(%rip), %rsi     # 0x3b8f6
leaq 0x20(%rsp), %rdi
movl $0xa, %edx
callq 0x53b0
leaq 0x1eff7(%rip), %rsi     # 0x3b901
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x53b0
leaq 0x1efee(%rip), %rsi     # 0x3b90e
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x53b0
leaq 0x1efe5(%rip), %rsi     # 0x3b91b
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x53b0
leaq 0x1efdc(%rip), %rsi     # 0x3b928
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1efd5(%rip), %rsi     # 0x3b937
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1efce(%rip), %rsi     # 0x3b946
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1efc7(%rip), %rsi     # 0x3b955
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1efc1(%rip), %rsi     # 0x3b965
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1efbb(%rip), %rsi     # 0x3b975
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1efb5(%rip), %rsi     # 0x3b985
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x53b0
leaq 0x1efb1(%rip), %rsi     # 0x3b997
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x53b0
leaq 0x1efad(%rip), %rsi     # 0x3b9a9
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x53b0
leaq 0x1efa9(%rip), %rsi     # 0x3b9bb
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1efa2(%rip), %rsi     # 0x3b9ca
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef9b(%rip), %rsi     # 0x3b9d9
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef94(%rip), %rsi     # 0x3b9e8
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1ef8f(%rip), %rsi     # 0x3b9f9
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1ef8a(%rip), %rsi     # 0x3ba0a
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1ef85(%rip), %rsi     # 0x3ba1b
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef7e(%rip), %rsi     # 0x3ba2a
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef77(%rip), %rsi     # 0x3ba39
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef70(%rip), %rsi     # 0x3ba48
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1ef6a(%rip), %rsi     # 0x3ba58
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x53b0
leaq 0x1ef6b(%rip), %rsi     # 0x3ba6f
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1ef63(%rip), %rsi     # 0x3ba7d
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1ef5b(%rip), %rsi     # 0x3ba8b
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1ef53(%rip), %rsi     # 0x3ba99
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef4c(%rip), %rsi     # 0x3baa8
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef45(%rip), %rsi     # 0x3bab7
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ef3e(%rip), %rsi     # 0x3bac6
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1ef36(%rip), %rsi     # 0x3bad4
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1ef2e(%rip), %rsi     # 0x3bae2
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1ef26(%rip), %rsi     # 0x3baf0
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x53b0
leaq 0x1ef1d(%rip), %rsi     # 0x3bafd
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x53b0
leaq 0x1ef14(%rip), %rsi     # 0x3bb0a
leaq 0x20(%rsp), %rdi
movl $0xc, %edx
callq 0x53b0
leaq 0x1ef0b(%rip), %rsi     # 0x3bb17
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x53b0
leaq 0x1ef01(%rip), %rsi     # 0x3bb23
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x53b0
leaq 0x1eef7(%rip), %rsi     # 0x3bb2f
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x53b0
leaq 0x1eeed(%rip), %rsi     # 0x3bb3b
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1eee7(%rip), %rsi     # 0x3bb4b
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1eee2(%rip), %rsi     # 0x3bb5c
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1eeda(%rip), %rsi     # 0x3bb6a
leaq 0x20(%rsp), %r15
movl $0xe, %edx
movq %r15, %rdi
callq 0x53b0
cmpb $0x0, 0x1c(%rsp)
je 0x1cf8a
leaq 0x1eec5(%rip), %rsi     # 0x3bb79
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1eebf(%rip), %rsi     # 0x3bb89
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1eeb9(%rip), %rsi     # 0x3bb99
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1eeb3(%rip), %rsi     # 0x3bba9
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1eeab(%rip), %rsi     # 0x3bbb7
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1eea3(%rip), %rsi     # 0x3bbc5
leaq 0x20(%rsp), %rdi
movl $0xd, %edx
callq 0x53b0
leaq 0x1ee9b(%rip), %rsi     # 0x3bbd3
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x53b0
leaq 0x1ee97(%rip), %rsi     # 0x3bbe5
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x53b0
leaq 0x1ee93(%rip), %rsi     # 0x3bbf7
leaq 0x20(%rsp), %rdi
movl $0x11, %edx
callq 0x53b0
leaq 0x1ee8f(%rip), %rsi     # 0x3bc09
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1ee8a(%rip), %rsi     # 0x3bc1a
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1ee85(%rip), %rsi     # 0x3bc2b
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1ee80(%rip), %rsi     # 0x3bc3c
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1ee7e(%rip), %rsi     # 0x3bc50
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1ee7c(%rip), %rsi     # 0x3bc64
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1ee7a(%rip), %rsi     # 0x3bc78
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1ee78(%rip), %rsi     # 0x3bc8c
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1ee76(%rip), %rsi     # 0x3bca0
leaq 0x20(%rsp), %rdi
movl $0x13, %edx
callq 0x53b0
leaq 0x1ee74(%rip), %rsi     # 0x3bcb4
leaq 0x20(%rsp), %rdi
movl $0x12, %edx
callq 0x53b0
leaq 0x1ee71(%rip), %rsi     # 0x3bcc7
leaq 0x20(%rsp), %rdi
movl $0x12, %edx
callq 0x53b0
leaq 0x1ee6e(%rip), %rsi     # 0x3bcda
leaq 0x20(%rsp), %rdi
movl $0x12, %edx
callq 0x53b0
leaq 0x1ee6b(%rip), %rsi     # 0x3bced
leaq 0x20(%rsp), %rdi
movl $0x7, %edx
callq 0x53b0
leaq 0x1ee5d(%rip), %rsi     # 0x3bcf5
leaq 0x20(%rsp), %rdi
movl $0x7, %edx
callq 0x53b0
leaq 0x1ee4f(%rip), %rsi     # 0x3bcfd
leaq 0x20(%rsp), %rdi
movl $0x7, %edx
callq 0x53b0
leaq 0x1ee41(%rip), %rsi     # 0x3bd05
leaq 0x20(%rsp), %rdi
movl $0x7, %edx
callq 0x53b0
leaq 0x1ee33(%rip), %rsi     # 0x3bd0d
leaq 0x20(%rsp), %rdi
movl $0xe, %edx
callq 0x53b0
leaq 0x1ee2c(%rip), %rsi     # 0x3bd1c
leaq 0x20(%rsp), %rdi
movl $0xf, %edx
callq 0x53b0
leaq 0x1ee26(%rip), %rsi     # 0x3bd2c
leaq 0x20(%rsp), %rdi
movl $0xb, %edx
callq 0x53b0
cmpb $0x0, 0x1c(%rsp)
je 0x1cf8a
leaq 0x1e7d2(%rip), %rsi     # 0x3b6f5
leaq 0x20(%rsp), %rdi
movl $0x9, %edx
callq 0x53b0
leaq 0x1edff(%rip), %rsi     # 0x3bd38
leaq 0x20(%rsp), %rdi
movl $0x10, %edx
callq 0x53b0
leaq 0x1edfa(%rip), %rsi     # 0x3bd49
leaq 0x20(%rsp), %rdi
movl $0x16, %edx
callq 0x53b0
leaq 0x1edfb(%rip), %rsi     # 0x3bd60
leaq 0x20(%rsp), %rdi
movl $0x17, %edx
callq 0x53b0
leaq 0x1edfd(%rip), %rsi     # 0x3bd78
leaq 0x20(%rsp), %rdi
movl $0x15, %edx
callq 0x53b0
movq 0x20(%rsp), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x5330
movsbl %al, %esi
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5250
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movl $0xfffffefb, %ecx       # imm = 0xFFFFFEFB
andl 0x38(%rsp,%rax), %ecx
orl $0x4, %ecx
movl %ecx, 0x38(%rsp,%rax)
movq 0x28(%r14), %rax
cmpq 0x20(%r14), %rax
je 0x1e926
movq $0x0, 0x10(%rsp)
leaq 0x1e77e(%rip), %rbp     # 0x3b76d
xorl %r13d, %r13d
movq $0x0, 0x8(%rsp)
xorl %r12d, %r12d
xorl %ebx, %ebx
movq $0x0, 0x220(%rsp)
movq 0x1b0(%r14), %rax
movsd 0x40(%rax,%r13), %xmm0
leaq 0x248(%rsp), %rdi
callq 0x18610
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x8(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x20(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
cmpb $0x0, 0x1c(%rsp)
je 0x1e01d
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x6, 0x28(%rsp,%rax)
movsd 0x258(%rsp), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x6, 0x28(%rsp,%rax)
movsd 0x250(%rsp), %xmm0
divsd 0x1d9d2(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x6, 0x28(%rsp,%rax)
movsd 0x248(%rsp), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x6, 0x28(%rsp,%rax)
movsd 0x260(%rsp), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0xc0(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0xd8(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x2, 0x28(%rsp,%rax)
movq (%r14), %rax
movq 0xf0(%r14), %rcx
movsd (%rcx,%rbx), %xmm0
divsd 0x1f8(%rax), %xmm0
mulsd 0x1e4d7(%rip), %xmm0    # 0x3b6e0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x2, 0x28(%rsp,%rax)
movq (%r14), %rax
movq 0x108(%r14), %rcx
movsd (%rcx,%rbx), %xmm0
divsd 0x1f8(%rax), %xmm0
mulsd 0x1e48e(%rip), %xmm0    # 0x3b6e0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x2, 0x28(%rsp,%rax)
movq 0xf0(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq 0x108(%r14), %rax
subsd (%rax,%rbx), %xmm0
movq (%r14), %rax
divsd 0x1f8(%rax), %xmm0
mulsd 0x1e439(%rip), %xmm0    # 0x3b6e0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd (%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x18(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x30(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x8(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x20(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x38(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x10(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x28(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x120(%r14), %rax
movsd 0x40(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x38(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x50(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x68(%r14), %rax
movq 0x220(%rsp), %rdx
movq %rdx, %rcx
shrq $0x6, %rcx
movq (%rax,%rcx,8), %rax
xorl %esi, %esi
btq %rdx, %rax
setb %sil
movq %r15, %rdi
callq 0x5570
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x90(%r14), %rax
movsd (%rax,%rbx), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0xa8(%r14), %rax
movsd (%rax,%rbx), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x138(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x150(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x168(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x180(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x198(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x288(%r14), %rax
movsd (%rax,%rbx), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2a0(%r14), %rax
movsd (%rax,%rbx), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x18(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x20(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x28(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd (%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x8(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x10(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x30(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x38(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x210(%r14), %rax
movsd 0x40(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x18(%rax,%r12,2), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x20(%rax,%r12,2), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x28(%rax,%r12,2), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x18(%rax,%r12,2), %xmm0
divsd 0x1dcd2(%rip), %xmm0    # 0x3b6e8
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x20(%rax,%r12,2), %xmm0
divsd 0x1dc92(%rip), %xmm0    # 0x3b6e8
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x28(%rax,%r12,2), %xmm0
divsd 0x1dc52(%rip), %xmm0    # 0x3b6e8
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd (%rax,%r12,2), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x8(%rax,%r12,2), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1f8(%r14), %rax
movsd 0x10(%rax,%r12,2), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x48(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x50(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x58(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x60(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1e0(%r14), %rax
movsd (%rax,%rbx), %xmm0
divsd 0x1ce55(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x30(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x38(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x40(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x18(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x20(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x28(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd (%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x8(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1c8(%r14), %rax
movq 0x10(%rsp), %rcx
movsd 0x10(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x18(%rax,%r13), %xmm0
divsd 0x1cbfa(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x20(%rax,%r13), %xmm0
divsd 0x1cbba(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x28(%rax,%r13), %xmm0
divsd 0x1cb7a(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd (%rax,%r13), %xmm0
divsd 0x1cb3b(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x8(%rax,%r13), %xmm0
divsd 0x1cafb(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0xa, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x10(%rax,%r13), %xmm0
divsd 0x1cabb(%rip), %xmm0    # 0x3aac0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x30(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x38(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rax
movsd 0x40(%rax,%r13), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rdi
leaq (%rdi,%r13), %rsi
addq $0x30, %rsi
addq $0x30, %rdi
callq 0x18d38
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
cmpb $0x0, 0x1c(%rsp)
je 0x1e8bd
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x18(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x20(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x28(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x30(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x38(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x40(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x48(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x50(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x58(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x60(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x68(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x70(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd (%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x8(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x2b8(%r14), %rax
movq 0x8(%rsp), %rcx
movsd 0x10(%rax,%rcx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x270(%r14), %rax
movsd (%rax,%r12), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x270(%r14), %rax
movsd 0x8(%rax,%r12), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x270(%r14), %rax
movsd 0x10(%rax,%r12), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x258(%r14), %rax
movsd (%rax,%r12), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x258(%r14), %rax
movsd 0x8(%rax,%r12), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x258(%r14), %rax
movsd 0x10(%rax,%r12), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x228(%r14), %rax
movsd 0x20(%rax,%rbx,8), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x228(%r14), %rax
movsd 0x28(%rax,%rbx,8), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x228(%r14), %rax
movsd 0x30(%rax,%rbx,8), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x228(%r14), %rax
movsd 0x38(%rax,%rbx,8), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x228(%r14), %rax
movsd (%rax,%rbx,8), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x228(%r14), %rax
movsd 0x8(%rax,%rbx,8), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x228(%r14), %rax
movsd 0x10(%rax,%rbx,8), %xmm0
callq 0x727d
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
cmpb $0x0, 0x1c(%rsp)
je 0x1e8bd
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movq 0x20(%r14), %rax
movsd (%rax,%rbx), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x1b0(%r14), %rsi
addq %r13, %rsi
movq 0x1c8(%r14), %rdx
addq 0x10(%rsp), %rdx
leaq 0x228(%rsp), %rdi
callq 0x26370
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x28(%rsp,%rax)
movsd 0x228(%rsp), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movsd 0x230(%rsp), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movsd 0x238(%rsp), %xmm0
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x28(%rsp,%rax)
movq 0x1b0(%r14), %rdi
addq $0x30, %rdi
leaq 0x230(%rsp), %rsi
callq 0x18d38
movq %r15, %rdi
callq 0x5530
movl $0x1, %edx
movq %rax, %rdi
movq %rbp, %rsi
callq 0x53b0
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5330
movsbl %al, %esi
movq %r15, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5250
movq 0x28(%r14), %rax
subq 0x20(%r14), %rax
movq 0x220(%rsp), %rdx
incq %rdx
sarq $0x3, %rax
addq $0x8, %rbx
addq $0x18, %r12
addq $0x78, 0x8(%rsp)
addq $0x48, %r13
addq $0x68, 0x10(%rsp)
movq %rdx, 0x220(%rsp)
cmpq %rdx, %rax
ja 0x1d00c
leaq 0x20(%rsp), %rdi
callq 0x54b0
movq 0x2a671(%rip), %rax     # 0x48fa8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x28(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x20(%rsp,%rcx)
callq 0x52f0
leaq 0x118(%rsp), %rdi
callq 0x5130
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1e980
jmp 0x1e980
jmp 0x1e980
jmp 0x1e980
jmp 0x1e980
jmp 0x1e980
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x54f0
movq %rbx, %rdi
callq 0x55e0
nop