// File: /workspace/github_cpp_makefile_star2_O1/j-faria[P]kima/src/RVmodel.cpp
// Function: RVmodel::save_setup()
void RVmodel::save_setup() {
    auto data = Data::get_instance();
	std::fstream fout("kima_model_setup.txt", std::ios::out);
    fout << std::boolalpha;

    time_t rawtime;
    time (&rawtime);
    fout << ";" << ctime(&rawtime) << endl;

    fout << "[kima]" << endl;

    fout << "GP: " << GP << endl;
    fout << "GP_kernel: " << kernel << endl;
    fout << "MA: " << MA << endl;
    fout << "hyperpriors: " << hyperpriors << endl;
    fout << "trend: " << trend << endl;
    fout << "degree: " << degree << endl;
    fout << "multi_instrument: " << multi_instrument << endl;
    fout << "known_object: " << known_object << endl;
    fout << "n_known_object: " << n_known_object << endl;
    fout << "studentt: " << studentt << endl;
    fout << "indicator_correlations: " << data.indicator_correlations << endl;
    fout << "indicators: ";
    for (auto f: data.indicator_names){
        fout << f;
        (f != data.indicator_names.back()) ? fout << ", " : fout << " ";
    }
    fout << endl;

    fout << endl;

    fout << "file: " << data.datafile << endl;
    fout << "units: " << data.dataunits << endl;
    fout << "skip: " << data.dataskip << endl;
    fout << "multi: " << data.datamulti << endl;

    fout << "files: ";
    for (auto f: data.datafiles)
        fout << f << ",";
    fout << endl;

    fout << "M0_epoch: " << data.M0_epoch << endl;

    fout << endl;

    fout << "[priors.general]" << endl;
    fout << "Cprior: " << *Cprior << endl;
    fout << "Jprior: " << *Jprior << endl;
    if (trend){
        if (degree >= 1) fout << "slope_prior: " << *slope_prior << endl;
        if (degree >= 2) fout << "quadr_prior: " << *quadr_prior << endl;
        if (degree == 3) fout << "cubic_prior: " << *cubic_prior << endl;
    }
    if (multi_instrument)
        fout << "offsets_prior: " << *offsets_prior << endl;

    if (data.indicator_correlations)
        fout << "betaprior: " << *betaprior << endl;

    if (studentt)
        fout << "nu_prior: " << *nu_prior << endl;

    if (GP){
        fout << endl << "[priors.GP]" << endl;
        fout << "log_eta1_prior: " << *log_eta1_prior << endl;
        // fout << "log_eta2_prior: " << *log_eta2_prior << endl;
        fout << "eta2_prior: " << *eta2_prior << endl;
        fout << "eta3_prior: " << *eta3_prior << endl;
        if (kernel == standard)
            fout << "log_eta4_prior: " << *log_eta4_prior << endl;
    }


    if (planets.get_max_num_components()>0){
        auto conditional = planets.get_conditional_prior();

        if (hyperpriors){
            fout << endl << "[prior.hyperpriors]" << endl;
            fout << "log_muP_prior: " << *conditional->log_muP_prior << endl;
            fout << "wP_prior: " << *conditional->wP_prior << endl;
            fout << "log_muK_prior: " << *conditional->log_muK_prior << endl;
        }

        fout << endl << "[priors.planets]" << endl;
        fout << "Pprior: " << *conditional->Pprior << endl;
        fout << "Kprior: " << *conditional->Kprior << endl;
        fout << "eprior: " << *conditional->eprior << endl;
        fout << "phiprior: " << *conditional->phiprior << endl;
        fout << "wprior: " << *conditional->wprior << endl;
    }

    if (known_object) {
        fout << endl << "[priors.known_object]" << endl;
        for(int i=0; i<n_known_object; i++){
            fout << "Pprior_" << i << ": " << *KO_Pprior[i] << endl;
            fout << "Kprior_" << i << ": " << *KO_Kprior[i] << endl;
            fout << "eprior_" << i << ": " << *KO_eprior[i] << endl;
            fout << "phiprior_" << i << ": " << *KO_phiprior[i] << endl;
            fout << "wprior_" << i << ": " << *KO_wprior[i] << endl;
        }
    }

    fout << endl;
	fout.close();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x368, %rsp            # imm = 0x368
movq %rdi, %rbx
leaq 0x45a05(%rip), %rsi     # 0x53400
leaq 0x50(%rsp), %rdi
callq 0x1560c
leaq 0x32131(%rip), %rsi     # 0x3fb3d
leaq 0x158(%rsp), %rdi
movl $0x10, %edx
callq 0x6550
leaq 0x168(%rsp), %r14
movq (%r14), %rax
movq -0x18(%rax), %rax
orl $0x1, 0x180(%rsp,%rax)
leaq 0x48(%rsp), %rdi
callq 0x6410
leaq 0x3210c(%rip), %rsi     # 0x3fb52
movl $0x1, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x48(%rsp), %rdi
callq 0x6170
testq %rax, %rax
je 0xda7d
movq %rax, %r15
movq %rax, %rdi
callq 0x61a0
movq %r14, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x64a0
jmp 0xda9c
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x188(%rsp,%rax), %esi
orl $0x1, %esi
callq 0x6690
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x32085(%rip), %rsi     # 0x3fb54
movl $0x6, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x3204c(%rip), %rsi     # 0x3fb5b
movl $0x4, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x3785d(%rip), %rax     # 0x45380
movb (%rax), %al
movb %al, 0xf(%rsp)
movzbl %al, %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31ffb(%rip), %rsi     # 0x3fb60
movl $0xb, %edx
movq %r14, %rdi
callq 0x64a0
movl 0x1a8(%rbx), %esi
movq %r14, %rdi
callq 0x66e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31fbb(%rip), %rsi     # 0x3fb6c
movl $0x4, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x377bc(%rip), %rax     # 0x45381
movzbl (%rax), %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31f70(%rip), %rsi     # 0x3fb71
movl $0xd, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x3776d(%rip), %rax     # 0x45382
movb (%rax), %al
movb %al, 0xa(%rsp)
movzbl %al, %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31f28(%rip), %rsi     # 0x3fb7f
movl $0x7, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x37718(%rip), %rax     # 0x45383
movb (%rax), %al
movb %al, 0xe(%rsp)
movzbl %al, %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31eda(%rip), %rsi     # 0x3fb87
movl $0x8, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x376c3(%rip), %rax     # 0x45384
movl (%rax), %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x66e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31e92(%rip), %rsi     # 0x3fb90
movl $0x12, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x37676(%rip), %rax     # 0x45388
movb (%rax), %al
movb %al, 0xd(%rsp)
movzbl %al, %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31e51(%rip), %rsi     # 0x3fba5
movl $0xe, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x37621(%rip), %rax     # 0x45389
movb (%rax), %al
movb %al, 0xb(%rsp)
movzbl %al, %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31df9(%rip), %rsi     # 0x3fba3
movl $0x10, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x375ce(%rip), %rax     # 0x4538c
movl (%rax), %esi
movq %r14, %rdi
movq %rsi, 0x30(%rsp)
callq 0x66e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31db6(%rip), %rsi     # 0x3fbb4
movl $0xa, %edx
movq %r14, %rdi
callq 0x64a0
leaq 0x3757e(%rip), %rax     # 0x45390
movb (%rax), %al
movb %al, 0xc(%rsp)
movzbl %al, %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31d6b(%rip), %rsi     # 0x3fbbf
movl $0x18, %edx
movq %r14, %rdi
callq 0x64a0
movzbl 0xc8(%rsp), %esi
movq %r14, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x3172f(%rip), %rsi     # 0x3f5d1
movl $0xc, %edx
movq %r14, %rdi
callq 0x64a0
movl %ebp, 0x3c(%rsp)
movq %rbx, 0x40(%rsp)
movq 0xd0(%rsp), %r13
movq 0xd8(%rsp), %rbx
cmpq %rbx, %r13
je 0xdf8a
leaq 0x20(%rsp), %rbp
leaq 0x10(%rsp), %r15
leaq 0x3a1a9(%rip), %r14     # 0x4808b
movq %rbp, 0x10(%rsp)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0xbeb6
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x168(%rsp), %rdi
callq 0x64a0
movq 0xd8(%rsp), %rax
movq 0x18(%rsp), %rdx
movl $0x2, %r12d
cmpq -0x18(%rax), %rdx
jne 0xdf53
testq %rdx, %rdx
je 0xdf44
movq -0x20(%rax), %rsi
movq 0x10(%rsp), %rdi
callq 0x6470
movq %r14, %rsi
testl %eax, %eax
jne 0xdf56
movl $0x1, %r12d
leaq 0x31652(%rip), %rsi     # 0x3f5a3
jmp 0xdf56
movq %r14, %rsi
leaq 0x168(%rsp), %rdi
movq %r12, %rdx
callq 0x64a0
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0xdf7d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x6460
addq $0x20, %r13
cmpq %rbx, %r13
jne 0xdee2
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x168(%rsp), %rbx
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6430
movl 0x3c(%rsp), %ebp
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31be3(%rip), %rsi     # 0x3fbd8
movl $0x6, %edx
movq %rbx, %rdi
callq 0x64a0
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
movq %rbx, %rdi
callq 0x64a0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31b94(%rip), %rsi     # 0x3fbdf
movl $0x7, %edx
movq %rbx, %rdi
callq 0x64a0
movq 0x120(%rsp), %rsi
movq 0x128(%rsp), %rdx
movq %rbx, %rdi
callq 0x64a0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31b46(%rip), %rsi     # 0x3fbe7
movl $0x6, %edx
movq %rbx, %rdi
callq 0x64a0
movl 0x140(%rsp), %esi
movq %rbx, %rdi
callq 0x66e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31b00(%rip), %rsi     # 0x3fbee
movl $0x7, %edx
movq %rbx, %rdi
callq 0x64a0
movzbl 0x144(%rsp), %esi
movq %rbx, %rdi
callq 0x6670
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31aba(%rip), %rsi     # 0x3fbf6
movl $0x7, %edx
movq %rbx, %rdi
callq 0x64a0
movq 0x108(%rsp), %rbx
movq 0x110(%rsp), %r13
cmpq %r13, %rbx
je 0xe1cd
leaq 0x20(%rsp), %r14
leaq 0x10(%rsp), %r15
leaq 0x31a8f(%rip), %r12     # 0x3fbfe
movq %r14, 0x10(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0xbeb6
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x168(%rsp), %rdi
callq 0x64a0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x64a0
movq 0x10(%rsp), %rdi
cmpq %r14, %rdi
je 0xe1c4
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x6460
addq $0x20, %rbx
cmpq %r13, %rbx
jne 0xe16f
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x168(%rsp), %r14
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movq 0x40(%rsp), %rbx
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x319f3(%rip), %rsi     # 0x3fc00
movl $0xa, %edx
movq %r14, %rdi
callq 0x64a0
movsd 0x150(%rsp), %xmm0
movq %r14, %rdi
callq 0x6630
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31983(%rip), %rsi     # 0x3fc0b
movl $0x10, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31954(%rip), %rsi     # 0x3fc1c
movl $0x8, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x3b8(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x3190f(%rip), %rsi     # 0x3fc25
movl $0x8, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x3c8(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpb $0x0, 0xe(%rsp)
je 0xe460
testl %ebp, %ebp
jle 0xe3ba
leaq 0x318bb(%rip), %rsi     # 0x3fc2e
movl $0xd, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x3d8(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpl $0x2, %ebp
jl 0xe40d
leaq 0x31876(%rip), %rsi     # 0x3fc3c
movl $0xd, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x3e8(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpl $0x3, %ebp
jne 0xe460
leaq 0x31831(%rip), %rsi     # 0x3fc4a
movl $0xd, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x3f8(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpb $0x0, 0xd(%rsp)
je 0xe4b5
leaq 0x317ea(%rip), %rsi     # 0x3fc58
movl $0xf, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x408(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpb $0x1, 0xc8(%rsp)
jne 0xe50d
leaq 0x317a2(%rip), %rsi     # 0x3fc68
movl $0xb, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x418(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpb $0x0, 0xc(%rsp)
je 0xe562
leaq 0x31759(%rip), %rsi     # 0x3fc74
movl $0xa, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x500(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpb $0x0, 0xf(%rsp)
je 0xe718
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movq %rax, %r15
leaq 0x316dc(%rip), %rsi     # 0x3fc7f
movl $0xb, %edx
movq %rax, %rdi
callq 0x64a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x316ad(%rip), %rsi     # 0x3fc8b
movl $0x10, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x448(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31670(%rip), %rsi     # 0x3fc9c
movl $0xc, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x458(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x3162f(%rip), %rsi     # 0x3fca9
movl $0xc, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x468(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpl $0x0, 0x1a8(%rbx)
jne 0xe718
leaq 0x315e5(%rip), %rsi     # 0x3fcb6
movl $0x10, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x478(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpl $0x0, 0x10(%rbx)
jle 0xea62
cmpb $0x0, 0xa(%rsp)
je 0xe881
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movq %rax, %r15
leaq 0x31564(%rip), %rsi     # 0x3fcc7
movl $0x13, %edx
movq %rax, %rdi
callq 0x64a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x3153d(%rip), %rsi     # 0x3fcdb
movl $0xf, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x88(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x314ff(%rip), %rsi     # 0x3fceb
movl $0xa, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x98(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x314bc(%rip), %rsi     # 0x3fcf6
movl $0xf, %edx
movq %r14, %rdi
callq 0x64a0
movq 0xa8(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movq %rax, %r15
leaq 0x3144f(%rip), %rsi     # 0x3fd06
movl $0x10, %edx
movq %rax, %rdi
callq 0x64a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x31425(%rip), %rsi     # 0x3fd17
movl $0x8, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x38(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x313e3(%rip), %rsi     # 0x3fd20
movl $0x8, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x48(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x313a1(%rip), %rsi     # 0x3fd29
movl $0x8, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x58(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x3135f(%rip), %rsi     # 0x3fd32
movl $0xa, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x68(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x3131f(%rip), %rsi     # 0x3fd3d
movl $0x8, %edx
movq %r14, %rdi
callq 0x64a0
movq 0x78(%rbx), %rdi
movq (%rdi), %rax
movq %r14, %rsi
callq *0x28(%rax)
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpb $0x0, 0xb(%rsp)
je 0xed36
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movq %rax, %r15
leaq 0x312a3(%rip), %rsi     # 0x3fd46
movl $0x15, %edx
movq %rax, %rdi
callq 0x64a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
cmpl $0x0, 0x30(%rsp)
jle 0xed36
shlq $0x4, 0x30(%rsp)
xorl %ebp, %ebp
leaq 0x3107d(%rip), %r13     # 0x3fb6e
xorl %r15d, %r15d
movl $0x7, %edx
movq %r14, %rdi
leaq 0x31259(%rip), %rsi     # 0x3fd5c
callq 0x64a0
movq %r14, %rdi
movl %r15d, %esi
callq 0x66e0
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x64a0
movq 0x488(%rbx), %rax
movq (%rax,%rbp), %rdi
movq (%rdi), %rax
movq %r12, %rsi
callq *0x28(%rax)
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r12, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movl $0x7, %edx
movq %r14, %rdi
leaq 0x311f1(%rip), %rsi     # 0x3fd64
callq 0x64a0
movq %r14, %rdi
movl %r15d, %esi
callq 0x66e0
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x64a0
movq 0x4a0(%rbx), %rax
movq (%rax,%rbp), %rdi
movq (%rdi), %rax
movq %r12, %rsi
callq *0x28(%rax)
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r12, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movl $0x7, %edx
movq %r14, %rdi
leaq 0x31189(%rip), %rsi     # 0x3fd6c
callq 0x64a0
movq %r14, %rdi
movl %r15d, %esi
callq 0x66e0
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x64a0
movq 0x4b8(%rbx), %rax
movq (%rax,%rbp), %rdi
movq (%rdi), %rax
movq %r12, %rsi
callq *0x28(%rax)
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r12, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movl $0x9, %edx
movq %r14, %rdi
leaq 0x31121(%rip), %rsi     # 0x3fd74
callq 0x64a0
movq %r14, %rdi
movl %r15d, %esi
callq 0x66e0
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x64a0
movq 0x4d0(%rbx), %rax
movq (%rax,%rbp), %rdi
movq (%rdi), %rax
movq %r12, %rsi
callq *0x28(%rax)
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r12, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
movl $0x7, %edx
movq %r14, %rdi
leaq 0x310bb(%rip), %rsi     # 0x3fd7e
callq 0x64a0
movq %r14, %rdi
movl %r15d, %esi
callq 0x66e0
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x64a0
movq 0x4e8(%rbx), %rax
movq (%rax,%rbp), %rdi
movq (%rdi), %rax
movq %r12, %rsi
callq *0x28(%rax)
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r12, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
incl %r15d
addq $0x10, %rbp
cmpq %rbp, 0x30(%rsp)
jne 0xeaf4
movq 0x168(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x6430
movsbl %al, %esi
movq %r14, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6300
leaq 0x158(%rsp), %rdi
callq 0x6060
leaq 0x158(%rsp), %rdi
callq 0x60c0
leaq 0x50(%rsp), %rdi
callq 0xb832
addq $0x368, %rsp            # imm = 0x368
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0xede0
jmp 0xedd0
jmp 0xedd0
jmp 0xedd0
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r14, %rdi
jne 0xedbf
jmp 0xedd3
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0xedd3
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x6460
jmp 0xedd3
jmp 0xedd0
movq %rax, %rbx
leaq 0x158(%rsp), %rdi
callq 0x60c0
leaq 0x50(%rsp), %rdi
callq 0xb832
movq %rbx, %rdi
callq 0x6710