// File: /workspace/github_cpp_makefile_star2_O1/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 $0x268, %rsp            # imm = 0x268
movq %rsi, %rbx
movq %rdi, %r12
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq (%rsi), %rsi
leaq 0x60(%rsp), %r14
movq %r14, %rdi
movl $0x8, %edx
callq 0x3430
movq 0x60(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x80(%rsp,%rax)
movq %r12, (%rsp)
jne 0x3a99
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
leaq 0x8(%rsp), %rbx
movq 0x60(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3210
movsbl %al, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3440
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x3977
cmpq $0x0, 0x10(%rsp)
je 0x3933
movq 0x8(%rsp), %rax
cmpb $0x2d, (%rax)
jne 0x3933
leaq 0x38(%rsp), %r13
leaq 0x8(%rsp), %rbx
leaq 0x28(%rsp), %rbp
movq 0x60(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3210
movsbl %al, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3440
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x3a54
movq %r13, 0x28(%rsp)
movq %rbp, %rdi
leaq 0x465a(%rip), %rsi      # 0x8025
leaq 0x4654(%rip), %rdx      # 0x8026
callq 0x5d2a
leaq 0x48(%rsp), %rdi
movq %rbx, %r15
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x360c
movq 0x28(%rsp), %rdi
movq %r13, %rbx
cmpq %r13, %rdi
je 0x3a04
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3240
movq 0x48(%rsp), %r13
movq 0x200(%r13), %rdi
callq 0x33a0
movl %eax, %r12d
decl %r12d
movq 0x1e0(%r13), %rdi
callq 0x33a0
movl %eax, 0x28(%rsp)
movl %r12d, 0x2c(%rsp)
movq (%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
callq 0x6022
leaq 0x48(%rsp), %rdi
callq 0x5a6c
movq %rbx, %r13
movq %r15, %rbx
jmp 0x3986
leaq 0x60(%rsp), %rdi
callq 0x3070
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x3a7a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3240
leaq 0x60(%rsp), %rdi
callq 0x3090
movq %r12, %rax
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7550(%rip), %rdi      # 0xaff0
leaq 0x4572(%rip), %rsi      # 0x8019
movl $0xb, %edx
callq 0x3290
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x7531(%rip), %rdi      # 0xaff0
callq 0x3290
movq %rax, %rdi
callq 0x3130
jmp 0x3b85
movq %rax, %rbx
movq (%rsp), %r12
jmp 0x3b39
jmp 0x3b1a
movq %rax, %rbx
jmp 0x3b43
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x5a6c
jmp 0x3b1d
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x3b0f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3240
jmp 0x3b0f
movq %rax, %rbx
movq (%rsp), %r12
jmp 0x3b1d
movq %rax, %rbx
jmp 0x3b22
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x3b39
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3240
leaq 0x60(%rsp), %rdi
callq 0x3090
movq (%r12), %rdi
testq %rdi, %rdi
je 0x3b59
movq 0x10(%r12), %rsi
subq %rdi, %rsi
callq 0x3240
movq %rbx, %rdi
callq 0x3110
movq 0x7488(%rip), %rdi      # 0xaff0
leaq 0x44b8(%rip), %rsi      # 0x8027
movl $0x11, %edx
callq 0x3290
movq 0x7470(%rip), %rdi      # 0xaff0
callq 0x3130
movl $0x1, %edi
callq 0x32b0
movq %rax, %rbx
callq 0x33d0
movq %rbx, %rdi
callq 0x3410
movq %rax, %rdi
callq 0x5ac7