// File: xjrueda[P]fixprime/src/Protocol.cpp
// Function: fprime::Protocol::loadMessages()
void Protocol::loadMessages() {
        try {
            if (protocolSpec["Messages"].empty()) {
                throw std::runtime_error("No messages specified for current  protocol ");
            } else {
                // gets the header and trailer specifications
                Json::Value headerSpec = protocolSpec["Components"]["StandardHeader"];
                Json::Value trailerSpec = protocolSpec["Components"]["StandardTrailer"];
                fprime::Node::NodePtr header(new fprime::Node(fprime::Node::ROOT_NODE));
                fprime::Node::NodePtr trailer(new fprime::Node(fprime::Node::ROOT_NODE));
                try {
                    populateNode(header, headerSpec, true);
                    header->getChild(8)->setValue(version);
                } catch (exception& e) {
                    throw std::runtime_error("Error populating header node: " + string(e.what()));
                }
                try {
                    populateNode(trailer, trailerSpec, true);
                } catch (exception& e) {
                    throw std::runtime_error("Error populating trailer node: " + string(e.what()));
                }

                //Gets the message list of the session layer
                std::vector<string> messageList = protocolSpec["Messages"].getMemberNames();
                // process the message list
                for (std::vector<string>::iterator itr = messageList.begin(); itr != messageList.end(); itr++) {
                    try {
                        fprime::Message message(*itr);
                        fprime::Node::NodePtr currentHeader(new fprime::Node(fprime::Node::ROOT_NODE));
                        fprime::Node::NodePtr currentTrailer(new fprime::Node(fprime::Node::ROOT_NODE));
                        currentHeader = header;
                        currentTrailer = trailer;
                        currentHeader->getChild(35)->setValue(string(*itr));
                        
                        Json::Value bodySpec = protocolSpec["Messages"][*itr];
                        fprime::Node::NodePtr body(new fprime::Node(fprime::Node::ROOT_NODE));
                        populateNode(body, bodySpec, true);
  
                        message.setHeader(currentHeader);
                        message.setTrailer(currentTrailer);
                        message.setBody(body);
                        messages[*itr] = message;
                    } catch (exception& e) {
                        throw std::runtime_error("Exception loading message " + *itr + " : " + string(e.what()));
                    }
                }
            }
        } catch (exception& e) {
            throw std::runtime_error("at Protocol.LoadMessages: " + string(e.what()));
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x560, %rsp            # imm = 0x560
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x450(%rbp)
addq $0x28, %rdi
leaq 0x2fb37(%rip), %rsi     # 0x1038fc
callq 0x99470
movq %rax, -0x448(%rbp)
jmp 0xd3dd3
movq -0x448(%rbp), %rdi
callq 0xa3a40
movb %al, -0x451(%rbp)
jmp 0xd3de7
movb -0x451(%rbp), %al
testb $0x1, %al
jne 0xd3df3
jmp 0xd3e65
movl $0x10, %edi
callq 0x99e80
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x460(%rbp)
leaq 0x2faf4(%rip), %rsi     # 0x103905
callq 0x99380
jmp 0xd3e18
movq -0x460(%rbp), %rdi
movq 0x5f1b2(%rip), %rsi     # 0x132fd8
movq 0x5ef73(%rip), %rdx     # 0x132da0
callq 0xa2fe0
jmp 0xd4db7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4c5a
movq -0x460(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x9b9c0
jmp 0xd4c5a
movq -0x450(%rbp), %rdi
addq $0x28, %rdi
leaq 0x2f846(%rip), %rsi     # 0x1036bd
callq 0x99470
movq %rax, -0x468(%rbp)
jmp 0xd3e85
movq -0x468(%rbp), %rdi
leaq 0x2fa9f(%rip), %rsi     # 0x103932
callq 0x99470
movq %rax, -0x470(%rbp)
jmp 0xd3ea1
movq -0x470(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0xa2280
jmp 0xd3eb3
movq -0x450(%rbp), %rdi
addq $0x28, %rdi
leaq 0x2f7f8(%rip), %rsi     # 0x1036bd
callq 0x99470
movq %rax, -0x478(%rbp)
jmp 0xd3ed3
movq -0x478(%rbp), %rdi
leaq 0x2fa60(%rip), %rsi     # 0x103941
callq 0x99470
movq %rax, -0x480(%rbp)
jmp 0xd3eef
movq -0x480(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0xa2280
jmp 0xd3f01
movl $0xe8, %edi
callq 0x9dc00
movq %rax, -0x488(%rbp)
jmp 0xd3f14
movq -0x488(%rbp), %rdi
xorl %esi, %esi
callq 0xa2e10
jmp 0xd3f24
movq -0x488(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0xa2850
jmp 0xd3f36
movl $0xe8, %edi
callq 0x9dc00
movq %rax, -0x490(%rbp)
jmp 0xd3f49
movq -0x490(%rbp), %rdi
xorl %esi, %esi
callq 0xa2e10
jmp 0xd3f59
movq -0x490(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0xa2850
jmp 0xd3f6e
leaq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x97cd0
leaq -0xc0(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xa2280
jmp 0xd3f90
movq -0x450(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
movl $0x1, %ecx
callq 0x9b070
jmp 0xd3fb1
leaq -0xc0(%rbp), %rdi
callq 0x9a180
leaq -0x98(%rbp), %rdi
callq 0x997e0
leaq -0x78(%rbp), %rdi
callq 0x98080
movq %rax, %rsi
leaq -0xd0(%rbp), %rdi
movl $0x8, %edx
callq 0x9e5d0
jmp 0xd3fe8
leaq -0xd0(%rbp), %rdi
callq 0x98080
movq -0x450(%rbp), %rsi
movq %rax, -0x498(%rbp)
addq $0x8, %rsi
leaq -0xf0(%rbp), %rdi
callq 0x998d0
jmp 0xd4014
movq -0x498(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x9a780
jmp 0xd4029
leaq -0xf0(%rbp), %rdi
callq 0xa4f00
leaq -0xd0(%rbp), %rdi
callq 0x997e0
jmp 0xd426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4c51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4c48
movq -0x488(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x9d660
jmp 0xd4c48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4c3f
movq -0x490(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x9d660
jmp 0xd4c3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd40d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x9a180
leaq -0x98(%rbp), %rdi
callq 0x997e0
jmp 0xd4127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd411b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0xa4f00
leaq -0xd0(%rbp), %rdi
callq 0x997e0
movl -0x14(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd4c33
movq -0x10(%rbp), %rdi
callq 0x99540
movq %rax, -0xf8(%rbp)
movb $0x1, -0x13a(%rbp)
movl $0x10, %edi
callq 0x99e80
movq %rax, -0x4b0(%rbp)
movq -0xf8(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0x4a8(%rbp)
leaq -0x139(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0xa35e0
movq -0x4a8(%rbp), %rsi
movq -0x4a0(%rbp), %rdx
leaq -0x138(%rbp), %rdi
callq 0xa0510
jmp 0xd41a5
leaq 0x2f7a5(%rip), %rsi     # 0x103951
leaq -0x118(%rbp), %rdi
leaq -0x138(%rbp), %rdx
callq 0xa2cb0
jmp 0xd41c1
movq -0x4b0(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0xa2430
jmp 0xd41d6
movq -0x4b0(%rbp), %rdi
movb $0x0, -0x13a(%rbp)
movq 0x5eded(%rip), %rsi     # 0x132fd8
movq 0x5ebae(%rip), %rdx     # 0x132da0
callq 0xa2fe0
jmp 0xd4db7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd423c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4230
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x118(%rbp), %rdi
callq 0xa4f00
leaq -0x138(%rbp), %rdi
callq 0xa4f00
leaq -0x139(%rbp), %rdi
callq 0x9e350
testb $0x1, -0x13a(%rbp)
jne 0xd4253
jmp 0xd425f
movq -0x4b0(%rbp), %rdi
callq 0x9b9c0
callq 0xa2520
jmp 0xd4266
jmp 0xd4c33
leaq -0x150(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x97cd0
leaq -0x178(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xa2280
jmp 0xd4290
movq -0x450(%rbp), %rdi
leaq -0x150(%rbp), %rsi
leaq -0x178(%rbp), %rdx
movl $0x1, %ecx
callq 0x9b070
jmp 0xd42b1
leaq -0x178(%rbp), %rdi
callq 0x9a180
leaq -0x150(%rbp), %rdi
callq 0x997e0
jmp 0xd4444
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd42f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x9a180
leaq -0x150(%rbp), %rdi
callq 0x997e0
movl -0x14(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd4c33
movq -0x10(%rbp), %rdi
callq 0x99540
movq %rax, -0x180(%rbp)
movb $0x1, -0x1c2(%rbp)
movl $0x10, %edi
callq 0x99e80
movq %rax, -0x4c8(%rbp)
movq -0x180(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0x4c0(%rbp)
leaq -0x1c1(%rbp), %rdi
movq %rdi, -0x4b8(%rbp)
callq 0xa35e0
movq -0x4c0(%rbp), %rsi
movq -0x4b8(%rbp), %rdx
leaq -0x1c0(%rbp), %rdi
callq 0xa0510
jmp 0xd437e
leaq 0x2f5eb(%rip), %rsi     # 0x103970
leaq -0x1a0(%rbp), %rdi
leaq -0x1c0(%rbp), %rdx
callq 0xa2cb0
jmp 0xd439a
movq -0x4c8(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0xa2430
jmp 0xd43af
movq -0x4c8(%rbp), %rdi
movb $0x0, -0x1c2(%rbp)
movq 0x5ec14(%rip), %rsi     # 0x132fd8
movq 0x5e9d5(%rip), %rdx     # 0x132da0
callq 0xa2fe0
jmp 0xd4db7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4415
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4409
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0xa4f00
leaq -0x1c0(%rbp), %rdi
callq 0xa4f00
leaq -0x1c1(%rbp), %rdi
callq 0x9e350
testb $0x1, -0x1c2(%rbp)
jne 0xd442c
jmp 0xd4438
movq -0x4c8(%rbp), %rdi
callq 0x9b9c0
callq 0xa2520
jmp 0xd443f
jmp 0xd4c33
movq -0x450(%rbp), %rdi
addq $0x28, %rdi
leaq 0x2f4a6(%rip), %rsi     # 0x1038fc
callq 0x99470
movq %rax, -0x4d0(%rbp)
jmp 0xd4464
movq -0x4d0(%rbp), %rsi
leaq -0x1e0(%rbp), %rdi
callq 0x9c0a0
jmp 0xd4479
leaq -0x1e0(%rbp), %rdi
callq 0xa2870
movq %rax, -0x1e8(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0xa2b40
movq %rax, -0x1f0(%rbp)
leaq -0x1e8(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0xa0020
testb $0x1, %al
jne 0xd44bb
jmp 0xd4bef
leaq -0x1e8(%rbp), %rdi
callq 0xa4310
movq %rax, %rsi
leaq -0x268(%rbp), %rdi
callq 0x998d0
jmp 0xd44d8
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x996d0
jmp 0xd44ed
leaq -0x268(%rbp), %rdi
callq 0xa4f00
movl $0xe8, %edi
callq 0x9dc00
movq %rax, -0x4d8(%rbp)
jmp 0xd450c
movq -0x4d8(%rbp), %rdi
xorl %esi, %esi
callq 0xa2e10
jmp 0xd451c
movq -0x4d8(%rbp), %rsi
leaq -0x278(%rbp), %rdi
callq 0xa2850
jmp 0xd4531
movl $0xe8, %edi
callq 0x9dc00
movq %rax, -0x4e0(%rbp)
jmp 0xd4544
movq -0x4e0(%rbp), %rdi
xorl %esi, %esi
callq 0xa2e10
jmp 0xd4554
movq -0x4e0(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0xa2850
jmp 0xd4569
leaq -0x278(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
leaq -0x78(%rbp), %rsi
callq 0x9ec30
leaq -0x288(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x9ec30
movq -0x4e8(%rbp), %rdi
callq 0x98080
movq %rax, %rsi
leaq -0x298(%rbp), %rdi
movl $0x23, %edx
callq 0x9e5d0
jmp 0xd45b5
leaq -0x298(%rbp), %rdi
callq 0x98080
movq %rax, -0x4f0(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0xa4310
movq %rax, %rsi
leaq -0x2b8(%rbp), %rdi
callq 0x998d0
jmp 0xd45e5
movq -0x4f0(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x9a780
jmp 0xd45fa
leaq -0x2b8(%rbp), %rdi
callq 0xa4f00
leaq -0x298(%rbp), %rdi
callq 0x997e0
movq -0x450(%rbp), %rdi
addq $0x28, %rdi
leaq 0x2f2d8(%rip), %rsi     # 0x1038fc
callq 0x99470
movq %rax, -0x4f8(%rbp)
jmp 0xd4632
leaq -0x1e8(%rbp), %rdi
callq 0xa4310
movq -0x4f8(%rbp), %rdi
movq %rax, %rsi
callq 0xa4480
movq %rax, -0x500(%rbp)
jmp 0xd4656
movq -0x500(%rbp), %rsi
leaq -0x2e0(%rbp), %rdi
callq 0xa2280
jmp 0xd466b
movl $0xe8, %edi
callq 0x9dc00
movq %rax, -0x508(%rbp)
jmp 0xd467e
movq -0x508(%rbp), %rdi
xorl %esi, %esi
callq 0xa2e10
jmp 0xd468e
movq -0x508(%rbp), %rsi
leaq -0x2f0(%rbp), %rdi
callq 0xa2850
jmp 0xd46a3
leaq -0x300(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x97cd0
leaq -0x328(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0xa2280
jmp 0xd46cb
movq -0x450(%rbp), %rdi
leaq -0x300(%rbp), %rsi
leaq -0x328(%rbp), %rdx
movl $0x1, %ecx
callq 0x9b070
jmp 0xd46ec
leaq -0x328(%rbp), %rdi
callq 0x9a180
leaq -0x300(%rbp), %rdi
callq 0x997e0
leaq -0x338(%rbp), %rdi
movq %rdi, -0x510(%rbp)
leaq -0x278(%rbp), %rsi
callq 0x97cd0
movq -0x510(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0x9cc50
jmp 0xd4733
leaq -0x338(%rbp), %rdi
callq 0x997e0
leaq -0x348(%rbp), %rdi
movq %rdi, -0x518(%rbp)
leaq -0x288(%rbp), %rsi
callq 0x97cd0
movq -0x518(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0xa3db0
jmp 0xd476e
leaq -0x348(%rbp), %rdi
callq 0x997e0
leaq -0x358(%rbp), %rdi
movq %rdi, -0x520(%rbp)
leaq -0x2f0(%rbp), %rsi
callq 0x97cd0
movq -0x520(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0xa40f0
jmp 0xd47a9
leaq -0x358(%rbp), %rdi
callq 0x997e0
movq -0x450(%rbp), %rax
addq $0xc0, %rax
movq %rax, -0x530(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0xa4310
movq -0x530(%rbp), %rdi
movq %rax, %rsi
callq 0x97e80
movq %rax, -0x528(%rbp)
jmp 0xd47ed
movq -0x528(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x9b550
jmp 0xd4802
leaq -0x2f0(%rbp), %rdi
callq 0x997e0
leaq -0x2e0(%rbp), %rdi
callq 0x9a180
leaq -0x288(%rbp), %rdi
callq 0x997e0
leaq -0x278(%rbp), %rdi
callq 0x997e0
leaq -0x248(%rbp), %rdi
callq 0x9b5d0
jmp 0xd4bd3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4c33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4a1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x268(%rbp), %rdi
callq 0xa4f00
jmp 0xd4a1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4a12
movq -0x4d8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x9d660
jmp 0xd4a12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4a06
movq -0x4e0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x9d660
jmp 0xd4a06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd49fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4915
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0xa4f00
leaq -0x298(%rbp), %rdi
callq 0x997e0
jmp 0xd49fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd49ee
movq -0x508(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x9d660
jmp 0xd49ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd497a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x9a180
leaq -0x300(%rbp), %rdi
callq 0x997e0
jmp 0xd49e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x997e0
jmp 0xd49e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x997e0
jmp 0xd49e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x997e0
jmp 0xd49e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x997e0
leaq -0x2e0(%rbp), %rdi
callq 0x9a180
leaq -0x288(%rbp), %rdi
callq 0x997e0
leaq -0x278(%rbp), %rdi
callq 0x997e0
leaq -0x248(%rbp), %rdi
callq 0x9b5d0
movl -0x14(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd4c27
movq -0x10(%rbp), %rdi
callq 0x99540
movq %rax, -0x360(%rbp)
movb $0x1, -0x3e2(%rbp)
movl $0x10, %edi
callq 0x99e80
movq %rax, -0x538(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0xa4310
movq %rax, %rdx
leaq 0x2ef24(%rip), %rsi     # 0x103990
leaq -0x3c0(%rbp), %rdi
callq 0x9cf50
jmp 0xd4a7a
leaq 0x2eb17(%rip), %rdx     # 0x103598
leaq -0x3a0(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
callq 0x98100
jmp 0xd4a96
movq -0x360(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0x548(%rbp)
leaq -0x3e1(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0xa35e0
movq -0x548(%rbp), %rsi
movq -0x540(%rbp), %rdx
leaq -0x3e0(%rbp), %rdi
callq 0xa0510
jmp 0xd4adc
leaq -0x380(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
leaq -0x3e0(%rbp), %rdx
callq 0x9ca70
jmp 0xd4af8
movq -0x538(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0xa2430
jmp 0xd4b0d
movq -0x538(%rbp), %rdi
movb $0x0, -0x3e2(%rbp)
movq 0x5e4b6(%rip), %rsi     # 0x132fd8
movq 0x5e277(%rip), %rdx     # 0x132da0
callq 0xa2fe0
jmp 0xd4db7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4bb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4ba7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4b8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4b83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x380(%rbp), %rdi
callq 0xa4f00
leaq -0x3e0(%rbp), %rdi
callq 0xa4f00
leaq -0x3e1(%rbp), %rdi
callq 0x9e350
leaq -0x3a0(%rbp), %rdi
callq 0xa4f00
leaq -0x3c0(%rbp), %rdi
callq 0xa4f00
testb $0x1, -0x3e2(%rbp)
jne 0xd4bbe
jmp 0xd4bca
movq -0x538(%rbp), %rdi
callq 0x9b9c0
callq 0xa2520
jmp 0xd4bd1
jmp 0xd4c27
jmp 0xd4bd5
leaq -0x1e8(%rbp), %rdi
xorl %esi, %esi
callq 0x99220
movq %rax, -0x3f0(%rbp)
jmp 0xd448c
leaq -0x1e0(%rbp), %rdi
callq 0x9ba40
leaq -0x88(%rbp), %rdi
callq 0x997e0
leaq -0x78(%rbp), %rdi
callq 0x997e0
leaq -0x68(%rbp), %rdi
callq 0x9a180
leaq -0x40(%rbp), %rdi
callq 0x9a180
jmp 0xd4d2f
leaq -0x1e0(%rbp), %rdi
callq 0x9ba40
leaq -0x88(%rbp), %rdi
callq 0x997e0
leaq -0x78(%rbp), %rdi
callq 0x997e0
leaq -0x68(%rbp), %rdi
callq 0x9a180
leaq -0x40(%rbp), %rdi
callq 0x9a180
movl -0x14(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd4da6
movq -0x10(%rbp), %rdi
callq 0x99540
movq %rax, -0x3f8(%rbp)
movb $0x1, -0x43a(%rbp)
movl $0x10, %edi
callq 0x99e80
movq %rax, -0x560(%rbp)
movq -0x3f8(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0x558(%rbp)
leaq -0x439(%rbp), %rdi
movq %rdi, -0x550(%rbp)
callq 0xa35e0
movq -0x558(%rbp), %rsi
movq -0x550(%rbp), %rdx
leaq -0x438(%rbp), %rdi
callq 0xa0510
jmp 0xd4cd8
leaq 0x2eccc(%rip), %rsi     # 0x1039ab
leaq -0x418(%rbp), %rdi
leaq -0x438(%rbp), %rdx
callq 0xa2cb0
jmp 0xd4cf4
movq -0x560(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0xa2430
jmp 0xd4d09
movq -0x560(%rbp), %rdi
movb $0x0, -0x43a(%rbp)
movq 0x5e2ba(%rip), %rsi     # 0x132fd8
movq 0x5e07b(%rip), %rdx     # 0x132da0
callq 0xa2fe0
jmp 0xd4db7
jmp 0xd4d9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4d71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0xd4d65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x418(%rbp), %rdi
callq 0xa4f00
leaq -0x438(%rbp), %rdi
callq 0xa4f00
leaq -0x439(%rbp), %rdi
callq 0x9e350
testb $0x1, -0x43a(%rbp)
jne 0xd4d88
jmp 0xd4d94
movq -0x560(%rbp), %rdi
callq 0x9b9c0
callq 0xa2520
jmp 0xd4d9b
jmp 0xd4da6
addq $0x560, %rsp            # imm = 0x560
popq %rbp
retq
movq -0x10(%rbp), %rdi
callq 0xa3520
movq %rax, %rdi
callq 0xa6900
nopw (%rax,%rax)