// File: /workspace/github_cpp_makefile_star2_O2/EmbeddedPaul166[P]SNMP-Agent/src/parser.cpp
// Function: Parser::parseCustomDataTypeInformation()
void Parser::parseCustomDataTypeInformation()
{ 
    std::smatch match; 
    std::regex patternName("(\\w*) ::=");
    std::regex patternSequence("SEQUENCE");
    std::regex patternChoice("CHOICE");
    
    std::regex patternBrace("(\\d+)\\)\\)");
    std::regex patternBraceTwo("(\\d+)\\)");
    
    std::regex patternInteger("INTEGER");
    std::regex patternOctetString("OCTET STRING");
    std::regex patternObjectIdentifier("OBJECT IDENTIFIER");
    std::regex patternNULL("NULL");
    
    std::regex patternImplicit("IMPLICIT");
    std::regex patternExplicit("EXPLICIT");
    
    std::regex patternUniversal("UNIVERSAL");
    std::regex patternApplication("APPLICATION");
    std::regex patternContextSpecific("CONTEXT-SPECIFIC");
    std::regex patternPrivate("PRIVATE");
    
    std::regex patternSingleElementSequence("\\s*(\\w*?[^{},=])\\n\\s*.*?[^{}]\\n");
    std::regex patternSingleElementChoice("(\\w+)\\n");
    
    std::regex patternTagNumber("(\\d+)\\]");
    
    
    DataType dataType;
    
    m_customDataTypeNameVector.clear();
    
    for (std::vector<std::string>::size_type i = m_customDataTypeStringVector.size() - 1; i != (std::vector<std::string>::size_type) - 1; i--)
    {
        std::string & dataString = m_customDataTypeStringVector[i];
        
        if (std::regex_search(dataString, match, patternName))
        {
           m_customDataTypeNameVector.push_back(match.str(1));
        }
        
        if (std::regex_search(dataString, match, patternSequence))
        {
            
            dataType.m_baseType = BaseDataType::SEQUENCE;
            dataType.m_complexity = EncodingComplexity::CONSTRUCTED;
            std::sregex_iterator beginS(dataString.cbegin(), dataString.cend(), patternSingleElementSequence); 
            std::sregex_iterator endS;
            for (std::sregex_iterator it = beginS; it != endS; it++)
            {
                match = *it;
                dataType.m_nodeNameList.push_back(match.str(1));
            }
        }
        else if (std::regex_search(dataString, match, patternChoice))
        {
            dataType.m_baseType = BaseDataType::CHOICE;
            dataType.m_complexity = EncodingComplexity::CONSTRUCTED;
            std::sregex_iterator beginC(dataString.cbegin(), dataString.cend(), patternSingleElementChoice); 
            std::sregex_iterator endC;
            for (std::sregex_iterator it = beginC; it != endC; it++)
            {
                match = *it;
                dataType.m_nodeNameList.push_back(match.str(1));
            }
        
        }
        else if (std::regex_search(dataString, match, patternInteger))
        {
            dataType.m_baseType = BaseDataType::INTEGER;
            dataType.m_complexity = EncodingComplexity::PRIMITIVE;
            if (std::regex_search(dataString, match, patternBrace))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_lengthLimit;
            }
            else if (std::regex_search(dataString, match, patternBraceTwo))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_rangeLimitUpper;
            }
        }
        else if (std::regex_search(dataString, match, patternOctetString))
        {
            dataType.m_baseType = BaseDataType::OCTET_STRING;
            dataType.m_complexity = EncodingComplexity::PRIMITIVE;
            if (std::regex_search(dataString, match, patternBrace))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_lengthLimit;
            }
            else if (std::regex_search(dataString, match, patternBraceTwo))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_rangeLimitUpper;
            }
        }
        else if (std::regex_search(dataString, match, patternObjectIdentifier))
        {
            dataType.m_baseType = BaseDataType::OBJECT_IDENTIFIER;
            dataType.m_complexity = EncodingComplexity::PRIMITIVE;
            if (std::regex_search(dataString, match, patternBrace))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_lengthLimit;
            }
            else if (std::regex_search(dataString, match, patternBraceTwo))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_rangeLimitUpper;
            }
        }
        else
        {
            dataType.m_baseType = BaseDataType::NULL_D;
            dataType.m_complexity = EncodingComplexity::PRIMITIVE;
            if (std::regex_search(dataString, match, patternBrace))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_lengthLimit;
            }
            else if (std::regex_search(dataString, match, patternBraceTwo))
            {
                std::stringstream conv(match.str(1));     
                conv >> dataType.m_rangeLimitUpper;
            }
        }
        
        if (std::regex_search(dataString, match, patternImplicit))
        {
            dataType.m_encodingType = EncodingType::IMPLICIT;
        }
        else if (std::regex_search(dataString, match, patternExplicit))
        {
            dataType.m_encodingType = EncodingType::EXPLICIT;
        }
        else
        {
            dataType.m_encodingType = EncodingType::UNIVERSAL;
        }
        
        if (std::regex_search(dataString, match, patternUniversal))
        {
            dataType.m_visibility = DataVisibility::UNIVERSAL;
        }
        else if (std::regex_search(dataString, match, patternApplication))
        {
            dataType.m_visibility = DataVisibility::APPLICATION;
        }
        else if (std::regex_search(dataString, match, patternPrivate))
        {
            dataType.m_visibility = DataVisibility::PRIVATE;
        }
        else
        {
            dataType.m_visibility = DataVisibility::CONTEXT_SPECIFIC;
        }
        
        if (std::regex_search(dataString, match, patternTagNumber))
        {
            int tag = std::stoi(match.str(1));
            dataType.m_tag = tag;
        }
        
        m_customDataTypeVector.push_back(dataType);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x578, %rsp            # imm = 0x578
