// File: /workspace/github_cpp_makefile_star2_O1/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, %r12
movq %rdx, 0x28(%rsp)
movq %rsi, %rbx
movq %rdi, %r15
cmpl $0x2, (%rsi)
movq %rdi, (%rsp)
jl 0x7cae
leaq 0x200(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x6ab6(%rip), %rsi      # 0xe663
leaq 0x6ac7(%rip), %rdx      # 0xe67b
leaq 0x1f0(%rsp), %rdi
callq 0xbba2
leaq 0x280(%rsp), %rdi
leaq 0x1f0(%rsp), %rdx
movq %rbx, %rsi
callq 0x7ac4
leaq 0x68ab(%rip), %rsi      # 0xe48b
leaq 0x280(%rsp), %rdi
callq 0x34f0
leaq 0x1c0(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7c1d
movq %rdx, 0x1b0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c0(%rsp)
jmp 0x7c26
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x1b0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x79ea
movq 0x1b0(%rsp), %rdi
cmpq %r15, %rdi
je 0x7c6c
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x290(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq (%rsp), %r15
je 0x7c91
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x1f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x7cae
movq 0x200(%rsp), %rsi
incq %rsi
callq 0x32a0
xorpd %xmm0, %xmm0
movupd %xmm0, (%r15)
xorl %eax, %eax
movq %rax, 0x10(%r15)
movq %rax, 0x20(%rsp)
movq %rax, 0x1a8(%rsp)
movq 0x28(%rbx), %rdi
leaq 0x6453(%rip), %rsi      # 0xe128
callq 0x32e0
movq %rax, %r13
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
leaq 0x78(%rsp), %rdi
callq 0xdf02
leaq 0x6977(%rip), %rsi      # 0xe67c
leaq 0x78(%rsp), %rdi
callq 0x34f0
movq %r12, 0x18(%rsp)
testq %r13, %r13
je 0x8697
leaq 0x8(%rbx), %rax
movq %rax, 0x98(%rsp)
leaq 0x58(%rsp), %rbp
xorl %r14d, %r14d
movq %rbx, 0x10(%rsp)
movq %r13, 0xa0(%rsp)
leaq 0x20(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
movq %r13, %rdx
callq 0x3330
cmpq $-0x1, %rax
je 0x84d6
movq 0x20(%rsp), %rbx
movq 0x28(%rsp), %rax
movq (%rax), %r15
movq %r15, %rdi
callq 0x3130
movq %rbx, %rdi
movq 0x10(%rsp), %rbx
movq %r15, %rsi
movq %rax, %rdx
callq 0x3150
testl %eax, %eax
jne 0x84cc
cmpl $0x2, (%rbx)
leaq 0x148(%rsp), %r14
jl 0x7df7
leaq 0x158(%rsp), %rax
movq %rax, 0x148(%rsp)
movq %r14, %rdi
leaq 0x68f3(%rip), %rsi      # 0xe6a7
leaq 0x68f8(%rip), %rdx      # 0xe6b3
callq 0xbba2
movq 0x20(%rsp), %rdx
movq %rbx, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x79ea
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x7df7
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x20(%rsp), %rdi
movl $0x3d, %esi
callq 0x3100
movq %rax, %r13
cmpl $0x2, (%rbx)
leaq 0x128(%rsp), %r14
jl 0x7e71
leaq 0x138(%rsp), %rax
movq %rax, 0x128(%rsp)
movq %r14, %rdi
leaq 0x6884(%rip), %rsi      # 0xe6b4
leaq 0x688c(%rip), %rdx      # 0xe6c3
callq 0xbba2
movq %rbx, %rdi
movq %r14, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x79ea
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x7e71
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x32a0
movq %r13, %rdi
movl $0x21, %esi
callq 0x3100
movq %rax, %r12
movq %r13, %rdi
movl $0x23, %esi
callq 0x3100
movq %rax, %r15
movq %r13, %rdi
callq 0x3130
movq %rax, %rbx
testq %r12, %r12
setne %al
testq %r15, %r15
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x7eda
movq %r12, %rdi
callq 0x3130
movq %rax, %r12
movq %r15, %rdi
callq 0x3130
cmpq %rax, %r12
cmovaq %r12, %rax
subq %rax, %rbx
movq (%rsp), %r15
leaq 0x210(%rsp), %r14
jmp 0x7f06
testq %r12, %r12
leaq 0x210(%rsp), %r14
je 0x7ef2
movq %r12, %rdi
callq 0x3130
subq %rax, %rbx
testq %r15, %r15
je 0x7f02
movq %r15, %rdi
callq 0x3130
subq %rax, %rbx
movq (%rsp), %r15
xorpd %xmm0, %xmm0
movapd %xmm0, 0x260(%rsp)
movapd %xmm0, 0x250(%rsp)
movapd %xmm0, 0x240(%rsp)
movapd %xmm0, 0x230(%rsp)
movapd %xmm0, 0x220(%rsp)
movapd %xmm0, 0x210(%rsp)
movl $0x0, 0x270(%rsp)
incq %r13
decl %ebx
movslq %ebx, %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x3160
movq 0x10(%rsp), %rbx
cmpl $0x2, (%rbx)
movq 0xa0(%rsp), %r13
jl 0x7fd3
leaq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
leaq 0x108(%rsp), %r12
movq %r12, %rdi
leaq 0x6732(%rip), %rsi      # 0xe6c4
leaq 0x6737(%rip), %rdx      # 0xe6d0
callq 0xbba2
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
xorl %eax, %eax
callq 0x79ea
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x7fd3
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
leaq 0x69b1(%rip), %rsi      # 0xe993
callq 0x30c0
testl %eax, %eax
je 0x7ffe
movq %rbx, %rdi
leaq 0x66dc(%rip), %rsi      # 0xe6d1
callq 0x30c0
testl %eax, %eax
jne 0x8026
movl $0x1, %esi
movq %r15, %rdi
callq 0xba08
movq %r14, %rdi
callq 0x33e0
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movq (%r15), %rax
movsd %xmm0, (%rax)
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
leaq 0x66a5(%rip), %rsi      # 0xe6d5
callq 0x30c0
testl %eax, %eax
je 0x804c
movq %rbx, %rdi
leaq 0x6691(%rip), %rsi      # 0xe6d4
callq 0x30c0
testl %eax, %eax
jne 0x806d
movl $0x1, %esi
movq %r15, %rdi
callq 0xba08
movq %r14, %rdi
callq 0x3320
movq (%r15), %rax
movsd %xmm0, (%rax)
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
leaq 0x6660(%rip), %rsi      # 0xe6d7
callq 0x30c0
testl %eax, %eax
je 0x8099
movq 0x18(%rsp), %rdi
leaq 0x664e(%rip), %rsi      # 0xe6da
callq 0x30c0
testl %eax, %eax
jne 0x84c9
leaq 0x280(%rsp), %rdi
callq 0x31d0
movq 0x18(%rsp), %rax
movq (%rax), %rax
movb (%rax), %al
movb %al, 0x58(%rsp)
movl $0x1, %edx
leaq 0x290(%rsp), %rdi
movq %rbp, %rsi
callq 0x32d0
leaq 0xe8(%rsp), %r12
movq 0x10(%rsp), %rbx
leaq 0x280(%rsp), %rdi
leaq 0xc(%rsp), %rsi
callq 0x31a0
movq 0x280(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x280(%rsp), %rax
addq %rax, %rdi
xorl %esi, %esi
callq 0x3440
movslq 0xc(%rsp), %rsi
movq %r15, %rdi
callq 0xba08
cmpl $0x2, (%rbx)
jl 0x8174
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq %r12, %rdi
leaq 0x65ab(%rip), %rsi      # 0xe6dd
leaq 0x65ab(%rip), %rdx      # 0xe6e4
callq 0xbba2
movl 0xc(%rsp), %edx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x79ea
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x8174
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq %r14, %rdi
callq 0x3130
leaq (%rsp,%rax), %rdx
addq $0x210, %rdx            # imm = 0x210
movq %rbp, %rdi
movq %r14, %rsi
callq 0xbba2
xorl %r13d, %r13d
movl $0x1, %ecx
movq %rbp, %rdi
leaq 0x6537(%rip), %r14      # 0xe6e5
movq %r14, %rsi
xorl %edx, %edx
callq 0x3460
cmpq $-0x1, %rax
je 0x81e0
xorl %r13d, %r13d
incl %r13d
incq %rax
movl $0x1, %ecx
movq %rbp, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x3460
cmpq $-0x1, %rax
jne 0x81c1
cmpl $0x1, (%rbx)
jle 0x8248
leaq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
leaq 0xc8(%rsp), %r14
movq %r14, %rdi
leaq 0x64e0(%rip), %rsi      # 0xe6e7
leaq 0x64e2(%rip), %rdx      # 0xe6f0
callq 0xbba2
movq %rbx, %rdi
movq %r14, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x79ea
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x8248
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x32a0
testl %r13d, %r13d
movq %r13, 0x30(%rsp)
je 0x8261
movl 0xc(%rsp), %eax
decl %eax
cmpl %eax, %r13d
jne 0x865d
cmpl $0x0, 0xc(%rsp)
jle 0x8484
xorl %r12d, %r12d
xorl %r14d, %r14d
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
addq %rsi, %rdx
leaq 0x38(%rsp), %rdi
callq 0xdf02
movl 0xc(%rsp), %eax
decl %eax
cmpl %eax, %r13d
jne 0x8396
movl $0x1, %ecx
movq %rbp, %rdi
leaq 0x6434(%rip), %rsi      # 0xe6e5
xorl %edx, %edx
callq 0x3460
leaq 0x188(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x32b0
leaq 0x38(%rsp), %rdi
movq %rbx, %rsi
callq 0x3310
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x8302
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x32a0
movl $0x1, %ecx
movq %rbp, %rdi
movq %rbp, %r13
leaq 0x63d1(%rip), %rbp      # 0xe6e5
movq %rbp, %rsi
xorl %edx, %edx
callq 0x3460
leaq 0x1(%rax), %rbx
movq 0x60(%rsp), %r15
movl $0x1, %ecx
movq %r13, %rdi
movq %rbp, %rsi
movq %r13, %rbp
xorl %edx, %edx
callq 0x3460
subq %rax, %r15
leaq 0x188(%rsp), %r13
movq %r13, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x32b0
movq %rbp, %rdi
movq %r13, %rsi
callq 0x3310
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
movq (%rsp), %r15
movq 0x10(%rsp), %rbx
je 0x8391
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x30(%rsp), %r13
cmpl $0x2, (%rbx)
jl 0x840b
movq %r15, %r13
leaq 0xb8(%rsp), %rax
movq %rax, 0xa8(%rsp)
leaq 0xa8(%rsp), %r15
movq %r15, %rdi
leaq 0x6396(%rip), %rsi      # 0xe756
leaq 0x639d(%rip), %rdx      # 0xe764
callq 0xbba2
movq 0x38(%rsp), %rdx
movq %rbx, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x79ea
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
movq %r13, %r15
movq 0x30(%rsp), %r13
je 0x840b
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
leaq 0x290(%rsp), %rdi
callq 0x32d0
movq (%r15), %rsi
addq %r12, %rsi
leaq 0x280(%rsp), %rdi
callq 0x31b0
movq 0x280(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x280(%rsp), %rax
addq %rax, %rdi
xorl %esi, %esi
callq 0x3440
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x846f
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x32a0
incq %r14
movslq 0xc(%rsp), %rax
addq $0x8, %r12
cmpq %rax, %r14
jl 0x8272
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x84a0
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x32a0
leaq 0x280(%rsp), %rdi
movq 0x9b01(%rip), %rsi      # 0x11fb0
callq 0x31f0
leaq 0x300(%rsp), %rdi
callq 0x30e0
movq 0xa0(%rsp), %r13
movb $0x1, %r14b
testb $0x1, %r14b
je 0x7d3e
movq %r13, %rdi
callq 0x3280
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x84ed
callq 0x32f0
testb $0x1, %r14b
movq (%rsp), %rbx
je 0x86a9
movq 0x10(%rsp), %rax
cmpl $0x2, (%rax)
jl 0x8626
leaq 0x1e0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x6147(%rip), %rsi      # 0xe663
leaq 0x6158(%rip), %rdx      # 0xe67b
leaq 0x1d0(%rsp), %rdi
callq 0xbba2
leaq 0x280(%rsp), %rdi
leaq 0x1d0(%rsp), %rdx
movq 0x10(%rsp), %rbx
movq %rbx, %rsi
callq 0x7ac4
leaq 0x6105(%rip), %rsi      # 0xe659
leaq 0x280(%rsp), %rdi
callq 0x34f0
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x8591
movq %rdx, 0x168(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x178(%rsp)
jmp 0x859a
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x168(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x79ea
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x85e0
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
movq (%rsp), %rbx
je 0x8609
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x8626
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x8648
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x32a0
movq %rbx, %rax
addq $0x408, %rsp            # imm = 0x408
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x608d(%rip), %rdx      # 0xe6f1
leaq 0x38(%rsp), %rdi
movq 0x98(%rsp), %rsi
callq 0x7b18
movq 0x38(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rsi
movq 0x30(%rsp), %rdx
incl %edx
movl 0xc(%rsp), %ecx
xorl %eax, %eax
callq 0x3050
jmp 0x86e5
movq 0x78(%rsp), %rdi
movq 0x28(%rbx), %rsi
xorl %eax, %eax
callq 0x3050
jmp 0x86e5
leaq 0x60b5(%rip), %rdx      # 0xe765
leaq 0x280(%rsp), %rdi
movq 0x98(%rsp), %rsi
callq 0x7b18
movq 0x280(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rsi
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rdx
xorl %eax, %eax
callq 0x3050
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x3300
movq %rax, %r12
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x8714
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x8714
movq %rax, %r12
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x873e
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x873e
movq %rax, %r12
movq 0x1d0(%rsp), %rdi
cmpq %r14, %rdi
je 0x890c
movq 0x1e0(%rsp), %rsi
jmp 0x88e9
jmp 0x8909
jmp 0x8909
movq %rax, %r12
movq 0x1b0(%rsp), %rdi
cmpq %r15, %rdi
je 0x878b
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x878b
movq %rax, %r12
leaq 0x290(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x87b1
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x87b1
movq %rax, %r12
movq 0x1f0(%rsp), %rdi
cmpq %r14, %rdi
je 0x89e9
movq 0x200(%rsp), %rsi
incq %rsi
jmp 0x89e4
movq %rax, %r12
jmp 0x89e9
movq %rax, %r12
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x87ff
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x32a0
movq (%rsp), %r15
jmp 0x89d5
movq %rax, %r12
jmp 0x89d5
movq %rax, %r12
jmp 0x883d
movq %rax, %r12
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x883d
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x32a0
movq (%rsp), %r15
jmp 0x8976
jmp 0x8952
movq %rax, %r12
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x8873
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x32a0
movq (%rsp), %r15
jmp 0x8992
jmp 0x8901
movq %rax, %r12
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x890c
movq 0x118(%rsp), %rsi
jmp 0x88e9
jmp 0x88f9
movq %rax, %r12
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x890c
movq 0x138(%rsp), %rsi
jmp 0x88e9
jmp 0x8909
movq %rax, %r12
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x890c
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x890c
jmp 0x8909
jmp 0x8901
jmp 0x88f9
movq %rax, %r12
jmp 0x89b3
movq %rax, %r12
jmp 0x8992
movq %rax, %r12
movq (%rsp), %r15
jmp 0x89b3
movq %rax, %r12
movq %r13, %r15
jmp 0x895a
jmp 0x8957
movq %rax, %r12
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x894c
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x32a0
jmp 0x894c
movq %rax, %r12
movq (%rsp), %r15
jmp 0x895a
movq %rax, %r12
jmp 0x8976
movq %rax, %r12
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x8976
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x8992
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x32a0
movq 0x9617(%rip), %rsi      # 0x11fb0
leaq 0x280(%rsp), %rdi
callq 0x31f0
leaq 0x300(%rsp), %rdi
callq 0x30e0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x89d5
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x32a0
movq (%r15), %rdi
testq %rdi, %rdi
je 0x89e9
movq 0x10(%r15), %rsi
subq %rdi, %rsi
callq 0x32a0
movq %r12, %rdi
callq 0x3480
nop