// File: /workspace/github_cpp_makefile_star2_O3/eniac[P]Mantis/src/compile/compile_p4.cpp
// Function: generateDupRegArgProg(std::vector<AstNode*, std::allocator<AstNode*>>*, std::vector<AstNode*, std::allocator<AstNode*>>*, std::vector<ReactionArgNode*, std::allocator<ReactionArgNode*>> const&, int, int)
void generateDupRegArgProg(vector<AstNode*>* newNodes,
                         vector<AstNode*>* nodeArray,
                         const vector<ReactionArgNode*>& reaction_args,
                         int ing_iso_opt, int egr_iso_opt) {
    ostringstream oss;
    vector<P4RegisterNode*> regNodes = findP4RegisterNode(*nodeArray);
    vector<P4ExprNode*> blackboxes = findBlackbox(*nodeArray);

    for (auto ra : reaction_args) {
        if (ra->argType_==ReactionArgNode::REGISTER) {
            if ((findRegargInIng(ra, *nodeArray) && (((unsigned int)ing_iso_opt) & 0b1)) || 
                (!findRegargInIng(ra, *nodeArray) && (((unsigned int)egr_iso_opt) & 0b1))
                ) {
                PRINT_VERBOSE("Duplicate for %s\n", ra->toString().c_str());
            } else {
                continue;
            }
        } else {
            continue;
        }
        for(auto reg : regNodes) {
            if(reg->name_->toString().compare(ra->toString())==0) {
                // Duplicate registers
                oss.str(""); 
                oss << "register " << reg->name_->toString() << kP4rRegReplicasSuffix0
                    << "{\n"
                    << "  width : 64;\n"
                    << "  instance_count : " << reg->instanceCount_ << ";\n"
                    << "}\n\n";
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("register"),
                                                   new string(reg->name_->toString()+kP4rRegReplicasSuffix0)));         
                oss.str("");
                oss << "register " << reg->name_->toString() << kP4rRegReplicasSuffix1
                    << "{\n"
                    << "  width : 64;\n"
                    << "  instance_count : " << reg->instanceCount_ << ";\n"
                    << "}\n\n";  
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("register"),
                                                   new string(reg->name_->toString()+kP4rRegReplicasSuffix1)));

                // Duplicate blackbox
                // Currently assuming 32b reg with only LO, for 64b, extra tstamp reg required
                oss.str("");
                oss << "blackbox stateful_alu " << kP4rRegReplicasBlackboxPrefix << reg->name_->toString() << kP4rRegReplicasSuffix0
                    << "{\n"
                    << "  reg : " << reg->name_->toString() << kP4rRegReplicasSuffix0 << ";\n"
                    << "  update_hi_1_value : register_hi + 1;\n"
                    << "  update_lo_1_value : " << kP4rIngRegMetadataName << "." << reg->name_->toString() << kP4rRegMetadataOutputSuffix << ";\n"
                    << "}\n\n";
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("blackbox"),
                                                   new string(kP4rRegReplicasBlackboxPrefix+reg->name_->toString()+kP4rRegReplicasSuffix0)));                        

                oss.str("");
                oss << "blackbox stateful_alu " << kP4rRegReplicasBlackboxPrefix << reg->name_->toString() << kP4rRegReplicasSuffix1
                    << "{\n"
                    << "  reg : " << reg->name_->toString() << kP4rRegReplicasSuffix1 << ";\n"
                    << "  update_hi_1_value : register_hi + 1;\n"
                    << "  update_lo_1_value : " << kP4rIngRegMetadataName << "." << reg->name_->toString() << kP4rRegMetadataOutputSuffix << ";\n"
                    << "}\n\n";
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("blackbox"),
                                                   new string(kP4rRegReplicasBlackboxPrefix+reg->name_->toString()+kP4rRegReplicasSuffix1)));    

                // Duplicate actions
                oss.str("");
                oss << "action " << kP4rRegReplicasActionPrefix << reg->name_->toString() << kP4rRegReplicasSuffix0 << "(){\n"
                    << "  " << kP4rRegReplicasBlackboxPrefix << reg->name_->toString() << kP4rRegReplicasSuffix0 
                    << ".execute_stateful_alu("
                    << kP4rIngRegMetadataName << "." << reg->name_->toString() << kP4rRegMetadataIndexSuffix
                    << ");\n"
                    << "}\n\n";
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("action"),
                                                   new string(kP4rRegReplicasActionPrefix+reg->name_->toString()+kP4rRegReplicasSuffix0)));    

                oss.str("");
                oss << "action " << kP4rRegReplicasActionPrefix << reg->name_->toString() << kP4rRegReplicasSuffix1 << "(){\n"
                    << "  " << kP4rRegReplicasBlackboxPrefix << reg->name_->toString() << kP4rRegReplicasSuffix1 
                    << ".execute_stateful_alu("
                    << kP4rIngRegMetadataName << "." << reg->name_->toString() << kP4rRegMetadataIndexSuffix
                    << ");\n"
                    << "}\n\n";
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("action"),
                                                   new string(kP4rRegReplicasActionPrefix+reg->name_->toString()+kP4rRegReplicasSuffix1)));    

                // Duplicate tables
                oss.str("");
                oss << "table " << kP4rRegReplicasTablePrefix << reg->name_->toString() << kP4rRegReplicasSuffix0 << "{\n"
                    << "  actions {\n"
                    << "    " << kP4rRegReplicasActionPrefix << reg->name_->toString() << kP4rRegReplicasSuffix0 << ";\n"
                    << "}\n"
                    << "  default_action: " << kP4rRegReplicasActionPrefix << reg->name_->toString() << kP4rRegReplicasSuffix0 << "();\n"
                    << "}\n\n";
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("table"),
                                                   new string(kP4rRegReplicasTablePrefix+reg->name_->toString()+kP4rRegReplicasSuffix0)));    

                oss.str("");
                oss << "table " << kP4rRegReplicasTablePrefix << reg->name_->toString() << kP4rRegReplicasSuffix1 << "{\n"
                    << "  actions {\n"
                    << "    " << kP4rRegReplicasActionPrefix << reg->name_->toString() << kP4rRegReplicasSuffix1 << ";\n"
                    << "}\n"
                    << "  default_action: " << kP4rRegReplicasActionPrefix << reg->name_->toString() << kP4rRegReplicasSuffix1 << "();\n"
                    << "}\n\n";
                newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                                   new string("table"),
                                                   new string(kP4rRegReplicasTablePrefix+reg->name_->toString()+kP4rRegReplicasSuffix1)));    

                break;
            }
        }
    }                       
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x278, %rsp            # imm = 0x278
movl %r8d, -0xa8(%rbp)
movl %ecx, -0xac(%rbp)
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, -0xa0(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x2e550
leaq -0xe0(%rbp), %rdi
movq %r14, %rsi
callq 0x6f4b6
leaq -0x128(%rbp), %rdi
movq %r14, -0xb8(%rbp)
movq %r14, %rsi
callq 0x6ed20
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
movq %rcx, -0xc0(%rbp)
cmpq %rcx, %rax
je 0x67b11
leaq -0x50(%rbp), %r13
movq %rax, -0xc8(%rbp)
movq (%rax), %r15
cmpl $0x4, 0x3c(%r15)
jne 0x67af9
leaq -0x110(%rbp), %r14
movq %r14, %rdi
movq -0xb8(%rbp), %rbx
movq %rbx, %rsi
callq 0x32ac0
movq %r15, %rdi
movq %r14, %rsi
callq 0x6fdc6
movb $0x1, %r14b
testb %al, -0xac(%rbp)
jne 0x66053
leaq -0xf8(%rbp), %rdi
movq %rbx, %rsi
callq 0x32ac0
movq %r15, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x6fdc6
movl %eax, %r14d
xorb $0x1, %r14b
andb -0xa8(%rbp), %r14b
movq -0xf8(%rbp), %rdi
testq %rdi, %rdi
je 0x66053
callq 0x2e360
movq -0x110(%rbp), %rdi
testq %rdi, %rdi
je 0x66064
callq 0x2e360
testb %r14b, %r14b
je 0x67af9
movq -0xe0(%rbp), %r12
movq -0xd8(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq %rax, %r12
je 0x67af9
movq (%r12), %rax
movq %rax, -0x30(%rbp)
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r13, %rdi
callq *(%rax)
movq (%r15), %rax
leaq -0x78(%rbp), %rdi
movq %r15, %rsi
callq *(%rax)
movq -0x48(%rbp), %rbx
movq -0x78(%rbp), %r14
movq -0x70(%rbp), %r13
cmpq %rbx, %r13
movq %rbx, %rdx
cmovbq %r13, %rdx
testq %rdx, %rdx
je 0x660d7
movq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x2e3c0
testl %eax, %eax
je 0x660d7
xorl %ebx, %ebx
jmp 0x660dd
cmpq %r13, %rbx
sete %bl
leaq -0x40(%rbp), %r13
leaq -0x68(%rbp), %rax
cmpq %rax, %r14
je 0x660f2
movq %r14, %rdi
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x66100
callq 0x2e360
testb %bl, %bl
jne 0x6611b
addq $0x8, %r12
cmpq -0x58(%rbp), %r12
leaq -0x50(%rbp), %r13
jne 0x66088
jmp 0x67af9
movq %r13, -0x50(%rbp)
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
leaq 0x117ae(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x298(%rbp), %rdi
movq %rbx, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x66152
callq 0x2e360
movl $0x9, %edx
leaq -0x2a0(%rbp), %rdi
leaq 0xfc2b(%rip), %rsi      # 0x75d90
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x13a45(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x13a1b(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xe, %edx
movq %r14, %rdi
leaq 0x13a46(%rip), %rsi     # 0x79c0f
callq 0x2e440
movl $0x13, %edx
movq %r14, %rdi
leaq 0x13a41(%rip), %rsi     # 0x79c1e
callq 0x2e440
movq -0x30(%rbp), %rax
movl 0x54(%rax), %esi
movq %r14, %rdi
callq 0x2e700
movq %rax, %r14
movl $0x2, %edx
movq %rax, %rdi
leaq 0xfc22(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x13e76(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x6622a
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movq -0x30(%rbp), %r13
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq %rax, %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
addq $0x10, %rax
movq %rax, (%r12)
movq %r12, %rdi
leaq 0x139bb(%rip), %rsi     # 0x79c32
leaq 0x139bc(%rip), %rdx     # 0x79c3a
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq 0x40(%r13), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movb $0x1, %al
movl %eax, -0xa4(%rbp)
movb $0x1, %r13b
movq %rbx, %rdi
leaq 0x13935(%rip), %rsi     # 0x79be6
callq 0x2e7e0
movq %r14, %rdx
addq $0x10, %rdx
movq %rdx, (%r14)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x662db
movq %rsi, (%r14)
movq (%rcx), %rdx
movq %rdx, 0x10(%r14)
jmp 0x662e1
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r13d, %r13d
movq -0x58(%rbp), %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x3e120
movq -0x58(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x66330
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x66346
xorl %r13d, %r13d
movl $0x0, -0xa4(%rbp)
leaq -0x78(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x66358
callq 0x2e360
movq %rbx, -0x50(%rbp)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
leaq 0x11571(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x2a0(%rbp), %r15
leaq -0x298(%rbp), %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x66396
callq 0x2e360
movl $0x9, %edx
movq %r15, %rdi
leaq 0xf9eb(%rip), %rsi      # 0x75d90
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %r13
movq %r13, %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x1381c(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x137d8(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xe, %edx
movq %r14, %rdi
leaq 0x13803(%rip), %rsi     # 0x79c0f
callq 0x2e440
movl $0x13, %edx
movq %r14, %rdi
leaq 0x137fe(%rip), %rsi     # 0x79c1e
callq 0x2e440
movq -0x30(%rbp), %rax
movl 0x54(%rax), %esi
movq %r14, %rdi
callq 0x2e700
movq %rax, %r14
movl $0x2, %edx
movq %rax, %rdi
leaq 0xf9df(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x13c33(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6646d
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, %rbx
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq %rax, %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
addq $0x10, %rax
movq %rax, (%r12)
movq %r12, %rdi
leaq 0x1377d(%rip), %rsi     # 0x79c32
leaq 0x1377e(%rip), %rdx     # 0x79c3a
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r13, %rdi
callq *(%rax)
movq %r13, %rdi
movb $0x1, %al
movl %eax, -0x58(%rbp)
movb $0x1, %r13b
leaq 0x13710(%rip), %rsi     # 0x79c00
callq 0x2e7e0
movq %r14, %rdx
addq $0x10, %rdx
movq %rdx, (%r14)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x6651a
movq %rsi, (%r14)
movq (%rcx), %rdx
movq %rdx, 0x10(%r14)
jmp 0x66520
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r13d, %r13d
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x3e120
movq %rbx, -0x78(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x6656a
movq %rbx, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x6657d
xorl %r13d, %r13d
movl $0x0, -0x58(%rbp)
leaq -0x78(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %r13
cmpq %r13, %rdi
je 0x6658f
callq 0x2e360
movq %r13, -0x50(%rbp)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
leaq 0x1133a(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x2a0(%rbp), %r15
leaq -0x298(%rbp), %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x665cd
callq 0x2e360
movl $0x16, %edx
movq %r15, %rdi
leaq 0x1365f(%rip), %rsi     # 0x79c3b
callq 0x2e440
movl $0x6, %edx
movq %r15, %rdi
leaq 0x13662(%rip), %rsi     # 0x79c52
callq 0x2e440
movq -0x30(%rbp), %r12
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x135b9(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x1358f(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0x8, %edx
movq %r14, %rdi
leaq 0x13604(%rip), %rsi     # 0x79c59
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %rdi
callq *(%rax)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x1355c(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xf787(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x27, %edx
movq %r14, %rdi
leaq 0x135b0(%rip), %rsi     # 0x79c62
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x135c4(%rip), %rsi     # 0x79c8a
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x135c7(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0x1123b(%rip), %rsi     # 0x77929
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x98(%rbp), %rdi
callq *(%rax)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x8, %edx
movq %rax, %rdi
leaq 0x13585(%rip), %rsi     # 0x79cb1
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xf6e5(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x13939(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x66771
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x66783
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x66791
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, %rbx
movl $0x20, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
addq $0x10, %rax
movq %rax, (%r14)
movq %r14, %rdi
leaq 0x134e0(%rip), %rsi     # 0x79cba
leaq 0x134e1(%rip), %rdx     # 0x79cc2
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %r12
movq %r12, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x1343a(%rip), %rcx     # 0x79c52
callq 0x2e420
movq %r13, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6683d
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x66845
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r12b
leaq -0x50(%rbp), %rdi
leaq 0x13379(%rip), %rsi     # 0x79be6
callq 0x2e7e0
movq %r15, %rdx
addq $0x10, %rdx
movq %rdx, (%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x66897
movq %rsi, (%r15)
movq (%rcx), %rdx
movq %rdx, 0x10(%r15)
jmp 0x6689d
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r12d, %r12d
movq %rbx, %rdi
movq -0x58(%rbp), %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3e120
movq %rbx, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x668eb
movq %rbx, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x668fd
xorl %r12d, %r12d
xorl %r13d, %r13d
leaq -0x98(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %r13
cmpq %r13, %rdi
je 0x6690f
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
leaq -0x50(%rbp), %r14
leaq -0x2a0(%rbp), %r15
je 0x6692c
callq 0x2e360
movq %r13, -0x50(%rbp)
movq %r14, %rdi
leaq 0x10fa1(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x298(%rbp), %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x6695f
callq 0x2e360
movl $0x16, %edx
movq %r15, %rdi
leaq 0x132cd(%rip), %rsi     # 0x79c3b
callq 0x2e440
movl $0x6, %edx
movq %r15, %rdi
leaq 0x132d0(%rip), %rsi     # 0x79c52
callq 0x2e440
movq -0x30(%rbp), %r12
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x13241(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x131fd(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0x8, %edx
movq %r14, %rdi
leaq 0x13272(%rip), %rsi     # 0x79c59
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %rdi
callq *(%rax)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x131e4(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xf3f5(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x27, %edx
movq %r14, %rdi
leaq 0x1321e(%rip), %rsi     # 0x79c62
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x13232(%rip), %rsi     # 0x79c8a
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x13235(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0x10ea9(%rip), %rsi     # 0x77929
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x98(%rbp), %rdi
callq *(%rax)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x8, %edx
movq %rax, %rdi
leaq 0x131f3(%rip), %rsi     # 0x79cb1
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xf353(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x135a7(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x66b03
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x66b15
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x66b23
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, %rbx
movl $0x20, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
addq $0x10, %rax
movq %rax, (%r14)
movq %r14, %rdi
leaq 0x1314e(%rip), %rsi     # 0x79cba
leaq 0x1314f(%rip), %rdx     # 0x79cc2
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %r12
movq %r12, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x130a8(%rip), %rcx     # 0x79c52
callq 0x2e420
movq %r13, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66bcf
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x66bd7
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r12b
leaq -0x50(%rbp), %rdi
leaq 0x13001(%rip), %rsi     # 0x79c00
callq 0x2e7e0
movq %r15, %rdx
addq $0x10, %rdx
movq %rdx, (%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x66c29
movq %rsi, (%r15)
movq (%rcx), %rdx
movq %rdx, 0x10(%r15)
jmp 0x66c2f
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r12d, %r12d
movq %rbx, %rdi
movq -0x58(%rbp), %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3e120
movq %rbx, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x66c7d
movq %rbx, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x66c8f
xorl %r12d, %r12d
xorl %r13d, %r13d
leaq -0x98(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %r13
cmpq %r13, %rdi
je 0x66ca1
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
leaq -0x50(%rbp), %r14
leaq -0x2a0(%rbp), %r15
je 0x66cbe
callq 0x2e360
movq %r13, -0x50(%rbp)
movq %r14, %rdi
leaq 0x10c0f(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x298(%rbp), %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x66cf1
callq 0x2e360
movl $0x7, %edx
movq %r15, %rdi
leaq 0xf5b3(%rip), %rsi      # 0x762b3
callq 0x2e440
movl $0x6, %edx
movq %r15, %rdi
leaq 0x12faf(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %r12
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12e95(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x12f65(%rip), %rsi     # 0x79cca
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x112f7(%rip), %rsi     # 0x78070
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x12ec5(%rip), %rsi     # 0x79c52
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %rdi
callq *(%rax)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12e24(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x12ef9(%rip), %rsi     # 0x79ccf
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x12eb7(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0x10b2b(%rip), %rsi     # 0x77929
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x98(%rbp), %rdi
callq *(%rax)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x7, %edx
movq %rax, %rdi
leaq 0x12eaa(%rip), %rsi     # 0x79ce6
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0xefd4(%rip), %rsi      # 0x75e24
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x13229(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x66e81
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x66e93
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x66ea1
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, %rbx
movl $0x20, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
addq $0x10, %rax
movq %rax, (%r14)
movq %r14, %rdi
leaq 0xdcd9(%rip), %rsi      # 0x74bc3
leaq 0xdcd8(%rip), %rdx      # 0x74bc9
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %r12
movq %r12, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12d9b(%rip), %rcx     # 0x79cc3
callq 0x2e420
movq %r13, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66f4d
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x66f55
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r12b
leaq -0x50(%rbp), %rdi
leaq 0x12c69(%rip), %rsi     # 0x79be6
callq 0x2e7e0
movq %r15, %rdx
addq $0x10, %rdx
movq %rdx, (%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x66fa7
movq %rsi, (%r15)
movq (%rcx), %rdx
movq %rdx, 0x10(%r15)
jmp 0x66fad
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r12d, %r12d
movq %rbx, %rdi
movq -0x58(%rbp), %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3e120
movq %rbx, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x66ffb
movq %rbx, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x6700d
xorl %r12d, %r12d
xorl %r13d, %r13d
leaq -0x98(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %r13
cmpq %r13, %rdi
je 0x6701f
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
leaq -0x50(%rbp), %r14
leaq -0x2a0(%rbp), %r15
je 0x6703c
callq 0x2e360
movq %r13, -0x50(%rbp)
movq %r14, %rdi
leaq 0x10891(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x298(%rbp), %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x6706f
callq 0x2e360
movl $0x7, %edx
movq %r15, %rdi
leaq 0xf235(%rip), %rsi      # 0x762b3
callq 0x2e440
movl $0x6, %edx
movq %r15, %rdi
leaq 0x12c31(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %r12
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12b31(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x12be7(%rip), %rsi     # 0x79cca
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x10f79(%rip), %rsi     # 0x78070
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x12b47(%rip), %rsi     # 0x79c52
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %rdi
callq *(%rax)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12ac0(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x12b7b(%rip), %rsi     # 0x79ccf
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x12b39(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0x107ad(%rip), %rsi     # 0x77929
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x98(%rbp), %rdi
callq *(%rax)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x7, %edx
movq %rax, %rdi
leaq 0x12b2c(%rip), %rsi     # 0x79ce6
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0xec56(%rip), %rsi      # 0x75e24
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x12eab(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x671ff
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x67211
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x6721f
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, %rbx
movl $0x20, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
addq $0x10, %rax
movq %rax, (%r14)
movq %r14, %rdi
leaq 0xd95b(%rip), %rsi      # 0x74bc3
leaq 0xd95a(%rip), %rdx      # 0x74bc9
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %r12
movq %r12, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12a1d(%rip), %rcx     # 0x79cc3
callq 0x2e420
movq %r13, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x672cb
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x672d3
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r12b
leaq -0x50(%rbp), %rdi
leaq 0x12905(%rip), %rsi     # 0x79c00
callq 0x2e7e0
movq %r15, %rdx
addq $0x10, %rdx
movq %rdx, (%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x67325
movq %rsi, (%r15)
movq (%rcx), %rdx
movq %rdx, 0x10(%r15)
jmp 0x6732b
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r12d, %r12d
movq %rbx, %rdi
movq -0x58(%rbp), %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3e120
movq %rbx, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x67379
movq %rbx, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x6738b
xorl %r12d, %r12d
xorl %r13d, %r13d
leaq -0x98(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %r13
cmpq %r13, %rdi
je 0x6739d
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
leaq -0x50(%rbp), %r14
leaq -0x2a0(%rbp), %r15
je 0x673ba
callq 0x2e360
movq %r13, -0x50(%rbp)
movq %r14, %rdi
leaq 0x10513(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x298(%rbp), %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x673ed
callq 0x2e360
movl $0x6, %edx
movq %r15, %rdi
leaq 0xe9ca(%rip), %rsi      # 0x75dc6
callq 0x2e440
movl $0x6, %edx
movq %r15, %rdi
leaq 0x127cf(%rip), %rsi     # 0x79bdf
callq 0x2e440
movq -0x30(%rbp), %r12
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12799(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x1276f(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xc, %edx
movq %r14, %rdi
leaq 0xe963(%rip), %rsi      # 0x75dd8
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0xe925(%rip), %rsi      # 0x75dae
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x12826(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %rdi
callq *(%rax)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12714(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xe93f(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xf1e7(%rip), %rsi      # 0x766e1
callq 0x2e440
movl $0x12, %edx
movq %r14, %rdi
leaq 0x127e0(%rip), %rsi     # 0x79cee
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x127a1(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x98(%rbp), %rdi
callq *(%rax)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12686(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x12474(%rip), %rsi     # 0x799e8
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x12b05(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x675a5
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x675b7
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x675c5
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, %rbx
movl $0x20, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
addq $0x10, %rax
movq %rax, (%r14)
movq %r14, %rdi
leaq 0x126f3(%rip), %rsi     # 0x79d01
leaq 0x126f1(%rip), %rdx     # 0x79d06
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq 0x40(%r12), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %r12
movq %r12, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12593(%rip), %rcx     # 0x79bdf
callq 0x2e420
movq %r13, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67671
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x67679
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r12b
leaq -0x50(%rbp), %rdi
leaq 0x12545(%rip), %rsi     # 0x79be6
callq 0x2e7e0
movq %r15, %rdx
addq $0x10, %rdx
movq %rdx, (%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x676cb
movq %rsi, (%r15)
movq (%rcx), %rdx
movq %rdx, 0x10(%r15)
jmp 0x676d1
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r12d, %r12d
movq %rbx, %rdi
movq -0x58(%rbp), %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3e120
movq %rbx, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x6771f
movq %rbx, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x67731
xorl %r12d, %r12d
xorl %r13d, %r13d
leaq -0x98(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x67743
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
leaq -0x50(%rbp), %r14
leaq -0x2a0(%rbp), %r15
je 0x67760
callq 0x2e360
movq %rbx, -0x50(%rbp)
movq %r14, %rdi
leaq 0x1016d(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x32e40
leaq -0x298(%rbp), %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67793
callq 0x2e360
movl $0x6, %edx
movq %r15, %rdi
leaq 0xe624(%rip), %rsi      # 0x75dc6
callq 0x2e440
movl $0x6, %edx
movq %r15, %rdi
leaq 0x12429(%rip), %rsi     # 0x79bdf
callq 0x2e440
movq -0x30(%rbp), %r13
movq 0x40(%r13), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x1240e(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x123ca(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xc, %edx
movq %r14, %rdi
leaq 0xe5be(%rip), %rsi      # 0x75dd8
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0xe580(%rip), %rsi      # 0x75dae
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x12481(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq 0x40(%r13), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %rdi
callq *(%rax)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x1238a(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xe59b(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xee43(%rip), %rsi      # 0x766e1
callq 0x2e440
movl $0x12, %edx
movq %r14, %rdi
leaq 0x1243c(%rip), %rsi     # 0x79cee
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x123fd(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq 0x40(%r13), %rsi
movq (%rsi), %rax
leaq -0x98(%rbp), %rdi
callq *(%rax)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x122fd(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x120d1(%rip), %rsi     # 0x799e8
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x12762(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x67948
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x6795a
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67968
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
movq %rax, %rdi
leaq -0x298(%rbp), %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
addq $0x10, %rax
movq %rax, (%r14)
movq %r14, %rdi
leaq 0x12351(%rip), %rsi     # 0x79d01
leaq 0x1234f(%rip), %rdx     # 0x79d06
callq 0x32e40
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r15
movq 0x40(%r13), %rsi
movq (%rsi), %rax
leaq -0x78(%rbp), %r13
movq %r13, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x121f2(%rip), %rcx     # 0x79bdf
callq 0x2e420
movq %rbx, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67a12
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x67a18
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %bl
leaq -0x50(%rbp), %rdi
leaq 0x121c1(%rip), %rsi     # 0x79c00
callq 0x2e7e0
movq %r15, %rdx
addq $0x10, %rdx
movq %rdx, (%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x67a69
movq %rsi, (%r15)
movq (%rcx), %rdx
movq %rdx, 0x10(%r15)
jmp 0x67a6f
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %ebx, %ebx
movq -0x58(%rbp), %rdi
movq %r12, %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3e120
movq -0x58(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x67ac0
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x67ad1
xorl %ebx, %ebx
xorl %r13d, %r13d
leaq -0x98(%rbp), %rdx
callq 0x3311a
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x67ae3
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
leaq -0x50(%rbp), %r13
je 0x67af9
callq 0x2e360
movq -0xc8(%rbp), %rax
addq $0x8, %rax
cmpq -0xc0(%rbp), %rax
jne 0x65fd2
movq -0x128(%rbp), %rdi
testq %rdi, %rdi
je 0x67b22
callq 0x2e360
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
je 0x67b33
callq 0x2e360
movq 0x2646e(%rip), %rsi     # 0x8dfa8
leaq -0x2a0(%rbp), %rdi
callq 0x2e230
leaq -0x230(%rbp), %rdi
callq 0x2e150
addq $0x278, %rsp            # imm = 0x278
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x67f65
movq %rax, %rbx
jmp 0x67f76
jmp 0x67f3a
movq %rax, -0x30(%rbp)
jmp 0x67cf2
jmp 0x67d8c
jmp 0x67c3b
jmp 0x67d0c
jmp 0x67d78
jmp 0x67eec
jmp 0x67c8a
jmp 0x67d8c
jmp 0x67d0c
jmp 0x67c3b
jmp 0x67d04
jmp 0x67f3a
jmp 0x67f03
jmp 0x67cb6
jmp 0x67c3b
movq %rax, -0x30(%rbp)
movq %r14, %rdi
jmp 0x67cf5
jmp 0x67cb6
jmp 0x67eec
jmp 0x67c8a
jmp 0x67cad
jmp 0x67d8c
jmp 0x67cad
jmp 0x67f3a
jmp 0x67d8c
jmp 0x67c8a
jmp 0x67cb6
jmp 0x67f3f
jmp 0x67cad
jmp 0x67cb6
jmp 0x67d04
jmp 0x67f3a
movq %rax, -0x30(%rbp)
movq %r12, %rdi
jmp 0x67cf5
jmp 0x67c8a
jmp 0x67d12
jmp 0x67d04
jmp 0x67c3b
jmp 0x67eec
movq %rax, -0x30(%rbp)
movq -0x58(%rbp), %rdi
jmp 0x67d2b
jmp 0x67c8a
jmp 0x67d04
jmp 0x67eec
jmp 0x67f3f
jmp 0x67d12
jmp 0x67f3f
jmp 0x67d0c
jmp 0x67d04
jmp 0x67d0c
jmp 0x67cad
jmp 0x67d8c
jmp 0x67eec
jmp 0x67d12
jmp 0x67cad
jmp 0x67f3f
movq %rax, -0x30(%rbp)
movq %r14, %rdi
jmp 0x67d2b
jmp 0x67d0c
jmp 0x67f3f
jmp 0x67cad
jmp 0x67f03
jmp 0x67d12
jmp 0x67f3f
jmp 0x67d04
movq %rax, -0x30(%rbp)
jmp 0x67e1e
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
jne 0x67f0f
jmp 0x67f14
jmp 0x67d8c
jmp 0x67eec
jmp 0x67d04
jmp 0x67f3a
movq %rax, -0x30(%rbp)
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x67cf2
callq 0x2e360
movq %r15, %rdi
callq 0x2e360
jmp 0x67dd0
jmp 0x67f3a
movq %rax, %r14
jmp 0x67f14
movq %rax, -0x30(%rbp)
jmp 0x67d28
movq %rax, -0x30(%rbp)
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x67d28
callq 0x2e360
movq %r15, %rdi
callq 0x2e360
jmp 0x67e16
movq %rax, -0x30(%rbp)
movq %r12, %rdi
jmp 0x67d2b
jmp 0x67f3a
movq %rax, %rbx
movq %r12, %rdi
jmp 0x67d6a
jmp 0x67f3a
jmp 0x67f3a
movq %rax, %rbx
movq %r14, %rdi
jmp 0x67d6a
jmp 0x67d84
jmp 0x67f19
movq %rax, %rbx
movq %r15, %rdi
callq 0x2e360
jmp 0x67e56
jmp 0x67d8c
jmp 0x67d8c
movq %rax, -0x30(%rbp)
jmp 0x67dd0
jmp 0x67d8c
jmp 0x67d8c
jmp 0x67d8c
movq %rax, %rbx
jmp 0x67e56
movq %rax, -0x30(%rbp)
jmp 0x67e16
jmp 0x67ddc
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x67dad
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x67dbf
callq 0x2e360
testb %bl, %bl
je 0x67dcb
movq %r15, %rdi
callq 0x2e360
testb %r13b, %r13b
je 0x67e1e
movq -0x58(%rbp), %rdi
jmp 0x67e19
jmp 0x67ddc
jmp 0x67ddc
jmp 0x67ddc
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x67df2
callq 0x2e360
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x67e04
callq 0x2e360
testb %r12b, %r12b
je 0x67e11
movq %r15, %rdi
callq 0x2e360
testb %r13b, %r13b
je 0x67e1e
movq %rbx, %rdi
callq 0x2e360
movq -0x30(%rbp), %rbx
jmp 0x67f54
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x67e3c
callq 0x2e360
testb %r13b, %r13b
je 0x67e49
movq %r14, %rdi
callq 0x2e360
cmpb $0x0, -0xa4(%rbp)
je 0x67f54
movq -0x58(%rbp), %rdi
jmp 0x67f4f
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x67e75
callq 0x2e360
testb %r13b, %r13b
je 0x67e82
movq %r14, %rdi
callq 0x2e360
cmpb $0x0, -0x58(%rbp)
jne 0x67e16
jmp 0x67e1e
movq %rax, %rbx
movq -0xf8(%rbp), %rdi
testq %rdi, %rdi
je 0x67f2a
callq 0x2e360
jmp 0x67f2a
jmp 0x67ebb
jmp 0x67ebb
jmp 0x67ebb
jmp 0x67f3f
jmp 0x67ebb
jmp 0x67ebb
jmp 0x67f3f
movq %rax, %rbx
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x67eef
callq 0x2e360
jmp 0x67eef
jmp 0x67f3f
jmp 0x67f3f
jmp 0x67eec
jmp 0x67eec
jmp 0x67f3f
jmp 0x67eec
jmp 0x67f3f
jmp 0x67eec
jmp 0x67f3a
jmp 0x67eec
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x67f42
callq 0x2e360
jmp 0x67f42
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67f14
callq 0x2e360
movq %r14, %rbx
jmp 0x67f54
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
jne 0x67f4f
jmp 0x67f54
movq %rax, %rbx
movq -0x110(%rbp), %rdi
testq %rdi, %rdi
jne 0x67f4f
jmp 0x67f54
jmp 0x67f3a
movq %rax, %rbx
jmp 0x67f54
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x67f54
callq 0x2e360
movq -0x128(%rbp), %rdi
testq %rdi, %rdi
je 0x67f65
callq 0x2e360
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
je 0x67f76
callq 0x2e360
movq 0x2602b(%rip), %rsi     # 0x8dfa8
leaq -0x2a0(%rbp), %rdi
callq 0x2e230
leaq -0x230(%rbp), %rdi
callq 0x2e150
movq %rbx, %rdi
callq 0x2e730