// File: /workspace/github_cpp_makefile_star2_O1/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, -0xac(%rbp)
movl %ecx, -0xb0(%rbp)
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, -0xa8(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x2e550
leaq -0xf8(%rbp), %rdi
movq %r14, %rsi
callq 0x6ff51
leaq -0x128(%rbp), %rdi
movq %r14, -0xb8(%rbp)
movq %r14, %rsi
callq 0x6f770
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
movq %rcx, -0xc0(%rbp)
cmpq %rcx, %rax
je 0x68362
leaq -0xe0(%rbp), %rbx
movq %rax, -0xc8(%rbp)
movq (%rax), %r15
cmpl $0x4, 0x3c(%r15)
jne 0x6834a
movq %rbx, %rdi
movq -0xb8(%rbp), %rsi
callq 0x32d96
movq %r15, %rdi
movq %rbx, %rsi
callq 0x708a0
movl %eax, %r12d
movb $0x1, %r14b
andb -0xb0(%rbp), %r12b
jne 0x667d4
leaq -0x110(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x32d96
movq %r15, %rdi
leaq -0x110(%rbp), %rsi
callq 0x708a0
movl %eax, %r14d
xorb $0x1, %r14b
andb -0xac(%rbp), %r14b
testb %r12b, %r12b
jne 0x667ea
movq -0x110(%rbp), %rdi
testq %rdi, %rdi
je 0x667ea
callq 0x2e360
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
je 0x667fb
callq 0x2e360
testb %r14b, %r14b
je 0x6834a
movq -0xf8(%rbp), %r14
movq -0xf0(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq %rax, %r14
je 0x6834a
movq (%r14), %rax
movq %rax, -0x30(%rbp)
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq (%r15), %rax
leaq -0x80(%rbp), %rdi
movq %r15, %rsi
callq *(%rax)
movq -0x48(%rbp), %rbx
movq -0x78(%rbp), %r12
cmpq %rbx, %r12
movq %rbx, %rdx
cmovbq %r12, %rdx
testq %rdx, %rdx
je 0x6686b
movq -0x80(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x2e3c0
testl %eax, %eax
sete %r13b
jmp 0x6686e
movb $0x1, %r13b
cmpq %r12, %rbx
sete %bl
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x66886
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x66898
callq 0x2e360
andb %bl, %r13b
jne 0x668b7
addq $0x8, %r14
cmpq -0x58(%rbp), %r14
leaq -0xe0(%rbp), %rbx
jne 0x6681f
jmp 0x6834a
leaq -0x40(%rbp), %rbx
movq %rbx, -0x50(%rbp)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
leaq 0x1100e(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x33112
leaq -0x298(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x668f5
callq 0x2e360
movl $0x9, %edx
leaq -0x2a0(%rbp), %rdi
leaq 0xf488(%rip), %rsi      # 0x75d90
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x132a3(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x13279(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xe, %edx
movq %r14, %rdi
leaq 0x132a4(%rip), %rsi     # 0x79c0f
callq 0x2e440
movl $0x13, %edx
movq %r14, %rdi
leaq 0x1329f(%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 0xf480(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x136d4(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x669cc
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movl $0x20, %edi
movq %rax, -0x58(%rbp)
callq 0x2e3a0
movq %rax, %r13
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rdi
addq $0x10, %rax
movq %rax, (%rdi)
movb $0x1, %r15b
movb $0x1, %r12b
movq %rdi, -0x60(%rbp)
leaq 0x1321b(%rip), %rsi     # 0x79c32
leaq 0x1321c(%rip), %rdx     # 0x79c3a
callq 0x33112
xorl %r12d, %r12d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movb $0x1, %r15b
movb $0x1, %r12b
movq %rbx, %rdi
leaq 0x1318f(%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 0x66a81
movq %rsi, (%r14)
movq (%rcx), %rdx
movq %rdx, 0x10(%r14)
jmp 0x66a87
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq -0x60(%rbp), %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r12d, %r12d
movq -0x58(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x66ad7
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x66ae6
xorl %r12d, %r12d
xorl %r15d, %r15d
leaq -0x80(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x66af8
callq 0x2e360
movq %rbx, -0x50(%rbp)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
leaq 0x10dd1(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x33112
leaq -0x298(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x66b32
callq 0x2e360
movl $0x9, %edx
leaq -0x2a0(%rbp), %rdi
leaq 0xf24b(%rip), %rsi      # 0x75d90
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x13080(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x1303c(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xe, %edx
movq %r14, %rdi
leaq 0x13067(%rip), %rsi     # 0x79c0f
callq 0x2e440
movl $0x13, %edx
movq %r14, %rdi
leaq 0x13062(%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 0xf243(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x13497(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x66c09
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movl $0x20, %edi
movq %rax, -0x58(%rbp)
callq 0x2e3a0
movq %rax, %r13
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rdi
addq $0x10, %rax
movq %rax, (%rdi)
movb $0x1, %r15b
movb $0x1, %r12b
movq %rdi, -0x60(%rbp)
leaq 0x12fde(%rip), %rsi     # 0x79c32
leaq 0x12fdf(%rip), %rdx     # 0x79c3a
callq 0x33112
xorl %r12d, %r12d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movb $0x1, %r15b
movb $0x1, %r12b
movq %rbx, %rdi
leaq 0x12f6c(%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 0x66cbe
movq %rsi, (%r14)
movq (%rcx), %rdx
movq %rdx, 0x10(%r14)
jmp 0x66cc4
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq -0x60(%rbp), %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r12d, %r12d
movq -0x58(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x66d14
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x66d23
xorl %r12d, %r12d
xorl %r15d, %r15d
leaq -0x80(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x66d35
callq 0x2e360
movq %rbx, -0x50(%rbp)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
leaq 0x10b94(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x33112
leaq -0x298(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x66d6f
callq 0x2e360
movl $0x16, %edx
leaq -0x2a0(%rbp), %r12
movq %r12, %rdi
leaq 0x12eb6(%rip), %rsi     # 0x79c3b
callq 0x2e440
movl $0x6, %edx
movq %r12, %rdi
leaq 0x12eb9(%rip), %rsi     # 0x79c52
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x12e12(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x12de8(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0x8, %edx
movq %r14, %rdi
leaq 0x12e5d(%rip), %rsi     # 0x79c59
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rdi
callq *(%rax)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12db2(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xefdd(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x27, %edx
movq %r14, %rdi
leaq 0x12e06(%rip), %rsi     # 0x79c62
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x12e1a(%rip), %rsi     # 0x79c8a
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x12e1d(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0x10a91(%rip), %rsi     # 0x77929
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xa0(%rbp), %rdi
callq *(%rax)
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x8, %edx
movq %rax, %rdi
leaq 0x12dd8(%rip), %rsi     # 0x79cb1
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xef38(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x1318c(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x66f1e
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x66f30
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x66f3e
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rdi
addq $0x10, %rax
movq %rax, (%rdi)
movb $0x1, %r13b
movb $0x1, %r15b
movq %rdi, -0x60(%rbp)
leaq 0x12d31(%rip), %rsi     # 0x79cba
leaq 0x12d32(%rip), %rdx     # 0x79cc2
callq 0x33112
xorl %r15d, %r15d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12c85(%rip), %rcx     # 0x79c52
callq 0x2e420
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66ff6
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x66ffc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r15b
leaq -0x50(%rbp), %rdi
leaq 0x12bc2(%rip), %rsi     # 0x79be6
callq 0x2e7e0
movq %r12, %rdx
addq $0x10, %rdx
movq %rdx, (%r12)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x67051
movq %rsi, (%r12)
movq (%rcx), %rdx
movq %rdx, 0x10(%r12)
jmp 0x67057
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq -0x60(%rbp), %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x8(%r12)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r15d, %r15d
movq -0x58(%rbp), %rdi
movq %r14, %rsi
movq %r12, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x670ab
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x670bd
xorl %r15d, %r15d
xorl %r13d, %r13d
leaq -0xa0(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x670cf
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
leaq -0x298(%rbp), %r15
leaq -0x50(%rbp), %r14
je 0x670ec
callq 0x2e360
movq %rbx, -0x50(%rbp)
movq %r14, %rdi
leaq 0x107e1(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x33112
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6711b
callq 0x2e360
movl $0x16, %edx
leaq -0x2a0(%rbp), %r12
movq %r12, %rdi
leaq 0x12b0a(%rip), %rsi     # 0x79c3b
callq 0x2e440
movl $0x6, %edx
movq %r12, %rdi
leaq 0x12b0d(%rip), %rsi     # 0x79c52
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x12a80(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x12a3c(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0x8, %edx
movq %r14, %rdi
leaq 0x12ab1(%rip), %rsi     # 0x79c59
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rdi
callq *(%rax)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12a20(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xec31(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x27, %edx
movq %r14, %rdi
leaq 0x12a5a(%rip), %rsi     # 0x79c62
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x12a6e(%rip), %rsi     # 0x79c8a
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x12a71(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0x106e5(%rip), %rsi     # 0x77929
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xa0(%rbp), %rdi
callq *(%rax)
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x8, %edx
movq %rax, %rdi
leaq 0x12a2c(%rip), %rsi     # 0x79cb1
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xeb8c(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x12de0(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x672ca
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x672dc
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x672ea
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movb $0x1, %r13b
movb $0x1, %r15b
movq %rax, -0x60(%rbp)
movq %rax, %rdi
leaq 0x12982(%rip), %rsi     # 0x79cba
leaq 0x12983(%rip), %rdx     # 0x79cc2
callq 0x33112
xorl %r15d, %r15d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x128d6(%rip), %rcx     # 0x79c52
callq 0x2e420
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x673a5
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x673ab
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r15b
leaq -0x50(%rbp), %rdi
leaq 0x1282d(%rip), %rsi     # 0x79c00
callq 0x2e7e0
movq %r12, %rdx
addq $0x10, %rdx
movq %rdx, (%r12)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x67400
movq %rsi, (%r12)
movq (%rcx), %rdx
movq %rdx, 0x10(%r12)
jmp 0x67406
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r12)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r15d, %r15d
movq -0x58(%rbp), %rdi
movq %r14, %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x6745a
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x6746c
xorl %r15d, %r15d
xorl %r13d, %r13d
leaq -0xa0(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x6747e
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
leaq -0x298(%rbp), %r15
leaq -0x50(%rbp), %r14
je 0x6749b
callq 0x2e360
movq %rbx, -0x50(%rbp)
movq %r14, %rdi
leaq 0x10432(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x33112
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x674ca
callq 0x2e360
movl $0x7, %edx
leaq -0x2a0(%rbp), %r12
movq %r12, %rdi
leaq 0xedd3(%rip), %rsi      # 0x762b3
callq 0x2e440
movl $0x6, %edx
movq %r12, %rdi
leaq 0x127cf(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x126b7(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x12787(%rip), %rsi     # 0x79cca
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x10b19(%rip), %rsi     # 0x78070
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x126e7(%rip), %rsi     # 0x79c52
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rdi
callq *(%rax)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x12643(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x12718(%rip), %rsi     # 0x79ccf
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x126d6(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0x1034a(%rip), %rsi     # 0x77929
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xa0(%rbp), %rdi
callq *(%rax)
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x7, %edx
movq %rax, %rdi
leaq 0x126c6(%rip), %rsi     # 0x79ce6
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0xe7f0(%rip), %rsi      # 0x75e24
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x12a45(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x67665
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x67677
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67685
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movb $0x1, %r13b
movb $0x1, %r15b
movq %rax, -0x60(%rbp)
movq %rax, %rdi
leaq 0xd4f0(%rip), %rsi      # 0x74bc3
leaq 0xd4ef(%rip), %rdx      # 0x74bc9
callq 0x33112
xorl %r15d, %r15d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x125ac(%rip), %rcx     # 0x79cc3
callq 0x2e420
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67740
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x67746
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r15b
leaq -0x50(%rbp), %rdi
leaq 0x12478(%rip), %rsi     # 0x79be6
callq 0x2e7e0
movq %r12, %rdx
addq $0x10, %rdx
movq %rdx, (%r12)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x6779b
movq %rsi, (%r12)
movq (%rcx), %rdx
movq %rdx, 0x10(%r12)
jmp 0x677a1
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r12)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r15d, %r15d
movq -0x58(%rbp), %rdi
movq %r14, %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x677f5
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x67807
xorl %r15d, %r15d
xorl %r13d, %r13d
leaq -0xa0(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x67819
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
leaq -0x298(%rbp), %r15
leaq -0x50(%rbp), %r14
je 0x67836
callq 0x2e360
movq %rbx, -0x50(%rbp)
movq %r14, %rdi
leaq 0x10097(%rip), %rdx     # 0x778db
movq %rdx, %rsi
callq 0x33112
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67865
callq 0x2e360
movl $0x7, %edx
leaq -0x2a0(%rbp), %r12
movq %r12, %rdi
leaq 0xea38(%rip), %rsi      # 0x762b3
callq 0x2e440
movl $0x6, %edx
movq %r12, %rdi
leaq 0x12434(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x12336(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x123ec(%rip), %rsi     # 0x79cca
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x1077e(%rip), %rsi     # 0x78070
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x1234c(%rip), %rsi     # 0x79c52
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rdi
callq *(%rax)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x122c2(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x16, %edx
movq %r14, %rdi
leaq 0x1237d(%rip), %rsi     # 0x79ccf
callq 0x2e440
movl $0xf, %edx
movq %r14, %rdi
leaq 0x1233b(%rip), %rsi     # 0x79ca1
callq 0x2e440
movl $0x1, %edx
movq %r14, %rdi
leaq 0xffaf(%rip), %rsi      # 0x77929
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xa0(%rbp), %rdi
callq *(%rax)
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0x7, %edx
movq %rax, %rdi
leaq 0x1232b(%rip), %rsi     # 0x79ce6
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0xe455(%rip), %rsi      # 0x75e24
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x126aa(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x67a00
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x67a12
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67a20
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movb $0x1, %r13b
movb $0x1, %r15b
movq %rax, -0x60(%rbp)
movq %rax, %rdi
leaq 0xd155(%rip), %rsi      # 0x74bc3
leaq 0xd154(%rip), %rdx      # 0x74bc9
callq 0x33112
xorl %r15d, %r15d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12211(%rip), %rcx     # 0x79cc3
callq 0x2e420
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67adb
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x67ae1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r15b
leaq -0x50(%rbp), %rdi
leaq 0x120f7(%rip), %rsi     # 0x79c00
callq 0x2e7e0
movq %r12, %rdx
addq $0x10, %rdx
movq %rdx, (%r12)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x67b36
movq %rsi, (%r12)
movq (%rcx), %rdx
movq %rdx, 0x10(%r12)
jmp 0x67b3c
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r12)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r15d, %r15d
movq -0x58(%rbp), %rdi
movq %r14, %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x67b90
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x67ba2
xorl %r15d, %r15d
xorl %r13d, %r13d
leaq -0xa0(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x67bb4
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
leaq -0x298(%rbp), %r15
leaq -0x50(%rbp), %r14
je 0x67bd1
callq 0x2e360
movq %rbx, -0x50(%rbp)
movq %r14, %rdi
leaq 0xfcfc(%rip), %rdx      # 0x778db
movq %rdx, %rsi
callq 0x33112
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67c00
callq 0x2e360
movl $0x6, %edx
leaq -0x2a0(%rbp), %r12
movq %r12, %rdi
leaq 0xe1b0(%rip), %rsi      # 0x75dc6
callq 0x2e440
movl $0x6, %edx
movq %r12, %rdi
leaq 0x11fb5(%rip), %rsi     # 0x79bdf
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x11f81(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x11f57(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xc, %edx
movq %r14, %rdi
leaq 0xe14b(%rip), %rsi      # 0x75dd8
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0xe10d(%rip), %rsi      # 0x75dae
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x1200e(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rdi
callq *(%rax)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x11ef9(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xe124(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xe9cc(%rip), %rsi      # 0x766e1
callq 0x2e440
movl $0x12, %edx
movq %r14, %rdi
leaq 0x11fc5(%rip), %rsi     # 0x79cee
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x11f86(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xa0(%rbp), %rdi
callq *(%rax)
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x11e68(%rip), %rsi     # 0x79be6
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x11c56(%rip), %rsi     # 0x799e8
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x122e7(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x67dc3
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x67dd5
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67de3
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movq %rax, -0x58(%rbp)
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rdi
addq $0x10, %rax
movq %rax, (%rdi)
movb $0x1, %r13b
movb $0x1, %r15b
movq %rdi, -0x60(%rbp)
leaq 0x11ed3(%rip), %rsi     # 0x79d01
leaq 0x11ed1(%rip), %rdx     # 0x79d06
callq 0x33112
xorl %r15d, %r15d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x11d6d(%rip), %rcx     # 0x79bdf
callq 0x2e420
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67e9b
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x67ea1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %r13b
movb $0x1, %r15b
leaq -0x50(%rbp), %rdi
leaq 0x11d1d(%rip), %rsi     # 0x79be6
callq 0x2e7e0
movq %r12, %rdx
addq $0x10, %rdx
movq %rdx, (%r12)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x67ef6
movq %rsi, (%r12)
movq (%rcx), %rdx
movq %rdx, 0x10(%r12)
jmp 0x67efc
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq -0x60(%rbp), %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x8(%r12)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %r15d, %r15d
movq -0x58(%rbp), %rdi
movq %r14, %rsi
movq %r12, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x67f50
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x67f62
xorl %r15d, %r15d
xorl %r13d, %r13d
leaq -0xa0(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rbx
cmpq %rbx, %rdi
je 0x67f74
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
leaq -0x298(%rbp), %r15
leaq -0x50(%rbp), %r14
je 0x67f91
callq 0x2e360
movq %rbx, -0x50(%rbp)
movq %r14, %rdi
leaq 0xf93c(%rip), %rdx      # 0x778db
movq %rdx, %rsi
callq 0x33112
movq %r15, %rdi
movq %r14, %rsi
callq 0x2e610
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67fc0
callq 0x2e360
movl $0x6, %edx
leaq -0x2a0(%rbp), %r12
movq %r12, %rdi
leaq 0xddf0(%rip), %rsi      # 0x75dc6
callq 0x2e440
movl $0x6, %edx
movq %r12, %rdi
leaq 0x11bf5(%rip), %rsi     # 0x79bdf
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %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 0x11bdb(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0x11b97(%rip), %rsi     # 0x79bd0
callq 0x2e440
movl $0xc, %edx
movq %r14, %rdi
leaq 0xdd8b(%rip), %rsi      # 0x75dd8
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0xdd4d(%rip), %rsi      # 0x75dae
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x11c4e(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rdi
callq *(%rax)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x11b53(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xdd64(%rip), %rsi      # 0x75e25
callq 0x2e440
movl $0x2, %edx
movq %r14, %rdi
leaq 0xe60c(%rip), %rsi      # 0x766e1
callq 0x2e440
movl $0x12, %edx
movq %r14, %rdi
leaq 0x11c05(%rip), %rsi     # 0x79cee
callq 0x2e440
movl $0x6, %edx
movq %r14, %rdi
leaq 0x11bc6(%rip), %rsi     # 0x79cc3
callq 0x2e440
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xa0(%rbp), %rdi
callq *(%rax)
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq %r14, %rdi
callq 0x2e440
movq %rax, %r14
movl $0xe, %edx
movq %rax, %rdi
leaq 0x11ac2(%rip), %rsi     # 0x79c00
callq 0x2e440
movl $0x4, %edx
movq %r14, %rdi
leaq 0x11896(%rip), %rsi     # 0x799e8
callq 0x2e440
movl $0x3, %edx
movq %r14, %rdi
leaq 0x11f27(%rip), %rsi     # 0x7a08d
callq 0x2e440
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x68183
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x68195
callq 0x2e360
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x681a3
callq 0x2e360
movl $0x58, %edi
callq 0x2e3a0
movl $0x20, %edi
movq %rax, -0x58(%rbp)
callq 0x2e3a0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x2e660
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, (%rax)
movb $0x1, %r13b
movb $0x1, %r15b
movq %rax, -0x60(%rbp)
movq %rax, %rdi
leaq 0x11b10(%rip), %rsi     # 0x79d01
leaq 0x11b0e(%rip), %rdx     # 0x79d06
callq 0x33112
xorl %r15d, %r15d
movl $0x20, %edi
callq 0x2e3a0
movq %rax, %r12
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x80(%rbp), %rbx
movq %rbx, %rdi
callq *(%rax)
movl $0x6, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x119aa(%rip), %rcx     # 0x79bdf
callq 0x2e420
leaq -0x40(%rbp), %r15
movq %r15, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6825e
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x68265
movups (%rcx), %xmm0
movups %xmm0, (%r15)
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 0x11974(%rip), %rsi     # 0x79c00
callq 0x2e7e0
movq %r12, %rdx
addq $0x10, %rdx
movq %rdx, (%r12)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x682b9
movq %rsi, (%r12)
movq (%rcx), %rdx
movq %rdx, 0x10(%r12)
jmp 0x682bf
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%r12)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %ebx, %ebx
movq -0x58(%rbp), %rdi
movq %r14, %rsi
movq -0x60(%rbp), %rdx
movq %r12, %rcx
callq 0x3e566
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x68312
movq %rax, (%rsi)
addq $0x8, 0x8(%rdi)
jmp 0x68323
xorl %ebx, %ebx
xorl %r13d, %r13d
leaq -0xa0(%rbp), %rdx
callq 0x333de
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x68331
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
leaq -0xe0(%rbp), %rbx
je 0x6834a
callq 0x2e360
movq -0xc8(%rbp), %rax
addq $0x8, %rax
cmpq -0xc0(%rbp), %rax
jne 0x66766
movq -0x128(%rbp), %rdi
testq %rdi, %rdi
je 0x68373
callq 0x2e360
movq -0xf8(%rbp), %rdi
testq %rdi, %rdi
je 0x68384
callq 0x2e360
movq 0x25c1d(%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 0x68748
movq %rax, %rbx
jmp 0x68759
jmp 0x6871d
jmp 0x6871d
jmp 0x6851f
jmp 0x6851f
jmp 0x6871d
jmp 0x6850a
jmp 0x684d2
jmp 0x686f4
jmp 0x6871d
movq %rax, -0x30(%rbp)
movq %r14, %rdi
callq 0x2e360
jmp 0x6854d
jmp 0x6871d
movq %rax, -0x30(%rbp)
jmp 0x685df
jmp 0x68722
jmp 0x6851f
jmp 0x686db
jmp 0x68722
movq %rax, -0x30(%rbp)
movb $0x1, %bl
movb $0x1, %r13b
jmp 0x685b4
jmp 0x6850a
jmp 0x684f2
jmp 0x6851f
jmp 0x6871d
jmp 0x684f2
jmp 0x6851f
jmp 0x686db
movq %rax, -0x30(%rbp)
movb $0x1, %bl
movb $0x1, %r13b
jmp 0x685a2
jmp 0x68722
jmp 0x686f4
jmp 0x6871d
jmp 0x686f4
jmp 0x684d2
jmp 0x6871d
jmp 0x686f4
jmp 0x68535
jmp 0x6851f
jmp 0x684d2
jmp 0x68722
jmp 0x6851f
jmp 0x6851f
jmp 0x68722
jmp 0x686db
jmp 0x686f4
jmp 0x6850a
jmp 0x68722
jmp 0x686db
jmp 0x684f2
jmp 0x684d2
jmp 0x6871d
jmp 0x6871d
jmp 0x686f4
jmp 0x686db
movq %rax, %rbx
movq %r14, %rdi
callq 0x2e360
jmp 0x68588
jmp 0x6850a
jmp 0x684f2
jmp 0x68527
jmp 0x6871d
jmp 0x686db
movq %rax, %rbx
movb $0x1, %r15b
movb $0x1, %r13b
jmp 0x68656
jmp 0x6871d
jmp 0x686f4
movq %rax, %rbx
movb $0x1, %r15b
movb $0x1, %r13b
jmp 0x68644
jmp 0x6851f
jmp 0x686f4
movq %rax, %r14
jmp 0x68705
movq %rax, %rbx
movb $0x1, %r12b
movb $0x1, %r15b
jmp 0x68607
movq %rax, %rbx
movq %r13, %rdi
callq 0x2e360
jmp 0x6857b
jmp 0x6871d
jmp 0x68566
movq %rax, -0x30(%rbp)
movb $0x1, %r13b
jmp 0x685d1
jmp 0x68585
jmp 0x68566
jmp 0x68585
jmp 0x68566
jmp 0x68585
movq %rax, -0x30(%rbp)
jmp 0x685c3
jmp 0x6856e
jmp 0x68566
movq %rax, %rbx
jmp 0x68666
movq %rax, %rbx
jmp 0x68617
jmp 0x68578
movq %rax, %rbx
movb $0x1, %r15b
jmp 0x68625
jmp 0x68585
movq %rax, %rbx
movb $0x1, %r13b
jmp 0x68674
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x685a2
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x685b4
callq 0x2e360
testb %bl, %bl
je 0x685c0
movq %r12, %rdi
callq 0x2e360
xorl %r15d, %r15d
testb %r15b, %r15b
je 0x685d1
movq -0x60(%rbp), %rdi
callq 0x2e360
testb %r13b, %r13b
je 0x685df
movq -0x58(%rbp), %rdi
callq 0x2e360
movq -0x30(%rbp), %rbx
jmp 0x68737
jmp 0x6862f
jmp 0x6862f
jmp 0x6862f
jmp 0x6862f
jmp 0x685f2
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x68607
callq 0x2e360
testb %r12b, %r12b
je 0x68614
movq %r14, %rdi
callq 0x2e360
xorl %r12d, %r12d
testb %r12b, %r12b
je 0x68625
movq -0x60(%rbp), %rdi
callq 0x2e360
testb %r15b, %r15b
jne 0x6867d
jmp 0x68737
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x68644
callq 0x2e360
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x68656
callq 0x2e360
testb %r15b, %r15b
je 0x68663
movq %r12, %rdi
callq 0x2e360
xorl %r15d, %r15d
testb %r15b, %r15b
je 0x68674
movq -0x60(%rbp), %rdi
callq 0x2e360
testb %r13b, %r13b
je 0x68737
movq -0x58(%rbp), %rdi
jmp 0x68732
movq %rax, %rbx
movq -0x110(%rbp), %rdi
testq %rdi, %rdi
je 0x6870d
callq 0x2e360
jmp 0x6870d
jmp 0x686aa
jmp 0x686aa
jmp 0x686aa
jmp 0x686aa
jmp 0x68722
jmp 0x686aa
jmp 0x68722
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x686de
callq 0x2e360
jmp 0x686de
jmp 0x686db
jmp 0x68722
jmp 0x68722
jmp 0x686db
jmp 0x686db
jmp 0x68722
jmp 0x686db
jmp 0x68722
jmp 0x6871d
jmp 0x686db
movq %rax, %rbx
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x68725
callq 0x2e360
jmp 0x68725
jmp 0x686f4
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x68705
callq 0x2e360
movq %r14, %rbx
jmp 0x68737
movq %rax, %rbx
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
jne 0x68732
jmp 0x68737
jmp 0x6871d
movq %rax, %rbx
jmp 0x68737
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x68737
callq 0x2e360
movq -0x128(%rbp), %rdi
testq %rdi, %rdi
je 0x68748
callq 0x2e360
movq -0xf8(%rbp), %rdi
testq %rdi, %rdi
je 0x68759
callq 0x2e360
movq 0x25848(%rip), %rsi     # 0x8dfa8
leaq -0x2a0(%rbp), %rdi
callq 0x2e230
leaq -0x230(%rbp), %rdi
callq 0x2e150
movq %rbx, %rdi
callq 0x2e730