// File: /workspace/github_cpp_makefile_star2_O2/millanek[P]evo/./process_vcf_annotation_tools.h
// Function: LinkedCoordsBed::loadLinkedCoords[abi:cxx11](std::basic_ifstream<char, std::char_traits<char>>*&)
std::vector<std::vector<std::vector<string> > > loadLinkedCoords(std::ifstream*& bedFile) {
        std::vector<std::vector<std::vector<string> > > elementCoordsVector;
        std::vector<std::vector<string> > thisElement;
        
        // Do the first line to find the name of the first scaffold and of the first element
        string line;
        getline(*bedFile, line);
        std::vector<string> bedVector = split(line, '\t');
        string currentElementName = bedVector[3];
        thisElement.push_back(bedVector);
        
        //
        while (getline(*bedFile, line)) {
            std::vector<string> bedVector = split(line, '\t');
            string element = bedVector[3];
            if (element == currentElementName) {
                thisElement.push_back(bedVector);
            } else {
                elementCoordsVector.push_back(thisElement);
                thisElement.clear();
                currentElementName = element;
                thisElement.push_back(bedVector);
            }
        }
        return elementCoordsVector;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movq %rdx, %r14
xorps %xmm0, %xmm0
andq $0x0, 0x10(%rdi)
andq $0x0, 0x20(%rsp)
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movq %rdi, 0x8(%rsp)
movups %xmm0, (%rdi)
movaps %xmm0, 0x10(%rsp)
movb $0x0, (%rax)
movq (%rdx), %rdi
leaq 0x40(%rsp), %rsi
callq 0x80a0
leaq 0x28(%rsp), %rdi
leaq 0x40(%rsp), %rsi
pushq $0x9
popq %rdx
callq 0x40349
movq 0x28(%rsp), %rsi
addq $0x60, %rsi
leaq 0x78(%rsp), %rdi
callq 0x8600
leaq 0x10(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x29502
leaq 0x40(%rsp), %r15
leaq 0x60(%rsp), %r12
leaq 0x98(%rsp), %r13
leaq 0x78(%rsp), %rbx
leaq 0x10(%rsp), %rbp
movq (%r14), %rdi
movq %r15, %rsi
callq 0x80a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x2a6f6
movq %r12, %rdi
movq %r15, %rsi
pushq $0x9
popq %rdx
callq 0x40349
movq 0x60(%rsp), %rsi
addq $0x60, %rsi
movq %r13, %rdi
callq 0x8600
movq %r13, %rdi
movq %rbx, %rsi
callq 0x26b06
testb %al, %al
jne 0x2a6d6
movq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x2a7c6
movq %rbp, %rdi
callq 0x296c0
movq %rbx, %rdi
movq %r13, %rsi
callq 0x82a0
movq %rbp, %rdi
movq %r12, %rsi
callq 0x29502
movq %r13, %rdi
callq 0x8978
movq %r12, %rdi
callq 0x28a08
jmp 0x2a66f
leaq 0x78(%rsp), %rdi
callq 0x8978
leaq 0x28(%rsp), %rdi
callq 0x28a08
leaq 0x40(%rsp), %rdi
callq 0x8978
leaq 0x10(%rsp), %rdi
callq 0x29054
movq 0x8(%rsp), %rax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2a74a
movq %rax, %rbx
jmp 0x2a773
jmp 0x2a73e
movq %rax, %rbx
jmp 0x2a77d
jmp 0x2a74a
movq %rax, %rbx
jmp 0x2a75f
movq %rax, %rbx
jmp 0x2a769
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x8978
leaq 0x60(%rsp), %rdi
callq 0x28a08
leaq 0x78(%rsp), %rdi
callq 0x8978
leaq 0x28(%rsp), %rdi
callq 0x28a08
leaq 0x40(%rsp), %rdi
callq 0x8978
leaq 0x10(%rsp), %rdi
callq 0x29054
movq 0x8(%rsp), %rdi
callq 0x2a7a4
movq %rbx, %rdi
callq 0x8870
nop