// File: CMU-SAFARI[P]MQSim/src/exec/Device_Parameter_Set.cpp
// Function: Device_Parameter_Set::XML_deserialize(rapidxml::xml_node<char>*)
void Device_Parameter_Set::XML_deserialize(rapidxml::xml_node<> *node)
{
	try
	{
		for (auto param = node->first_node(); param; param = param->next_sibling()) {
			if (strcmp(param->name(), "Seed") == 0) {
				std::string val = param->value();
				Seed = std::stoi(val);
			} else if (strcmp(param->name(), "Enabled_Preconditioning") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				Enabled_Preconditioning = (val.compare("FALSE") == 0 ? false : true);
			} else if (strcmp(param->name(), "Memory_Type") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "FLASH") == 0)
					Memory_Type = NVM::NVM_Type::FLASH;
				else PRINT_ERROR("Unknown NVM type specified in the SSD configuration file")
			} else if (strcmp(param->name(), "HostInterface_Type") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "NVME") == 0) {
					HostInterface_Type = HostInterface_Types::NVME;
				} else if (strcmp(val.c_str(), "SATA") == 0) {
					HostInterface_Type = HostInterface_Types::SATA;
				} else {
					PRINT_ERROR("Unknown host interface type specified in the SSD configuration file")
				}
			} else if (strcmp(param->name(), "IO_Queue_Depth") == 0) {
				std::string val = param->value();
				IO_Queue_Depth = (uint16_t) std::stoull(val);
			} else if (strcmp(param->name(), "Queue_Fetch_Size") == 0) {
				std::string val = param->value();
				Queue_Fetch_Size = (uint16_t) std::stoull(val);
			} else if (strcmp(param->name(), "Caching_Mechanism") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "SIMPLE") == 0) {
					Caching_Mechanism = SSD_Components::Caching_Mechanism::SIMPLE;
				} else if (strcmp(val.c_str(), "ADVANCED") == 0) {
					Caching_Mechanism = SSD_Components::Caching_Mechanism::ADVANCED;
				} else {
					PRINT_ERROR("Unknown data caching mechanism specified in the SSD configuration file")
				}
			} else if (strcmp(param->name(), "Data_Cache_Sharing_Mode") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "SHARED") == 0) {
					Data_Cache_Sharing_Mode = SSD_Components::Cache_Sharing_Mode::SHARED;
				} else if (strcmp(val.c_str(), "EQUAL_PARTITIONING") == 0) {
					Data_Cache_Sharing_Mode = SSD_Components::Cache_Sharing_Mode::EQUAL_PARTITIONING;
				} else {
					PRINT_ERROR("Unknown data cache sharing mode specified in the SSD configuration file")
				}
			} else if (strcmp(param->name(), "Data_Cache_Capacity") == 0) {
				std::string val = param->value();
				Data_Cache_Capacity = std::stoul(val);
			} else if (strcmp(param->name(), "Data_Cache_DRAM_Row_Size") == 0) {
				std::string val = param->value();
				Data_Cache_DRAM_Row_Size = std::stoul(val);
			} else if (strcmp(param->name(), "Data_Cache_DRAM_Data_Rate") == 0) {
				std::string val = param->value();
				Data_Cache_DRAM_Data_Rate = std::stoul(val);
			} else if (strcmp(param->name(), "Data_Cache_DRAM_Data_Busrt_Size") == 0) {
				std::string val = param->value();
				Data_Cache_DRAM_Data_Busrt_Size = std::stoul(val);
			} else if (strcmp(param->name(), "Data_Cache_DRAM_tRCD") == 0) {
				std::string val = param->value();
				Data_Cache_DRAM_tRCD = std::stoul(val);
			} else if (strcmp(param->name(), "Data_Cache_DRAM_tCL") == 0) {
				std::string val = param->value();
				Data_Cache_DRAM_tCL = std::stoul(val);
			} else if (strcmp(param->name(), "Data_Cache_DRAM_tRP") == 0) {
				std::string val = param->value();
				Data_Cache_DRAM_tRP = std::stoul(val);
			} else if (strcmp(param->name(), "Address_Mapping") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "PAGE_LEVEL") == 0) {
					Address_Mapping = SSD_Components::Flash_Address_Mapping_Type::PAGE_LEVEL;
				} else if (strcmp(val.c_str(), "HYBRID") == 0) {
					Address_Mapping = SSD_Components::Flash_Address_Mapping_Type::HYBRID;
				} else {
					PRINT_ERROR("Unknown address mapping type specified in the SSD configuration file")
				}
			}
			else if (strcmp(param->name(), "Ideal_Mapping_Table") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				Ideal_Mapping_Table = (val.compare("FALSE") == 0 ? false : true);
			} else if (strcmp(param->name(), "CMT_Capacity") == 0) {
				std::string val = param->value();
				CMT_Capacity = std::stoul(val);
			} else if (strcmp(param->name(), "CMT_Sharing_Mode") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "SHARED") == 0) {
					CMT_Sharing_Mode = SSD_Components::CMT_Sharing_Mode::SHARED;
				} else if (strcmp(val.c_str(), "EQUAL_PARTITIONING") == 0) {
					CMT_Sharing_Mode = SSD_Components::CMT_Sharing_Mode::EQUAL_SIZE_PARTITIONING;
				} else {
					PRINT_ERROR("Unknown CMT sharing mode specified in the SSD configuration file")
				}
			} else if (strcmp(param->name(), "Plane_Allocation_Scheme") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "CDPW") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::CDPW;
				} else if (strcmp(val.c_str(), "CDWP") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::CDWP;
				} else if (strcmp(val.c_str(), "CPDW") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::CPDW;
				} else if (strcmp(val.c_str(), "CPWD") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::CPWD;
				} else if (strcmp(val.c_str(), "CWDP") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::CWDP;
				} else if (strcmp(val.c_str(), "CWPD") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::CWPD;
				} else if (strcmp(val.c_str(), "DCPW") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::DCPW;
				} else if (strcmp(val.c_str(), "DCWP") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::DCWP;
				} else if (strcmp(val.c_str(), "DPCW") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::DPCW;
				} else if (strcmp(val.c_str(), "DPWC") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::DPWC;
				} else if (strcmp(val.c_str(), "DWCP") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::DWCP;
				} else if (strcmp(val.c_str(), "DWPC") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::DWPC;
				} else if (strcmp(val.c_str(), "PCDW") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::PCDW;
				} else if (strcmp(val.c_str(), "PCWD") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::PCWD;
				} else if (strcmp(val.c_str(), "PDCW") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::PDCW;
				} else if (strcmp(val.c_str(), "PDWC") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::PDWC;
				} else if (strcmp(val.c_str(), "PWCD") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::PWCD;
				} else if (strcmp(val.c_str(), "PWDC") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::PWDC;
				} else if (strcmp(val.c_str(), "WCDP") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::WCDP;
				} else if (strcmp(val.c_str(), "WCPD") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::WCPD;
				} else if (strcmp(val.c_str(), "WDCP") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::WDCP;
				} else if (strcmp(val.c_str(), "WDPC") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::WDPC;
				} else if (strcmp(val.c_str(), "WPCD") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::WPCD;
				} else if (strcmp(val.c_str(), "WPDC") == 0) {
					Plane_Allocation_Scheme = SSD_Components::Flash_Plane_Allocation_Scheme_Type::WPDC;
				} else {
					PRINT_ERROR("Unknown plane allocation scheme type specified in the SSD configuration file")
				}
			} else if (strcmp(param->name(), "Transaction_Scheduling_Policy") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "OUT_OF_ORDER") == 0) {
					Transaction_Scheduling_Policy = SSD_Components::Flash_Scheduling_Type::OUT_OF_ORDER;
				}
				else if (strcmp(val.c_str(), "PRIORITY_OUT_OF_ORDER") == 0)
				{
					Transaction_Scheduling_Policy = SSD_Components::Flash_Scheduling_Type::PRIORITY_OUT_OF_ORDER;
				}
				else if (strcmp(val.c_str(), "FLIN") == 0)
				{
					Transaction_Scheduling_Policy = SSD_Components::Flash_Scheduling_Type::FLIN;
				} else {
					PRINT_ERROR("Unknown transaction scheduling type specified in the SSD configuration file")
				}
			} else if (strcmp(param->name(), "Overprovisioning_Ratio") == 0) {
				std::string val = param->value();
				Overprovisioning_Ratio = std::stod(val);
				if(Overprovisioning_Ratio < 0.05) {
					PRINT_MESSAGE("The specified overprovisioning ratio is too small. The simluation may not run correctly.")
				}
			} else if (strcmp(param->name(), "GC_Exec_Threshold") == 0) {
				std::string val = param->value();
				GC_Exec_Threshold = std::stod(val);
			} else if (strcmp(param->name(), "GC_Block_Selection_Policy") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "GREEDY") == 0) {
					GC_Block_Selection_Policy = SSD_Components::GC_Block_Selection_Policy_Type::GREEDY;
				} else if (strcmp(val.c_str(), "RGA") == 0) {
					GC_Block_Selection_Policy = SSD_Components::GC_Block_Selection_Policy_Type::RGA;
				} else if (strcmp(val.c_str(), "RANDOM") == 0) {
					GC_Block_Selection_Policy = SSD_Components::GC_Block_Selection_Policy_Type::RANDOM;
				} else if (strcmp(val.c_str(), "RANDOM_P") == 0) {
					GC_Block_Selection_Policy = SSD_Components::GC_Block_Selection_Policy_Type::RANDOM_P;
				} else if (strcmp(val.c_str(), "RANDOM_PP") == 0) {
					GC_Block_Selection_Policy = SSD_Components::GC_Block_Selection_Policy_Type::RANDOM_PP;
				} else if (strcmp(val.c_str(), "FIFO") == 0) {
					GC_Block_Selection_Policy = SSD_Components::GC_Block_Selection_Policy_Type::FIFO;
				} else {
					PRINT_ERROR("Unknown GC block selection policy specified in the SSD configuration file")
				}
			} else if (strcmp(param->name(), "Use_Copyback_for_GC") == 0) {
					std::string val = param->value();
					std::transform(val.begin(), val.end(), val.begin(), ::toupper);
					Use_Copyback_for_GC = (val.compare("FALSE") == 0 ? false : true);
			} else if (strcmp(param->name(), "Preemptible_GC_Enabled") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				Preemptible_GC_Enabled = (val.compare("FALSE") == 0? false : true);
			} else if (strcmp(param->name(), "GC_Hard_Threshold") == 0) {
				std::string val = param->value();
				GC_Hard_Threshold = std::stod(val);
			} else if (strcmp(param->name(), "Dynamic_Wearleveling_Enabled") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				Dynamic_Wearleveling_Enabled = (val.compare("FALSE") == 0 ? false : true);
			} else if (strcmp(param->name(), "Static_Wearleveling_Enabled") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				Static_Wearleveling_Enabled = (val.compare("FALSE") == 0 ? false : true);
			} else if (strcmp(param->name(), "Static_Wearleveling_Threshold") == 0) {
				std::string val = param->value();
				Static_Wearleveling_Threshold = std::stoul(val);
			} else if (strcmp(param->name(), "Prefered_suspend_erase_time_for_read") == 0) {
				std::string val = param->value();
				Preferred_suspend_erase_time_for_read = std::stoull(val);
			} else if (strcmp(param->name(), "Preferred_suspend_erase_time_for_write") == 0) {
				std::string val = param->value();
				Preferred_suspend_erase_time_for_write = std::stoull(val);
			} else if (strcmp(param->name(), "Preferred_suspend_write_time_for_read") == 0) {
				std::string val = param->value();
				Preferred_suspend_write_time_for_read = std::stoull(val);
			} else if (strcmp(param->name(), "Flash_Channel_Count") == 0) {
				std::string val = param->value();
				Flash_Channel_Count = std::stoul(val);
			} else if (strcmp(param->name(), "Flash_Channel_Width") == 0) {
				std::string val = param->value();
				Flash_Channel_Width = std::stoul(val);
			} else if (strcmp(param->name(), "Channel_Transfer_Rate") == 0) {
				std::string val = param->value();
				Channel_Transfer_Rate = std::stoul(val);
			} else if (strcmp(param->name(), "Chip_No_Per_Channel") == 0) {
				std::string val = param->value();
				Chip_No_Per_Channel = std::stoul(val);
			} else if (strcmp(param->name(), "Flash_Comm_Protocol") == 0) {
				std::string val = param->value();
				std::transform(val.begin(), val.end(), val.begin(), ::toupper);
				if (strcmp(val.c_str(), "NVDDR2") == 0) {
					Flash_Comm_Protocol = SSD_Components::ONFI_Protocol::NVDDR2;
				} else {
					PRINT_ERROR("Unknown flash communication protocol type specified in the SSD configuration file")
				}
			}
			else if (strcmp(param->name(), "Flash_Parameter_Set") == 0)
			{
				Flash_Parameters.XML_deserialize(param);
			}
		}
	}
	catch (...)
	{
		PRINT_ERROR("Error in Device_Parameter_Set!")
	}
}

