// File: /workspace/github_cpp_makefile_star2_O1/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq 0x30(%rsi), %rbx
testq %rbx, %rbx
je 0x10f32
leaq 0x5fb48(%rip), %r14     # 0x6f532
movq %rsp, %r13
leaq 0x20(%rsp), %r12
movq (%rbx), %rbp
testq %rbp, %rbp
cmoveq %r14, %rbp
movq %rbp, %rdi
leaq 0x46717(%rip), %rsi     # 0x5611d
callq 0x74d0
testl %eax, %eax
je 0xfd94
movq %rbp, %rdi
leaq 0x46705(%rip), %rsi     # 0x56122
callq 0x74d0
testl %eax, %eax
je 0xfe05
movq %rbp, %rdi
leaq 0x46711(%rip), %rsi     # 0x56145
callq 0x74d0
testl %eax, %eax
je 0xfe7a
movq %rbp, %rdi
leaq 0x4670c(%rip), %rsi     # 0x56157
callq 0x74d0
testl %eax, %eax
je 0xfef7
movq %rbp, %rdi
leaq 0x46712(%rip), %rsi     # 0x56174
callq 0x74d0
testl %eax, %eax
je 0xff6e
movq %rbp, %rdi
leaq 0x4670a(%rip), %rsi     # 0x56183
callq 0x74d0
testl %eax, %eax
je 0xffd0
movq %rbp, %rdi
leaq 0x46704(%rip), %rsi     # 0x56194
callq 0x74d0
testl %eax, %eax
je 0x10069
movq %rbp, %rdi
leaq 0x4670f(%rip), %rsi     # 0x561b6
callq 0x74d0
testl %eax, %eax
je 0x100f6
movq %rbp, %rdi
leaq 0x4672a(%rip), %rsi     # 0x561e8
callq 0x74d0
testl %eax, %eax
je 0x10170
movq %rbp, %rdi
leaq 0x46727(%rip), %rsi     # 0x561fc
callq 0x74d0
testl %eax, %eax
je 0x101df
movq %rbp, %rdi
leaq 0x46729(%rip), %rsi     # 0x56215
callq 0x74d0
testl %eax, %eax
je 0x10260
movq %rbp, %rdi
leaq 0x4672c(%rip), %rsi     # 0x5622f
callq 0x74d0
testl %eax, %eax
je 0x102cc
movq %rbp, %rdi
leaq 0x46735(%rip), %rsi     # 0x5624f
callq 0x74d0
testl %eax, %eax
je 0x10338
movq %rbp, %rdi
leaq 0x46733(%rip), %rsi     # 0x56264
callq 0x74d0
testl %eax, %eax
je 0x103a4
movq %rbp, %rdi
leaq 0x46730(%rip), %rsi     # 0x56278
callq 0x74d0
testl %eax, %eax
je 0x10411
movq %rbp, %rdi
leaq 0x4672d(%rip), %rsi     # 0x5628c
callq 0x74d0
testl %eax, %eax
je 0x10455
movq %rbp, %rdi
leaq 0x46738(%rip), %rsi     # 0x562ae
callq 0x74d0
testl %eax, %eax
je 0x104cf
movq %rbp, %rdi
leaq 0x46735(%rip), %rsi     # 0x562c2
callq 0x74d0
testl %eax, %eax
je 0x1052d
movq %rbp, %rdi
leaq 0x4672b(%rip), %rsi     # 0x562cf
callq 0x74d0
testl %eax, %eax
je 0x1056a
movq %rbp, %rdi
leaq 0x4673d(%rip), %rsi     # 0x562f8
callq 0x74d0
testl %eax, %eax
je 0x105e4
movq %rbp, %rdi
leaq 0x467b6(%rip), %rsi     # 0x56388
callq 0x74d0
testl %eax, %eax
je 0x1085b
movq %rbp, %rdi
leaq 0x467d8(%rip), %rsi     # 0x563c1
callq 0x74d0
testl %eax, %eax
je 0x108f9
movq %rbp, %rdi
leaq 0x467d8(%rip), %rsi     # 0x563d8
callq 0x74d0
testl %eax, %eax
je 0x10966
movq %rbp, %rdi
leaq 0x467d3(%rip), %rsi     # 0x563ea
callq 0x74d0
testl %eax, %eax
je 0x109a4
movq %rbp, %rdi
leaq 0x46800(%rip), %rsi     # 0x5642e
callq 0x74d0
testl %eax, %eax
je 0x10a94
movq %rbp, %rdi
leaq 0x467fd(%rip), %rsi     # 0x56442
callq 0x74d0
testl %eax, %eax
je 0x10afc
movq %rbp, %rdi
leaq 0x467fd(%rip), %rsi     # 0x56459
callq 0x74d0
testl %eax, %eax
je 0x10b65
movq %rbp, %rdi
leaq 0x467f8(%rip), %rsi     # 0x5646b
callq 0x74d0
testl %eax, %eax
je 0x10ba6
movq %rbp, %rdi
leaq 0x467fe(%rip), %rsi     # 0x56488
callq 0x74d0
testl %eax, %eax
je 0x10c15
movq %rbp, %rdi
leaq 0x46803(%rip), %rsi     # 0x564a4
callq 0x74d0
testl %eax, %eax
je 0x10c81
movq %rbp, %rdi
leaq 0x46bc5(%rip), %rsi     # 0x5687d
callq 0x74d0
testl %eax, %eax
je 0x10ccb
movq %rbp, %rdi
leaq 0x46819(%rip), %rsi     # 0x564e8
callq 0x74d0
testl %eax, %eax
je 0x10d06
movq %rbp, %rdi
leaq 0x46829(%rip), %rsi     # 0x5650f
callq 0x74d0
testl %eax, %eax
je 0x10d41
movq %rbp, %rdi
leaq 0x46838(%rip), %rsi     # 0x56535
callq 0x74d0
testl %eax, %eax
je 0x10d7c
movq %rbp, %rdi
leaq 0x46835(%rip), %rsi     # 0x56549
callq 0x74d0
testl %eax, %eax
je 0x10db6
movq %rbp, %rdi
leaq 0x46832(%rip), %rsi     # 0x5655d
callq 0x74d0
testl %eax, %eax
je 0x10ded
movq %rbp, %rdi
leaq 0x46831(%rip), %rsi     # 0x56573
callq 0x74d0
testl %eax, %eax
je 0x10e24
movq %rbp, %rdi
leaq 0x4682e(%rip), %rsi     # 0x56587
callq 0x74d0
testl %eax, %eax
je 0x10e70
movq %rbp, %rdi
leaq 0x46b84(%rip), %rsi     # 0x568f4
callq 0x74d0
testl %eax, %eax
movq %rsp, %r13
jne 0x10f1e
leaq 0x5f689(%rip), %rdi     # 0x6f410
movq %rbx, %rsi
callq 0x13334
jmp 0x10f1e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x74e0
cmpq %r13, 0x20(%rsp)
je 0x10f6c
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x10f60
movl (%rbp), %ecx
cmpl $0x22, %ecx
je 0x10f60
testl %ecx, %ecx
movq %rsp, %r13
jne 0xfdfd
movl %r15d, (%rbp)
movl %eax, 0x5f575(%rip)     # 0x6f378
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0xfe43
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0xfe2b
movq %rsp, %r13
movq %r13, %rdi
leaq 0x46752(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5f51e(%rip)           # 0x6f37c
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x10f1e
callq 0x7370
jmp 0x10f1e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0xfeb8
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0xfea0
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x4628b(%rip), %rsi     # 0x56151
callq 0x74d0
testl %eax, %eax
jne 0x10f78
movl $0x0, 0x5f65b(%rip)     # 0x6f538
leaq 0x10(%rsp), %rax
cmpq %rax, %rbp
je 0xfeef
movq %rbp, %rdi
callq 0x7370
movq %rsp, %r13
jmp 0x10f1e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0xff35
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0xff1d
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x46227(%rip), %rsi     # 0x5616a
callq 0x74d0
testl %eax, %eax
je 0x10032
movq %rbp, %rdi
leaq 0x46215(%rip), %rsi     # 0x5616f
callq 0x74d0
xorl %ecx, %ecx
testl %eax, %eax
je 0x10037
jmp 0x10fd1
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x74a0
cmpq %r13, 0x20(%rsp)
je 0x10fc5
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10056
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x1005d
jmp 0x1102a
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x74a0
cmpq %r13, 0x20(%rsp)
je 0x1101e
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x100e3
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x100ea
jmp 0x11036
movl $0x1, %ecx
movl %ecx, 0x5f343(%rip)     # 0x6f380
leaq 0x10(%rsp), %rax
cmpq %rax, %rbp
movq %rsp, %r13
je 0x10f1e
movq %rbp, %rdi
jmp 0xfe70
movl %r15d, (%rbp)
movq %rsp, %r13
movw %ax, 0x5f320(%rip)      # 0x6f384
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x100a7
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x1008f
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x460f1(%rip), %rsi     # 0x561a6
callq 0x74d0
testl %eax, %eax
je 0x101d2
movq %rbp, %rdi
leaq 0x460e1(%rip), %rsi     # 0x561ad
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x101d4
jmp 0x11042
movl %r15d, (%rbp)
movq %rsp, %r13
movw %ax, 0x5f295(%rip)      # 0x6f386
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10134
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x1011c
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x4608c(%rip), %rsi     # 0x561ce
callq 0x74d0
testl %eax, %eax
je 0x10241
movq %rbp, %rdi
leaq 0x4607c(%rip), %rsi     # 0x561d5
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x10243
jmp 0x1109b
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x7140
cmpq %r13, 0x20(%rsp)
je 0x1108f
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x1024e
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x10255
jmp 0x110f4
xorl %ecx, %ecx
movl %ecx, 0x5f1ae(%rip)     # 0x6f388
jmp 0x1003d
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x7140
cmpq %r13, 0x20(%rsp)
je 0x110e8
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x102ba
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x102c1
jmp 0x1110c
xorl %ecx, %ecx
movl %ecx, 0x5f2f3(%rip)     # 0x6f53c
jmp 0x1003d
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5f131(%rip)     # 0x6f38c
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x7140
cmpq %r13, 0x20(%rsp)
je 0x11100
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10326
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x1032d
jmp 0x11124
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5f0c9(%rip)     # 0x6f390
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x7140
cmpq %r13, 0x20(%rsp)
je 0x11118
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10392
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x10399
jmp 0x1113c
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5f061(%rip)     # 0x6f394
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x7140
cmpq %r13, 0x20(%rsp)
je 0x11130
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x103fe
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x10405
jmp 0x11154
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5eff9(%rip)     # 0x6f398
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %r13
callq 0x7050
movq %rax, %rbp
movl (%rax), %r15d
movl $0x0, (%rax)
movq %r13, %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x7140
cmpq %r13, 0x20(%rsp)
je 0x11148
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10442
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x10449
jmp 0x11160
movl %r15d, (%rbp)
movq %rsp, %r13
movq %rax, 0x5ef94(%rip)     # 0x6f3a0
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq %r13, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x114f4
movq %rax, 0x5ef73(%rip)     # 0x6f3b0
jmp 0xfe5e
movl %r15d, (%rbp)
movq %rsp, %r13
movq %rax, 0x5ef58(%rip)     # 0x6f3a8
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10493
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x1047b
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x45dfb(%rip), %rsi     # 0x5629c
callq 0x74d0
testl %eax, %eax
je 0x1055d
movq %rbp, %rdi
leaq 0x45def(%rip), %rsi     # 0x562a7
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x1055f
jmp 0x1116c
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x1050d
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x104f5
movq %rsp, %r13
movq %r13, %rdi
leaq 0x46088(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5f01c(%rip)           # 0x6f544
jmp 0xfe5e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq %r13, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x114f4
movl %eax, 0x5ee60(%rip)     # 0x6f3b8
jmp 0xfe5e
xorl %ecx, %ecx
movl %ecx, 0x5efdb(%rip)     # 0x6f540
jmp 0x1003d
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x105a8
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10590
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x45c18(%rip), %rsi     # 0x561ce
callq 0x74d0
testl %eax, %eax
je 0x108ec
movq %rbp, %rdi
leaq 0x45c08(%rip), %rsi     # 0x561d5
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x108ee
jmp 0x111b9
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10622
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x1060a
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x45ce0(%rip), %rsi     # 0x56310
callq 0x74d0
testl %eax, %eax
je 0x1095c
movq %rbp, %rdi
leaq 0x45cce(%rip), %rsi     # 0x56315
callq 0x74d0
testl %eax, %eax
je 0x10993
movq %rbp, %rdi
leaq 0x45cbc(%rip), %rsi     # 0x5631a
callq 0x74d0
testl %eax, %eax
je 0x10a7a
movq %rbp, %rdi
leaq 0x45caa(%rip), %rsi     # 0x5631f
callq 0x74d0
testl %eax, %eax
je 0x10af2
movq %rbp, %rdi
leaq 0x45c98(%rip), %rsi     # 0x56324
callq 0x74d0
testl %eax, %eax
je 0x10b57
movq %rbp, %rdi
leaq 0x45c86(%rip), %rsi     # 0x56329
callq 0x74d0
testl %eax, %eax
je 0x10b92
movq %rbp, %rdi
leaq 0x45c74(%rip), %rsi     # 0x5632e
callq 0x74d0
testl %eax, %eax
je 0x10c01
movq %rbp, %rdi
leaq 0x45c62(%rip), %rsi     # 0x56333
callq 0x74d0
testl %eax, %eax
je 0x10c70
movq %rbp, %rdi
leaq 0x45c50(%rip), %rsi     # 0x56338
callq 0x74d0
testl %eax, %eax
je 0x10cb1
movq %rbp, %rdi
leaq 0x45c3e(%rip), %rsi     # 0x5633d
callq 0x74d0
testl %eax, %eax
je 0x10cfc
movq %rbp, %rdi
leaq 0x45c2c(%rip), %rsi     # 0x56342
callq 0x74d0
testl %eax, %eax
je 0x10d37
movq %rbp, %rdi
leaq 0x45c1a(%rip), %rsi     # 0x56347
callq 0x74d0
testl %eax, %eax
je 0x10d72
movq %rbp, %rdi
leaq 0x45c08(%rip), %rsi     # 0x5634c
callq 0x74d0
testl %eax, %eax
je 0x10dac
movq %rbp, %rdi
leaq 0x45bf6(%rip), %rsi     # 0x56351
callq 0x74d0
testl %eax, %eax
je 0x10de3
movq %rbp, %rdi
leaq 0x45be4(%rip), %rsi     # 0x56356
callq 0x74d0
testl %eax, %eax
je 0x10e1a
movq %rbp, %rdi
leaq 0x45bd2(%rip), %rsi     # 0x5635b
callq 0x74d0
testl %eax, %eax
je 0x10e66
movq %rbp, %rdi
leaq 0x45bc0(%rip), %rsi     # 0x56360
callq 0x74d0
testl %eax, %eax
je 0x10ed8
movq %rbp, %rdi
leaq 0x45bae(%rip), %rsi     # 0x56365
callq 0x74d0
testl %eax, %eax
je 0x10edf
movq %rbp, %rdi
leaq 0x45b9c(%rip), %rsi     # 0x5636a
callq 0x74d0
testl %eax, %eax
je 0x10ee6
movq %rbp, %rdi
leaq 0x45b8a(%rip), %rsi     # 0x5636f
callq 0x74d0
testl %eax, %eax
je 0x10eed
movq %rbp, %rdi
leaq 0x45b78(%rip), %rsi     # 0x56374
callq 0x74d0
testl %eax, %eax
je 0x10ef4
movq %rbp, %rdi
leaq 0x45b66(%rip), %rsi     # 0x56379
callq 0x74d0
testl %eax, %eax
je 0x10efb
movq %rbp, %rdi
leaq 0x45b54(%rip), %rsi     # 0x5637e
callq 0x74d0
testl %eax, %eax
je 0x10f02
movq %rbp, %rdi
leaq 0x45b42(%rip), %rsi     # 0x56383
callq 0x74d0
movl $0xb, %ecx
testl %eax, %eax
movq %rsp, %r13
je 0x10f0a
jmp 0x11206
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10899
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10881
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x45b08(%rip), %rsi     # 0x563af
callq 0x74d0
testl %eax, %eax
je 0x1099d
movq %rbp, %rdi
leaq 0x45ae8(%rip), %rsi     # 0x563a6
callq 0x74d0
testl %eax, %eax
je 0x10a84
movq %rbp, %rdi
leaq 0x45ae7(%rip), %rsi     # 0x563bc
callq 0x74d0
movl $0x2, %ecx
testl %eax, %eax
je 0x10a89
jmp 0x11253
xorl %ecx, %ecx
movl %ecx, 0x5ec54(%rip)     # 0x6f548
jmp 0x1003d
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq %r13, %rdi
xorl %esi, %esi
callq 0x1157e
movsd %xmm0, 0x5ea9f(%rip)    # 0x6f3c0
movsd 0x457d7(%rip), %xmm1    # 0x56100
ucomisd %xmm0, %xmm1
jbe 0xfe5e
movl $0x58, %edx
movq 0x5e651(%rip), %rdi     # 0x6ef90
leaq 0x45e94(%rip), %rsi     # 0x567da
callq 0x7400
movq 0x5e63e(%rip), %rdi     # 0x6ef90
callq 0x71c0
jmp 0xfe5e
movl $0x3, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq %r13, %rdi
xorl %esi, %esi
callq 0x1157e
movsd %xmm0, 0x5ea3a(%rip)    # 0x6f3c8
jmp 0xfe5e
movl $0x2, %ecx
jmp 0x10f07
xorl %ecx, %ecx
jmp 0x10a89
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x109e2
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x109ca
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x45a14(%rip), %rsi     # 0x56404
callq 0x74d0
testl %eax, %eax
je 0x10b5e
movq %rbp, %rdi
leaq 0x45a04(%rip), %rsi     # 0x5640b
callq 0x74d0
testl %eax, %eax
je 0x10b9c
movq %rbp, %rdi
leaq 0x459f1(%rip), %rsi     # 0x5640f
callq 0x74d0
testl %eax, %eax
je 0x10c0b
movq %rbp, %rdi
leaq 0x459e1(%rip), %rsi     # 0x56416
callq 0x74d0
testl %eax, %eax
je 0x10c7a
movq %rbp, %rdi
leaq 0x459d3(%rip), %rsi     # 0x5641f
callq 0x74d0
testl %eax, %eax
je 0x10cbb
movq %rbp, %rdi
leaq 0x459c6(%rip), %rsi     # 0x56429
callq 0x74d0
movl $0x5, %ecx
testl %eax, %eax
je 0x10cc0
jmp 0x112a0
movl $0x5, %ecx
jmp 0x10f07
movl $0x1, %ecx
movl %ecx, 0x5eac1(%rip)     # 0x6f550
jmp 0x1003d
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10ad2
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10aba
movq %rsp, %r13
movq %r13, %rdi
leaq 0x45ac3(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5ea67(%rip)           # 0x6f554
jmp 0xfe5e
movl $0x4, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10b3a
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10b22
movq %rsp, %rdi
leaq 0x45a5e(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5e882(%rip)           # 0x6f3d4
jmp 0x10e4f
xorl %ecx, %ecx
jmp 0x10f07
xorl %ecx, %ecx
jmp 0x10cc0
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
callq 0x1157e
movsd %xmm0, 0x5e84b(%rip)    # 0x6f3d8
jmp 0x10e4f
movl $0x1, %ecx
jmp 0x10f07
movl $0x1, %ecx
jmp 0x10cc0
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10be4
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10bcc
movq %rsp, %rdi
leaq 0x459b4(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5e7e4(%rip)           # 0x6f3e0
jmp 0x10e4f
movl $0xd, %ecx
jmp 0x10f07
movl $0x2, %ecx
jmp 0x10cc0
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10c53
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10c3b
movq %rsp, %rdi
leaq 0x45945(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5e776(%rip)           # 0x6f3e1
jmp 0x10e4f
movl $0xc, %ecx
jmp 0x10f07
movl $0x3, %ecx
jmp 0x10cc0
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x114f4
movl %eax, 0x5e738(%rip)     # 0x6f3e4
jmp 0x10e4f
movl $0x10, %ecx
jmp 0x10f07
movl $0x4, %ecx
movl %ecx, 0x5e70a(%rip)     # 0x6f3d0
jmp 0x1003d
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1146a
movq %rax, 0x5e6f1(%rip)     # 0x6f3e8
jmp 0x10e4f
movl $0x11, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1146a
movq %rax, 0x5e6be(%rip)     # 0x6f3f0
jmp 0x10e4f
movl $0xe, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1146a
movq %rax, 0x5e68b(%rip)     # 0x6f3f8
jmp 0x10e4f
movl $0xf, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x114f4
movl %eax, 0x5e659(%rip)     # 0x6f400
jmp 0x10e4f
movl $0x13, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x114f4
movl %eax, 0x5e623(%rip)     # 0x6f404
jmp 0x10e4f
movl $0x12, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x114f4
movl %eax, 0x5e5f0(%rip)     # 0x6f408
jmp 0x10e4f
movl $0x16, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq %rsp, %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x114f4
movl %eax, 0x5e5bd(%rip)     # 0x6f40c
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
jne 0xfeea
jmp 0xfeef
movl $0x17, %ecx
jmp 0x10f07
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10eae
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10e96
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x456df(%rip), %rsi     # 0x5659b
callq 0x74d0
testl %eax, %eax
jne 0x112ed
movl $0x0, 0x5e685(%rip)     # 0x6f558
jmp 0xfedd
movl $0x14, %ecx
jmp 0x10f07
movl $0x15, %ecx
jmp 0x10f07
movl $0x6, %ecx
jmp 0x10f07
movl $0x7, %ecx
jmp 0x10f07
movl $0x8, %ecx
jmp 0x10f07
movl $0x9, %ecx
jmp 0x10f07
movl $0xa, %ecx
movq %rsp, %r13
movl %ecx, 0x5e63c(%rip)     # 0x6f54c
leaq 0x10(%rsp), %rax
cmpq %rax, %rbp
jne 0x1004e
cmpq $0x0, 0x20(%rbx)
je 0x10f41
movq 0x58(%rbx), %rbx
testq %rbx, %rbx
jne 0xf9f2
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4482f(%rip), %rdi     # 0x55777
leaq 0x445fa(%rip), %rsi     # 0x55549
leaq 0x44830(%rip), %rcx     # 0x55786
movl $0x3ee, %edx            # imm = 0x3EE
callq 0x7270
leaq 0x459c3(%rip), %rdi     # 0x5692a
callq 0x7510
leaq 0x459b7(%rip), %rdi     # 0x5692a
callq 0x7250
movq 0x5e071(%rip), %rdi     # 0x6eff0
leaq 0x45622(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5e059(%rip), %rdi     # 0x6eff0
leaq 0x45611(%rip), %rsi     # 0x565af
movl $0x38, %edx
callq 0x7400
movq 0x5e041(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5e015(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
leaq 0x45963(%rip), %rdi     # 0x5692f
callq 0x7250
movq 0x5e018(%rip), %rdi     # 0x6eff0
leaq 0x455c9(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5e000(%rip), %rdi     # 0x6eff0
leaq 0x455f1(%rip), %rsi     # 0x565e8
movl $0x43, %edx
callq 0x7400
movq 0x5dfe8(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5dfbc(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
leaq 0x4590a(%rip), %rdi     # 0x5692f
callq 0x7250
leaq 0x458fe(%rip), %rdi     # 0x5692f
callq 0x7510
leaq 0x458f2(%rip), %rdi     # 0x5692f
callq 0x7510
movq 0x5dfa7(%rip), %rdi     # 0x6eff0
leaq 0x45558(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5df8f(%rip), %rdi     # 0x6eff0
leaq 0x455c4(%rip), %rsi     # 0x5662c
movl $0x46, %edx
callq 0x7400
movq 0x5df77(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5df4b(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
leaq 0x458a0(%rip), %rdi     # 0x56936
callq 0x7250
movq 0x5df4e(%rip), %rdi     # 0x6eff0
leaq 0x454ff(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5df36(%rip), %rdi     # 0x6eff0
leaq 0x455b2(%rip), %rsi     # 0x56673
movl $0x47, %edx
callq 0x7400
movq 0x5df1e(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5def2(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
leaq 0x45847(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x4583b(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x4582f(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x45823(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x45817(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x4580b(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x457ff(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x457f3(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x457e7(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x457db(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x457cf(%rip), %rdi     # 0x56936
callq 0x7510
movq 0x5de7d(%rip), %rdi     # 0x6eff0
leaq 0x4542e(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5de65(%rip), %rdi     # 0x6eff0
leaq 0x45529(%rip), %rsi     # 0x566bb
movl $0x44, %edx
callq 0x7400
movq 0x5de4d(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5de21(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
movq 0x5de30(%rip), %rdi     # 0x6eff0
leaq 0x453e1(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5de18(%rip), %rdi     # 0x6eff0
leaq 0x45521(%rip), %rsi     # 0x56700
movl $0x40, %edx
callq 0x7400
movq 0x5de00(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5ddd4(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
movq 0x5dde3(%rip), %rdi     # 0x6eff0
leaq 0x45394(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5ddcb(%rip), %rdi     # 0x6eff0
leaq 0x45515(%rip), %rsi     # 0x56741
movl $0x4c, %edx
callq 0x7400
movq 0x5ddb3(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5dd87(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
movq 0x5dd96(%rip), %rdi     # 0x6eff0
leaq 0x45347(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5dd7e(%rip), %rdi     # 0x6eff0
leaq 0x45515(%rip), %rsi     # 0x5678e
movl $0x4b, %edx
callq 0x7400
movq 0x5dd66(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5dd3a(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
movq 0x5dd49(%rip), %rdi     # 0x6eff0
leaq 0x452fa(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5dd31(%rip), %rdi     # 0x6eff0
leaq 0x4556d(%rip), %rsi     # 0x56833
movl $0x49, %edx
callq 0x7400
movq 0x5dd19(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5dced(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
movq 0x5dcfc(%rip), %rdi     # 0x6eff0
leaq 0x452ad(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5dce4(%rip), %rdi     # 0x6eff0
leaq 0x4558f(%rip), %rsi     # 0x568a2
movl $0x51, %edx
callq 0x7400
movq 0x5dccc(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5dca0(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11448
jmp 0x113ca
jmp 0x113ca
jmp 0x113ca
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113d3
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113d3
jmp 0x113d3
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113d3
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113d3
jmp 0x113ca
jmp 0x113d3
jmp 0x113d3
jmp 0x113d8
jmp 0x113d3
jmp 0x113d8
jmp 0x113d3
jmp 0x113d8
jmp 0x113d3
jmp 0x113d8
jmp 0x113d3
jmp 0x113d8
jmp 0x113ca
jmp 0x113d3
jmp 0x113d8
jmp 0x113ca
jmp 0x113d3
jmp 0x113d3
jmp 0x113d3
jmp 0x113ca
jmp 0x113d8
jmp 0x113d3
jmp 0x113d8
jmp 0x113d3
movq %rax, %rbx
jmp 0x113e5
jmp 0x113d3
jmp 0x113d3
movq %rax, %rbx
jmp 0x113f8
movq %rax, %rbx
cmpl $0x0, (%rbp)
jne 0x113e5
movl %r15d, (%rbp)
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x113f8
callq 0x7370
movq %rbx, %rdi
callq 0x7190
movq 0x5dbe9(%rip), %rdi     # 0x6eff0
leaq 0x4519a(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5dbd1(%rip), %rdi     # 0x6eff0
leaq 0x454e2(%rip), %rsi     # 0x56908
movl $0x1e, %edx
callq 0x7400
movq 0x5dbb9(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5db8d(%rip), %rdi     # 0x6efd0
callq 0x7430
movl $0x1, %edi
callq 0x7440
movq %rax, %rbx
callq 0x7590
movq %rbx, %rdi
callq 0x7620
movq %rax, %rdi
callq 0xaf65