// File: EDDRSoftware[P]libdefsEval/main.cpp
// Function: evaluate(boost::program_options::variables_map const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, 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>>>>*)
void evaluate(const variables_map &vm, const string &libdefs, std::vector<string> *pLibDefFiles)
{
    bool showAssigns    = vm.count("assigns");
    bool showComments   = vm.count("comments");
    bool showEmptyLines = vm.count("emptylines");
    path fp;

    try {
        if(parse(libdefs, current_path(), &fp)) {
            ifstream libdefsFile(fp.string().c_str());

            if(libdefsFile.is_open()) {
                int lineNum = 0;

                while(libdefsFile.good()) {
                    lineNum++;
                    string line;
                    getline(libdefsFile, line);

                    if(line.length()==0) {
                        if(showEmptyLines) {
                            cout << "EMPTY LINE: " << fp.string() << ":" <<
                                 lineNum << endl;
                        }

                        continue;
                    }

                    string action;
                    stringstream stream(line);
                    stream >> action;

                    if(action[0]=='#') {
                        if(showComments) {
                            cout << "COMMENT: " << line << endl;
                        }

                        continue;
                    }

                    if(action=="DEFINE") {
                        string var1, var2;
                        stream >> var1;
                        // var2 requires reading until EOL;
                        readUntilEOL(&stream, &var2);

                        if(var1[0]=='#' || var2[0]=='#') {
                            cerr << "INVALID LINE: " << fp.string() << ":" <<
                                 lineNum << " => " << line << endl;
                            continue;
                        }

                        if(var1.length()>0 && var2.length()>0) {
                            evaluateDefine(vm, var1, var2, fp, line, lineNum);
                        }
                    } else if(action=="INCLUDE") {
                        string var1;
                        // var1 requires reading until EOL
                        readUntilEOL(&stream, &var1);

                        if(var1[0]=='#') {
                            cerr << "INVALID LINE: " << fp.string() << ":" <<
                                 lineNum << " => " << line << endl;
                            continue;
                        }

                        if(var1.length()>0) {
                            evaluateInclude(vm, var1, fp, line, lineNum, pLibDefFiles);
                        }
                    } else if(action=="ASSIGN") {
                        if(showAssigns) {
                            cout << "ASSIGN: " << fp.string() << ":" << lineNum << " \"" << line << "\"" <<
                                 endl;
                        }
                    } else {
                        cerr << "INVALID LINE: " << fp.string() << ":" <<
                             lineNum << " => " << line << endl;
                    }
                }
            } else {
                cerr << "ERROR: Library path " << libdefs <<
                     " does not exist." << endl;
            }
        }
    } catch(...) {
        cerr << "ERROR: Library path " << fp << " does not exist." << endl;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x760, %rsp            # imm = 0x760
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x558(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0x550(%rbp)
callq 0x6790
movq -0x550(%rbp), %rdx
leaq 0xdcd7(%rip), %rsi      # 0x1617b
leaq -0x40(%rbp), %rdi
callq 0xa780
jmp 0x84af
movq -0x558(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xa720
movq %rax, -0x560(%rbp)
jmp 0x84c8
leaq -0x40(%rbp), %rdi
callq 0x6290
leaq -0x41(%rbp), %rdi
callq 0x64b0
movq -0x560(%rbp), %rax
testq %rax, %rax
setne -0x19(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x570(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0x568(%rbp)
callq 0x6790
movq -0x568(%rbp), %rdx
leaq 0xdc6e(%rip), %rsi      # 0x16183
leaq -0x78(%rbp), %rdi
callq 0xa780
jmp 0x8520
movq -0x570(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0xa720
movq %rax, -0x578(%rbp)
jmp 0x8539
leaq -0x78(%rbp), %rdi
callq 0x6290
leaq -0x79(%rbp), %rdi
callq 0x64b0
movq -0x578(%rbp), %rax
testq %rax, %rax
setne -0x55(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x588(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x580(%rbp)
callq 0x6790
movq -0x580(%rbp), %rdx
leaq 0xdc03(%rip), %rsi      # 0x1618c
leaq -0xa0(%rbp), %rdi
callq 0xa780
jmp 0x8597
movq -0x588(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xa720
movq %rax, -0x590(%rbp)
jmp 0x85b3
leaq -0xa0(%rbp), %rdi
callq 0x6290
leaq -0xa1(%rbp), %rdi
callq 0x64b0
movq -0x590(%rbp), %rax
testq %rax, %rax
setne -0x7a(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0xa860
movq -0x10(%rbp), %rax
movq %rax, -0x598(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0xab50
jmp 0x85fe
leaq -0x108(%rbp), %rdi
movq %rdi, -0x5a8(%rbp)
callq 0x6600
movq -0x598(%rbp), %rdi
movq -0x5a8(%rbp), %rcx
leaq -0xe8(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
xorl %r8d, %r8d
callq 0x6d10
movb %al, -0x599(%rbp)
jmp 0x863d
leaq -0x108(%rbp), %rdi
callq 0x6290
leaq -0xe8(%rbp), %rdi
callq 0xa440
movb -0x599(%rbp), %al
testb $0x1, %al
jne 0x8664
jmp 0x91b1
leaq -0xc8(%rbp), %rdi
callq 0xa5b0
movq %rax, -0x5b0(%rbp)
jmp 0x8679
movq -0x5b0(%rbp), %rdi
callq 0x6170
movq %rax, %rsi
leaq -0x310(%rbp), %rdi
movl $0x8, %edx
callq 0x67c0
jmp 0x869b
leaq -0x310(%rbp), %rdi
callq 0x66d0
movb %al, -0x5b1(%rbp)
jmp 0x86af
movb -0x5b1(%rbp), %al
testb $0x1, %al
jne 0x86be
jmp 0x909c
movl $0x0, -0x314(%rbp)
movq -0x310(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x310(%rbp,%rax), %rdi
callq 0x6710
movb %al, -0x5b2(%rbp)
jmp 0x86e8
movb -0x5b2(%rbp), %al
testb $0x1, %al
jne 0x86f7
jmp 0x909a
movl -0x314(%rbp), %eax
incl %eax
movl %eax, -0x314(%rbp)
leaq -0x338(%rbp), %rdi
movq %rdi, -0x5c0(%rbp)
callq 0x6600
movq -0x5c0(%rbp), %rsi
leaq -0x310(%rbp), %rdi
callq 0x6080
jmp 0x872d
leaq -0x338(%rbp), %rdi
callq 0x6660
cmpq $0x0, %rax
jne 0x88ef
testb $0x1, -0x7a(%rbp)
je 0x88e0
movq 0x18874(%rip), %rdi     # 0x20fc8
leaq 0xda3c(%rip), %rsi      # 0x16197
callq 0x6440
movq %rax, -0x5c8(%rbp)
jmp 0x8769
leaq -0xc8(%rbp), %rdi
callq 0xa5b0
movq %rax, -0x5d0(%rbp)
jmp 0x877e
movq -0x5d0(%rbp), %rsi
movq -0x5c8(%rbp), %rdi
callq 0x63f0
movq %rax, -0x5d8(%rbp)
jmp 0x879a
movq -0x5d8(%rbp), %rdi
leaq 0xd8de(%rip), %rsi      # 0x16086
callq 0x6440
movq %rax, -0x5e0(%rbp)
jmp 0x87b6
movq -0x5e0(%rbp), %rdi
movl -0x314(%rbp), %esi
callq 0x6750
movq %rax, -0x5e8(%rbp)
jmp 0x87d1
movq -0x5e8(%rbp), %rdi
movq 0x187a1(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x87e6
jmp 0x88e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x880e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x6290
leaq -0x41(%rbp), %rdi
callq 0x64b0
jmp 0x91e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x883f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x6290
leaq -0x79(%rbp), %rdi
callq 0x64b0
jmp 0x91e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x8873
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x6290
leaq -0xa1(%rbp), %rdi
callq 0x64b0
jmp 0x91e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x9121
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x6290
leaq -0xe8(%rbp), %rdi
callq 0xa440
jmp 0x9121
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x9115
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x908c
movl $0x2, -0x33c(%rbp)
jmp 0x9052
leaq -0x360(%rbp), %rdi
callq 0x6600
movl $0x10, %edi
movl $0x8, %esi
callq 0xab80
movl %eax, -0x5ec(%rbp)
jmp 0x8912
movl -0x5ec(%rbp), %edx
leaq -0x4e8(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x66c0
jmp 0x892d
leaq -0x4e8(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x6580
jmp 0x8942
xorl %eax, %eax
movl %eax, %esi
leaq -0x360(%rbp), %rdi
callq 0x6870
movq %rax, -0x5f8(%rbp)
jmp 0x895b
movq -0x5f8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x89f4
testb $0x1, -0x55(%rbp)
je 0x89e5
movq 0x1864d(%rip), %rdi     # 0x20fc8
leaq 0xd822(%rip), %rsi      # 0x161a4
callq 0x6440
movq %rax, -0x600(%rbp)
jmp 0x8990
movq -0x600(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x63f0
movq %rax, -0x608(%rbp)
jmp 0x89ac
movq -0x608(%rbp), %rdi
movq 0x185c6(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x89c1
jmp 0x89e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x9080
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x9074
movl $0x2, -0x33c(%rbp)
jmp 0x903a
leaq 0xd7b3(%rip), %rsi      # 0x161ae
leaq -0x360(%rbp), %rdi
callq 0xaba0
movb %al, -0x609(%rbp)
jmp 0x8a0f
movb -0x609(%rbp), %al
testb $0x1, %al
jne 0x8a1e
jmp 0x8c4f
leaq -0x508(%rbp), %rdi
movq %rdi, -0x618(%rbp)
callq 0x6600
leaq -0x528(%rbp), %rdi
callq 0x6600
movq -0x618(%rbp), %rsi
leaq -0x4e8(%rbp), %rdi
callq 0x6580
jmp 0x8a52
leaq -0x4e8(%rbp), %rdi
leaq -0x528(%rbp), %rsi
callq 0x7080
jmp 0x8a67
xorl %eax, %eax
movl %eax, %esi
leaq -0x508(%rbp), %rdi
callq 0x6870
movq %rax, -0x620(%rbp)
jmp 0x8a80
movq -0x620(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
je 0x8abb
xorl %eax, %eax
movl %eax, %esi
leaq -0x528(%rbp), %rdi
callq 0x6870
movq %rax, -0x628(%rbp)
jmp 0x8aa8
movq -0x628(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x8bc4
movq 0x1852e(%rip), %rdi     # 0x20ff0
leaq 0xd5bf(%rip), %rsi      # 0x16088
callq 0x6440
movq %rax, -0x630(%rbp)
jmp 0x8ad7
leaq -0xc8(%rbp), %rdi
callq 0xa5b0
movq %rax, -0x638(%rbp)
jmp 0x8aec
movq -0x638(%rbp), %rsi
movq -0x630(%rbp), %rdi
callq 0x63f0
movq %rax, -0x640(%rbp)
jmp 0x8b08
movq -0x640(%rbp), %rdi
leaq 0xd570(%rip), %rsi      # 0x16086
callq 0x6440
movq %rax, -0x648(%rbp)
jmp 0x8b24
movq -0x648(%rbp), %rdi
movl -0x314(%rbp), %esi
callq 0x6750
movq %rax, -0x650(%rbp)
jmp 0x8b3f
movq -0x650(%rbp), %rdi
leaq 0xd5e5(%rip), %rsi      # 0x16132
callq 0x6440
movq %rax, -0x658(%rbp)
jmp 0x8b5b
movq -0x658(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x63f0
movq %rax, -0x660(%rbp)
jmp 0x8b77
movq -0x660(%rbp), %rdi
movq 0x183fb(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x8b8c
movl $0x2, -0x33c(%rbp)
jmp 0x8c22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x528(%rbp), %rdi
callq 0x6290
leaq -0x508(%rbp), %rdi
callq 0x6290
jmp 0x9074
leaq -0x508(%rbp), %rdi
callq 0x6660
cmpq $0x0, %rax
jbe 0x8c18
leaq -0x528(%rbp), %rdi
callq 0x6660
cmpq $0x0, %rax
jbe 0x8c18
movq -0x8(%rbp), %rdi
movl -0x314(%rbp), %r9d
leaq -0x508(%rbp), %rsi
leaq -0x528(%rbp), %rdx
leaq -0xc8(%rbp), %rcx
leaq -0x338(%rbp), %r8
callq 0x71d0
jmp 0x8c16
jmp 0x8c18
movl $0x0, -0x33c(%rbp)
leaq -0x528(%rbp), %rdi
callq 0x6290
leaq -0x508(%rbp), %rdi
callq 0x6290
movl -0x33c(%rbp), %eax
testl %eax, %eax
jne 0x903a
jmp 0x8c4a
jmp 0x9030
leaq 0xd55f(%rip), %rsi      # 0x161b5
leaq -0x360(%rbp), %rdi
callq 0xaba0
movb %al, -0x661(%rbp)
jmp 0x8c6a
movb -0x661(%rbp), %al
testb $0x1, %al
jne 0x8c79
jmp 0x8e31
leaq -0x548(%rbp), %rdi
movq %rdi, -0x670(%rbp)
callq 0x6600
movq -0x670(%rbp), %rsi
leaq -0x4e8(%rbp), %rdi
callq 0x7080
jmp 0x8ca1
xorl %eax, %eax
movl %eax, %esi
leaq -0x548(%rbp), %rdi
callq 0x6870
movq %rax, -0x678(%rbp)
jmp 0x8cba
movq -0x678(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x23, %eax
jne 0x8dc7
movq 0x1831c(%rip), %rdi     # 0x20ff0
leaq 0xd3ad(%rip), %rsi      # 0x16088
callq 0x6440
movq %rax, -0x680(%rbp)
jmp 0x8ce9
leaq -0xc8(%rbp), %rdi
callq 0xa5b0
movq %rax, -0x688(%rbp)
jmp 0x8cfe
movq -0x688(%rbp), %rsi
movq -0x680(%rbp), %rdi
callq 0x63f0
movq %rax, -0x690(%rbp)
jmp 0x8d1a
movq -0x690(%rbp), %rdi
leaq 0xd35e(%rip), %rsi      # 0x16086
callq 0x6440
movq %rax, -0x698(%rbp)
jmp 0x8d36
movq -0x698(%rbp), %rdi
movl -0x314(%rbp), %esi
callq 0x6750
movq %rax, -0x6a0(%rbp)
jmp 0x8d51
movq -0x6a0(%rbp), %rdi
leaq 0xd3d3(%rip), %rsi      # 0x16132
callq 0x6440
movq %rax, -0x6a8(%rbp)
jmp 0x8d6d
movq -0x6a8(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x63f0
movq %rax, -0x6b0(%rbp)
jmp 0x8d89
movq -0x6b0(%rbp), %rdi
movq 0x181e9(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x8d9e
movl $0x2, -0x33c(%rbp)
jmp 0x8e10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x548(%rbp), %rdi
callq 0x6290
jmp 0x9074
leaq -0x548(%rbp), %rdi
callq 0x6660
cmpq $0x0, %rax
jbe 0x8e06
movq -0x8(%rbp), %rdi
movl -0x314(%rbp), %r8d
movq -0x18(%rbp), %r9
leaq -0x548(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
leaq -0x338(%rbp), %rcx
callq 0x8100
jmp 0x8e04
jmp 0x8e06
movl $0x0, -0x33c(%rbp)
leaq -0x548(%rbp), %rdi
callq 0x6290
movl -0x33c(%rbp), %eax
testl %eax, %eax
jne 0x903a
jmp 0x8e2c
jmp 0x902e
leaq 0xd385(%rip), %rsi      # 0x161bd
leaq -0x360(%rbp), %rdi
callq 0xaba0
movb %al, -0x6b1(%rbp)
jmp 0x8e4c
movb -0x6b1(%rbp), %al
testb $0x1, %al
jne 0x8e5b
jmp 0x8f59
testb $0x1, -0x19(%rbp)
je 0x8f54
movq 0x1815c(%rip), %rdi     # 0x20fc8
leaq 0xd351(%rip), %rsi      # 0x161c4
callq 0x6440
movq %rax, -0x6c0(%rbp)
jmp 0x8e81
leaq -0xc8(%rbp), %rdi
callq 0xa5b0
movq %rax, -0x6c8(%rbp)
jmp 0x8e96
movq -0x6c8(%rbp), %rsi
movq -0x6c0(%rbp), %rdi
callq 0x63f0
movq %rax, -0x6d0(%rbp)
jmp 0x8eb2
movq -0x6d0(%rbp), %rdi
leaq 0xd1c6(%rip), %rsi      # 0x16086
callq 0x6440
movq %rax, -0x6d8(%rbp)
jmp 0x8ece
movq -0x6d8(%rbp), %rdi
movl -0x314(%rbp), %esi
callq 0x6750
movq %rax, -0x6e0(%rbp)
jmp 0x8ee9
movq -0x6e0(%rbp), %rdi
leaq 0xd1c6(%rip), %rsi      # 0x160bd
callq 0x6440
movq %rax, -0x6e8(%rbp)
jmp 0x8f05
movq -0x6e8(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x63f0
movq %rax, -0x6f0(%rbp)
jmp 0x8f21
movq -0x6f0(%rbp), %rdi
leaq 0xd18f(%rip), %rsi      # 0x160be
callq 0x6440
movq %rax, -0x6f8(%rbp)
jmp 0x8f3d
movq -0x6f8(%rbp), %rdi
movq 0x18035(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x8f52
jmp 0x8f54
jmp 0x902c
movq 0x18090(%rip), %rdi     # 0x20ff0
leaq 0xd121(%rip), %rsi      # 0x16088
callq 0x6440
movq %rax, -0x700(%rbp)
jmp 0x8f75
leaq -0xc8(%rbp), %rdi
callq 0xa5b0
movq %rax, -0x708(%rbp)
jmp 0x8f8a
movq -0x708(%rbp), %rsi
movq -0x700(%rbp), %rdi
callq 0x63f0
movq %rax, -0x710(%rbp)
jmp 0x8fa6
movq -0x710(%rbp), %rdi
leaq 0xd0d2(%rip), %rsi      # 0x16086
callq 0x6440
movq %rax, -0x718(%rbp)
jmp 0x8fc2
movq -0x718(%rbp), %rdi
movl -0x314(%rbp), %esi
callq 0x6750
movq %rax, -0x720(%rbp)
jmp 0x8fdd
movq -0x720(%rbp), %rdi
leaq 0xd147(%rip), %rsi      # 0x16132
callq 0x6440
movq %rax, -0x728(%rbp)
jmp 0x8ff9
movq -0x728(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x63f0
movq %rax, -0x730(%rbp)
jmp 0x9015
movq -0x730(%rbp), %rdi
movq 0x17f5d(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x902a
jmp 0x902c
jmp 0x902e
jmp 0x9030
movl $0x0, -0x33c(%rbp)
leaq -0x4e8(%rbp), %rdi
callq 0x6340
leaq -0x360(%rbp), %rdi
callq 0x6290
leaq -0x338(%rbp), %rdi
callq 0x6290
movl -0x33c(%rbp), %eax
testl %eax, %eax
je 0x906f
jmp 0x906a
jmp 0x86c8
jmp 0x86c8
leaq -0x4e8(%rbp), %rdi
callq 0x6340
leaq -0x360(%rbp), %rdi
callq 0x6290
leaq -0x338(%rbp), %rdi
callq 0x6290
jmp 0x9115
jmp 0x9104
movq 0x17f4d(%rip), %rdi     # 0x20ff0
leaq 0xd123(%rip), %rsi      # 0x161cd
callq 0x6440
movq %rax, -0x738(%rbp)
jmp 0x90b8
movq -0x738(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x63f0
movq %rax, -0x740(%rbp)
jmp 0x90d1
movq -0x740(%rbp), %rdi
leaq 0xd103(%rip), %rsi      # 0x161e2
callq 0x6440
movq %rax, -0x748(%rbp)
jmp 0x90ed
movq -0x748(%rbp), %rdi
movq 0x17e85(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x9102
jmp 0x9104
leaq -0x310(%rbp), %rdi
callq 0x60c0
jmp 0x91b1
leaq -0x310(%rbp), %rdi
callq 0x60c0
movq -0x50(%rbp), %rdi
callq 0x6150
movq 0x17ebf(%rip), %rdi     # 0x20ff0
leaq 0xd095(%rip), %rsi      # 0x161cd
callq 0x6440
movq %rax, -0x750(%rbp)
jmp 0x9146
movq -0x750(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0xa4e0
movq %rax, -0x758(%rbp)
jmp 0x9162
movq -0x758(%rbp), %rdi
leaq 0xd072(%rip), %rsi      # 0x161e2
callq 0x6440
movq %rax, -0x760(%rbp)
jmp 0x917e
movq -0x760(%rbp), %rdi
movq 0x17df4(%rip), %rsi     # 0x20f80
callq 0x6490
jmp 0x9193
callq 0x66e0
jmp 0x919a
jmp 0x919c
leaq -0xc8(%rbp), %rdi
callq 0xa440
addq $0x760, %rsp            # imm = 0x760
popq %rbp
retq
jmp 0x919c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
callq 0x66e0
jmp 0x91d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x91d6
jmp 0x91d6
leaq -0xc8(%rbp), %rdi
callq 0xa440
movq -0x50(%rbp), %rdi
callq 0x6780
movq %rax, %rdi
callq 0xa0f0
nopw %cs:(%rax,%rax)