movq %rdi, (%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x100(%rsp)
movaps %xmm0, 0xf0(%rsp)
leaq 0xef17(%rip), %rsi      # 0x19704
leaq 0x2b0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee9b(%rip), %rsi      # 0x1969f
leaq 0x290(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xecd9(%rip), %rsi      # 0x194f4
leaq 0x270(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xeedc(%rip), %rsi      # 0x1970e
leaq 0xd0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xeecf(%rip), %rsi      # 0x19718
leaq 0xb0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee25(%rip), %rsi      # 0x19685
leaq 0x250(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee16(%rip), %rsi      # 0x1968d
leaq 0x230(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xec98(%rip), %rsi      # 0x19526
leaq 0x210(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xedf5(%rip), %rsi      # 0x1969a
leaq 0x4d8(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee64(%rip), %rsi      # 0x19720
leaq 0x1f0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee56(%rip), %rsi      # 0x19729
leaq 0x1d0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee48(%rip), %rsi      # 0x19732
leaq 0x1b0(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee3b(%rip), %rsi      # 0x1973c
leaq 0x190(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee30(%rip), %rsi      # 0x19748
leaq 0x4b8(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee2a(%rip), %rsi      # 0x19759
leaq 0x170(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee1b(%rip), %rsi      # 0x19761
leaq 0x150(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xed06(%rip), %rsi      # 0x19663
leaq 0x130(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0xee0d(%rip), %rsi      # 0x19781
leaq 0x110(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0xb4e0
leaq 0x58(%rsp), %rdi
callq 0x17fe4
movq (%rsp), %rbx
leaq 0x18(%rbx), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xb82e
movq 0x50(%rbx), %rax
subq 0x48(%rbx), %rax
sarq $0x5, %rax
movq %rax, 0x8(%rsp)
leaq 0xf0(%rsp), %rbx
pushq $0x1
popq %r15
leaq 0x2d0(%rsp), %r13
leaq 0x10(%rsp), %r14
leaq 0x498(%rsp), %rbp
movq 0x8(%rsp), %r12
subq $0x1, %r12
jb 0xb079
movq %r12, 0x8(%rsp)
shlq $0x5, %r12
movq (%rsp), %rax
addq 0x48(%rax), %r12
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x2b0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaa40
movq %r15, %rdx
leaq 0x310(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0xb562
movq 0xa8(%rsp), %rdi
movq %r15, %rsi
callq 0x174b0
movq %r15, %rdi
callq 0x4170
pushq $0x1
popq %r15
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x290(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xab22
movabsq $0x100000005, %rax      # imm = 0x100000005
movq %rax, 0x58(%rsp)
movq (%r12), %rsi
movq 0x8(%r12), %rdx
addq %rsi, %rdx
leaq 0x310(%rsp), %r15
movq %r15, %rdi
leaq 0x150(%rsp), %rcx
xorl %r8d, %r8d
callq 0xb5b2
leaq 0x30(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
movups %xmm0, 0x1c(%rsp)
movaps %xmm0, 0x10(%rsp)
movq %r13, %rdi
movq %r15, %rsi
callq 0xb646
pushq $0x1
popq %r15
movq %r13, %rdi
movq %r14, %rsi
callq 0xb662
testb %al, %al
je 0xac00
movq %rbx, %rdi
leaq 0x2f0(%rsp), %rsi
callq 0xb66c
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x78(%rsp), %rdi
movq %rbp, %rsi
callq 0x174b0
movq %rbp, %rdi
callq 0x4170
leaq 0x538(%rsp), %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0xb68e
leaq 0x558(%rsp), %rdi
callq 0xb94c
jmp 0xaabb
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x270(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xac29
movabsq $0x100000007, %rax      # imm = 0x100000007
movq %rax, 0x58(%rsp)
movq (%r12), %rsi
movq 0x8(%r12), %rdx
addq %rsi, %rdx
leaq 0x310(%rsp), %r15
movq %r15, %rdi
leaq 0x130(%rsp), %rcx
xorl %r8d, %r8d
callq 0xb5b2
leaq 0x30(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
movups %xmm0, 0x1c(%rsp)
movaps %xmm0, 0x10(%rsp)
movq %r13, %rdi
movq %r15, %rsi
callq 0xb646
pushq $0x1
popq %r15
movq %r13, %rdi
movq %r14, %rsi
callq 0xb662
testb %al, %al
je 0xac00
movq %rbx, %rdi
leaq 0x2f0(%rsp), %rsi
callq 0xb66c
movq %rbp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x78(%rsp), %rdi
movq %rbp, %rsi
callq 0x174b0
movq %rbp, %rdi
callq 0x4170
leaq 0x4f8(%rsp), %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0xb68e
leaq 0x518(%rsp), %rdi
callq 0xb94c
jmp 0xab9d
leaq 0x2f0(%rsp), %rdi
callq 0xb94c
leaq 0x30(%rsp), %rdi
callq 0xb94c
leaq 0x330(%rsp), %rdi
callq 0xb94c
jmp 0xaf86
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x250(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaca5
andq $0x0, 0x58(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xd0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xad28
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x4210
jmp 0xaf79
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x230(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xad85
movq $0x1, 0x58(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xd0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xae08
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x4210
jmp 0xaf79
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xb0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaf86
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x4210
jmp 0xaf79
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x210(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xae65
movq $0x2, 0x58(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xd0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaecb
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x4210
jmp 0xaf79
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xb0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaf86
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x4210
jmp 0xaf79
movq $0x4, 0x58(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xd0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaf25
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x4210
jmp 0xaf79
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xb0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaf86
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x4210
jmp 0xaf79
movq %r12, %rdi
movq %rbx, %rsi
leaq 0xb0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xaf86
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xb562
leaq 0x310(%rsp), %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4490
movq %r14, %rdi
callq 0x4170
leaq 0x310(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x4210
leaq 0x310(%rsp), %rdi
callq 0x4290
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x1f0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
pushq $0x1
popq %rcx
testb %al, %al
jne 0xafbc
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x1d0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
movzbl %al, %ecx
addl %ecx, %ecx
movl %ecx, 0x60(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x1b0(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
xorl %ecx, %ecx
testb %al, %al
jne 0xb012
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x190(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
pushq $0x1
popq %rcx
testb %al, %al
jne 0xb012
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x170(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
movzbl %al, %ecx
orl $0x2, %ecx
movl %ecx, 0x64(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
leaq 0x110(%rsp), %rdx
xorl %ecx, %ecx
callq 0xb546
testb %al, %al
je 0xb066
movq %r15, %rdx
leaq 0x310(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0xb562
movq %r15, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0xb8a3
movl %eax, %r12d
movq %r15, %rdi
callq 0x4170
movl %r12d, 0x74(%rsp)
pushq $0x1
popq %r15
movq (%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0xb900
jmp 0xa9d5
leaq 0x58(%rsp), %rdi
callq 0x18002
leaq 0x110(%rsp), %rdi
callq 0xb786
leaq 0x130(%rsp), %rdi
callq 0xb786
leaq 0x150(%rsp), %rdi
callq 0xb786
leaq 0x170(%rsp), %rdi
callq 0xb786
leaq 0x4b8(%rsp), %rdi
callq 0xb786
leaq 0x190(%rsp), %rdi
callq 0xb786
leaq 0x1b0(%rsp), %rdi
callq 0xb786
leaq 0x1d0(%rsp), %rdi
callq 0xb786
leaq 0x1f0(%rsp), %rdi
callq 0xb786
leaq 0x4d8(%rsp), %rdi
callq 0xb786
leaq 0x210(%rsp), %rdi
callq 0xb786
leaq 0x230(%rsp), %rdi
callq 0xb786
leaq 0x250(%rsp), %rdi
callq 0xb786
leaq 0xb0(%rsp), %rdi
callq 0xb786
leaq 0xd0(%rsp), %rdi
callq 0xb786
leaq 0x270(%rsp), %rdi
callq 0xb786
leaq 0x290(%rsp), %rdi
callq 0xb786
leaq 0x2b0(%rsp), %rdi
callq 0xb786
leaq 0xf0(%rsp), %rdi
callq 0xb94c
addq $0x578, %rsp            # imm = 0x578
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb28d
jmp 0xb29f
jmp 0xb2d2
jmp 0xb28d
jmp 0xb29f
jmp 0xb2d2
jmp 0xb28d
jmp 0xb29f
jmp 0xb2d2
jmp 0xb28d
jmp 0xb29f
jmp 0xb2d2
jmp 0xb28d
jmp 0xb29f
jmp 0xb2d2
jmp 0xb28d
jmp 0xb29f
jmp 0xb2d2
jmp 0xb28d
jmp 0xb29f
jmp 0xb2d2
movq %rax, %rbx
jmp 0xb31e
movq %rax, %rbx
jmp 0xb32b
movq %rax, %rbx
jmp 0xb338
movq %rax, %rbx
jmp 0xb345
movq %rax, %rbx
jmp 0xb352
movq %rax, %rbx
jmp 0xb35f
movq %rax, %rbx
jmp 0xb36c
movq %rax, %rbx
jmp 0xb379
movq %rax, %rbx
jmp 0xb386
movq %rax, %rbx
jmp 0xb393
movq %rax, %rbx
jmp 0xb3a0
movq %rax, %rbx
jmp 0xb3ad
movq %rax, %rbx
jmp 0xb3ba
movq %rax, %rbx
jmp 0xb3c7
movq %rax, %rbx
jmp 0xb3d4
movq %rax, %rbx
jmp 0xb3e1
movq %rax, %rbx
jmp 0xb3ee
movq %rax, %rbx
jmp 0xb3fb
movq %rax, %rbx
jmp 0xb408
movq %rax, %rbx
leaq 0x310(%rsp), %rdi
callq 0x4290
jmp 0xb314
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
jmp 0xb2c2
jmp 0xb2d2
jmp 0xb2c9
jmp 0xb2d2
jmp 0xb2b7
jmp 0xb2d2
jmp 0xb2d2
jmp 0xb2d2
movq %rax, %rbx
leaq 0x310(%rsp), %rdi
callq 0x4170
jmp 0xb314
movq %rax, %rbx
jmp 0xb2fd
jmp 0xb2d9
jmp 0xb2ed
movq %rax, %rbx
jmp 0xb314
jmp 0xb2ed
movq %rax, %rbx
leaq 0x498(%rsp), %rdi
callq 0x4170
jmp 0xb2f0
jmp 0xb2ed
movq %rax, %rbx
leaq 0x2f0(%rsp), %rdi
callq 0xb94c
leaq 0x30(%rsp), %rdi
callq 0xb94c
leaq 0x330(%rsp), %rdi
callq 0xb94c
leaq 0x58(%rsp), %rdi
callq 0x18002
leaq 0x110(%rsp), %rdi
callq 0xb786
leaq 0x130(%rsp), %rdi
callq 0xb786
leaq 0x150(%rsp), %rdi
callq 0xb786
leaq 0x170(%rsp), %rdi
callq 0xb786
leaq 0x4b8(%rsp), %rdi
callq 0xb786
leaq 0x190(%rsp), %rdi
callq 0xb786
leaq 0x1b0(%rsp), %rdi
callq 0xb786
leaq 0x1d0(%rsp), %rdi
callq 0xb786
leaq 0x1f0(%rsp), %rdi
callq 0xb786
leaq 0x4d8(%rsp), %rdi
callq 0xb786
leaq 0x210(%rsp), %rdi
callq 0xb786
leaq 0x230(%rsp), %rdi
callq 0xb786
leaq 0x250(%rsp), %rdi
callq 0xb786
leaq 0xb0(%rsp), %rdi
callq 0xb786
leaq 0xd0(%rsp), %rdi
callq 0xb786
leaq 0x270(%rsp), %rdi
callq 0xb786
leaq 0x290(%rsp), %rdi
callq 0xb786
leaq 0x2b0(%rsp), %rdi
callq 0xb786
leaq 0xf0(%rsp), %rdi
callq 0xb94c
movq %rbx, %rdi
callq 0x4540
nop