// File: millanek[P]evo/evo_recombUtils.cpp
// Function: RecombRead::generateCIGARvectors()
void RecombRead::generateCIGARvectors() {
    string CIGARnum = "";
    for (int i = 0; i < CIGAR.length(); i++) {
       // std::cout << "CIGAR[i]: " << CIGAR[i] << std::endl;
       // std::cout << "isdigit(CIGAR[i]): " << isdigit(CIGAR[i]) << std::endl;
        if (isdigit(CIGAR[i])) {
            CIGARnum += CIGAR[i];
         //   std::cout << "CIGARnum: " << CIGARnum << std::endl;
        } else {
           // std::cout << "CIGARnum: " << CIGARnum << std::endl;
            int CIGARnumInt = atoi(CIGARnum.c_str());
            GIGARnums.push_back(CIGARnumInt);
            if (CIGAR[i] != SOFT_CLIP_CIGAR && CIGAR[i] != INSERTION_CIGAR) GIGARnumsNoSI.push_back(CIGARnumInt);
            GIGARtypes.push_back(CIGAR[i]);
            CIGARnum = "";
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0xab60
movq -0x50(%rbp), %rdx
leaq 0xf660(%rip), %rsi      # 0x135edf
leaq -0x28(%rbp), %rdi
callq 0x2d6c0
jmp 0x12688a
leaq -0x29(%rbp), %rdi
callq 0xa640
movl $0x0, -0x40(%rbp)
movq -0x58(%rbp), %rdi
movslq -0x40(%rbp), %rax
movq %rax, -0x60(%rbp)
addq $0x98, %rdi
callq 0xa930
movq %rax, %rcx
movq -0x60(%rbp), %rax
cmpq %rcx, %rax
jae 0x126a46
movq -0x58(%rbp), %rdi
addq $0x98, %rdi
movslq -0x40(%rbp), %rsi
callq 0xac60
movq %rax, -0x68(%rbp)
jmp 0x1268dc
movq -0x68(%rbp), %rax
movsbl (%rax), %edi
callq 0xa530
cmpl $0x0, %eax
je 0x126952
movq -0x58(%rbp), %rdi
addq $0x98, %rdi
movslq -0x40(%rbp), %rsi
callq 0xac60
movq %rax, -0x70(%rbp)
jmp 0x126907
movq -0x70(%rbp), %rax
movsbl (%rax), %esi
leaq -0x28(%rbp), %rdi
callq 0xa380
jmp 0x126919
jmp 0x126a36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0xa640
jmp 0x126a58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xac88
jmp 0x126a58
leaq -0x28(%rbp), %rdi
callq 0xa220
movq %rax, %rdi
callq 0xa970
movq -0x58(%rbp), %rdi
movl %eax, -0x44(%rbp)
addq $0xb8, %rdi
leaq -0x44(%rbp), %rsi
callq 0x6b600
jmp 0x12697c
movq -0x58(%rbp), %rdi
addq $0x98, %rdi
movslq -0x40(%rbp), %rsi
callq 0xac60
movq %rax, -0x78(%rbp)
jmp 0x126996
movq -0x78(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x53, %eax
je 0x1269e0
movq -0x58(%rbp), %rdi
addq $0x98, %rdi
movslq -0x40(%rbp), %rsi
callq 0xac60
movq %rax, -0x80(%rbp)
jmp 0x1269bc
movq -0x80(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x49, %eax
je 0x1269e0
movq -0x58(%rbp), %rdi
addq $0xe8, %rdi
leaq -0x44(%rbp), %rsi
callq 0x6b600
jmp 0x1269de
jmp 0x1269e0
movq -0x58(%rbp), %rdi
movq %rdi, %rax
addq $0xd0, %rax
movq %rax, -0x90(%rbp)
addq $0x98, %rdi
movslq -0x40(%rbp), %rsi
callq 0xac60
movq %rax, -0x88(%rbp)
jmp 0x126a0d
movq -0x88(%rbp), %rsi
movq -0x90(%rbp), %rdi
callq 0xad990
jmp 0x126a22
leaq 0xf4b6(%rip), %rsi      # 0x135edf
leaq -0x28(%rbp), %rdi
callq 0xa810
jmp 0x126a34
jmp 0x126a36
jmp 0x126a38
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x12689a
leaq -0x28(%rbp), %rdi
callq 0xac88
addq $0x90, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0xab50
nopw %cs:(%rax,%rax)