// File: /workspace/github_cpp_makefile_star2_O3/chfeder[P]turbulence_generator/./TurbGen.h
// Function: TurbGen::read_from_parameter_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::vector<double> read_from_parameter_file(std::string search, std::string type) {
        // ******************************************************
        // parse each line in turbulence generator 'parameter_file' and search for 'search'
        // at the beginning of each line; if 'search' is found return double of value after '='
        // type: 'i' for int, 'd' for double return type void *ret
        // ******************************************************
        if (verbose > 1) TurbGen_printf(FuncSig(__func__)+"entering.\n");
        std::vector<double> ret; // return vector object
        FILE * fp;
        char * line = NULL;
        size_t len = 0;
        ssize_t read;
        fp = fopen(parameter_file.c_str(), "r");
        std::string msg = ClassSignature+"ERROR: could not open parameter file '%s'\n";
        if (fp == NULL) { printf(msg.c_str(), parameter_file.c_str()); exit(-1); }
        bool found = false;
        while ((read = getline(&line, &len, fp)) != -1) {
            if (strncmp(line, search.c_str(), strlen(search.c_str())) == 0) {
                if (verbose > 1) TurbGen_printf("line = '%s'\n", line);
                char * substr1 = strstr(line, "="); // extract everything after (and including) '='
                if (verbose > 1) TurbGen_printf("substr1 = '%s'\n", substr1);
                char * substr2 = strstr(substr1, "!"); // deal with comment '! ...'
                char * substr3 = strstr(substr1, "#"); // deal with comment '# ...'
                int end_index = strlen(substr1);
                if ((substr2 != NULL) && (substr3 != NULL)) { // if comment is present, reduce end_index
                    end_index -= std::max(strlen(substr2),strlen(substr3));
                } else { // if comment is present, reduce end_index
                    if (substr2 != NULL) end_index -= strlen(substr2);
                    if (substr3 != NULL) end_index -= strlen(substr3);
                }
                char dest[100]; memset(dest, '\0', sizeof(dest));
                strncpy(dest, substr1+1, end_index-1);
                if (verbose > 1) TurbGen_printf("dest = '%s'\n", dest);
                if ((type == "i") || (type == "1i")) {
                    ret.resize(1); ret[0] = double(atoi(dest));
                }
                if ((type == "d") || (type == "1d")) {
                    ret.resize(1); ret[0] = double(atof(dest));
                }
                if ((type == "2d") || (type == "3d")) {
                    int ncmp;
                    std::stringstream dummystream;
                    dummystream << type[0]; dummystream >> ncmp; dummystream.clear();
                    ret.resize(ncmp);
                    if (verbose > 1) TurbGen_printf("n = %i\n", ncmp);
                    std::string cmpstr = dest;
                    int cnt = 0; // count the number of ','
                    for (size_t offset = cmpstr.find(","); offset != std::string::npos; offset = cmpstr.find(",", offset+1)) ++cnt;
                    if (verbose > 1) TurbGen_printf("cnt = %i\n", cnt);
                    if ((cnt != 0) && (cnt != ncmp-1)) { // error check
                        std::string msg = ClassSignature+"ERROR: parameter '%s' specifies %i components, which does not match actual number of components: %i\n";
                        printf(msg.c_str(), search.c_str(), cnt+1, ncmp);
                        exit(-1);
                    }
                    for (int d=0; d<ncmp; d++) {
                        std::string substr = cmpstr; // copy into substr in case no commas provided
                        if (cnt == ncmp-1) { // if user has specified ncmp components; else copy the same value into each component
                            substr = cmpstr.substr(0, cmpstr.find(",")); // extract substring before first ','
                            cmpstr = cmpstr.substr(cmpstr.find(",")+1, cmpstr.size()-cmpstr.find(",")); // reduce cmpstr to remainder for next loop iter
                        }
                        if (verbose > 1)TurbGen_printf("substr = '%s'\n", substr.c_str());
                        dummystream << substr; dummystream >> ret[d]; dummystream.clear(); // copy into ret
                    }
                }
                found = true;
            }
            if (found) break;
        }
        fclose(fp);
        if (line) free(line);
        if (!found) {
            std::string msg = ClassSignature+"ERROR: requested parameter '%s' not found in file '%s'\n";
            printf(msg.c_str(), search.c_str(), parameter_file.c_str());
            exit(-1);
        }
        if (verbose > 1) TurbGen_printf(FuncSig(__func__)+"exiting.\n");
        return ret;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x408, %rsp            # imm = 0x408
