// File: /workspace/github_cpp_makefile_star2_O3/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, -0xe8(%rbp)
movq %rdi, %r15
leaq -0x2e8(%rbp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x6f575
movq (%rbx), %r12
movq 0x8(%rbx), %rax
movl %r14d, -0x154(%rbp)
testb $0x1, %r14b
movq %r15, -0x128(%rbp)
movq %rax, -0x120(%rbp)
jne 0x430e0
cmpq %rax, %r12
je 0x430ce
movq %rax, %r14
leaq -0x240(%rbp), %rax
addq $0xd8, %rax
movq %rax, -0x160(%rbp)
movq (%r12), %r13
cmpl $0x4, 0x3c(%r13)
jne 0x430c1
cmpb $0x0, -0xdc(%rbp)
je 0x41f9a
leaq -0x288(%rbp), %rdi
movq %r15, %rsi
callq 0x32ac0
movq %r13, %rdi
leaq -0x288(%rbp), %rsi
callq 0x6fdc6
movl %eax, %ebx
movq -0x288(%rbp), %rdi
testq %rdi, %rdi
je 0x41f91
callq 0x2e360
testb %bl, %bl
jne 0x41fd3
jmp 0x430c1
leaq -0x270(%rbp), %rdi
movq %r15, %rsi
callq 0x32ac0
movq %r13, %rdi
leaq -0x270(%rbp), %rsi
callq 0x6fdc6
movl %eax, %ebx
movq -0x270(%rbp), %rdi
testq %rdi, %rdi
je 0x41fcb
callq 0x2e360
testb %bl, %bl
jne 0x430c1
movq %r12, -0xf0(%rbp)
movq (%r15), %r14
movq 0x8(%r15), %r15
cmpq %r15, %r14
je 0x420e2
movq $0x0, -0x30(%rbp)
movq %r15, -0xb8(%rbp)
movq (%r14), %rbx
movq %rbx, %rdi
leaq 0x34ace(%rip), %rsi     # 0x76ad4
callq 0x6e968
testb %al, %al
je 0x420d0
movq %rbx, %rdi
leaq 0x4a693(%rip), %rsi     # 0x8c6b0
leaq 0x4adfc(%rip), %rdx     # 0x8ce20
xorl %ecx, %ecx
callq 0x2e430
movq %rax, -0x30(%rbp)
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x240(%rbp), %rdi
callq *(%rax)
movq %r13, %r12
movq 0x40(%r13), %rsi
movq (%rsi), %rax
leaq -0xb0(%rbp), %rdi
callq *(%rax)
movq -0x238(%rbp), %r13
movq -0xb0(%rbp), %rbx
movq -0xa8(%rbp), %r15
cmpq %r13, %r15
movq %r13, %rdx
cmovbq %r15, %rdx
testq %rdx, %rdx
je 0x4208e
movq -0x240(%rbp), %rdi
movq %rbx, %rsi
callq 0x2e3c0
testl %eax, %eax
je 0x4208e
xorl %r13d, %r13d
jmp 0x42095
cmpq %r15, %r13
sete %r13b
leaq -0xa0(%rbp), %rax
cmpq %rax, %rbx
je 0x420a9
movq %rbx, %rdi
callq 0x2e360
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x420c1
callq 0x2e360
testb %r13b, %r13b
jne 0x420ef
movq %r12, %r13
movq -0xb8(%rbp), %r15
addq $0x8, %r14
cmpq %r15, %r14
jne 0x41ff9
xorl %r14d, %r14d
jmp 0x420f5
xorl %r14d, %r14d
movq $0x0, -0x30(%rbp)
jmp 0x420f5
movb $0x1, %r14b
movq %r12, %r13
leaq -0x2d0(%rbp), %rbx
movq %rbx, %rdi
movq -0x128(%rbp), %r15
movq %r15, %rsi
callq 0x32ac0
movq -0xf0(%rbp), %r12
movq %r13, %rdi
movq %rbx, %rsi
callq 0x707be
movl %eax, %ebx
movq -0x2d0(%rbp), %rdi
testq %rdi, %rdi
je 0x42133
callq 0x2e360
testb %r14b, %r14b
movq -0x120(%rbp), %r14
je 0x430c1
cmpq $0x0, 0x50(%r13)
movq %r13, -0x118(%rbp)
je 0x42226
cmpl $0x40, %ebx
leaq -0x110(%rbp), %r15
jne 0x422ff
leaq -0x240(%rbp), %rdi
leaq 0x35081(%rip), %rsi     # 0x771f4
callq 0x50494
movq 0x40(%r13), %rsi
movq (%rsi), %rax
movq %r15, %rdi
callq *(%rax)
movq %r15, -0x90(%rbp)
leaq 0x12778(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x12770(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x537b3
movq %rax, %r14
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r15d
movl %r15d, %ebx
negl %ebx
cmovsl %r15d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x4252c
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x42407
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42529
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x4252c
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 0x421e2
addl $-0x3, %r12d
jmp 0x4252c
cmpl $0x40, %ebx
leaq -0x110(%rbp), %r15
jne 0x42380
leaq -0x240(%rbp), %rdi
leaq 0x34fb0(%rip), %rsi     # 0x771f4
callq 0x50494
movq 0x40(%r13), %rsi
movq (%rsi), %rax
movq %r15, %rdi
callq *(%rax)
movq %r15, -0x90(%rbp)
leaq 0x126a7(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x1269f(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
leaq -0x90(%rbp), %r15
movq %r15, %rsi
callq 0x537b3
movq %rax, %rsi
movq %r15, %rdi
movq -0x30(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x42bcd
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x42aa0
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42bca
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42bcd
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 0x422bb
addl $-0x3, %r12d
jmp 0x42bcd
leaq -0x240(%rbp), %rdi
leaq 0x350ae(%rip), %rsi     # 0x773bb
callq 0x50494
movq -0x30(%rbp), %rax
movl 0x50(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x42413
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x42401
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42410
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42413
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 0x4233c
addl $-0x3, %r12d
jmp 0x42413
leaq -0x240(%rbp), %rdi
leaq 0x3502d(%rip), %rsi     # 0x773bb
callq 0x50494
movq -0x30(%rbp), %rax
movl 0x50(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x42aac
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x42a9a
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42aa9
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42aac
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 0x423bd
addl $-0x3, %r12d
jmp 0x42aac
addl $-0x2, %r12d
jmp 0x42413
addl $-0x2, %r12d
jmp 0x4252c
decl %r12d
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x100(%rbp), %rax
movq %rax, -0x110(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x110(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39847
movq %r15, -0x90(%rbp)
leaq 0x124b2(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x124aa(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
leaq -0x90(%rbp), %r14
movq %r14, %rsi
callq 0x537b3
movq %rax, %rbx
movq 0x40(%r13), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
leaq -0x70(%rbp), %rsi
movq %r14, -0x70(%rbp)
leaq 0x1246c(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x12467(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %rbx, %rdi
callq 0x537b3
movq %rax, %r14
movq -0x30(%rbp), %rax
movl 0x54(%rax), %r15d
movl %r15d, %ebx
negl %ebx
cmovsl %r15d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
jb 0x426ab
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x42520
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x426a8
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x426ab
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 0x424e0
addl $-0x3, %r12d
jmp 0x426ab
addl $-0x2, %r12d
jmp 0x426ab
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 0x39847
movq %r13, -0x70(%rbp)
leaq 0x12398(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x12393(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %r14, %rdi
leaq -0x70(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x70(%rbp)
leaq 0x20a2e(%rip), %rcx     # 0x62fd0
movq %rcx, -0x68(%rbp)
leaq 0x20a29(%rip), %rcx     # 0x62fd6
movq %rcx, -0x60(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, -0x30(%rbp)
movq -0x118(%rbp), %r13
movq 0x50(%r13), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
callq *(%rax)
movq -0x50(%rbp), %rbx
callq 0x2e060
movq %rax, %r12
movl (%rax), %r15d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %rbx, -0xd8(%rbp)
je 0x44462
movq %rax, %r14
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x44456
movl (%r12), %eax
cmpl $0x22, %eax
je 0x44456
testl %eax, %eax
jne 0x4263b
movl %r15d, (%r12)
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
leaq -0x70(%rbp), %r15
jb 0x42827
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x4269f
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42824
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42827
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 0x4265f
addl $-0x3, %r12d
jmp 0x42827
addl $-0x2, %r12d
jmp 0x42827
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0x39847
movq %r13, -0x50(%rbp)
leaq 0x12222(%rip), %rax     # 0x5490a
movq %rax, -0x48(%rbp)
leaq 0x1221d(%rip), %rax     # 0x54910
movq %rax, -0x40(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x208b8(%rip), %rcx     # 0x62fd0
movq %rcx, -0x48(%rbp)
leaq 0x208b3(%rip), %rcx     # 0x62fd6
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, -0x30(%rbp)
movq -0x118(%rbp), %r13
movq 0x50(%r13), %rsi
movq (%rsi), %rax
leaq -0xd8(%rbp), %rdi
callq *(%rax)
movq -0xd8(%rbp), %rbx
callq 0x2e060
movq %rax, %r12
movl (%rax), %r15d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq -0x148(%rbp), %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %rbx, -0x148(%rbp)
je 0x4444a
movq %rax, %r14
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x4443e
movl (%r12), %eax
cmpl $0x22, %eax
je 0x4443e
testl %eax, %eax
jne 0x427b7
movl %r15d, (%r12)
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r12d
cmpl $0xa, %ebx
leaq -0x50(%rbp), %r15
jb 0x4295f
movl $0x4, %r12d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x4281b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x4295c
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x4295f
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 0x427db
addl $-0x3, %r12d
jmp 0x4295f
addl $-0x2, %r12d
jmp 0x4295f
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r14d, %edi
addq -0x70(%rbp), %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0x39847
movq %r15, -0xd8(%rbp)
leaq 0x120a7(%rip), %rax     # 0x5490a
movq %rax, -0xd0(%rbp)
leaq 0x1209f(%rip), %rax     # 0x54910
movq %rax, -0xc8(%rbp)
movq -0x30(%rbp), %rdi
leaq -0xd8(%rbp), %r14
movq %r14, %rsi
callq 0x537b3
movq %rax, %rbx
movq 0x40(%r13), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, %rax
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
movq %rax, -0x148(%rbp)
leaq 0x1204a(%rip), %rax     # 0x5490a
movq %rax, -0x140(%rbp)
leaq 0x12042(%rip), %rax     # 0x54910
movq %rax, -0x138(%rbp)
movq %rbx, %rdi
leaq -0x148(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x42925
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x4293d
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x4294f
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0x4300a
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r14d, %edi
addq -0x50(%rbp), %rdi
movl %r12d, %esi
movl %ebx, %edx
callq 0x39847
movq %r15, -0x148(%rbp)
leaq 0x11f6f(%rip), %rax     # 0x5490a
movq %rax, -0x140(%rbp)
leaq 0x11f67(%rip), %rax     # 0x54910
movq %rax, -0x138(%rbp)
movq -0x30(%rbp), %rdi
leaq -0x148(%rbp), %r14
movq %r14, %rsi
callq 0x537b3
movq %rax, %rbx
movq 0x40(%r13), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, %rax
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
movq %rax, -0x2b8(%rbp)
leaq 0x11f12(%rip), %rax     # 0x5490a
movq %rax, -0x2b0(%rbp)
leaq 0x11f0a(%rip), %rax     # 0x54910
movq %rax, -0x2a8(%rbp)
movq %rbx, %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x42a5d
callq 0x2e360
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x42a75
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x42a87
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
jmp 0x42ff8
addl $-0x2, %r12d
jmp 0x42aac
addl $-0x2, %r12d
jmp 0x42bcd
decl %r12d
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x100(%rbp), %rax
movq %rax, -0x110(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x110(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39847
movq %r15, -0x90(%rbp)
leaq 0x11e19(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x11e11(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
leaq -0x90(%rbp), %r14
movq %r14, %rsi
callq 0x537b3
movq %rax, %rbx
movq 0x40(%r13), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
leaq -0x70(%rbp), %r15
movq %r14, -0x70(%rbp)
leaq 0x11dd3(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x11dce(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x537b3
movq %rax, %rsi
movq %r15, %rdi
movq -0x30(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x42cd6
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x42bc1
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42cd3
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42cd6
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 0x42b81
addl $-0x3, %r12d
jmp 0x42cd6
addl $-0x2, %r12d
jmp 0x42cd6
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 0x39847
leaq -0x90(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x11cf7(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x11cf2(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %r15, %rdi
leaq -0x70(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x70(%rbp)
leaq 0x2038d(%rip), %rcx     # 0x62fd0
movq %rcx, -0x68(%rbp)
leaq 0x20388(%rip), %rcx     # 0x62fd6
movq %rcx, -0x60(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, %r14
movq -0x30(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r15d
negl %r15d
cmovsl %ebx, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x42dd6
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x42cca
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42dd3
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42dd6
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 0x42c8a
addl $-0x3, %r12d
jmp 0x42dd6
addl $-0x2, %r12d
jmp 0x42dd6
decl %r12d
movq %rsi, %r15
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39847
leaq -0x70(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x11bf7(%rip), %rax     # 0x5490a
movq %rax, -0x48(%rbp)
leaq 0x11bf2(%rip), %rax     # 0x54910
movq %rax, -0x40(%rbp)
movq %r15, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x2028d(%rip), %rcx     # 0x62fd0
movq %rcx, -0x48(%rbp)
leaq 0x20288(%rip), %rcx     # 0x62fd6
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, %r14
movq -0x30(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r15d
negl %r15d
cmovsl %ebx, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x42ed0
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x42dca
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x42ecd
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x42ed0
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 0x42d8a
addl $-0x3, %r12d
jmp 0x42ed0
addl $-0x2, %r12d
jmp 0x42ed0
decl %r12d
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39847
movq %r13, -0x50(%rbp)
leaq 0x11af7(%rip), %rax     # 0x5490a
movq %rax, -0x48(%rbp)
leaq 0x11af2(%rip), %rax     # 0x54910
movq %rax, -0x40(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %r14
movq %r14, %rsi
callq 0x537b3
movq %rax, %rbx
movq -0x118(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, %rax
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
movq %rax, -0xd8(%rbp)
leaq 0x11a9d(%rip), %rax     # 0x5490a
movq %rax, -0xd0(%rbp)
leaq 0x11a95(%rip), %rax     # 0x54910
movq %rax, -0xc8(%rbp)
movq %rbx, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
jmp 0x42fe6
decl %r12d
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x50(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x39847
movq %r13, -0xd8(%rbp)
leaq 0x119fa(%rip), %rax     # 0x5490a
movq %rax, -0xd0(%rbp)
leaq 0x119f2(%rip), %rax     # 0x54910
movq %rax, -0xc8(%rbp)
movq %r14, %rdi
leaq -0xd8(%rbp), %r14
movq %r14, %rsi
callq 0x537b3
movq %rax, %rbx
movq -0x118(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *(%rax)
movq %r14, %rax
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
movq %rax, -0x148(%rbp)
leaq 0x11997(%rip), %rax     # 0x5490a
movq %rax, -0x140(%rbp)
leaq 0x1198f(%rip), %rax     # 0x54910
movq %rax, -0x138(%rbp)
movq %rbx, %rdi
leaq -0x148(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x42fd8
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x42ff0
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x43002
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x43014
callq 0x2e360
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x43029
callq 0x2e360
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x43041
callq 0x2e360
cmpb $0x1, -0x170(%rbp)
jne 0x4305d
movq -0x160(%rbp), %rdi
callq 0x2e580
movb $0x0, -0x170(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x507e2
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x43081
callq 0x2e360
movq -0x228(%rbp), %rdi
testq %rdi, %rdi
je 0x430b5
callq 0x2e360
xorl %eax, %eax
movq %rax, -0x228(%rbp)
movl %eax, -0x220(%rbp)
movq %rax, -0x218(%rbp)
movl %eax, -0x210(%rbp)
movq %rax, -0x208(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x50840
addq $0x8, %r12
cmpq %r14, %r12
jne 0x41f48
cmpb $0x0, -0xdc(%rbp)
jne 0x4439b
jmp 0x443c5
cmpq %rax, %r12
je 0x4437a
movq %rax, %r14
leaq -0x240(%rbp), %rax
addq $0xd8, %rax
movq %rax, -0x118(%rbp)
leaq -0x258(%rbp), %r13
movq (%r12), %rax
movq %rax, -0x30(%rbp)
cmpl $0x4, 0x3c(%rax)
jne 0x43d85
cmpb $0x0, -0xdc(%rbp)
je 0x43155
movq %r13, %rdi
movq %r15, %rsi
callq 0x32ac0
movq -0x30(%rbp), %rdi
movq %r13, %rsi
callq 0x6fdc6
movl %eax, %ebx
movq -0x258(%rbp), %rdi
testq %rdi, %rdi
je 0x4314c
callq 0x2e360
testb %bl, %bl
jne 0x4318f
jmp 0x43d85
leaq -0x2a0(%rbp), %rdi
movq %r15, %rsi
callq 0x32ac0
movq -0x30(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x6fdc6
movl %eax, %ebx
movq -0x2a0(%rbp), %rdi
testq %rdi, %rdi
je 0x43187
callq 0x2e360
testb %bl, %bl
jne 0x43d85
movq %r12, -0xf0(%rbp)
movq (%r15), %r12
movq 0x8(%r15), %r13
cmpq %r13, %r12
je 0x44409
movq $0x0, -0xb8(%rbp)
movq (%r12), %r14
movq %r14, %rdi
leaq 0x33915(%rip), %rsi     # 0x76ad4
callq 0x6e968
testb %al, %al
je 0x43283
movq %r14, %rdi
leaq 0x494da(%rip), %rsi     # 0x8c6b0
leaq 0x49c43(%rip), %rdx     # 0x8ce20
xorl %ecx, %ecx
callq 0x2e430
movq %rax, -0xb8(%rbp)
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0x240(%rbp), %rdi
callq *(%rax)
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
leaq -0xb0(%rbp), %rdi
callq *(%rax)
movq -0x238(%rbp), %r15
movq -0xb0(%rbp), %r14
movq -0xa8(%rbp), %rbx
cmpq %r15, %rbx
movq %r15, %rdx
cmovbq %rbx, %rdx
testq %rdx, %rdx
je 0x4324b
movq -0x240(%rbp), %rdi
movq %r14, %rsi
callq 0x2e3c0
testl %eax, %eax
je 0x4324b
xorl %r15d, %r15d
jmp 0x43252
cmpq %rbx, %r15
sete %r15b
leaq -0xa0(%rbp), %rax
cmpq %rax, %r14
je 0x43266
movq %r14, %rdi
callq 0x2e360
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x4327e
callq 0x2e360
testb %r15b, %r15b
jne 0x43294
addq $0x8, %r12
cmpq %r13, %r12
jne 0x431b1
xorl %eax, %eax
jmp 0x43296
movb $0x1, %al
testb %al, %al
je 0x44409
movq -0x30(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x4338f
cmpb $0x0, -0xdc(%rbp)
leaq -0x110(%rbp), %rbx
leaq -0x90(%rbp), %r14
je 0x43471
leaq -0x240(%rbp), %rdi
leaq 0x3380d(%rip), %rsi     # 0x76ae3
callq 0x50494
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x11611(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x11609(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
movq %r14, %rsi
callq 0x537b3
movq %rax, %r15
movq -0xb8(%rbp), %rax
movl 0x50(%rax), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x43611
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x435ff
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x4360e
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43611
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 0x4334b
addl $-0x3, %r13d
jmp 0x43611
cmpb $0x0, -0xdc(%rbp)
leaq -0x110(%rbp), %rbx
leaq -0x90(%rbp), %r14
je 0x43538
leaq -0x240(%rbp), %rdi
leaq 0x3372b(%rip), %rsi     # 0x76ae3
callq 0x50494
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x1152f(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x11527(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
movq %r14, %rsi
callq 0x537b3
movq %rax, %r15
movq -0xb8(%rbp), %rax
movl 0x50(%rax), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x43da9
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x43d97
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43da6
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43da9
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 0x4342d
addl $-0x3, %r13d
jmp 0x43da9
leaq -0x240(%rbp), %rdi
leaq 0x33664(%rip), %rsi     # 0x76ae3
callq 0x50494
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x11468(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x11460(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
movq %r14, %rsi
callq 0x537b3
movq %rax, %r15
movq -0xb8(%rbp), %rax
movl 0x50(%rax), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x436ef
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x43605
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x436ec
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x436ef
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 0x434f4
addl $-0x3, %r13d
jmp 0x436ef
leaq -0x240(%rbp), %rdi
leaq 0x3359d(%rip), %rsi     # 0x76ae3
callq 0x50494
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, -0x90(%rbp)
leaq 0x113a1(%rip), %rax     # 0x5490a
movq %rax, -0x88(%rbp)
leaq 0x11399(%rip), %rax     # 0x54910
movq %rax, -0x80(%rbp)
leaq -0x240(%rbp), %rdi
movq %r14, %rsi
callq 0x537b3
movq %rax, %r15
movq -0xb8(%rbp), %rax
movl 0x50(%rax), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x43e88
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x43d9d
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43e85
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43e88
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 0x435bb
addl $-0x3, %r13d
jmp 0x43e88
addl $-0x2, %r13d
jmp 0x43611
addl $-0x2, %r13d
jmp 0x436ef
decl %r13d
shrl $0x1f, %r14d
leal (%r14,%r13), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r14
movq %r14, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39847
movq %rbx, -0x70(%rbp)
leaq 0x112b2(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x112ad(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
callq 0x537b3
movq %rax, %r13
movq -0xb8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x437cd
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x436e3
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x437ca
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x437cd
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 0x436a3
addl $-0x3, %r12d
jmp 0x437cd
addl $-0x2, %r12d
jmp 0x437cd
decl %r13d
shrl $0x1f, %r14d
leal (%r14,%r13), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r14
movq %r14, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39847
movq %rbx, -0x70(%rbp)
leaq 0x111d4(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x111cf(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
callq 0x537b3
movq %rax, %r13
movq -0xb8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x43946
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x437c1
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43943
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43946
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 0x43781
addl $-0x3, %r12d
jmp 0x43946
addl $-0x2, %r12d
jmp 0x43946
decl %r12d
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 0x39847
movq %r15, -0x50(%rbp)
leaq 0x11100(%rip), %rax     # 0x5490a
movq %rax, -0x48(%rbp)
leaq 0x110fb(%rip), %rax     # 0x54910
movq %rax, -0x40(%rbp)
movq %r13, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1f796(%rip), %rcx     # 0x62fd0
movq %rcx, -0x48(%rbp)
leaq 0x1f791(%rip), %rcx     # 0x62fd6
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x50(%rax), %rsi
movq (%rsi), %rax
leaq -0xd8(%rbp), %rdi
callq *(%rax)
movq -0xd8(%rbp), %r12
callq 0x2e060
movq %rax, %r14
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r12, %rdi
leaq -0x148(%rbp), %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %r12, -0x148(%rbp)
je 0x44432
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x44426
movl (%r14), %eax
cmpl $0x22, %eax
je 0x44426
testl %eax, %eax
jne 0x438d3
movl %r13d, (%r14)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
leaq -0x40(%rbp), %rdi
jb 0x43abf
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x4393a
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43abc
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43abf
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 0x438fa
addl $-0x3, %r12d
jmp 0x43abf
addl $-0x2, %r12d
jmp 0x43abf
decl %r12d
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 0x39847
movq %r15, -0x50(%rbp)
leaq 0x10f87(%rip), %rax     # 0x5490a
movq %rax, -0x48(%rbp)
leaq 0x10f82(%rip), %rax     # 0x54910
movq %rax, -0x40(%rbp)
movq %r13, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1f61d(%rip), %rcx     # 0x62fd0
movq %rcx, -0x48(%rbp)
leaq 0x1f618(%rip), %rcx     # 0x62fd6
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, %rbx
movq -0x30(%rbp), %rax
movq 0x50(%rax), %rsi
movq (%rsi), %rax
leaq -0xd8(%rbp), %rdi
callq *(%rax)
movq -0xd8(%rbp), %r12
callq 0x2e060
movq %rax, %r14
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r12, %rdi
leaq -0x148(%rbp), %rsi
movl $0xa, %edx
callq 0x2e570
cmpq %r12, -0x148(%rbp)
je 0x4441a
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x4440e
movl (%r14), %eax
cmpl $0x22, %eax
je 0x4440e
testl %eax, %eax
jne 0x43a4c
movl %r13d, (%r14)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
leaq -0x40(%rbp), %rdi
jb 0x43ba2
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x43ab3
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43b9f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43ba2
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 0x43a73
addl $-0x3, %r12d
jmp 0x43ba2
addl $-0x2, %r12d
jmp 0x43ba2
decl %r12d
movq %rbx, %r13
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
movq %rdi, -0x50(%rbp)
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r15d, %edi
addq -0x50(%rbp), %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39847
movq %rbx, -0x148(%rbp)
leaq 0x10e0b(%rip), %rax     # 0x5490a
movq %rax, -0x140(%rbp)
leaq 0x10e03(%rip), %rax     # 0x54910
movq %rax, -0x138(%rbp)
movq %r13, %rdi
leaq -0x148(%rbp), %rsi
callq 0x537b3
leaq 0x33609(%rip), %rcx     # 0x77133
movq %rcx, -0x148(%rbp)
leaq 0x1f4b2(%rip), %rcx     # 0x62fea
movq %rcx, -0x140(%rbp)
leaq 0x1f4aa(%rip), %rcx     # 0x62ff0
movq %rcx, -0x138(%rbp)
movq %rax, %rdi
leaq -0x148(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
jmp 0x43c7d
decl %r12d
movq %rbx, %r13
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
movq %rdi, -0x50(%rbp)
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
movl %r15d, %edi
addq -0x50(%rbp), %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39847
movq %rbx, -0x148(%rbp)
leaq 0x10d28(%rip), %rax     # 0x5490a
movq %rax, -0x140(%rbp)
leaq 0x10d20(%rip), %rax     # 0x54910
movq %rax, -0x138(%rbp)
movq %r13, %rdi
leaq -0x148(%rbp), %rsi
callq 0x537b3
leaq 0x33537(%rip), %rcx     # 0x77144
movq %rcx, -0x148(%rbp)
leaq 0x1f3cf(%rip), %rcx     # 0x62fea
movq %rcx, -0x140(%rbp)
leaq 0x1f3c7(%rip), %rcx     # 0x62ff0
movq %rcx, -0x138(%rbp)
movq %rax, %rdi
leaq -0x148(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x43c95
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x43ca7
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
leaq -0x258(%rbp), %r13
je 0x43cc6
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x43cd8
callq 0x2e360
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x43ced
callq 0x2e360
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x43d05
callq 0x2e360
cmpb $0x1, -0x170(%rbp)
jne 0x43d21
movq -0x118(%rbp), %rdi
callq 0x2e580
movb $0x0, -0x170(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x507e2
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x43d45
callq 0x2e360
movq -0x228(%rbp), %rdi
testq %rdi, %rdi
je 0x43d79
callq 0x2e360
xorl %eax, %eax
movq %rax, -0x228(%rbp)
movl %eax, -0x220(%rbp)
movq %rax, -0x218(%rbp)
movl %eax, -0x210(%rbp)
movq %rax, -0x208(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x50840
addq $0x8, %r12
cmpq %r14, %r12
jne 0x43107
jmp 0x4437a
addl $-0x2, %r13d
jmp 0x43da9
addl $-0x2, %r13d
jmp 0x43e88
decl %r13d
shrl $0x1f, %r14d
leal (%r14,%r13), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r14
movq %r14, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39847
movq %rbx, -0x70(%rbp)
leaq 0x10b1a(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x10b15(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
callq 0x537b3
movq %rax, %r15
movq -0xb8(%rbp), %rax
movl 0x54(%rax), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x43f67
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x43e7c
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x43f64
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x43f67
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 0x43e3c
addl $-0x3, %r13d
jmp 0x43f67
addl $-0x2, %r13d
jmp 0x43f67
decl %r13d
shrl $0x1f, %r14d
leal (%r14,%r13), %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x90(%rbp), %r14
movq %r14, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39847
movq %rbx, -0x70(%rbp)
leaq 0x10a3b(%rip), %rax     # 0x5490a
movq %rax, -0x68(%rbp)
leaq 0x10a36(%rip), %rax     # 0x54910
movq %rax, -0x60(%rbp)
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
callq 0x537b3
movq %rax, %r15
movq -0xb8(%rbp), %rax
movl 0x54(%rax), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %r13d
cmpl $0xa, %r12d
jb 0x4406f
movl $0x4, %r13d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x43f5b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x4406c
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x4406f
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 0x43f1b
addl $-0x3, %r13d
jmp 0x4406f
addl $-0x2, %r13d
jmp 0x4406f
decl %r13d
shrl $0x1f, %r14d
leal (%r14,%r13), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r14
movq %r14, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39847
movq %rbx, -0x50(%rbp)
leaq 0x10965(%rip), %rax     # 0x5490a
movq %rax, -0x48(%rbp)
leaq 0x10960(%rip), %rax     # 0x54910
movq %rax, -0x40(%rbp)
movq %r15, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1effb(%rip), %rcx     # 0x62fd0
movq %rcx, -0x48(%rbp)
leaq 0x1eff6(%rip), %rcx     # 0x62fd6
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, %rsi
movq -0xb8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
leaq -0x40(%rbp), %rdi
jb 0x44177
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x44063
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x44174
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x44177
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 0x44023
addl $-0x3, %r12d
jmp 0x44177
addl $-0x2, %r12d
jmp 0x44177
decl %r13d
shrl $0x1f, %r14d
leal (%r14,%r13), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x70(%rbp), %r14
movq %r14, %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x39847
movq %rbx, -0x50(%rbp)
leaq 0x1085d(%rip), %rax     # 0x5490a
movq %rax, -0x48(%rbp)
leaq 0x10858(%rip), %rax     # 0x54910
movq %rax, -0x40(%rbp)
movq %r15, %rdi
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x537b3
movq -0x150(%rbp), %rcx
movq %rcx, -0x50(%rbp)
leaq 0x1eef3(%rip), %rcx     # 0x62fd0
movq %rcx, -0x48(%rbp)
leaq 0x1eeee(%rip), %rcx     # 0x62fd6
movq %rcx, -0x40(%rbp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x537b3
movq %rax, %rsi
movq -0xb8(%rbp), %rax
movl 0x54(%rax), %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
leaq -0x40(%rbp), %rdi
jb 0x44259
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x4416b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x44256
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x44259
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 0x4412b
addl $-0x3, %r12d
jmp 0x44259
addl $-0x2, %r12d
jmp 0x44259
decl %r12d
movq %rsi, %r13
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
movq %rdi, -0x50(%rbp)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x50(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39847
movq %r15, -0xd8(%rbp)
leaq 0x10754(%rip), %rax     # 0x5490a
movq %rax, -0xd0(%rbp)
leaq 0x1074c(%rip), %rax     # 0x54910
movq %rax, -0xc8(%rbp)
movq %r13, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x537b3
leaq 0x32f52(%rip), %rcx     # 0x77133
movq %rcx, -0xd8(%rbp)
leaq 0x1edfb(%rip), %rcx     # 0x62fea
movq %rcx, -0xd0(%rbp)
leaq 0x1edf3(%rip), %rcx     # 0x62ff0
movq %rcx, -0xc8(%rbp)
movq %rax, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
jmp 0x44333
decl %r12d
movq %rsi, %r13
shrl $0x1f, %ebx
leal (%r12,%rbx), %esi
movq %rdi, -0x50(%rbp)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x2e460
addq -0x50(%rbp), %rbx
movq %rbx, %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x39847
movq %r15, -0xd8(%rbp)
leaq 0x10672(%rip), %rax     # 0x5490a
movq %rax, -0xd0(%rbp)
leaq 0x1066a(%rip), %rax     # 0x54910
movq %rax, -0xc8(%rbp)
movq %r13, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x537b3
leaq 0x32e81(%rip), %rcx     # 0x77144
movq %rcx, -0xd8(%rbp)
leaq 0x1ed19(%rip), %rcx     # 0x62fea
movq %rcx, -0xd0(%rbp)
leaq 0x1ed11(%rip), %rcx     # 0x62ff0
movq %rcx, -0xc8(%rbp)
movq %rax, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x537b3
leaq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x54924
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0x128(%rbp), %r15
movq -0xf0(%rbp), %r12
movq -0x120(%rbp), %r14
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x4434b
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x4435d
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
leaq -0x258(%rbp), %r13
jne 0x43cd3
jmp 0x43cd8
cmpb $0x0, -0xdc(%rbp)
je 0x443ad
leaq 0x32e32(%rip), %rsi     # 0x771bc
movl $0x1b, %edx
movq -0xe8(%rbp), %rdi
callq 0x2e440
testb $0x2, -0x154(%rbp)
je 0x443e6
leaq 0x331cd(%rip), %rsi     # 0x77578
jmp 0x443d5
leaq 0x32e24(%rip), %rsi     # 0x771d8
movl $0x1b, %edx
movq -0xe8(%rbp), %rdi
callq 0x2e440
testb $0x2, -0x154(%rbp)
je 0x443e6
leaq 0x331bf(%rip), %rsi     # 0x77594
movl $0x1b, %edx
movq -0xe8(%rbp), %rdi
callq 0x2e440
movq -0x2e8(%rbp), %rdi
testq %rdi, %rdi
je 0x443f7
callq 0x2e360
addq $0x2c8, %rsp            # imm = 0x2C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2ecec
leaq 0x31a23(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x31a17(%rip), %rdi     # 0x75e38
callq 0x2e260
leaq 0x31a0b(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x319ff(%rip), %rdi     # 0x75e38
callq 0x2e260
leaq 0x319f3(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x319e7(%rip), %rdi     # 0x75e38
callq 0x2e260
leaq 0x319db(%rip), %rdi     # 0x75e38
callq 0x2e5c0
leaq 0x319cf(%rip), %rdi     # 0x75e38
callq 0x2e260
jmp 0x445b1
jmp 0x4470e
jmp 0x4470e
jmp 0x446bd
jmp 0x4463b
jmp 0x4463b
jmp 0x44643
jmp 0x4480b
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x445eb
callq 0x2e360
jmp 0x445eb
jmp 0x446ff
jmp 0x446ff
jmp 0x4470e
jmp 0x446bd
jmp 0x446bd
jmp 0x4463b
jmp 0x4463b
jmp 0x44643
jmp 0x4480b
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x44686
callq 0x2e360
jmp 0x44686
jmp 0x4450d
movq %rax, %rbx
jmp 0x4469e
movq %rax, %rbx
jmp 0x446b0
jmp 0x446bd
jmp 0x4463b
jmp 0x4463b
jmp 0x44643
jmp 0x4480b
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x446d8
callq 0x2e360
jmp 0x446d8
jmp 0x44725
jmp 0x44725
jmp 0x44666
jmp 0x4470e
jmp 0x446bd
jmp 0x446bd
jmp 0x4463b
jmp 0x4463b
jmp 0x44643
jmp 0x4480b
jmp 0x445b1
jmp 0x4470e
jmp 0x446bd
jmp 0x446bd
jmp 0x4463b
jmp 0x4463b
jmp 0x44643
jmp 0x4480b
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
jmp 0x445f9
jmp 0x4470e
jmp 0x446bd
jmp 0x446bd
jmp 0x4463b
jmp 0x4463b
jmp 0x44643
jmp 0x4480b
jmp 0x446ff
jmp 0x446bd
movq %rax, %rbx
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x44702
callq 0x2e360
jmp 0x44702
jmp 0x4470e
jmp 0x446bd
jmp 0x446bd
jmp 0x4463b
jmp 0x4463b
jmp 0x44643
jmp 0x4480b
jmp 0x44650
jmp 0x44666
jmp 0x4470e
jmp 0x446bd
jmp 0x446bd
jmp 0x4463b
movq %rax, %rbx
jmp 0x44779
movq %rax, %rbx
jmp 0x44791
jmp 0x4480b
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
jmp 0x446e6
movq %rax, %rbx
jmp 0x4473a
jmp 0x4470e
movq %rax, %rbx
cmpl $0x0, (%r12)
jne 0x446b0
movl %r15d, (%r12)
jmp 0x446b0
movq %rax, %rbx
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x4469e
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x446b0
callq 0x2e360
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0x4475a
movq %rax, %rbx
jmp 0x44764
movq %rax, %rbx
cmpl $0x0, (%r12)
jne 0x4473a
movl %r15d, (%r12)
jmp 0x4473a
movq %rax, %rbx
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x44728
callq 0x2e360
jmp 0x44728
jmp 0x4470e
jmp 0x4470e
jmp 0x4470e
jmp 0x4480b
jmp 0x446ff
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0x44748
jmp 0x4470e
movq %rax, %rbx
jmp 0x44752
jmp 0x44715
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x4473a
movl %r13d, (%r14)
jmp 0x4473a
jmp 0x44725
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x4473a
callq 0x2e360
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x44752
callq 0x2e360
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x44764
callq 0x2e360
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x44779
callq 0x2e360
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x44791
callq 0x2e360
leaq -0x240(%rbp), %rdi
callq 0x505f8
jmp 0x4480e
movq %rax, %rbx
movq -0x2a0(%rbp), %rdi
jmp 0x447d9
movq %rax, %rbx
movq -0x258(%rbp), %rdi
jmp 0x447d9
movq %rax, %rbx
movq -0x288(%rbp), %rdi
jmp 0x447d9
movq %rax, %rbx
movq -0x270(%rbp), %rdi
jmp 0x447d9
movq %rax, %rbx
movq -0x2d0(%rbp), %rdi
testq %rdi, %rdi
jne 0x44800
jmp 0x4480e
jmp 0x4480b
jmp 0x4480b
jmp 0x4480b
jmp 0x447ea
jmp 0x4480b
movq %rax, %rbx
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x4480e
callq 0x2e360
jmp 0x4480e
jmp 0x4480b
jmp 0x4480b
movq %rax, %rbx
movq -0x2e8(%rbp), %rdi
testq %rdi, %rdi
je 0x4481f
callq 0x2e360
movq %rbx, %rdi
callq 0x2e730