// File: /workspace/github_cpp_makefile_star2_O2/CMU-SAFARI[P]ramulator/src/Controller.h
// Function: ramulator::Controller<ramulator::DDR3>::Controller(ramulator::Config const&, ramulator::DRAM<ramulator::DDR3>*)
Controller(const Config& configs, DRAM<T>* channel) :
        channel(channel),
        scheduler(new Scheduler<T>(this)),
        rowpolicy(new RowPolicy<T>(this)),
        rowtable(new RowTable<T>(this)),
        refresh(new Refresh<T>(this)),
        cmd_trace_files(channel->children.size())
    {
        record_cmd_trace = configs.record_cmd_trace();
        print_cmd_trace = configs.print_cmd_trace();
        if (record_cmd_trace){
            if (configs["cmd_trace_prefix"] != "") {
              cmd_trace_prefix = configs["cmd_trace_prefix"];
            }
            string prefix = cmd_trace_prefix + "chan-" + to_string(channel->id) + "-rank-";
            string suffix = ".cmdtrace";
            for (unsigned int i = 0; i < channel->children.size(); i++)
                cmd_trace_files[i].open(prefix + to_string(i) + suffix);
        }

        // regStats

        row_hits
            .name("row_hits_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row hits per channel per core")
            .precision(0)
            ;
        row_misses
            .name("row_misses_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row misses per channel per core")
            .precision(0)
            ;
        row_conflicts
            .name("row_conflicts_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row conflicts per channel per core")
            .precision(0)
            ;

        read_row_hits
            .init(configs.get_core_num())
            .name("read_row_hits_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row hits for read requests per channel per core")
            .precision(0)
            ;
        read_row_misses
            .init(configs.get_core_num())
            .name("read_row_misses_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row misses for read requests per channel per core")
            .precision(0)
            ;
        read_row_conflicts
            .init(configs.get_core_num())
            .name("read_row_conflicts_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row conflicts for read requests per channel per core")
            .precision(0)
            ;

        write_row_hits
            .init(configs.get_core_num())
            .name("write_row_hits_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row hits for write requests per channel per core")
            .precision(0)
            ;
        write_row_misses
            .init(configs.get_core_num())
            .name("write_row_misses_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row misses for write requests per channel per core")
            .precision(0)
            ;
        write_row_conflicts
            .init(configs.get_core_num())
            .name("write_row_conflicts_channel_"+to_string(channel->id) + "_core")
            .desc("Number of row conflicts for write requests per channel per core")
            .precision(0)
            ;

        useless_activates
            .name("useless_activates_"+to_string(channel->id)+ "_core")
            .desc("Number of useless activations. E.g, ACT -> PRE w/o RD or WR")
            .precision(0)
            ;

        read_transaction_bytes
            .name("read_transaction_bytes_"+to_string(channel->id))
            .desc("The total byte of read transaction per channel")
            .precision(0)
            ;
        write_transaction_bytes
            .name("write_transaction_bytes_"+to_string(channel->id))
            .desc("The total byte of write transaction per channel")
            .precision(0)
            ;

        read_latency_sum
            .name("read_latency_sum_"+to_string(channel->id))
            .desc("The memory latency cycles (in memory time domain) sum for all read requests in this channel")
            .precision(0)
            ;
        read_latency_avg
            .name("read_latency_avg_"+to_string(channel->id))
            .desc("The average memory latency cycles (in memory time domain) per request for all read requests in this channel")
            .precision(6)
            ;

        req_queue_length_sum
            .name("req_queue_length_sum_"+to_string(channel->id))
            .desc("Sum of read and write queue length per memory cycle per channel.")
            .precision(0)
            ;
        req_queue_length_avg
            .name("req_queue_length_avg_"+to_string(channel->id))
            .desc("Average of read and write queue length per memory cycle per channel.")
            .precision(6)
            ;

        read_req_queue_length_sum
            .name("read_req_queue_length_sum_"+to_string(channel->id))
            .desc("Read queue length sum per memory cycle per channel.")
            .precision(0)
            ;
        read_req_queue_length_avg
            .name("read_req_queue_length_avg_"+to_string(channel->id))
            .desc("Read queue length average per memory cycle per channel.")
            .precision(6)
            ;

        write_req_queue_length_sum
            .name("write_req_queue_length_sum_"+to_string(channel->id))
            .desc("Write queue length sum per memory cycle per channel.")
            .precision(0)
            ;
        write_req_queue_length_avg
            .name("write_req_queue_length_avg_"+to_string(channel->id))
            .desc("Write queue length average per memory cycle per channel.")
            .precision(6)
            ;

#ifndef INTEGRATED_WITH_GEM5
        record_read_hits
            .init(configs.get_core_num())
            .name("record_read_hits")
            .desc("record read hit count for this core when it reaches request limit or to the end")
            ;

        record_read_misses
            .init(configs.get_core_num())
            .name("record_read_misses")
            .desc("record_read_miss count for this core when it reaches request limit or to the end")
            ;

        record_read_conflicts
            .init(configs.get_core_num())
            .name("record_read_conflicts")
            .desc("record read conflict count for this core when it reaches request limit or to the end")
            ;

        record_write_hits
            .init(configs.get_core_num())
            .name("record_write_hits")
            .desc("record write hit count for this core when it reaches request limit or to the end")
            ;

        record_write_misses
            .init(configs.get_core_num())
            .name("record_write_misses")
            .desc("record write miss count for this core when it reaches request limit or to the end")
            ;

        record_write_conflicts
            .init(configs.get_core_num())
            .name("record_write_conflicts")
            .desc("record write conflict for this core when it reaches request limit or to the end")
            ;
#endif
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x838, %rsp            # imm = 0x838
movq %rdx, (%rsp)
movq %rsi, %r12
movq %rdi, %r14
callq 0x186fa
leaq 0x98(%r14), %r15
movq %r15, %rdi
callq 0x186fa
leaq 0x130(%r14), %r13
movq %r13, %rdi
callq 0x186fa
leaq 0x1c8(%r14), %rbp
movq %rbp, %rdi
callq 0x186fa
leaq 0x260(%r14), %rdi
movq %rdi, 0x138(%rsp)
callq 0x186fa
leaq 0x2f8(%r14), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x1afb8
leaq 0x3a8(%r14), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x1afb8
leaq 0x458(%r14), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x1afb8
leaq 0x508(%r14), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x1afb8
leaq 0x5b8(%r14), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x1afb8
leaq 0x668(%r14), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x1afb8
leaq 0x718(%r14), %rdi
movq %rdi, 0x130(%rsp)
callq 0x186fa
leaq 0x7b0(%r14), %rdi
movq %rdi, 0x120(%rsp)
callq 0x186fa
leaq 0x848(%r14), %rdi
movq %rdi, 0x128(%rsp)
callq 0x186fa
leaq 0x8e0(%r14), %rdi
movq %rdi, 0x110(%rsp)
callq 0x186fa
leaq 0x978(%r14), %rdi
movq %rdi, 0x118(%rsp)
callq 0x186fa
leaq 0xa10(%r14), %rdi
movq %rdi, 0x100(%rsp)
callq 0x186fa
leaq 0xaa8(%r14), %rdi
movq %rdi, 0x108(%rsp)
callq 0x186fa
leaq 0xb40(%r14), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x186fa
leaq 0xbd8(%r14), %rdi
movq %rdi, 0xf8(%rsp)
callq 0x186fa
leaq 0xc70(%r14), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x1afb8
leaq 0xd20(%r14), %rdi
movq %rdi, 0x98(%rsp)
callq 0x1afb8
leaq 0xdd0(%r14), %rdi
movq %rdi, 0x90(%rsp)
callq 0x1afb8
leaq 0xe80(%r14), %rdi
movq %rdi, 0x88(%rsp)
callq 0x1afb8
leaq 0xf30(%r14), %rdi
movq %rdi, 0x80(%rsp)
callq 0x1afb8
leaq 0xfe0(%r14), %rdi
movq %rdi, 0x78(%rsp)
callq 0x1afb8
andq $0x0, 0x1090(%r14)
movq (%rsp), %rax
movq %rax, 0x1098(%r14)
movl $0x98, %edi
callq 0xb2d0
movq %rax, %rbx
movq %rax, %rdi
movq %r14, %rsi
callq 0x1aa16
movq %rbx, 0x10a0(%r14)
movl $0x90, %edi
callq 0xb2d0
movq %rax, %rbx
movq %rax, %rdi
movq %r14, %rsi
callq 0x1aaae
movq %rbx, 0x10a8(%r14)
pushq $0x38
popq %rdi
callq 0xb2d0
movq %r14, (%rax)
andl $0x0, 0x10(%rax)
andq $0x0, 0x18(%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, 0x20(%rax)
movq %rcx, 0x28(%rax)
andq $0x0, 0x30(%rax)
movq %rax, 0x10b0(%r14)
movl $0x98, %edi
callq 0xb2d0
movq %rax, %rbx
movq %rax, %rdi
movq %r14, %rsi
callq 0x1ab42
movq %rbx, 0x10b8(%r14)
leaq 0x10c0(%r14), %rax
movq %rax, 0x10c8(%r14)
movq %rax, 0x170(%rsp)
movq %rax, 0x10c0(%r14)
andq $0x0, 0x10d0(%r14)
pushq $0x20
popq %rax
movl %eax, 0x10d8(%r14)
leaq 0x10e0(%r14), %rcx
movq %rcx, 0x10e8(%r14)
movq %rcx, 0x168(%rsp)
movq %rcx, 0x10e0(%r14)
andq $0x0, 0x10f0(%r14)
movl %eax, 0x10f8(%r14)
leaq 0x1100(%r14), %rcx
movq %rcx, 0x1108(%r14)
movq %rcx, 0x160(%rsp)
movq %rcx, 0x1100(%r14)
andq $0x0, 0x1110(%r14)
movl %eax, 0x1118(%r14)
leaq 0x1120(%r14), %rcx
movq %rcx, 0x1128(%r14)
movq %rcx, 0x158(%rsp)
movq %rcx, 0x1120(%r14)
andq $0x0, 0x1130(%r14)
movl %eax, 0x1138(%r14)
leaq 0x1140(%r14), %rdi
movq %rdi, 0x150(%rsp)
callq 0x1c334
movb $0x0, 0x1190(%r14)
movsd 0xbc0e6(%rip), %xmm0    # 0xd1010
movsd %xmm0, 0x1194(%r14)
leaq 0x11a0(%r14), %rdi
leaq 0xbc955(%rip), %rsi     # 0xd1896
leaq 0x8(%rsp), %rdx
movq %rdi, 0x70(%rsp)
callq 0x10eea
leaq 0x11c0(%r14), %rdi
movq (%rsp), %rax
movq 0x3b8(%rax), %rsi
subq 0x3b0(%rax), %rsi
sarq $0x3, %rsi
leaq 0x8(%rsp), %rdx
movq %rdi, 0x140(%rsp)
callq 0x1ac8c
andw $0x0, 0x11d8(%r14)
movq %r12, %rdi
callq 0x1acde
movb %al, 0x11d8(%r14)
movq %r12, %rdi
callq 0x1ad94
movb %al, 0x11d9(%r14)
cmpb $0x1, 0x11d8(%r14)
jne 0x151e9
leaq 0xbc8e6(%rip), %rsi     # 0xd18a1
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
movq %rbp, 0x48(%rsp)
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r12, %rsi
callq 0x10f26
leaq 0xc2570(%rip), %rsi     # 0xd7558
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x10f86
movl %eax, %ebp
movq %rbx, %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
testb %bpl, %bpl
je 0x1505a
leaq 0xbc88c(%rip), %rsi     # 0xd18a1
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r12, %rsi
callq 0x10f26
leaq 0x8(%rsp), %rbx
movq 0x70(%rsp), %rdi
movq %rbx, %rsi
callq 0xb340
movq %rbx, %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
leaq 0xbc851(%rip), %rdx     # 0xd18b2
leaq 0x50(%rsp), %rdi
movq 0x70(%rsp), %rsi
callq 0x11053
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x178(%rsp), %rdi
callq 0x1a923
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x178(%rsp), %rdx
callq 0x1a827
leaq 0xbc813(%rip), %rdx     # 0xd18b8
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1a88e
movq %r12, 0x148(%rsp)
movq %r13, 0xd8(%rsp)
movq %r15, 0xe0(%rsp)
movq %r14, 0xe8(%rsp)
leaq 0x28(%rsp), %rdi
callq 0xb568
leaq 0x178(%rsp), %rdi
callq 0xb568
leaq 0x50(%rsp), %rdi
callq 0xb568
leaq 0xbc7c3(%rip), %rsi     # 0xd18bf
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
xorl %r13d, %r13d
leaq 0x818(%rsp), %r14
leaq 0x178(%rsp), %r15
leaq 0x50(%rsp), %rbx
pushq $0x10
popq %r12
movl %r13d, %r13d
movq (%rsp), %rcx
movq 0x3b8(%rcx), %rax
subq 0x3b0(%rcx), %rax
sarq $0x3, %rax
cmpq %r13, %rax
jbe 0x151b0
movq %r13, %rbp
shlq $0x9, %rbp
movq 0x140(%rsp), %rax
addq (%rax), %rbp
movq %r14, %rdi
movl %r13d, %esi
callq 0x1ae68
movq %r15, %rdi
leaq 0x8(%rsp), %rsi
movq %r14, %rdx
callq 0x1108b
movq %rbx, %rdi
movq %r15, %rsi
leaq 0x28(%rsp), %rdx
callq 0x1ae49
movq %rbp, %rdi
movq %rbx, %rsi
movl %r12d, %edx
callq 0xb180
movq %rbx, %rdi
callq 0xb568
movq %r15, %rdi
callq 0xb568
movq %r14, %rdi
callq 0xb568
incl %r13d
jmp 0x15127
leaq 0x28(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq 0xe8(%rsp), %r14
movq 0xe0(%rsp), %r15
movq 0xd8(%rsp), %r13
movq 0x48(%rsp), %rbp
movq 0x148(%rsp), %r12
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc74f(%rip), %rsi     # 0xd1953
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc6af(%rip), %rdx     # 0xd18c9
leaq 0x7f8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x7f8(%rsp), %rsi
movq %r13, %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc689(%rip), %rsi     # 0xd18cf
leaq 0x7d8(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x7d8(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x7d8(%rsp), %rdi
callq 0xb568
leaq 0x7f8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc6ee(%rip), %rsi     # 0xd19a4
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc5fd(%rip), %rdx     # 0xd18c9
leaq 0x7b8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x7b8(%rsp), %rsi
movq %rbp, %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc5ff(%rip), %rsi     # 0xd18f7
leaq 0x798(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x798(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x798(%rsp), %rdi
callq 0xb568
leaq 0x7b8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc691(%rip), %rsi     # 0xd19f9
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc54b(%rip), %rdx     # 0xd18c9
leaq 0x778(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x778(%rsp), %rsi
movq 0x138(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc572(%rip), %rsi     # 0xd1921
leaq 0x758(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x758(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x758(%rsp), %rdi
callq 0xb568
leaq 0x778(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0xd0(%rsp), %rdi
callq 0x1c698
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc51d(%rip), %rsi     # 0xd194e
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc482(%rip), %rdx     # 0xd18c9
leaq 0x738(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x738(%rsp), %rsi
movq 0xd0(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbc4ed(%rip), %rsi     # 0xd1965
leaq 0x718(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x718(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x718(%rsp), %rdi
callq 0xb568
leaq 0x738(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0xc8(%rsp), %rdi
callq 0x1c698
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc4a5(%rip), %rsi     # 0xd199f
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc3b9(%rip), %rdx     # 0xd18c9
leaq 0x6f8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x6f8(%rsp), %rsi
movq 0xc8(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbc477(%rip), %rsi     # 0xd19b8
leaq 0x6d8(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x6d8(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x6d8(%rsp), %rdi
callq 0xb568
leaq 0x6f8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0xc0(%rsp), %rdi
callq 0x1c698
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc431(%rip), %rsi     # 0xd19f4
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc2f0(%rip), %rdx     # 0xd18c9
leaq 0x6b8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x6b8(%rsp), %rsi
movq 0xc0(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbc406(%rip), %rsi     # 0xd1a10
leaq 0x698(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x698(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x698(%rsp), %rdi
callq 0xb568
leaq 0x6b8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0xb8(%rsp), %rdi
callq 0x1c698
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc3c3(%rip), %rsi     # 0xd1a4f
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc227(%rip), %rdx     # 0xd18c9
leaq 0x678(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x678(%rsp), %rsi
movq 0xb8(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbc394(%rip), %rsi     # 0xd1a67
leaq 0x658(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x658(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x658(%rsp), %rdi
callq 0xb568
leaq 0x678(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0xb0(%rsp), %rdi
callq 0x1c698
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc34d(%rip), %rsi     # 0xd1aa2
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc15e(%rip), %rdx     # 0xd18c9
leaq 0x638(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x638(%rsp), %rsi
movq 0xb0(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbc320(%rip), %rsi     # 0xd1abc
leaq 0x618(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x618(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x618(%rsp), %rdi
callq 0xb568
leaq 0x638(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0xa8(%rsp), %rdi
callq 0x1c698
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc2db(%rip), %rsi     # 0xd1af9
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbc095(%rip), %rdx     # 0xd18c9
leaq 0x5f8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x5f8(%rsp), %rsi
movq 0xa8(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbc2b1(%rip), %rsi     # 0xd1b16
leaq 0x5d8(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x5d8(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x5d8(%rsp), %rdi
callq 0xb568
leaq 0x5f8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0x1a923
leaq 0xbc281(%rip), %rsi     # 0xd1b56
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x1aea7
leaq 0xbbfde(%rip), %rdx     # 0xd18c9
leaq 0x5b8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1a88e
leaq 0x5b8(%rsp), %rsi
movq 0x130(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc24d(%rip), %rsi     # 0xd1b69
leaq 0x598(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x598(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x598(%rsp), %rdi
callq 0xb568
leaq 0x5b8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc219(%rip), %rsi     # 0xd1ba5
leaq 0x578(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x578(%rsp), %rsi
movq %r14, %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc205(%rip), %rsi     # 0xd1bbd
leaq 0x558(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x558(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x558(%rsp), %rdi
callq 0xb568
leaq 0x578(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc1ce(%rip), %rsi     # 0xd1bec
leaq 0x538(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x538(%rsp), %rsi
movq %r15, %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc1bb(%rip), %rsi     # 0xd1c05
leaq 0x518(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x518(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x518(%rsp), %rdi
callq 0xb568
leaq 0x538(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc185(%rip), %rsi     # 0xd1c35
leaq 0x4f8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x4f8(%rsp), %rsi
movq 0x128(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc166(%rip), %rsi     # 0xd1c47
leaq 0x4d8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x4d8(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x4d8(%rsp), %rdi
callq 0xb568
leaq 0x4f8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc15c(%rip), %rsi     # 0xd1ca3
leaq 0x4b8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x4b8(%rsp), %rsi
movq 0x120(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc13d(%rip), %rsi     # 0xd1cb5
leaq 0x498(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x498(%rsp), %rsi
callq 0xb1c0
movl $0x6, 0x48(%rbx)
leaq 0x498(%rsp), %rdi
callq 0xb568
leaq 0x4b8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc1cb(%rip), %rsi     # 0xd1dac
leaq 0x478(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x478(%rsp), %rsi
movq 0x118(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc10f(%rip), %rsi     # 0xd1d21
leaq 0x458(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x458(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x458(%rsp), %rdi
callq 0xb568
leaq 0x478(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc183(%rip), %rsi     # 0xd1dfb
leaq 0x438(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x438(%rsp), %rsi
movq 0x110(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc0b9(%rip), %rsi     # 0xd1d62
leaq 0x418(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x418(%rsp), %rsi
callq 0xb1c0
movl $0x6, 0x48(%rbx)
leaq 0x418(%rsp), %rdi
callq 0xb568
leaq 0x438(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc095(%rip), %rsi     # 0xd1da7
leaq 0x3f8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x3f8(%rsp), %rsi
movq 0x108(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc07f(%rip), %rsi     # 0xd1dc2
leaq 0x3d8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x3d8(%rsp), %rdi
callq 0xb568
leaq 0x3f8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc04d(%rip), %rsi     # 0xd1df6
leaq 0x3b8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x3b8(%rsp), %rsi
movq 0x100(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbc037(%rip), %rsi     # 0xd1e11
leaq 0x398(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x398(%rsp), %rsi
callq 0xb1c0
movl $0x6, 0x48(%rbx)
leaq 0x398(%rsp), %rdi
callq 0xb568
leaq 0x3b8(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbc006(%rip), %rsi     # 0xd1e49
leaq 0x378(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x378(%rsp), %rsi
movq 0xf8(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbbff1(%rip), %rsi     # 0xd1e65
leaq 0x358(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x358(%rsp), %rsi
callq 0xb1c0
andl $0x0, 0x48(%rbx)
leaq 0x358(%rsp), %rdi
callq 0xb568
leaq 0x378(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq (%rsp), %rax
movl 0x39c(%rax), %esi
leaq 0x8(%rsp), %rdi
callq 0x1a923
leaq 0xbbfc0(%rip), %rsi     # 0xd1e9a
leaq 0x338(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1aea7
leaq 0x338(%rsp), %rsi
movq 0xf0(%rsp), %rdi
callq 0x1a7c6
movq %rax, %rbx
leaq 0xbbfab(%rip), %rsi     # 0xd1eb6
leaq 0x318(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
leaq 0x28(%rbx), %rdi
leaq 0x318(%rsp), %rsi
callq 0xb1c0
movl $0x6, 0x48(%rbx)
leaq 0x318(%rsp), %rdi
callq 0xb568
leaq 0x338(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0xa0(%rsp), %rdi
callq 0x1c698
leaq 0xbbf7d(%rip), %rsi     # 0xd1eef
leaq 0x2f8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x10eea
leaq 0x2f8(%rsp), %rsi
movq 0xa0(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbbf5d(%rip), %rsi     # 0xd1f00
leaq 0x2d8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
addq $0x28, %rbx
leaq 0x2d8(%rsp), %rsi
movq %rbx, %rdi
callq 0xb1c0
leaq 0x2d8(%rsp), %rdi
callq 0xb568
leaq 0x2f8(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0x98(%rsp), %rdi
callq 0x1c698
leaq 0xbbf54(%rip), %rsi     # 0xd1f50
leaq 0x2b8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x10eea
leaq 0x2b8(%rsp), %rsi
movq 0x98(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbbf36(%rip), %rsi     # 0xd1f63
leaq 0x298(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
addq $0x28, %rbx
leaq 0x298(%rsp), %rsi
movq %rbx, %rdi
callq 0xb1c0
leaq 0x298(%rsp), %rdi
callq 0xb568
leaq 0x2b8(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0x90(%rsp), %rdi
callq 0x1c698
leaq 0xbbf2e(%rip), %rsi     # 0xd1fb4
leaq 0x278(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x10eea
leaq 0x278(%rsp), %rsi
movq 0x90(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbbf13(%rip), %rsi     # 0xd1fca
leaq 0x258(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
addq $0x28, %rbx
leaq 0x258(%rsp), %rsi
movq %rbx, %rdi
callq 0xb1c0
leaq 0x258(%rsp), %rdi
callq 0xb568
leaq 0x278(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0x88(%rsp), %rdi
callq 0x1c698
leaq 0xbbf0f(%rip), %rsi     # 0xd201f
leaq 0x238(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x10eea
leaq 0x238(%rsp), %rsi
movq 0x88(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbbef0(%rip), %rsi     # 0xd2031
leaq 0x218(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
addq $0x28, %rbx
leaq 0x218(%rsp), %rsi
movq %rbx, %rdi
callq 0xb1c0
leaq 0x218(%rsp), %rdi
callq 0xb568
leaq 0x238(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0x80(%rsp), %rdi
callq 0x1c698
leaq 0xbbee8(%rip), %rsi     # 0xd2082
leaq 0x1f8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x10eea
leaq 0x1f8(%rsp), %rsi
movq 0x80(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbbecb(%rip), %rsi     # 0xd2096
leaq 0x1d8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
addq $0x28, %rbx
leaq 0x1d8(%rsp), %rsi
movq %rbx, %rdi
callq 0xb1c0
leaq 0x1d8(%rsp), %rdi
callq 0xb568
leaq 0x1f8(%rsp), %rdi
callq 0xb568
movl 0x44(%r12), %esi
movq 0x78(%rsp), %rdi
callq 0x1c698
leaq 0xbbec7(%rip), %rsi     # 0xd20e8
leaq 0x1b8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x10eea
leaq 0x1b8(%rsp), %rsi
movq 0x78(%rsp), %rdi
callq 0x1aecc
movq %rax, %rbx
leaq 0xbbeb0(%rip), %rsi     # 0xd20ff
leaq 0x198(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x10eea
addq $0x28, %rbx
leaq 0x198(%rsp), %rsi
movq %rbx, %rdi
callq 0xb1c0
leaq 0x198(%rsp), %rdi
callq 0xb568
leaq 0x1b8(%rsp), %rdi
callq 0xb568
addq $0x838, %rsp            # imm = 0x838
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x162e0
jmp 0x162d8
movq %rax, %r12
jmp 0x168f8
movq %rax, %r12
leaq 0x28(%rsp), %rdi
callq 0xb568
jmp 0x162bf
movq %rax, %r12
leaq 0x178(%rsp), %rdi
callq 0xb568
jmp 0x162d1
movq %rax, %r12
leaq 0x50(%rsp), %rdi
jmp 0x162e8
movq %rax, %r12
jmp 0x1691a
movq %rax, %r12
leaq 0x28(%rsp), %rdi
callq 0xb568
jmp 0x1691a
jmp 0x168b3
movq %rax, %r12
leaq 0x198(%rsp), %rdi
callq 0xb568
jmp 0x1630e
jmp 0x1630b
movq %rax, %r12
leaq 0x1b8(%rsp), %rdi
jmp 0x167a7
jmp 0x168b3
movq %rax, %r12
leaq 0x1d8(%rsp), %rdi
callq 0xb568
jmp 0x16337
jmp 0x16334
movq %rax, %r12
leaq 0x1f8(%rsp), %rdi
jmp 0x167a7
jmp 0x168b3
movq %rax, %r12
leaq 0x218(%rsp), %rdi
callq 0xb568
jmp 0x16360
jmp 0x1635d
movq %rax, %r12
leaq 0x238(%rsp), %rdi
jmp 0x167a7
jmp 0x168b3
movq %rax, %r12
leaq 0x258(%rsp), %rdi
callq 0xb568
jmp 0x16389
jmp 0x16386
movq %rax, %r12
leaq 0x278(%rsp), %rdi
jmp 0x167a7
jmp 0x168b3
movq %rax, %r12
leaq 0x298(%rsp), %rdi
callq 0xb568
jmp 0x163b2
jmp 0x163af
movq %rax, %r12
leaq 0x2b8(%rsp), %rdi
jmp 0x167a7
jmp 0x168b3
movq %rax, %r12
leaq 0x2d8(%rsp), %rdi
callq 0xb568
jmp 0x163db
jmp 0x163d8
movq %rax, %r12
leaq 0x2f8(%rsp), %rdi
jmp 0x167a7
jmp 0x168b3
movq %rax, %r12
leaq 0x318(%rsp), %rdi
callq 0xb568
jmp 0x16404
jmp 0x16401
movq %rax, %r12
leaq 0x338(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x358(%rsp), %rdi
callq 0xb568
jmp 0x16432
jmp 0x1642f
movq %rax, %r12
leaq 0x378(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x398(%rsp), %rdi
callq 0xb568
jmp 0x16460
jmp 0x1645d
movq %rax, %r12
leaq 0x3b8(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x3d8(%rsp), %rdi
callq 0xb568
jmp 0x1648e
jmp 0x1648b
movq %rax, %r12
leaq 0x3f8(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x418(%rsp), %rdi
callq 0xb568
jmp 0x164bc
jmp 0x164b9
movq %rax, %r12
leaq 0x438(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x458(%rsp), %rdi
callq 0xb568
jmp 0x164ea
jmp 0x164e7
movq %rax, %r12
leaq 0x478(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x498(%rsp), %rdi
callq 0xb568
jmp 0x16518
jmp 0x16515
movq %rax, %r12
leaq 0x4b8(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x4d8(%rsp), %rdi
callq 0xb568
jmp 0x16540
jmp 0x1653d
movq %rax, %r12
leaq 0x4f8(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x518(%rsp), %rdi
callq 0xb568
jmp 0x16568
jmp 0x16565
movq %rax, %r12
leaq 0x538(%rsp), %rdi
jmp 0x16598
jmp 0x1659f
jmp 0x168b3
movq %rax, %r12
leaq 0x558(%rsp), %rdi
callq 0xb568
jmp 0x16590
jmp 0x1658d
movq %rax, %r12
leaq 0x578(%rsp), %rdi
callq 0xb568
jmp 0x165a2
movq %rax, %r12
leaq 0x8(%rsp), %rdi
jmp 0x167a7
jmp 0x168b3
movq %rax, %r12
leaq 0x598(%rsp), %rdi
callq 0xb568
jmp 0x165c8
jmp 0x165c5
movq %rax, %r12
leaq 0x5b8(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x5d8(%rsp), %rdi
callq 0xb568
jmp 0x165fb
jmp 0x165f8
movq %rax, %r12
leaq 0x5f8(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x618(%rsp), %rdi
callq 0xb568
jmp 0x1662e
jmp 0x1662b
movq %rax, %r12
leaq 0x638(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x658(%rsp), %rdi
callq 0xb568
jmp 0x16661
jmp 0x1665e
movq %rax, %r12
leaq 0x678(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x698(%rsp), %rdi
callq 0xb568
jmp 0x16694
jmp 0x16691
movq %rax, %r12
leaq 0x6b8(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x6d8(%rsp), %rdi
callq 0xb568
jmp 0x166c7
jmp 0x166c4
movq %rax, %r12
leaq 0x6f8(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x718(%rsp), %rdi
callq 0xb568
jmp 0x166fa
jmp 0x166f7
movq %rax, %r12
leaq 0x738(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x758(%rsp), %rdi
callq 0xb568
jmp 0x1672d
jmp 0x1672a
movq %rax, %r12
leaq 0x778(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x798(%rsp), %rdi
callq 0xb568
jmp 0x16757
jmp 0x16754
movq %rax, %r12
leaq 0x7b8(%rsp), %rdi
jmp 0x16789
jmp 0x16790
jmp 0x1679f
jmp 0x168b3
movq %rax, %r12
leaq 0x7d8(%rsp), %rdi
callq 0xb568
jmp 0x16781
jmp 0x1677e
movq %rax, %r12
leaq 0x7f8(%rsp), %rdi
callq 0xb568
jmp 0x16793
movq %rax, %r12
leaq 0x8(%rsp), %rdi
callq 0xb568
jmp 0x167a2
movq %rax, %r12
leaq 0x28(%rsp), %rdi
callq 0xb568
jmp 0x1691f
jmp 0x168b3
movq %rax, %r12
jmp 0x1692c
movq %rax, %r12
jmp 0x16936
movq %rax, %r12
jmp 0x16943
movq %rax, %r12
movl $0x98, %esi
movq %rbx, %rdi
callq 0xb2e0
jmp 0x16977
movq %rax, %r12
jmp 0x16981
movq %rax, %r12
jmp 0x1698e
movq %rax, %r12
jmp 0x1699b
movq %rax, %r12
jmp 0x169a8
movq %rax, %r12
jmp 0x169b5
movq %rax, %r12
jmp 0x169c2
movq %rax, %r12
jmp 0x169cf
movq %rax, %r12
jmp 0x169dc
movq %rax, %r12
jmp 0x169e9
movq %rax, %r12
jmp 0x169f6
movq %rax, %r12
jmp 0x16a03
movq %rax, %r12
jmp 0x16a10
movq %rax, %r12
jmp 0x16a1d
movq %rax, %r12
jmp 0x16a2a
movq %rax, %r12
jmp 0x16a37
movq %rax, %r12
jmp 0x16a44
movq %rax, %r12
jmp 0x16a51
movq %rax, %r12
jmp 0x16a5e
movq %rax, %r12
jmp 0x16a6b
movq %rax, %r12
jmp 0x16a78
movq %rax, %r12
jmp 0x16a85
movq %rax, %r12
jmp 0x16a92
movq %rax, %r12
jmp 0x16a9a
movq %rax, %r12
jmp 0x16aa2
movq %rax, %r12
jmp 0x16aaa
movq %rax, %r12
jmp 0x16977
movq %rax, %r12
jmp 0x1691f
movq %rax, %r12
leaq 0x50(%rsp), %rdi
callq 0xb568
jmp 0x168ca
movq %rax, %r12
leaq 0x178(%rsp), %rdi
callq 0xb568
jmp 0x168e1
movq %rax, %r12
jmp 0x168ee
movq %rax, %r12
leaq 0x818(%rsp), %rdi
callq 0xb568
leaq 0x28(%rsp), %rdi
callq 0xb568
leaq 0x8(%rsp), %rdi
callq 0xb568
movq 0xe8(%rsp), %r14
movq 0xe0(%rsp), %r15
movq 0xd8(%rsp), %r13
movq 0x48(%rsp), %rbp
movq 0x140(%rsp), %rdi
callq 0x1af30
movq 0x70(%rsp), %rdi
callq 0xb568
movq 0x150(%rsp), %rdi
callq 0x1af52
movq 0x158(%rsp), %rdi
callq 0x1cc2e
movq 0x160(%rsp), %rdi
callq 0x1cc2e
movq 0x168(%rsp), %rdi
callq 0x1cc2e
movq 0x170(%rsp), %rdi
callq 0x1cc2e
movq 0x78(%rsp), %rdi
callq 0x1af9e
movq 0x80(%rsp), %rdi
callq 0x1af9e
movq 0x88(%rsp), %rdi
callq 0x1af9e
movq 0x90(%rsp), %rdi
callq 0x1af9e
movq 0x98(%rsp), %rdi
callq 0x1af9e
movq 0xa0(%rsp), %rdi
callq 0x1af9e
movq 0xf8(%rsp), %rdi
callq 0x186e4
movq 0xf0(%rsp), %rdi
callq 0x186e4
movq 0x108(%rsp), %rdi
callq 0x186e4
movq 0x100(%rsp), %rdi
callq 0x186e4
movq 0x118(%rsp), %rdi
callq 0x186e4
movq 0x110(%rsp), %rdi
callq 0x186e4
movq 0x128(%rsp), %rdi
callq 0x186e4
movq 0x120(%rsp), %rdi
callq 0x186e4
movq 0x130(%rsp), %rdi
callq 0x186e4
movq 0xa8(%rsp), %rdi
callq 0x1af9e
movq 0xb0(%rsp), %rdi
callq 0x1af9e
movq 0xb8(%rsp), %rdi
callq 0x1af9e
movq 0xc0(%rsp), %rdi
callq 0x1af9e
movq 0xc8(%rsp), %rdi
callq 0x1af9e
movq 0xd0(%rsp), %rdi
callq 0x1af9e
movq 0x138(%rsp), %rdi
callq 0x186e4
movq %rbp, %rdi
callq 0x186e4
movq %r13, %rdi
callq 0x186e4
movq %r15, %rdi
callq 0x186e4
movq %r14, %rdi
callq 0x186e4
movq %r12, %rdi
callq 0xb4d0