// File: /workspace/github_cpp_makefile_star2_O1/chfeder[P]turbulence_generator/TurbGen.cpp
// Function: ParseInputs(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>)
int ParseInputs(const vector<string> Argument)
{
    static const string FuncSign = ProgSign+"ParseInputs: ";
    stringstream dummystream;

    /// read tool specific options
    if (Argument.size() < 2)
    {
        if (MyPE==0) cout << endl << FuncSign+"Specify at least 1 argument." << endl;
        return -1;
    }

    for (unsigned int i = 1; i < Argument.size(); i++)
    {
        if (Argument[i] != "" && Argument[i] == "-h")
        {
            HelpMe(); exit(0);
        }
        if (Argument[i] != "" && Argument[i] == "-verbose")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> verbose; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-ndim")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> ndim; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-N")
        {
            if (Argument.size()>i+(int)ndim) {
                dummystream << Argument[i+1]; dummystream >> N[X]; dummystream.clear();
                if ((int)ndim > 1) { dummystream << Argument[i+2]; dummystream >> N[Y]; dummystream.clear(); }
                if ((int)ndim > 2) { dummystream << Argument[i+3]; dummystream >> N[Z]; dummystream.clear(); }
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-L")
        {
            if (Argument.size()>i+(int)ndim) {
                dummystream << Argument[i+1]; dummystream >> L[X]; dummystream.clear();
                if ((int)ndim > 1) { dummystream << Argument[i+2]; dummystream >> L[Y]; dummystream.clear(); }
                if ((int)ndim > 2) { dummystream << Argument[i+3]; dummystream >> L[Z]; dummystream.clear(); }
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-kmin")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> k_min; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-kmid")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> k_mid; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-kmax")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> k_max; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-spect_form")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> spect_form; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-power_law_exp")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> power_law_exp; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-power_law_exp_2")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> power_law_exp_2; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-angles_exp")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> angles_exp; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-sol_weight")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> sol_weight; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-random_seed")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> random_seed; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-o")
        {
            if (Argument.size()>i+1) {
                dummystream << Argument[i+1]; dummystream >> outfilename; dummystream.clear();
            } else return -1;
        }
        if (Argument[i] != "" && Argument[i] == "-write_modes")
        {
            write_modes = true;
        }
    } // loop over all args

    /// print out parsed values
    if (MyPE==0 && verbose>1) {
        cout << FuncSign+"Command line arguments: ";
        for (unsigned int i = 0; i < Argument.size(); i++) cout << Argument[i] << " ";
        cout << endl;
    }
    return 0;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdi, %rbx
