// File: EmbeddedPaul166[P]SNMP-Agent/src/parser.cpp
// Function: Parser::addParentNodes(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>>>>&, std::vector<unsigned int, std::allocator<unsigned int>>&)
void Parser::addParentNodes(std::vector<std::string> & parentVector, std::vector<unsigned int> & vectorOID)
{ 
    std::regex patternParentOID("\\(.\\)");
    std::smatch match;
    DataType dataType;
    for (std::vector<std::string>::size_type i = parentVector.size() - 1; i != (std::vector<std::string>::size_type) - 1; i--)
    {
        if (parentVector[i] == "iso")
        {
            m_pNode = m_pTree -> m_rootOfTheTree;
        }
        else
        {
            m_pNode = m_pTree -> addNode(vectorOID[i], parentVector[i], dataType, "", AccessType::NOT_ACCESSIBLE, StatusType::MANDATORY, m_pNode);
        }    
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x190, %rsp            # imm = 0x190
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x160(%rbp)
leaq 0x3348f(%rip), %rsi     # 0x485d8
leaq -0x38(%rbp), %rdi
movl $0x10, %edx
callq 0x18ef0
leaq -0x58(%rbp), %rdi
callq 0x18eb0
jmp 0x15162
leaq -0xb8(%rbp), %rdi
callq 0x44a20
jmp 0x15170
movq -0x10(%rbp), %rdi
callq 0x8200
subq $0x1, %rax
movq %rax, -0xc0(%rbp)
cmpq $-0x1, -0xc0(%rbp)
je 0x153b7
movq -0x10(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x82b0
movq %rax, %rdi
leaq 0x33432(%rip), %rsi     # 0x485de
callq 0xeb60
movb %al, -0x161(%rbp)
jmp 0x151b9
movb -0x161(%rbp), %al
testb $0x1, %al
jne 0x151c5
jmp 0x1521e
movq -0x160(%rbp), %rdi
addq $0x60, %rdi
callq 0x18e90
movq %rax, %rcx
movq -0x160(%rbp), %rax
movq (%rcx), %rcx
movq %rcx, 0x68(%rax)
jmp 0x1539e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x153f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x153ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x153de
movq -0x160(%rbp), %rdi
addq $0x60, %rdi
callq 0x18e90
movq %rax, -0x170(%rbp)
movq -0x18(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0xba20
movl (%rax), %eax
movl %eax, -0x168(%rbp)
movq -0x10(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x82b0
movq %rax, %rsi
leaq -0xe0(%rbp), %rdi
callq 0x61d0
jmp 0x1526e
leaq -0x130(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xb850
jmp 0x15283
leaq -0x151(%rbp), %rdi
movq %rdi, -0x178(%rbp)
callq 0x67a0
movq -0x178(%rbp), %rdx
leaq 0x335a0(%rip), %rsi     # 0x48844
leaq -0x150(%rbp), %rdi
callq 0x8130
jmp 0x152b2
movl -0x168(%rbp), %esi
movq -0x170(%rbp), %rdi
movq -0x160(%rbp), %rax
movq 0x68(%rax), %rcx
movq %rsp, %rax
movq %rcx, 0x8(%rax)
movl $0x0, (%rax)
leaq -0xe0(%rbp), %rdx
leaq -0x130(%rbp), %rcx
leaq -0x150(%rbp), %r8
movl $0x3, %r9d
callq 0x44df0
movq %rax, -0x180(%rbp)
jmp 0x15300
movq -0x160(%rbp), %rax
movq -0x180(%rbp), %rcx
movq %rcx, 0x68(%rax)
leaq -0x150(%rbp), %rdi
callq 0x62e0
leaq -0x151(%rbp), %rdi
callq 0x64d0
leaq -0x130(%rbp), %rdi
callq 0x44a90
leaq -0xe0(%rbp), %rdi
callq 0x62e0
jmp 0x1539e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x15390
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x15378
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x62e0
leaq -0x151(%rbp), %rdi
callq 0x64d0
leaq -0x130(%rbp), %rdi
callq 0x44a90
leaq -0xe0(%rbp), %rdi
callq 0x62e0
jmp 0x153de
jmp 0x153a0
movq -0xc0(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0xc0(%rbp)
jmp 0x15184
leaq -0xb8(%rbp), %rdi
callq 0x44a90
leaq -0x58(%rbp), %rdi
callq 0x195a0
leaq -0x38(%rbp), %rdi
callq 0x19570
addq $0x190, %rsp            # imm = 0x190
popq %rbp
retq
leaq -0xb8(%rbp), %rdi
callq 0x44a90
leaq -0x58(%rbp), %rdi
callq 0x195a0
leaq -0x38(%rbp), %rdi
callq 0x19570
movq -0x60(%rbp), %rdi
callq 0x6790
nopw %cs:(%rax,%rax)