// File: /workspace/github_cpp_makefile_star2_O2/MiWitt[P]HLAbaits/main.cpp
// Function: parseResults(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
vector<pair<int,int> > parseResults(const string& filename)
{
    try
    {
        vector<pair<int,int> > vctReturn;
        ifstream in(filename.c_str());
        if(!in)
        {
            cerr << "Can't open " << filename << endl;
             exit(EXIT_FAILURE);
        }
        size_t truncated_reads = 0;
        string strLine;
        while(getline(in,strLine))
            if(strLine.length() > 0 && strLine[0] == '-')
                break;
        while(getline(in,strLine))
        {
            vector<string> parsed = Tokenize(strLine);
            //  0      1       2       3        4       5       6       7       8     9        10     11      12      13      14      15      16      17      18         19              20       21
            //match   mis-    rep.    N's     Q gap   Q gap   T gap   T gap   strand  Q        Q       Q       Q       T       T       T       T     block   blockSizes  qStarts     tStarts
            //match   match           count   bases   count   bases                  name    size    start   end     name    size    start   end     count
            int RefEnd      = atoi(parsed[16].c_str())-1;
            int RefStart    = atoi(parsed[15].c_str());
            vctReturn.push_back(pair<int,int>(RefStart,RefEnd));
        }
        in.close();

        return vctReturn;
    }
    catch(...)
    {
        cerr << "Error parsing psl" << endl;
        exit(EXIT_FAILURE);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x278, %rsp            # imm = 0x278
movq %rsi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq %rdi, 0x10(%rsp)
andq $0x0, 0x10(%rdi)
movq (%rsi), %rsi
leaq 0x70(%rsp), %rdi
pushq $0x8
popq %rdx
callq 0x3410
movq 0x70(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x90(%rsp,%rax)
jne 0x3950
leaq 0x28(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x70(%rsp), %rbx
leaq 0x18(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3060
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x387e
cmpq $0x0, 0x20(%rsp)
je 0x3853
movq 0x18(%rsp), %rax
cmpb $0x2d, (%rax)
jne 0x3853
leaq 0x18(%rsp), %r15
leaq 0x38(%rsp), %r13
leaq 0xf(%rsp), %rbp
leaq 0x58(%rsp), %rbx
leaq 0x70(%rsp), %rdi
movq %r15, %rsi
callq 0x3060
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x391b
movq %r13, %rdi
leaq 0x376e(%rip), %rsi      # 0x7025
movq %rbp, %rdx
callq 0x4e06
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x35dc
movq %r13, %rdi
callq 0x3478
movq 0x58(%rsp), %r14
movq 0x200(%r14), %rdi
callq 0x3390
movl %eax, %r12d
decl %r12d
movq 0x1e0(%r14), %rdi
callq 0x3390
movl %eax, 0x38(%rsp)
movl %r12d, 0x3c(%rsp)
movq 0x10(%rsp), %rdi
movq %r13, %rsi
callq 0x534e
movq %rbx, %rdi
callq 0x4e42
jmp 0x3892
leaq 0x70(%rsp), %rdi
callq 0x3070
leaq 0x18(%rsp), %rdi
callq 0x3478
leaq 0x70(%rsp), %rdi
callq 0x30a0
movq 0x10(%rsp), %rax
addq $0x278, %rsp            # imm = 0x278
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7699(%rip), %rdi      # 0xaff0
leaq 0x36bb(%rip), %rsi      # 0x7019
callq 0x3220
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3200
movq %rax, %rdi
callq 0x3130
jmp 0x39ea
movq %rax, %rbx
jmp 0x39b3
jmp 0x39a6
movq %rax, %rbx
jmp 0x39bd
jmp 0x39a6
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x4e42
jmp 0x39a9
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x3478
jmp 0x39a9
jmp 0x39a6
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3478
leaq 0x70(%rsp), %rdi
callq 0x30a0
movq 0x10(%rsp), %rdi
callq 0x531a
movq %rbx, %rdi
callq 0x3100
movq 0x761a(%rip), %rdi      # 0xaff0
leaq 0x364a(%rip), %rsi      # 0x7027
callq 0x3220
movq %rax, %rdi
callq 0x3130
pushq $0x1
popq %rdi
callq 0x32a0
movq %rax, %rbx
callq 0x33c0
movq %rbx, %rdi
callq 0x33f0
movq %rax, %rdi
callq 0x4e63