// File: /workspace/github_cpp_makefile_star2_O3/chfeder[P]turbulence_generator/./TurbGen.h
// Function: TurbGen::init_driving(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, double)
int init_driving(std::string parameter_file, const double time) {
        // ******************************************************
        // Initialise the turbulence generator and all relevant internal data structures by reading from 'parameter_file'.
        // This is used for driving turbulence (as opposed to init_single_realisation, which is for creating a single pattern).
        // ******************************************************
        if (verbose > 1) TurbGen_printf(FuncSig(__func__)+"entering.\n");
        // set parameter file
        this->parameter_file = parameter_file;
        // check if parameter file is present
        FILE * fp = fopen(parameter_file.c_str(), "r");
        if (fp == NULL) {
            std::string msg = ClassSignature+"ERROR: cannot access parameter file '%s'.\n";
            printf(msg.c_str(), parameter_file.c_str()); exit(-1);
        } else {
            fclose(fp);
        }
        // read parameter file
        std::vector<double> ret;
        double k_driv, k_min, k_max;
        // get the number of dimensions, and based on that, set the number of vector field components
        ret = read_from_parameter_file("ndim", "d"); ndim = ret[0]; // Number of spatial dimensions (1, 1.5, 2, 2.5, 3)
        set_number_of_components(); // set number of components
        std::string ncmp_str; // number of component (ncmp) as string type
        std::stringstream dummystream;
        dummystream << ncmp; dummystream >> ncmp_str; dummystream.clear();
        // read remaining parameters from file
        ret = read_from_parameter_file("L", ncmp_str+"d"); // Length of domain (box) x[y[z]]
        for (unsigned int d = 0; d < ncmp; d++) L[d] = ret[d];
        ret = read_from_parameter_file("velocity", "d"); velocity = ret[0]; // Target turbulent velocity dispersion
        ret = read_from_parameter_file("k_driv", "d"); k_driv = ret[0]; // driving wavenumber in 2pi/L; sets t_decay below
        ret = read_from_parameter_file("k_min", "d"); k_min = ret[0]; // min wavenumber in 2pi/L
        ret = read_from_parameter_file("k_max", "d"); k_max = ret[0]; // max wavenumber in 2pi/L
        ret = read_from_parameter_file("sol_weight", "d"); sol_weight = ret[0]; // solenoildal weight
        ret = read_from_parameter_file("spect_form", "i"); spect_form = (int)ret[0]; // spectral form
        ret = read_from_parameter_file("power_law_exp", "d"); power_law_exp = ret[0]; // power-law exponent (if spect_form=2)
        power_law_exp_2 = power_law_exp; // driving does not support a 2nd PL section (yet)
        ret = read_from_parameter_file("angles_exp", "d"); angles_exp = ret[0]; // angles sampling exponent (if spect_form=2)
        ret = read_from_parameter_file("ampl_factor", ncmp_str+"d"); // adjust driving amplitude by factor in x[y[z]] (to adjust to target velocity)
        for (unsigned int d = 0; d < ncmp; d++) ampl_factor[d] = ret[d];
        ret = read_from_parameter_file("ampl_auto_adjust", "i"); ampl_auto_adjust = (int)ret[0]; // automatic amplitude adjustment switch
        ret = read_from_parameter_file("random_seed", "i"); random_seed = (int)ret[0]; // random seed
        ret = read_from_parameter_file("nsteps_per_t_turb", "i"); nsteps_per_t_turb = (int)ret[0]; // number of pattern updates per t_decay
        // define derived physical quantities
        kmin = (k_min-DBL_EPSILON) * 2*M_PI / L[X]; // Minimum driving wavenumber <~  k_min * 2pi / Lx
        kmax = (k_max+DBL_EPSILON) * 2*M_PI / L[X]; // Maximum driving wavenumber >~  k_max * 2pi / Lx
        kmid = kmax; // driving does not support a 2nd PL section (yet)
        t_decay = L[X] / k_driv / velocity;             // Auto-correlation time, t_turb = Lx / k_driv / velocity;
                                                        // i.e., turbulent turnover (crossing) time; with k_driv in units of 2pi/Lx
        dt = t_decay / nsteps_per_t_turb;               // time step in OU process and for creating new driving pattern
        step = -1;                                      // set internal OU step to -1 for start-up
        seed = random_seed;                             // copy original seed into local seed;
                                                        // local seeds gets updated everytime the random number generator is called
        const double ampl_coeff = 0.15;                 // This is the default amplitude coefficient ('ampl_coeff') that often
                                                        // (based on Mach ~ 1, naturally-mixed driving) leads to a good match of the
                                                        // user-to-target velocity dispersion.
                                                        // However, the amplitudes can be adjusted via ampl_factor_in[X,Y,Z].
        energy = pow(ampl_coeff*velocity, 3.0) / L[X];  // Energy input rate => driving amplitude ~ sqrt(energy/t_decay).
                                                        // Note that energy input rate ~ velocity^3 / L_box.
        OUvar = sqrt(energy/t_decay);                   // set Ornstein-Uhlenbeck (OU) variance
        // if we auto-adjust the amplitude, we need to read the ampl_factor from the evolution file, on restart (time > 0)
        if ((ampl_auto_adjust == 1) && (time > 0.0))
            if (!read_ampl_factor_from_evol_file(time)) return -1;
        // We raise the user-set ampl_factor to the 1.5th power, so the user can more easily adjust this as a pure factor
        // of target-to-measured velocity disperion (this is because the amplitude is actually ~ velocity^1.5; see just above).
        for (unsigned int d = 0; d < ncmp; d++) ampl_factor[d] = pow(ampl_factor[d], 1.5);
        if (verbose) TurbGen_printf("===============================================================================\n");
        // set solenoidal weight normalisation
        set_solenoidal_weight_normalisation();
        // initialise modes
        init_modes();
        // initialise Ornstein-Uhlenbeck sequence
        OU_noise_init();
        // calculate solenoidal and compressive coefficients (aka, akb) from OUphases
        get_decomposition_coeffs();
        // print info
        if (verbose) print_info("driving");
        // write header of time evolution file
        if (verbose) TurbGen_printf("Writing time evolution information to file '%s'.\n", evolfile.c_str());
        if (PE == 0) {
            std::ofstream outfilestream(evolfile.c_str(), std::ios::app);
            outfilestream   << std::setw(24) << "#01_time" << std::setw(24) << "#02_time_in_t_turb"
                            << std::setw(24) << "#03_ampl_factor_x" << std::setw(24) << "#04_ampl_factor_y" << std::setw(24) << "#05_ampl_factor_z"
                            << std::setw(24) << "#06_v_turb_prev_x" << std::setw(24) << "#07_v_turb_prev_y" << std::setw(24) << "#08_v_turb_prev_z"
                            << std::endl;
            outfilestream.close();
            outfilestream.clear();
        }
        if (verbose) TurbGen_printf("===============================================================================\n");
        if (verbose > 1) TurbGen_printf(FuncSig(__func__)+"exiting.\n");
        return 0;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x868, %rsp            # imm = 0x868
movsd %xmm0, 0x8(%rsp)
movq %rsi, %r14
movq %rdi, %rbx
cmpl $0x2, (%rdi)
jl 0x5cbe
leaq 0x6b0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x890f(%rip), %rsi      # 0xe4ce
leaq 0x8914(%rip), %rdx      # 0xe4da
leaq 0x6a0(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x6a0(%rsp), %rdx
movq %rbx, %rsi
callq 0x7a28
leaq 0x88e9(%rip), %rsi      # 0xe4db
leaq 0x90(%rsp), %rdi
callq 0x34f0
leaq 0x2d0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5c30
movq %rdx, 0x2c0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2d0(%rsp)
jmp 0x5c3a
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x2c0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x2c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x5c80
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5ca1
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x6a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x5cbe
movq 0x6b0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x28(%rbx), %rdi
movq %r14, %rsi
callq 0x3180
movq (%r14), %rdi
leaq 0x84a4(%rip), %rsi      # 0xe178
callq 0x32e0
testq %rax, %rax
je 0x731a
movq %rax, %rdi
callq 0x3280
leaq 0x690(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8814(%rip), %rsi      # 0xe511
leaq 0x8811(%rip), %rdx      # 0xe515
leaq 0x680(%rsp), %rdi
callq 0xba58
leaq 0x670(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x8a00(%rip), %rsi      # 0xe725
leaq 0x89fa(%rip), %rdx      # 0xe726
leaq 0x660(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x680(%rsp), %rdx
leaq 0x660(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %r13
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq 0x660(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d9f
movq 0x670(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x680(%rsp), %rdi
cmpq %r14, %rdi
je 0x5dbc
movq 0x690(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x158(%rbx)
movq %rbx, %rdi
movq %r13, (%rsp)
callq 0x88ce
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x6e0(%rsp), %rdi
callq 0x31d0
leaq 0x6f0(%rsp), %rdi
movl 0x160(%rbx), %esi
callq 0x3450
leaq 0x6e0(%rsp), %r14
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x3340
movq 0x6e0(%rsp), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x3440
leaq 0x650(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x86cf(%rip), %rsi      # 0xe516
leaq 0x86c9(%rip), %rdx      # 0xe517
leaq 0x640(%rsp), %rdi
callq 0xba58
leaq 0x60(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x50(%rsp), %rdi
callq 0xde20
leaq 0x88a3(%rip), %rsi      # 0xe725
leaq 0x50(%rsp), %rdi
callq 0x34f0
leaq 0x90(%rsp), %rdi
leaq 0x640(%rsp), %rdx
leaq 0x50(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r12
movq 0xa0(%rsp), %r13
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x5efe
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5f15
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x640(%rsp), %rdi
cmpq %r14, %rdi
je 0x5f32
movq 0x650(%rsp), %rsi
incq %rsi
callq 0x32a0
movl 0x160(%rbx), %eax
testq %rax, %rax
je 0x5f56
xorl %ecx, %ecx
movsd (%r12,%rcx,8), %xmm0
movsd %xmm0, 0x178(%rbx,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x5f3f
leaq 0x630(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x85af(%rip), %rsi      # 0xe518
leaq 0x85b0(%rip), %rdx      # 0xe520
leaq 0x620(%rsp), %rdi
callq 0xba58
leaq 0x610(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8795(%rip), %rsi      # 0xe725
leaq 0x878f(%rip), %rdx      # 0xe726
leaq 0x600(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x620(%rsp), %rdx
leaq 0x600(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %rax
movq %rax, (%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
testq %r12, %r12
je 0x6021
subq %r12, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6021
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x600(%rsp), %rdi
cmpq %rbp, %rdi
je 0x603e
movq 0x610(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x620(%rsp), %rdi
cmpq %r14, %rdi
je 0x605b
movq 0x630(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x190(%rbx)
leaq 0x5f0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x84a6(%rip), %rsi      # 0xe521
leaq 0x84a5(%rip), %rdx      # 0xe527
leaq 0x5e0(%rsp), %rdi
callq 0xba58
leaq 0x5d0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8683(%rip), %rsi      # 0xe725
leaq 0x867d(%rip), %rdx      # 0xe726
leaq 0x5c0(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x5e0(%rsp), %rdx
leaq 0x5c0(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r12
movq 0xa0(%rsp), %r14
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x612b
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x5c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6148
movq 0x5d0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x5e0(%rsp), %rdi
cmpq %r13, %rdi
je 0x6165
movq 0x5f0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r12), %xmm0
movsd %xmm0, 0x298(%rsp)
leaq 0x5b0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x83a1(%rip), %rsi      # 0xe528
leaq 0x839f(%rip), %rdx      # 0xe52d
leaq 0x5a0(%rsp), %rdi
callq 0xba58
leaq 0x590(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8577(%rip), %rsi      # 0xe725
leaq 0x8571(%rip), %rdx      # 0xe726
leaq 0x580(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x5a0(%rsp), %rdx
leaq 0x580(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %rax
movq %rax, (%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
subq %r12, %r14
movq %r12, %rdi
movq %r14, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x623a
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x580(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6257
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x5a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x6274
movq 0x5b0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movapd %xmm0, 0x6d0(%rsp)
leaq 0x570(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x8299(%rip), %rsi      # 0xe52e
leaq 0x8297(%rip), %rdx      # 0xe533
leaq 0x560(%rsp), %rdi
callq 0xba58
leaq 0x550(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8469(%rip), %rsi      # 0xe725
leaq 0x8463(%rip), %rdx      # 0xe726
leaq 0x540(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x560(%rsp), %rdx
leaq 0x540(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r12
movq 0xa0(%rsp), %r14
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6345
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x540(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6362
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x560(%rsp), %rdi
cmpq %r13, %rdi
je 0x637f
movq 0x570(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r12), %xmm0
movapd %xmm0, 0x6c0(%rsp)
leaq 0x530(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x8193(%rip), %rsi      # 0xe534
leaq 0x8196(%rip), %rdx      # 0xe53e
leaq 0x520(%rsp), %rdi
callq 0xba58
leaq 0x510(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x835d(%rip), %rsi      # 0xe725
leaq 0x8357(%rip), %rdx      # 0xe726
leaq 0x500(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x520(%rsp), %rdx
leaq 0x500(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %rax
movq %rax, (%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
subq %r12, %r14
movq %r12, %rdi
movq %r14, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6454
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x500(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6471
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x520(%rsp), %rdi
cmpq %r13, %rdi
je 0x648e
movq 0x530(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x1d0(%rbx)
leaq 0x4f0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8091(%rip), %rsi      # 0xe53f
leaq 0x8094(%rip), %rdx      # 0xe549
leaq 0x4e0(%rsp), %rdi
callq 0xba58
leaq 0x4d0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x850e(%rip), %rsi      # 0xe9e3
leaq 0x8508(%rip), %rdx      # 0xe9e4
leaq 0x4c0(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x4e0(%rsp), %rdx
leaq 0x4c0(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r12
movq 0xa0(%rsp), %r13
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x655e
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x4c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x657b
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x4e0(%rsp), %rdi
cmpq %r14, %rdi
je 0x6598
movq 0x4f0(%rsp), %rsi
incq %rsi
callq 0x32a0
cvttsd2si (%r12), %eax
movl %eax, 0x16c(%rbx)
leaq 0x4b0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7f93(%rip), %rsi      # 0xe54a
leaq 0x7f99(%rip), %rdx      # 0xe557
leaq 0x4a0(%rsp), %rdi
callq 0xba58
leaq 0x490(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8147(%rip), %rsi      # 0xe725
leaq 0x8141(%rip), %rdx      # 0xe726
leaq 0x480(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x4a0(%rsp), %rdx
leaq 0x480(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %rax
movq %rax, (%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
subq %r12, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x666a
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x480(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6687
movq 0x490(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x4a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x66a4
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x1e0(%rbx)
movsd %xmm0, 0x1e8(%rbx)
leaq 0x470(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7e8c(%rip), %rsi      # 0xe558
leaq 0x7e8f(%rip), %rdx      # 0xe562
leaq 0x460(%rsp), %rdi
callq 0xba58
leaq 0x450(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8032(%rip), %rsi      # 0xe725
leaq 0x802c(%rip), %rdx      # 0xe726
leaq 0x440(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x460(%rsp), %rdx
leaq 0x440(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r12
movq 0xa0(%rsp), %r13
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x677c
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x440(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6799
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x460(%rsp), %rdi
cmpq %r14, %rdi
je 0x67b6
movq 0x470(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r12), %xmm0
movsd %xmm0, 0x1f0(%rbx)
leaq 0x430(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7d8c(%rip), %rsi      # 0xe563
leaq 0x7d90(%rip), %rdx      # 0xe56e
leaq 0x420(%rsp), %rdi
callq 0xba58
leaq 0x40(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x30(%rsp), %rdi
callq 0xde20
leaq 0x7f13(%rip), %rsi      # 0xe725
leaq 0x30(%rsp), %rdi
callq 0x34f0
leaq 0x90(%rsp), %rdi
leaq 0x420(%rsp), %rdx
leaq 0x30(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %rax
movq %rax, (%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
subq %r12, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6891
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x68a8
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x420(%rsp), %rdi
cmpq %r14, %rdi
je 0x68c5
movq 0x430(%rsp), %rsi
incq %rsi
callq 0x32a0
movl 0x160(%rbx), %eax
testq %rax, %rax
je 0x68e9
xorl %ecx, %ecx
movsd (%r15,%rcx,8), %xmm0
movsd %xmm0, 0x1f8(%rbx,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x68d2
leaq 0x410(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7c73(%rip), %rsi      # 0xe56f
leaq 0x7c7c(%rip), %rdx      # 0xe57f
leaq 0x400(%rsp), %rdi
callq 0xba58
leaq 0x3f0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x80c0(%rip), %rsi      # 0xe9e3
leaq 0x80ba(%rip), %rdx      # 0xe9e4
leaq 0x3e0(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x400(%rsp), %rdx
leaq 0x3e0(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r12
movq 0xa0(%rsp), %r13
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
testq %r15, %r15
je 0x69b1
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x69b1
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x3e0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x69ce
movq 0x3f0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x400(%rsp), %rdi
cmpq %r14, %rdi
je 0x69eb
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x32a0
cvttsd2si (%r12), %eax
movl %eax, 0x210(%rbx)
leaq 0x3d0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7b76(%rip), %rsi      # 0xe580
leaq 0x7b7a(%rip), %rdx      # 0xe58b
leaq 0x3c0(%rsp), %rdi
callq 0xba58
leaq 0x80(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x7fb2(%rip), %rsi      # 0xe9e3
leaq 0x7fac(%rip), %rdx      # 0xe9e4
leaq 0x70(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x3c0(%rsp), %rdx
leaq 0x70(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %rbp
movq 0xa0(%rsp), %r14
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
subq %r12, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6ab3
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x6ad5
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x3c0(%rsp), %rdi
cmpq %r15, %rdi
je 0x6af2
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x32a0
cvttsd2si (%rbp), %eax
movl %eax, 0x164(%rbx)
leaq 0x3b0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7a7b(%rip), %rsi      # 0xe58c
leaq 0x7a85(%rip), %rdx      # 0xe59d
leaq 0x3a0(%rsp), %rdi
callq 0xba58
leaq 0x390(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x7eab(%rip), %rsi      # 0xe9e3
leaq 0x7ea5(%rip), %rdx      # 0xe9e4
leaq 0x380(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x3a0(%rsp), %rdx
leaq 0x380(%rsp), %rcx
movq %rbx, %rsi
callq 0x7ad2
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %rax
movq %rax, (%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
subq %rbp, %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6bc4
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x380(%rsp), %rdi
cmpq %r13, %rdi
je 0x6be1
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x3a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x6bfe
movq 0x3b0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0x170(%rbx)
movapd 0x6d0(%rsp), %xmm3
unpcklpd 0x6c0(%rsp), %xmm3      # xmm3 = xmm3[0],mem[0]
addpd 0x74f9(%rip), %xmm3     # 0xe120
movsd 0x178(%rbx), %xmm2
addpd %xmm3, %xmm3
mulpd 0x74f5(%rip), %xmm3     # 0xe130
movapd %xmm2, %xmm0
unpcklpd %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0]
divpd %xmm0, %xmm3
movupd %xmm3, 0x1b8(%rbx)
movhpd %xmm3, 0x1c8(%rbx)
divsd 0x298(%rsp), %xmm2
movsd 0x190(%rbx), %xmm0
divsd %xmm0, %xmm2
cvttpd2dq %xmm1, %xmm1
cvtdq2pd %xmm1, %xmm1
movsd %xmm2, 0x198(%rbx)
divsd %xmm1, %xmm2
movsd %xmm2, 0x1a0(%rbx)
movl $0xffffffff, 0x174(%rbx) # imm = 0xFFFFFFFF
movl 0x164(%rbx), %eax
movl %eax, 0x168(%rbx)
mulsd 0x73b2(%rip), %xmm0     # 0xe058
movsd 0x737a(%rip), %xmm1     # 0xe028
callq 0x3470
divsd 0x178(%rbx), %xmm0
movsd %xmm0, 0x1a8(%rbx)
divsd 0x198(%rbx), %xmm0
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jb 0x6cdb
sqrtsd %xmm0, %xmm0
jmp 0x6ce4
callq 0x3210
xorpd %xmm2, %xmm2
movsd 0x8(%rsp), %xmm1
movsd %xmm0, 0x1b0(%rbx)
ucomisd %xmm2, %xmm1
jbe 0x6d1a
cmpl $0x1, 0x210(%rbx)
jne 0x6d1a
movq %rbx, %rdi
movapd %xmm1, %xmm0
callq 0x89e4
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testb %al, %al
je 0x72ba
cmpl $0x0, 0x160(%rbx)
je 0x6d55
xorl %r14d, %r14d
movsd 0x1f8(%rbx,%r14,8), %xmm0
movsd 0x7328(%rip), %xmm1     # 0xe060
callq 0x3470
movsd %xmm0, 0x1f8(%rbx,%r14,8)
incq %r14
movl 0x160(%rbx), %eax
cmpq %rax, %r14
jb 0x6d26
cmpl $0x0, (%rbx)
je 0x6db0
leaq 0x370(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7831(%rip), %rsi      # 0xe59e
leaq 0x787a(%rip), %rdx      # 0xe5ee
leaq 0x360(%rsp), %rdi
callq 0xba58
leaq 0x360(%rsp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x360(%rsp), %rdi
cmpq %r14, %rdi
je 0x6db0
movq 0x370(%rsp), %rsi
incq %rsi
callq 0x32a0
xorps %xmm0, %xmm0
cvtsi2sdl 0x160(%rbx), %xmm0
movsd 0x7265(%rip), %xmm1     # 0xe028
divsd %xmm0, %xmm1
movapd %xmm1, %xmm0
xorpd %xmm4, %xmm4
ucomisd %xmm4, %xmm1
jb 0x6dde
xorps %xmm3, %xmm3
sqrtsd %xmm0, %xmm3
jmp 0x6deb
callq 0x3210
xorpd %xmm4, %xmm4
movapd %xmm0, %xmm3
mulsd 0x7275(%rip), %xmm3     # 0xe068
movsd 0x1d0(%rbx), %xmm0
movapd %xmm0, %xmm1
addsd %xmm0, %xmm1
movsd 0x723d(%rip), %xmm2     # 0xe048
subsd %xmm1, %xmm2
xorps %xmm1, %xmm1
cvtsi2sdl 0x160(%rbx), %xmm1
mulsd %xmm0, %xmm0
mulsd %xmm1, %xmm0
addsd %xmm2, %xmm0
ucomisd %xmm4, %xmm0
jb 0x6e32
sqrtsd %xmm0, %xmm0
jmp 0x6e43
movsd %xmm3, 0x8(%rsp)
callq 0x3210
movsd 0x8(%rsp), %xmm3
divsd %xmm0, %xmm3
movsd %xmm3, 0x1d8(%rbx)
movq %rbx, %rdi
callq 0x9254
movq %rbx, %rdi
callq 0xa68a
movq %rbx, %rdi
callq 0xa746
cmpl $0x0, (%rbx)
je 0x6f26
leaq 0x350(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7650(%rip), %rsi      # 0xe4d3
leaq 0x7650(%rip), %rdx      # 0xe4da
leaq 0x340(%rsp), %rdi
callq 0xba58
leaq 0x340(%rsp), %rsi
movq %rbx, %rdi
callq 0xaed2
movq 0x340(%rsp), %rdi
cmpq %r14, %rdi
je 0x6ec4
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x32a0
cmpl $0x0, (%rbx)
je 0x6f26
leaq 0x330(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7713(%rip), %rsi      # 0xe5ef
leaq 0x773d(%rip), %rdx      # 0xe620
leaq 0x320(%rsp), %rdi
callq 0xba58
movq 0x218(%rbx), %rdx
leaq 0x320(%rsp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x320(%rsp), %rdi
cmpq %r14, %rdi
je 0x6f26
movq 0x330(%rsp), %rsi
incq %rsi
callq 0x32a0
cmpl $0x0, 0x150(%rbx)
jne 0x713e
movq 0x218(%rbx), %rsi
leaq 0x90(%rsp), %rdi
movl $0x1, %edx
callq 0x32c0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x76b3(%rip), %rsi      # 0xe621
movl $0x8, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x7690(%rip), %rsi      # 0xe62a
movl $0x12, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x7677(%rip), %rsi      # 0xe63d
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x765d(%rip), %rsi      # 0xe64f
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x7643(%rip), %rsi      # 0xe661
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x7629(%rip), %rsi      # 0xe673
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x760f(%rip), %rsi      # 0xe685
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %r14
movq (%r14), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x75f5(%rip), %rsi      # 0xe697
movl $0x11, %edx
movq %r14, %rdi
callq 0x32d0
movq 0x90(%rsp), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x3270
movsbl %al, %esi
leaq 0x90(%rsp), %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31c0
leaq 0x90(%rsp), %r14
movq %r14, %rdi
callq 0x3370
movq 0x90(%rsp), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x3440
movq 0xaebb(%rip), %rax      # 0x11fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x98(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x90(%rsp,%rcx)
callq 0x3240
leaq 0x188(%rsp), %rdi
callq 0x30e0
cmpl $0x0, (%rbx)
je 0x72b8
leaq 0x310(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7444(%rip), %rsi      # 0xe59e
leaq 0x748d(%rip), %rdx      # 0xe5ee
leaq 0x300(%rsp), %rdi
callq 0xba58
leaq 0x300(%rsp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x300(%rsp), %rdi
cmpq %r14, %rdi
je 0x719d
movq 0x310(%rsp), %rsi
incq %rsi
callq 0x32a0
cmpl $0x2, (%rbx)
jl 0x72b8
leaq 0x2f0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7315(%rip), %rsi      # 0xe4ce
leaq 0x731a(%rip), %rdx      # 0xe4da
leaq 0x2e0(%rsp), %rdi
callq 0xba58
leaq 0x90(%rsp), %rdi
leaq 0x2e0(%rsp), %rdx
movq %rbx, %rsi
callq 0x7a28
leaq 0x74bd(%rip), %rsi      # 0xe6a9
leaq 0x90(%rsp), %rdi
callq 0x34f0
leaq 0x2b0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x722a
movq %rdx, 0x2a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b0(%rsp)
jmp 0x7234
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x2a0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x2a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x727a
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x729b
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x2e0(%rsp), %rdi
cmpq %r14, %rdi
je 0x72b8
movq 0x2f0(%rsp), %rsi
incq %rsi
callq 0x32a0
xorl %ebp, %ebp
movq 0xacef(%rip), %rsi      # 0x11fb0
leaq 0x6e0(%rsp), %rdi
callq 0x31f0
leaq 0x760(%rsp), %rdi
callq 0x30e0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x72f7
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32a0
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movl %ebp, %eax
addq $0x868, %rsp            # imm = 0x868
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
addq $0x8, %rbx
leaq 0x71c1(%rip), %rdx      # 0xe4e6
leaq 0x90(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x7a7c
movq (%r15), %rdi
movq (%r14), %rsi
xorl %eax, %eax
callq 0x3050
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x3300
movq %rax, %rbx
movq 0x2a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x7374
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7374
movq %rax, %rbx
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x739a
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x739a
movq %rax, %rbx
movq 0x2e0(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x2f0(%rsp), %rsi
jmp 0x787d
jmp 0x78df
jmp 0x78df
movq %rax, %rbx
movq 0x320(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x330(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x300(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x310(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x340(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x350(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x360(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x370(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x2c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x747f
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x747f
movq %rax, %rbx
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x74a5
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x74a5
movq %rax, %rbx
movq 0x6a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x7945
movq 0x6b0(%rsp), %rsi
jmp 0x78d3
jmp 0x78d8
movq %rax, %rbx
movq 0x380(%rsp), %rdi
cmpq %r13, %rdi
je 0x74ed
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x74ed
movq %rax, %rbx
movq 0x3a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x750f
movq 0x3b0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x750f
movq %rax, %rbx
movq %r14, (%rsp)
movq %rbp, %r15
jmp 0x78f4
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x7545
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7545
movq %rax, %rbx
movq 0x3c0(%rsp), %rdi
cmpq %r15, %rdi
je 0x783b
movq 0x3d0(%rsp), %rsi
jmp 0x782e
jmp 0x7838
movq %rax, %rbx
movq 0x3e0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x758d
movq 0x3f0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x758d
movq %rax, %rbx
movq 0x400(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x410(%rsp), %rsi
jmp 0x787d
jmp 0x78df
jmp 0x75b2
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x75d1
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x75d1
movq %rax, %rbx
movq 0x420(%rsp), %rdi
cmpq %r14, %rdi
je 0x783b
movq 0x430(%rsp), %rsi
jmp 0x782e
jmp 0x7838
movq %rax, %rbx
movq 0x440(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7619
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7619
movq %rax, %rbx
movq 0x460(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x470(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x480(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7661
movq 0x490(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7661
movq %rax, %rbx
movq 0x4a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x783b
movq 0x4b0(%rsp), %rsi
jmp 0x782e
jmp 0x7838
movq %rax, %rbx
movq 0x4c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x76a9
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x76a9
movq %rax, %rbx
movq 0x4e0(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x4f0(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x500(%rsp), %rdi
cmpq %rbp, %rdi
je 0x76f1
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x76f1
movq %rax, %rbx
movq 0x520(%rsp), %rdi
cmpq %r13, %rdi
je 0x77a3
movq 0x530(%rsp), %rsi
jmp 0x7796
jmp 0x77a0
movq %rax, %rbx
movq 0x540(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7739
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7739
movq %rax, %rbx
movq 0x560(%rsp), %rdi
cmpq %r13, %rdi
je 0x78f4
movq 0x570(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x580(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7781
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7781
movq %rax, %rbx
movq 0x5a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x77a3
movq 0x5b0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x77a3
movq %rax, %rbx
movq %r14, (%rsp)
jmp 0x783f
movq %rax, %rbx
movq 0x5c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x77d1
movq 0x5d0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x77d1
movq %rax, %rbx
movq 0x5e0(%rsp), %rdi
cmpq %r13, %rdi
je 0x78f4
movq 0x5f0(%rsp), %rsi
jmp 0x787d
jmp 0x78df
movq %rax, %rbx
movq 0x600(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7819
movq 0x610(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7819
movq %rax, %rbx
movq 0x620(%rsp), %rdi
cmpq %r14, %rdi
je 0x783b
movq 0x630(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x783b
movq %rax, %rbx
movq %r13, (%rsp)
movq %r12, %r15
jmp 0x78f4
jmp 0x7849
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7868
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7868
movq %rax, %rbx
movq 0x640(%rsp), %rdi
cmpq %r14, %rdi
je 0x78f4
movq 0x650(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x78f4
jmp 0x78df
movq %rax, %rbx
jmp 0x7915
movq %rax, %rbx
jmp 0x7936
movq %rax, %rbx
movq 0x660(%rsp), %rdi
cmpq %r12, %rdi
je 0x78be
movq 0x670(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x78be
movq %rax, %rbx
movq 0x680(%rsp), %rdi
cmpq %r14, %rdi
je 0x7945
movq 0x690(%rsp), %rsi
incq %rsi
jmp 0x7940
movq %rax, %rbx
jmp 0x7945
jmp 0x78df
movq %rax, %rbx
jmp 0x78f4
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x33a0
movq 0xa6b5(%rip), %rsi      # 0x11fb0
leaq 0x6e0(%rsp), %rdi
callq 0x31f0
leaq 0x760(%rsp), %rdi
callq 0x30e0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7931
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32a0
testq %r15, %r15
je 0x7945
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq %rbx, %rdi
callq 0x3480
nop