// File: /workspace/github_cpp_makefile_star2_O1/CMU-SAFARI[P]MQSim/src/ssd/TSU_OutofOrder.cpp
// Function: SSD_Components::TSU_OutOfOrder::TSU_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_OutOfOrder::TSU_OutOfOrder(const sim_object_id_type &id, FTL *ftl, NVM_PHY_ONFI_NVDDR2 *NVMController, unsigned int ChannelCount, unsigned int chip_no_per_channel,
							   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::OUT_OF_ORDER, ChannelCount, chip_no_per_channel, 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];
	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];
		for (unsigned int chip_cntr = 0; chip_cntr < chip_no_per_channel; chip_cntr++)
		{
			UserReadTRQueue[channelID][chip_cntr].Set_id("User_Read_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chip_cntr));
			UserWriteTRQueue[channelID][chip_cntr].Set_id("User_Write_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chip_cntr));
			GCReadTRQueue[channelID][chip_cntr].Set_id("GC_Read_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chip_cntr));
			MappingReadTRQueue[channelID][chip_cntr].Set_id("Mapping_Read_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chip_cntr));
			MappingWriteTRQueue[channelID][chip_cntr].Set_id("Mapping_Write_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chip_cntr));
			GCWriteTRQueue[channelID][chip_cntr].Set_id("GC_Write_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chip_cntr));
			GCEraseTRQueue[channelID][chip_cntr].Set_id("GC_Erase_TR_Queue@" + std::to_string(channelID) + "@" + std::to_string(chip_cntr));
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movl %r9d, %r13d
movl %r8d, %r9d
movq %rdi, %r12
movl 0x1c0(%rsp), %eax
xorl %r10d, %r10d
cmpq $0x0, 0x1d0(%rsp)
setne %r10b
xorl %r11d, %r11d
cmpq $0x0, 0x1d8(%rsp)
movl 0x1c8(%rsp), %ebx
setne %r11b
movzbl 0x1e8(%rsp), %r14d
movzbl 0x1f0(%rsp), %r15d
xorl %r8d, %r8d
pushq %r15
pushq %r14
pushq 0x1f0(%rsp)
pushq %r11
pushq %r10
pushq %rbx
pushq %rax
movq %r13, 0xc0(%rsp)
pushq %r13
callq 0x4aeb4
addq $0x40, %rsp
leaq 0x23710(%rip), %rax     # 0x6ec40
movq %rax, (%r12)
movl 0x44(%r12), %r14d
shlq $0x3, %r14
movq %r14, %rdi
movq %r12, 0x60(%rsp)
callq 0x7030
movq %rax, 0xb0(%r12)
movq %r14, %rdi
callq 0x7030
movq %rax, 0xb8(%r12)
movq %r14, %rdi
callq 0x7030
movq %rax, 0xc0(%r12)
movq %r14, %rdi
callq 0x7030
movq %rax, 0xc8(%r12)
movq %r14, %rdi
callq 0x7030
movq %rax, 0xd0(%r12)
movq %r14, %rdi
callq 0x7030
movq %rax, 0xd8(%r12)
movq %r14, %rdi
callq 0x7030
movq %rax, 0xe0(%r12)
cmpl $0x0, 0x44(%r12)
je 0x4ccc1
movl 0x88(%rsp), %ecx
movq %rcx, %rax
shlq $0x8, %rax
leaq (%rax,%rcx,8), %rax
addq $0x8, %rax
movq %rax, 0x98(%rsp)
movq %rcx, 0x90(%rsp)
imulq $-0x108, %rcx, %rax     # imm = 0xFEF8
movq %rax, 0xa0(%rsp)
xorl %r12d, %r12d
movl $0xd1b71759, %ebx       # imm = 0xD1B71759
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %r13
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4b649
movq %r13, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3e844
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4b629
movq 0x60(%rsp), %rax
movq 0xb0(%rax), %rax
movq %r13, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %r13
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4b6a7
movq %r13, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3e844
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4b687
movq 0x60(%rsp), %rax
movq 0xb8(%rax), %rax
movq %r13, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %r13
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4b705
movq %r13, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3e844
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4b6e5
movq 0x60(%rsp), %rax
movq 0xc0(%rax), %rax
movq %r13, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %r13
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4b763
movq %r13, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3e844
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4b743
movq 0x60(%rsp), %rax
movq 0xc8(%rax), %rax
movq %r13, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %r13
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4b7c1
movq %r13, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3e844
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4b7a1
movq 0x60(%rsp), %rax
movq 0xd0(%rax), %rax
movq %r13, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %r13
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4b81f
movq %r13, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3e844
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4b7ff
movq 0x60(%rsp), %rax
movq 0xd8(%rax), %rax
movq %r13, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %r13
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4b87d
movq %r13, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3e844
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4b85d
movq 0x60(%rsp), %rax
movq 0xe0(%rax), %rax
movq %r13, (%rax,%r12,8)
cmpl $0x0, 0x88(%rsp)
je 0x4ccad
xorl %r15d, %r15d
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4b8e9
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4b8e2
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4b8e7
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4b8e9
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b8b1
addl $-0x3, %eax
jmp 0x4b8e9
addl $-0x2, %eax
jmp 0x4b8e9
decl %eax
movq 0x60(%rsp), %rcx
movq 0xb0(%rcx), %rcx
movq %r15, %rdx
shlq $0x8, %rdx
leaq (%rdx,%r15,8), %r14
movq (%rcx,%r12,8), %rbp
addq %r14, %rbp
movl %eax, %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xafc9
movl $0x13, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xecd7(%rip), %rcx      # 0x5a61e
callq 0x73e0
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4b974
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4b97a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x20(%rsp), %rdi
leaq 0xecb4(%rip), %rsi      # 0x5a657
callq 0x7690
movq %r13, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4b9cb
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x4b9d3
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %r15
jb 0x4ba36
movl $0x4, %eax
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x4ba2f
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ba34
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ba36
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b9fe
addl $-0x3, %eax
jmp 0x4ba36
addl $-0x2, %eax
jmp 0x4ba36
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x7420
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %r15d, %edx
callq 0xafc9
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r13, %rcx
je 0x4ba6f
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4ba9c
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, (%rsp)
je 0x4ba97
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4baac
movq (%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0x7130
jmp 0x4bab8
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0x178(%rsp), %rsi
movq %rsi, 0x168(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4bae9
movq %rdx, 0x168(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x178(%rsp)
jmp 0x4baef
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x170(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbp, %rdi
leaq 0x168(%rsp), %rsi
callq 0x3e94a
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x4bb39
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4bb4c
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4bb5b
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4bb6f
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4bb83
callq 0x7370
movq 0x60(%rsp), %rax
movq 0xb8(%rax), %rax
movq (%rax,%r12,8), %rbp
addq %r14, %rbp
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4bbe1
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4bbda
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4bbdf
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4bbe1
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4bba9
addl $-0x3, %eax
jmp 0x4bbe1
addl $-0x2, %eax
jmp 0x4bbe1
decl %eax
movl %eax, %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xafc9
movl $0x14, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xea11(%rip), %rcx      # 0x5a632
callq 0x73e0
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4bc4e
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4bc54
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x20(%rsp), %rdi
leaq 0xe9da(%rip), %rsi      # 0x5a657
callq 0x7690
movq %r13, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4bca5
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x4bcad
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %r15
jb 0x4bd10
movl $0x4, %eax
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x4bd09
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4bd0e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4bd10
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4bcd8
addl $-0x3, %eax
jmp 0x4bd10
addl $-0x2, %eax
jmp 0x4bd10
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x7420
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %r15d, %edx
callq 0xafc9
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r13, %rcx
je 0x4bd49
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4bd76
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, (%rsp)
je 0x4bd71
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4bd86
movq (%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0x7130
jmp 0x4bd92
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0x158(%rsp), %rsi
movq %rsi, 0x148(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4bdc3
movq %rdx, 0x148(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x158(%rsp)
jmp 0x4bdc9
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x150(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbp, %rdi
leaq 0x148(%rsp), %rsi
callq 0x3e94a
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x4be13
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4be26
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4be35
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4be49
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4be5d
callq 0x7370
movq 0x60(%rsp), %rax
movq 0xc0(%rax), %rax
movq (%rax,%r12,8), %rbp
addq %r14, %rbp
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4bebb
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4beb4
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4beb9
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4bebb
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4be83
addl $-0x3, %eax
jmp 0x4bebb
addl $-0x2, %eax
jmp 0x4bebb
decl %eax
movl %eax, %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xafc9
movl $0x11, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe74c(%rip), %rcx      # 0x5a647
callq 0x73e0
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4bf28
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4bf2e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x20(%rsp), %rdi
leaq 0xe700(%rip), %rsi      # 0x5a657
callq 0x7690
movq %r13, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4bf7f
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x4bf87
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %r15
jb 0x4bfea
movl $0x4, %eax
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x4bfe3
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4bfe8
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4bfea
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4bfb2
addl $-0x3, %eax
jmp 0x4bfea
addl $-0x2, %eax
jmp 0x4bfea
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x7420
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %r15d, %edx
callq 0xafc9
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r13, %rcx
je 0x4c023
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4c050
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, (%rsp)
je 0x4c04b
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4c060
movq (%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0x7130
jmp 0x4c06c
movq %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 0x4c09d
movq %rdx, 0x128(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x138(%rsp)
jmp 0x4c0a3
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 %rbp, %rdi
leaq 0x128(%rsp), %rsi
callq 0x3e94a
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x4c0ed
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c100
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c10f
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c123
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4c137
callq 0x7370
movq 0x60(%rsp), %rax
movq 0xd8(%rax), %rax
movq (%rax,%r12,8), %rbp
addq %r14, %rbp
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4c195
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4c18e
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c193
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4c195
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c15d
addl $-0x3, %eax
jmp 0x4c195
addl $-0x2, %eax
jmp 0x4c195
decl %eax
movl %eax, %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xafc9
movl $0x16, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe484(%rip), %rcx      # 0x5a659
callq 0x73e0
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c202
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4c208
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x20(%rsp), %rdi
leaq 0xe426(%rip), %rsi      # 0x5a657
callq 0x7690
movq %r13, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c259
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x4c261
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %r15
jb 0x4c2c4
movl $0x4, %eax
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x4c2bd
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c2c2
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4c2c4
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c28c
addl $-0x3, %eax
jmp 0x4c2c4
addl $-0x2, %eax
jmp 0x4c2c4
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x7420
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %r15d, %edx
callq 0xafc9
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r13, %rcx
je 0x4c2fd
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4c32a
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, (%rsp)
je 0x4c325
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4c33a
movq (%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0x7130
jmp 0x4c346
movq %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 0x4c377
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
jmp 0x4c37d
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 %rbp, %rdi
leaq 0x108(%rsp), %rsi
callq 0x3e94a
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3c7
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3da
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c3e9
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3fd
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4c411
callq 0x7370
movq 0x60(%rsp), %rax
movq 0xe0(%rax), %rax
movq (%rax,%r12,8), %rbp
addq %r14, %rbp
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4c46f
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4c468
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c46d
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4c46f
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c437
addl $-0x3, %eax
jmp 0x4c46f
addl $-0x2, %eax
jmp 0x4c46f
decl %eax
movl %eax, %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xafc9
movl $0x17, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe1c1(%rip), %rcx      # 0x5a670
callq 0x73e0
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c4dc
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4c4e2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x20(%rsp), %rdi
leaq 0xe14c(%rip), %rsi      # 0x5a657
callq 0x7690
movq %r13, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c533
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x4c53b
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %r15
jb 0x4c59e
movl $0x4, %eax
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x4c597
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c59c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4c59e
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c566
addl $-0x3, %eax
jmp 0x4c59e
addl $-0x2, %eax
jmp 0x4c59e
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x7420
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %r15d, %edx
callq 0xafc9
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r13, %rcx
je 0x4c5d7
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4c604
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, (%rsp)
je 0x4c5ff
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4c614
movq (%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0x7130
jmp 0x4c620
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0xf8(%rsp), %rsi
movq %rsi, 0xe8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4c651
movq %rdx, 0xe8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf8(%rsp)
jmp 0x4c657
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xf0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbp, %rdi
leaq 0xe8(%rsp), %rsi
callq 0x3e94a
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x4c6a1
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c6b4
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c6c3
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c6d7
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4c6eb
callq 0x7370
movq 0x60(%rsp), %rax
movq 0xc8(%rax), %rax
movq (%rax,%r12,8), %rbp
addq %r14, %rbp
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4c749
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4c742
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c747
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4c749
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c711
addl $-0x3, %eax
jmp 0x4c749
addl $-0x2, %eax
jmp 0x4c749
decl %eax
movl %eax, %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xafc9
movl $0x12, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xdeff(%rip), %rcx      # 0x5a688
callq 0x73e0
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c7b6
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4c7bc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x20(%rsp), %rdi
leaq 0xde72(%rip), %rsi      # 0x5a657
callq 0x7690
movq %r13, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c80d
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x4c815
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %r15
jb 0x4c878
movl $0x4, %eax
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x4c871
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c876
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4c878
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c840
addl $-0x3, %eax
jmp 0x4c878
addl $-0x2, %eax
jmp 0x4c878
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x7420
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %r15d, %edx
callq 0xafc9
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r13, %rcx
je 0x4c8b1
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4c8de
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, (%rsp)
je 0x4c8d9
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4c8ee
movq (%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0x7130
jmp 0x4c8fa
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0xd8(%rsp), %rsi
movq %rsi, 0xc8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4c92b
movq %rdx, 0xc8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xd8(%rsp)
jmp 0x4c931
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xd0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbp, %rdi
leaq 0xc8(%rsp), %rsi
callq 0x3e94a
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x4c97b
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c98e
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c99d
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c9b1
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4c9c5
callq 0x7370
movq 0x60(%rsp), %rax
movq 0xd0(%rax), %rax
addq (%rax,%r12,8), %r14
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4ca20
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4ca19
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ca1e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ca20
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c9e8
addl $-0x3, %eax
jmp 0x4ca20
addl $-0x2, %eax
jmp 0x4ca20
decl %eax
movl %eax, %esi
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r13
movq %r13, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xafc9
movl $0x12, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xdc3b(%rip), %rcx      # 0x5a69b
callq 0x73e0
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4ca8d
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4ca93
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq 0x50(%rsp), %r13
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x20(%rsp), %rdi
leaq 0xdb9b(%rip), %rsi      # 0x5a657
callq 0x7690
movq %r13, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4cae4
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x4caec
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %r15
jb 0x4cb4f
movl $0x4, %eax
movl %r15d, %ecx
cmpl $0x63, %ecx
jbe 0x4cb48
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4cb4d
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4cb4f
movl %ecx, %edx
imulq %rbx, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4cb17
addl $-0x3, %eax
jmp 0x4cb4f
addl $-0x2, %eax
jmp 0x4cb4f
decl %eax
movl %eax, %esi
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
xorl %edx, %edx
callq 0x7420
movq (%rsp), %rdi
movl 0x8(%rsp), %esi
movl %r15d, %edx
callq 0xafc9
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r13, %rcx
je 0x4cb88
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4cbb5
movl $0xf, %esi
leaq 0x10(%rsp), %rdi
cmpq %rdi, (%rsp)
je 0x4cbb0
movq 0x10(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4cbc5
movq (%rsp), %rsi
leaq 0x40(%rsp), %rdi
callq 0x7130
jmp 0x4cbd1
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x73e0
leaq 0xb8(%rsp), %rsi
movq %rsi, 0xa8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4cc02
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x4cc08
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %r14, %rdi
leaq 0xa8(%rsp), %rsi
callq 0x3e94a
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x4cc52
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4cc65
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4cc74
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4cc88
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4cc9c
callq 0x7370
incq %r15
cmpq 0x90(%rsp), %r15
jne 0x4b89e
incq %r12
movq 0x60(%rsp), %rax
movl 0x44(%rax), %eax
cmpq %rax, %r12
jb 0x4b5fb
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4d057
jmp 0x4d057
movq %rax, %r14
jmp 0x4cec5
movq %rax, %r14
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x4cfd4
callq 0x7370
jmp 0x4cfd4
movq %rax, %r14
jmp 0x4cdaa
jmp 0x4d057
jmp 0x4d057
jmp 0x4d057
movq %rax, %r14
jmp 0x4cd9b
movq %rax, %r14
jmp 0x4ce03
movq %rax, %r14
jmp 0x4ceef
movq %rax, %r14
jmp 0x4ce96
movq %rax, %r14
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x4cdca
callq 0x7370
jmp 0x4cdca
movq %rax, %r14
jmp 0x4cd88
movq %rax, %r14
jmp 0x4ce82
movq %rax, %r14
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x4cd88
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4cd9b
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4cdaa
callq 0x7370
leaq 0x30(%rsp), %rax
movq 0x20(%rsp), %rdi
cmpq %rax, %rdi
je 0x4cf1e
callq 0x7370
jmp 0x4cf1e
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4cee0
callq 0x7370
jmp 0x4cee0
movq %rax, %r14
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x4ce03
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4ce73
callq 0x7370
jmp 0x4ce73
movq %rax, %r14
jmp 0x4cf03
movq %rax, %r14
jmp 0x4ce42
movq %rax, %r14
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x4ce42
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4ce5a
callq 0x7370
jmp 0x4ce5a
movq %rax, %r14
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4ceb1
callq 0x7370
jmp 0x4ceb1
jmp 0x4d057
movq %rax, %r14
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4ce82
callq 0x7370
leaq 0x30(%rsp), %rax
movq 0x20(%rsp), %rdi
cmpq %rax, %rdi
je 0x4ce96
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4d1d9
jmp 0x4d0a1
movq %rax, %r14
leaq 0x30(%rsp), %rax
movq 0x20(%rsp), %rdi
cmpq %rax, %rdi
je 0x4cec5
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4d1d9
jmp 0x4d0a1
movq %rax, %r14
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4ceef
callq 0x7370
leaq 0x30(%rsp), %rax
movq 0x20(%rsp), %rdi
cmpq %rax, %rdi
je 0x4cf03
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4d1d9
jmp 0x4d0a1
movq %rax, %r14
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4d1d9
jmp 0x4d0a1
jmp 0x4d057
movq %rax, %r14
jmp 0x4cf62
movq %rax, %r14
jmp 0x4cf75
movq %rax, %r14
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x4cf62
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4cf75
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4cf89
callq 0x7370
jmp 0x4cf89
movq %rax, %r14
leaq 0x30(%rsp), %rax
movq 0x20(%rsp), %rdi
cmpq %rax, %rdi
je 0x4cfa2
callq 0x7370
jmp 0x4cfa2
movq %rax, %r14
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4d1d9
jmp 0x4d0a1
movq %rax, %r14
jmp 0x4d076
movq %rax, %r14
jmp 0x4d01f
movq %rax, %r14
jmp 0x4d041
jmp 0x4d057
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4cff1
callq 0x7370
jmp 0x4cff1
movq %rax, %r14
jmp 0x4d032
movq %rax, %r14
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4d062
callq 0x7370
jmp 0x4d062
movq %rax, %r14
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x4d01f
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4d032
callq 0x7370
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x4d041
callq 0x7370
leaq 0x30(%rsp), %rax
movq 0x20(%rsp), %rdi
cmpq %rax, %rdi
je 0x4d08e
callq 0x7370
jmp 0x4d08e
movq %rax, %r14
jmp 0x4d1d9
movq %rax, %r14
leaq 0x30(%rsp), %rax
movq 0x20(%rsp), %rdi
cmpq %rax, %rdi
je 0x4d076
callq 0x7370
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4d1d9
jmp 0x4d0a1
movq %rax, %r14
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x4d1d9
callq 0x7370
jmp 0x4d1d9
movq %rax, %r14
testq %rbp, %rbp
je 0x4d0d2
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x475fc
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4d0c0
jmp 0x4d1d1
movq %rax, %r14
testq %rbp, %rbp
je 0x4d0fe
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x475fc
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4d0ec
jmp 0x4d1d1
movq %rax, %r14
testq %rbp, %rbp
je 0x4d12a
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x475fc
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4d118
jmp 0x4d1d1
movq %rax, %r14
testq %rbp, %rbp
je 0x4d156
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x475fc
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4d144
jmp 0x4d1d1
movq %rax, %r14
testq %rbp, %rbp
je 0x4d17f
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x475fc
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4d16d
jmp 0x4d1d1
movq %rax, %r14
testq %rbp, %rbp
je 0x4d1a8
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x475fc
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4d196
jmp 0x4d1d1
movq %rax, %r14
testq %rbp, %rbp
je 0x4d1d1
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x475fc
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4d1bf
movq %r15, %rdi
callq 0x7480
movq 0x60(%rsp), %rdi
callq 0x4b01a
movq %r14, %rdi
callq 0x7620
nop