// File: EmbeddedPaul166[P]SNMP-Agent/src/manager.cpp
// Function: Manager::getOIDVector(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
std::vector<unsigned int> Manager::getOIDVector(std::string & input)
{
    unsigned int n = 0;
    std::vector<unsigned int> numbersVector;
    std::vector<unsigned int> digitsVector;
    while(input.size() != n)
    {
        if (std::isdigit(input[n]))
        {
            digitsVector.push_back(input[n] - '0');
        }
        else if (input[n] == '.')
        {
            if (digitsVector.size() == 1)
            {
                numbersVector.push_back(digitsVector.back());
                digitsVector.clear();
            }
            else
            {
                unsigned int multiplier = static_cast<unsigned int>(std::pow(10, digitsVector.size() - 1));
                unsigned int number = 0;
                for (std::vector<std::string>::size_type i = 0; i != digitsVector.size(); i++)
                {
                    number += digitsVector[i]*multiplier;
                    multiplier /= 10;
                }
                numbersVector.push_back(number);
                digitsVector.clear(); 
            }
        }
        n++;
    }
    return numbersVector;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x68(%rbp)
movq %rdi, %rax
movq %rax, -0x60(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movb $0x0, -0x1d(%rbp)
callq 0x82d0
leaq -0x38(%rbp), %rdi
callq 0x82d0
movq -0x18(%rbp), %rdi
callq 0x6350
movl -0x1c(%rbp), %ecx
cmpq %rcx, %rax
je 0xa40a
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x6830
movq %rax, -0x70(%rbp)
jmp 0xa284
movq -0x70(%rbp), %rax
movsbl (%rax), %edi
callq 0x6410
cmpl $0x0, %eax
je 0xa2ed
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x6830
movq %rax, -0x78(%rbp)
jmp 0xa2a9
movq -0x78(%rbp), %rax
movsbl (%rax), %eax
addl $-0x30, %eax
movl %eax, -0x48(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x82f0
jmp 0xa2c5
jmp 0xa3fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x8510
movq -0x68(%rbp), %rdi
callq 0x8510
jmp 0xa433
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x6830
movq %rax, -0x80(%rbp)
jmp 0xa301
movq -0x80(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0xa3fa
leaq -0x38(%rbp), %rdi
callq 0x9580
cmpq $0x1, %rax
jne 0xa345
leaq -0x38(%rbp), %rdi
callq 0x9300
movq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0xb940
jmp 0xa337
leaq -0x38(%rbp), %rdi
callq 0xb9b0
jmp 0xa3f8
leaq -0x38(%rbp), %rdi
callq 0x9580
movq %rax, %rsi
decq %rsi
movl $0xa, %edi
callq 0xb9d0
movsd %xmm0, -0x88(%rbp)
jmp 0xa368
movsd -0x88(%rbp), %xmm0
cvttsd2si %xmm0, %rax
movl %eax, -0x4c(%rbp)
movl $0x0, -0x50(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x9580
movq %rax, %rcx
movq -0x90(%rbp), %rax
cmpq %rcx, %rax
je 0xa3e0
movq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0xba20
movl (%rax), %eax
imull -0x4c(%rbp), %eax
addl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
movl $0xa, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, -0x4c(%rbp)
movq -0x58(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x58(%rbp)
jmp 0xa387
movq -0x68(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xb940
jmp 0xa3ef
leaq -0x38(%rbp), %rdi
callq 0xb9b0
jmp 0xa3fa
jmp 0xa3fc
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xa25b
movb $0x1, -0x1d(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x8510
testb $0x1, -0x1d(%rbp)
jne 0xa426
movq -0x68(%rbp), %rdi
callq 0x8510
movq -0x60(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x6790
nopl (%rax)