// File: /workspace/github_cpp_makefile_star2_O1/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 %r13
pushq %r12
pushq %rbx
subq $0x1e8, %rsp            # imm = 0x1E8
movl %r9d, %eax
movl %r8d, %r9d
movq %rdi, %rbp
movl 0x220(%rsp), %r10d
xorl %r11d, %r11d
cmpq $0x0, 0x230(%rsp)
setne %r11b
xorl %ebx, %ebx
cmpq $0x0, 0x238(%rsp)
movl 0x228(%rsp), %r14d
setne %bl
movzbl 0x248(%rsp), %r15d
movzbl 0x250(%rsp), %r12d
movl $0x1, %r8d
pushq %r12
pushq %r15
pushq 0x250(%rsp)
pushq %rbx
pushq %r11
pushq %r14
pushq %r10
pushq %rax
callq 0x4aeb4
addq $0x40, %rsp
leaq 0x20731(%rip), %rax     # 0x6ecc0
movq %rax, (%rbp)
movl 0x44(%rbp), %ebx
shlq $0x3, %rbx
movq %rbx, %rdi
movq %rbp, 0x98(%rsp)
callq 0x7030
movq %rax, 0xb0(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xb8(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xc0(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xc8(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xd0(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xd8(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xe0(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xe8(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xf0(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0xf8(%rbp)
movq %rbx, %rdi
callq 0x7030
movq %rax, 0x100(%rbp)
cmpl $0x0, 0x44(%rbp)
je 0x50300
leaq 0xbfff(%rip), %r13      # 0x5a657
leaq 0x38(%rsp), %r12
movq $0x0, 0x8(%rsp)
movl 0x48(%rbp), %r15d
leaq (,%r15,8), %rbx
movq %rbx, %rdi
callq 0x7030
movq 0x8(%rsp), %r14
movq 0xb0(%rbp), %rcx
movq %rax, (%rcx,%r14,8)
movq %rbx, %rdi
callq 0x7030
movq 0xb8(%rbp), %rcx
movq %rax, (%rcx,%r14,8)
movq %r15, %rax
shlq $0x8, %rax
leaq (%rax,%r15,8), %rdi
addq $0x8, %rdi
callq 0x7030
movq %rax, %r14
movq %r15, (%rax)
addq $0x8, %rax
movq %rax, 0x30(%rsp)
testq %r15, %r15
je 0x4e6ef
imulq $-0x108, %r15, %rbp     # imm = 0xFEF8
movq 0x30(%rsp), %rbx
xorl %r15d, %r15d
movq %rbx, %rdi
callq 0x3e844
addq $-0x108, %r15           # imm = 0xFEF8
addq $0x108, %rbx            # imm = 0x108
cmpq %r15, %rbp
jne 0x4e6d4
movq 0x98(%rsp), %rcx
movq 0xc0(%rcx), %rax
movq 0x8(%rsp), %rdx
movq 0x30(%rsp), %rsi
movq %rsi, (%rax,%rdx,8)
movl 0x48(%rcx), %ebx
movq %rbx, %rax
shlq $0x8, %rax
leaq (%rax,%rbx,8), %rdi
addq $0x8, %rdi
callq 0x7030
movq %rax, %r14
movq %rbx, (%rax)
addq $0x8, %rax
movq %rax, 0x30(%rsp)
testq %rbx, %rbx
je 0x4e761
imulq $-0x108, %rbx, %rbp     # imm = 0xFEF8
movq 0x30(%rsp), %rbx
xorl %r15d, %r15d
movq %rbx, %rdi
callq 0x3e844
addq $-0x108, %r15           # imm = 0xFEF8
addq $0x108, %rbx            # imm = 0x108
cmpq %r15, %rbp
jne 0x4e746
movq 0x98(%rsp), %rcx
movq 0xc8(%rcx), %rax
movq 0x8(%rsp), %rdx
movq 0x30(%rsp), %rsi
movq %rsi, (%rax,%rdx,8)
movl 0x48(%rcx), %ebx
movq %rbx, %rax
shlq $0x8, %rax
leaq (%rax,%rbx,8), %rdi
addq $0x8, %rdi
callq 0x7030
movq %rax, %r14
movq %rbx, (%rax)
addq $0x8, %rax
movq %rax, 0x30(%rsp)
testq %rbx, %rbx
je 0x4e7d3
imulq $-0x108, %rbx, %rbp     # imm = 0xFEF8
movq 0x30(%rsp), %rbx
xorl %r15d, %r15d
movq %rbx, %rdi
callq 0x3e844
addq $-0x108, %r15           # imm = 0xFEF8
addq $0x108, %rbx            # imm = 0x108
cmpq %r15, %rbp
jne 0x4e7b8
movq 0x98(%rsp), %rcx
movq 0xd0(%rcx), %rax
movq 0x8(%rsp), %rdx
movq 0x30(%rsp), %rsi
movq %rsi, (%rax,%rdx,8)
movl 0x48(%rcx), %ebx
movq %rbx, %rax
shlq $0x8, %rax
leaq (%rax,%rbx,8), %rdi
addq $0x8, %rdi
callq 0x7030
movq %rax, %r14
movq %rbx, (%rax)
addq $0x8, %rax
movq %rax, 0x30(%rsp)
testq %rbx, %rbx
je 0x4e845
imulq $-0x108, %rbx, %rbp     # imm = 0xFEF8
movq 0x30(%rsp), %rbx
xorl %r15d, %r15d
movq %rbx, %rdi
callq 0x3e844
addq $-0x108, %r15           # imm = 0xFEF8
addq $0x108, %rbx            # imm = 0x108
cmpq %r15, %rbp
jne 0x4e82a
movq 0x98(%rsp), %rcx
movq 0xd8(%rcx), %rax
movq 0x8(%rsp), %rdx
movq 0x30(%rsp), %rsi
movq %rsi, (%rax,%rdx,8)
movl 0x48(%rcx), %ebx
movq %rbx, %rax
shlq $0x8, %rax
leaq (%rax,%rbx,8), %rdi
addq $0x8, %rdi
callq 0x7030
movq %rax, %r14
movq %rbx, (%rax)
addq $0x8, %rax
movq %rax, 0x30(%rsp)
testq %rbx, %rbx
je 0x4e8b7
imulq $-0x108, %rbx, %rbp     # imm = 0xFEF8
movq 0x30(%rsp), %rbx
xorl %r15d, %r15d
movq %rbx, %rdi
callq 0x3e844
addq $-0x108, %r15           # imm = 0xFEF8
addq $0x108, %rbx            # imm = 0x108
cmpq %r15, %rbp
jne 0x4e89c
movq 0x98(%rsp), %r14
movq 0xe0(%r14), %rax
movq 0x8(%rsp), %r15
movq 0x30(%rsp), %rcx
movq %rcx, (%rax,%r15,8)
movl 0x48(%r14), %ebx
shlq $0x2, %rbx
movq %rbx, %rdi
callq 0x7030
movq 0xe8(%r14), %rcx
movq %rax, (%rcx,%r15,8)
movq %rbx, %rdi
callq 0x7030
movq 0xf0(%r14), %rcx
movq %rax, (%rcx,%r15,8)
movq %rbx, %rdi
callq 0x7030
movq 0xf8(%r14), %rcx
movq %rax, (%rcx,%r15,8)
movq %rbx, %rdi
callq 0x7030
movq 0x100(%r14), %rcx
movq %rax, (%rcx,%r15,8)
cmpl $0x0, 0x48(%r14)
je 0x502df
xorl %ebp, %ebp
movl $0x428, %edi            # imm = 0x428
callq 0x7030
movq %rax, %r14
movq $0x4, (%rax)
leaq 0x8(%rax), %rbx
movl $0x8, %r15d
leaq (%r14,%r15), %rdi
callq 0x3e844
addq $0x108, %r15            # imm = 0x108
cmpq $0x428, %r15            # imm = 0x428
jne 0x4e953
movq 0x98(%rsp), %rax
movq 0xb0(%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rbx, (%rax,%rbp,8)
movl $0x428, %edi            # imm = 0x428
callq 0x7030
movq %rax, %r14
movq $0x4, (%rax)
leaq 0x8(%rax), %rbx
movl $0x8, %r15d
leaq (%r14,%r15), %rdi
callq 0x3e844
addq $0x108, %r15            # imm = 0x108
cmpq $0x428, %r15            # imm = 0x428
jne 0x4e9a6
movq 0x98(%rsp), %rcx
movq 0xb8(%rcx), %rax
movq 0x8(%rsp), %rsi
movq (%rax,%rsi,8), %rax
movq %rbx, (%rax,%rbp,8)
movq 0xe8(%rcx), %rax
movq (%rax,%rsi,8), %rax
xorl %edx, %edx
movl %edx, (%rax,%rbp,4)
movq 0xf0(%rcx), %rax
movq (%rax,%rsi,8), %rax
movl %edx, (%rax,%rbp,4)
movq 0xf8(%rcx), %rax
movq (%rax,%rsi,8), %rax
movl $0x4, %edx
movl %edx, (%rax,%rbp,4)
movq 0x100(%rcx), %rax
movq (%rax,%rsi,8), %rax
movl %edx, (%rax,%rbp,4)
xorl %r15d, %r15d
movq %rbp, 0x30(%rsp)
movq 0x98(%rsp), %rax
movq 0xb0(%rax), %rax
movq 0x8(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq %r15, %rcx
shlq $0x8, %rcx
leaq (%rcx,%r15,8), %rbx
movq (%rax,%rbp,8), %r14
addq %rbx, %r14
movl $0x1, %eax
cmpq $0xa, %rdx
jb 0x4ea9e
movl $0x4, %eax
movq 0x8(%rsp), %rcx
cmpl $0x63, %ecx
jbe 0x4ea97
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ea9c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ea9e
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4ea61
addl $-0x3, %eax
jmp 0x4ea9e
addl $-0x2, %eax
jmp 0x4ea9e
decl %eax
movq %r12, %rbp
movq %r13, %r12
movl %eax, %esi
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
leaq 0xe8(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0xe8(%rsp), %rdi
movl 0xf0(%rsp), %esi
movq 0x8(%rsp), %rdx
callq 0xafc9
movl $0x13, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xbb29(%rip), %rcx      # 0x5a61e
callq 0x73e0
leaq 0x48(%rsp), %rsi
movq %rsi, 0x38(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4eb22
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0x4eb28
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %r12, %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbp, %r12
movq %rbp, %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x88(%rsp), %rsi
movq %rsi, 0x78(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4eb7f
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
jmp 0x4eb85
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x30(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x80(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4ebf4
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4ebed
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ebf2
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ebf4
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4ebb7
addl $-0x3, %eax
jmp 0x4ebf4
addl $-0x2, %eax
jmp 0x4ebf4
decl %eax
movl %eax, %esi
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0xa0(%rsp), %rdi
xorl %edx, %edx
callq 0x7420
movq 0xa0(%rsp), %rdi
movl 0xa8(%rsp), %esi
movl %ebp, %edx
callq 0xafc9
movq 0x78(%rsp), %rcx
movl $0xf, %esi
leaq 0x88(%rsp), %rax
cmpq %rax, %rcx
je 0x4ec4a
movq 0x88(%rsp), %rsi
movq 0x80(%rsp), %r8
movq 0xa8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4ec87
movl $0xf, %esi
leaq 0xb0(%rsp), %rdi
cmpq %rdi, 0xa0(%rsp)
je 0x4ec82
movq 0xb0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4ec9b
movq 0xa0(%rsp), %rsi
leaq 0x78(%rsp), %rdi
callq 0x7130
jmp 0x4ecac
leaq 0xa0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4ecd1
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x4ecd7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4ed29
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4ed2f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc8(%rsp), %rdi
movl %r15d, %esi
callq 0x521ce
movq 0x10(%rsp), %rcx
movl $0xf, %esi
leaq 0x20(%rsp), %rax
cmpq %rax, %rcx
je 0x4ed70
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0xd0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4edaa
movl $0xf, %esi
leaq 0xd8(%rsp), %rdi
cmpq %rdi, 0xc8(%rsp)
je 0x4eda5
movq 0xd8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4edbe
movq 0xc8(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7130
jmp 0x4edcf
leaq 0xc8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0x138(%rsp), %rsi
movq %rsi, 0x128(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4ee00
movq %rdx, 0x128(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x138(%rsp)
jmp 0x4ee06
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x130(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %r14, %rdi
leaq 0x128(%rsp), %rsi
callq 0x3e94a
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x4ee50
callq 0x7370
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x4ee6a
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x4ee7e
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x4ee92
callq 0x7370
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x4eeac
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x4eec3
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x4eed7
callq 0x7370
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x4eef1
callq 0x7370
movq 0x98(%rsp), %rax
movq 0xb8(%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
addq (%rax,%rbp,8), %rbx
movl $0x1, %eax
cmpq $0xa, %rcx
jb 0x4ef5f
movl $0x4, %eax
movq 0x8(%rsp), %rcx
cmpl $0x63, %ecx
jbe 0x4ef58
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ef5d
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ef5f
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4ef22
addl $-0x3, %eax
jmp 0x4ef5f
addl $-0x2, %eax
jmp 0x4ef5f
decl %eax
movl %eax, %esi
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
leaq 0xe8(%rsp), %r14
movq %r14, %rdi
xorl %edx, %edx
callq 0x7420
movq 0xe8(%rsp), %rdi
movl 0xf0(%rsp), %esi
movq 0x8(%rsp), %rdx
callq 0xafc9
movl $0x14, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xb682(%rip), %rcx      # 0x5a632
callq 0x73e0
leaq 0x48(%rsp), %rsi
movq %rsi, 0x38(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4efdd
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0x4efe3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r12, %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x88(%rsp), %rsi
movq %rsi, 0x78(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4f034
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
jmp 0x4f03a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x80(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4f0a4
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4f09d
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4f0a2
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4f0a4
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4f067
addl $-0x3, %eax
jmp 0x4f0a4
addl $-0x2, %eax
jmp 0x4f0a4
decl %eax
movl %eax, %esi
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0xa0(%rsp), %rdi
xorl %edx, %edx
callq 0x7420
movq 0xa0(%rsp), %rdi
movl 0xa8(%rsp), %esi
movl %ebp, %edx
callq 0xafc9
movq 0x78(%rsp), %rcx
movl $0xf, %esi
leaq 0x88(%rsp), %rax
cmpq %rax, %rcx
je 0x4f0fa
movq 0x88(%rsp), %rsi
movq 0x80(%rsp), %r8
movq 0xa8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4f137
movl $0xf, %esi
leaq 0xb0(%rsp), %rdi
cmpq %rdi, 0xa0(%rsp)
je 0x4f132
movq 0xb0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4f14b
movq 0xa0(%rsp), %rsi
leaq 0x78(%rsp), %rdi
callq 0x7130
jmp 0x4f15c
leaq 0xa0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4f181
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x4f187
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4f1d9
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4f1df
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc8(%rsp), %rdi
movl %r15d, %esi
callq 0x521ce
movq 0x10(%rsp), %rcx
movl $0xf, %esi
leaq 0x20(%rsp), %rax
cmpq %rax, %rcx
je 0x4f220
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0xd0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4f25a
movl $0xf, %esi
leaq 0xd8(%rsp), %rdi
cmpq %rdi, 0xc8(%rsp)
je 0x4f255
movq 0xd8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4f26e
movq 0xc8(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7130
jmp 0x4f27f
leaq 0xc8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0x118(%rsp), %rsi
movq %rsi, 0x108(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4f2b0
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
jmp 0x4f2b6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x110(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbx, %rdi
leaq 0x108(%rsp), %rsi
callq 0x3e94a
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x4f300
callq 0x7370
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x4f31a
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x4f32e
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x4f342
callq 0x7370
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x4f35c
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x4f373
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x4f387
callq 0x7370
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x4f3a1
callq 0x7370
incq %r15
cmpq $0x4, %r15
jne 0x4ea22
movl $0x1, %eax
movq 0x8(%rsp), %rbx
cmpq $0xa, %rbx
leaq 0x1d8(%rsp), %r14
jb 0x4f40f
movl $0x4, %eax
movl %ebx, %ecx
cmpl $0x63, %ecx
jbe 0x4f403
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4f408
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4f40a
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4f3cd
addl $-0x3, %eax
jmp 0x4f40a
addl $-0x2, %eax
jmp 0x4f40a
decl %eax
movq 0x8(%rsp), %rbx
movq 0x98(%rsp), %rcx
movq 0xc0(%rcx), %rcx
movq %rbp, %rdx
shlq $0x8, %rdx
leaq (%rdx,%rbp,8), %rdx
movq (%rcx,%rbx,8), %r15
movq %rdx, 0xc0(%rsp)
addq %rdx, %r15
movl %eax, %esi
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %rbp
movq %rbp, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x78(%rsp), %rdi
movl 0x80(%rsp), %esi
movl %ebx, %edx
callq 0xafc9
movl $0x11, %r8d
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xb1ca(%rip), %rcx      # 0x5a647
callq 0x73e0
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4f4aa
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x4f4b0
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x30(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4f502
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4f508
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4f56f
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4f568
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4f56d
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4f56f
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4f532
addl $-0x3, %eax
jmp 0x4f56f
addl $-0x2, %eax
jmp 0x4f56f
decl %eax
movl %eax, %esi
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x38(%rsp), %rdi
movl 0x40(%rsp), %esi
movl %ebp, %edx
callq 0xafc9
movq 0x10(%rsp), %rcx
movl $0xf, %esi
leaq 0x20(%rsp), %rax
cmpq %rax, %rcx
je 0x4f5ae
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0x40(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4f5dc
movl $0xf, %esi
leaq 0x48(%rsp), %rdi
cmpq %rdi, 0x38(%rsp)
je 0x4f5d7
movq 0x48(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4f5ed
movq 0x38(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7130
jmp 0x4f5f9
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
movq %r14, 0x1c8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4f622
movq %rdx, 0x1c8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1d8(%rsp)
jmp 0x4f629
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x1d0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %r15, %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x3e94a
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x4f66b
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x4f67f
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x4f693
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x4f6a7
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x4f6be
callq 0x7370
movq 0x98(%rsp), %rax
movq 0xd8(%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rbx
addq 0xc0(%rsp), %rbx
movl $0x1, %eax
cmpq $0xa, %rcx
jb 0x4f730
movl $0x4, %eax
movq 0x8(%rsp), %rcx
cmpl $0x63, %ecx
jbe 0x4f729
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4f72e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4f730
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4f6f3
addl $-0x3, %eax
jmp 0x4f730
addl $-0x2, %eax
jmp 0x4f730
decl %eax
movl %eax, %esi
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %r14
movq %r14, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x78(%rsp), %rdi
movl 0x80(%rsp), %esi
movq 0x8(%rsp), %rdx
callq 0xafc9
movl $0x16, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xaee1(%rip), %rcx      # 0x5a659
callq 0x73e0
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4f7a5
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x4f7ab
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4f7f8
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4f7fe
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4f865
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4f85e
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4f863
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4f865
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4f828
addl $-0x3, %eax
jmp 0x4f865
addl $-0x2, %eax
jmp 0x4f865
decl %eax
movl %eax, %esi
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x38(%rsp), %rdi
movl 0x40(%rsp), %esi
movl %ebp, %edx
callq 0xafc9
movq 0x10(%rsp), %rcx
movl $0xf, %esi
leaq 0x20(%rsp), %rax
cmpq %rax, %rcx
je 0x4f8a4
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0x40(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x1b8(%rsp), %r14
jbe 0x4f8da
movl $0xf, %esi
leaq 0x48(%rsp), %rdi
cmpq %rdi, 0x38(%rsp)
je 0x4f8d5
movq 0x48(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4f8eb
movq 0x38(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7130
jmp 0x4f8f7
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
movq %r14, 0x1a8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4f920
movq %rdx, 0x1a8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1b8(%rsp)
jmp 0x4f927
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x1b0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbx, %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x3e94a
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x4f969
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
leaq 0x198(%rsp), %r14
leaq 0x178(%rsp), %r15
je 0x4f98d
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x4f9a1
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x4f9b5
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x4f9cc
callq 0x7370
movq 0x98(%rsp), %rax
movq 0xe0(%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rbx
addq 0xc0(%rsp), %rbx
movl $0x1, %eax
cmpq $0xa, %rcx
jb 0x4fa3e
movl $0x4, %eax
movq 0x8(%rsp), %rcx
cmpl $0x63, %ecx
jbe 0x4fa37
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4fa3c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4fa3e
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4fa01
addl $-0x3, %eax
jmp 0x4fa3e
addl $-0x2, %eax
jmp 0x4fa3e
decl %eax
movl %eax, %esi
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %rbp
movq %rbp, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x78(%rsp), %rdi
movl 0x80(%rsp), %esi
movq 0x8(%rsp), %rdx
callq 0xafc9
movl $0x17, %r8d
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xabea(%rip), %rcx      # 0x5a670
callq 0x73e0
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4fab3
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x4fab9
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x30(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4fb0b
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4fb11
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4fb78
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4fb71
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4fb76
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4fb78
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4fb3b
addl $-0x3, %eax
jmp 0x4fb78
addl $-0x2, %eax
jmp 0x4fb78
decl %eax
movl %eax, %esi
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x38(%rsp), %rdi
movl 0x40(%rsp), %esi
movl %ebp, %edx
callq 0xafc9
movq 0x10(%rsp), %rcx
movl $0xf, %esi
leaq 0x20(%rsp), %rax
cmpq %rax, %rcx
je 0x4fbb7
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0x40(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4fbe5
movl $0xf, %esi
leaq 0x48(%rsp), %rdi
cmpq %rdi, 0x38(%rsp)
je 0x4fbe0
movq 0x48(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4fbf6
movq 0x38(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7130
jmp 0x4fc02
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
movq %r14, 0x188(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4fc2b
movq %rdx, 0x188(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x198(%rsp)
jmp 0x4fc32
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x190(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbx, %rdi
leaq 0x188(%rsp), %rsi
callq 0x3e94a
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x4fc74
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x4fc88
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x4fc9c
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x4fcb0
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x4fcc7
callq 0x7370
movq 0x98(%rsp), %rax
movq 0xc8(%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rbx
addq 0xc0(%rsp), %rbx
movl $0x1, %eax
cmpq $0xa, %rcx
jb 0x4fd39
movl $0x4, %eax
movq 0x8(%rsp), %rcx
cmpl $0x63, %ecx
jbe 0x4fd32
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4fd37
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4fd39
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4fcfc
addl $-0x3, %eax
jmp 0x4fd39
addl $-0x2, %eax
jmp 0x4fd39
decl %eax
movl %eax, %esi
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %r14
movq %r14, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x78(%rsp), %rdi
movl 0x80(%rsp), %esi
movq 0x8(%rsp), %rdx
callq 0xafc9
movl $0x12, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xa907(%rip), %rcx      # 0x5a688
callq 0x73e0
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4fdae
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x4fdb4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4fe01
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4fe07
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4fe6e
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4fe67
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4fe6c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4fe6e
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4fe31
addl $-0x3, %eax
jmp 0x4fe6e
addl $-0x2, %eax
jmp 0x4fe6e
decl %eax
movl %eax, %esi
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x38(%rsp), %rdi
movl 0x40(%rsp), %esi
movl %ebp, %edx
callq 0xafc9
movq 0x10(%rsp), %rcx
movl $0xf, %esi
leaq 0x20(%rsp), %rax
cmpq %rax, %rcx
je 0x4fead
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0x40(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4fedb
movl $0xf, %esi
leaq 0x48(%rsp), %rdi
cmpq %rdi, 0x38(%rsp)
je 0x4fed6
movq 0x48(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4feec
movq 0x38(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7130
jmp 0x4fef8
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
movq %r15, 0x168(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4ff21
movq %rdx, 0x168(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x178(%rsp)
jmp 0x4ff28
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x170(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbx, %rdi
leaq 0x168(%rsp), %rsi
callq 0x3e94a
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x4ff6a
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
leaq 0x158(%rsp), %r14
leaq 0x78(%rsp), %rbx
je 0x4ff8b
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x4ff9f
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x4ffb3
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x4ffca
callq 0x7370
movq 0x98(%rsp), %rax
movq 0xd0(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0xc0(%rsp), %rdx
addq (%rax,%rcx,8), %rdx
movq %rdx, 0xc0(%rsp)
movl $0x1, %eax
cmpq $0xa, %rcx
jb 0x50044
movl $0x4, %eax
movq 0x8(%rsp), %rcx
cmpl $0x63, %ecx
jbe 0x5003d
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x50042
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x50044
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x50007
addl $-0x3, %eax
jmp 0x50044
addl $-0x2, %eax
jmp 0x50044
decl %eax
movl %eax, %esi
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
movq %rbx, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x78(%rsp), %rdi
movl 0x80(%rsp), %esi
movq 0x8(%rsp), %rdx
callq 0xafc9
movl $0x12, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xa614(%rip), %rcx      # 0x5a69b
callq 0x73e0
leaq 0x68(%rsp), %rsi
movq %rsi, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x500b4
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x500ba
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
callq 0x7690
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x50107
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x5010d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x50174
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x5016d
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x50172
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x50174
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x50137
addl $-0x3, %eax
jmp 0x50174
addl $-0x2, %eax
jmp 0x50174
decl %eax
movl %eax, %esi
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x38(%rsp), %rdi
movl 0x40(%rsp), %esi
movl %ebp, %edx
callq 0xafc9
movq 0x10(%rsp), %rcx
movl $0xf, %esi
leaq 0x20(%rsp), %rax
cmpq %rax, %rcx
je 0x501b3
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0x40(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x501e1
movl $0xf, %esi
leaq 0x48(%rsp), %rdi
cmpq %rdi, 0x38(%rsp)
je 0x501dc
movq 0x48(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x501f2
movq 0x38(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x7130
jmp 0x501fe
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
movq %r14, 0x148(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x50227
movq %rdx, 0x148(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x158(%rsp)
jmp 0x5022e
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x150(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0xc0(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x3e94a
movq 0x148(%rsp), %rdi
cmpq %r14, %rdi
je 0x50275
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x50289
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x5029d
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x502b1
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x502c8
callq 0x7370
incq %rbp
movq 0x98(%rsp), %rax
movl 0x48(%rax), %eax
cmpq %rax, %rbp
jb 0x4e935
movq 0x8(%rsp), %rdx
incq %rdx
movq 0x98(%rsp), %rbp
movl 0x44(%rbp), %eax
movq %rdx, 0x8(%rsp)
cmpq %rax, %rdx
jb 0x4e666
addq $0x1e8, %rsp            # imm = 0x1E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x506f4
jmp 0x506f4
movq %rax, %rbx
jmp 0x503ed
movq %rax, %rbx
jmp 0x503c5
jmp 0x506f4
movq %rax, %rbx
jmp 0x5046d
movq %rax, %rbx
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x50360
callq 0x7370
jmp 0x50360
jmp 0x506f4
movq %rax, %rbx
jmp 0x50459
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x50381
callq 0x7370
jmp 0x50381
movq %rax, %rbx
jmp 0x50445
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x504aa
callq 0x7370
jmp 0x504aa
movq %rax, %rbx
jmp 0x503d9
movq %rax, %rbx
jmp 0x50401
movq %rax, %rbx
jmp 0x50431
movq %rax, %rbx
movq 0x148(%rsp), %rdi
cmpq %r14, %rdi
je 0x503c5
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x503d9
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x503ed
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x50401
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x508e0
jmp 0x508a7
movq %rax, %rbx
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x50431
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x50445
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x50459
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x5046d
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x508e0
jmp 0x508a7
jmp 0x506f4
movq %rax, %rbx
jmp 0x50539
movq %rax, %rbx
jmp 0x505b6
jmp 0x506f4
movq %rax, %rbx
jmp 0x50525
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x50584
callq 0x7370
jmp 0x50584
movq %rax, %rbx
jmp 0x505ca
jmp 0x506f4
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x504f3
callq 0x7370
jmp 0x504f3
movq %rax, %rbx
jmp 0x50566
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x505a2
callq 0x7370
jmp 0x505a2
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x50525
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x50539
callq 0x7370
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x50552
callq 0x7370
jmp 0x50552
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x50566
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x508e0
jmp 0x508a7
movq %rax, %rbx
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x508e0
jmp 0x508a7
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x505b6
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x505ca
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x508e0
jmp 0x508a7
movq %rax, %rbx
testq %r15, %r15
je 0x5060c
negq %r15
movq %r14, %r12
addq $-0x100, %r12
leaq (%r12,%r15), %rdi
callq 0x475fc
addq $-0x108, %r15           # imm = 0xFEF8
jne 0x505fa
jmp 0x508d8
movq %rax, %rbx
testq %r15, %r15
je 0x50638
negq %r15
movq %r14, %r12
addq $-0x100, %r12
leaq (%r12,%r15), %rdi
callq 0x475fc
addq $-0x108, %r15           # imm = 0xFEF8
jne 0x50626
jmp 0x508d8
movq %rax, %rbx
testq %r15, %r15
je 0x50664
negq %r15
movq %r14, %r12
addq $-0x100, %r12
leaq (%r12,%r15), %rdi
callq 0x475fc
addq $-0x108, %r15           # imm = 0xFEF8
jne 0x50652
jmp 0x508d8
movq %rax, %rbx
testq %r15, %r15
je 0x50690
negq %r15
movq %r14, %r12
addq $-0x100, %r12
leaq (%r12,%r15), %rdi
callq 0x475fc
addq $-0x108, %r15           # imm = 0xFEF8
jne 0x5067e
jmp 0x508d8
movq %rax, %rbx
testq %r15, %r15
je 0x506bc
negq %r15
movq %r14, %r12
addq $-0x100, %r12
leaq (%r12,%r15), %rdi
callq 0x475fc
addq $-0x108, %r15           # imm = 0xFEF8
jne 0x506aa
jmp 0x508d8
jmp 0x506f4
movq %rax, %rbx
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x5072e
callq 0x7370
jmp 0x5072e
movq %rax, %rbx
jmp 0x5084d
jmp 0x506f4
movq %rax, %rbx
jmp 0x507ab
movq %rax, %rbx
jmp 0x508e0
movq %rax, %rbx
jmp 0x50892
movq %rax, %rbx
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x5075c
callq 0x7370
jmp 0x5075c
movq %rax, %rbx
jmp 0x50839
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x50825
callq 0x7370
jmp 0x50825
movq %rax, %rbx
jmp 0x5087e
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x50797
callq 0x7370
jmp 0x50797
movq %rax, %rbx
jmp 0x507d9
movq %rax, %rbx
jmp 0x507f0
movq %rax, %rbx
jmp 0x50867
movq %rax, %rbx
jmp 0x507bf
movq %rax, %rbx
jmp 0x50804
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x507ab
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x507bf
callq 0x7370
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x507d9
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x507f0
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x50804
callq 0x7370
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x508e0
jmp 0x508a7
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x50839
callq 0x7370
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x5084d
callq 0x7370
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x50867
callq 0x7370
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x5087e
callq 0x7370
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x50892
callq 0x7370
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x508e0
callq 0x7370
jmp 0x508e0
movq %rax, %rbx
cmpq $0x8, %r15
je 0x508c2
movq %r15, %rdi
movq %r14, %rsi
callq 0x7b15
jmp 0x508d8
movq %rax, %rbx
cmpq $0x8, %r15
je 0x508d8
movq %r15, %rdi
movq %r14, %rsi
callq 0x7a74
movq %r14, %rdi
callq 0x7480
movq 0x98(%rsp), %rdi
callq 0x4b01a
movq %rbx, %rdi
callq 0x7620
nop