movq %rcx, %r15
movq %rdx, 0x30(%rsp)
movq %rsi, %r14
movq %rdi, %r12
cmpl $0x2, (%rsi)
movq %rsi, 0x8(%rsp)
jl 0x7c1c
leaq 0x208(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x6ba1(%rip), %rsi      # 0xe6b3
leaq 0x6bb2(%rip), %rdx      # 0xe6cb
leaq 0x1f8(%rsp), %rdi
callq 0xba58
leaq 0x218(%rsp), %rdi
leaq 0x1f8(%rsp), %rdx
movq %r14, %rsi
callq 0x7a28
movq %r15, %r13
leaq 0x6993(%rip), %rsi      # 0xe4db
leaq 0x218(%rsp), %rdi
callq 0x34f0
leaq 0x128(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7b85
movq %rdx, 0x118(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x128(%rsp)
jmp 0x7b8e
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x118(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
xorl %eax, %eax
callq 0x794e
movq 0x118(%rsp), %rdi
cmpq %r15, %rdi
je 0x7bd6
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq 0x8(%rsp), %r14
movq %r13, %r15
je 0x7bff
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x1f8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7c1c
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x32a0
xorpd %xmm0, %xmm0
movupd %xmm0, (%r12)
xorl %eax, %eax
movq %rax, 0x10(%r12)
movq %rax, 0x18(%rsp)
movq %rax, 0x110(%rsp)
movq 0x28(%r14), %rdi
leaq 0x6533(%rip), %rsi      # 0xe178
callq 0x32e0
movq %rax, 0x38(%rsp)
leaq 0x90(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
addq %rsi, %rdx
leaq 0x80(%rsp), %rdi
movq %r12, 0x28(%rsp)
callq 0xde20
leaq 0x6a4d(%rip), %rsi      # 0xe6cc
leaq 0x80(%rsp), %rdi
callq 0x34f0
movq %r15, 0x20(%rsp)
cmpq $0x0, 0x38(%rsp)
je 0x858e
leaq 0x8(%r14), %rax
movq %rax, 0xa0(%rsp)
leaq 0x18(%rsp), %rbx
leaq 0x110(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movq 0x38(%rsp), %rdx
callq 0x3330
movq %rax, %rbp
cmpq $-0x1, %rax
je 0x8410
movq 0x18(%rsp), %r15
movq 0x30(%rsp), %rax
movq (%rax), %r13
movq %r13, %rdi
callq 0x3130
movq %r15, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x3150
testl %eax, %eax
jne 0x7cb6
movq 0x8(%rsp), %rax
cmpl $0x1, (%rax)
jle 0x7de0
leaq 0x1e8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x69dc(%rip), %rsi      # 0xe6f7
leaq 0x69e1(%rip), %rdx      # 0xe703
leaq 0x1d8(%rsp), %rdi
callq 0xba58
movq 0x18(%rsp), %rdx
leaq 0x1d8(%rsp), %rsi
movq 0x8(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x1d8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7d68
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x32a0
movl (%r14), %r14d
movq 0x18(%rsp), %rdi
movl $0x3d, %esi
callq 0x3100
movq %rax, %rbx
cmpl $0x2, %r14d
jl 0x7df0
leaq 0x1c8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x696e(%rip), %rsi      # 0xe704
leaq 0x6976(%rip), %rdx      # 0xe713
leaq 0x1b8(%rsp), %rdi
callq 0xba58
leaq 0x1b8(%rsp), %rsi
movq 0x8(%rsp), %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x794e
movq 0x1b8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7df0
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x7df0
movq %r15, %rdi
movl $0x3d, %esi
callq 0x3100
movq %rax, %rbx
movq %rbx, %rdi
movl $0x21, %esi
callq 0x3100
movq %rax, %r13
movq %rbx, %rdi
movl $0x23, %esi
callq 0x3100
movq %rax, %r15
movq %rbx, %rdi
callq 0x3130
movq %rax, %r14
testq %r13, %r13
setne %al
testq %r15, %r15
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x7e4a
movq %r13, %rdi
callq 0x3130
movq %rax, %r13
movq %r15, %rdi
callq 0x3130
cmpq %rax, %r13
cmovaq %r13, %rax
jmp 0x7e67
testq %r13, %r13
je 0x7e5a
movq %r13, %rdi
callq 0x3130
subq %rax, %r14
testq %r15, %r15
je 0x7e6a
movq %r15, %rdi
callq 0x3130
subq %rax, %r14
xorpd %xmm0, %xmm0
leaq 0x3a0(%rsp), %rdi
movapd %xmm0, 0x50(%rdi)
movapd %xmm0, 0x40(%rdi)
movapd %xmm0, 0x30(%rdi)
movapd %xmm0, 0x20(%rdi)
movapd %xmm0, 0x10(%rdi)
movapd %xmm0, (%rdi)
movl $0x0, 0x60(%rdi)
incq %rbx
decl %r14d
movslq %r14d, %rdx
movq %rbx, %rsi
callq 0x3160
movq 0x8(%rsp), %r14
cmpl $0x2, (%r14)
movq 0x20(%rsp), %r15
jl 0x7f19
leaq 0x1a8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x6846(%rip), %rsi      # 0xe714
leaq 0x684b(%rip), %rdx      # 0xe720
leaq 0x198(%rsp), %rdi
callq 0xba58
leaq 0x198(%rsp), %rsi
leaq 0x3a0(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x198(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7f19
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x6ac3(%rip), %rsi      # 0xe9e3
movq %r15, %rdi
callq 0x30c0
testl %eax, %eax
je 0x7f3f
leaq 0x67ee(%rip), %rsi      # 0xe721
movq %r15, %rdi
callq 0x30c0
testl %eax, %eax
jne 0x7f68
movl $0x1, %esi
movq %r12, %rdi
callq 0xb8b8
leaq 0x3a0(%rsp), %rdi
callq 0x33e0
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq (%r12), %rax
movsd %xmm0, (%rax)
leaq 0x67b6(%rip), %rsi      # 0xe725
movq %r15, %rdi
callq 0x30c0
testl %eax, %eax
je 0x7f8e
leaq 0x67a2(%rip), %rsi      # 0xe724
movq %r15, %rdi
callq 0x30c0
testl %eax, %eax
jne 0x7fb0
movl $0x1, %esi
movq %r12, %rdi
callq 0xb8b8
leaq 0x3a0(%rsp), %rdi
callq 0x3320
movq (%r12), %rax
movsd %xmm0, (%rax)
leaq 0x6770(%rip), %rsi      # 0xe727
movq %r15, %rdi
callq 0x30c0
testl %eax, %eax
je 0x7fda
leaq 0x6760(%rip), %rsi      # 0xe72a
movq %r15, %rdi
callq 0x30c0
testl %eax, %eax
jne 0x8410
leaq 0x218(%rsp), %rdi
callq 0x31d0
leaq 0x228(%rsp), %rdi
movq (%r15), %rax
movb (%rax), %al
leaq 0x60(%rsp), %rsi
movb %al, (%rsi)
movl $0x1, %edx
callq 0x32d0
leaq 0x218(%rsp), %rdi
leaq 0x14(%rsp), %rsi
callq 0x31a0
movq 0x218(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x218(%rsp), %rax
addq %rax, %rdi
xorl %esi, %esi
callq 0x3440
movslq 0x14(%rsp), %rsi
movq %r12, %rdi
callq 0xb8b8
cmpl $0x2, (%r14)
jl 0x80a2
leaq 0x188(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x66d2(%rip), %rsi      # 0xe72d
leaq 0x66d2(%rip), %rdx      # 0xe734
leaq 0x178(%rsp), %rdi
callq 0xba58
movl 0x14(%rsp), %edx
leaq 0x178(%rsp), %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0x794e
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x80a2
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x70(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3a0(%rsp), %rbx
movq %rbx, %rdi
callq 0x3130
leaq (%rsp,%rax), %rdx
addq $0x3a0, %rdx            # imm = 0x3A0
leaq 0x60(%rsp), %rdi
movq %rbx, %rsi
callq 0xba58
movq %rbp, 0xc8(%rsp)
leaq 0x6653(%rip), %rsi      # 0xe735
xorl %ebx, %ebx
leaq 0x60(%rsp), %rdi
movl $0x1, %ecx
xorl %edx, %edx
callq 0x3460
cmpq $-0x1, %rax
je 0x8127
xorl %ebx, %ebx
leaq 0x6631(%rip), %r14      # 0xe735
leaq 0x60(%rsp), %r15
incl %ebx
incq %rax
movl $0x1, %ecx
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x3460
cmpq $-0x1, %rax
jne 0x8109
movq 0x8(%rsp), %rbp
cmpl $0x1, (%rbp)
jle 0x8191
leaq 0x168(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x65f2(%rip), %rsi      # 0xe737
leaq 0x65f4(%rip), %rdx      # 0xe740
leaq 0x158(%rsp), %rdi
callq 0xba58
leaq 0x158(%rsp), %rsi
movq 0x8(%rsp), %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0x794e
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
movq 0x8(%rsp), %rbp
je 0x8191
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x32a0
testl %ebx, %ebx
sete %cl
movl 0x14(%rsp), %eax
leal -0x1(%rax), %edx
cmpl %edx, %ebx
sete %dl
orb %cl, %dl
movq %rbx, 0x20(%rsp)
je 0x85e1
testl %eax, %eax
jle 0x83cb
xorl %r13d, %r13d
xorl %r14d, %r14d
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
leaq 0x40(%rsp), %rdi
callq 0xde20
movl 0x14(%rsp), %eax
decl %eax
cmpl %eax, %ebx
jne 0x82e0
movl $0x1, %ecx
leaq 0x60(%rsp), %r15
movq %r15, %rdi
leaq 0x6535(%rip), %rsi      # 0xe735
xorl %edx, %edx
callq 0x3460
leaq 0xf0(%rsp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x32b0
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x3310
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x8251
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x32a0
movl $0x1, %ecx
movq %r15, %rdi
leaq 0x64d5(%rip), %rbp      # 0xe735
movq %rbp, %rsi
xorl %edx, %edx
callq 0x3460
leaq 0x1(%rax), %rbx
movq 0x68(%rsp), %r12
movl $0x1, %ecx
movq %r15, %rdi
movq %rbp, %rsi
xorl %edx, %edx
callq 0x3460
subq %rax, %r12
leaq 0xf0(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
movq %rbx, %rdx
movq %r12, %rcx
callq 0x32b0
movq %r15, %rdi
movq %rbp, %rsi
callq 0x3310
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
movq 0x28(%rsp), %r12
movq 0x8(%rsp), %rbp
movq 0x20(%rsp), %rbx
je 0x82e0
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x32a0
cmpl $0x2, (%rbp)
jl 0x8351
movq %r12, %r15
leaq 0xb8(%rsp), %rax
movq %rax, 0xa8(%rsp)
leaq 0xa8(%rsp), %r12
movq %r12, %rdi
leaq 0x649b(%rip), %rsi      # 0xe7a6
leaq 0x64a2(%rip), %rdx      # 0xe7b4
callq 0xba58
movq 0x40(%rsp), %rdx
movq %rbp, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x794e
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
movq %r15, %r12
je 0x8351
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x228(%rsp), %rdi
callq 0x32d0
movq (%r12), %rsi
addq %r13, %rsi
leaq 0x218(%rsp), %rdi
callq 0x31b0
movq 0x218(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x218(%rsp), %rax
addq %rax, %rdi
xorl %esi, %esi
callq 0x3440
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x83b6
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32a0
incq %r14
movslq 0x14(%rsp), %rax
addq $0x8, %r13
cmpq %rax, %r14
jl 0x81bd
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x83e7
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x9bc2(%rip), %rsi      # 0x11fb0
leaq 0x218(%rsp), %rdi
callq 0x31f0
leaq 0x298(%rsp), %rdi
callq 0x30e0
movq 0xc8(%rsp), %rbp
movq 0x38(%rsp), %rdi
callq 0x3280
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x8429
callq 0x32f0
cmpq $-0x1, %rbp
movq 0x8(%rsp), %r14
je 0x85a3
cmpl $0x2, (%r14)
jl 0x8554
leaq 0x148(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x625e(%rip), %rsi      # 0xe6b3
leaq 0x626f(%rip), %rdx      # 0xe6cb
leaq 0x138(%rsp), %rdi
callq 0xba58
leaq 0x218(%rsp), %rdi
leaq 0x138(%rsp), %rdx
movq %r14, %rsi
callq 0x7a28
leaq 0x6221(%rip), %rsi      # 0xe6a9
leaq 0x218(%rsp), %rdi
callq 0x34f0
leaq 0xe0(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x84c5
movq %rdx, 0xd0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xe0(%rsp)
jmp 0x84ce
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0xd0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
xorl %eax, %eax
callq 0x794e
movq 0xd0(%rsp), %rdi
cmpq %r15, %rdi
je 0x8516
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8537
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x138(%rsp), %rdi
cmpq %rbx, %rdi
je 0x8554
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x8579
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x32a0
movq %r12, %rax
addq $0x408, %rsp            # imm = 0x408
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x80(%rsp), %rdi
movq 0x28(%r14), %rsi
xorl %eax, %eax
callq 0x3050
jmp 0x8619
leaq 0x620b(%rip), %rdx      # 0xe7b5
leaq 0x218(%rsp), %rdi
movq 0xa0(%rsp), %rsi
callq 0x7a7c
movq 0x218(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdx
xorl %eax, %eax
callq 0x3050
jmp 0x8619
leaq 0x6159(%rip), %rdx      # 0xe741
leaq 0x40(%rsp), %rdi
movq 0xa0(%rsp), %rsi
callq 0x7a7c
movq 0x40(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rsi
movq 0x20(%rsp), %rdx
incl %edx
movl 0x14(%rsp), %ecx
xorl %eax, %eax
callq 0x3050
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x3300
movq %rax, %r14
movq 0x1b8(%rsp), %rdi
cmpq %r15, %rdi
je 0x8883
movq 0x1c8(%rsp), %rsi
jmp 0x8751
jmp 0x8822
jmp 0x881d
movq %rax, %r14
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
je 0x8846
movq 0x168(%rsp), %rsi
jmp 0x883e
jmp 0x881d
movq %rax, %r14
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x8862
movq 0x188(%rsp), %rsi
jmp 0x885a
jmp 0x87e8
movq %rax, %r14
movq 0x198(%rsp), %rdi
cmpq %rbx, %rdi
je 0x8883
movq 0x1a8(%rsp), %rsi
jmp 0x8751
jmp 0x8822
movq %rax, %r14
movq 0x1d8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x8883
movq 0x1e8(%rsp), %rsi
jmp 0x8751
jmp 0x8822
jmp 0x87e8
jmp 0x8822
movq %rax, %r14
movq 0xd0(%rsp), %rdi
cmpq %r15, %rdi
je 0x8712
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x8712
movq %rax, %r14
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8738
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x8738
movq %rax, %r14
movq 0x138(%rsp), %rdi
cmpq %rbx, %rdi
je 0x8883
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x8883
jmp 0x8822
jmp 0x8822
movq %rax, %r14
movq 0x118(%rsp), %rdi
cmpq %r15, %rdi
je 0x878d
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x878d
movq %rax, %r14
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x87b3
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x87b3
movq %rax, %r14
movq 0x1f8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x88c6
movq 0x208(%rsp), %rsi
incq %rsi
jmp 0x88c1
movq %rax, %r14
jmp 0x88c6
jmp 0x8822
jmp 0x8822
movq %rax, %r14
jmp 0x88a8
movq %rax, %r14
jmp 0x8862
jmp 0x8827
jmp 0x8827
jmp 0x8827
movq %rax, %r14
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x882a
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x882a
movq %rax, %r14
jmp 0x8846
movq %rax, %r14
jmp 0x8883
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x8846
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x8862
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x9747(%rip), %rsi      # 0x11fb0
leaq 0x218(%rsp), %rdi
callq 0x31f0
leaq 0x298(%rsp), %rdi
callq 0x30e0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x88a8
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x28(%rsp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0x88c6
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rsi
subq %rdi, %rsi
callq 0x32a0
movq %r14, %rdi
callq 0x3480