movb 0xa854(%rip), %al       # 0xe2e8
testb %al, %al
je 0x4584
leaq 0x20(%rsp), %r14
movq %r14, %rdi
callq 0x2160
movq 0x8(%rbx), %rax
subq (%rbx), %rax
cmpq $0x21, %rax
jae 0x3b89
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0x0, 0xa7fe(%rip)      # 0xe2c4
jne 0x4546
movq 0xa505(%rip), %rdi      # 0xdfd8
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq 0xa4ea(%rip), %rdi      # 0xdfd8
callq 0x2040
movq %rax, %rdi
callq 0x2150
movq %rax, %rbx
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xa7ba(%rip), %rsi      # 0xe2c8
movq 0xa7bb(%rip), %rdx      # 0xe2d0
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x909e
leaq 0x677d(%rip), %rsi      # 0xa2a4
movq %rsp, %rdi
callq 0x2380
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x2240
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2150
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x4546
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4546
movq (%rbx), %rdi
movq 0x8(%rbx), %rax
subq %rdi, %rax
cmpq $0x21, %rax
jb 0x443c
movl $0x1, %r15d
movl $0x2, %ebp
leaq 0x73eb(%rip), %r12      # 0xaf9a
movq %r15, %r13
shlq $0x5, %r13
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x3bdf
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x66ef(%rip), %rsi      # 0xa2c1
callq 0x2080
testl %eax, %eax
je 0x4578
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
movl %ebp, %r15d
testl %eax, %eax
je 0x3c5d
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x66c3(%rip), %rsi      # 0xa2c4
callq 0x2080
testl %eax, %eax
jne 0x3c5d
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa59b(%rip), %rsi      # 0xe1e0
callq 0x2110
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x3cd8
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x6651(%rip), %rsi      # 0xa2cd
callq 0x2080
testl %eax, %eax
jne 0x3cd8
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa528(%rip), %rsi      # 0xe1e8
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x3dff
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x65d8(%rip), %rsi      # 0xa2d3
callq 0x2080
testl %eax, %eax
jne 0x3dff
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
cvttsd2si 0xa4d1(%rip), %edx # 0xe1e8
subq %rax, %rcx
sarq $0x5, %rcx
addl %ebp, %edx
decl %edx
cmpq %rdx, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa4a1(%rip), %rsi      # 0xe1f0
callq 0x2110
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
cvttsd2si 0xa479(%rip), %eax # 0xe1e8
cmpl $0x2, %eax
jl 0x3db3
leal 0x1(%rbp), %eax
movq (%rbx), %rcx
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa459(%rip), %rsi      # 0xe1f4
callq 0x2110
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
cvttsd2si 0xa42d(%rip), %eax # 0xe1e8
cmpl $0x3, %eax
jl 0x3dff
leal 0x2(%rbp), %eax
movq (%rbx), %rcx
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa411(%rip), %rsi      # 0xe1f8
callq 0x2110
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x3f26
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x64b4(%rip), %rsi      # 0xa2d6
callq 0x2080
testl %eax, %eax
jne 0x3f26
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
cvttsd2si 0xa3aa(%rip), %edx # 0xe1e8
subq %rax, %rcx
sarq $0x5, %rcx
addl %ebp, %edx
decl %edx
cmpq %rdx, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa38a(%rip), %rsi      # 0xe200
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
cvttsd2si 0xa352(%rip), %eax # 0xe1e8
cmpl $0x2, %eax
jl 0x3eda
leal 0x1(%rbp), %eax
movq (%rbx), %rcx
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa346(%rip), %rsi      # 0xe208
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
cvttsd2si 0xa306(%rip), %eax # 0xe1e8
cmpl $0x3, %eax
jl 0x3f26
leal 0x2(%rbp), %eax
movq (%rbx), %rcx
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa302(%rip), %rsi      # 0xe210
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x3fa1
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x6394(%rip), %rsi      # 0xa2d9
callq 0x2080
testl %eax, %eax
jne 0x3fa1
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa28f(%rip), %rsi      # 0xe218
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x401c
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x631f(%rip), %rsi      # 0xa2df
callq 0x2080
testl %eax, %eax
jne 0x401c
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa224(%rip), %rsi      # 0xe228
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x4097
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x62aa(%rip), %rsi      # 0xa2e5
callq 0x2080
testl %eax, %eax
jne 0x4097
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa1a1(%rip), %rsi      # 0xe220
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x4112
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x6235(%rip), %rsi      # 0xa2eb
callq 0x2080
testl %eax, %eax
jne 0x4112
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa136(%rip), %rsi      # 0xe230
callq 0x2110
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x418d
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x61c6(%rip), %rsi      # 0xa2f7
callq 0x2080
testl %eax, %eax
jne 0x418d
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa0c3(%rip), %rsi      # 0xe238
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x4208
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x615a(%rip), %rsi      # 0xa306
callq 0x2080
testl %eax, %eax
jne 0x4208
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0xa050(%rip), %rsi      # 0xe240
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x4283
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x60f0(%rip), %rsi      # 0xa317
callq 0x2080
testl %eax, %eax
jne 0x4283
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0x9fdd(%rip), %rsi      # 0xe248
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x42fe
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x6081(%rip), %rsi      # 0xa323
callq 0x2080
testl %eax, %eax
jne 0x42fe
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0x9f6a(%rip), %rsi      # 0xe250
callq 0x2140
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x4379
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x6012(%rip), %rsi      # 0xa32f
callq 0x2080
testl %eax, %eax
jne 0x4379
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0x9ef7(%rip), %rsi      # 0xe258
callq 0x2110
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x43f4
movq (%rbx), %rdi
addq %r13, %rdi
leaq 0x5fa4(%rip), %rsi      # 0xa33c
callq 0x2080
testl %eax, %eax
jne 0x43f4
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %r15, %rcx
jbe 0x4541
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
leaq 0x30(%rsp), %rdi
callq 0x2240
movq %r14, %rdi
leaq 0x9ec4(%rip), %rsi      # 0xe2a0
callq 0x2270
movq 0x20(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
xorl %esi, %esi
callq 0x2310
movq (%rbx), %rdi
addq %r13, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x4423
addq (%rbx), %r13
movq %r13, %rdi
leaq 0x5f2c(%rip), %rsi      # 0xa33f
callq 0x2080
testl %eax, %eax
jne 0x4423
movb $0x1, 0x9e9d(%rip)      # 0xe2c0
movq (%rbx), %rdi
movq 0x8(%rbx), %rax
subq %rdi, %rax
sarq $0x5, %rax
incl %ebp
cmpq %r15, %rax
ja 0x3baf
xorl %ebp, %ebp
cmpl $0x0, 0x9e7f(%rip)      # 0xe2c4
jne 0x4546
cmpl $0x2, 0x9d8e(%rip)      # 0xe1e0
jl 0x4546
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x9e60(%rip), %rsi      # 0xe2c8
movq 0x9e61(%rip), %rdx      # 0xe2d0
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x909e
leaq 0x5ecb(%rip), %rsi      # 0xa34c
movq %rsp, %rdi
callq 0x2380
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x9b3f(%rip), %r14      # 0xdfd8
movq %r14, %rdi
callq 0x2240
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x44b7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
movq (%rbx), %rax
cmpq %rax, 0x8(%rbx)
je 0x4514
movl $0x1, %r13d
xorl %ecx, %ecx
movq 0x9b09(%rip), %r15      # 0xdfd8
leaq 0x5d5f(%rip), %r12      # 0xa235
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
movq %r15, %rdi
callq 0x2240
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2240
movl %r13d, %ecx
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x5, %rdx
incl %r13d
cmpq %rcx, %rdx
ja 0x44d6
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq 0x9aa6(%rip), %rdi      # 0xdfd8
callq 0x2040
movq %rax, %rdi
callq 0x2150
jmp 0x4546
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x9a6b(%rip), %rsi      # 0xdfb8
leaq 0x20(%rsp), %rdi
callq 0x2180
leaq 0xa0(%rsp), %rdi
callq 0x20a0
movl %ebp, %eax
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x464e
xorl %edi, %edi
callq 0x2250
leaq 0x9d5d(%rip), %rdi      # 0xe2e8
callq 0x2360
testl %eax, %eax
je 0x3a9c
leaq 0x9d29(%rip), %rdi      # 0xe2c8
leaq 0x9cda(%rip), %rsi      # 0xe280
leaq 0x5ce9(%rip), %rdx      # 0xa296
callq 0x4e81
movq 0x9a0f(%rip), %rdi      # 0xdfc8
leaq 0x9d08(%rip), %rsi      # 0xe2c8
leaq 0x9c11(%rip), %rdx      # 0xe1d8
callq 0x21d0
leaq 0x9d15(%rip), %rdi      # 0xe2e8
callq 0x2130
jmp 0x3a9c
movq %rax, %rbx
leaq 0x9d01(%rip), %rdi      # 0xe2e8
callq 0x2120
jmp 0x4646
jmp 0x45f0
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x4612
jmp 0x4628
jmp 0x4625
jmp 0x4606
jmp 0x4625
jmp 0x4625
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x4628
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2230
jmp 0x4628
jmp 0x4625
jmp 0x4625
movq %rax, %rbx
movq 0x9989(%rip), %rsi      # 0xdfb8
leaq 0x20(%rsp), %rdi
callq 0x2180
leaq 0xa0(%rsp), %rdi
callq 0x20a0
movq %rbx, %rdi
callq 0x2340