// File: 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
movq %rsp, %rbp
subq $0xe20, %rsp            # imm = 0xE20
movq %rsi, -0xb90(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xb88(%rbp)
cmpl $0x1, (%rax)
jle 0x7a02
leaq -0x81(%rbp), %rdi
movq %rdi, -0xb98(%rbp)
callq 0x3560
movq -0xb98(%rbp), %rdx
leaq 0xdb3a(%rip), %rsi      # 0x1544e
leaq -0x80(%rbp), %rdi
callq 0x4620
jmp 0x791f
movq -0xb88(%rbp), %rsi
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x9b50
jmp 0x7935
leaq 0xdb1f(%rip), %rdx      # 0x1545b
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x9b00
jmp 0x794b
movq -0xb88(%rbp), %rdi
xorl %eax, %eax
leaq -0x40(%rbp), %rsi
callq 0x99f0
jmp 0x795f
leaq -0x40(%rbp), %rdi
callq 0x31e0
leaq -0x60(%rbp), %rdi
callq 0x31e0
leaq -0x80(%rbp), %rdi
callq 0x31e0
leaq -0x81(%rbp), %rdi
callq 0x3350
jmp 0x7a02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x79f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x79e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x79df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x31e0
leaq -0x60(%rbp), %rdi
callq 0x31e0
leaq -0x80(%rbp), %rdi
callq 0x31e0
leaq -0x81(%rbp), %rdi
callq 0x3350
jmp 0x99e2
movq -0xb90(%rbp), %rsi
movq -0xb88(%rbp), %rdi
addq $0x28, %rdi
callq 0x3040
movq -0xb90(%rbp), %rdi
callq 0x3120
movq %rax, %rdi
leaq 0xd6c9(%rip), %rsi      # 0x150f8
callq 0x33b0
movq %rax, -0xa0(%rbp)
cmpq $0x0, -0xa0(%rbp)
jne 0x7acd
movq -0xb88(%rbp), %rsi
addq $0x8, %rsi
leaq 0xda0b(%rip), %rdx      # 0x15466
leaq -0xc0(%rbp), %rdi
movq %rdi, -0xba8(%rbp)
callq 0x9b90
movq -0xba8(%rbp), %rdi
callq 0x3120
movq -0xb90(%rbp), %rdi
movq %rax, -0xba0(%rbp)
callq 0x3120
movq -0xba0(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x3050
jmp 0x7aa0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x33d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x31e0
jmp 0x99e2
movq -0xa0(%rbp), %rdi
callq 0x32e0
leaq -0xd8(%rbp), %rdi
callq 0x75e0
leaq -0x129(%rbp), %rdi
movq %rdi, -0xbb0(%rbp)
callq 0x3560
movq -0xbb0(%rbp), %rdx
leaq 0xd98b(%rip), %rsi      # 0x15491
leaq -0x128(%rbp), %rdi
callq 0x4620
jmp 0x7b14
leaq -0x151(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0x3560
movq -0xbb8(%rbp), %rdx
leaq 0xdb74(%rip), %rsi      # 0x156a9
leaq -0x150(%rbp), %rdi
callq 0x4620
jmp 0x7b43
movq -0xb88(%rbp), %rsi
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rdx
leaq -0x150(%rbp), %rcx
callq 0x9c10
jmp 0x7b66
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xbc0(%rbp)
leaq -0x108(%rbp), %rsi
movq %rsi, -0xbc8(%rbp)
callq 0xad20
movq -0xbc8(%rbp), %rdi
callq 0x7660
leaq -0x150(%rbp), %rdi
callq 0x31e0
leaq -0x151(%rbp), %rdi
callq 0x3350
leaq -0x128(%rbp), %rdi
callq 0x31e0
leaq -0x129(%rbp), %rdi
callq 0x3350
movq -0xbc0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq -0xb88(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, 0x158(%rdi)
callq 0xad70
jmp 0x7bed
leaq -0x178(%rbp), %rdi
callq 0x3470
leaq -0x300(%rbp), %rdi
callq 0x3210
jmp 0x7c07
movq -0xb88(%rbp), %rax
leaq -0x2f0(%rbp), %rdi
movl 0x160(%rax), %esi
callq 0x3530
jmp 0x7c22
leaq -0x300(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x3430
jmp 0x7c37
movq -0x300(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x300(%rbp,%rax), %rdi
xorl %esi, %esi
callq 0x3520
jmp 0x7c53
leaq -0x339(%rbp), %rdi
movq %rdi, -0xbd0(%rbp)
callq 0x3560
movq -0xbd0(%rbp), %rdx
leaq 0xd822(%rip), %rsi      # 0x15496
leaq -0x338(%rbp), %rdi
callq 0x4620
jmp 0x7c82
leaq 0xda20(%rip), %rdx      # 0x156a9
leaq -0x360(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x9b90
jmp 0x7c9e
movq -0xb88(%rbp), %rsi
leaq -0x318(%rbp), %rdi
leaq -0x338(%rbp), %rdx
leaq -0x360(%rbp), %rcx
callq 0x9c10
jmp 0x7cc1
leaq -0xd8(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0xad20
leaq -0x318(%rbp), %rdi
callq 0x7660
leaq -0x360(%rbp), %rdi
callq 0x31e0
leaq -0x338(%rbp), %rdi
callq 0x31e0
leaq -0x339(%rbp), %rdi
callq 0x3350
movl $0x0, -0x364(%rbp)
movq -0xb88(%rbp), %rcx
movl -0x364(%rbp), %eax
cmpl 0x160(%rcx), %eax
jae 0x7e80
movl -0x364(%rbp), %eax
movl %eax, %esi
leaq -0xd8(%rbp), %rdi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
movsd (%rcx), %xmm0
movl -0x364(%rbp), %ecx
movsd %xmm0, 0x178(%rax,%rcx,8)
movl -0x364(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x364(%rbp)
jmp 0x7d0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x7dc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x7daf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x31e0
leaq -0x151(%rbp), %rdi
callq 0x3350
leaq -0x128(%rbp), %rdi
callq 0x31e0
leaq -0x129(%rbp), %rdi
callq 0x3350
jmp 0x99d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x99d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x99ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x7e6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x7e63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x360(%rbp), %rdi
callq 0x31e0
leaq -0x338(%rbp), %rdi
callq 0x31e0
leaq -0x339(%rbp), %rdi
callq 0x3350
jmp 0x99be
leaq -0x3a1(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
callq 0x3560
movq -0xbd8(%rbp), %rdx
leaq 0xd5f7(%rip), %rsi      # 0x15498
leaq -0x3a0(%rbp), %rdi
callq 0x4620
jmp 0x7eaf
leaq -0x3c9(%rbp), %rdi
movq %rdi, -0xbe0(%rbp)
callq 0x3560
movq -0xbe0(%rbp), %rdx
leaq 0xd7d9(%rip), %rsi      # 0x156a9
leaq -0x3c8(%rbp), %rdi
callq 0x4620
jmp 0x7ede
movq -0xb88(%rbp), %rsi
leaq -0x380(%rbp), %rdi
leaq -0x3a0(%rbp), %rdx
leaq -0x3c8(%rbp), %rcx
callq 0x9c10
jmp 0x7f01
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xbf0(%rbp)
leaq -0x380(%rbp), %rsi
movq %rsi, -0xbf8(%rbp)
callq 0xad20
movq -0xbf8(%rbp), %rdi
callq 0x7660
leaq -0x3c8(%rbp), %rdi
callq 0x31e0
leaq -0x3c9(%rbp), %rdi
callq 0x3350
leaq -0x3a0(%rbp), %rdi
callq 0x31e0
leaq -0x3a1(%rbp), %rdi
callq 0x3350
movq -0xbf0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
movsd (%rcx), %xmm0
movsd %xmm0, 0x190(%rax)
leaq -0x409(%rbp), %rdi
movq %rdi, -0xbe8(%rbp)
callq 0x3560
movq -0xbe8(%rbp), %rdx
leaq 0xd4fc(%rip), %rsi      # 0x154a1
leaq -0x408(%rbp), %rdi
callq 0x4620
jmp 0x7fb3
leaq -0x431(%rbp), %rdi
movq %rdi, -0xc00(%rbp)
callq 0x3560
movq -0xc00(%rbp), %rdx
leaq 0xd6d5(%rip), %rsi      # 0x156a9
leaq -0x430(%rbp), %rdi
callq 0x4620
jmp 0x7fe2
movq -0xb88(%rbp), %rsi
leaq -0x3e8(%rbp), %rdi
leaq -0x408(%rbp), %rdx
leaq -0x430(%rbp), %rcx
callq 0x9c10
jmp 0x8005
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xc10(%rbp)
leaq -0x3e8(%rbp), %rsi
movq %rsi, -0xc18(%rbp)
callq 0xad20
movq -0xc18(%rbp), %rdi
callq 0x7660
leaq -0x430(%rbp), %rdi
callq 0x31e0
leaq -0x431(%rbp), %rdi
callq 0x3350
leaq -0x408(%rbp), %rdi
callq 0x31e0
leaq -0x409(%rbp), %rdi
callq 0x3350
movq -0xc10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movsd (%rax), %xmm0
movsd %xmm0, -0xe0(%rbp)
leaq -0x471(%rbp), %rdi
movq %rdi, -0xc08(%rbp)
callq 0x3560
movq -0xc08(%rbp), %rdx
leaq 0xd409(%rip), %rsi      # 0x154a8
leaq -0x470(%rbp), %rdi
callq 0x4620
jmp 0x80ad
leaq -0x499(%rbp), %rdi
movq %rdi, -0xc20(%rbp)
callq 0x3560
movq -0xc20(%rbp), %rdx
leaq 0xd5db(%rip), %rsi      # 0x156a9
leaq -0x498(%rbp), %rdi
callq 0x4620
jmp 0x80dc
movq -0xb88(%rbp), %rsi
leaq -0x450(%rbp), %rdi
leaq -0x470(%rbp), %rdx
leaq -0x498(%rbp), %rcx
callq 0x9c10
jmp 0x80ff
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xc30(%rbp)
leaq -0x450(%rbp), %rsi
movq %rsi, -0xc38(%rbp)
callq 0xad20
movq -0xc38(%rbp), %rdi
callq 0x7660
leaq -0x498(%rbp), %rdi
callq 0x31e0
leaq -0x499(%rbp), %rdi
callq 0x3350
leaq -0x470(%rbp), %rdi
callq 0x31e0
leaq -0x471(%rbp), %rdi
callq 0x3350
movq -0xc30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movsd (%rax), %xmm0
movsd %xmm0, -0xe8(%rbp)
leaq -0x4d9(%rbp), %rdi
movq %rdi, -0xc28(%rbp)
callq 0x3560
movq -0xc28(%rbp), %rdx
leaq 0xd315(%rip), %rsi      # 0x154ae
leaq -0x4d8(%rbp), %rdi
callq 0x4620
jmp 0x81a7
leaq -0x501(%rbp), %rdi
movq %rdi, -0xc40(%rbp)
callq 0x3560
movq -0xc40(%rbp), %rdx
leaq 0xd4e1(%rip), %rsi      # 0x156a9
leaq -0x500(%rbp), %rdi
callq 0x4620
jmp 0x81d6
movq -0xb88(%rbp), %rsi
leaq -0x4b8(%rbp), %rdi
leaq -0x4d8(%rbp), %rdx
leaq -0x500(%rbp), %rcx
callq 0x9c10
jmp 0x81f9
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xc50(%rbp)
leaq -0x4b8(%rbp), %rsi
movq %rsi, -0xc58(%rbp)
callq 0xad20
movq -0xc58(%rbp), %rdi
callq 0x7660
leaq -0x500(%rbp), %rdi
callq 0x31e0
leaq -0x501(%rbp), %rdi
callq 0x3350
leaq -0x4d8(%rbp), %rdi
callq 0x31e0
leaq -0x4d9(%rbp), %rdi
callq 0x3350
movq -0xc50(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movsd (%rax), %xmm0
movsd %xmm0, -0xf0(%rbp)
leaq -0x541(%rbp), %rdi
movq %rdi, -0xc48(%rbp)
callq 0x3560
movq -0xc48(%rbp), %rdx
leaq 0xd221(%rip), %rsi      # 0x154b4
leaq -0x540(%rbp), %rdi
callq 0x4620
jmp 0x82a1
leaq -0x569(%rbp), %rdi
movq %rdi, -0xc60(%rbp)
callq 0x3560
movq -0xc60(%rbp), %rdx
leaq 0xd3e7(%rip), %rsi      # 0x156a9
leaq -0x568(%rbp), %rdi
callq 0x4620
jmp 0x82d0
movq -0xb88(%rbp), %rsi
leaq -0x520(%rbp), %rdi
leaq -0x540(%rbp), %rdx
leaq -0x568(%rbp), %rcx
callq 0x9c10
jmp 0x82f3
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xc70(%rbp)
leaq -0x520(%rbp), %rsi
movq %rsi, -0xc78(%rbp)
callq 0xad20
movq -0xc78(%rbp), %rdi
callq 0x7660
leaq -0x568(%rbp), %rdi
callq 0x31e0
leaq -0x569(%rbp), %rdi
callq 0x3350
leaq -0x540(%rbp), %rdi
callq 0x31e0
leaq -0x541(%rbp), %rdi
callq 0x3350
movq -0xc70(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
movsd (%rcx), %xmm0
movsd %xmm0, 0x1d0(%rax)
leaq -0x5a9(%rbp), %rdi
movq %rdi, -0xc68(%rbp)
callq 0x3560
movq -0xc68(%rbp), %rdx
leaq 0xd128(%rip), %rsi      # 0x154bf
leaq -0x5a8(%rbp), %rdi
callq 0x4620
jmp 0x83a5
leaq -0x5d1(%rbp), %rdi
movq %rdi, -0xc80(%rbp)
callq 0x3560
movq -0xc80(%rbp), %rdx
leaq 0xd577(%rip), %rsi      # 0x1593d
leaq -0x5d0(%rbp), %rdi
callq 0x4620
jmp 0x83d4
movq -0xb88(%rbp), %rsi
leaq -0x588(%rbp), %rdi
leaq -0x5a8(%rbp), %rdx
leaq -0x5d0(%rbp), %rcx
callq 0x9c10
jmp 0x83f7
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xc90(%rbp)
leaq -0x588(%rbp), %rsi
movq %rsi, -0xc98(%rbp)
callq 0xad20
movq -0xc98(%rbp), %rdi
callq 0x7660
leaq -0x5d0(%rbp), %rdi
callq 0x31e0
leaq -0x5d1(%rbp), %rdi
callq 0x3350
leaq -0x5a8(%rbp), %rdi
callq 0x31e0
leaq -0x5a9(%rbp), %rdi
callq 0x3350
movq -0xc90(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
cvttsd2si (%rcx), %ecx
movl %ecx, 0x16c(%rax)
leaq -0x611(%rbp), %rdi
movq %rdi, -0xc88(%rbp)
callq 0x3560
movq -0xc88(%rbp), %rdx
leaq 0xd031(%rip), %rsi      # 0x154ca
leaq -0x610(%rbp), %rdi
callq 0x4620
jmp 0x84a7
leaq -0x639(%rbp), %rdi
movq %rdi, -0xca0(%rbp)
callq 0x3560
movq -0xca0(%rbp), %rdx
leaq 0xd1e1(%rip), %rsi      # 0x156a9
leaq -0x638(%rbp), %rdi
callq 0x4620
jmp 0x84d6
movq -0xb88(%rbp), %rsi
leaq -0x5f0(%rbp), %rdi
leaq -0x610(%rbp), %rdx
leaq -0x638(%rbp), %rcx
callq 0x9c10
jmp 0x84f9
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xcb0(%rbp)
leaq -0x5f0(%rbp), %rsi
movq %rsi, -0xcb8(%rbp)
callq 0xad20
movq -0xcb8(%rbp), %rdi
callq 0x7660
leaq -0x638(%rbp), %rdi
callq 0x31e0
leaq -0x639(%rbp), %rdi
callq 0x3350
leaq -0x610(%rbp), %rdi
callq 0x31e0
leaq -0x611(%rbp), %rdi
callq 0x3350
movq -0xcb0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
movsd (%rcx), %xmm0
movsd %xmm0, 0x1e0(%rax)
movsd 0x1e0(%rax), %xmm0
movsd %xmm0, 0x1e8(%rax)
leaq -0x679(%rbp), %rdi
movq %rdi, -0xca8(%rbp)
callq 0x3560
movq -0xca8(%rbp), %rdx
leaq 0xcf2b(%rip), %rsi      # 0x154d8
leaq -0x678(%rbp), %rdi
callq 0x4620
jmp 0x85bb
leaq -0x6a1(%rbp), %rdi
movq %rdi, -0xcc0(%rbp)
callq 0x3560
movq -0xcc0(%rbp), %rdx
leaq 0xd0cd(%rip), %rsi      # 0x156a9
leaq -0x6a0(%rbp), %rdi
callq 0x4620
jmp 0x85ea
movq -0xb88(%rbp), %rsi
leaq -0x658(%rbp), %rdi
leaq -0x678(%rbp), %rdx
leaq -0x6a0(%rbp), %rcx
callq 0x9c10
jmp 0x860d
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xcd0(%rbp)
leaq -0x658(%rbp), %rsi
movq %rsi, -0xcd8(%rbp)
callq 0xad20
movq -0xcd8(%rbp), %rdi
callq 0x7660
leaq -0x6a0(%rbp), %rdi
callq 0x31e0
leaq -0x6a1(%rbp), %rdi
callq 0x3350
leaq -0x678(%rbp), %rdi
callq 0x31e0
leaq -0x679(%rbp), %rdi
callq 0x3350
movq -0xcd0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
movsd (%rcx), %xmm0
movsd %xmm0, 0x1f0(%rax)
leaq -0x6e1(%rbp), %rdi
movq %rdi, -0xcc8(%rbp)
callq 0x3560
movq -0xcc8(%rbp), %rdx
leaq 0xce32(%rip), %rsi      # 0x154e3
leaq -0x6e0(%rbp), %rdi
callq 0x4620
jmp 0x86bf
leaq 0xcfe3(%rip), %rdx      # 0x156a9
leaq -0x708(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x9b90
jmp 0x86db
movq -0xb88(%rbp), %rsi
leaq -0x6c0(%rbp), %rdi
leaq -0x6e0(%rbp), %rdx
leaq -0x708(%rbp), %rcx
callq 0x9c10
jmp 0x86fe
leaq -0xd8(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0xad20
leaq -0x6c0(%rbp), %rdi
callq 0x7660
leaq -0x708(%rbp), %rdi
callq 0x31e0
leaq -0x6e0(%rbp), %rdi
callq 0x31e0
leaq -0x6e1(%rbp), %rdi
callq 0x3350
movl $0x0, -0x70c(%rbp)
movq -0xb88(%rbp), %rcx
movl -0x70c(%rbp), %eax
cmpl 0x160(%rcx), %eax
jae 0x8b81
movl -0x70c(%rbp), %eax
movl %eax, %esi
leaq -0xd8(%rbp), %rdi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
movsd (%rcx), %xmm0
movl -0x70c(%rbp), %ecx
movsd %xmm0, 0x1f8(%rax,%rcx,8)
movl -0x70c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x70c(%rbp)
jmp 0x874b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8804
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x87ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0x31e0
leaq -0x3c9(%rbp), %rdi
callq 0x3350
leaq -0x3a0(%rbp), %rdi
callq 0x31e0
leaq -0x3a1(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8873
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x885b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x31e0
leaq -0x431(%rbp), %rdi
callq 0x3350
leaq -0x408(%rbp), %rdi
callq 0x31e0
leaq -0x409(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x88e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x88ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x498(%rbp), %rdi
callq 0x31e0
leaq -0x499(%rbp), %rdi
callq 0x3350
leaq -0x470(%rbp), %rdi
callq 0x31e0
leaq -0x471(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8951
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8939
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x500(%rbp), %rdi
callq 0x31e0
leaq -0x501(%rbp), %rdi
callq 0x3350
leaq -0x4d8(%rbp), %rdi
callq 0x31e0
leaq -0x4d9(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x89c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x89a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x31e0
leaq -0x569(%rbp), %rdi
callq 0x3350
leaq -0x540(%rbp), %rdi
callq 0x31e0
leaq -0x541(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8a2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8a17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x5d0(%rbp), %rdi
callq 0x31e0
leaq -0x5d1(%rbp), %rdi
callq 0x3350
leaq -0x5a8(%rbp), %rdi
callq 0x31e0
leaq -0x5a9(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8a9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8a86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x638(%rbp), %rdi
callq 0x31e0
leaq -0x639(%rbp), %rdi
callq 0x3350
leaq -0x610(%rbp), %rdi
callq 0x31e0
leaq -0x611(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8b0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8af5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x6a0(%rbp), %rdi
callq 0x31e0
leaq -0x6a1(%rbp), %rdi
callq 0x3350
leaq -0x678(%rbp), %rdi
callq 0x31e0
leaq -0x679(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8b70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x8b64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x708(%rbp), %rdi
callq 0x31e0
leaq -0x6e0(%rbp), %rdi
callq 0x31e0
leaq -0x6e1(%rbp), %rdi
callq 0x3350
jmp 0x99be
leaq -0x749(%rbp), %rdi
movq %rdi, -0xce0(%rbp)
callq 0x3560
movq -0xce0(%rbp), %rdx
leaq 0xc94d(%rip), %rsi      # 0x154ef
leaq -0x748(%rbp), %rdi
callq 0x4620
jmp 0x8bb0
leaq -0x771(%rbp), %rdi
movq %rdi, -0xce8(%rbp)
callq 0x3560
movq -0xce8(%rbp), %rdx
leaq 0xcd6c(%rip), %rsi      # 0x1593d
leaq -0x770(%rbp), %rdi
callq 0x4620
jmp 0x8bdf
movq -0xb88(%rbp), %rsi
leaq -0x728(%rbp), %rdi
leaq -0x748(%rbp), %rdx
leaq -0x770(%rbp), %rcx
callq 0x9c10
jmp 0x8c02
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xcf8(%rbp)
leaq -0x728(%rbp), %rsi
movq %rsi, -0xd00(%rbp)
callq 0xad20
movq -0xd00(%rbp), %rdi
callq 0x7660
leaq -0x770(%rbp), %rdi
callq 0x31e0
leaq -0x771(%rbp), %rdi
callq 0x3350
leaq -0x748(%rbp), %rdi
callq 0x31e0
leaq -0x749(%rbp), %rdi
callq 0x3350
movq -0xcf8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
cvttsd2si (%rcx), %ecx
movl %ecx, 0x210(%rax)
leaq -0x7b1(%rbp), %rdi
movq %rdi, -0xcf0(%rbp)
callq 0x3560
movq -0xcf0(%rbp), %rdx
leaq 0xc85c(%rip), %rsi      # 0x15500
leaq -0x7b0(%rbp), %rdi
callq 0x4620
jmp 0x8cb2
leaq -0x7d9(%rbp), %rdi
movq %rdi, -0xd08(%rbp)
callq 0x3560
movq -0xd08(%rbp), %rdx
leaq 0xcc6a(%rip), %rsi      # 0x1593d
leaq -0x7d8(%rbp), %rdi
callq 0x4620
jmp 0x8ce1
movq -0xb88(%rbp), %rsi
leaq -0x790(%rbp), %rdi
leaq -0x7b0(%rbp), %rdx
leaq -0x7d8(%rbp), %rcx
callq 0x9c10
jmp 0x8d04
leaq -0xd8(%rbp), %rdi
movq %rdi, -0xd18(%rbp)
leaq -0x790(%rbp), %rsi
movq %rsi, -0xd20(%rbp)
callq 0xad20
movq -0xd20(%rbp), %rdi
callq 0x7660
leaq -0x7d8(%rbp), %rdi
callq 0x31e0
leaq -0x7d9(%rbp), %rdi
callq 0x3350
leaq -0x7b0(%rbp), %rdi
callq 0x31e0
leaq -0x7b1(%rbp), %rdi
callq 0x3350
movq -0xd18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
cvttsd2si (%rcx), %ecx
movl %ecx, 0x164(%rax)
leaq -0x819(%rbp), %rdi
movq %rdi, -0xd10(%rbp)
callq 0x3560
movq -0xd10(%rbp), %rdx
leaq 0xc766(%rip), %rsi      # 0x1550c
leaq -0x818(%rbp), %rdi
callq 0x4620
jmp 0x8db4
leaq -0x841(%rbp), %rdi
movq %rdi, -0xd28(%rbp)
callq 0x3560
movq -0xd28(%rbp), %rdx
leaq 0xcb68(%rip), %rsi      # 0x1593d
leaq -0x840(%rbp), %rdi
callq 0x4620
jmp 0x8de3
movq -0xb88(%rbp), %rsi
leaq -0x7f8(%rbp), %rdi
leaq -0x818(%rbp), %rdx
leaq -0x840(%rbp), %rcx
callq 0x9c10
jmp 0x8e06
leaq -0xd8(%rbp), %rdi
leaq -0x7f8(%rbp), %rsi
callq 0xad20
leaq -0x7f8(%rbp), %rdi
callq 0x7660
leaq -0x840(%rbp), %rdi
callq 0x31e0
leaq -0x841(%rbp), %rdi
callq 0x3350
leaq -0x818(%rbp), %rdi
callq 0x31e0
leaq -0x819(%rbp), %rdi
callq 0x3350
leaq -0xd8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xad50
movq %rax, %rcx
movq -0xb88(%rbp), %rax
cvttsd2si (%rcx), %ecx
movl %ecx, 0x170(%rax)
movsd -0xe8(%rbp), %xmm0
movsd 0xc1d7(%rip), %xmm1     # 0x15060
subsd %xmm1, %xmm0
movsd 0xc19b(%rip), %xmm1     # 0x15030
mulsd %xmm1, %xmm0
movsd 0xc1b7(%rip), %xmm1     # 0x15058
mulsd %xmm1, %xmm0
divsd 0x178(%rax), %xmm0
movsd %xmm0, 0x1b8(%rax)
movsd 0xc1a3(%rip), %xmm0     # 0x15060
addsd -0xf0(%rbp), %xmm0
movsd 0xc163(%rip), %xmm1     # 0x15030
mulsd %xmm1, %xmm0
movsd 0xc17f(%rip), %xmm1     # 0x15058
mulsd %xmm1, %xmm0
divsd 0x178(%rax), %xmm0
movsd %xmm0, 0x1c0(%rax)
movsd 0x1c0(%rax), %xmm0
movsd %xmm0, 0x1c8(%rax)
movsd 0x178(%rax), %xmm0
divsd -0xe0(%rbp), %xmm0
divsd 0x190(%rax), %xmm0
movsd %xmm0, 0x198(%rax)
movsd 0x198(%rax), %xmm0
cvtsi2sdl 0x170(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x1a0(%rax)
movl $0xffffffff, 0x174(%rax) # imm = 0xFFFFFFFF
movl 0x164(%rax), %ecx
movl %ecx, 0x168(%rax)
movsd 0xc0f9(%rip), %xmm0     # 0x15050
movsd %xmm0, -0x850(%rbp)
movsd 0xc0e9(%rip), %xmm0     # 0x15050
mulsd 0x190(%rax), %xmm0
movsd 0xc0d1(%rip), %xmm1     # 0x15048
callq 0x3540
movq -0xb88(%rbp), %rax
divsd 0x178(%rax), %xmm0
movsd %xmm0, 0x1a8(%rax)
movsd 0x1a8(%rax), %xmm0
divsd 0x198(%rax), %xmm0
callq 0x3250
movq -0xb88(%rbp), %rax
movsd %xmm0, 0x1b0(%rax)
cmpl $0x1, 0x210(%rax)
jne 0x9164
movsd -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x9164
movq -0xb88(%rbp), %rdi
movsd -0x20(%rbp), %xmm0
callq 0xaf70
movb %al, -0xd29(%rbp)
jmp 0x8fef
movb -0xd29(%rbp), %al
testb $0x1, %al
jne 0x9162
jmp 0x8fff
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0x854(%rbp)
jmp 0x998e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x905b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x770(%rbp), %rdi
callq 0x31e0
leaq -0x771(%rbp), %rdi
callq 0x3350
leaq -0x748(%rbp), %rdi
callq 0x31e0
leaq -0x749(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x90e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x90ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x7d8(%rbp), %rdi
callq 0x31e0
leaq -0x7d9(%rbp), %rdi
callq 0x3350
leaq -0x7b0(%rbp), %rdi
callq 0x31e0
leaq -0x7b1(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9151
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9139
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x840(%rbp), %rdi
callq 0x31e0
leaq -0x841(%rbp), %rdi
callq 0x3350
leaq -0x818(%rbp), %rdi
callq 0x31e0
leaq -0x819(%rbp), %rdi
callq 0x3350
jmp 0x99be
jmp 0x9164
movl $0x0, -0x858(%rbp)
movq -0xb88(%rbp), %rcx
movl -0x858(%rbp), %eax
cmpl 0x160(%rcx), %eax
jae 0x91cd
movq -0xb88(%rbp), %rax
movl -0x858(%rbp), %ecx
movsd 0x1f8(%rax,%rcx,8), %xmm0
movsd 0xbec7(%rip), %xmm1     # 0x15068
callq 0x3540
movq -0xb88(%rbp), %rax
movl -0x858(%rbp), %ecx
movsd %xmm0, 0x1f8(%rax,%rcx,8)
movl -0x858(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x858(%rbp)
jmp 0x916e
movq -0xb88(%rbp), %rax
cmpl $0x0, (%rax)
je 0x9280
leaq -0x879(%rbp), %rdi
movq %rdi, -0xd38(%rbp)
callq 0x3560
movq -0xd38(%rbp), %rdx
leaq 0xc320(%rip), %rsi      # 0x1551e
leaq -0x878(%rbp), %rdi
callq 0x4620
jmp 0x920c
movq -0xb88(%rbp), %rdi
xorl %eax, %eax
leaq -0x878(%rbp), %rsi
callq 0x99f0
jmp 0x9223
leaq -0x878(%rbp), %rdi
callq 0x31e0
leaq -0x879(%rbp), %rdi
callq 0x3350
jmp 0x9280
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x926f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x878(%rbp), %rdi
callq 0x31e0
leaq -0x879(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq -0xb88(%rbp), %rdi
callq 0xb8c0
jmp 0x928e
movq -0xb88(%rbp), %rdi
callq 0xb9a0
jmp 0x929c
movq -0xb88(%rbp), %rdi
callq 0xd250
jmp 0x92aa
movq -0xb88(%rbp), %rdi
callq 0xd360
jmp 0x92b8
movq -0xb88(%rbp), %rax
cmpl $0x0, (%rax)
je 0x9369
leaq -0x8a1(%rbp), %rdi
movq %rdi, -0xd40(%rbp)
callq 0x3560
movq -0xd40(%rbp), %rdx
leaq 0xc16a(%rip), %rsi      # 0x15453
leaq -0x8a0(%rbp), %rdi
callq 0x4620
jmp 0x92f7
movq -0xb88(%rbp), %rdi
leaq -0x8a0(%rbp), %rsi
callq 0xde00
jmp 0x930c
leaq -0x8a0(%rbp), %rdi
callq 0x31e0
leaq -0x8a1(%rbp), %rdi
callq 0x3350
jmp 0x9369
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9358
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x8a0(%rbp), %rdi
callq 0x31e0
leaq -0x8a1(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq -0xb88(%rbp), %rax
cmpl $0x0, (%rax)
je 0x9432
leaq -0x8c9(%rbp), %rdi
movq %rdi, -0xd48(%rbp)
callq 0x3560
movq -0xd48(%rbp), %rdx
leaq 0xc1d5(%rip), %rsi      # 0x1556f
leaq -0x8c8(%rbp), %rdi
callq 0x4620
jmp 0x93a8
movq -0xb88(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
callq 0x3120
movq -0xb88(%rbp), %rdi
movq %rax, %rdx
xorl %eax, %eax
leaq -0x8c8(%rbp), %rsi
callq 0x99f0
jmp 0x93d5
leaq -0x8c8(%rbp), %rdi
callq 0x31e0
leaq -0x8c9(%rbp), %rdi
callq 0x3350
jmp 0x9432
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9421
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x8c8(%rbp), %rdi
callq 0x31e0
leaq -0x8c9(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq -0xb88(%rbp), %rax
cmpl $0x0, 0x150(%rax)
jne 0x9787
movq -0xb88(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
callq 0x3120
movq %rax, %rsi
leaq -0xad0(%rbp), %rdi
movl $0x1, %edx
callq 0x3360
jmp 0x946f
movl $0x18, %edi
callq 0xec50
movl %eax, -0xd4c(%rbp)
jmp 0x9481
movl -0xd4c(%rbp), %eax
movl %eax, -0xad4(%rbp)
movl -0xad4(%rbp), %esi
leaq -0xad0(%rbp), %rdi
callq 0x3390
movq %rax, -0xd58(%rbp)
jmp 0x94a8
movq -0xd58(%rbp), %rdi
leaq 0xc0eb(%rip), %rsi      # 0x155a1
callq 0x32d0
movq %rax, -0xd60(%rbp)
jmp 0x94c4
movl $0x18, %edi
callq 0xec50
movl %eax, -0xd64(%rbp)
jmp 0x94d6
movq -0xd60(%rbp), %rdi
movl -0xd64(%rbp), %eax
movl %eax, -0xad8(%rbp)
movl -0xad8(%rbp), %esi
callq 0x3390
movq %rax, -0xd70(%rbp)
jmp 0x94fd
movq -0xd70(%rbp), %rdi
leaq 0xc09f(%rip), %rsi      # 0x155aa
callq 0x32d0
movq %rax, -0xd78(%rbp)
jmp 0x9519
movl $0x18, %edi
callq 0xec50
movl %eax, -0xd7c(%rbp)
jmp 0x952b
movq -0xd78(%rbp), %rdi
movl -0xd7c(%rbp), %eax
movl %eax, -0xadc(%rbp)
movl -0xadc(%rbp), %esi
callq 0x3390
movq %rax, -0xd88(%rbp)
jmp 0x9552
movq -0xd88(%rbp), %rdi
leaq 0xc05d(%rip), %rsi      # 0x155bd
callq 0x32d0
movq %rax, -0xd90(%rbp)
jmp 0x956e
movl $0x18, %edi
callq 0xec50
movl %eax, -0xd94(%rbp)
jmp 0x9580
movq -0xd90(%rbp), %rdi
movl -0xd94(%rbp), %eax
movl %eax, -0xae0(%rbp)
movl -0xae0(%rbp), %esi
callq 0x3390
movq %rax, -0xda0(%rbp)
jmp 0x95a7
movq -0xda0(%rbp), %rdi
leaq 0xc01a(%rip), %rsi      # 0x155cf
callq 0x32d0
movq %rax, -0xda8(%rbp)
jmp 0x95c3
movl $0x18, %edi
callq 0xec50
movl %eax, -0xdac(%rbp)
jmp 0x95d5
movq -0xda8(%rbp), %rdi
movl -0xdac(%rbp), %eax
movl %eax, -0xae4(%rbp)
movl -0xae4(%rbp), %esi
callq 0x3390
movq %rax, -0xdb8(%rbp)
jmp 0x95fc
movq -0xdb8(%rbp), %rdi
leaq 0xbfd7(%rip), %rsi      # 0x155e1
callq 0x32d0
movq %rax, -0xdc0(%rbp)
jmp 0x9618
movl $0x18, %edi
callq 0xec50
movl %eax, -0xdc4(%rbp)
jmp 0x962a
movq -0xdc0(%rbp), %rdi
movl -0xdc4(%rbp), %eax
movl %eax, -0xae8(%rbp)
movl -0xae8(%rbp), %esi
callq 0x3390
movq %rax, -0xdd0(%rbp)
jmp 0x9651
movq -0xdd0(%rbp), %rdi
leaq 0xbf94(%rip), %rsi      # 0x155f3
callq 0x32d0
movq %rax, -0xdd8(%rbp)
jmp 0x966d
movl $0x18, %edi
callq 0xec50
movl %eax, -0xddc(%rbp)
jmp 0x967f
movq -0xdd8(%rbp), %rdi
movl -0xddc(%rbp), %eax
movl %eax, -0xaec(%rbp)
movl -0xaec(%rbp), %esi
callq 0x3390
movq %rax, -0xde8(%rbp)
jmp 0x96a6
movq -0xde8(%rbp), %rdi
leaq 0xbf51(%rip), %rsi      # 0x15605
callq 0x32d0
movq %rax, -0xdf0(%rbp)
jmp 0x96c2
movl $0x18, %edi
callq 0xec50
movl %eax, -0xdf4(%rbp)
jmp 0x96d4
movq -0xdf0(%rbp), %rdi
movl -0xdf4(%rbp), %eax
movl %eax, -0xaf0(%rbp)
movl -0xaf0(%rbp), %esi
callq 0x3390
movq %rax, -0xe00(%rbp)
jmp 0x96fb
movq -0xe00(%rbp), %rdi
leaq 0xbf0e(%rip), %rsi      # 0x15617
callq 0x32d0
movq %rax, -0xe08(%rbp)
jmp 0x9717
movq -0xe08(%rbp), %rdi
movq 0x118a3(%rip), %rsi     # 0x1afc8
callq 0x3320
jmp 0x972c
leaq -0xad0(%rbp), %rdi
callq 0x3480
jmp 0x973a
movq -0xad0(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0xad0(%rbp,%rax), %rdi
xorl %esi, %esi
callq 0x3520
jmp 0x9756
leaq -0xad0(%rbp), %rdi
callq 0x34a0
jmp 0x9787
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xad0(%rbp), %rdi
callq 0x34a0
jmp 0x99be
movq -0xb88(%rbp), %rax
cmpl $0x0, (%rax)
je 0x983a
leaq -0xb11(%rbp), %rdi
movq %rdi, -0xe10(%rbp)
callq 0x3560
movq -0xe10(%rbp), %rdx
leaq 0xbd66(%rip), %rsi      # 0x1551e
leaq -0xb10(%rbp), %rdi
callq 0x4620
jmp 0x97c6
movq -0xb88(%rbp), %rdi
xorl %eax, %eax
leaq -0xb10(%rbp), %rsi
callq 0x99f0
jmp 0x97dd
leaq -0xb10(%rbp), %rdi
callq 0x31e0
leaq -0xb11(%rbp), %rdi
callq 0x3350
jmp 0x983a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9829
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xb10(%rbp), %rdi
callq 0x31e0
leaq -0xb11(%rbp), %rdi
callq 0x3350
jmp 0x99be
movq -0xb88(%rbp), %rax
cmpl $0x1, (%rax)
jle 0x997d
leaq -0xb79(%rbp), %rdi
movq %rdi, -0xe18(%rbp)
callq 0x3560
movq -0xe18(%rbp), %rdx
leaq 0xbbe3(%rip), %rsi      # 0x1544e
leaq -0xb78(%rbp), %rdi
callq 0x4620
jmp 0x9879
movq -0xb88(%rbp), %rsi
leaq -0xb58(%rbp), %rdi
leaq -0xb78(%rbp), %rdx
callq 0x9b50
jmp 0x9895
leaq 0xbd8d(%rip), %rdx      # 0x15629
leaq -0xb38(%rbp), %rdi
leaq -0xb58(%rbp), %rsi
callq 0x9b00
jmp 0x98b1
movq -0xb88(%rbp), %rdi
xorl %eax, %eax
leaq -0xb38(%rbp), %rsi
callq 0x99f0
jmp 0x98c8
leaq -0xb38(%rbp), %rdi
callq 0x31e0
leaq -0xb58(%rbp), %rdi
callq 0x31e0
leaq -0xb78(%rbp), %rdi
callq 0x31e0
leaq -0xb79(%rbp), %rdi
callq 0x3350
jmp 0x997d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x996f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9963
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x9957
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xb38(%rbp), %rdi
callq 0x31e0
leaq -0xb58(%rbp), %rdi
callq 0x31e0
leaq -0xb78(%rbp), %rdi
callq 0x31e0
leaq -0xb79(%rbp), %rdi
callq 0x3350
jmp 0x99be
movl $0x0, -0x4(%rbp)
movl $0x1, -0x854(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x3230
leaq -0x178(%rbp), %rdi
callq 0x31e0
leaq -0xd8(%rbp), %rdi
callq 0x7660
movl -0x4(%rbp), %eax
addq $0xe20, %rsp            # imm = 0xE20
popq %rbp
retq
leaq -0x300(%rbp), %rdi
callq 0x3230
leaq -0x178(%rbp), %rdi
callq 0x31e0
leaq -0xd8(%rbp), %rdi
callq 0x7660
movq -0x90(%rbp), %rdi
callq 0x3550
nop