// File: /workspace/github_cpp_makefile_star2_O3/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 0x4a458
addq $0x40, %rsp
leaq 0x24168(%rip), %rax     # 0x6ec38
movq %rax, (%r12)
movl 0x44(%r12), %ebx
leaq (,%rbx,8), %r14
movq %r14, %rdi
movq %r12, 0x40(%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)
testl %ebx, %ebx
je 0x4c277
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, %r13d      # imm = 0xD1B71759
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %rbx
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4abea
movq %rbx, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3ddf4
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4abca
movq 0x40(%rsp), %rax
movq 0xb0(%rax), %rax
movq %rbx, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %rbx
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4ac48
movq %rbx, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3ddf4
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4ac28
movq 0x40(%rsp), %rax
movq 0xb8(%rax), %rax
movq %rbx, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %rbx
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4aca6
movq %rbx, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3ddf4
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4ac86
movq 0x40(%rsp), %rax
movq 0xc0(%rax), %rax
movq %rbx, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %rbx
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4ad04
movq %rbx, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3ddf4
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4ace4
movq 0x40(%rsp), %rax
movq 0xc8(%rax), %rax
movq %rbx, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %rbx
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4ad62
movq %rbx, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3ddf4
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4ad42
movq 0x40(%rsp), %rax
movq 0xd0(%rax), %rax
movq %rbx, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %rbx
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4adc0
movq %rbx, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3ddf4
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4ada0
movq 0x40(%rsp), %rax
movq 0xd8(%rax), %rax
movq %rbx, (%rax,%r12,8)
movq 0x98(%rsp), %rdi
callq 0x7030
movq %rax, %r15
leaq 0x8(%rax), %rbx
movq 0x90(%rsp), %rax
movq %rax, (%r15)
cmpl $0x0, 0x88(%rsp)
je 0x4c253
movq %rbx, %r14
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x3ddf4
addq $-0x108, %rbp           # imm = 0xFEF8
addq $0x108, %r14            # imm = 0x108
cmpq %rbp, 0xa0(%rsp)
jne 0x4ae02
movq 0x40(%rsp), %rax
movq 0xe0(%rax), %rax
movq %rbx, (%rax,%r12,8)
cmpl $0x0, 0x88(%rsp)
leaq 0x78(%rsp), %r15
je 0x4c263
xorl %ebp, %ebp
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4ae92
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4ae8b
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ae90
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ae92
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4ae5a
addl $-0x3, %eax
jmp 0x4ae92
addl $-0x2, %eax
jmp 0x4ae92
decl %eax
movq 0x40(%rsp), %rcx
movq 0xb0(%rcx), %rcx
movq %rbp, %rdx
shlq $0x8, %rdx
leaq (%rdx,%rbp,8), %rbx
movq (%rcx,%r12,8), %r14
addq %rbx, %r14
movl %eax, %esi
movq %r15, 0x68(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xaec5
movl $0x13, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xf733(%rip), %rcx      # 0x5a61e
callq 0x73e0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x78(%rsp), %r15
je 0x4af1d
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4af23
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0xf710(%rip), %rsi      # 0x5a657
callq 0x7690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4af74
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4af7a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4afdc
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4afd5
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4afda
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4afdc
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4afa4
addl $-0x3, %eax
jmp 0x4afdc
addl $-0x2, %eax
jmp 0x4afdc
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 %ebp, %edx
callq 0xaec5
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %rax
cmpq %rax, %rcx
je 0x4b019
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x4b049
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x4b044
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4b055
leaq 0x20(%rsp), %rdi
callq 0x7130
jmp 0x4b061
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 0x4b092
movq %rdx, 0x168(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x178(%rsp)
jmp 0x4b098
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 %r14, %rdi
leaq 0x168(%rsp), %rsi
callq 0x3defa
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x4b0e2
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4b0f5
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4b109
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4b11d
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4b12c
callq 0x7370
movq 0x40(%rsp), %rax
movq 0xb8(%rax), %rax
movq (%rax,%r12,8), %r14
addq %rbx, %r14
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4b18a
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4b183
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4b188
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4b18a
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b152
addl $-0x3, %eax
jmp 0x4b18a
addl $-0x2, %eax
jmp 0x4b18a
decl %eax
movl %eax, %esi
movq %r15, 0x68(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xaec5
movl $0x14, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xf46d(%rip), %rcx      # 0x5a632
callq 0x73e0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x78(%rsp), %r15
je 0x4b1f7
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4b1fd
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0xf436(%rip), %rsi      # 0x5a657
callq 0x7690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4b24e
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4b254
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4b2b6
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4b2af
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4b2b4
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4b2b6
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b27e
addl $-0x3, %eax
jmp 0x4b2b6
addl $-0x2, %eax
jmp 0x4b2b6
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 %ebp, %edx
callq 0xaec5
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %rax
cmpq %rax, %rcx
je 0x4b2f3
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x4b323
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x4b31e
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4b32f
leaq 0x20(%rsp), %rdi
callq 0x7130
jmp 0x4b33b
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 0x4b36c
movq %rdx, 0x148(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x158(%rsp)
jmp 0x4b372
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 %r14, %rdi
leaq 0x148(%rsp), %rsi
callq 0x3defa
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x4b3bc
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4b3cf
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4b3e3
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4b3f7
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4b406
callq 0x7370
movq 0x40(%rsp), %rax
movq 0xc0(%rax), %rax
movq (%rax,%r12,8), %r14
addq %rbx, %r14
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4b464
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4b45d
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4b462
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4b464
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b42c
addl $-0x3, %eax
jmp 0x4b464
addl $-0x2, %eax
jmp 0x4b464
decl %eax
movl %eax, %esi
movq %r15, 0x68(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xaec5
movl $0x11, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xf1a8(%rip), %rcx      # 0x5a647
callq 0x73e0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x78(%rsp), %r15
je 0x4b4d1
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4b4d7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0xf15c(%rip), %rsi      # 0x5a657
callq 0x7690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4b528
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4b52e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4b590
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4b589
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4b58e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4b590
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b558
addl $-0x3, %eax
jmp 0x4b590
addl $-0x2, %eax
jmp 0x4b590
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 %ebp, %edx
callq 0xaec5
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %rax
cmpq %rax, %rcx
je 0x4b5cd
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x4b5fd
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x4b5f8
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4b609
leaq 0x20(%rsp), %rdi
callq 0x7130
jmp 0x4b615
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 0x4b646
movq %rdx, 0x128(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x138(%rsp)
jmp 0x4b64c
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 0x3defa
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x4b696
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4b6a9
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4b6bd
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4b6d1
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4b6e0
callq 0x7370
movq 0x40(%rsp), %rax
movq 0xd8(%rax), %rax
movq (%rax,%r12,8), %r14
addq %rbx, %r14
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4b73e
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4b737
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4b73c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4b73e
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b706
addl $-0x3, %eax
jmp 0x4b73e
addl $-0x2, %eax
jmp 0x4b73e
decl %eax
movl %eax, %esi
movq %r15, 0x68(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xaec5
movl $0x16, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xeee0(%rip), %rcx      # 0x5a659
callq 0x73e0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x78(%rsp), %r15
je 0x4b7ab
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4b7b1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0xee82(%rip), %rsi      # 0x5a657
callq 0x7690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4b802
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4b808
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4b86a
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4b863
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4b868
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4b86a
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b832
addl $-0x3, %eax
jmp 0x4b86a
addl $-0x2, %eax
jmp 0x4b86a
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 %ebp, %edx
callq 0xaec5
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %rax
cmpq %rax, %rcx
je 0x4b8a7
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x4b8d7
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x4b8d2
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4b8e3
leaq 0x20(%rsp), %rdi
callq 0x7130
jmp 0x4b8ef
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 0x4b920
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
jmp 0x4b926
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 %r14, %rdi
leaq 0x108(%rsp), %rsi
callq 0x3defa
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x4b970
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4b983
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4b997
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4b9ab
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4b9ba
callq 0x7370
movq 0x40(%rsp), %rax
movq 0xe0(%rax), %rax
movq (%rax,%r12,8), %r14
addq %rbx, %r14
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4ba18
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4ba11
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ba16
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ba18
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b9e0
addl $-0x3, %eax
jmp 0x4ba18
addl $-0x2, %eax
jmp 0x4ba18
decl %eax
movl %eax, %esi
movq %r15, 0x68(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xaec5
movl $0x17, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xec1d(%rip), %rcx      # 0x5a670
callq 0x73e0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x78(%rsp), %r15
je 0x4ba85
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4ba8b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0xeba8(%rip), %rsi      # 0x5a657
callq 0x7690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4badc
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4bae2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4bb44
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4bb3d
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4bb42
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4bb44
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4bb0c
addl $-0x3, %eax
jmp 0x4bb44
addl $-0x2, %eax
jmp 0x4bb44
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 %ebp, %edx
callq 0xaec5
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %rax
cmpq %rax, %rcx
je 0x4bb81
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x4bbb1
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x4bbac
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4bbbd
leaq 0x20(%rsp), %rdi
callq 0x7130
jmp 0x4bbc9
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 0x4bbfa
movq %rdx, 0xe8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf8(%rsp)
jmp 0x4bc00
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 %r14, %rdi
leaq 0xe8(%rsp), %rsi
callq 0x3defa
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x4bc4a
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4bc5d
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4bc71
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4bc85
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4bc94
callq 0x7370
movq 0x40(%rsp), %rax
movq 0xc8(%rax), %rax
movq (%rax,%r12,8), %r14
addq %rbx, %r14
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4bcf2
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4bceb
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4bcf0
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4bcf2
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4bcba
addl $-0x3, %eax
jmp 0x4bcf2
addl $-0x2, %eax
jmp 0x4bcf2
decl %eax
movl %eax, %esi
movq %r15, 0x68(%rsp)
leaq 0x68(%rsp), %r15
movq %r15, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xaec5
movl $0x12, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe95b(%rip), %rcx      # 0x5a688
callq 0x73e0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x78(%rsp), %r15
je 0x4bd5f
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4bd65
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0xe8ce(%rip), %rsi      # 0x5a657
callq 0x7690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4bdb6
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4bdbc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4be1e
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4be17
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4be1c
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4be1e
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4bde6
addl $-0x3, %eax
jmp 0x4be1e
addl $-0x2, %eax
jmp 0x4be1e
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 %ebp, %edx
callq 0xaec5
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %rax
cmpq %rax, %rcx
je 0x4be5b
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x4be8b
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x4be86
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4be97
leaq 0x20(%rsp), %rdi
callq 0x7130
jmp 0x4bea3
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 0x4bed4
movq %rdx, 0xc8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xd8(%rsp)
jmp 0x4beda
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 %r14, %rdi
leaq 0xc8(%rsp), %rsi
callq 0x3defa
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x4bf24
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4bf37
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4bf4b
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4bf5f
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4bf6e
callq 0x7370
movq 0x40(%rsp), %rax
movq 0xd0(%rax), %rax
addq (%rax,%r12,8), %rbx
movl $0x1, %eax
cmpq $0xa, %r12
jb 0x4bfc9
movl $0x4, %eax
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x4bfc2
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4bfc7
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4bfc9
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4bf91
addl $-0x3, %eax
jmp 0x4bfc9
addl $-0x2, %eax
jmp 0x4bfc9
decl %eax
movl %eax, %esi
movq %r15, 0x68(%rsp)
leaq 0x68(%rsp), %r14
movq %r14, %rdi
xorl %edx, %edx
callq 0x7420
movq 0x68(%rsp), %rdi
movl 0x70(%rsp), %esi
movl %r12d, %edx
callq 0xaec5
movl $0x12, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe697(%rip), %rcx      # 0x5a69b
callq 0x73e0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c031
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4c037
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0xe5fc(%rip), %rsi      # 0x5a657
callq 0x7690
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c088
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x4c08e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %eax
cmpq $0xa, %rbp
jb 0x4c0f0
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4c0e9
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c0ee
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4c0f0
movl %ecx, %edx
imulq %r13, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c0b8
addl $-0x3, %eax
jmp 0x4c0f0
addl $-0x2, %eax
jmp 0x4c0f0
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 %ebp, %edx
callq 0xaec5
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq 0x30(%rsp), %rax
cmpq %rax, %rcx
je 0x4c12d
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %r8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x4c15d
movl $0xf, %edi
leaq 0x10(%rsp), %r9
cmpq %r9, %rsi
je 0x4c158
movq 0x10(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4c169
leaq 0x20(%rsp), %rdi
callq 0x7130
jmp 0x4c175
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 0x4c1a6
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x4c1ac
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 %rbx, %rdi
leaq 0xa8(%rsp), %rsi
callq 0x3defa
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x4c1f6
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c209
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c21d
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c231
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c240
callq 0x7370
incq %rbp
cmpq 0x90(%rsp), %rbp
jne 0x4ae47
jmp 0x4c263
movq 0x40(%rsp), %rax
movq 0xe0(%rax), %rax
movq %rbx, (%rax,%r12,8)
incq %r12
movq 0x40(%rsp), %rax
movl 0x44(%rax), %eax
cmpq %rax, %r12
jb 0x4ab9c
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4c54f
jmp 0x4c54f
movq %rax, %r14
jmp 0x4c4a6
movq %rax, %r14
jmp 0x4c4b9
movq %rax, %r14
jmp 0x4c32e
movq %rax, %r14
jmp 0x4c40b
movq %rax, %r14
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x4c37e
callq 0x7370
jmp 0x4c37e
movq %rax, %r14
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x4c562
callq 0x7370
jmp 0x4c562
jmp 0x4c54f
movq %rax, %r14
leaq 0x78(%rsp), %r15
jmp 0x4c4e6
movq %rax, %r14
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x4c32e
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c346
callq 0x7370
jmp 0x4c346
movq %rax, %r14
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3b4
callq 0x7370
jmp 0x4c3b4
movq %rax, %r14
leaq 0x78(%rsp), %r15
jmp 0x4c476
movq %rax, %r14
jmp 0x4c41f
jmp 0x4c54f
movq %rax, %r14
jmp 0x4c3f8
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c44e
callq 0x7370
jmp 0x4c44e
movq %rax, %r14
leaq 0x78(%rsp), %r15
jmp 0x4c433
movq %rax, %r14
jmp 0x4c3c8
jmp 0x4c54f
movq %rax, %r14
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3c8
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c7c3
jmp 0x4c68b
movq %rax, %r14
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3f8
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c40b
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c41f
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c433
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c7c3
jmp 0x4c68b
movq %rax, %r14
jmp 0x4c462
movq %rax, %r14
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c462
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c476
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c7c3
jmp 0x4c68b
movq %rax, %r14
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x4c4a6
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c4b9
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c4d2
callq 0x7370
jmp 0x4c4d2
movq %rax, %r14
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c4e6
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c7c3
jmp 0x4c68b
jmp 0x4c54f
movq %rax, %r14
jmp 0x4c61b
jmp 0x4c54f
movq %rax, %r14
jmp 0x4c5f4
movq %rax, %r14
leaq 0x78(%rsp), %r15
jmp 0x4c5c4
movq %rax, %r14
jmp 0x4c607
movq %rax, %r14
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x4c642
callq 0x7370
jmp 0x4c642
movq %rax, %r14
jmp 0x4c575
jmp 0x4c54f
movq %rax, %r14
jmp 0x4c7c3
movq %rax, %r14
jmp 0x4c655
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c575
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c5b0
callq 0x7370
jmp 0x4c5b0
movq %rax, %r14
leaq 0x78(%rsp), %r15
jmp 0x4c67d
movq %rax, %r14
jmp 0x4c669
movq %rax, %r14
leaq 0x78(%rsp), %r15
jmp 0x4c62f
movq %rax, %r14
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c5c4
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c7c3
jmp 0x4c68b
movq %rax, %r14
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x4c5f4
callq 0x7370
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c607
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c61b
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c62f
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c7c3
jmp 0x4c68b
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x4c655
callq 0x7370
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x4c669
callq 0x7370
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x4c67d
callq 0x7370
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c7c3
callq 0x7370
jmp 0x4c7c3
movq %rax, %r14
testq %rbp, %rbp
je 0x4c6bc
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x46b66
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4c6aa
jmp 0x4c7bb
movq %rax, %r14
testq %rbp, %rbp
je 0x4c6e8
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x46b66
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4c6d6
jmp 0x4c7bb
movq %rax, %r14
testq %rbp, %rbp
je 0x4c714
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x46b66
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4c702
jmp 0x4c7bb
movq %rax, %r14
testq %rbp, %rbp
je 0x4c740
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x46b66
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4c72e
jmp 0x4c7bb
movq %rax, %r14
testq %rbp, %rbp
je 0x4c769
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x46b66
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4c757
jmp 0x4c7bb
movq %rax, %r14
testq %rbp, %rbp
je 0x4c792
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x46b66
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4c780
jmp 0x4c7bb
movq %rax, %r14
testq %rbp, %rbp
je 0x4c7bb
negq %rbp
movq %r15, %rbx
addq $-0x100, %rbx
leaq (%rbx,%rbp), %rdi
callq 0x46b66
addq $-0x108, %rbp           # imm = 0xFEF8
jne 0x4c7a9
movq %r15, %rdi
callq 0x7480
movq 0x40(%rsp), %rdi
callq 0x4a5ba
movq %r14, %rdi
callq 0x7620
nop