// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
xorl %r13d, %r13d
movq %r13, 0x10(%rdi)
xorpd %xmm0, %xmm0
movupd %xmm0, (%rdi)
movq %r13, 0x20(%rsp)
movapd %xmm0, 0x10(%rsp)
cmpq %r13, 0x8(%rdx)
je 0x6a6c
movq %rdx, %r14
leaq 0x10(%rsp), %r15
leaq 0xc(%rsp), %r12
movl $0xcccccccd, %ebp       # imm = 0xCCCCCCCD
movq (%r14), %rax
movsbl (%rax,%r13), %ecx
leal -0x30(%rcx), %eax
cmpl $0x9, %eax
ja 0x693d
movl %eax, 0xc(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x6977
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x18(%rsp)
jmp 0x6a48
cmpb $0x2e, %cl
jne 0x6a48
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rcx, %rdx
subq %rax, %rdx
cmpq $0x4, %rdx
jne 0x6987
leaq -0x4(%rcx), %rdx
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x6a07
movl (%rdx), %edx
movl %edx, (%rsi)
jmp 0x6a1f
movq %r15, %rdi
movq %r12, %rdx
callq 0x609c
jmp 0x6a48
sarq $0x2, %rdx
decq %rdx
movq %rdx, %xmm0
punpckldq 0x177f5(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x177fd(%rip), %xmm0    # 0x1e1a0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movsd 0x177f9(%rip), %xmm0    # 0x1e1b0
callq 0x4540
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rcx, %rdx
movl $0x0, 0xc(%rsp)
subq %rax, %rdx
je 0x6a11
sarq $0x2, %rdx
cvttsd2si %xmm0, %r8
xorl %esi, %esi
xorl %edi, %edi
movl %r8d, %r9d
imull (%rax,%rsi,4), %r8d
addl %r8d, %edi
movl %edi, 0xc(%rsp)
imulq %rbp, %r9
shrq $0x23, %r9
incq %rsi
movl %r9d, %r8d
cmpq %rsi, %rdx
jne 0x69e3
jmp 0x6a13
movq %rbx, %rdi
callq 0x7c9a
jmp 0x6a34
xorl %edi, %edi
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x6a29
movl %edi, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x6a3e
movq %rbx, %rdi
movq %r12, %rdx
callq 0x7c9a
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq %rax, %rcx
je 0x6a48
movq %rax, 0x18(%rsp)
incl %r13d
cmpq %r13, 0x8(%r14)
jne 0x690d
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x6a6c
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x4320
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6a82
jmp 0x6a82
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x6a9c
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x4320
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x6ab0
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0x4320
movq %r14, %rdi
callq 0x4550