// File: /workspace/github_cpp_makefile_star2_O1/eniac[P]Mantis/src/compile/compile_c.cpp
// Function: mirrorRegisterArgForIng(std::vector<AstNode*, std::allocator<AstNode*>>, std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char>>&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool)
void mirrorRegisterArgForIng(std::vector<AstNode*> nodeArray, ostringstream& oss_reaction_mirror, int iso_opt, string prefix_str, bool forIng) {

    vector<ReactionArgNode*> reaction_args = findReactionArgs(nodeArray);
    if(((unsigned int)iso_opt) & 0b1) {
        // Read replicas based on mv for each reg arg
        for (auto ra : reaction_args) {
            if(ra->argType_==ReactionArgNode::REGISTER) {
                if(forIng) {
                    if(!findRegargInIng(ra, nodeArray)) {
                        // Skip egr reg
                        continue;
                    }
                } else {
                    if(findRegargInIng(ra, nodeArray)) {
                        // Skip ing reg
                        continue;
                    }
                }
                bool is_valid_tmp = false;
                P4RegisterNode* target_reg = NULL;
                for (auto n : nodeArray) {
                    if (typeContains(n, "P4RegisterNode")) {
                        target_reg = dynamic_cast<P4RegisterNode*>(n);
                        if(target_reg->name_->toString().compare(ra->arg_->toString())==0) {
                            is_valid_tmp = true;
                            break;
                        }
                    }
                }    
                // Currently assuming non-64b reg to isolate
                if(is_valid_tmp) {
                    if(ra->index2_) {
                        if(forIng) {
                            oss_reaction_mirror << str(boost::format(kRegArgIsoMirrorT) % ra->arg_->toString() % std::to_string(target_reg->width_) % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(std::stoi(ra->index2_->toString())) % "__mantis__mv_ing");
                        } else {
                            oss_reaction_mirror << str(boost::format(kRegArgIsoMirrorT) % ra->arg_->toString() % std::to_string(target_reg->width_) % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(std::stoi(ra->index2_->toString())) % "__mantis__mv_egr");
                        }
                    } else {
                        if(forIng) {
                            oss_reaction_mirror << str(boost::format(kRegArgIsoMirrorT) % ra->arg_->toString() % std::to_string(target_reg->width_) % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(target_reg->instanceCount_) % "__mantis__mv_ing");
                        } else {
                            oss_reaction_mirror << str(boost::format(kRegArgIsoMirrorT) % ra->arg_->toString() % std::to_string(target_reg->width_) % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(target_reg->instanceCount_) % "__mantis__mv_egr");
                        }
                    }
                } else {
                    PANIC("WARNING: Invalid register argument\n");
                }
            }
        }

        // After all arg mirroring, flip mv
        if(forIng) {
            oss_reaction_mirror << "\n  __mantis__flip_mv_ing;\n\n";
        } else {
            oss_reaction_mirror << "\n  __mantis__flip_mv_egr;\n\n";
        }
    } else {
        // Directly mirror the value to the correponding control plane array
        for (auto ra : reaction_args) {
            if(ra->argType_==ReactionArgNode::REGISTER) {
                if(forIng) {
                    if(!findRegargInIng(ra, nodeArray)) {
                        // Skip egr reg
                        continue;
                    }
                } else {
                    if(findRegargInIng(ra, nodeArray)) {
                        // Skip ing reg
                        continue;
                    }
                }                
                bool is_valid_tmp = false;
                P4RegisterNode* target_reg = NULL;
                for (auto n : nodeArray) {
                    if (typeContains(n, "P4RegisterNode")) {
                        target_reg = dynamic_cast<P4RegisterNode*>(n);
                        if(target_reg->name_->toString().compare(ra->arg_->toString())==0) {
                            is_valid_tmp = true;
                            break;
                        }
                    }
                }              
                // Check the register width
                int width = findRegargWidth(ra, nodeArray);
                if(is_valid_tmp) {
                    if(ra->index2_) {
                        if (width==64) {
                            oss_reaction_mirror << str(boost::format(kRegArgMirrorT_64) % ra->arg_->toString() % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(std::stoi(ra->index2_->toString())) % ra->arg_->toString());
                        } else {
                            oss_reaction_mirror << str(boost::format(kRegArgMirrorT_32) % std::to_string(target_reg->width_) % ra->arg_->toString() % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(std::stoi(ra->index2_->toString())) % ra->arg_->toString());
                        }
                    } else {
                        if (width==64) {
                            oss_reaction_mirror << str(boost::format(kRegArgMirrorT_64) % ra->arg_->toString() % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(target_reg->instanceCount_) % ra->arg_->toString());
                        } else {
                            oss_reaction_mirror << str(boost::format(kRegArgMirrorT_32) % std::to_string(target_reg->width_) % ra->arg_->toString() % std::to_string(target_reg->instanceCount_) % prefix_str % std::to_string(target_reg->instanceCount_) % ra->arg_->toString());
                        }                        
                    }
                } else {
                    PRINT_VERBOSE("WARNING: Invalid register argument\n");
                }
            }
        }
    }

    // Before reaction logic, flip __vv from working copy for prepare phase
    if(forIng) {
        if(((unsigned int)iso_opt) & 0b10) {
            oss_reaction_mirror << "\n  __mantis__flip_vv_ing;\n\n";
            // Note that __mantis__mbl_updated_ing=1 not appended as it is only triggered when
            // there are entries actually prepared for execution
        }
    } else {
        if(((unsigned int)iso_opt) & 0b10) {
            oss_reaction_mirror << "\n  __mantis__flip_vv_egr;\n\n";
        }        
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2c8, %rsp            # imm = 0x2C8
movl %r8d, -0xdc(%rbp)
movq %rcx, -0x150(%rbp)
movl %edx, %r14d
movq %rsi, -0xf0(%rbp)
movq %rdi, %r13
leaq -0x2e8(%rbp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
callq 0x70010
movq (%rbx), %r15
movq 0x8(%rbx), %rax
movl %r14d, -0x23c(%rbp)
testb $0x1, %r14b
movq %r13, -0x158(%rbp)
movq %rax, -0x128(%rbp)
jne 0x435d0
cmpq %rax, %r15
je 0x44860
movq %rax, %r14
leaq -0x238(%rbp), %rax
addq $0xd8, %rax
movq %rax, -0x120(%rbp)
movq (%r15), %rax
movq %rax, -0x30(%rbp)
cmpl $0x4, 0x3c(%rax)
jne 0x435be
cmpb $0x0, -0xdc(%rbp)
je 0x4243d
leaq -0x270(%rbp), %rdi
movq %r13, %rsi
callq 0x32d96
movq -0x30(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x708a0
movl %eax, %ebx
movq -0x270(%rbp), %rdi
testq %rdi, %rdi
je 0x42434
callq 0x2e360
testb %bl, %bl
jne 0x42477
jmp 0x435be
leaq -0x258(%rbp), %rdi
movq %r13, %rsi
callq 0x32d96
movq -0x30(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0x708a0
movl %eax, %ebx
movq -0x258(%rbp), %rdi
testq %rdi, %rdi
je 0x4246f
callq 0x2e360
testb %bl, %bl
jne 0x435be
movq %r13, %rax
movq (%r13), %r13
movq 0x8(%rax), %r12
cmpq %r12, %r13
movq %r15, -0xf8(%rbp)
je 0x425b7
addq $0x8, %r13
movq $0x0, -0xe8(%rbp)
xorl %r14d, %r14d
movq -0x8(%r13), %rbx
movq %rbx, %rdi
leaq 0x34622(%rip), %rsi     # 0x76ad4
callq 0x6f390
testb %al, %al
je 0x42543
movq %r14, -0x98(%rbp)
movq %rbx, %rdi
leaq 0x4a160(%rip), %rsi     # 0x8c630
leaq 0x4a8c9(%rip), %rdx     # 0x8cda0
xorl %ecx, %ecx
callq 0x2e430
movq %rax, -0xe8(%rbp)
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x238(%rbp), %rdi
callq *(%rax)
movq %r12, %r14
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xb8(%rbp), %rdi
callq *(%rax)
movq -0x230(%rbp), %r15
movq -0xb0(%rbp), %r12
cmpq %r15, %r12
movq %r15, %rdx
cmovbq %r12, %rdx
testq %rdx, %rdx
je 0x42547
movq -0xb8(%rbp), %rsi
movq -0x238(%rbp), %rdi
callq 0x2e3c0
testl %eax, %eax
sete %bl
jmp 0x42549
xorl %ebx, %ebx
jmp 0x425a1
movb $0x1, %bl
cmpq %r12, %r15
sete %r15b
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x42568
callq 0x2e360
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
movq %r14, %r12
je 0x42583
callq 0x2e360
andb %r15b, %bl
movq -0x98(%rbp), %r14
movzbl %r14b, %r14d
movl $0x1, %eax
cmovnel %eax, %r14d
movq -0xf8(%rbp), %r15
testb %bl, %bl
jne 0x425c5
leaq 0x8(%r13), %rax
cmpq %r12, %r13
movq %rax, %r13
jne 0x424a4
jmp 0x425c5
xorl %r14d, %r14d
movq $0x0, -0xe8(%rbp)
leaq -0x2d0(%rbp), %rbx
movq %rbx, %rdi
movq -0x158(%rbp), %r13
movq %r13, %rsi
callq 0x32d96
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x712d8
movl %eax, %ebx
movq -0x2d0(%rbp), %rdi
testq %rdi, %rdi
je 0x425fd
callq 0x2e360
testb $0x1, %r14b
movq -0x128(%rbp), %r14
je 0x435be
movq -0x30(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x426f5
cmpl $0x40, %ebx
leaq -0x118(%rbp), %r15
jne 0x427d5
leaq -0x238(%rbp), %rdi
leaq 0x34bb9(%rip), %rsi     # 0x771f4
callq 0x50a34
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r15, %rdi
callq *(%rax)
movq %r15, -0x90(%rbp)
leaq 0x1287a(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x12872(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x53d75
movq %rax, %r14
movq -0xe8(%rbp), %rax
movl 0x54(%rax), %r15d
movl %r15d, %ebx
negl %ebx
cmovsl %r15d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x42a12
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x428e7
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42a0f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42a12
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x426b1
addl $-0x3, %r12d
jmp 0x42a12
cmpl $0x40, %ebx
leaq -0x118(%rbp), %r15
jne 0x4285d
leaq -0x238(%rbp), %rdi
leaq 0x34ae1(%rip), %rsi     # 0x771f4
callq 0x50a34
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r15, %rdi
callq *(%rax)
movq %r15, -0x90(%rbp)
leaq 0x127a2(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x1279a(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
leaq -0x90(%rbp), %r15
movq %r15, %rsi
callq 0x53d75
movq %rax, %rsi
movq %r15, %rdi
movq -0xe8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x430ba
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x42f8c
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x430b7
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x430ba
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x42791
addl $-0x3, %r12d
jmp 0x430ba
leaq -0x238(%rbp), %rdi
leaq 0x34bd8(%rip), %rsi     # 0x773bb
callq 0x50a34
leaq -0x70(%rbp), %r13
movq -0xe8(%rbp), %rax
movl 0x50(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x428f3
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x428e1
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x428f0
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x428f3
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x42819
addl $-0x3, %r12d
jmp 0x428f3
leaq -0x238(%rbp), %rdi
leaq 0x34b50(%rip), %rsi     # 0x773bb
callq 0x50a34
movq -0xe8(%rbp), %rax
movl 0x50(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x42f98
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x42f86
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42f95
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42f98
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x4289d
addl $-0x3, %r12d
jmp 0x42f98
addl $-0x2, %r12d
jmp 0x428f3
addl $-0x2, %r12d
jmp 0x42a12
decl %r12d
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x108(%rbp), %rax
movq %rax, -0x118(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x118(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39c27
movq %r15, -0x90(%rbp)
leaq 0x125a0(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x12598(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
leaq -0x90(%rbp), %r14
movq %r14, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, -0x70(%rbp)
leaq 0x1255a(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x12555(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x53d75
movq %rax, %r14
movq -0xe8(%rbp), %rax
movl 0x54(%rax), %r15d
movl %r15d, %ebx
negl %ebx
cmovsl %r15d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x42b8c
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x42a06
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42b89
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42b8c
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x429c6
addl $-0x3, %r12d
jmp 0x42b8c
addl $-0x2, %r12d
jmp 0x42b8c
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0x39c27
movq %r13, -0x70(%rbp)
leaq 0x12480(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x1247b(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %r14, %rdi
leaq -0x70(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x70(%rbp)
leaq 0x20adf(%rip), %rcx     # 0x63567
movq %rcx, -0x68(%rbp)
leaq 0x20ada(%rip), %rcx     # 0x6356d
movq %rcx, -0x60(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %r15
movq -0x30(%rbp), %rax
movq 0x50(%rax), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
leaq -0xd8(%rbp), %r14
movq -0x50(%rbp), %rbx
callq 0x2e060
movq %rax, %r12
movl (%rax), %r13d
movl $0x0, (%rax)
movq %rbx, %rdi
movq %r14, %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %rbx, -0xd8(%rbp)
je 0x4490f
movq %rax, %r14
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x44903
movl (%r12), %eax
cmpl $0x22, %eax
je 0x44903
testl %eax, %eax
jne 0x42b20
movl %r13d, (%r12)
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x42cff
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x42b80
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42cfc
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42cff
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x42b40
addl $-0x3, %r12d
jmp 0x42cff
addl $-0x2, %r12d
jmp 0x42cff
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0x39c27
movq %r13, -0x50(%rbp)
leaq 0x12313(%rip), %rax     # 0x54ed8
movq %rax, -0x48(%rbp)
leaq 0x1230e(%rip), %rax     # 0x54ede
movq %rax, -0x40(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x20972(%rip), %rcx     # 0x63567
movq %rcx, -0x48(%rbp)
leaq 0x2096d(%rip), %rcx     # 0x6356d
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %r15
movq -0x30(%rbp), %rax
movq 0x50(%rax), %rsi
movq (%rsi), %rax
leaq -0xd8(%rbp), %rdi
callq *(%rax)
leaq -0x148(%rbp), %r14
movq -0xd8(%rbp), %rbx
callq 0x2e060
movq %rax, %r12
movl (%rax), %r13d
movl $0x0, (%rax)
movq %rbx, %rdi
movq %r14, %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %rbx, -0x148(%rbp)
je 0x448f7
movq %rax, %r14
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x448eb
movl (%r12), %eax
cmpl $0x22, %eax
je 0x448eb
testl %eax, %eax
jne 0x42c93
movl %r13d, (%r12)
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x42e41
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x42cf3
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42e3e
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42e41
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x42cb3
addl $-0x3, %r12d
jmp 0x42e41
addl $-0x2, %r12d
jmp 0x42e41
decl %r12d
movq %r15, %r13
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r14d, %edi
addq -0x70(%rbp), %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0x39c27
movq %r15, -0xd8(%rbp)
leaq 0x12196(%rip), %rax     # 0x54ed8
movq %rax, -0xd0(%rbp)
leaq 0x1218e(%rip), %rax     # 0x54ede
movq %rax, -0xc8(%rbp)
movq %r13, %rdi
leaq -0xd8(%rbp), %r14
movq %r14, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, %rax
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
movq -0x158(%rbp), %r13
movq %rax, -0x148(%rbp)
leaq 0x12136(%rip), %rax     # 0x54ed8
movq %rax, -0x140(%rbp)
leaq 0x1212e(%rip), %rax     # 0x54ede
movq %rax, -0x138(%rbp)
movq %rbx, %rdi
leaq -0x148(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x42e07
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x42e1f
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x42e31
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0x43507
decl %r12d
movq %r15, %r13
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r14d, %edi
addq -0x50(%rbp), %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0x39c27
movq %r15, -0x148(%rbp)
leaq 0x12054(%rip), %rax     # 0x54ed8
movq %rax, -0x140(%rbp)
leaq 0x1204c(%rip), %rax     # 0x54ede
movq %rax, -0x138(%rbp)
movq %r13, %rdi
leaq -0x148(%rbp), %r14
movq %r14, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, %rax
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
movq -0x158(%rbp), %r13
movq %rax, -0x2b8(%rbp)
leaq 0x11ff4(%rip), %rax     # 0x54ed8
movq %rax, -0x2b0(%rbp)
leaq 0x11fec(%rip), %rax     # 0x54ede
movq %rax, -0x2a8(%rbp)
movq %rbx, %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x42f49
callq 0x2e360
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x42f61
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x42f73
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
jmp 0x434f5
addl $-0x2, %r12d
jmp 0x42f98
addl $-0x2, %r12d
jmp 0x430ba
decl %r12d
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x108(%rbp), %rax
movq %rax, -0x118(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x118(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39c27
movq %r15, -0x90(%rbp)
leaq 0x11efb(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x11ef3(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
leaq -0x90(%rbp), %r14
movq %r14, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, -0x70(%rbp)
leaq 0x11eb5(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x11eb0(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %rbx, %rdi
leaq -0x70(%rbp), %rsi
callq 0x53d75
movq %rax, %rsi
movq -0xe8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x431c6
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x430ae
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x431c3
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x431c6
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x4306e
addl $-0x3, %r12d
jmp 0x431c6
addl $-0x2, %r12d
jmp 0x431c6
decl %r12d
movq %rsi, %r15
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39c27
leaq -0x90(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x11dd8(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x11dd3(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %r15, %rdi
leaq -0x70(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x70(%rbp)
leaq 0x20437(%rip), %rcx     # 0x63567
movq %rcx, -0x68(%rbp)
leaq 0x20432(%rip), %rcx     # 0x6356d
movq %rcx, -0x60(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %rsi
movq -0xe8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r15d
negl %r15d
cmovsl %ebx, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x432d4
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x431ba
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x432d1
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x432d4
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x4317a
addl $-0x3, %r12d
jmp 0x432d4
addl $-0x2, %r12d
jmp 0x432d4
decl %r12d
movq %rsi, -0x98(%rbp)
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39c27
movq %r15, -0x50(%rbp)
leaq 0x11cce(%rip), %rax     # 0x54ed8
movq %rax, -0x48(%rbp)
leaq 0x11cc9(%rip), %rax     # 0x54ede
movq %rax, -0x40(%rbp)
movq -0x98(%rbp), %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x20329(%rip), %rcx     # 0x63567
movq %rcx, -0x48(%rbp)
leaq 0x20324(%rip), %rcx     # 0x6356d
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %rsi
movq -0xe8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r15d
negl %r15d
cmovsl %ebx, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x433cc
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x432c8
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x433c9
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x433cc
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43288
addl $-0x3, %r12d
jmp 0x433cc
addl $-0x2, %r12d
jmp 0x433cc
decl %r12d
movq %rsi, -0x98(%rbp)
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39c27
movq %r14, -0x50(%rbp)
leaq 0x11bc0(%rip), %rax     # 0x54ed8
movq %rax, -0x48(%rbp)
leaq 0x11bbb(%rip), %rax     # 0x54ede
movq %rax, -0x40(%rbp)
movq -0x98(%rbp), %rdi
leaq -0x50(%rbp), %r12
movq %r12, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r12, %rdi
callq *(%rax)
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
movq %r12, -0xd8(%rbp)
leaq 0x11b6f(%rip), %rax     # 0x54ed8
movq %rax, -0xd0(%rbp)
leaq 0x11b67(%rip), %rax     # 0x54ede
movq %rax, -0xc8(%rbp)
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
jmp 0x434e3
decl %r12d
movq %rsi, -0x98(%rbp)
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x50(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39c27
movq %r14, -0xd8(%rbp)
leaq 0x11ac5(%rip), %rax     # 0x54ed8
movq %rax, -0xd0(%rbp)
leaq 0x11abd(%rip), %rax     # 0x54ede
movq %rax, -0xc8(%rbp)
movq -0x98(%rbp), %rdi
leaq -0xd8(%rbp), %r14
movq %r14, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, %rax
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
movq %rax, -0x148(%rbp)
leaq 0x11a68(%rip), %rax     # 0x54ed8
movq %rax, -0x140(%rbp)
leaq 0x11a60(%rip), %rax     # 0x54ede
movq %rax, -0x138(%rbp)
movq %rbx, %rdi
leaq -0x148(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x434d5
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x434ed
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x434ff
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x43511
callq 0x2e360
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x43526
callq 0x2e360
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x4353e
callq 0x2e360
cmpb $0x1, -0x168(%rbp)
jne 0x4355a
movq -0x120(%rbp), %rdi
callq 0x2e580
movb $0x0, -0x168(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x50d82
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x4357e
callq 0x2e360
movq -0x220(%rbp), %rdi
testq %rdi, %rdi
je 0x435b2
callq 0x2e360
xorl %eax, %eax
movq %rax, -0x220(%rbp)
movl %eax, -0x218(%rbp)
movq %rax, -0x210(%rbp)
movl %eax, -0x208(%rbp)
movq %rax, -0x200(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x50de0
addq $0x8, %r15
cmpq %r14, %r15
jne 0x423e8
jmp 0x44860
cmpq %rax, %r15
je 0x44836
movq %rax, %r14
leaq -0x238(%rbp), %rax
addq $0xd8, %rax
movq %rax, -0x120(%rbp)
movq (%r15), %rax
movq %rax, -0x98(%rbp)
cmpl $0x4, 0x3c(%rax)
jne 0x44829
cmpb $0x0, -0xdc(%rbp)
je 0x4364b
leaq -0x2a0(%rbp), %rdi
movq %r13, %rsi
callq 0x32d96
movq -0x98(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x708a0
movl %eax, %ebx
movq -0x2a0(%rbp), %rdi
testq %rdi, %rdi
je 0x43642
callq 0x2e360
testb %bl, %bl
jne 0x43688
jmp 0x44829
leaq -0x288(%rbp), %rdi
movq %r13, %rsi
callq 0x32d96
movq -0x98(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x708a0
movl %eax, %ebx
movq -0x288(%rbp), %rdi
testq %rdi, %rdi
je 0x43680
callq 0x2e360
testb %bl, %bl
jne 0x44829
movq %r15, -0xf8(%rbp)
movq %r13, %rax
movq (%r13), %r13
movq 0x8(%rax), %r14
cmpq %r14, %r13
je 0x437b4
addq $0x8, %r13
xorl %r15d, %r15d
movq $0x0, -0x30(%rbp)
movq %r14, -0xe8(%rbp)
movq -0x8(%r13), %rbx
movq %rbx, %rdi
leaq 0x3340d(%rip), %rsi     # 0x76ad4
callq 0x6f390
testb %al, %al
je 0x4374a
movq %rbx, %rdi
leaq 0x48f56(%rip), %rsi     # 0x8c630
leaq 0x496bf(%rip), %rdx     # 0x8cda0
xorl %ecx, %ecx
callq 0x2e430
movq %rax, -0x30(%rbp)
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x238(%rbp), %rdi
callq *(%rax)
movq -0x98(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xb8(%rbp), %rdi
callq *(%rax)
movq -0x230(%rbp), %r14
movq -0xb0(%rbp), %r12
cmpq %r14, %r12
movq %r14, %rdx
cmovbq %r12, %rdx
testq %rdx, %rdx
je 0x4374e
movq -0xb8(%rbp), %rsi
movq -0x238(%rbp), %rdi
callq 0x2e3c0
testl %eax, %eax
sete %bl
jmp 0x43750
xorl %ebx, %ebx
jmp 0x4379e
movb $0x1, %bl
cmpq %r12, %r14
sete %r14b
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x4376f
callq 0x2e360
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x43787
callq 0x2e360
andb %r14b, %bl
movzbl %r15b, %r15d
movl $0x1, %eax
cmovnel %eax, %r15d
movq -0xe8(%rbp), %r14
testb %bl, %bl
jne 0x437bf
leaq 0x8(%r13), %rax
cmpq %r14, %r13
movq %rax, %r13
jne 0x436b9
jmp 0x437bf
movq $0x0, -0x30(%rbp)
xorl %r15d, %r15d
testb $0x1, %r15b
leaq -0x118(%rbp), %rbx
leaq -0x90(%rbp), %r14
je 0x448b6
movq -0x98(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x438b9
cmpb $0x0, -0xdc(%rbp)
je 0x4398d
leaq -0x238(%rbp), %rdi
leaq 0x332df(%rip), %rsi     # 0x76ae3
callq 0x50a34
movq -0x98(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x116ae(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x116a6(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
movq %r14, %rsi
callq 0x53d75
movq %rax, %r13
movq -0x30(%rbp), %rax
movl 0x50(%rax), %r15d
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %ebx
cmpl $0xa, %r12d
jb 0x43b26
movl $0x4, %ebx
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x43b17
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43b24
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43b26
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43877
addl $-0x3, %ebx
jmp 0x43b26
cmpb $0x0, -0xdc(%rbp)
je 0x43a50
leaq -0x238(%rbp), %rdi
leaq 0x3320f(%rip), %rsi     # 0x76ae3
callq 0x50a34
movq -0x98(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x115de(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x115d6(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
movq %r14, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x50(%rax), %r15d
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x441c4
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x441b2
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x441c1
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x441c4
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r13d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43949
addl $-0x3, %r13d
jmp 0x441c4
leaq -0x238(%rbp), %rdi
leaq 0x33148(%rip), %rsi     # 0x76ae3
callq 0x50a34
movq -0x98(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x11517(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x1150f(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
movq %r14, %rsi
callq 0x53d75
movq %rax, %r13
movq -0x30(%rbp), %rax
movl 0x50(%rax), %r15d
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %ebx
cmpl $0xa, %r12d
jb 0x43bfc
movl $0x4, %ebx
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x43b1c
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43bfa
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43bfc
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43a0e
addl $-0x3, %ebx
jmp 0x43bfc
leaq -0x238(%rbp), %rdi
leaq 0x33085(%rip), %rsi     # 0x76ae3
callq 0x50a34
movq -0x98(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x11454(%rip), %rax     # 0x54ed8
movq %rax, -0x88(%rbp)
leaq 0x1144c(%rip), %rax     # 0x54ede
movq %rax, -0x80(%rbp)
leaq -0x238(%rbp), %rdi
movq %r14, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x50(%rax), %r15d
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x442a0
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x441b8
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x4429d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x442a0
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r13d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43ad3
addl $-0x3, %r13d
jmp 0x442a0
addl $-0x2, %ebx
jmp 0x43b26
addl $-0x2, %ebx
jmp 0x43bfc
decl %ebx
shrl $0x1f, %r15d
leal (%rbx,%r15), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r15
movq %r15, %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0x39c27
movq %r14, -0x70(%rbp)
leaq 0x11373(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x1136e(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %r13, %rdi
leaq -0x70(%rbp), %r13
movq %r13, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r14d
movl %r14d, %r15d
negl %r15d
cmovsl %r14d, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x43cd3
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x43bf1
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43cd0
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43cd3
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43bb1
addl $-0x3, %r12d
jmp 0x43cd3
addl $-0x2, %r12d
jmp 0x43cd3
decl %ebx
shrl $0x1f, %r15d
leal (%rbx,%r15), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r15
movq %r15, %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0x39c27
movq %r14, -0x70(%rbp)
leaq 0x1129d(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x11298(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %r13, %rdi
leaq -0x70(%rbp), %r13
movq %r13, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r14d
movl %r14d, %r15d
negl %r15d
cmovsl %r14d, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x43e45
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x43cc7
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43e42
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43e45
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43c87
addl $-0x3, %r12d
jmp 0x43e45
addl $-0x2, %r12d
jmp 0x43e45
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39c27
movq %r13, -0x50(%rbp)
leaq 0x111cb(%rip), %rax     # 0x54ed8
movq %rax, -0x48(%rbp)
leaq 0x111c6(%rip), %rax     # 0x54ede
movq %rax, -0x40(%rbp)
movq %rbx, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1f82a(%rip), %rcx     # 0x63567
movq %rcx, -0x48(%rbp)
leaq 0x1f825(%rip), %rcx     # 0x6356d
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %r14
movq -0x98(%rbp), %rax
movq 0x50(%rax), %rsi
movq (%rsi), %rax
leaq -0xd8(%rbp), %rdi
callq *(%rax)
movq -0xd8(%rbp), %rbx
callq 0x2e060
movq %rax, %r15
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq -0x148(%rbp), %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %rbx, -0x148(%rbp)
je 0x448df
movq %rax, %r13
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x448d3
movl (%r15), %eax
cmpl $0x22, %eax
je 0x448d3
testl %eax, %eax
jne 0x43dd9
movl %r12d, (%r15)
movl %r13d, %ebx
negl %ebx
cmovsl %r13d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x43fb7
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x43e39
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43fb4
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43fb7
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43df9
addl $-0x3, %r15d
jmp 0x43fb7
addl $-0x2, %r15d
jmp 0x43fb7
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39c27
movq %r13, -0x50(%rbp)
leaq 0x11059(%rip), %rax     # 0x54ed8
movq %rax, -0x48(%rbp)
leaq 0x11054(%rip), %rax     # 0x54ede
movq %rax, -0x40(%rbp)
movq %rbx, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1f6b8(%rip), %rcx     # 0x63567
movq %rcx, -0x48(%rbp)
leaq 0x1f6b3(%rip), %rcx     # 0x6356d
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %r14
movq -0x98(%rbp), %rax
movq 0x50(%rax), %rsi
movq (%rsi), %rax
leaq -0xd8(%rbp), %rdi
callq *(%rax)
movq -0xd8(%rbp), %rbx
callq 0x2e060
movq %rax, %r15
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq -0x148(%rbp), %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %rbx, -0x148(%rbp)
je 0x448c7
movq %rax, %r13
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x448bb
movl (%r15), %eax
cmpl $0x22, %eax
je 0x448bb
testl %eax, %eax
jne 0x43f4b
movl %r12d, (%r15)
movl %r13d, %ebx
negl %ebx
cmovsl %r13d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x4409a
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x43fab
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x44097
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x4409a
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x43f6b
addl $-0x3, %r15d
jmp 0x4409a
addl $-0x2, %r15d
jmp 0x4409a
decl %r15d
shrl $0x1f, %r13d
leal (%r15,%r13), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r12
movq %r12, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r13d, %edi
addq -0x50(%rbp), %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x39c27
movq %r12, -0x148(%rbp)
leaq 0x10ee1(%rip), %rax     # 0x54ed8
movq %rax, -0x140(%rbp)
leaq 0x10ed9(%rip), %rax     # 0x54ede
movq %rax, -0x138(%rbp)
movq %r14, %rdi
leaq -0x148(%rbp), %rsi
callq 0x53d75
leaq 0x33111(%rip), %rcx     # 0x77133
movq %rcx, -0x148(%rbp)
leaq 0x1f551(%rip), %rcx     # 0x63581
movq %rcx, -0x140(%rbp)
leaq 0x1f549(%rip), %rcx     # 0x63587
movq %rcx, -0x138(%rbp)
movq %rax, %rdi
leaq -0x148(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0x158(%rbp), %r13
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
jmp 0x44175
decl %r15d
shrl $0x1f, %r13d
leal (%r15,%r13), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r12
movq %r12, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r13d, %edi
addq -0x50(%rbp), %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x39c27
movq %r12, -0x148(%rbp)
leaq 0x10dfe(%rip), %rax     # 0x54ed8
movq %rax, -0x140(%rbp)
leaq 0x10df6(%rip), %rax     # 0x54ede
movq %rax, -0x138(%rbp)
movq %r14, %rdi
leaq -0x148(%rbp), %rsi
callq 0x53d75
leaq 0x3303f(%rip), %rcx     # 0x77144
movq %rcx, -0x148(%rbp)
leaq 0x1f46e(%rip), %rcx     # 0x63581
movq %rcx, -0x140(%rbp)
leaq 0x1f466(%rip), %rcx     # 0x63587
movq %rcx, -0x138(%rbp)
movq %rax, %rdi
leaq -0x148(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0x158(%rbp), %r13
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x4418d
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x4419f
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
jmp 0x44760
addl $-0x2, %r13d
jmp 0x441c4
addl $-0x2, %r13d
jmp 0x442a0
decl %r13d
shrl $0x1f, %r15d
leal (%r15,%r13), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r15
movq %r15, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39c27
movq %r14, -0x70(%rbp)
leaq 0x10ccd(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x10cc8(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %rbx, %rdi
leaq -0x70(%rbp), %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r15d
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x4437c
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x44294
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x44379
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x4437c
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r13d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x44254
addl $-0x3, %r13d
jmp 0x4437c
addl $-0x2, %r13d
jmp 0x4437c
decl %r13d
shrl $0x1f, %r15d
leal (%r15,%r13), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r15
movq %r15, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39c27
movq %r14, -0x70(%rbp)
leaq 0x10bf1(%rip), %rax     # 0x54ed8
movq %rax, -0x68(%rbp)
leaq 0x10bec(%rip), %rax     # 0x54ede
movq %rax, -0x60(%rbp)
movq %rbx, %rdi
leaq -0x70(%rbp), %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r15d
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x4447e
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x44370
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x4447b
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x4447e
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r13d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x44330
addl $-0x3, %r13d
jmp 0x4447e
addl $-0x2, %r13d
jmp 0x4447e
decl %r13d
shrl $0x1f, %r15d
leal (%r15,%r13), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r15
movq %r15, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39c27
movq %r14, -0x50(%rbp)
leaq 0x10b1e(%rip), %rax     # 0x54ed8
movq %rax, -0x48(%rbp)
leaq 0x10b19(%rip), %rax     # 0x54ede
movq %rax, -0x40(%rbp)
movq %rbx, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1f17d(%rip), %rcx     # 0x63567
movq %rcx, -0x48(%rbp)
leaq 0x1f178(%rip), %rcx     # 0x6356d
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r14d
movl %r14d, %r15d
negl %r15d
cmovsl %r14d, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x44580
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x44472
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x4457d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x44580
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x44432
addl $-0x3, %r12d
jmp 0x44580
addl $-0x2, %r12d
jmp 0x44580
decl %r13d
shrl $0x1f, %r15d
leal (%r15,%r13), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r15
movq %r15, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39c27
movq %r14, -0x50(%rbp)
leaq 0x10a1c(%rip), %rax     # 0x54ed8
movq %rax, -0x48(%rbp)
leaq 0x10a17(%rip), %rax     # 0x54ede
movq %rax, -0x40(%rbp)
movq %rbx, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x53d75
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1f07b(%rip), %rcx     # 0x63567
movq %rcx, -0x48(%rbp)
leaq 0x1f076(%rip), %rcx     # 0x6356d
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x53d75
movq %rax, %rbx
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r14d
movl %r14d, %r15d
negl %r15d
cmovsl %r14d, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x44664
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x44574
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x44661
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x44664
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x44534
addl $-0x3, %r12d
jmp 0x44664
addl $-0x2, %r12d
jmp 0x44664
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x50(%rbp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39c27
movq %r13, -0xd8(%rbp)
leaq 0x10917(%rip), %rax     # 0x54ed8
movq %rax, -0xd0(%rbp)
leaq 0x1090f(%rip), %rax     # 0x54ede
movq %rax, -0xc8(%rbp)
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x53d75
leaq 0x32b47(%rip), %rcx     # 0x77133
movq %rcx, -0xd8(%rbp)
leaq 0x1ef87(%rip), %rcx     # 0x63581
movq %rcx, -0xd0(%rbp)
leaq 0x1ef7f(%rip), %rcx     # 0x63587
movq %rcx, -0xc8(%rbp)
movq %rax, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
movq -0x158(%rbp), %r13
jmp 0x44740
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x50(%rbp), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39c27
movq %r13, -0xd8(%rbp)
leaq 0x10833(%rip), %rax     # 0x54ed8
movq %rax, -0xd0(%rbp)
leaq 0x1082b(%rip), %rax     # 0x54ede
movq %rax, -0xc8(%rbp)
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x53d75
leaq 0x32a74(%rip), %rcx     # 0x77144
movq %rcx, -0xd8(%rbp)
leaq 0x1eea3(%rip), %rcx     # 0x63581
movq %rcx, -0xd0(%rbp)
leaq 0x1ee9b(%rip), %rcx     # 0x63587
movq %rcx, -0xc8(%rbp)
movq %rax, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x53d75
leaq -0xb8(%rbp), %rdi
movq %rax, %rsi
callq 0x54ef2
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0xf8(%rbp), %r15
movq -0x128(%rbp), %r14
movq -0x158(%rbp), %r13
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x44758
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x4476a
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x4477c
callq 0x2e360
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x44791
callq 0x2e360
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x447a9
callq 0x2e360
cmpb $0x1, -0x168(%rbp)
jne 0x447c5
movq -0x120(%rbp), %rdi
callq 0x2e580
movb $0x0, -0x168(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x50d82
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x447e9
callq 0x2e360
movq -0x220(%rbp), %rdi
testq %rdi, %rdi
je 0x4481d
callq 0x2e360
xorl %eax, %eax
movq %rax, -0x220(%rbp)
movl %eax, -0x218(%rbp)
movq %rax, -0x210(%rbp)
movl %eax, -0x208(%rbp)
movq %rax, -0x200(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x50de0
addq $0x8, %r15
cmpq %r14, %r15
jne 0x435f0
leaq 0x3297f(%rip), %rax     # 0x771bc
leaq 0x32994(%rip), %rsi     # 0x771d8
cmpb $0x0, -0xdc(%rbp)
cmovneq %rax, %rsi
movl $0x1b, %edx
movq -0xf0(%rbp), %rdi
callq 0x2e440
testb $0x2, -0x23c(%rbp)
je 0x44893
leaq 0x32d08(%rip), %rax     # 0x77578
leaq 0x32d1d(%rip), %rsi     # 0x77594
cmpb $0x0, -0xdc(%rbp)
cmovneq %rax, %rsi
movl $0x1b, %edx
movq -0xf0(%rbp), %rdi
callq 0x2e440
movq -0x2e8(%rbp), %rdi
testq %rdi, %rdi
je 0x448a4
callq 0x2e360
addq $0x2c8, %rsp            # imm = 0x2C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2edea
leaq 0x31576(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x3156a(%rip), %rdi     # 0x75e38
callq 0x2e260
leaq 0x3155e(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x31552(%rip), %rdi     # 0x75e38
callq 0x2e260
leaq 0x31546(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x3153a(%rip), %rdi     # 0x75e38
callq 0x2e260
leaq 0x3152e(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x31522(%rip), %rdi     # 0x75e38
callq 0x2e260
jmp 0x44a5e
jmp 0x44bca
jmp 0x44bca
jmp 0x44b94
jmp 0x44b9e
jmp 0x44b9e
jmp 0x44ba6
jmp 0x44cc5
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x44aa1
callq 0x2e360
jmp 0x44aa1
jmp 0x44bb9
jmp 0x44bb9
jmp 0x44bca
jmp 0x44b94
jmp 0x44b94
jmp 0x44b9e
jmp 0x44b9e
jmp 0x44ba6
jmp 0x44cc5
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x44b04
callq 0x2e360
jmp 0x44b04
jmp 0x449ba
movq %rax, %rbx
jmp 0x44b1c
movq %rax, %rbx
jmp 0x44b2e
jmp 0x44b94
jmp 0x44b9e
jmp 0x44b9e
jmp 0x44ba6
jmp 0x44cc5
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x44b6f
callq 0x2e360
jmp 0x44b6f
jmp 0x44bdf
jmp 0x44bdf
jmp 0x44b89
jmp 0x44bca
jmp 0x44b94
jmp 0x44b94
jmp 0x44b9e
jmp 0x44b9e
jmp 0x44ba6
jmp 0x44cc5
jmp 0x44a5e
jmp 0x44bca
jmp 0x44b94
jmp 0x44b94
jmp 0x44b9e
jmp 0x44b9e
jmp 0x44ba6
jmp 0x44cc5
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
jmp 0x44aaf
jmp 0x44bca
jmp 0x44b94
jmp 0x44b94
jmp 0x44b9e
jmp 0x44b9e
jmp 0x44ba6
jmp 0x44cc5
jmp 0x44bb9
jmp 0x44b94
movq %rax, %rbx
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x44bbc
callq 0x2e360
jmp 0x44bbc
jmp 0x44bca
jmp 0x44cc5
jmp 0x44b42
jmp 0x44b89
jmp 0x44bca
jmp 0x44b94
jmp 0x44b94
jmp 0x44b9e
movq %rax, %rbx
cmpl $0x0, (%r12)
jne 0x44b2e
movl %r13d, (%r12)
jmp 0x44b2e
jmp 0x44b9e
jmp 0x44ba6
movq %rax, %rbx
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x44b1c
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x44b2e
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0x44c14
jmp 0x44cc5
jmp 0x44b94
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
jmp 0x44b7d
movq %rax, %rbx
cmpl $0x0, (%r12)
jne 0x44bf4
movl %r13d, (%r12)
jmp 0x44bf4
movq %rax, %rbx
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x44be2
callq 0x2e360
jmp 0x44be2
movq %rax, %rbx
jmp 0x44bf4
jmp 0x44bca
jmp 0x44bca
jmp 0x44b94
movq %rax, %rbx
jmp 0x44c1e
jmp 0x44b9e
movq %rax, %rbx
jmp 0x44c33
movq %rax, %rbx
jmp 0x44c4b
jmp 0x44bca
jmp 0x44bca
jmp 0x44cc5
jmp 0x44bb9
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0x44c02
jmp 0x44bca
jmp 0x44bcf
movq %rax, %rbx
jmp 0x44c0c
movq %rax, %rbx
cmpl $0x0, (%r15)
jne 0x44bf4
movl %r12d, (%r15)
jmp 0x44bf4
jmp 0x44bdf
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x44bf4
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x44c0c
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x44c1e
callq 0x2e360
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x44c33
callq 0x2e360
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x44c4b
callq 0x2e360
leaq -0x238(%rbp), %rdi
callq 0x50b98
jmp 0x44cc8
movq %rax, %rbx
movq -0x2a0(%rbp), %rdi
jmp 0x44c95
movq %rax, %rbx
movq -0x288(%rbp), %rdi
jmp 0x44c95
movq %rax, %rbx
movq -0x2d0(%rbp), %rdi
jmp 0x44c95
jmp 0x44cc5
movq %rax, %rbx
movq -0x270(%rbp), %rdi
jmp 0x44c95
movq %rax, %rbx
movq -0x258(%rbp), %rdi
testq %rdi, %rdi
jne 0x44cbc
jmp 0x44cc8
jmp 0x44cc5
jmp 0x44cc5
jmp 0x44cc5
jmp 0x44ca6
jmp 0x44cc5
movq %rax, %rbx
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x44cc8
callq 0x2e360
jmp 0x44cc8
jmp 0x44cc5
movq %rax, %rbx
movq -0x2e8(%rbp), %rdi
testq %rdi, %rdi
je 0x44cd9
callq 0x2e360
movq %rbx, %rdi
callq 0x2e730