// File: /workspace/github_cpp_makefile_star2_O1/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 $0x858, %rsp            # imm = 0x858
movsd %xmm0, 0x8(%rsp)
movq %rsi, %r14
movq %rdi, %rbx
cmpl $0x2, (%rdi)
jl 0x5d2e
leaq 0x6c0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x884f(%rip), %rsi      # 0xe47e
leaq 0x8854(%rip), %rdx      # 0xe48a
leaq 0x6b0(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x6b0(%rsp), %rdx
movq %rbx, %rsi
callq 0x7ac4
leaq 0x8829(%rip), %rsi      # 0xe48b
leaq 0x90(%rsp), %rdi
callq 0x34f0
leaq 0x2e0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5ca0
movq %rdx, 0x2d0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2e0(%rsp)
jmp 0x5caa
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x2d0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x79ea
movq 0x2d0(%rsp), %rdi
cmpq %r12, %rdi
je 0x5cf0
movq 0x2e0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5d11
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x6b0(%rsp), %rdi
cmpq %r15, %rdi
je 0x5d2e
movq 0x6c0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x28(%rbx), %rdi
movq %r14, %rsi
callq 0x3180
movq (%r14), %rdi
leaq 0x83e4(%rip), %rsi      # 0xe128
callq 0x32e0
testq %rax, %rax
je 0x739c
movq %rax, %rdi
callq 0x3280
leaq 0x6a0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8754(%rip), %rsi      # 0xe4c1
leaq 0x8751(%rip), %rdx      # 0xe4c5
leaq 0x690(%rsp), %rdi
callq 0xbba2
leaq 0x680(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x8940(%rip), %rsi      # 0xe6d5
leaq 0x893a(%rip), %rdx      # 0xe6d6
leaq 0x670(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x690(%rsp), %rdx
leaq 0x670(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
movq 0x90(%rsp), %r15
movq 0xa0(%rsp), %r13
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
movq 0x670(%rsp), %rdi
cmpq %r12, %rdi
je 0x5e0f
movq 0x680(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x690(%rsp), %rdi
cmpq %r14, %rdi
je 0x5e2c
movq 0x6a0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x158(%rbx)
movq %rbx, %rdi
movq %r13, (%rsp)
callq 0x89f2
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x6d0(%rsp), %rdi
callq 0x31d0
leaq 0x6e0(%rsp), %rdi
movl 0x160(%rbx), %esi
callq 0x3450
leaq 0x6d0(%rsp), %r14
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x3340
movq 0x6d0(%rsp), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x3440
leaq 0x660(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x860f(%rip), %rsi      # 0xe4c6
leaq 0x8609(%rip), %rdx      # 0xe4c7
leaq 0x650(%rsp), %rdi
callq 0xbba2
leaq 0x60(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x50(%rsp), %rdi
callq 0xdf02
leaq 0x87e3(%rip), %rsi      # 0xe6d5
leaq 0x50(%rsp), %rdi
callq 0x34f0
leaq 0x90(%rsp), %rdi
leaq 0x650(%rsp), %rdx
leaq 0x50(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x5f6e
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5f85
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x650(%rsp), %rdi
cmpq %r14, %rdi
je 0x5fa2
movq 0x660(%rsp), %rsi
incq %rsi
callq 0x32a0
movl 0x160(%rbx), %eax
testq %rax, %rax
je 0x5fc6
xorl %ecx, %ecx
movsd (%r12,%rcx,8), %xmm0
movsd %xmm0, 0x178(%rbx,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x5faf
leaq 0x640(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x84ef(%rip), %rsi      # 0xe4c8
leaq 0x84f0(%rip), %rdx      # 0xe4d0
leaq 0x630(%rsp), %rdi
callq 0xbba2
leaq 0x620(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x86d5(%rip), %rsi      # 0xe6d5
leaq 0x86cf(%rip), %rdx      # 0xe6d6
leaq 0x610(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x630(%rsp), %rdx
leaq 0x610(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x6074
subq %r12, %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6091
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x610(%rsp), %rdi
cmpq %rbp, %rdi
je 0x60ae
movq 0x620(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x630(%rsp), %rdi
cmpq %r14, %rdi
je 0x60cb
movq 0x640(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x190(%rbx)
leaq 0x600(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x83e6(%rip), %rsi      # 0xe4d1
leaq 0x83e5(%rip), %rdx      # 0xe4d7
leaq 0x5f0(%rsp), %rdi
callq 0xbba2
leaq 0x5e0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x85c3(%rip), %rsi      # 0xe6d5
leaq 0x85bd(%rip), %rdx      # 0xe6d6
leaq 0x5d0(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x5f0(%rsp), %rdx
leaq 0x5d0(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x619b
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x5d0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x61b8
movq 0x5e0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x5f0(%rsp), %rdi
cmpq %r13, %rdi
je 0x61d5
movq 0x600(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r12), %xmm0
movsd %xmm0, 0x2a8(%rsp)
leaq 0x5c0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x82e1(%rip), %rsi      # 0xe4d8
leaq 0x82df(%rip), %rdx      # 0xe4dd
leaq 0x5b0(%rsp), %rdi
callq 0xbba2
leaq 0x5a0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x84b7(%rip), %rsi      # 0xe6d5
leaq 0x84b1(%rip), %rdx      # 0xe6d6
leaq 0x590(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x5b0(%rsp), %rdx
leaq 0x590(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x62aa
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x590(%rsp), %rdi
cmpq %rbp, %rdi
je 0x62c7
movq 0x5a0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x5b0(%rsp), %rdi
cmpq %r13, %rdi
je 0x62e4
movq 0x5c0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x2a0(%rsp)
leaq 0x580(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x81d9(%rip), %rsi      # 0xe4de
leaq 0x81d7(%rip), %rdx      # 0xe4e3
leaq 0x570(%rsp), %rdi
callq 0xbba2
leaq 0x560(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x83a9(%rip), %rsi      # 0xe6d5
leaq 0x83a3(%rip), %rdx      # 0xe6d6
leaq 0x550(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x570(%rsp), %rdx
leaq 0x550(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x63b5
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x550(%rsp), %rdi
cmpq %rbp, %rdi
je 0x63d2
movq 0x560(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x570(%rsp), %rdi
cmpq %r13, %rdi
je 0x63ef
movq 0x580(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r12), %xmm0
movsd %xmm0, 0x298(%rsp)
leaq 0x540(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x80d3(%rip), %rsi      # 0xe4e4
leaq 0x80d6(%rip), %rdx      # 0xe4ee
leaq 0x530(%rsp), %rdi
callq 0xbba2
leaq 0x520(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x829d(%rip), %rsi      # 0xe6d5
leaq 0x8297(%rip), %rdx      # 0xe6d6
leaq 0x510(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x530(%rsp), %rdx
leaq 0x510(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x64c4
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x510(%rsp), %rdi
cmpq %rbp, %rdi
je 0x64e1
movq 0x520(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x530(%rsp), %rdi
cmpq %r13, %rdi
je 0x64fe
movq 0x540(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x1d0(%rbx)
leaq 0x500(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7fd1(%rip), %rsi      # 0xe4ef
leaq 0x7fd4(%rip), %rdx      # 0xe4f9
leaq 0x4f0(%rsp), %rdi
callq 0xbba2
leaq 0x4e0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x844e(%rip), %rsi      # 0xe993
leaq 0x8448(%rip), %rdx      # 0xe994
leaq 0x4d0(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x4f0(%rsp), %rdx
leaq 0x4d0(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x65ce
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x4d0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x65eb
movq 0x4e0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x4f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x6608
movq 0x500(%rsp), %rsi
incq %rsi
callq 0x32a0
cvttsd2si (%r12), %eax
movl %eax, 0x16c(%rbx)
leaq 0x4c0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7ed3(%rip), %rsi      # 0xe4fa
leaq 0x7ed9(%rip), %rdx      # 0xe507
leaq 0x4b0(%rsp), %rdi
callq 0xbba2
leaq 0x4a0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8087(%rip), %rsi      # 0xe6d5
leaq 0x8081(%rip), %rdx      # 0xe6d6
leaq 0x490(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x4b0(%rsp), %rdx
leaq 0x490(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x66da
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x490(%rsp), %rdi
cmpq %rbp, %rdi
je 0x66f7
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x4b0(%rsp), %rdi
cmpq %r14, %rdi
je 0x6714
movq 0x4c0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm0
movsd %xmm0, 0x1e0(%rbx)
movsd %xmm0, 0x1e8(%rbx)
leaq 0x480(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7dcc(%rip), %rsi      # 0xe508
leaq 0x7dcf(%rip), %rdx      # 0xe512
leaq 0x470(%rsp), %rdi
callq 0xbba2
leaq 0x460(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x7f72(%rip), %rsi      # 0xe6d5
leaq 0x7f6c(%rip), %rdx      # 0xe6d6
leaq 0x450(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x470(%rsp), %rdx
leaq 0x450(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x67ec
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x450(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6809
movq 0x460(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x470(%rsp), %rdi
cmpq %r14, %rdi
je 0x6826
movq 0x480(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r12), %xmm0
movsd %xmm0, 0x1f0(%rbx)
leaq 0x440(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7ccc(%rip), %rsi      # 0xe513
leaq 0x7cd0(%rip), %rdx      # 0xe51e
leaq 0x430(%rsp), %rdi
callq 0xbba2
leaq 0x40(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x30(%rsp), %rdi
callq 0xdf02
leaq 0x7e53(%rip), %rsi      # 0xe6d5
leaq 0x30(%rsp), %rdi
callq 0x34f0
leaq 0x90(%rsp), %rdi
leaq 0x430(%rsp), %rdx
leaq 0x30(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x6901
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6918
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x430(%rsp), %rdi
cmpq %r14, %rdi
je 0x6935
movq 0x440(%rsp), %rsi
incq %rsi
callq 0x32a0
movl 0x160(%rbx), %eax
testq %rax, %rax
je 0x6959
xorl %ecx, %ecx
movsd (%r15,%rcx,8), %xmm0
movsd %xmm0, 0x1f8(%rbx,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x6942
leaq 0x420(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7bb3(%rip), %rsi      # 0xe51f
leaq 0x7bbc(%rip), %rdx      # 0xe52f
leaq 0x410(%rsp), %rdi
callq 0xbba2
leaq 0x400(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8000(%rip), %rsi      # 0xe993
leaq 0x7ffa(%rip), %rdx      # 0xe994
leaq 0x3f0(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x410(%rsp), %rdx
leaq 0x3f0(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
movq 0x90(%rsp), %r12
movq 0xa0(%rsp), %r13
xorpd %xmm0, %xmm0
movapd %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
testq %r15, %r15
je 0x6a04
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6a21
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x3f0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6a3e
movq 0x400(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x410(%rsp), %rdi
cmpq %r14, %rdi
je 0x6a5b
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x32a0
cvttsd2si (%r12), %eax
movl %eax, 0x210(%rbx)
leaq 0x3e0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7ab6(%rip), %rsi      # 0xe530
leaq 0x7aba(%rip), %rdx      # 0xe53b
leaq 0x3d0(%rsp), %rdi
callq 0xbba2
leaq 0x80(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x7ef2(%rip), %rsi      # 0xe993
leaq 0x7eec(%rip), %rdx      # 0xe994
leaq 0x70(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x3d0(%rsp), %rdx
leaq 0x70(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x6b23
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x6b45
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x3d0(%rsp), %rdi
cmpq %r15, %rdi
je 0x6b62
movq 0x3e0(%rsp), %rsi
incq %rsi
callq 0x32a0
cvttsd2si (%rbp), %eax
movl %eax, 0x164(%rbx)
leaq 0x3c0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x79bb(%rip), %rsi      # 0xe53c
leaq 0x79c5(%rip), %rdx      # 0xe54d
leaq 0x3b0(%rsp), %rdi
callq 0xbba2
leaq 0x3a0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x7deb(%rip), %rsi      # 0xe993
leaq 0x7de5(%rip), %rdx      # 0xe994
leaq 0x390(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x3b0(%rsp), %rdx
leaq 0x390(%rsp), %rcx
movq %rbx, %rsi
callq 0x7b6e
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 0x6c34
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x32a0
movq 0x390(%rsp), %rdi
cmpq %r13, %rdi
je 0x6c51
movq 0x3a0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x3b0(%rsp), %rdi
cmpq %r12, %rdi
je 0x6c6e
movq 0x3c0(%rsp), %rsi
incq %rsi
callq 0x32a0
movsd (%r15), %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0x170(%rbx)
movsd 0x2a0(%rsp), %xmm3
addsd 0x73c2(%rip), %xmm3     # 0xe050
addsd %xmm3, %xmm3
movsd 0x73be(%rip), %xmm0     # 0xe058
mulsd %xmm0, %xmm3
movsd 0x178(%rbx), %xmm2
divsd %xmm2, %xmm3
movsd %xmm3, 0x1b8(%rbx)
movsd 0x298(%rsp), %xmm3
addsd 0x739d(%rip), %xmm3     # 0xe060
addsd %xmm3, %xmm3
mulsd %xmm0, %xmm3
divsd %xmm2, %xmm3
movsd %xmm3, 0x1c0(%rbx)
movsd %xmm3, 0x1c8(%rbx)
divsd 0x2a8(%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 0x733a(%rip), %xmm0     # 0xe068
movsd 0x72f2(%rip), %xmm1     # 0xe028
callq 0x3470
divsd 0x178(%rbx), %xmm0
movsd %xmm0, 0x1a8(%rbx)
divsd 0x198(%rbx), %xmm0
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jb 0x6d63
sqrtsd %xmm0, %xmm0
jmp 0x6d6c
callq 0x3210
xorpd %xmm2, %xmm2
movsd 0x8(%rsp), %xmm1
movsd %xmm0, 0x1b0(%rbx)
ucomisd %xmm2, %xmm1
jbe 0x6da2
cmpl $0x1, 0x210(%rbx)
jne 0x6da2
movq %rbx, %rdi
movapd %xmm1, %xmm0
callq 0x8b08
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testb %al, %al
je 0x733c
cmpl $0x0, 0x160(%rbx)
je 0x6ddd
xorl %r14d, %r14d
movsd 0x1f8(%rbx,%r14,8), %xmm0
movsd 0x72b0(%rip), %xmm1     # 0xe070
callq 0x3470
movsd %xmm0, 0x1f8(%rbx,%r14,8)
incq %r14
movl 0x160(%rbx), %eax
cmpq %rax, %r14
jb 0x6dae
cmpl $0x0, (%rbx)
je 0x6e38
leaq 0x380(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7759(%rip), %rsi      # 0xe54e
leaq 0x77a2(%rip), %rdx      # 0xe59e
leaq 0x370(%rsp), %rdi
callq 0xbba2
leaq 0x370(%rsp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x79ea
movq 0x370(%rsp), %rdi
cmpq %r14, %rdi
je 0x6e38
movq 0x380(%rsp), %rsi
incq %rsi
callq 0x32a0
xorps %xmm0, %xmm0
cvtsi2sdl 0x160(%rbx), %xmm0
movsd 0x71dd(%rip), %xmm1     # 0xe028
divsd %xmm0, %xmm1
movapd %xmm1, %xmm0
xorpd %xmm4, %xmm4
ucomisd %xmm4, %xmm1
jb 0x6e66
xorps %xmm3, %xmm3
sqrtsd %xmm0, %xmm3
jmp 0x6e73
callq 0x3210
xorpd %xmm4, %xmm4
movapd %xmm0, %xmm3
mulsd 0x71fd(%rip), %xmm3     # 0xe078
movsd 0x1d0(%rbx), %xmm0
movapd %xmm0, %xmm1
addsd %xmm0, %xmm1
movsd 0x71b5(%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 0x6eba
sqrtsd %xmm0, %xmm0
jmp 0x6ecb
movsd %xmm3, 0x8(%rsp)
callq 0x3210
movsd 0x8(%rsp), %xmm3
divsd %xmm0, %xmm3
movsd %xmm3, 0x1d8(%rbx)
movq %rbx, %rdi
callq 0x936e
movq %rbx, %rdi
callq 0xa7ec
movq %rbx, %rdi
callq 0xa892
cmpl $0x0, (%rbx)
je 0x6f48
leaq 0x360(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x757c(%rip), %rsi      # 0xe483
leaq 0x757c(%rip), %rdx      # 0xe48a
leaq 0x350(%rsp), %rdi
callq 0xbba2
leaq 0x350(%rsp), %rsi
movq %rbx, %rdi
callq 0xb030
movq 0x350(%rsp), %rdi
cmpq %r14, %rdi
je 0x6f48
movq 0x360(%rsp), %rsi
incq %rsi
callq 0x32a0
cmpl $0x0, (%rbx)
je 0x6faa
leaq 0x340(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x763f(%rip), %rsi      # 0xe59f
leaq 0x7669(%rip), %rdx      # 0xe5d0
leaq 0x330(%rsp), %rdi
callq 0xbba2
movq 0x218(%rbx), %rdx
leaq 0x330(%rsp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x79ea
movq 0x330(%rsp), %rdi
cmpq %r14, %rdi
je 0x6faa
movq 0x340(%rsp), %rsi
incq %rsi
callq 0x32a0
cmpl $0x0, 0x150(%rbx)
jne 0x71c2
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 0x75df(%rip), %rsi      # 0xe5d1
movl $0x8, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x75bc(%rip), %rsi      # 0xe5da
movl $0x12, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x75a3(%rip), %rsi      # 0xe5ed
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x7589(%rip), %rsi      # 0xe5ff
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x756f(%rip), %rsi      # 0xe611
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x7555(%rip), %rsi      # 0xe623
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x753b(%rip), %rsi      # 0xe635
movl $0x11, %edx
callq 0x32d0
leaq 0x90(%rsp), %r14
movq (%r14), %rax
movq -0x18(%rax), %rax
movq $0x18, 0xa0(%rsp,%rax)
leaq 0x7521(%rip), %rsi      # 0xe647
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 0xae37(%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 0x721d
leaq 0x320(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7374(%rip), %rsi      # 0xe54e
leaq 0x73bd(%rip), %rdx      # 0xe59e
leaq 0x310(%rsp), %rdi
callq 0xbba2
leaq 0x310(%rsp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x79ea
movq 0x310(%rsp), %rdi
cmpq %r14, %rdi
je 0x721d
movq 0x320(%rsp), %rsi
incq %rsi
callq 0x32a0
xorl %ebp, %ebp
cmpl $0x2, (%rbx)
jl 0x733c
leaq 0x300(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x7243(%rip), %rsi      # 0xe47e
leaq 0x7248(%rip), %rdx      # 0xe48a
leaq 0x2f0(%rsp), %rdi
callq 0xbba2
leaq 0x90(%rsp), %rdi
leaq 0x2f0(%rsp), %rdx
movq %rbx, %rsi
callq 0x7ac4
leaq 0x73eb(%rip), %rsi      # 0xe659
leaq 0x90(%rsp), %rdi
callq 0x34f0
leaq 0x2c0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72ac
movq %rdx, 0x2b0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2c0(%rsp)
jmp 0x72b6
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x2b0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x79ea
movq 0x2b0(%rsp), %rdi
cmpq %r12, %rdi
je 0x72fc
movq 0x2c0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x731d
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x2f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x733a
movq 0x300(%rsp), %rsi
incq %rsi
callq 0x32a0
xorl %ebp, %ebp
movq 0xac6d(%rip), %rsi      # 0x11fb0
leaq 0x6d0(%rsp), %rdi
callq 0x31f0
leaq 0x750(%rsp), %rdi
callq 0x30e0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7379
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32a0
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movl %ebp, %eax
addq $0x858, %rsp            # imm = 0x858
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
addq $0x8, %rbx
leaq 0x70ef(%rip), %rdx      # 0xe496
leaq 0x90(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x7b18
movq (%r15), %rdi
movq (%r14), %rsi
xorl %eax, %eax
callq 0x3050
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x3300
jmp 0x797b
movq %rax, %rbx
movq 0x2b0(%rsp), %rdi
cmpq %r12, %rdi
je 0x73fb
movq 0x2c0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x73fb
movq %rax, %rbx
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7421
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7421
movq %rax, %rbx
movq 0x2f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x300(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x310(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x320(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x330(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x340(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x350(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x360(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x370(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x380(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x2d0(%rsp), %rdi
cmpq %r12, %rdi
je 0x7501
movq 0x2e0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7501
movq %rax, %rbx
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7527
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7527
movq %rax, %rbx
movq 0x6b0(%rsp), %rdi
cmpq %r15, %rdi
je 0x79e1
movq 0x6c0(%rsp), %rsi
incq %rsi
jmp 0x79dc
movq %rax, %rbx
jmp 0x79e1
movq %rax, %rbx
movq 0x390(%rsp), %rdi
cmpq %r13, %rdi
je 0x7575
movq 0x3a0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7575
movq %rax, %rbx
movq 0x3b0(%rsp), %rdi
cmpq %r12, %rdi
je 0x7597
movq 0x3c0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7597
movq %rax, %rbx
movq %r14, (%rsp)
movq %rbp, %r15
jmp 0x7990
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x75cd
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x75cd
movq %rax, %rbx
movq 0x3d0(%rsp), %rdi
cmpq %r15, %rdi
je 0x78c3
movq 0x3e0(%rsp), %rsi
jmp 0x78b6
jmp 0x78c0
movq %rax, %rbx
movq 0x3f0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7615
movq 0x400(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7615
movq %rax, %rbx
movq 0x410(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x420(%rsp), %rsi
jmp 0x7909
jmp 0x797b
jmp 0x763a
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7659
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7659
movq %rax, %rbx
movq 0x430(%rsp), %rdi
cmpq %r14, %rdi
je 0x78c3
movq 0x440(%rsp), %rsi
jmp 0x78b6
jmp 0x78c0
movq %rax, %rbx
movq 0x450(%rsp), %rdi
cmpq %rbp, %rdi
je 0x76a1
movq 0x460(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x76a1
movq %rax, %rbx
movq 0x470(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x480(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x490(%rsp), %rdi
cmpq %rbp, %rdi
je 0x76e9
movq 0x4a0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x76e9
movq %rax, %rbx
movq 0x4b0(%rsp), %rdi
cmpq %r14, %rdi
je 0x78c3
movq 0x4c0(%rsp), %rsi
jmp 0x78b6
jmp 0x78c0
movq %rax, %rbx
movq 0x4d0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7731
movq 0x4e0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7731
movq %rax, %rbx
movq 0x4f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x500(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x510(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7779
movq 0x520(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7779
movq %rax, %rbx
movq 0x530(%rsp), %rdi
cmpq %r13, %rdi
je 0x782b
movq 0x540(%rsp), %rsi
jmp 0x781e
jmp 0x7828
movq %rax, %rbx
movq 0x550(%rsp), %rdi
cmpq %rbp, %rdi
je 0x77c1
movq 0x560(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x77c1
movq %rax, %rbx
movq 0x570(%rsp), %rdi
cmpq %r13, %rdi
je 0x7990
movq 0x580(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x590(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7809
movq 0x5a0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7809
movq %rax, %rbx
movq 0x5b0(%rsp), %rdi
cmpq %r13, %rdi
je 0x782b
movq 0x5c0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x782b
movq %rax, %rbx
movq %r14, (%rsp)
jmp 0x78c7
movq %rax, %rbx
movq 0x5d0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7859
movq 0x5e0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7859
movq %rax, %rbx
movq 0x5f0(%rsp), %rdi
cmpq %r13, %rdi
je 0x7990
movq 0x600(%rsp), %rsi
jmp 0x7909
jmp 0x797b
movq %rax, %rbx
movq 0x610(%rsp), %rdi
cmpq %rbp, %rdi
je 0x78a1
movq 0x620(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x78a1
movq %rax, %rbx
movq 0x630(%rsp), %rdi
cmpq %r14, %rdi
je 0x78c3
movq 0x640(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x78c3
movq %rax, %rbx
movq %r13, (%rsp)
movq %r12, %r15
jmp 0x7990
jmp 0x78d1
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x78f0
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x78f0
movq %rax, %rbx
movq 0x650(%rsp), %rdi
cmpq %r14, %rdi
je 0x7990
movq 0x660(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7990
jmp 0x797b
movq %rax, %rbx
jmp 0x79b1
movq %rax, %rbx
jmp 0x79cd
movq %rax, %rbx
movq 0x670(%rsp), %rdi
cmpq %r12, %rdi
je 0x794a
movq 0x680(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x794a
movq %rax, %rbx
movq 0x690(%rsp), %rdi
cmpq %r14, %rdi
je 0x796c
movq 0x6a0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x796c
movq %rax, %rbx
movq $0x0, (%rsp)
xorl %r15d, %r15d
jmp 0x79cd
jmp 0x797b
movq %rax, %rbx
jmp 0x7990
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x33a0
movq 0xa619(%rip), %rsi      # 0x11fb0
leaq 0x6d0(%rsp), %rdi
callq 0x31f0
leaq 0x750(%rsp), %rdi
callq 0x30e0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x79cd
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x32a0
testq %r15, %r15
je 0x79e1
movq (%rsp), %rsi
subq %r15, %rsi
movq %r15, %rdi
callq 0x32a0
movq %rbx, %rdi
callq 0x3480
nop