// File: CMU-SAFARI[P]MQSim/src/ssd/TSU_Priority_OutOfOrder.cpp
// Function: SSD_Components::TSU_Priority_OutOfOrder::TSU_Priority_OutOfOrder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, SSD_Components::FTL*, SSD_Components::NVM_PHY_ONFI_NVDDR2*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned long, unsigned long, unsigned long, bool, bool)
TSU_Priority_OutOfOrder::TSU_Priority_OutOfOrder(const sim_object_id_type &id,
                                                 FTL *ftl,
                                                 NVM_PHY_ONFI_NVDDR2 *NVMController,
                                                 unsigned int ChannelCount,
                                                 unsigned int ChipNoPerChannel,
                                                 unsigned int DieNoPerChip,
                                                 unsigned int PlaneNoPerDie,
                                                 sim_time_type WriteReasonableSuspensionTimeForRead,
                                                 sim_time_type EraseReasonableSuspensionTimeForRead,
                                                 sim_time_type EraseReasonableSuspensionTimeForWrite,
                                                 bool EraseSuspensionEnabled,
                                                 bool ProgramSuspensionEnabled)
    : TSU_Base(id,
               ftl,
               NVMController,
               Flash_Scheduling_Type::PRIORITY_OUT_OF_ORDER,
               ChannelCount,
               ChipNoPerChannel,
               DieNoPerChip,
               PlaneNoPerDie,
               WriteReasonableSuspensionTimeForRead,
               EraseReasonableSuspensionTimeForRead,
               EraseReasonableSuspensionTimeForWrite,
               EraseSuspensionEnabled,
               ProgramSuspensionEnabled)
{
    UserReadTRQueue = new Flash_Transaction_Queue **[channel_count];
    UserWriteTRQueue = new Flash_Transaction_Queue **[channel_count];
    GCReadTRQueue = new Flash_Transaction_Queue *[channel_count];
    GCWriteTRQueue = new Flash_Transaction_Queue *[channel_count];
    GCEraseTRQueue = new Flash_Transaction_Queue *[channel_count];
    MappingReadTRQueue = new Flash_Transaction_Queue *[channel_count];
    MappingWriteTRQueue = new Flash_Transaction_Queue *[channel_count];
    nextPriorityClassRead = new IO_Flow_Priority_Class::Priority *[channel_count];
    nextPriorityClassWrite = new IO_Flow_Priority_Class::Priority * [channel_count];
    currentWeightRead = new int* [channel_count];
    currentWeightWrite = new int *[channel_count];
    for (unsigned int channelID = 0; channelID < channel_count; channelID++)
    {
        UserReadTRQueue[channelID] = new Flash_Transaction_Queue *[chip_no_per_channel];
        UserWriteTRQueue[channelID] = new Flash_Transaction_Queue *[chip_no_per_channel];
        GCReadTRQueue[channelID] = new Flash_Transaction_Queue[chip_no_per_channel];
        GCWriteTRQueue[channelID] = new Flash_Transaction_Queue[chip_no_per_channel];
        GCEraseTRQueue[channelID] = new Flash_Transaction_Queue[chip_no_per_channel];
        MappingReadTRQueue[channelID] = new Flash_Transaction_Queue[chip_no_per_channel];
        MappingWriteTRQueue[channelID] = new Flash_Transaction_Queue[chip_no_per_channel];
        nextPriorityClassRead[channelID] = new IO_Flow_Priority_Class::Priority[chip_no_per_channel];
        nextPriorityClassWrite[channelID] = new IO_Flow_Priority_Class::Priority[chip_no_per_channel];
        currentWeightRead[channelID] = new int[chip_no_per_channel];
        currentWeightWrite[channelID] = new int[chip_no_per_channel];
        for (unsigned int chipId = 0; chipId < chip_no_per_channel; chipId++)
        {
            UserReadTRQueue[channelID][chipId] = new Flash_Transaction_Queue[IO_Flow_Priority_Class::NUMBER_OF_PRIORITY_LEVELS];
            UserWriteTRQueue[channelID][chipId] = new Flash_Transaction_Queue[IO_Flow_Priority_Class::NUMBER_OF_PRIORITY_LEVELS];
            nextPriorityClassRead[channelID][chipId] = IO_Flow_Priority_Class::URGENT;
            nextPriorityClassWrite[channelID][chipId] = IO_Flow_Priority_Class::URGENT;
            currentWeightRead[channelID][chipId] = IO_Flow_Priority_Class::get_scheduling_weight(IO_Flow_Priority_Class::HIGH);
            currentWeightWrite[channelID][chipId] = IO_Flow_Priority_Class::get_scheduling_weight(IO_Flow_Priority_Class::HIGH);
            for (unsigned int priorityClass = 0; priorityClass < IO_Flow_Priority_Class::NUMBER_OF_PRIORITY_LEVELS; priorityClass++)
            {
                UserReadTRQueue[channelID][chipId][priorityClass].Set_id("User_Read_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chipId) + "@" + IO_Flow_Priority_Class::to_string(priorityClass));
                UserWriteTRQueue[channelID][chipId][priorityClass].Set_id("User_Write_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chipId) + "@" + IO_Flow_Priority_Class::to_string(priorityClass));
            }

            GCReadTRQueue[channelID][chipId].Set_id("GC_Read_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chipId));
            MappingReadTRQueue[channelID][chipId].Set_id("Mapping_Read_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chipId));
            MappingWriteTRQueue[channelID][chipId].Set_id("Mapping_Write_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chipId));
            GCWriteTRQueue[channelID][chipId].Set_id("GC_Write_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chipId));
            GCEraseTRQueue[channelID][chipId].Set_id("GC_Erase_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chipId));
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x850, %rsp            # imm = 0x850
movq %rcx, 0x2b8(%rsp)
movq %rdx, %rax
movq 0x2b8(%rsp), %rdx
movq %rax, 0x2c0(%rsp)
movq %rsi, %rax
movq 0x2c0(%rsp), %rsi
movq %rax, 0x2c8(%rsp)
movq %rdi, %r10
movq 0x2c8(%rsp), %rdi
movb 0x8b0(%rsp), %al
movb 0x8a8(%rsp), %cl
movq 0x8a0(%rsp), %r11
movq 0x898(%rsp), %r11
movq 0x890(%rsp), %r11
movl 0x888(%rsp), %r11d
movl 0x880(%rsp), %r11d
movq %r10, 0x848(%rsp)
movq %rdi, 0x840(%rsp)
movq %rsi, 0x838(%rsp)
movq %rdx, 0x830(%rsp)
movl %r8d, 0x82c(%rsp)
movl %r9d, 0x828(%rsp)
andb $0x1, %cl
movb %cl, 0x827(%rsp)
andb $0x1, %al
movb %al, 0x826(%rsp)
movq 0x848(%rsp), %rdi
movq %rdi, 0x2d8(%rsp)
movq 0x840(%rsp), %rsi
movq 0x838(%rsp), %rdx
movq 0x830(%rsp), %rcx
movl 0x82c(%rsp), %r9d
movl 0x828(%rsp), %r11d
movl 0x880(%rsp), %ebx
movl 0x888(%rsp), %ebp
movq 0x890(%rsp), %rax
testq %rax, %rax
setne %r14b
movq 0x898(%rsp), %rax
testq %rax, %rax
setne %r15b
movq 0x8a0(%rsp), %r12
movzbl 0x827(%rsp), %eax
andl $0x1, %eax
movl %eax, %r8d
movzbl 0x826(%rsp), %eax
andl $0x1, %eax
movl %eax, %r10d
movq %rsp, %rax
movq %rax, 0x2d0(%rsp)
movq %r12, 0x28(%rax)
movzbl %r15b, %r15d
movl %r15d, 0x20(%rax)
movzbl %r14b, %r14d
movl %r14d, 0x18(%rax)
movl %ebp, 0x10(%rax)
movl %ebx, 0x8(%rax)
movl %r11d, (%rax)
movq %r10, 0x38(%rax)
movq %r8, 0x30(%rax)
movl $0x1, %r8d
callq 0x9ae90
movq 0x2d8(%rsp), %rax
leaq 0x3a65d(%rip), %rcx     # 0xd9cc0
movq %rcx, (%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x2e0(%rsp)
jmp 0x9f67e
movq 0x2d8(%rsp), %rax
movq 0x2e0(%rsp), %rcx
movq %rcx, 0xb0(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x2b0(%rsp)
jmp 0x9f6ad
movq 0x2d8(%rsp), %rax
movq 0x2b0(%rsp), %rcx
movq %rcx, 0xb8(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x2a8(%rsp)
jmp 0x9f6dc
movq 0x2d8(%rsp), %rax
movq 0x2a8(%rsp), %rcx
movq %rcx, 0xc0(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x2a0(%rsp)
jmp 0x9f70b
movq 0x2d8(%rsp), %rax
movq 0x2a0(%rsp), %rcx
movq %rcx, 0xc8(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x298(%rsp)
jmp 0x9f73a
movq 0x2d8(%rsp), %rax
movq 0x298(%rsp), %rcx
movq %rcx, 0xd0(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x290(%rsp)
jmp 0x9f769
movq 0x2d8(%rsp), %rax
movq 0x290(%rsp), %rcx
movq %rcx, 0xd8(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x288(%rsp)
jmp 0x9f798
movq 0x2d8(%rsp), %rax
movq 0x288(%rsp), %rcx
movq %rcx, 0xe0(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x280(%rsp)
jmp 0x9f7c7
movq 0x2d8(%rsp), %rax
movq 0x280(%rsp), %rcx
movq %rcx, 0xe8(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x278(%rsp)
jmp 0x9f7f6
movq 0x2d8(%rsp), %rax
movq 0x278(%rsp), %rcx
movq %rcx, 0xf0(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x270(%rsp)
jmp 0x9f825
movq 0x2d8(%rsp), %rax
movq 0x270(%rsp), %rcx
movq %rcx, 0xf8(%rax)
movl 0x44(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x268(%rsp)
jmp 0x9f854
movq 0x2d8(%rsp), %rax
movq 0x268(%rsp), %rcx
movq %rcx, 0x100(%rax)
movl $0x0, 0x810(%rsp)
movq 0x2d8(%rsp), %rcx
movl 0x810(%rsp), %eax
cmpl 0x44(%rcx), %eax
jae 0xa1261
movq 0x2d8(%rsp), %rax
movl 0x48(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x260(%rsp)
jmp 0x9f8ae
movq 0x2d8(%rsp), %rax
movq 0x260(%rsp), %rsi
movq 0xb0(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %edi
shlq $0x3, %rdi
callq 0x8030
movq %rax, 0x258(%rsp)
jmp 0x9f8e8
movq 0x2d8(%rsp), %rax
movq 0x258(%rsp), %rsi
movq 0xb8(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %ecx
movq %rcx, 0x248(%rsp)
movq %rcx, %rax
shlq $0x8, %rax
leaq 0x8(%rax,%rcx,8), %rdi
callq 0x8030
movq %rax, 0x250(%rsp)
jmp 0x9f932
movq 0x248(%rsp), %rax
movq 0x250(%rsp), %rcx
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, 0x240(%rsp)
cmpq $0x0, %rax
je 0x9f9be
movq 0x240(%rsp), %rax
movq 0x248(%rsp), %rcx
imulq $0x108, %rcx, %rdx      # imm = 0x108
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x230(%rsp)
movq %rax, 0x238(%rsp)
movq 0x238(%rsp), %rdi
movq %rdi, 0x228(%rsp)
callq 0x7ed90
jmp 0x9f99b
movq 0x230(%rsp), %rcx
movq 0x228(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
cmpq %rcx, %rax
movq %rax, 0x238(%rsp)
jne 0x9f984
movq 0x2d8(%rsp), %rax
movq 0x240(%rsp), %rsi
movq 0xc0(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %ecx
movq %rcx, 0x218(%rsp)
movq %rcx, %rax
shlq $0x8, %rax
leaq 0x8(%rax,%rcx,8), %rdi
callq 0x8030
movq %rax, 0x220(%rsp)
jmp 0x9fa08
movq 0x218(%rsp), %rax
movq 0x220(%rsp), %rcx
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, 0x210(%rsp)
cmpq $0x0, %rax
je 0x9fa94
movq 0x210(%rsp), %rax
movq 0x218(%rsp), %rcx
imulq $0x108, %rcx, %rdx      # imm = 0x108
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x200(%rsp)
movq %rax, 0x208(%rsp)
movq 0x208(%rsp), %rdi
movq %rdi, 0x1f8(%rsp)
callq 0x7ed90
jmp 0x9fa71
movq 0x200(%rsp), %rcx
movq 0x1f8(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
cmpq %rcx, %rax
movq %rax, 0x208(%rsp)
jne 0x9fa5a
movq 0x2d8(%rsp), %rax
movq 0x210(%rsp), %rsi
movq 0xc8(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %ecx
movq %rcx, 0x1e8(%rsp)
movq %rcx, %rax
shlq $0x8, %rax
leaq 0x8(%rax,%rcx,8), %rdi
callq 0x8030
movq %rax, 0x1f0(%rsp)
jmp 0x9fade
movq 0x1e8(%rsp), %rax
movq 0x1f0(%rsp), %rcx
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, 0x1e0(%rsp)
cmpq $0x0, %rax
je 0x9fb6a
movq 0x1e0(%rsp), %rax
movq 0x1e8(%rsp), %rcx
imulq $0x108, %rcx, %rdx      # imm = 0x108
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x1d0(%rsp)
movq %rax, 0x1d8(%rsp)
movq 0x1d8(%rsp), %rdi
movq %rdi, 0x1c8(%rsp)
callq 0x7ed90
jmp 0x9fb47
movq 0x1d0(%rsp), %rcx
movq 0x1c8(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
cmpq %rcx, %rax
movq %rax, 0x1d8(%rsp)
jne 0x9fb30
movq 0x2d8(%rsp), %rax
movq 0x1e0(%rsp), %rsi
movq 0xd0(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %ecx
movq %rcx, 0x1b8(%rsp)
movq %rcx, %rax
shlq $0x8, %rax
leaq 0x8(%rax,%rcx,8), %rdi
callq 0x8030
movq %rax, 0x1c0(%rsp)
jmp 0x9fbb4
movq 0x1b8(%rsp), %rax
movq 0x1c0(%rsp), %rcx
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, 0x1b0(%rsp)
cmpq $0x0, %rax
je 0x9fc40
movq 0x1b0(%rsp), %rax
movq 0x1b8(%rsp), %rcx
imulq $0x108, %rcx, %rdx      # imm = 0x108
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x1a0(%rsp)
movq %rax, 0x1a8(%rsp)
movq 0x1a8(%rsp), %rdi
movq %rdi, 0x198(%rsp)
callq 0x7ed90
jmp 0x9fc1d
movq 0x1a0(%rsp), %rcx
movq 0x198(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
cmpq %rcx, %rax
movq %rax, 0x1a8(%rsp)
jne 0x9fc06
movq 0x2d8(%rsp), %rax
movq 0x1b0(%rsp), %rsi
movq 0xd8(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %ecx
movq %rcx, 0x188(%rsp)
movq %rcx, %rax
shlq $0x8, %rax
leaq 0x8(%rax,%rcx,8), %rdi
callq 0x8030
movq %rax, 0x190(%rsp)
jmp 0x9fc8a
movq 0x188(%rsp), %rax
movq 0x190(%rsp), %rcx
movq %rax, (%rcx)
addq $0x8, %rcx
movq %rcx, 0x180(%rsp)
cmpq $0x0, %rax
je 0x9fd16
movq 0x180(%rsp), %rax
movq 0x188(%rsp), %rcx
imulq $0x108, %rcx, %rdx      # imm = 0x108
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x170(%rsp)
movq %rax, 0x178(%rsp)
movq 0x178(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x7ed90
jmp 0x9fcf3
movq 0x170(%rsp), %rcx
movq 0x168(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
cmpq %rcx, %rax
movq %rax, 0x178(%rsp)
jne 0x9fcdc
movq 0x2d8(%rsp), %rax
movq 0x180(%rsp), %rsi
movq 0xe0(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %edi
shlq $0x2, %rdi
callq 0x8030
movq %rax, 0x160(%rsp)
jmp 0x9fd50
movq 0x2d8(%rsp), %rax
movq 0x160(%rsp), %rsi
movq 0xe8(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %edi
shlq $0x2, %rdi
callq 0x8030
movq %rax, 0x158(%rsp)
jmp 0x9fd8a
movq 0x2d8(%rsp), %rax
movq 0x158(%rsp), %rsi
movq 0xf0(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %edi
shlq $0x2, %rdi
callq 0x8030
movq %rax, 0x150(%rsp)
jmp 0x9fdc4
movq 0x2d8(%rsp), %rax
movq 0x150(%rsp), %rsi
movq 0xf8(%rax), %rcx
movl 0x810(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movl 0x48(%rax), %eax
movl %eax, %edi
shlq $0x2, %rdi
callq 0x8030
movq %rax, 0x148(%rsp)
jmp 0x9fdfe
movq 0x148(%rsp), %rdx
movq 0x2d8(%rsp), %rax
movq 0x100(%rax), %rax
movl 0x810(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movl $0x0, 0x80c(%rsp)
movq 0x2d8(%rsp), %rcx
movl 0x80c(%rsp), %eax
cmpl 0x48(%rcx), %eax
jae 0xa1249
movl $0x428, %edi            # imm = 0x428
callq 0x8030
movq %rax, 0x140(%rsp)
jmp 0x9fe57
movq 0x140(%rsp), %rax
movq $0x4, (%rax)
addq $0x8, %rax
movq %rax, 0x128(%rsp)
movq %rax, %rcx
addq $0x420, %rcx            # imm = 0x420
movq %rcx, 0x130(%rsp)
movq %rax, 0x138(%rsp)
movq 0x138(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x7ed90
jmp 0x9fea3
movq 0x130(%rsp), %rcx
movq 0x120(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
cmpq %rcx, %rax
movq %rax, 0x138(%rsp)
jne 0x9fe8c
movq 0x128(%rsp), %rdx
movq 0x2d8(%rsp), %rax
movq 0xb0(%rax), %rax
movl 0x810(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movl $0x428, %edi            # imm = 0x428
callq 0x8030
movq %rax, 0x118(%rsp)
jmp 0x9ff07
movq 0x118(%rsp), %rax
movq $0x4, (%rax)
addq $0x8, %rax
movq %rax, 0x100(%rsp)
movq %rax, %rcx
addq $0x420, %rcx            # imm = 0x420
movq %rcx, 0x108(%rsp)
movq %rax, 0x110(%rsp)
movq 0x110(%rsp), %rdi
movq %rdi, 0xf8(%rsp)
callq 0x7ed90
jmp 0x9ff53
movq 0x108(%rsp), %rcx
movq 0xf8(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
cmpq %rcx, %rax
movq %rax, 0x110(%rsp)
jne 0x9ff3c
movq 0x2d8(%rsp), %rax
movq 0x100(%rsp), %rsi
movq 0xb8(%rax), %rcx
movl 0x810(%rsp), %edx
movq (%rcx,%rdx,8), %rcx
movl 0x80c(%rsp), %edx
movq %rsi, (%rcx,%rdx,8)
movq 0xe8(%rax), %rcx
movl 0x810(%rsp), %edx
movq (%rcx,%rdx,8), %rcx
movl 0x80c(%rsp), %edx
movl $0x0, (%rcx,%rdx,4)
movq 0xf0(%rax), %rax
movl 0x810(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl $0x0, (%rax,%rcx,4)
movl $0x1, %edi
callq 0xa3e40
movl %eax, 0xf4(%rsp)
jmp 0x9fff6
movl 0xf4(%rsp), %edx
movq 0x2d8(%rsp), %rax
movq 0xf8(%rax), %rax
movl 0x810(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl %edx, (%rax,%rcx,4)
movl $0x1, %edi
callq 0xa3e40
movl %eax, 0xf0(%rsp)
jmp 0xa0034
movl 0xf0(%rsp), %edx
movq 0x2d8(%rsp), %rax
movq 0x100(%rax), %rax
movl 0x810(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl %edx, (%rax,%rcx,4)
movl $0x0, 0x808(%rsp)
cmpl $0x4, 0x808(%rsp)
jae 0xa096c
movq 0x2d8(%rsp), %rax
movq 0xb0(%rax), %rax
movl 0x810(%rsp), %ecx
movl %ecx, %esi
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x808(%rsp), %ecx
movl %ecx, %edx
movq %rdx, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rdx,8), %rcx
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
leaq 0x748(%rsp), %rdi
callq 0x18f30
jmp 0xa00cd
leaq 0xe783(%rip), %rsi      # 0xae857
leaq 0x768(%rsp), %rdi
leaq 0x748(%rsp), %rdx
callq 0x45710
jmp 0xa00eb
leaq 0xe79e(%rip), %rdx      # 0xae890
leaq 0x788(%rsp), %rdi
leaq 0x768(%rsp), %rsi
callq 0xd060
jmp 0xa0109
movl 0x80c(%rsp), %esi
leaq 0x728(%rsp), %rdi
callq 0x18f30
jmp 0xa011f
leaq 0x7a8(%rsp), %rdi
leaq 0x788(%rsp), %rsi
leaq 0x728(%rsp), %rdx
callq 0xd0b0
jmp 0xa013e
leaq 0xe74b(%rip), %rdx      # 0xae890
leaq 0x7c8(%rsp), %rdi
leaq 0x7a8(%rsp), %rsi
callq 0xd060
jmp 0xa015c
movl 0x808(%rsp), %esi
leaq 0x708(%rsp), %rdi
callq 0xa3ea0
jmp 0xa0172
leaq 0x7e8(%rsp), %rdi
leaq 0x7c8(%rsp), %rsi
leaq 0x708(%rsp), %rdx
callq 0xd0b0
jmp 0xa0191
movq 0xe8(%rsp), %rdi
leaq 0x7e8(%rsp), %rsi
callq 0x7eed0
jmp 0xa01a8
leaq 0x7e8(%rsp), %rdi
callq 0x8848
leaq 0x708(%rsp), %rdi
callq 0x8848
leaq 0x7c8(%rsp), %rdi
callq 0x8848
leaq 0x7a8(%rsp), %rdi
callq 0x8848
leaq 0x728(%rsp), %rdi
callq 0x8848
leaq 0x788(%rsp), %rdi
callq 0x8848
leaq 0x768(%rsp), %rdi
callq 0x8848
leaq 0x748(%rsp), %rdi
callq 0x8848
movq 0x2d8(%rsp), %rax
movq 0xb8(%rax), %rax
movl 0x810(%rsp), %ecx
movl %ecx, %esi
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movl 0x808(%rsp), %ecx
movl %ecx, %edx
movq %rdx, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rdx,8), %rcx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
leaq 0x648(%rsp), %rdi
callq 0x18f30
jmp 0xa0265
leaq 0xe5ff(%rip), %rsi      # 0xae86b
leaq 0x668(%rsp), %rdi
leaq 0x648(%rsp), %rdx
callq 0x45710
jmp 0xa0283
leaq 0xe606(%rip), %rdx      # 0xae890
leaq 0x688(%rsp), %rdi
leaq 0x668(%rsp), %rsi
callq 0xd060
jmp 0xa02a1
movl 0x80c(%rsp), %esi
leaq 0x628(%rsp), %rdi
callq 0x18f30
jmp 0xa02b7
leaq 0x6a8(%rsp), %rdi
leaq 0x688(%rsp), %rsi
leaq 0x628(%rsp), %rdx
callq 0xd0b0
jmp 0xa02d6
leaq 0xe5b3(%rip), %rdx      # 0xae890
leaq 0x6c8(%rsp), %rdi
leaq 0x6a8(%rsp), %rsi
callq 0xd060
jmp 0xa02f4
movl 0x808(%rsp), %esi
leaq 0x608(%rsp), %rdi
callq 0xa3ea0
jmp 0xa030a
leaq 0x6e8(%rsp), %rdi
leaq 0x6c8(%rsp), %rsi
leaq 0x608(%rsp), %rdx
callq 0xd0b0
jmp 0xa0329
movq 0xe0(%rsp), %rdi
leaq 0x6e8(%rsp), %rsi
callq 0x7eed0
jmp 0xa0340
leaq 0x6e8(%rsp), %rdi
callq 0x8848
leaq 0x608(%rsp), %rdi
callq 0x8848
leaq 0x6c8(%rsp), %rdi
callq 0x8848
leaq 0x6a8(%rsp), %rdi
callq 0x8848
leaq 0x628(%rsp), %rdi
callq 0x8848
leaq 0x688(%rsp), %rdi
callq 0x8848
leaq 0x668(%rsp), %rdi
callq 0x8848
leaq 0x648(%rsp), %rdi
callq 0x8848
movl 0x808(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x808(%rsp)
jmp 0xa006a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa1271
movq 0x240(%rsp), %rcx
movq %rax, %rsi
movq 0x228(%rsp), %rax
movq %rsi, 0x818(%rsp)
movl %edx, 0x814(%rsp)
cmpq %rax, %rcx
movq %rax, 0xd8(%rsp)
je 0xa043f
movq 0xd8(%rsp), %rdi
addq $-0x108, %rdi           # imm = 0xFEF8
movq %rdi, 0xd0(%rsp)
callq 0x90f30
movq 0x240(%rsp), %rcx
movq 0xd0(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0xd8(%rsp)
jne 0xa0406
movq 0x250(%rsp), %rdi
callq 0x8570
jmp 0xa1271
movq 0x210(%rsp), %rcx
movq %rax, %rsi
movq 0x1f8(%rsp), %rax
movq %rsi, 0x818(%rsp)
movl %edx, 0x814(%rsp)
cmpq %rax, %rcx
movq %rax, 0xc8(%rsp)
je 0xa04b9
movq 0xc8(%rsp), %rdi
addq $-0x108, %rdi           # imm = 0xFEF8
movq %rdi, 0xc0(%rsp)
callq 0x90f30
movq 0x210(%rsp), %rcx
movq 0xc0(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0xc8(%rsp)
jne 0xa0480
movq 0x220(%rsp), %rdi
callq 0x8570
jmp 0xa1271
movq 0x1e0(%rsp), %rcx
movq %rax, %rsi
movq 0x1c8(%rsp), %rax
movq %rsi, 0x818(%rsp)
movl %edx, 0x814(%rsp)
cmpq %rax, %rcx
movq %rax, 0xb8(%rsp)
je 0xa0533
movq 0xb8(%rsp), %rdi
addq $-0x108, %rdi           # imm = 0xFEF8
movq %rdi, 0xb0(%rsp)
callq 0x90f30
movq 0x1e0(%rsp), %rcx
movq 0xb0(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0xb8(%rsp)
jne 0xa04fa
movq 0x1f0(%rsp), %rdi
callq 0x8570
jmp 0xa1271
movq 0x1b0(%rsp), %rcx
movq %rax, %rsi
movq 0x198(%rsp), %rax
movq %rsi, 0x818(%rsp)
movl %edx, 0x814(%rsp)
cmpq %rax, %rcx
movq %rax, 0xa8(%rsp)
je 0xa05ad
movq 0xa8(%rsp), %rdi
addq $-0x108, %rdi           # imm = 0xFEF8
movq %rdi, 0xa0(%rsp)
callq 0x90f30
movq 0x1b0(%rsp), %rcx
movq 0xa0(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0xa8(%rsp)
jne 0xa0574
movq 0x1c0(%rsp), %rdi
callq 0x8570
jmp 0xa1271
movq 0x180(%rsp), %rcx
movq %rax, %rsi
movq 0x168(%rsp), %rax
movq %rsi, 0x818(%rsp)
movl %edx, 0x814(%rsp)
cmpq %rax, %rcx
movq %rax, 0x98(%rsp)
je 0xa0627
movq 0x98(%rsp), %rdi
addq $-0x108, %rdi           # imm = 0xFEF8
movq %rdi, 0x90(%rsp)
callq 0x90f30
movq 0x180(%rsp), %rcx
movq 0x90(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x98(%rsp)
jne 0xa05ee
movq 0x190(%rsp), %rdi
callq 0x8570
jmp 0xa1271
movq 0x128(%rsp), %rcx
movq %rax, %rsi
movq 0x120(%rsp), %rax
movq %rsi, 0x818(%rsp)
movl %edx, 0x814(%rsp)
cmpq %rax, %rcx
movq %rax, 0x88(%rsp)
je 0xa06a1
movq 0x88(%rsp), %rdi
addq $-0x108, %rdi           # imm = 0xFEF8
movq %rdi, 0x80(%rsp)
callq 0x90f30
movq 0x128(%rsp), %rcx
movq 0x80(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x88(%rsp)
jne 0xa0668
movq 0x140(%rsp), %rdi
callq 0x8570
jmp 0xa1271
movq 0x100(%rsp), %rcx
movq %rax, %rsi
movq 0xf8(%rsp), %rax
movq %rsi, 0x818(%rsp)
movl %edx, 0x814(%rsp)
cmpq %rax, %rcx
movq %rax, 0x78(%rsp)
je 0xa070c
movq 0x78(%rsp), %rdi
addq $-0x108, %rdi           # imm = 0xFEF8
movq %rdi, 0x70(%rsp)
callq 0x90f30
movq 0x100(%rsp), %rcx
movq 0x70(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x78(%rsp)
jne 0xa06df
movq 0x118(%rsp), %rdi
callq 0x8570
jmp 0xa1271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0833
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0826
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0819
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa080c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa07ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa07f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa07e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
leaq 0x7e8(%rsp), %rdi
callq 0x8848
leaq 0x708(%rsp), %rdi
callq 0x8848
leaq 0x7c8(%rsp), %rdi
callq 0x8848
leaq 0x7a8(%rsp), %rdi
callq 0x8848
leaq 0x728(%rsp), %rdi
callq 0x8848
leaq 0x788(%rsp), %rdi
callq 0x8848
leaq 0x768(%rsp), %rdi
callq 0x8848
leaq 0x748(%rsp), %rdi
callq 0x8848
jmp 0xa1271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa095a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa094d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0940
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0933
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0926
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0919
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa090c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
leaq 0x6e8(%rsp), %rdi
callq 0x8848
leaq 0x608(%rsp), %rdi
callq 0x8848
leaq 0x6c8(%rsp), %rdi
callq 0x8848
leaq 0x6a8(%rsp), %rdi
callq 0x8848
leaq 0x628(%rsp), %rdi
callq 0x8848
leaq 0x688(%rsp), %rdi
callq 0x8848
leaq 0x668(%rsp), %rdi
callq 0x8848
leaq 0x648(%rsp), %rdi
callq 0x8848
jmp 0xa1271
movq 0x2d8(%rsp), %rax
movq 0xc0(%rax), %rax
movl 0x810(%rsp), %ecx
movl %ecx, %esi
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl %ecx, %edx
movq %rdx, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rdx,8), %rcx
addq %rcx, %rax
movq %rax, 0x68(%rsp)
leaq 0x588(%rsp), %rdi
callq 0x18f30
jmp 0xa09b3
leaq 0xdec6(%rip), %rsi      # 0xae880
leaq 0x5a8(%rsp), %rdi
leaq 0x588(%rsp), %rdx
callq 0x45710
jmp 0xa09d1
leaq 0xdeb8(%rip), %rdx      # 0xae890
leaq 0x5c8(%rsp), %rdi
leaq 0x5a8(%rsp), %rsi
callq 0xd060
jmp 0xa09ef
movl 0x80c(%rsp), %esi
leaq 0x568(%rsp), %rdi
callq 0x18f30
jmp 0xa0a05
leaq 0x5e8(%rsp), %rdi
leaq 0x5c8(%rsp), %rsi
leaq 0x568(%rsp), %rdx
callq 0xd0b0
jmp 0xa0a24
movq 0x68(%rsp), %rdi
leaq 0x5e8(%rsp), %rsi
callq 0x7eed0
jmp 0xa0a38
leaq 0x5e8(%rsp), %rdi
callq 0x8848
leaq 0x568(%rsp), %rdi
callq 0x8848
leaq 0x5c8(%rsp), %rdi
callq 0x8848
leaq 0x5a8(%rsp), %rdi
callq 0x8848
leaq 0x588(%rsp), %rdi
callq 0x8848
movq 0x2d8(%rsp), %rax
movq 0xd8(%rax), %rax
movl 0x810(%rsp), %ecx
movl %ecx, %esi
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl %ecx, %edx
movq %rdx, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rdx,8), %rcx
addq %rcx, %rax
movq %rax, 0x60(%rsp)
leaq 0x4e8(%rsp), %rdi
callq 0x18f30
jmp 0xa0ac0
leaq 0xddcb(%rip), %rsi      # 0xae892
leaq 0x508(%rsp), %rdi
leaq 0x4e8(%rsp), %rdx
callq 0x45710
jmp 0xa0ade
leaq 0xddab(%rip), %rdx      # 0xae890
leaq 0x528(%rsp), %rdi
leaq 0x508(%rsp), %rsi
callq 0xd060
jmp 0xa0afc
movl 0x80c(%rsp), %esi
leaq 0x4c8(%rsp), %rdi
callq 0x18f30
jmp 0xa0b12
leaq 0x548(%rsp), %rdi
leaq 0x528(%rsp), %rsi
leaq 0x4c8(%rsp), %rdx
callq 0xd0b0
jmp 0xa0b31
movq 0x60(%rsp), %rdi
leaq 0x548(%rsp), %rsi
callq 0x7eed0
jmp 0xa0b45
leaq 0x548(%rsp), %rdi
callq 0x8848
leaq 0x4c8(%rsp), %rdi
callq 0x8848
leaq 0x528(%rsp), %rdi
callq 0x8848
leaq 0x508(%rsp), %rdi
callq 0x8848
leaq 0x4e8(%rsp), %rdi
callq 0x8848
movq 0x2d8(%rsp), %rax
movq 0xe0(%rax), %rax
movl 0x810(%rsp), %ecx
movl %ecx, %esi
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl %ecx, %edx
movq %rdx, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rdx,8), %rcx
addq %rcx, %rax
movq %rax, 0x58(%rsp)
leaq 0x448(%rsp), %rdi
callq 0x18f30
jmp 0xa0bcd
leaq 0xdcd5(%rip), %rsi      # 0xae8a9
leaq 0x468(%rsp), %rdi
leaq 0x448(%rsp), %rdx
callq 0x45710
jmp 0xa0beb
leaq 0xdc9e(%rip), %rdx      # 0xae890
leaq 0x488(%rsp), %rdi
leaq 0x468(%rsp), %rsi
callq 0xd060
jmp 0xa0c09
movl 0x80c(%rsp), %esi
leaq 0x428(%rsp), %rdi
callq 0x18f30
jmp 0xa0c1f
leaq 0x4a8(%rsp), %rdi
leaq 0x488(%rsp), %rsi
leaq 0x428(%rsp), %rdx
callq 0xd0b0
jmp 0xa0c3e
movq 0x58(%rsp), %rdi
leaq 0x4a8(%rsp), %rsi
callq 0x7eed0
jmp 0xa0c52
leaq 0x4a8(%rsp), %rdi
callq 0x8848
leaq 0x428(%rsp), %rdi
callq 0x8848
leaq 0x488(%rsp), %rdi
callq 0x8848
leaq 0x468(%rsp), %rdi
callq 0x8848
leaq 0x448(%rsp), %rdi
callq 0x8848
movq 0x2d8(%rsp), %rax
movq 0xc8(%rax), %rax
movl 0x810(%rsp), %ecx
movl %ecx, %esi
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl %ecx, %edx
movq %rdx, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rdx,8), %rcx
addq %rcx, %rax
movq %rax, 0x50(%rsp)
leaq 0x3a8(%rsp), %rdi
callq 0x18f30
jmp 0xa0cda
leaq 0xdbe0(%rip), %rsi      # 0xae8c1
leaq 0x3c8(%rsp), %rdi
leaq 0x3a8(%rsp), %rdx
callq 0x45710
jmp 0xa0cf8
leaq 0xdb91(%rip), %rdx      # 0xae890
leaq 0x3e8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0xd060
jmp 0xa0d16
movl 0x80c(%rsp), %esi
leaq 0x388(%rsp), %rdi
callq 0x18f30
jmp 0xa0d2c
leaq 0x408(%rsp), %rdi
leaq 0x3e8(%rsp), %rsi
leaq 0x388(%rsp), %rdx
callq 0xd0b0
jmp 0xa0d4b
movq 0x50(%rsp), %rdi
leaq 0x408(%rsp), %rsi
callq 0x7eed0
jmp 0xa0d5f
leaq 0x408(%rsp), %rdi
callq 0x8848
leaq 0x388(%rsp), %rdi
callq 0x8848
leaq 0x3e8(%rsp), %rdi
callq 0x8848
leaq 0x3c8(%rsp), %rdi
callq 0x8848
leaq 0x3a8(%rsp), %rdi
callq 0x8848
movq 0x2d8(%rsp), %rax
movq 0xd0(%rax), %rax
movl 0x810(%rsp), %ecx
movl %ecx, %esi
movq (%rax,%rcx,8), %rax
movl 0x80c(%rsp), %ecx
movl %ecx, %edx
movq %rdx, %rcx
shlq $0x8, %rcx
leaq (%rcx,%rdx,8), %rcx
addq %rcx, %rax
movq %rax, 0x48(%rsp)
leaq 0x308(%rsp), %rdi
callq 0x18f30
jmp 0xa0de7
leaq 0xdae6(%rip), %rsi      # 0xae8d4
leaq 0x328(%rsp), %rdi
leaq 0x308(%rsp), %rdx
callq 0x45710
jmp 0xa0e05
leaq 0xda84(%rip), %rdx      # 0xae890
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
callq 0xd060
jmp 0xa0e23
movl 0x80c(%rsp), %esi
leaq 0x2e8(%rsp), %rdi
callq 0x18f30
jmp 0xa0e39
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rsi
leaq 0x2e8(%rsp), %rdx
callq 0xd0b0
jmp 0xa0e58
movq 0x48(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x7eed0
jmp 0xa0e6c
leaq 0x368(%rsp), %rdi
callq 0x8848
leaq 0x2e8(%rsp), %rdi
callq 0x8848
leaq 0x348(%rsp), %rdi
callq 0x8848
leaq 0x328(%rsp), %rdi
callq 0x8848
leaq 0x308(%rsp), %rdi
callq 0x8848
movl 0x80c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80c(%rsp)
jmp 0x9fe2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0f66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0f59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0f4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0f3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
leaq 0x5e8(%rsp), %rdi
callq 0x8848
leaq 0x568(%rsp), %rdi
callq 0x8848
leaq 0x5c8(%rsp), %rdi
callq 0x8848
leaq 0x5a8(%rsp), %rdi
callq 0x8848
leaq 0x588(%rsp), %rdi
callq 0x8848
jmp 0xa1271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa101b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa100e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa1001
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa0ff4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
leaq 0x548(%rsp), %rdi
callq 0x8848
leaq 0x4c8(%rsp), %rdi
callq 0x8848
leaq 0x528(%rsp), %rdi
callq 0x8848
leaq 0x508(%rsp), %rdi
callq 0x8848
leaq 0x4e8(%rsp), %rdi
callq 0x8848
jmp 0xa1271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa10d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa10c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa10b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa10a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
leaq 0x4a8(%rsp), %rdi
callq 0x8848
leaq 0x428(%rsp), %rdi
callq 0x8848
leaq 0x488(%rsp), %rdi
callq 0x8848
leaq 0x468(%rsp), %rdi
callq 0x8848
leaq 0x448(%rsp), %rdi
callq 0x8848
jmp 0xa1271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa1185
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa1178
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa116b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa115e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
leaq 0x408(%rsp), %rdi
callq 0x8848
leaq 0x388(%rsp), %rdi
callq 0x8848
leaq 0x3e8(%rsp), %rdi
callq 0x8848
leaq 0x3c8(%rsp), %rdi
callq 0x8848
leaq 0x3a8(%rsp), %rdi
callq 0x8848
jmp 0xa1271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa123a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa122d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa1220
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
jmp 0xa1213
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x818(%rsp)
movl %eax, 0x814(%rsp)
leaq 0x368(%rsp), %rdi
callq 0x8848
leaq 0x2e8(%rsp), %rdi
callq 0x8848
leaq 0x348(%rsp), %rdi
callq 0x8848
leaq 0x328(%rsp), %rdi
callq 0x8848
leaq 0x308(%rsp), %rdi
callq 0x8848
jmp 0xa1271
jmp 0xa124b
movl 0x810(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x810(%rsp)
jmp 0x9f876
addq $0x850, %rsp            # imm = 0x850
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x2d8(%rsp), %rdi
callq 0x9b090
movq 0x818(%rsp), %rdi
callq 0x8770
nopl (%rax,%rax)