// Assembly:
subq $0xdd8, %rsp            # imm = 0xDD8
movq %rdi, 0xdd0(%rsp)
movq %rsi, 0xdc8(%rsp)
movq 0xdc8(%rsp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
movq %rdx, %rsi
callq 0xc960
movq %rax, 0x5b8(%rsp)
jmp 0x1515a
movq 0x5b8(%rsp), %rax
movq %rax, 0xdc0(%rsp)
cmpq $0x0, 0xdc0(%rsp)
je 0x18eed
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x5b0(%rsp)
jmp 0x15190
movq 0x5b0(%rsp), %rdi
leaq 0x952be(%rip), %rsi     # 0xaa45d
callq 0x85f0
cmpl $0x0, %eax
jne 0x152a8
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x5a8(%rsp)
jmp 0x151c4
leaq 0xd8f(%rsp), %rdi
movq %rdi, 0x5a0(%rsp)
callq 0x8780
movq 0x5a8(%rsp), %rsi
movq 0x5a0(%rsp), %rdx
leaq 0xd90(%rsp), %rdi
callq 0x85d0
jmp 0x151f8
leaq 0xd8f(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xd90(%rsp), %rdi
movl $0xa, %edx
callq 0x19180
movl %eax, 0x59c(%rsp)
jmp 0x15224
movl 0x59c(%rsp), %eax
movl %eax, 0xc5207(%rip)     # 0xda438
leaq 0xd90(%rsp), %rdi
callq 0x8848
jmp 0x18eb9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xd8f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xd90(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x590(%rsp)
jmp 0x152bf
movq 0x590(%rsp), %rdi
leaq 0x95194(%rip), %rsi     # 0xaa462
callq 0x85f0
cmpl $0x0, %eax
jne 0x1543b
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x588(%rsp)
jmp 0x152f3
leaq 0xd67(%rsp), %rdi
movq %rdi, 0x580(%rsp)
callq 0x8780
movq 0x588(%rsp), %rsi
movq 0x580(%rsp), %rdx
leaq 0xd68(%rsp), %rdi
callq 0x85d0
jmp 0x15327
leaq 0xd67(%rsp), %rdi
callq 0x84a0
leaq 0xd68(%rsp), %rdi
movq %rdi, 0x570(%rsp)
callq 0x83c0
movq 0x570(%rsp), %rdi
movq %rax, 0xd58(%rsp)
callq 0x8280
movq 0x570(%rsp), %rdi
movq %rax, 0xd50(%rsp)
callq 0x83c0
movq %rax, 0xd48(%rsp)
movq 0xd58(%rsp), %rdi
movq 0xd50(%rsp), %rsi
movq 0xd48(%rsp), %rdx
movq 0xc4c3e(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x578(%rsp)
jmp 0x153a9
movq 0x578(%rsp), %rax
movq %rax, 0xd40(%rsp)
leaq 0x95522(%rip), %rsi     # 0xaa8e2
leaq 0xd68(%rsp), %rdi
callq 0x8140
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
andb $0x1, %al
movb %al, 0xc505f(%rip)      # 0xda43c
leaq 0xd68(%rsp), %rdi
callq 0x8848
jmp 0x18eb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xd67(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xd68(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x568(%rsp)
jmp 0x15452
movq 0x568(%rsp), %rdi
leaq 0x95024(%rip), %rsi     # 0xaa485
callq 0x85f0
cmpl $0x0, %eax
jne 0x1563a
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x560(%rsp)
jmp 0x15486
leaq 0xd1f(%rsp), %rdi
movq %rdi, 0x558(%rsp)
callq 0x8780
movq 0x560(%rsp), %rsi
movq 0x558(%rsp), %rdx
leaq 0xd20(%rsp), %rdi
callq 0x85d0
jmp 0x154ba
leaq 0xd1f(%rsp), %rdi
callq 0x84a0
leaq 0xd20(%rsp), %rdi
movq %rdi, 0x548(%rsp)
callq 0x83c0
movq 0x548(%rsp), %rdi
movq %rax, 0xd10(%rsp)
callq 0x8280
movq 0x548(%rsp), %rdi
movq %rax, 0xd08(%rsp)
callq 0x83c0
movq %rax, 0xd00(%rsp)
movq 0xd10(%rsp), %rdi
movq 0xd08(%rsp), %rsi
movq 0xd00(%rsp), %rdx
movq 0xc4aab(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x550(%rsp)
jmp 0x1553c
movq 0x550(%rsp), %rax
movq %rax, 0xcf8(%rsp)
leaq 0xd20(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x94f2e(%rip), %rsi     # 0xaa491
callq 0x85f0
cmpl $0x0, %eax
jne 0x155c8
movl $0x0, 0xc5081(%rip)     # 0xda5f8
jmp 0x15628
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xd1f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xd20(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xc4a21(%rip), %rdi     # 0xd9ff0
leaq 0x95312(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x155dd
movq 0xc4a0c(%rip), %rdi     # 0xd9ff0
leaq 0x95304(%rip), %rsi     # 0xaa8ef
callq 0x8440
movq %rax, 0x540(%rsp)
jmp 0x155fa
movq 0x540(%rsp), %rdi
movq 0xc494f(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x15610
movq 0xc49b9(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x1561e
movl $0x1, %edi
callq 0x8500
leaq 0xd20(%rsp), %rdi
callq 0x8848
jmp 0x18eb5
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x538(%rsp)
jmp 0x15651
movq 0x538(%rsp), %rdi
leaq 0x94e37(%rip), %rsi     # 0xaa497
callq 0x85f0
cmpl $0x0, %eax
jne 0x15868
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x530(%rsp)
jmp 0x15685
leaq 0xcd7(%rsp), %rdi
movq %rdi, 0x528(%rsp)
callq 0x8780
movq 0x530(%rsp), %rsi
movq 0x528(%rsp), %rdx
leaq 0xcd8(%rsp), %rdi
callq 0x85d0
jmp 0x156b9
leaq 0xcd7(%rsp), %rdi
callq 0x84a0
leaq 0xcd8(%rsp), %rdi
movq %rdi, 0x518(%rsp)
callq 0x83c0
movq 0x518(%rsp), %rdi
movq %rax, 0xcc8(%rsp)
callq 0x8280
movq 0x518(%rsp), %rdi
movq %rax, 0xcc0(%rsp)
callq 0x83c0
movq %rax, 0xcb8(%rsp)
movq 0xcc8(%rsp), %rdi
movq 0xcc0(%rsp), %rsi
movq 0xcb8(%rsp), %rdx
movq 0xc48ac(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x520(%rsp)
jmp 0x1573b
movq 0x520(%rsp), %rax
movq %rax, 0xcb0(%rsp)
leaq 0xcd8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x94d48(%rip), %rsi     # 0xaa4aa
callq 0x85f0
cmpl $0x0, %eax
jne 0x157c7
movl $0x1, 0xc4cca(%rip)     # 0xda440
jmp 0x15856
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xcd7(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xcd8(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0xcd8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x94cd1(%rip), %rsi     # 0xaa4af
callq 0x85f0
cmpl $0x0, %eax
jne 0x157f4
movl $0x0, 0xc4c4e(%rip)     # 0xda440
jmp 0x15854
movq 0xc47f5(%rip), %rdi     # 0xd9ff0
leaq 0x950e6(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x15809
movq 0xc47e0(%rip), %rdi     # 0xd9ff0
leaq 0x95111(%rip), %rsi     # 0xaa928
callq 0x8440
movq %rax, 0x510(%rsp)
jmp 0x15826
movq 0x510(%rsp), %rdi
movq 0xc4723(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x1583c
movq 0xc478d(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x1584a
movl $0x1, %edi
callq 0x8500
jmp 0x15856
leaq 0xcd8(%rsp), %rdi
callq 0x8848
jmp 0x18eb3
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x508(%rsp)
jmp 0x1587f
movq 0x508(%rsp), %rdi
leaq 0x94c26(%rip), %rsi     # 0xaa4b4
callq 0x85f0
cmpl $0x0, %eax
jne 0x15981
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x500(%rsp)
jmp 0x158b3
leaq 0xc8f(%rsp), %rdi
movq %rdi, 0x4f8(%rsp)
callq 0x8780
movq 0x500(%rsp), %rsi
movq 0x4f8(%rsp), %rdx
leaq 0xc90(%rsp), %rdi
callq 0x85d0
jmp 0x158e7
leaq 0xc8f(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xc90(%rsp), %rdi
movl $0xa, %edx
callq 0x19260
movq %rax, 0x4f0(%rsp)
jmp 0x15914
movq 0x4f0(%rsp), %rax
movw %ax, 0xc4b21(%rip)      # 0xda444
leaq 0xc90(%rsp), %rdi
callq 0x8848
jmp 0x18eb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xc8f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xc90(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x4e8(%rsp)
jmp 0x15998
movq 0x4e8(%rsp), %rdi
leaq 0x94b1c(%rip), %rsi     # 0xaa4c3
callq 0x85f0
cmpl $0x0, %eax
jne 0x15a9a
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x4e0(%rsp)
jmp 0x159cc
leaq 0xc67(%rsp), %rdi
movq %rdi, 0x4d8(%rsp)
callq 0x8780
movq 0x4e0(%rsp), %rsi
movq 0x4d8(%rsp), %rdx
leaq 0xc68(%rsp), %rdi
callq 0x85d0
jmp 0x15a00
leaq 0xc67(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xc68(%rsp), %rdi
movl $0xa, %edx
callq 0x19260
movq %rax, 0x4d0(%rsp)
jmp 0x15a2d
movq 0x4d0(%rsp), %rax
movw %ax, 0xc4a0a(%rip)      # 0xda446
leaq 0xc68(%rsp), %rdi
callq 0x8848
jmp 0x18eaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xc67(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xc68(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x4c8(%rsp)
jmp 0x15ab1
movq 0x4c8(%rsp), %rdi
leaq 0x94a14(%rip), %rsi     # 0xaa4d4
callq 0x85f0
cmpl $0x0, %eax
jne 0x15cc8
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x4c0(%rsp)
jmp 0x15ae5
leaq 0xc3f(%rsp), %rdi
movq %rdi, 0x4b8(%rsp)
callq 0x8780
movq 0x4c0(%rsp), %rsi
movq 0x4b8(%rsp), %rdx
leaq 0xc40(%rsp), %rdi
callq 0x85d0
jmp 0x15b19
leaq 0xc3f(%rsp), %rdi
callq 0x84a0
leaq 0xc40(%rsp), %rdi
movq %rdi, 0x4a8(%rsp)
callq 0x83c0
movq 0x4a8(%rsp), %rdi
movq %rax, 0xc30(%rsp)
callq 0x8280
movq 0x4a8(%rsp), %rdi
movq %rax, 0xc28(%rsp)
callq 0x83c0
movq %rax, 0xc20(%rsp)
movq 0xc30(%rsp), %rdi
movq 0xc28(%rsp), %rsi
movq 0xc20(%rsp), %rdx
movq 0xc444c(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x4b0(%rsp)
jmp 0x15b9b
movq 0x4b0(%rsp), %rax
movq %rax, 0xc18(%rsp)
leaq 0xc40(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x94924(%rip), %rsi     # 0xaa4e6
callq 0x85f0
cmpl $0x0, %eax
jne 0x15c27
movl $0x0, 0xc4872(%rip)     # 0xda448
jmp 0x15cb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xc3f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xc40(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0xc40(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x948af(%rip), %rsi     # 0xaa4ed
callq 0x85f0
cmpl $0x0, %eax
jne 0x15c54
movl $0x1, 0xc47f6(%rip)     # 0xda448
jmp 0x15cb4
movq 0xc4395(%rip), %rdi     # 0xd9ff0
leaq 0x94c86(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x15c69
movq 0xc4380(%rip), %rdi     # 0xd9ff0
leaq 0x94cf5(%rip), %rsi     # 0xaa96c
callq 0x8440
movq %rax, 0x4a0(%rsp)
jmp 0x15c86
movq 0x4a0(%rsp), %rdi
movq 0xc42c3(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x15c9c
movq 0xc432d(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x15caa
movl $0x1, %edi
callq 0x8500
jmp 0x15cb6
leaq 0xc40(%rsp), %rdi
callq 0x8848
jmp 0x18ead
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x498(%rsp)
jmp 0x15cdf
movq 0x498(%rsp), %rdi
leaq 0x94808(%rip), %rsi     # 0xaa4f6
callq 0x85f0
cmpl $0x0, %eax
jne 0x15ef6
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x490(%rsp)
jmp 0x15d13
leaq 0xbf7(%rsp), %rdi
movq %rdi, 0x488(%rsp)
callq 0x8780
movq 0x490(%rsp), %rsi
movq 0x488(%rsp), %rdx
leaq 0xbf8(%rsp), %rdi
callq 0x85d0
jmp 0x15d47
leaq 0xbf7(%rsp), %rdi
callq 0x84a0
leaq 0xbf8(%rsp), %rdi
movq %rdi, 0x478(%rsp)
callq 0x83c0
movq 0x478(%rsp), %rdi
movq %rax, 0xbe8(%rsp)
callq 0x8280
movq 0x478(%rsp), %rdi
movq %rax, 0xbe0(%rsp)
callq 0x83c0
movq %rax, 0xbd8(%rsp)
movq 0xbe8(%rsp), %rdi
movq 0xbe0(%rsp), %rsi
movq 0xbd8(%rsp), %rdx
movq 0xc421e(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x480(%rsp)
jmp 0x15dc9
movq 0x480(%rsp), %rax
movq %rax, 0xbd0(%rsp)
leaq 0xbf8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x9471e(%rip), %rsi     # 0xaa50e
callq 0x85f0
cmpl $0x0, %eax
jne 0x15e55
movl $0x0, 0xc47f8(%rip)     # 0xda5fc
jmp 0x15ee4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xbf7(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xbf8(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0xbf8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x946a9(%rip), %rsi     # 0xaa515
callq 0x85f0
cmpl $0x0, %eax
jne 0x15e82
movl $0x1, 0xc477c(%rip)     # 0xda5fc
jmp 0x15ee2
movq 0xc4167(%rip), %rdi     # 0xd9ff0
leaq 0x94a58(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x15e97
movq 0xc4152(%rip), %rdi     # 0xd9ff0
leaq 0x94b0e(%rip), %rsi     # 0xaa9b3
callq 0x8440
movq %rax, 0x470(%rsp)
jmp 0x15eb4
movq 0x470(%rsp), %rdi
movq 0xc4095(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x15eca
movq 0xc40ff(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x15ed8
movl $0x1, %edi
callq 0x8500
jmp 0x15ee4
leaq 0xbf8(%rsp), %rdi
callq 0x8848
jmp 0x18eab
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x468(%rsp)
jmp 0x15f0d
movq 0x468(%rsp), %rdi
leaq 0x9460c(%rip), %rsi     # 0xaa528
callq 0x85f0
cmpl $0x0, %eax
jne 0x1600e
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x460(%rsp)
jmp 0x15f41
leaq 0xbaf(%rsp), %rdi
movq %rdi, 0x458(%rsp)
callq 0x8780
movq 0x460(%rsp), %rsi
movq 0x458(%rsp), %rdx
leaq 0xbb0(%rsp), %rdi
callq 0x85d0
jmp 0x15f75
leaq 0xbaf(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xbb0(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x450(%rsp)
jmp 0x15fa2
movq 0x450(%rsp), %rax
movl %eax, 0xc449c(%rip)     # 0xda44c
leaq 0xbb0(%rsp), %rdi
callq 0x8848
jmp 0x18ea9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xbaf(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xbb0(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x448(%rsp)
jmp 0x16025
movq 0x448(%rsp), %rdi
leaq 0x94508(%rip), %rsi     # 0xaa53c
callq 0x85f0
cmpl $0x0, %eax
jne 0x16126
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x440(%rsp)
jmp 0x16059
leaq 0xb87(%rsp), %rdi
movq %rdi, 0x438(%rsp)
callq 0x8780
movq 0x440(%rsp), %rsi
movq 0x438(%rsp), %rdx
leaq 0xb88(%rsp), %rdi
callq 0x85d0
jmp 0x1608d
leaq 0xb87(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xb88(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x430(%rsp)
jmp 0x160ba
movq 0x430(%rsp), %rax
movl %eax, 0xc4388(%rip)     # 0xda450
leaq 0xb88(%rsp), %rdi
callq 0x8848
jmp 0x18ea7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb87(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb88(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x428(%rsp)
jmp 0x1613d
movq 0x428(%rsp), %rdi
leaq 0x94409(%rip), %rsi     # 0xaa555
callq 0x85f0
cmpl $0x0, %eax
jne 0x1623e
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x420(%rsp)
jmp 0x16171
leaq 0xb5f(%rsp), %rdi
movq %rdi, 0x418(%rsp)
callq 0x8780
movq 0x420(%rsp), %rsi
movq 0x418(%rsp), %rdx
leaq 0xb60(%rsp), %rdi
callq 0x85d0
jmp 0x161a5
leaq 0xb5f(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xb60(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x410(%rsp)
jmp 0x161d2
movq 0x410(%rsp), %rax
movl %eax, 0xc4274(%rip)     # 0xda454
leaq 0xb60(%rsp), %rdi
callq 0x8848
jmp 0x18ea5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb5f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb60(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x408(%rsp)
jmp 0x16255
movq 0x408(%rsp), %rdi
leaq 0x9430b(%rip), %rsi     # 0xaa56f
callq 0x85f0
cmpl $0x0, %eax
jne 0x16356
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x400(%rsp)
jmp 0x16289
leaq 0xb37(%rsp), %rdi
movq %rdi, 0x3f8(%rsp)
callq 0x8780
movq 0x400(%rsp), %rsi
movq 0x3f8(%rsp), %rdx
leaq 0xb38(%rsp), %rdi
callq 0x85d0
jmp 0x162bd
leaq 0xb37(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xb38(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x3f0(%rsp)
jmp 0x162ea
movq 0x3f0(%rsp), %rax
movl %eax, 0xc4160(%rip)     # 0xda458
leaq 0xb38(%rsp), %rdi
callq 0x8848
jmp 0x18ea3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb37(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb38(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x3e8(%rsp)
jmp 0x1636d
movq 0x3e8(%rsp), %rdi
leaq 0x94213(%rip), %rsi     # 0xaa58f
callq 0x85f0
cmpl $0x0, %eax
jne 0x1646f
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x3e0(%rsp)
jmp 0x163a1
leaq 0xb0f(%rsp), %rdi
movq %rdi, 0x3d8(%rsp)
callq 0x8780
movq 0x3e0(%rsp), %rsi
movq 0x3d8(%rsp), %rdx
leaq 0xb10(%rsp), %rdi
callq 0x85d0
jmp 0x163d5
leaq 0xb0f(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xb10(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x3d0(%rsp)
jmp 0x16402
movq 0x3d0(%rsp), %rax
movq %rax, 0xc404f(%rip)     # 0xda460
leaq 0xb10(%rsp), %rdi
callq 0x8848
jmp 0x18ea1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb0f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xb10(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x3c8(%rsp)
jmp 0x16486
movq 0x3c8(%rsp), %rdi
leaq 0x9410f(%rip), %rsi     # 0xaa5a4
callq 0x85f0
cmpl $0x0, %eax
jne 0x16588
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x3c0(%rsp)
jmp 0x164ba
leaq 0xae7(%rsp), %rdi
movq %rdi, 0x3b8(%rsp)
callq 0x8780
movq 0x3c0(%rsp), %rsi
movq 0x3b8(%rsp), %rdx
leaq 0xae8(%rsp), %rdi
callq 0x85d0
jmp 0x164ee
leaq 0xae7(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xae8(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x3b0(%rsp)
jmp 0x1651b
movq 0x3b0(%rsp), %rax
movq %rax, 0xc3f3e(%rip)     # 0xda468
leaq 0xae8(%rsp), %rdi
callq 0x8848
jmp 0x18e9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xae7(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xae8(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x3a8(%rsp)
jmp 0x1659f
movq 0x3a8(%rsp), %rdi
leaq 0x9400a(%rip), %rsi     # 0xaa5b8
callq 0x85f0
cmpl $0x0, %eax
jne 0x166a1
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x3a0(%rsp)
jmp 0x165d3
leaq 0xabf(%rsp), %rdi
movq %rdi, 0x398(%rsp)
callq 0x8780
movq 0x3a0(%rsp), %rsi
movq 0x398(%rsp), %rdx
leaq 0xac0(%rsp), %rdi
callq 0x85d0
jmp 0x16607
leaq 0xabf(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xac0(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x390(%rsp)
jmp 0x16634
movq 0x390(%rsp), %rax
movq %rax, 0xc3e2d(%rip)     # 0xda470
leaq 0xac0(%rsp), %rdi
callq 0x8848
jmp 0x18e9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xabf(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xac0(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x388(%rsp)
jmp 0x166b8
movq 0x388(%rsp), %rdi
leaq 0x93f05(%rip), %rsi     # 0xaa5cc
callq 0x85f0
cmpl $0x0, %eax
jne 0x168cf
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x380(%rsp)
jmp 0x166ec
leaq 0xa97(%rsp), %rdi
movq %rdi, 0x378(%rsp)
callq 0x8780
movq 0x380(%rsp), %rsi
movq 0x378(%rsp), %rdx
leaq 0xa98(%rsp), %rdi
callq 0x85d0
jmp 0x16720
leaq 0xa97(%rsp), %rdi
callq 0x84a0
leaq 0xa98(%rsp), %rdi
movq %rdi, 0x368(%rsp)
callq 0x83c0
movq 0x368(%rsp), %rdi
movq %rax, 0xa88(%rsp)
callq 0x8280
movq 0x368(%rsp), %rdi
movq %rax, 0xa80(%rsp)
callq 0x83c0
movq %rax, 0xa78(%rsp)
movq 0xa88(%rsp), %rdi
movq 0xa80(%rsp), %rsi
movq 0xa78(%rsp), %rdx
movq 0xc3845(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x370(%rsp)
jmp 0x167a2
movq 0x370(%rsp), %rax
movq %rax, 0xa70(%rsp)
leaq 0xa98(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93e13(%rip), %rsi     # 0xaa5dc
callq 0x85f0
cmpl $0x0, %eax
jne 0x1682e
movl $0x0, 0xc3e23(%rip)     # 0xda600
jmp 0x168bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xa97(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xa98(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0xa98(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93da2(%rip), %rsi     # 0xaa5e7
callq 0x85f0
cmpl $0x0, %eax
jne 0x1685b
movl $0x1, 0xc3da7(%rip)     # 0xda600
jmp 0x168bb
movq 0xc378e(%rip), %rdi     # 0xd9ff0
leaq 0x9407f(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x16870
movq 0xc3779(%rip), %rdi     # 0xd9ff0
leaq 0x9417d(%rip), %rsi     # 0xaa9fb
callq 0x8440
movq %rax, 0x360(%rsp)
jmp 0x1688d
movq 0x360(%rsp), %rdi
movq 0xc36bc(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x168a3
movq 0xc3726(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x168b1
movl $0x1, %edi
callq 0x8500
jmp 0x168bd
leaq 0xa98(%rsp), %rdi
callq 0x8848
jmp 0x18e9b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x358(%rsp)
jmp 0x168e6
movq 0x358(%rsp), %rdi
leaq 0x93cf9(%rip), %rsi     # 0xaa5ee
callq 0x85f0
cmpl $0x0, %eax
jne 0x16a62
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x350(%rsp)
jmp 0x1691a
leaq 0xa4f(%rsp), %rdi
movq %rdi, 0x348(%rsp)
callq 0x8780
movq 0x350(%rsp), %rsi
movq 0x348(%rsp), %rdx
leaq 0xa50(%rsp), %rdi
callq 0x85d0
jmp 0x1694e
leaq 0xa4f(%rsp), %rdi
callq 0x84a0
leaq 0xa50(%rsp), %rdi
movq %rdi, 0x338(%rsp)
callq 0x83c0
movq 0x338(%rsp), %rdi
movq %rax, 0xa40(%rsp)
callq 0x8280
movq 0x338(%rsp), %rdi
movq %rax, 0xa38(%rsp)
callq 0x83c0
movq %rax, 0xa30(%rsp)
movq 0xa40(%rsp), %rdi
movq 0xa38(%rsp), %rsi
movq 0xa30(%rsp), %rdx
movq 0xc3617(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x340(%rsp)
jmp 0x169d0
movq 0x340(%rsp), %rax
movq %rax, 0xa28(%rsp)
leaq 0x93efb(%rip), %rsi     # 0xaa8e2
leaq 0xa50(%rsp), %rdi
callq 0x8140
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
andb $0x1, %al
movb %al, 0xc3c00(%rip)      # 0xda604
leaq 0xa50(%rsp), %rdi
callq 0x8848
jmp 0x18e99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xa4f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xa50(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x330(%rsp)
jmp 0x16a79
movq 0x330(%rsp), %rdi
leaq 0x93b7a(%rip), %rsi     # 0xaa602
callq 0x85f0
cmpl $0x0, %eax
jne 0x16b7a
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x328(%rsp)
jmp 0x16aad
leaq 0xa07(%rsp), %rdi
movq %rdi, 0x320(%rsp)
callq 0x8780
movq 0x328(%rsp), %rsi
movq 0x320(%rsp), %rdx
leaq 0xa08(%rsp), %rdi
callq 0x85d0
jmp 0x16ae1
leaq 0xa07(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0xa08(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x318(%rsp)
jmp 0x16b0e
movq 0x318(%rsp), %rax
movl %eax, 0xc395c(%rip)     # 0xda478
leaq 0xa08(%rsp), %rdi
callq 0x8848
jmp 0x18e97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xa07(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0xa08(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x310(%rsp)
jmp 0x16b91
movq 0x310(%rsp), %rdi
leaq 0x93a6f(%rip), %rsi     # 0xaa60f
callq 0x85f0
cmpl $0x0, %eax
jne 0x16da8
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x308(%rsp)
jmp 0x16bc5
leaq 0x9df(%rsp), %rdi
movq %rdi, 0x300(%rsp)
callq 0x8780
movq 0x308(%rsp), %rsi
movq 0x300(%rsp), %rdx
leaq 0x9e0(%rsp), %rdi
callq 0x85d0
jmp 0x16bf9
leaq 0x9df(%rsp), %rdi
callq 0x84a0
leaq 0x9e0(%rsp), %rdi
movq %rdi, 0x2f0(%rsp)
callq 0x83c0
movq 0x2f0(%rsp), %rdi
movq %rax, 0x9d0(%rsp)
callq 0x8280
movq 0x2f0(%rsp), %rdi
movq %rax, 0x9c8(%rsp)
callq 0x83c0
movq %rax, 0x9c0(%rsp)
movq 0x9d0(%rsp), %rdi
movq 0x9c8(%rsp), %rsi
movq 0x9c0(%rsp), %rdx
movq 0xc336c(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x2f8(%rsp)
jmp 0x16c7b
movq 0x2f8(%rsp), %rax
movq %rax, 0x9b8(%rsp)
leaq 0x9e0(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x9386c(%rip), %rsi     # 0xaa50e
callq 0x85f0
cmpl $0x0, %eax
jne 0x16d07
movl $0x0, 0xc3952(%rip)     # 0xda608
jmp 0x16d96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x9df(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x9e0(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0x9e0(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x937f7(%rip), %rsi     # 0xaa515
callq 0x85f0
cmpl $0x0, %eax
jne 0x16d34
movl $0x1, 0xc38d6(%rip)     # 0xda608
jmp 0x16d94
movq 0xc32b5(%rip), %rdi     # 0xd9ff0
leaq 0x93ba6(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x16d49
movq 0xc32a0(%rip), %rdi     # 0xd9ff0
leaq 0x93ce9(%rip), %rsi     # 0xaaa40
callq 0x8440
movq %rax, 0x2e8(%rsp)
jmp 0x16d66
movq 0x2e8(%rsp), %rdi
movq 0xc31e3(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x16d7c
movq 0xc324d(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x16d8a
movl $0x1, %edi
callq 0x8500
jmp 0x16d96
leaq 0x9e0(%rsp), %rdi
callq 0x8848
jmp 0x18e95
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x2e0(%rsp)
jmp 0x16dbf
movq 0x2e0(%rsp), %rdi
leaq 0x9386a(%rip), %rsi     # 0xaa638
callq 0x85f0
cmpl $0x0, %eax
jne 0x17422
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x2d8(%rsp)
jmp 0x16df3
leaq 0x997(%rsp), %rdi
movq %rdi, 0x2d0(%rsp)
callq 0x8780
movq 0x2d8(%rsp), %rsi
movq 0x2d0(%rsp), %rdx
leaq 0x998(%rsp), %rdi
callq 0x85d0
jmp 0x16e27
leaq 0x997(%rsp), %rdi
callq 0x84a0
leaq 0x998(%rsp), %rdi
movq %rdi, 0x2c0(%rsp)
callq 0x83c0
movq 0x2c0(%rsp), %rdi
movq %rax, 0x988(%rsp)
callq 0x8280
movq 0x2c0(%rsp), %rdi
movq %rax, 0x980(%rsp)
callq 0x83c0
movq %rax, 0x978(%rsp)
movq 0x988(%rsp), %rdi
movq 0x980(%rsp), %rsi
movq 0x978(%rsp), %rdx
movq 0xc313e(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x2c8(%rsp)
jmp 0x16ea9
movq 0x2c8(%rsp), %rax
movq %rax, 0x970(%rsp)
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93780(%rip), %rsi     # 0xaa650
callq 0x85f0
cmpl $0x0, %eax
jne 0x16f35
movl $0x3, 0xc3728(%rip)     # 0xda60c
jmp 0x17410
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x997(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x998(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93709(%rip), %rsi     # 0xaa655
callq 0x85f0
cmpl $0x0, %eax
jne 0x16f65
movl $0x2, 0xc36ac(%rip)     # 0xda60c
jmp 0x1740e
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x936de(%rip), %rsi     # 0xaa65a
callq 0x85f0
cmpl $0x0, %eax
jne 0x16f95
movl $0x5, 0xc367c(%rip)     # 0xda60c
jmp 0x1740c
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x936b3(%rip), %rsi     # 0xaa65f
callq 0x85f0
cmpl $0x0, %eax
jne 0x16fc5
movl $0x4, 0xc364c(%rip)     # 0xda60c
jmp 0x1740a
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93688(%rip), %rsi     # 0xaa664
callq 0x85f0
cmpl $0x0, %eax
jne 0x16ff5
movl $0x0, 0xc361c(%rip)     # 0xda60c
jmp 0x17408
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x9365d(%rip), %rsi     # 0xaa669
callq 0x85f0
cmpl $0x0, %eax
jne 0x17025
movl $0x1, 0xc35ec(%rip)     # 0xda60c
jmp 0x17406
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93632(%rip), %rsi     # 0xaa66e
callq 0x85f0
cmpl $0x0, %eax
jne 0x17055
movl $0xd, 0xc35bc(%rip)     # 0xda60c
jmp 0x17404
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93607(%rip), %rsi     # 0xaa673
callq 0x85f0
cmpl $0x0, %eax
jne 0x17085
movl $0xc, 0xc358c(%rip)     # 0xda60c
jmp 0x17402
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x935dc(%rip), %rsi     # 0xaa678
callq 0x85f0
cmpl $0x0, %eax
jne 0x170b5
movl $0x10, 0xc355c(%rip)    # 0xda60c
jmp 0x17400
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x935b1(%rip), %rsi     # 0xaa67d
callq 0x85f0
cmpl $0x0, %eax
jne 0x170e5
movl $0x11, 0xc352c(%rip)    # 0xda60c
jmp 0x173fe
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93586(%rip), %rsi     # 0xaa682
callq 0x85f0
cmpl $0x0, %eax
jne 0x17115
movl $0xe, 0xc34fc(%rip)     # 0xda60c
jmp 0x173fc
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x9355b(%rip), %rsi     # 0xaa687
callq 0x85f0
cmpl $0x0, %eax
jne 0x17145
movl $0xf, 0xc34cc(%rip)     # 0xda60c
jmp 0x173fa
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93530(%rip), %rsi     # 0xaa68c
callq 0x85f0
cmpl $0x0, %eax
jne 0x17175
movl $0x13, 0xc349c(%rip)    # 0xda60c
jmp 0x173f8
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93505(%rip), %rsi     # 0xaa691
callq 0x85f0
cmpl $0x0, %eax
jne 0x171a5
movl $0x12, 0xc346c(%rip)    # 0xda60c
jmp 0x173f6
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x934da(%rip), %rsi     # 0xaa696
callq 0x85f0
cmpl $0x0, %eax
jne 0x171d5
movl $0x16, 0xc343c(%rip)    # 0xda60c
jmp 0x173f4
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x934af(%rip), %rsi     # 0xaa69b
callq 0x85f0
cmpl $0x0, %eax
jne 0x17205
movl $0x17, 0xc340c(%rip)    # 0xda60c
jmp 0x173f2
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93484(%rip), %rsi     # 0xaa6a0
callq 0x85f0
cmpl $0x0, %eax
jne 0x17235
movl $0x14, 0xc33dc(%rip)    # 0xda60c
jmp 0x173f0
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93459(%rip), %rsi     # 0xaa6a5
callq 0x85f0
cmpl $0x0, %eax
jne 0x17265
movl $0x15, 0xc33ac(%rip)    # 0xda60c
jmp 0x173ee
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x9342e(%rip), %rsi     # 0xaa6aa
callq 0x85f0
cmpl $0x0, %eax
jne 0x17295
movl $0x6, 0xc337c(%rip)     # 0xda60c
jmp 0x173ec
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93403(%rip), %rsi     # 0xaa6af
callq 0x85f0
cmpl $0x0, %eax
jne 0x172c5
movl $0x7, 0xc334c(%rip)     # 0xda60c
jmp 0x173ea
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x933d8(%rip), %rsi     # 0xaa6b4
callq 0x85f0
cmpl $0x0, %eax
jne 0x172f5
movl $0x8, 0xc331c(%rip)     # 0xda60c
jmp 0x173e8
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x933ad(%rip), %rsi     # 0xaa6b9
callq 0x85f0
cmpl $0x0, %eax
jne 0x17325
movl $0x9, 0xc32ec(%rip)     # 0xda60c
jmp 0x173e6
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93382(%rip), %rsi     # 0xaa6be
callq 0x85f0
cmpl $0x0, %eax
jne 0x17355
movl $0xa, 0xc32bc(%rip)     # 0xda60c
jmp 0x173e4
leaq 0x998(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93357(%rip), %rsi     # 0xaa6c3
callq 0x85f0
cmpl $0x0, %eax
jne 0x17382
movl $0xb, 0xc328c(%rip)     # 0xda60c
jmp 0x173e2
movq 0xc2c67(%rip), %rdi     # 0xd9ff0
leaq 0x93558(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x17397
movq 0xc2c52(%rip), %rdi     # 0xd9ff0
leaq 0x936dc(%rip), %rsi     # 0xaaa81
callq 0x8440
movq %rax, 0x2b8(%rsp)
jmp 0x173b4
movq 0x2b8(%rsp), %rdi
movq 0xc2b95(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x173ca
movq 0xc2bff(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x173d8
movl $0x1, %edi
callq 0x8500
jmp 0x173e4
jmp 0x173e6
jmp 0x173e8
jmp 0x173ea
jmp 0x173ec
jmp 0x173ee
jmp 0x173f0
jmp 0x173f2
jmp 0x173f4
jmp 0x173f6
jmp 0x173f8
jmp 0x173fa
jmp 0x173fc
jmp 0x173fe
jmp 0x17400
jmp 0x17402
jmp 0x17404
jmp 0x17406
jmp 0x17408
jmp 0x1740a
jmp 0x1740c
jmp 0x1740e
jmp 0x17410
leaq 0x998(%rsp), %rdi
callq 0x8848
jmp 0x18e93
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x2b0(%rsp)
jmp 0x17439
movq 0x2b0(%rsp), %rdi
leaq 0x93280(%rip), %rsi     # 0xaa6c8
callq 0x85f0
cmpl $0x0, %eax
jne 0x17682
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x2a8(%rsp)
jmp 0x1746d
leaq 0x94f(%rsp), %rdi
movq %rdi, 0x2a0(%rsp)
callq 0x8780
movq 0x2a8(%rsp), %rsi
movq 0x2a0(%rsp), %rdx
leaq 0x950(%rsp), %rdi
callq 0x85d0
jmp 0x174a1
leaq 0x94f(%rsp), %rdi
callq 0x84a0
leaq 0x950(%rsp), %rdi
movq %rdi, 0x290(%rsp)
callq 0x83c0
movq 0x290(%rsp), %rdi
movq %rax, 0x940(%rsp)
callq 0x8280
movq 0x290(%rsp), %rdi
movq %rax, 0x938(%rsp)
callq 0x83c0
movq %rax, 0x930(%rsp)
movq 0x940(%rsp), %rdi
movq 0x938(%rsp), %rsi
movq 0x930(%rsp), %rdx
movq 0xc2ac4(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x298(%rsp)
jmp 0x17523
movq 0x298(%rsp), %rax
movq %rax, 0x928(%rsp)
leaq 0x950(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x931a5(%rip), %rsi     # 0xaa6ef
callq 0x85f0
cmpl $0x0, %eax
jne 0x175af
movl $0x0, 0xc30b2(%rip)     # 0xda610
jmp 0x17670
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x94f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x950(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0x950(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93120(%rip), %rsi     # 0xaa6e6
callq 0x85f0
cmpl $0x0, %eax
jne 0x175df
movl $0x1, 0xc3036(%rip)     # 0xda610
jmp 0x1766e
leaq 0x950(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x93106(%rip), %rsi     # 0xaa6fc
callq 0x85f0
cmpl $0x0, %eax
jne 0x1760c
movl $0x2, 0xc3006(%rip)     # 0xda610
jmp 0x1766c
movq 0xc29dd(%rip), %rdi     # 0xd9ff0
leaq 0x932ce(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x17621
movq 0xc29c8(%rip), %rdi     # 0xd9ff0
leaq 0x9349f(%rip), %rsi     # 0xaaace
callq 0x8440
movq %rax, 0x288(%rsp)
jmp 0x1763e
movq 0x288(%rsp), %rdi
movq 0xc290b(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x17654
movq 0xc2975(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x17662
movl $0x1, %edi
callq 0x8500
jmp 0x1766e
jmp 0x17670
leaq 0x950(%rsp), %rdi
callq 0x8848
jmp 0x18e91
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x280(%rsp)
jmp 0x17699
movq 0x280(%rsp), %rdi
leaq 0x93059(%rip), %rsi     # 0xaa701
callq 0x85f0
cmpl $0x0, %eax
jne 0x177e4
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x278(%rsp)
jmp 0x176cd
leaq 0x907(%rsp), %rdi
movq %rdi, 0x270(%rsp)
callq 0x8780
movq 0x278(%rsp), %rsi
movq 0x270(%rsp), %rdx
leaq 0x908(%rsp), %rdi
callq 0x85d0
jmp 0x17701
leaq 0x907(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x908(%rsp), %rdi
callq 0x19300
movsd %xmm0, 0x268(%rsp)
jmp 0x1772a
movsd 0x268(%rsp), %xmm0
movsd %xmm0, 0xc2d45(%rip)    # 0xda480
movsd 0x92cfd(%rip), %xmm0    # 0xaa440
ucomisd 0xc2d35(%rip), %xmm0    # 0xda480
jbe 0x177d2
movq 0xc2840(%rip), %rdi     # 0xd9f98
leaq 0x933bb(%rip), %rsi     # 0xaab1a
callq 0x8440
movq %rax, 0x260(%rsp)
jmp 0x1776e
movq 0x260(%rsp), %rdi
movq 0xc27db(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x17784
jmp 0x177d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x907(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x908(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0x908(%rsp), %rdi
callq 0x8848
jmp 0x18e8f
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x258(%rsp)
jmp 0x177fb
movq 0x258(%rsp), %rdi
leaq 0x92f0e(%rip), %rsi     # 0xaa718
callq 0x85f0
cmpl $0x0, %eax
jne 0x178fb
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x250(%rsp)
jmp 0x1782f
leaq 0x8df(%rsp), %rdi
movq %rdi, 0x248(%rsp)
callq 0x8780
movq 0x250(%rsp), %rsi
movq 0x248(%rsp), %rdx
leaq 0x8e0(%rsp), %rdi
callq 0x85d0
jmp 0x17863
leaq 0x8df(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x8e0(%rsp), %rdi
callq 0x19300
movsd %xmm0, 0x240(%rsp)
jmp 0x1788c
movsd 0x240(%rsp), %xmm0
movsd %xmm0, 0xc2beb(%rip)    # 0xda488
leaq 0x8e0(%rsp), %rdi
callq 0x8848
jmp 0x18e8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x8df(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x8e0(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x238(%rsp)
jmp 0x17912
movq 0x238(%rsp), %rdi
leaq 0x92e09(%rip), %rsi     # 0xaa72a
callq 0x85f0
cmpl $0x0, %eax
jne 0x17bf1
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x230(%rsp)
jmp 0x17946
leaq 0x8b7(%rsp), %rdi
movq %rdi, 0x228(%rsp)
callq 0x8780
movq 0x230(%rsp), %rsi
movq 0x228(%rsp), %rdx
leaq 0x8b8(%rsp), %rdi
callq 0x85d0
jmp 0x1797a
leaq 0x8b7(%rsp), %rdi
callq 0x84a0
leaq 0x8b8(%rsp), %rdi
movq %rdi, 0x218(%rsp)
callq 0x83c0
movq 0x218(%rsp), %rdi
movq %rax, 0x8a8(%rsp)
callq 0x8280
movq 0x218(%rsp), %rdi
movq %rax, 0x8a0(%rsp)
callq 0x83c0
movq %rax, 0x898(%rsp)
movq 0x8a8(%rsp), %rdi
movq 0x8a0(%rsp), %rsi
movq 0x898(%rsp), %rdx
movq 0xc25eb(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x220(%rsp)
jmp 0x179fc
movq 0x220(%rsp), %rax
movq %rax, 0x890(%rsp)
leaq 0x8b8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x92d21(%rip), %rsi     # 0xaa744
callq 0x85f0
cmpl $0x0, %eax
jne 0x17a88
movl $0x0, 0xc2a59(%rip)     # 0xda490
jmp 0x17bdf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x8b7(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x8b8(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
leaq 0x8b8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x92cac(%rip), %rsi     # 0xaa74b
callq 0x85f0
cmpl $0x0, %eax
jne 0x17ab8
movl $0x1, 0xc29dd(%rip)     # 0xda490
jmp 0x17bdd
leaq 0x8b8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x92c80(%rip), %rsi     # 0xaa74f
callq 0x85f0
cmpl $0x0, %eax
jne 0x17ae8
movl $0x2, 0xc29ad(%rip)     # 0xda490
jmp 0x17bdb
leaq 0x8b8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x92c57(%rip), %rsi     # 0xaa756
callq 0x85f0
cmpl $0x0, %eax
jne 0x17b18
movl $0x3, 0xc297d(%rip)     # 0xda490
jmp 0x17bd9
leaq 0x8b8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x92c30(%rip), %rsi     # 0xaa75f
callq 0x85f0
cmpl $0x0, %eax
jne 0x17b48
movl $0x4, 0xc294d(%rip)     # 0xda490
jmp 0x17bd7
leaq 0x8b8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x92c0a(%rip), %rsi     # 0xaa769
callq 0x85f0
cmpl $0x0, %eax
jne 0x17b75
movl $0x5, 0xc291d(%rip)     # 0xda490
jmp 0x17bd5
movq 0xc2474(%rip), %rdi     # 0xd9ff0
leaq 0x92d65(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x17b8a
movq 0xc245f(%rip), %rdi     # 0xd9ff0
leaq 0x92fdb(%rip), %rsi     # 0xaab73
callq 0x8440
movq %rax, 0x210(%rsp)
jmp 0x17ba7
movq 0x210(%rsp), %rdi
movq 0xc23a2(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x17bbd
movq 0xc240c(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x17bcb
movl $0x1, %edi
callq 0x8500
jmp 0x17bd7
jmp 0x17bd9
jmp 0x17bdb
jmp 0x17bdd
jmp 0x17bdf
leaq 0x8b8(%rsp), %rdi
callq 0x8848
jmp 0x18e8b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x208(%rsp)
jmp 0x17c08
movq 0x208(%rsp), %rdi
leaq 0x92b57(%rip), %rsi     # 0xaa76e
callq 0x85f0
cmpl $0x0, %eax
jne 0x17d84
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x200(%rsp)
jmp 0x17c3c
leaq 0x86f(%rsp), %rdi
movq %rdi, 0x1f8(%rsp)
callq 0x8780
movq 0x200(%rsp), %rsi
movq 0x1f8(%rsp), %rdx
leaq 0x870(%rsp), %rdi
callq 0x85d0
jmp 0x17c70
leaq 0x86f(%rsp), %rdi
callq 0x84a0
leaq 0x870(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0x83c0
movq 0x1e8(%rsp), %rdi
movq %rax, 0x860(%rsp)
callq 0x8280
movq 0x1e8(%rsp), %rdi
movq %rax, 0x858(%rsp)
callq 0x83c0
movq %rax, 0x850(%rsp)
movq 0x860(%rsp), %rdi
movq 0x858(%rsp), %rsi
movq 0x850(%rsp), %rdx
movq 0xc22f5(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x1f0(%rsp)
jmp 0x17cf2
movq 0x1f0(%rsp), %rax
movq %rax, 0x848(%rsp)
leaq 0x92bd9(%rip), %rsi     # 0xaa8e2
leaq 0x870(%rsp), %rdi
callq 0x8140
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
andb $0x1, %al
movb %al, 0xc28ee(%rip)      # 0xda614
leaq 0x870(%rsp), %rdi
callq 0x8848
jmp 0x18e89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x86f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x870(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x1e0(%rsp)
jmp 0x17d9b
movq 0x1e0(%rsp), %rdi
leaq 0x929d8(%rip), %rsi     # 0xaa782
callq 0x85f0
cmpl $0x0, %eax
jne 0x17f17
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x1d8(%rsp)
jmp 0x17dcf
leaq 0x827(%rsp), %rdi
movq %rdi, 0x1d0(%rsp)
callq 0x8780
movq 0x1d8(%rsp), %rsi
movq 0x1d0(%rsp), %rdx
leaq 0x828(%rsp), %rdi
callq 0x85d0
jmp 0x17e03
leaq 0x827(%rsp), %rdi
callq 0x84a0
leaq 0x828(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x83c0
movq 0x1c0(%rsp), %rdi
movq %rax, 0x818(%rsp)
callq 0x8280
movq 0x1c0(%rsp), %rdi
movq %rax, 0x810(%rsp)
callq 0x83c0
movq %rax, 0x808(%rsp)
movq 0x818(%rsp), %rdi
movq 0x810(%rsp), %rsi
movq 0x808(%rsp), %rdx
movq 0xc2162(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x1c8(%rsp)
jmp 0x17e85
movq 0x1c8(%rsp), %rax
movq %rax, 0x800(%rsp)
leaq 0x92a46(%rip), %rsi     # 0xaa8e2
leaq 0x828(%rsp), %rdi
callq 0x8140
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
andb $0x1, %al
movb %al, 0xc25db(%rip)      # 0xda494
leaq 0x828(%rsp), %rdi
callq 0x8848
jmp 0x18e87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x827(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x828(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x1b8(%rsp)
jmp 0x17f2e
movq 0x1b8(%rsp), %rdi
leaq 0x9285c(%rip), %rsi     # 0xaa799
callq 0x85f0
cmpl $0x0, %eax
jne 0x1802e
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x1b0(%rsp)
jmp 0x17f62
leaq 0x7df(%rsp), %rdi
movq %rdi, 0x1a8(%rsp)
callq 0x8780
movq 0x1b0(%rsp), %rsi
movq 0x1a8(%rsp), %rdx
leaq 0x7e0(%rsp), %rdi
callq 0x85d0
jmp 0x17f96
leaq 0x7df(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x7e0(%rsp), %rdi
callq 0x19300
movsd %xmm0, 0x1a0(%rsp)
jmp 0x17fbf
movsd 0x1a0(%rsp), %xmm0
movsd %xmm0, 0xc24c8(%rip)    # 0xda498
leaq 0x7e0(%rsp), %rdi
callq 0x8848
jmp 0x18e85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x7df(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x7e0(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x198(%rsp)
jmp 0x18045
movq 0x198(%rsp), %rdi
leaq 0x92757(%rip), %rsi     # 0xaa7ab
callq 0x85f0
cmpl $0x0, %eax
jne 0x181c1
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x190(%rsp)
jmp 0x18079
leaq 0x7b7(%rsp), %rdi
movq %rdi, 0x188(%rsp)
callq 0x8780
movq 0x190(%rsp), %rsi
movq 0x188(%rsp), %rdx
leaq 0x7b8(%rsp), %rdi
callq 0x85d0
jmp 0x180ad
leaq 0x7b7(%rsp), %rdi
callq 0x84a0
leaq 0x7b8(%rsp), %rdi
movq %rdi, 0x178(%rsp)
callq 0x83c0
movq 0x178(%rsp), %rdi
movq %rax, 0x7a8(%rsp)
callq 0x8280
movq 0x178(%rsp), %rdi
movq %rax, 0x7a0(%rsp)
callq 0x83c0
movq %rax, 0x798(%rsp)
movq 0x7a8(%rsp), %rdi
movq 0x7a0(%rsp), %rsi
movq 0x798(%rsp), %rdx
movq 0xc1eb8(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x180(%rsp)
jmp 0x1812f
movq 0x180(%rsp), %rax
movq %rax, 0x790(%rsp)
leaq 0x9279c(%rip), %rsi     # 0xaa8e2
leaq 0x7b8(%rsp), %rdi
callq 0x8140
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
andb $0x1, %al
movb %al, 0xc233d(%rip)      # 0xda4a0
leaq 0x7b8(%rsp), %rdi
callq 0x8848
jmp 0x18e83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x7b7(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x7b8(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x170(%rsp)
jmp 0x181d8
movq 0x170(%rsp), %rdi
leaq 0x925e1(%rip), %rsi     # 0xaa7c8
callq 0x85f0
cmpl $0x0, %eax
jne 0x18354
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x168(%rsp)
jmp 0x1820c
leaq 0x76f(%rsp), %rdi
movq %rdi, 0x160(%rsp)
callq 0x8780
movq 0x168(%rsp), %rsi
movq 0x160(%rsp), %rdx
leaq 0x770(%rsp), %rdi
callq 0x85d0
jmp 0x18240
leaq 0x76f(%rsp), %rdi
callq 0x84a0
leaq 0x770(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x83c0
movq 0x150(%rsp), %rdi
movq %rax, 0x760(%rsp)
callq 0x8280
movq 0x150(%rsp), %rdi
movq %rax, 0x758(%rsp)
callq 0x83c0
movq %rax, 0x750(%rsp)
movq 0x760(%rsp), %rdi
movq 0x758(%rsp), %rsi
movq 0x750(%rsp), %rdx
movq 0xc1d25(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x158(%rsp)
jmp 0x182c2
movq 0x158(%rsp), %rax
movq %rax, 0x748(%rsp)
leaq 0x92609(%rip), %rsi     # 0xaa8e2
leaq 0x770(%rsp), %rdi
callq 0x8140
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
andb $0x1, %al
movb %al, 0xc21ab(%rip)      # 0xda4a1
leaq 0x770(%rsp), %rdi
callq 0x8848
jmp 0x18e81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x76f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x770(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x148(%rsp)
jmp 0x1836b
movq 0x148(%rsp), %rdi
leaq 0x9246a(%rip), %rsi     # 0xaa7e4
callq 0x85f0
cmpl $0x0, %eax
jne 0x1846c
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x140(%rsp)
jmp 0x1839f
leaq 0x727(%rsp), %rdi
movq %rdi, 0x138(%rsp)
callq 0x8780
movq 0x140(%rsp), %rsi
movq 0x138(%rsp), %rdx
leaq 0x728(%rsp), %rdi
callq 0x85d0
jmp 0x183d3
leaq 0x727(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x728(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x130(%rsp)
jmp 0x18400
movq 0x130(%rsp), %rax
movl %eax, 0xc2096(%rip)     # 0xda4a4
leaq 0x728(%rsp), %rdi
callq 0x8848
jmp 0x18e7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x727(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x728(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x128(%rsp)
jmp 0x18483
movq 0x128(%rsp), %rdi
leaq 0x9272b(%rip), %rsi     # 0xaabbd
callq 0x85f0
cmpl $0x0, %eax
jne 0x18585
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x120(%rsp)
jmp 0x184b7
leaq 0x6ff(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0x8780
movq 0x120(%rsp), %rsi
movq 0x118(%rsp), %rdx
leaq 0x700(%rsp), %rdi
callq 0x85d0
jmp 0x184eb
leaq 0x6ff(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x700(%rsp), %rdi
movl $0xa, %edx
callq 0x19260
movq %rax, 0x110(%rsp)
jmp 0x18518
movq 0x110(%rsp), %rax
movq %rax, 0xc1f81(%rip)     # 0xda4a8
leaq 0x700(%rsp), %rdi
callq 0x8848
jmp 0x18e7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x6ff(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x700(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x108(%rsp)
jmp 0x1859c
movq 0x108(%rsp), %rdi
leaq 0x9227d(%rip), %rsi     # 0xaa828
callq 0x85f0
cmpl $0x0, %eax
jne 0x1869e
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x100(%rsp)
jmp 0x185d0
leaq 0x6d7(%rsp), %rdi
movq %rdi, 0xf8(%rsp)
callq 0x8780
movq 0x100(%rsp), %rsi
movq 0xf8(%rsp), %rdx
leaq 0x6d8(%rsp), %rdi
callq 0x85d0
jmp 0x18604
leaq 0x6d7(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x6d8(%rsp), %rdi
movl $0xa, %edx
callq 0x19260
movq %rax, 0xf0(%rsp)
jmp 0x18631
movq 0xf0(%rsp), %rax
movq %rax, 0xc1e70(%rip)     # 0xda4b0
leaq 0x6d8(%rsp), %rdi
callq 0x8848
jmp 0x18e7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x6d7(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x6d8(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0xe8(%rsp)
jmp 0x186b5
movq 0xe8(%rsp), %rdi
leaq 0x9218b(%rip), %rsi     # 0xaa84f
callq 0x85f0
cmpl $0x0, %eax
jne 0x187b7
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0xe0(%rsp)
jmp 0x186e9
leaq 0x6af(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x8780
movq 0xe0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
leaq 0x6b0(%rsp), %rdi
callq 0x85d0
jmp 0x1871d
leaq 0x6af(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x6b0(%rsp), %rdi
movl $0xa, %edx
callq 0x19260
movq %rax, 0xd0(%rsp)
jmp 0x1874a
movq 0xd0(%rsp), %rax
movq %rax, 0xc1d5f(%rip)     # 0xda4b8
leaq 0x6b0(%rsp), %rdi
callq 0x8848
jmp 0x18e79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x6af(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x6b0(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0xc8(%rsp)
jmp 0x187ce
movq 0xc8(%rsp), %rdi
leaq 0x92098(%rip), %rsi     # 0xaa875
callq 0x85f0
cmpl $0x0, %eax
jne 0x188cf
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0xc0(%rsp)
jmp 0x18802
leaq 0x687(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x8780
movq 0xc0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
leaq 0x688(%rsp), %rdi
callq 0x85d0
jmp 0x18836
leaq 0x687(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x688(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0xb0(%rsp)
jmp 0x18863
movq 0xb0(%rsp), %rax
movl %eax, 0xc1c4f(%rip)     # 0xda4c0
leaq 0x688(%rsp), %rdi
callq 0x8848
jmp 0x18e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x687(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x688(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0xa8(%rsp)
jmp 0x188e6
movq 0xa8(%rsp), %rdi
leaq 0x91f94(%rip), %rsi     # 0xaa889
callq 0x85f0
cmpl $0x0, %eax
jne 0x189e7
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0xa0(%rsp)
jmp 0x1891a
leaq 0x65f(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x8780
movq 0xa0(%rsp), %rsi
movq 0x98(%rsp), %rdx
leaq 0x660(%rsp), %rdi
callq 0x85d0
jmp 0x1894e
leaq 0x65f(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x660(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x90(%rsp)
jmp 0x1897b
movq 0x90(%rsp), %rax
movl %eax, 0xc1b3b(%rip)     # 0xda4c4
leaq 0x660(%rsp), %rdi
callq 0x8848
jmp 0x18e75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x65f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x660(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x88(%rsp)
jmp 0x189fe
movq 0x88(%rsp), %rdi
leaq 0x91e90(%rip), %rsi     # 0xaa89d
callq 0x85f0
cmpl $0x0, %eax
jne 0x18af3
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x80(%rsp)
jmp 0x18a32
leaq 0x637(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x8780
movq 0x80(%rsp), %rsi
movq 0x78(%rsp), %rdx
leaq 0x638(%rsp), %rdi
callq 0x85d0
jmp 0x18a60
leaq 0x637(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x638(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x70(%rsp)
jmp 0x18a8a
movq 0x70(%rsp), %rax
movl %eax, 0xc1a33(%rip)     # 0xda4c8
leaq 0x638(%rsp), %rdi
callq 0x8848
jmp 0x18e73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x637(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x638(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x68(%rsp)
jmp 0x18b07
movq 0x68(%rsp), %rdi
leaq 0x91da0(%rip), %rsi     # 0xaa8b3
callq 0x85f0
cmpl $0x0, %eax
jne 0x18bf3
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x60(%rsp)
jmp 0x18b35
leaq 0x60f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x8780
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %rdx
leaq 0x610(%rsp), %rdi
callq 0x85d0
jmp 0x18b60
leaq 0x60f(%rsp), %rdi
callq 0x84a0
xorl %eax, %eax
movl %eax, %esi
leaq 0x610(%rsp), %rdi
movl $0xa, %edx
callq 0x192b0
movq %rax, 0x50(%rsp)
jmp 0x18b8a
movq 0x50(%rsp), %rax
movl %eax, 0xc1937(%rip)     # 0xda4cc
leaq 0x610(%rsp), %rdi
callq 0x8848
jmp 0x18e71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x60f(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x610(%rsp), %rdi
callq 0x8848
jmp 0x18d5b
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x48(%rsp)
jmp 0x18c07
movq 0x48(%rsp), %rdi
leaq 0x91cb4(%rip), %rsi     # 0xaa8c7
callq 0x85f0
cmpl $0x0, %eax
jne 0x18e2b
movq 0xdc0(%rsp), %rdi
callq 0x10590
movq %rax, 0x40(%rsp)
jmp 0x18c35
leaq 0x5e7(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x8780
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
leaq 0x5e8(%rsp), %rdi
callq 0x85d0
jmp 0x18c60
leaq 0x5e7(%rsp), %rdi
callq 0x84a0
leaq 0x5e8(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x83c0
movq 0x28(%rsp), %rdi
movq %rax, 0x5d8(%rsp)
callq 0x8280
movq 0x28(%rsp), %rdi
movq %rax, 0x5d0(%rsp)
callq 0x83c0
movq %rax, 0x5c8(%rsp)
movq 0x5d8(%rsp), %rdi
movq 0x5d0(%rsp), %rsi
movq 0x5c8(%rsp), %rdx
movq 0xc130e(%rip), %rcx     # 0xd9fd8
callq 0x191d0
movq %rax, 0x30(%rsp)
jmp 0x18cd6
movq 0x30(%rsp), %rax
movq %rax, 0x5c0(%rsp)
leaq 0x5e8(%rsp), %rdi
callq 0x8190
movq %rax, %rdi
leaq 0x91be1(%rip), %rsi     # 0xaa8db
callq 0x85f0
cmpl $0x0, %eax
jne 0x18dc2
movl $0x0, 0xc1906(%rip)     # 0xda618
jmp 0x18e1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x5e7(%rsp), %rdi
callq 0x84a0
jmp 0x18d5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
leaq 0x5e8(%rsp), %rdi
callq 0x8848
movq 0xdb8(%rsp), %rdi
callq 0x8180
movq 0xc1281(%rip), %rdi     # 0xd9ff0
leaq 0x91b72(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x18d7d
movq 0xc126c(%rip), %rdi     # 0xd9ff0
leaq 0x91ebd(%rip), %rsi     # 0xaac48
callq 0x8440
movq %rax, 0x20(%rsp)
jmp 0x18d97
movq 0x20(%rsp), %rdi
movq 0xc11b5(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x18daa
movq 0xc121f(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x18db8
movl $0x1, %edi
callq 0x8500
movq 0xc1227(%rip), %rdi     # 0xd9ff0
leaq 0x91b18(%rip), %rsi     # 0xaa8e8
callq 0x8440
jmp 0x18dd7
movq 0xc1212(%rip), %rdi     # 0xd9ff0
leaq 0x91dfd(%rip), %rsi     # 0xaabe2
callq 0x8440
movq %rax, 0x18(%rsp)
jmp 0x18df1
movq 0x18(%rsp), %rdi
movq 0xc115b(%rip), %rsi     # 0xd9f58
callq 0x8480
jmp 0x18e04
movq 0xc11c5(%rip), %rdi     # 0xd9fd0
callq 0x84f0
jmp 0x18e12
movl $0x1, %edi
callq 0x8500
leaq 0x5e8(%rsp), %rdi
callq 0x8848
jmp 0x18e6f
movq 0xdc0(%rsp), %rdi
callq 0xcac0
movq %rax, 0x10(%rsp)
jmp 0x18e3f
movq 0x10(%rsp), %rdi
leaq 0x91de9(%rip), %rsi     # 0xaac34
callq 0x85f0
cmpl $0x0, %eax
jne 0x18e6d
movq 0xdc0(%rsp), %rsi
leaq 0xc166c(%rip), %rdi     # 0xda4d0
callq 0x1b850
jmp 0x18e6b
jmp 0x18e6d
jmp 0x18e6f
jmp 0x18e71
jmp 0x18e73
jmp 0x18e75
jmp 0x18e77
jmp 0x18e79
jmp 0x18e7b
jmp 0x18e7d
jmp 0x18e7f
jmp 0x18e81
jmp 0x18e83
jmp 0x18e85
jmp 0x18e87
jmp 0x18e89
jmp 0x18e8b
jmp 0x18e8d
jmp 0x18e8f
jmp 0x18e91
jmp 0x18e93
jmp 0x18e95
jmp 0x18e97
jmp 0x18e99
jmp 0x18e9b
jmp 0x18e9d
jmp 0x18e9f
jmp 0x18ea1
jmp 0x18ea3
jmp 0x18ea5
jmp 0x18ea7
jmp 0x18ea9
jmp 0x18eab
jmp 0x18ead
jmp 0x18eaf
jmp 0x18eb1
jmp 0x18eb3
jmp 0x18eb5
jmp 0x18eb7
jmp 0x18eb9
jmp 0x18ebb
movq 0xdc0(%rsp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
movq %rdx, %rsi
callq 0xcc00
movq %rax, 0x8(%rsp)
jmp 0x18edb
movq 0x8(%rsp), %rax
movq %rax, 0xdc0(%rsp)
jmp 0x1516a
jmp 0x18f0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xdb8(%rsp)
movl %eax, 0xdb4(%rsp)
callq 0x86d0
jmp 0x18f0a
jmp 0x18f14
addq $0xdd8, %rsp            # imm = 0xDD8
retq
movq 0xdb8(%rsp), %rdi
callq 0x8770
movq %rax, %rdi
callq 0xd460
nopl (%rax)