// File: /workspace/github_cpp_makefile_star2_O1/xjrueda[P]fixprime/src/Protocol.cpp
// Function: fprime::Protocol::populateNode(std::shared_ptr<fprime::Node>, Json::Value, bool)
void Protocol::populateNode(fprime::Node::NodePtr node, Json::Value nodeSpec, bool requiredFlag) {
        try {
            node->setProtocol(this);
            Json::Value members = nodeSpec["members"];
            for (int i = 0; i < members.size(); i++) {
                string memberId = members[i]["memberId"].asString();
                try {
                    if (memberId.empty())
                        throw runtime_error("Empty member was specified for node.");

                    fprime::Node::NodePtr child(new Node());
                    fprime::Field::FieldPtr fieldPtr;
                    child->setProtocol(this);

                    if (members[i]["isComponent"] == "Y") {

                        fprime::Component::ComponentPtr componentPtr = this->getComponent(string(memberId));
                        if (componentPtr == nullptr)
                            throw std::runtime_error("Component :" + memberId + " did not found.");
                        if (componentPtr->getType() == "BlockRepeating") {
                            try {
                                child->setType(fprime::Node::REPEATING_GROUP);
                                fieldPtr = componentPtr->getControlField();
                                if (fieldPtr == nullptr)
                                    throw std::runtime_error("control field for Component :" + memberId + " did not found.");
                                child->setRequired(requiredFlag);
                                child->setComponent(componentPtr);
                                child->setField(fieldPtr);
                                node->appendChild(child);
                            } catch (exception& e) {
                                throw std::runtime_error("Error trying to get the id of control field :" + string(e.what()));
                            }

                        } else
                            node->resolveComponent(componentPtr);
                    } else {
                        fieldPtr = this->getField(boost::lexical_cast<unsigned int>(memberId));
                        if (fieldPtr == nullptr)
                            throw std::runtime_error("Field " + memberId + " did not found.");
                        if (fieldPtr->getDataType() == "NumInGroup") {
                            stringstream msg;
                            msg << fieldPtr->getId() << " " <<
                                    fieldPtr->getName() <<
                                    " is of type NumInGroup and cannot be assigned directly to components or messages. add the corresponding component.";
                            throw std::runtime_error(msg.str());
                        }
                        child->setType(fprime::Node::FIELD_NODE);

                        if (members[i]["isRequired"] == "Y")
                            child->setRequired(true);
                        else
                            child->setRequired(false);

                        child->setField(fieldPtr);
                        node->appendChild(child);

                    }
                } catch (exception& e) {
                    throw std::runtime_error("Exception populating node member " + memberId + " : " + string(e.what()));
                }
            }
        } catch (exception& e) {
            throw std::runtime_error("at populateNode: " + string(e.what()));
        }
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x308, %rsp            # imm = 0x308
movl %ecx, %ebx
movq %rdx, %r14
movq %rdi, %r15
movq %rsi, 0x58(%rsp)
movq (%rsi), %rdi
movq %r15, %rsi
callq 0x2e570
leaq 0x18231(%rip), %rsi     # 0x5c6ff
movq %r14, %rdi
callq 0x2e870
leaq 0x108(%rsp), %rdi
movq %rax, %rsi
callq 0x30690
xorl %r13d, %r13d
leaq 0x160(%rsp), %r12
movzbl %bl, %eax
movl %eax, 0x64(%rsp)
leaq 0x108(%rsp), %rdi
callq 0x30730
cmpl %eax, %r13d
jae 0x44a61
leaq 0x108(%rsp), %rdi
movl %r13d, %esi
callq 0x2f970
movq %rax, %rdi
leaq 0x1824f(%rip), %rsi     # 0x5c777
callq 0x2e870
leaq 0x68(%rsp), %rdi
movq %rax, %rsi
callq 0x30bf0
cmpq $0x0, 0x70(%rsp)
je 0x44a80
movl $0xe8, %edi
callq 0x2f830
movq %rax, %rbx
movq %rax, %rdi
callq 0x2f880
movq %rbx, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x2e4a0
movq 0x38(%rsp), %rdi
xorl %ebx, %ebx
movq %r15, %rsi
callq 0x2e570
xorl %ebx, %ebx
leaq 0x108(%rsp), %rdi
movl %r13d, %esi
callq 0x2f970
xorl %ebx, %ebx
movq %rax, %rdi
leaq 0x1821d(%rip), %rsi     # 0x5c7b7
callq 0x2e870
movq %rax, %r14
movq %r12, %rdi
leaq 0x1752d(%rip), %rsi     # 0x5bad9
callq 0x30860
movq %r14, %rdi
movq %r12, %rsi
callq 0x30070
movl %eax, %ebx
movq %r12, %rdi
callq 0x2ebb0
testb %bl, %bl
je 0x446b0
leaq 0x150(%rsp), %rbx
movq %rbx, 0x140(%rsp)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x140(%rsp), %r14
movq %r14, %rdi
callq 0x2e8a0
leaq 0xe8(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x2e450
movq 0x140(%rsp), %rdi
cmpq %rbx, %rdi
je 0x44620
callq 0x2f6c0
movq 0xe8(%rsp), %r14
testq %r14, %r14
je 0x44b52
movq %r12, %rdi
movq %r14, %rsi
callq 0x2ef40
movq %r12, %rdi
leaq 0x17f22(%rip), %rsi     # 0x5c568
callq 0x2e560
movl %eax, %ebx
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x44667
callq 0x2f6c0
testl %ebx, %ebx
je 0x44811
movq 0x58(%rsp), %rax
movq (%rax), %rdi
movq %r14, 0xa8(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0xb0(%rsp)
testq %rax, %rax
je 0x4492c
movq 0x2d7b9(%rip), %rcx     # 0x71e58
cmpb $0x0, (%rcx)
je 0x44928
incl 0x8(%rax)
jmp 0x4492c
movl $0x0, 0x34(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x2f8(%rsp)
movq 0x70(%rsp), %rcx
addq %rax, %rcx
movq %rcx, 0x300(%rsp)
movq %rax, 0x130(%rsp)
movq %rcx, 0x138(%rsp)
leaq 0x130(%rsp), %rdi
leaq 0x34(%rsp), %rsi
callq 0x30fa0
testb %al, %al
je 0x44ab7
movl 0x34(%rsp), %edx
leaq 0x10(%rsp), %rdi
movq %r15, %rsi
callq 0x30d40
movq 0x10(%rsp), %r14
movq 0x18(%rsp), %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x44731
callq 0x2f370
testq %r14, %r14
je 0x44ae8
movq %r12, %rdi
movq %r14, %rsi
callq 0x2fdd0
movq %r12, %rdi
leaq 0x18094(%rip), %rsi     # 0x5c7e3
callq 0x2e560
movl %eax, %ebp
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x44770
callq 0x2f6c0
testl %ebp, %ebp
je 0x44bbc
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x2fc10
leaq 0x108(%rsp), %rdi
movl %r13d, %esi
callq 0x2f970
movq %rax, %rdi
leaq 0x180c0(%rip), %rsi     # 0x5c861
callq 0x2e870
movq %rax, %rbp
movq %r12, %rdi
leaq 0x17326(%rip), %rsi     # 0x5bad9
callq 0x30860
movq %rbp, %rdi
movq %r12, %rsi
callq 0x30070
movl %eax, %ebp
movq %r12, %rdi
callq 0x2ebb0
movq 0x38(%rsp), %rdi
movzbl %bpl, %esi
callq 0x2e750
movq 0x38(%rsp), %rdi
movq %r14, 0x98(%rsp)
movq %rbx, 0xa0(%rsp)
testq %rbx, %rbx
je 0x448b3
movq 0x2d658(%rip), %rax     # 0x71e58
cmpb $0x0, (%rax)
je 0x448af
incl 0x8(%rbx)
jmp 0x448b3
movq 0x38(%rsp), %rdi
xorl %ebx, %ebx
movl $0x2, %esi
callq 0x2fc10
movq %r12, %rdi
movq %r14, %rsi
callq 0x30450
movq 0x160(%rsp), %rbp
movq 0x168(%rsp), %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x160(%rsp)
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x4485a
callq 0x2f370
testq %rbp, %rbp
je 0x44c89
movq 0x38(%rsp), %rdi
movl 0x64(%rsp), %esi
callq 0x2e750
movq 0x38(%rsp), %rdi
movq %r14, 0xd8(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0xe0(%rsp)
testq %rax, %rax
je 0x4494f
movq 0x2d5ba(%rip), %rcx     # 0x71e58
cmpb $0x0, (%rcx)
je 0x4494b
incl 0x8(%rax)
jmp 0x4494f
lock
incl 0x8(%rbx)
leaq 0x98(%rsp), %rsi
callq 0x2fa10
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0x448d2
callq 0x2f370
movq 0x58(%rsp), %rax
movq (%rax), %rdi
movq 0x38(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x88(%rsp)
movq %rax, 0x90(%rsp)
testq %rax, %rax
je 0x4490e
movq 0x2d558(%rip), %rcx     # 0x71e58
cmpb $0x0, (%rcx)
je 0x4490a
incl 0x8(%rax)
jmp 0x4490e
lock
incl 0x8(%rax)
leaq 0x88(%rsp), %rsi
callq 0x2fea0
movq 0x90(%rsp), %rdi
jmp 0x44a1f
lock
incl 0x8(%rax)
leaq 0xa8(%rsp), %rsi
callq 0x2fb10
movq 0xb0(%rsp), %rdi
movl $0x0, %ebx
jmp 0x44a0d
lock
incl 0x8(%rax)
leaq 0xd8(%rsp), %rsi
callq 0x2e970
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x4496e
callq 0x2f370
movq 0x38(%rsp), %rdi
movq %rbp, 0xc8(%rsp)
movq %rbx, 0xd0(%rsp)
testq %rbx, %rbx
je 0x4499d
movq 0x2d4c9(%rip), %rax     # 0x71e58
cmpb $0x0, (%rax)
je 0x44999
incl 0x8(%rbx)
jmp 0x4499d
lock
incl 0x8(%rbx)
leaq 0xc8(%rsp), %rsi
callq 0x2fa10
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x449bc
callq 0x2f370
movq 0x58(%rsp), %rax
movq (%rax), %rdi
movq 0x38(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0xb8(%rsp)
movq %rax, 0xc0(%rsp)
testq %rax, %rax
je 0x449f8
movq 0x2d46e(%rip), %rcx     # 0x71e58
cmpb $0x0, (%rcx)
je 0x449f4
incl 0x8(%rax)
jmp 0x449f8
lock
incl 0x8(%rax)
leaq 0xb8(%rsp), %rsi
callq 0x2fea0
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x44a17
callq 0x2f370
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x44a29
callq 0x2f370
testq %rbx, %rbx
je 0x44a36
movq %rbx, %rdi
callq 0x2f370
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x44a45
callq 0x2f370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x44a59
callq 0x2f6c0
incl %r13d
jmp 0x444f8
leaq 0x108(%rsp), %rdi
callq 0x2ebb0
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x2eae0
movq %rax, %rbx
leaq 0x17f29(%rip), %rsi     # 0x5c9bd
movq %rax, %rdi
callq 0x2e800
movq 0x2d535(%rip), %rsi     # 0x71fd8
movq 0x2d316(%rip), %rdx     # 0x71dc0
movq %rbx, %rdi
callq 0x308f0
jmp 0x45473
movq 0x2d342(%rip), %rax     # 0x71e00
addq $0x10, %rax
leaq 0x160(%rsp), %rdi
movq %rax, (%rdi)
movq 0x2d21c(%rip), %rax     # 0x71cf0
movq %rax, 0x8(%rdi)
movq 0x2d449(%rip), %rax     # 0x71f28
movq %rax, 0x10(%rdi)
callq 0x2fd10
movl $0x10, %edi
callq 0x2eae0
movq %rax, %r12
leaq 0x17ad9(%rip), %rsi     # 0x5c5d5
leaq 0x10(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x2f510
leaq 0x17ed0(%rip), %rsi     # 0x5c9e2
leaq 0x10(%rsp), %rdi
callq 0x30e60
leaq 0x170(%rsp), %rcx
movq %rcx, 0x160(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x44cf3
movups (%rcx), %xmm0
leaq 0x170(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x44d06
movl $0x10, %edi
callq 0x2eae0
movq %rax, %rbx
leaq 0x17e9e(%rip), %rsi     # 0x5ca04
leaq 0x10(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x2f510
leaq 0x17e66(%rip), %rsi     # 0x5c9e2
leaq 0x10(%rsp), %rdi
callq 0x30e60
leaq 0x170(%rsp), %rcx
movq %rcx, 0x160(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x44d4d
movups (%rcx), %xmm0
leaq 0x170(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x44d60
leaq 0x160(%rsp), %rdi
callq 0x2f130
movq %r14, %rdi
callq 0x2f6e0
leaq 0x170(%rsp), %rdi
movl %eax, %esi
callq 0x2f090
movq %rax, %r15
leaq 0x18975(%rip), %rsi     # 0x5d55f
movl $0x1, %edx
movq %rax, %rdi
callq 0x2fb20
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0x2f9a0
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r15, %rdi
callq 0x2fb20
leaq 0x17bd1(%rip), %rsi     # 0x5c7ee
movl $0x72, %edx
movq %rax, %rdi
callq 0x2fb20
leaq 0x20(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x44c3d
callq 0x2f6c0
movl $0x10, %edi
callq 0x2eae0
movq %rax, %r12
leaq 0x178(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x305d0
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
movq %r12, %rdi
callq 0x30700
xorl %ebp, %ebp
movq 0x2d363(%rip), %rsi     # 0x71fd8
movq 0x2d144(%rip), %rdx     # 0x71dc0
movq %r12, %rdi
callq 0x308f0
jmp 0x45473
movl $0x10, %edi
callq 0x2eae0
movq %rax, %r12
leaq 0x17d55(%rip), %rsi     # 0x5c9f2
leaq 0x10(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x2f510
leaq 0x17d2f(%rip), %rsi     # 0x5c9e2
leaq 0x10(%rsp), %rdi
callq 0x30e60
leaq 0x170(%rsp), %rcx
movq %rcx, 0x160(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x44da7
movups (%rcx), %xmm0
leaq 0x170(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x44dba
movq %rdx, 0x160(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x170(%rsp)
movq 0x8(%rax), %rdx
leaq 0x160(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r12, %rdi
callq 0x30700
xorl %ebp, %ebp
movq 0x2d29f(%rip), %rsi     # 0x71fd8
movq 0x2d080(%rip), %rdx     # 0x71dc0
movq %r12, %rdi
callq 0x308f0
jmp 0x45473
movq %rdx, 0x160(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x170(%rsp)
movq 0x8(%rax), %rdx
leaq 0x160(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %rbx, %rdi
callq 0x30700
xorl %ebp, %ebp
movq 0x2d245(%rip), %rsi     # 0x71fd8
movq 0x2d026(%rip), %rdx     # 0x71dc0
movq %rbx, %rdi
callq 0x308f0
jmp 0x45473
movq %rdx, 0x160(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x170(%rsp)
movq 0x8(%rax), %rdx
leaq 0x160(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r12, %rdi
callq 0x30700
xorl %ebp, %ebp
movq 0x2d1eb(%rip), %rsi     # 0x71fd8
movq 0x2cfcc(%rip), %rdx     # 0x71dc0
movq %r12, %rdi
callq 0x308f0
jmp 0x45473
movq %rdx, %r15
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x44e21
callq 0x2f6c0
jmp 0x44e21
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x44fac
movq %r12, %rdi
callq 0x2f150
jmp 0x44fac
movq %rdx, %r15
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x44fac
callq 0x2f6c0
jmp 0x44fac
jmp 0x44fa6
jmp 0x44ea0
movq %rdx, %r15
movq %rax, %r14
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x44e8b
callq 0x2f6c0
jmp 0x44e8b
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x44eb4
callq 0x2f6c0
jmp 0x44eb4
movq %rdx, %r15
movq %rax, %r14
jmp 0x453ec
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x4503c
movq %r12, %rdi
callq 0x2f150
jmp 0x4503c
movq %rdx, %r15
movq %rax, %r14
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x44f17
callq 0x2f6c0
jmp 0x44f17
movq %rdx, %r15
movq %rax, %r14
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x44f3c
callq 0x2f6c0
jmp 0x44f3c
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x44fe0
callq 0x2f6c0
jmp 0x44fe0
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x44fff
callq 0x2f6c0
jmp 0x44fff
movq %rdx, %r15
movq %rax, %r14
movq 0xd0(%rsp), %rdi
jmp 0x44f86
movq %rdx, %r15
movq %rax, %r14
movq 0xc0(%rsp), %rdi
jmp 0x44f86
movq %rdx, %r15
movq %rax, %r14
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x4503c
callq 0x2f370
jmp 0x4503c
movq %rdx, %r15
movq %rax, %r14
xorl %ebx, %ebx
jmp 0x4503c
movq %rdx, %r15
movq %rax, %r14
movq 0x2cccd(%rip), %rsi     # 0x71c80
leaq 0x160(%rsp), %rdi
callq 0x2f190
leaq 0x1e0(%rsp), %rdi
callq 0x2e700
jmp 0x45220
jmp 0x4521a
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x45166
movq %rbx, %rdi
callq 0x2f150
jmp 0x45166
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x45220
movq %r12, %rdi
callq 0x2f150
jmp 0x45220
movq %rdx, %r15
movq %rax, %r14
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x45166
callq 0x2f370
jmp 0x45166
movq %rdx, %r15
movq %rax, %r14
cmpl $0x1, %r15d
jne 0x45168
movq %r14, %rdi
callq 0x2e8b0
movq %rax, %r14
movl $0x10, %edi
callq 0x2eae0
movq %rax, %r12
movq (%r14), %rax
movq %r14, %rdi
callq *0x10(%rax)
leaq 0x10(%rsp), %rdi
leaq 0x2f0(%rsp), %rdx
movq %rax, %rsi
callq 0x2e880
leaq 0x1798d(%rip), %rsi     # 0x5ca10
leaq 0x160(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x30840
movb $0x1, %bpl
leaq 0x160(%rsp), %rsi
movq %r12, %rdi
callq 0x30700
xorl %ebp, %ebp
movq 0x2cf27(%rip), %rsi     # 0x71fd8
movq 0x2cd08(%rip), %rdx     # 0x71dc0
movq %r12, %rdi
callq 0x308f0
jmp 0x45473
movq %rdx, %r15
movq %rax, %r14
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x450f0
callq 0x2f6c0
jmp 0x450f0
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4510e
callq 0x2f6c0
jmp 0x4510e
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x4511b
movq %r12, %rdi
callq 0x2f150
callq 0x30750
jmp 0x45168
jmp 0x451d6
movq %rdx, %r15
movq %rax, %r14
movq 0x140(%rsp), %rdi
cmpq %rbx, %rdi
je 0x451f1
callq 0x2f6c0
jmp 0x451f1
jmp 0x45207
movq %rdx, %r15
movq %rax, %r14
movq %rbx, %rdi
callq 0x2f150
jmp 0x4523c
movq %rdx, %r15
movq %rax, %r14
xorl %ebx, %ebx
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x45220
callq 0x2f370
jmp 0x45220
movq %rdx, %r15
movq %rax, %r14
leaq 0x160(%rsp), %rdi
callq 0x2ebb0
jmp 0x45220
movq %rdx, %r15
movq %rax, %r14
movq 0x90(%rsp), %rdi
jmp 0x45170
movq %rdx, %r15
movq %rax, %r14
movq 0xa0(%rsp), %rdi
jmp 0x45170
jmp 0x4521a
movq %rdx, %r15
movq %rax, %r14
leaq 0x160(%rsp), %rdi
callq 0x305c0
jmp 0x451f1
jmp 0x4521a
jmp 0x451d6
movq %rdx, %r15
movq %rax, %r14
jmp 0x451f1
movq %rdx, %r15
movq %rax, %r14
leaq 0x160(%rsp), %rdi
callq 0x2ebb0
xorl %ebx, %ebx
jmp 0x45220
movq %rdx, %r15
movq %rax, %r14
movq %rbx, %rdi
callq 0x2f6c0
jmp 0x4523c
jmp 0x4520f
movq %rdx, %r15
movq %rax, %r14
jmp 0x4523c
movq %rdx, %r15
movq %rax, %r14
jmp 0x453df
movq %rdx, %r15
movq %rax, %r14
testq %rbx, %rbx
je 0x4522d
movq %rbx, %rdi
callq 0x2f370
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x4523c
callq 0x2f370
cmpl $0x1, %r15d
jne 0x453cb
movq %r14, %rdi
callq 0x2e8b0
movq %rax, %r14
movl $0x10, %edi
callq 0x2eae0
movq %rax, %rbx
leaq 0x177d9(%rip), %rsi     # 0x5ca3e
leaq 0x38(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x2f510
leaq 0x172ad(%rip), %rsi     # 0x5c528
leaq 0x38(%rsp), %rdi
callq 0x30e60
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x452a8
movups (%rcx), %xmm0
movups %xmm0, (%r12)
jmp 0x452b5
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r14), %rax
movq %r14, %rdi
callq *0x10(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0xf(%rsp), %rdx
movq %rax, %rsi
callq 0x2e880
leaq 0x160(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x2f450
movb $0x1, %bpl
leaq 0x160(%rsp), %rsi
movq %rbx, %rdi
callq 0x30700
xorl %ebp, %ebp
movq 0x2ccb7(%rip), %rsi     # 0x71fd8
movq 0x2ca98(%rip), %rdx     # 0x71dc0
movq %rbx, %rdi
callq 0x308f0
jmp 0x45473
movq %rdx, %r15
movq %rax, %r14
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x45360
callq 0x2f6c0
jmp 0x45360
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
leaq 0xf8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x45381
callq 0x2f6c0
jmp 0x45381
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x4539b
callq 0x2f6c0
jmp 0x4539b
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
leaq 0x48(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x453b9
callq 0x2f6c0
jmp 0x453b9
movq %rdx, %r15
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x453c6
movq %rbx, %rdi
callq 0x2f150
callq 0x30750
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x453df
callq 0x2f6c0
leaq 0x108(%rsp), %rdi
callq 0x2ebb0
cmpl $0x1, %r15d
jne 0x454c4
movq %r14, %rdi
callq 0x2e8b0
movq %rax, %r14
movl $0x10, %edi
callq 0x2eae0
movq %rax, %rbx
movq (%r14), %rax
movq %r14, %rdi
callq *0x10(%rax)
leaq 0x108(%rsp), %rdi
leaq 0x68(%rsp), %rdx
movq %rax, %rsi
callq 0x2e880
leaq 0x1762d(%rip), %rsi     # 0x5ca60
leaq 0x160(%rsp), %rdi
leaq 0x108(%rsp), %rdx
callq 0x30840
movb $0x1, %bpl
leaq 0x160(%rsp), %rsi
movq %rbx, %rdi
callq 0x30700
xorl %ebp, %ebp
movq 0x2cb74(%rip), %rsi     # 0x71fd8
movq 0x2c955(%rip), %rdx     # 0x71dc0
movq %rbx, %rdi
callq 0x308f0
movq %rax, %r14
leaq 0x170(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x45494
callq 0x2f6c0
jmp 0x45494
movq %rax, %r14
movb $0x1, %bpl
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x454b2
callq 0x2f6c0
jmp 0x454b2
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x454bf
movq %rbx, %rdi
callq 0x2f150
callq 0x30750
movq %r14, %rdi
callq 0x30a20
movq %rax, %rdi
callq 0x32108