// File: /workspace/github_cpp_makefile_star2_O3/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 0x10e1c
leaq 0x5fc84(%rip), %r14     # 0x6f532
movq %rsp, %r13
leaq 0x20(%rsp), %r12
movq (%rbx), %rbp
testq %rbp, %rbp
cmoveq %r14, %rbp
movq %rbp, %rdi
leaq 0x46853(%rip), %rsi     # 0x5611d
callq 0x74d0
testl %eax, %eax
je 0xfc58
movq %rbp, %rdi
leaq 0x46841(%rip), %rsi     # 0x56122
callq 0x74d0
testl %eax, %eax
je 0xfcc9
movq %rbp, %rdi
leaq 0x4684d(%rip), %rsi     # 0x56145
callq 0x74d0
testl %eax, %eax
je 0xfd39
movq %rbp, %rdi
leaq 0x46848(%rip), %rsi     # 0x56157
callq 0x74d0
testl %eax, %eax
je 0xfdb3
movq %rbp, %rdi
leaq 0x4684e(%rip), %rsi     # 0x56174
callq 0x74d0
testl %eax, %eax
je 0xfe2e
movq %rbp, %rdi
leaq 0x46846(%rip), %rsi     # 0x56183
callq 0x74d0
testl %eax, %eax
je 0xfe90
movq %rbp, %rdi
leaq 0x46840(%rip), %rsi     # 0x56194
callq 0x74d0
testl %eax, %eax
je 0xff3f
movq %rbp, %rdi
leaq 0x4684b(%rip), %rsi     # 0x561b6
callq 0x74d0
testl %eax, %eax
je 0xffd0
movq %rbp, %rdi
leaq 0x46866(%rip), %rsi     # 0x561e8
callq 0x74d0
testl %eax, %eax
je 0x1004e
movq %rbp, %rdi
leaq 0x46863(%rip), %rsi     # 0x561fc
callq 0x74d0
testl %eax, %eax
je 0x100bd
movq %rbp, %rdi
leaq 0x46865(%rip), %rsi     # 0x56215
callq 0x74d0
testl %eax, %eax
je 0x1013e
movq %rbp, %rdi
leaq 0x46868(%rip), %rsi     # 0x5622f
callq 0x74d0
testl %eax, %eax
je 0x101aa
movq %rbp, %rdi
leaq 0x46871(%rip), %rsi     # 0x5624f
callq 0x74d0
testl %eax, %eax
je 0x10216
movq %rbp, %rdi
leaq 0x4686f(%rip), %rsi     # 0x56264
callq 0x74d0
testl %eax, %eax
je 0x10282
movq %rbp, %rdi
leaq 0x4686c(%rip), %rsi     # 0x56278
callq 0x74d0
testl %eax, %eax
je 0x102ef
movq %rbp, %rdi
leaq 0x46869(%rip), %rsi     # 0x5628c
callq 0x74d0
testl %eax, %eax
je 0x10333
movq %rbp, %rdi
leaq 0x46874(%rip), %rsi     # 0x562ae
callq 0x74d0
testl %eax, %eax
je 0x103b1
movq %rbp, %rdi
leaq 0x46871(%rip), %rsi     # 0x562c2
callq 0x74d0
testl %eax, %eax
je 0x1040f
movq %rbp, %rdi
leaq 0x46867(%rip), %rsi     # 0x562cf
callq 0x74d0
testl %eax, %eax
je 0x1044c
movq %rbp, %rdi
leaq 0x46879(%rip), %rsi     # 0x562f8
callq 0x74d0
testl %eax, %eax
je 0x104ca
movq %rbp, %rdi
leaq 0x468f2(%rip), %rsi     # 0x56388
callq 0x74d0
testl %eax, %eax
je 0x10745
movq %rbp, %rdi
leaq 0x46914(%rip), %rsi     # 0x563c1
callq 0x74d0
testl %eax, %eax
je 0x107e7
movq %rbp, %rdi
leaq 0x46914(%rip), %rsi     # 0x563d8
callq 0x74d0
testl %eax, %eax
je 0x10854
movq %rbp, %rdi
leaq 0x4690f(%rip), %rsi     # 0x563ea
callq 0x74d0
testl %eax, %eax
je 0x10892
movq %rbp, %rdi
leaq 0x4693c(%rip), %rsi     # 0x5642e
callq 0x74d0
testl %eax, %eax
je 0x10986
movq %rbp, %rdi
leaq 0x46939(%rip), %rsi     # 0x56442
callq 0x74d0
testl %eax, %eax
je 0x109ee
movq %rbp, %rdi
leaq 0x46939(%rip), %rsi     # 0x56459
callq 0x74d0
testl %eax, %eax
je 0x10a57
movq %rbp, %rdi
leaq 0x46934(%rip), %rsi     # 0x5646b
callq 0x74d0
testl %eax, %eax
je 0x10a98
movq %rbp, %rdi
leaq 0x4693a(%rip), %rsi     # 0x56488
callq 0x74d0
testl %eax, %eax
je 0x10b07
movq %rbp, %rdi
leaq 0x4693f(%rip), %rsi     # 0x564a4
callq 0x74d0
testl %eax, %eax
je 0x10b73
movq %rbp, %rdi
leaq 0x46d01(%rip), %rsi     # 0x5687d
callq 0x74d0
testl %eax, %eax
je 0x10bc0
movq %rbp, %rdi
leaq 0x46955(%rip), %rsi     # 0x564e8
callq 0x74d0
testl %eax, %eax
je 0x10bfb
movq %rbp, %rdi
leaq 0x46965(%rip), %rsi     # 0x5650f
callq 0x74d0
testl %eax, %eax
je 0x10c36
movq %rbp, %rdi
leaq 0x46974(%rip), %rsi     # 0x56535
callq 0x74d0
testl %eax, %eax
je 0x10c71
movq %rbp, %rdi
leaq 0x46971(%rip), %rsi     # 0x56549
callq 0x74d0
testl %eax, %eax
je 0x10cab
movq %rbp, %rdi
leaq 0x4696e(%rip), %rsi     # 0x5655d
callq 0x74d0
testl %eax, %eax
je 0x10ce2
movq %rbp, %rdi
leaq 0x4696d(%rip), %rsi     # 0x56573
callq 0x74d0
testl %eax, %eax
je 0x10d19
movq %rbp, %rdi
leaq 0x4696a(%rip), %rsi     # 0x56587
callq 0x74d0
testl %eax, %eax
je 0x10d69
movq %rbp, %rdi
leaq 0x46cc0(%rip), %rsi     # 0x568f4
callq 0x74d0
testl %eax, %eax
movq %rsp, %r13
jne 0xff0f
leaq 0x5f7c5(%rip), %rdi     # 0x6f410
movq %rbx, %rsi
callq 0x1321c
jmp 0xff0f
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 0x10e56
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x10e4a
movl (%rbp), %ecx
cmpl $0x22, %ecx
je 0x10e4a
testl %ecx, %ecx
movq %rsp, %r13
jne 0xfcc1
movl %r15d, (%rbp)
movl %eax, 0x5f6b1(%rip)     # 0x6f378
jmp 0xfd22
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 0xfd07
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0xfcef
movq %rsp, %r13
movq %r13, %rdi
leaq 0x4688e(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5f65a(%rip)           # 0x6f37c
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
jne 0xff0a
jmp 0xff0f
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0xfd7c
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0xfd60
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x463cb(%rip), %rsi     # 0x56151
callq 0x74d0
testl %eax, %eax
jne 0x10e62
movl $0x0, 0x5f79b(%rip)     # 0x6f538
leaq 0x10(%rsp), %rax
cmpq %rax, %rbp
movq %rsp, %r13
jne 0xff07
jmp 0xff0f
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0xfdf9
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0xfdda
movq (%rsp), %rbp
movq %rsp, %r13
movq %rbp, %rdi
leaq 0x46367(%rip), %rsi     # 0x5616a
callq 0x74d0
testl %eax, %eax
je 0xfef2
movq %rbp, %rdi
leaq 0x46355(%rip), %rsi     # 0x5616f
callq 0x74d0
xorl %ecx, %ecx
testl %eax, %eax
je 0xfef7
jmp 0x10ebb
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 0x10eaf
movl (%rbp), %ecx
testl %ecx, %ecx
je 0xff2c
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0xff33
jmp 0x10f14
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 0x10f08
movl (%rbp), %ecx
testl %ecx, %ecx
je 0xffbd
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0xffc4
jmp 0x10f20
movl $0x1, %ecx
movl %ecx, 0x5f483(%rip)     # 0x6f380
leaq 0x10(%rsp), %rax
cmpq %rax, %rbp
je 0xff0f
movq %rbp, %rdi
callq 0x7370
cmpq $0x0, 0x20(%rbx)
je 0x10e2b
movq 0x58(%rbx), %rbx
testq %rbx, %rbx
jne 0xf8b6
jmp 0x10e1c
movl %r15d, (%rbp)
movq %rsp, %r13
movw %ax, 0x5f44a(%rip)      # 0x6f384
jmp 0xfd22
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0xff85
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0xff66
movq (%rsp), %rbp
movq %rsp, %r13
movq %rbp, %rdi
leaq 0x46217(%rip), %rsi     # 0x561a6
callq 0x74d0
testl %eax, %eax
je 0x100b0
movq %rbp, %rdi
leaq 0x46207(%rip), %rsi     # 0x561ad
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x100b2
jmp 0x10f2c
movl %r15d, (%rbp)
movq %rsp, %r13
movw %ax, 0x5f3bb(%rip)      # 0x6f386
jmp 0xfd22
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10016
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0xfff7
movq (%rsp), %rbp
movq %rsp, %r13
movq %rbp, %rdi
leaq 0x461ae(%rip), %rsi     # 0x561ce
callq 0x74d0
testl %eax, %eax
je 0x1011f
movq %rbp, %rdi
leaq 0x4619e(%rip), %rsi     # 0x561d5
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x10121
jmp 0x10f85
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 0x10f79
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x1012c
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x10133
jmp 0x10fde
xorl %ecx, %ecx
movl %ecx, 0x5f2d0(%rip)     # 0x6f388
jmp 0xfefd
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 0x10fd2
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10198
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x1019f
jmp 0x10ff6
xorl %ecx, %ecx
movl %ecx, 0x5f415(%rip)     # 0x6f53c
jmp 0xfefd
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5f253(%rip)     # 0x6f38c
jmp 0xfd22
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 0x10fea
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10204
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x1020b
jmp 0x1100e
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5f1eb(%rip)     # 0x6f390
jmp 0xfd22
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 0x11002
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10270
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x10277
jmp 0x11026
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5f183(%rip)     # 0x6f394
jmp 0xfd22
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 0x1101a
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x102dc
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x102e3
jmp 0x1103e
movl %r15d, (%rbp)
movq %rsp, %r13
movl %eax, 0x5f11b(%rip)     # 0x6f398
jmp 0xfd22
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 0x11032
movl (%rbp), %ecx
testl %ecx, %ecx
je 0x10320
cmpl $0x22, %ecx
movq %rsp, %r13
jne 0x10327
jmp 0x1104a
movl %r15d, (%rbp)
movq %rsp, %r13
movq %rax, 0x5f0b6(%rip)     # 0x6f3a0
jmp 0xfd22
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 0x113de
movq %rax, 0x5f095(%rip)     # 0x6f3b0
jmp 0xfd22
movl %r15d, (%rbp)
movq %rsp, %r13
movq %rax, 0x5f07a(%rip)     # 0x6f3a8
jmp 0xfd22
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10379
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0x1035a
movq (%rsp), %rbp
movq %rsp, %r13
movq %rbp, %rdi
leaq 0x45f19(%rip), %rsi     # 0x5629c
callq 0x74d0
testl %eax, %eax
je 0x1043f
movq %rbp, %rdi
leaq 0x45f0d(%rip), %rsi     # 0x562a7
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x10441
jmp 0x11056
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 0x103ef
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x103d7
movq %rsp, %r13
movq %r13, %rdi
leaq 0x461a6(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5f13a(%rip)           # 0x6f544
jmp 0xfd22
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 0x113de
movl %eax, 0x5ef7e(%rip)     # 0x6f3b8
jmp 0xfd22
xorl %ecx, %ecx
movl %ecx, 0x5f0f9(%rip)     # 0x6f540
jmp 0xfefd
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10492
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0x10473
movq (%rsp), %rbp
movq %rsp, %r13
movq %rbp, %rdi
leaq 0x45d32(%rip), %rsi     # 0x561ce
callq 0x74d0
testl %eax, %eax
je 0x107da
movq %rbp, %rdi
leaq 0x45d22(%rip), %rsi     # 0x561d5
callq 0x74d0
movl $0x1, %ecx
testl %eax, %eax
je 0x107dc
jmp 0x110a3
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10510
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0x104f1
movq (%rsp), %rbp
movq %rsp, %r13
movq %rbp, %rdi
leaq 0x45df6(%rip), %rsi     # 0x56310
callq 0x74d0
testl %eax, %eax
je 0x1084a
movq %rbp, %rdi
leaq 0x45de4(%rip), %rsi     # 0x56315
callq 0x74d0
testl %eax, %eax
je 0x10881
movq %rbp, %rdi
leaq 0x45dd2(%rip), %rsi     # 0x5631a
callq 0x74d0
testl %eax, %eax
je 0x1096c
movq %rbp, %rdi
leaq 0x45dc0(%rip), %rsi     # 0x5631f
callq 0x74d0
testl %eax, %eax
je 0x109e4
movq %rbp, %rdi
leaq 0x45dae(%rip), %rsi     # 0x56324
callq 0x74d0
testl %eax, %eax
je 0x10a49
movq %rbp, %rdi
leaq 0x45d9c(%rip), %rsi     # 0x56329
callq 0x74d0
testl %eax, %eax
je 0x10a84
movq %rbp, %rdi
leaq 0x45d8a(%rip), %rsi     # 0x5632e
callq 0x74d0
testl %eax, %eax
je 0x10af3
movq %rbp, %rdi
leaq 0x45d78(%rip), %rsi     # 0x56333
callq 0x74d0
testl %eax, %eax
je 0x10b62
movq %rbp, %rdi
leaq 0x45d66(%rip), %rsi     # 0x56338
callq 0x74d0
testl %eax, %eax
je 0x10ba3
movq %rbp, %rdi
leaq 0x45d54(%rip), %rsi     # 0x5633d
callq 0x74d0
testl %eax, %eax
je 0x10bf1
movq %rbp, %rdi
leaq 0x45d42(%rip), %rsi     # 0x56342
callq 0x74d0
testl %eax, %eax
je 0x10c2c
movq %rbp, %rdi
leaq 0x45d30(%rip), %rsi     # 0x56347
callq 0x74d0
testl %eax, %eax
je 0x10c67
movq %rbp, %rdi
leaq 0x45d1e(%rip), %rsi     # 0x5634c
callq 0x74d0
testl %eax, %eax
je 0x10ca1
movq %rbp, %rdi
leaq 0x45d0c(%rip), %rsi     # 0x56351
callq 0x74d0
testl %eax, %eax
je 0x10cd8
movq %rbp, %rdi
leaq 0x45cfa(%rip), %rsi     # 0x56356
callq 0x74d0
testl %eax, %eax
je 0x10d0f
movq %rbp, %rdi
leaq 0x45ce8(%rip), %rsi     # 0x5635b
callq 0x74d0
testl %eax, %eax
je 0x10d5f
movq %rbp, %rdi
leaq 0x45cd6(%rip), %rsi     # 0x56360
callq 0x74d0
testl %eax, %eax
je 0x10ddf
movq %rbp, %rdi
leaq 0x45cc4(%rip), %rsi     # 0x56365
callq 0x74d0
testl %eax, %eax
je 0x10de6
movq %rbp, %rdi
leaq 0x45cb2(%rip), %rsi     # 0x5636a
callq 0x74d0
testl %eax, %eax
je 0x10ded
movq %rbp, %rdi
leaq 0x45ca0(%rip), %rsi     # 0x5636f
callq 0x74d0
testl %eax, %eax
je 0x10df4
movq %rbp, %rdi
leaq 0x45c8e(%rip), %rsi     # 0x56374
callq 0x74d0
testl %eax, %eax
je 0x10dfb
movq %rbp, %rdi
leaq 0x45c7c(%rip), %rsi     # 0x56379
callq 0x74d0
testl %eax, %eax
je 0x10e02
movq %rbp, %rdi
leaq 0x45c6a(%rip), %rsi     # 0x5637e
callq 0x74d0
testl %eax, %eax
je 0x10e09
movq %rbp, %rdi
leaq 0x45c58(%rip), %rsi     # 0x56383
callq 0x74d0
movl $0xb, %ecx
testl %eax, %eax
movq %rsp, %r13
je 0x10e11
jmp 0x110f0
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x1078b
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0x1076c
movq (%rsp), %rbp
movq %rsp, %r13
movq %rbp, %rdi
leaq 0x45c1a(%rip), %rsi     # 0x563af
callq 0x74d0
testl %eax, %eax
je 0x1088b
movq %rbp, %rdi
leaq 0x45bfa(%rip), %rsi     # 0x563a6
callq 0x74d0
testl %eax, %eax
je 0x10976
movq %rbp, %rdi
leaq 0x45bf9(%rip), %rsi     # 0x563bc
callq 0x74d0
movl $0x2, %ecx
testl %eax, %eax
je 0x1097b
jmp 0x1113d
xorl %ecx, %ecx
movl %ecx, 0x5ed66(%rip)     # 0x6f548
jmp 0xfefd
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 0x11468
movsd %xmm0, 0x5ebb1(%rip)    # 0x6f3c0
movsd 0x458e9(%rip), %xmm1    # 0x56100
ucomisd %xmm0, %xmm1
jbe 0xfd22
movl $0x58, %edx
movq 0x5e75b(%rip), %rdi     # 0x6ef88
leaq 0x45fa6(%rip), %rsi     # 0x567da
callq 0x7400
movq 0x5e748(%rip), %rdi     # 0x6ef88
callq 0x71c0
jmp 0xfd22
movl $0x3, %ecx
jmp 0x10e11
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 0x11468
movsd %xmm0, 0x5eb4c(%rip)    # 0x6f3c8
jmp 0xfd22
movl $0x2, %ecx
jmp 0x10e11
xorl %ecx, %ecx
jmp 0x1097b
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x108d5
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0x108b9
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x45b25(%rip), %rsi     # 0x56404
callq 0x74d0
testl %eax, %eax
je 0x10a50
movq %rbp, %rdi
leaq 0x45b15(%rip), %rsi     # 0x5640b
callq 0x74d0
testl %eax, %eax
je 0x10a8e
movq %rbp, %rdi
leaq 0x45b02(%rip), %rsi     # 0x5640f
callq 0x74d0
testl %eax, %eax
je 0x10afd
movq %rbp, %rdi
leaq 0x45af2(%rip), %rsi     # 0x56416
callq 0x74d0
testl %eax, %eax
je 0x10b6c
movq %rbp, %rdi
leaq 0x45ae4(%rip), %rsi     # 0x5641f
callq 0x74d0
testl %eax, %eax
je 0x10bad
movq %rbp, %rdi
leaq 0x45ad7(%rip), %rsi     # 0x56429
callq 0x74d0
movl $0x5, %ecx
testl %eax, %eax
movq %rsp, %r13
je 0x10bb5
jmp 0x1118a
movl $0x5, %ecx
jmp 0x10e11
movl $0x1, %ecx
movl %ecx, 0x5ebcf(%rip)     # 0x6f550
jmp 0xfefd
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 0x109c4
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x109ac
movq %rsp, %r13
movq %r13, %rdi
leaq 0x45bd1(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5eb75(%rip)           # 0x6f554
jmp 0xfd22
movl $0x4, %ecx
jmp 0x10e11
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 0x10a2c
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10a14
movq %rsp, %rdi
leaq 0x45b6c(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5e990(%rip)           # 0x6f3d4
jmp 0x10d44
xorl %ecx, %ecx
jmp 0x10e11
xorl %ecx, %ecx
jmp 0x10bb2
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 0x11468
movsd %xmm0, 0x5e959(%rip)    # 0x6f3d8
jmp 0x10d44
movl $0x1, %ecx
jmp 0x10e11
movl $0x1, %ecx
jmp 0x10bb2
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 0x10ad6
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10abe
movq %rsp, %rdi
leaq 0x45ac2(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5e8f2(%rip)           # 0x6f3e0
jmp 0x10d44
movl $0xd, %ecx
jmp 0x10e0e
movl $0x2, %ecx
jmp 0x10bb2
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 0x10b45
movq (%rsp), %r13
xorl %ebp, %ebp
movsbl (%r13,%rbp), %edi
callq 0x7670
movb %al, (%r13,%rbp)
incq %rbp
cmpq %rbp, %r15
jne 0x10b2d
movq %rsp, %rdi
leaq 0x45a53(%rip), %rsi     # 0x565a2
callq 0x7120
testl %eax, %eax
setne 0x5e884(%rip)           # 0x6f3e1
jmp 0x10d44
movl $0xc, %ecx
jmp 0x10e0e
movl $0x3, %ecx
jmp 0x10bb2
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 0x113de
movl %eax, 0x5e846(%rip)     # 0x6f3e4
jmp 0x10d44
movl $0x10, %ecx
jmp 0x10e0e
movl $0x4, %ecx
movq %rsp, %r13
movl %ecx, 0x5e815(%rip)     # 0x6f3d0
jmp 0xfefd
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 0x11354
movq %rax, 0x5e7fc(%rip)     # 0x6f3e8
jmp 0x10d44
movl $0x11, %ecx
jmp 0x10e0e
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 0x11354
movq %rax, 0x5e7c9(%rip)     # 0x6f3f0
jmp 0x10d44
movl $0xe, %ecx
jmp 0x10e0e
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 0x11354
movq %rax, 0x5e796(%rip)     # 0x6f3f8
jmp 0x10d44
movl $0xf, %ecx
jmp 0x10e0e
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 0x113de
movl %eax, 0x5e764(%rip)     # 0x6f400
jmp 0x10d44
movl $0x13, %ecx
jmp 0x10e0e
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 0x113de
movl %eax, 0x5e72e(%rip)     # 0x6f404
jmp 0x10d44
movl $0x12, %ecx
jmp 0x10e0e
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 0x113de
movl %eax, 0x5e6fb(%rip)     # 0x6f408
jmp 0x10d44
movl $0x16, %ecx
jmp 0x10e0e
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 0x113de
movl %eax, 0x5e6c8(%rip)     # 0x6f40c
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x10d57
callq 0x7370
movq %rsp, %r13
jmp 0xff0f
movl $0x17, %ecx
jmp 0x10e0e
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
cmoveq %r14, %rsi
movq %rsp, %rdi
movq %r12, %rdx
callq 0x7180
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x10dac
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0x7670
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0x10d90
movq (%rsp), %rbp
movq %rbp, %rdi
leaq 0x457e5(%rip), %rsi     # 0x5659b
callq 0x74d0
testl %eax, %eax
jne 0x111d7
movl $0x0, 0x5e78b(%rip)     # 0x6f558
leaq 0x10(%rsp), %rax
cmpq %rax, %rbp
je 0x10d57
movq %rbp, %rdi
jmp 0x10d52
movl $0x14, %ecx
jmp 0x10e0e
movl $0x15, %ecx
jmp 0x10e0e
movl $0x6, %ecx
jmp 0x10e0e
movl $0x7, %ecx
jmp 0x10e0e
movl $0x8, %ecx
jmp 0x10e0e
movl $0x9, %ecx
jmp 0x10e0e
movl $0xa, %ecx
movq %rsp, %r13
movl %ecx, 0x5e735(%rip)     # 0x6f54c
jmp 0xfefd
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x44945(%rip), %rdi     # 0x55777
leaq 0x44710(%rip), %rsi     # 0x55549
leaq 0x44946(%rip), %rcx     # 0x55786
movl $0x3ee, %edx            # imm = 0x3EE
callq 0x7270
leaq 0x45ad9(%rip), %rdi     # 0x5692a
callq 0x7510
leaq 0x45acd(%rip), %rdi     # 0x5692a
callq 0x7250
movq 0x5e187(%rip), %rdi     # 0x6eff0
leaq 0x45738(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5e16f(%rip), %rdi     # 0x6eff0
leaq 0x45727(%rip), %rsi     # 0x565af
movl $0x38, %edx
callq 0x7400
movq 0x5e157(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5e12b(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
leaq 0x45a79(%rip), %rdi     # 0x5692f
callq 0x7250
movq 0x5e12e(%rip), %rdi     # 0x6eff0
leaq 0x456df(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5e116(%rip), %rdi     # 0x6eff0
leaq 0x45707(%rip), %rsi     # 0x565e8
movl $0x43, %edx
callq 0x7400
movq 0x5e0fe(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5e0d2(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
leaq 0x45a20(%rip), %rdi     # 0x5692f
callq 0x7250
leaq 0x45a14(%rip), %rdi     # 0x5692f
callq 0x7510
leaq 0x45a08(%rip), %rdi     # 0x5692f
callq 0x7510
movq 0x5e0bd(%rip), %rdi     # 0x6eff0
leaq 0x4566e(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5e0a5(%rip), %rdi     # 0x6eff0
leaq 0x456da(%rip), %rsi     # 0x5662c
movl $0x46, %edx
callq 0x7400
movq 0x5e08d(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5e061(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
leaq 0x459b6(%rip), %rdi     # 0x56936
callq 0x7250
movq 0x5e064(%rip), %rdi     # 0x6eff0
leaq 0x45615(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5e04c(%rip), %rdi     # 0x6eff0
leaq 0x456c8(%rip), %rsi     # 0x56673
movl $0x47, %edx
callq 0x7400
movq 0x5e034(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5e008(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
leaq 0x4595d(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x45951(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x45945(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x45939(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x4592d(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x45921(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x45915(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x45909(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x458fd(%rip), %rdi     # 0x56936
callq 0x7250
leaq 0x458f1(%rip), %rdi     # 0x56936
callq 0x7510
leaq 0x458e5(%rip), %rdi     # 0x56936
callq 0x7510
movq 0x5df93(%rip), %rdi     # 0x6eff0
leaq 0x45544(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5df7b(%rip), %rdi     # 0x6eff0
leaq 0x4563f(%rip), %rsi     # 0x566bb
movl $0x44, %edx
callq 0x7400
movq 0x5df63(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5df37(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
movq 0x5df46(%rip), %rdi     # 0x6eff0
leaq 0x454f7(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5df2e(%rip), %rdi     # 0x6eff0
leaq 0x45637(%rip), %rsi     # 0x56700
movl $0x40, %edx
callq 0x7400
movq 0x5df16(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5deea(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
movq 0x5def9(%rip), %rdi     # 0x6eff0
leaq 0x454aa(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5dee1(%rip), %rdi     # 0x6eff0
leaq 0x4562b(%rip), %rsi     # 0x56741
movl $0x4c, %edx
callq 0x7400
movq 0x5dec9(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5de9d(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
movq 0x5deac(%rip), %rdi     # 0x6eff0
leaq 0x4545d(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5de94(%rip), %rdi     # 0x6eff0
leaq 0x4562b(%rip), %rsi     # 0x5678e
movl $0x4b, %edx
callq 0x7400
movq 0x5de7c(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5de50(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
movq 0x5de5f(%rip), %rdi     # 0x6eff0
leaq 0x45410(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5de47(%rip), %rdi     # 0x6eff0
leaq 0x45683(%rip), %rsi     # 0x56833
movl $0x49, %edx
callq 0x7400
movq 0x5de2f(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5de03(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
movq 0x5de12(%rip), %rdi     # 0x6eff0
leaq 0x453c3(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5ddfa(%rip), %rdi     # 0x6eff0
leaq 0x456a5(%rip), %rsi     # 0x568a2
movl $0x51, %edx
callq 0x7400
movq 0x5dde2(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5ddb6(%rip), %rdi     # 0x6efd0
callq 0x7430
jmp 0x11332
jmp 0x112b4
jmp 0x112b4
jmp 0x112b4
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112bd
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112bd
jmp 0x112bd
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112bd
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112bd
jmp 0x112b4
jmp 0x112bd
jmp 0x112bd
jmp 0x112c2
jmp 0x112bd
jmp 0x112c2
jmp 0x112bd
jmp 0x112c2
jmp 0x112bd
jmp 0x112c2
jmp 0x112bd
jmp 0x112c2
jmp 0x112b4
jmp 0x112bd
jmp 0x112c2
jmp 0x112b4
jmp 0x112bd
jmp 0x112bd
jmp 0x112bd
jmp 0x112b4
jmp 0x112c2
jmp 0x112bd
jmp 0x112c2
jmp 0x112bd
movq %rax, %rbx
jmp 0x112cf
jmp 0x112bd
jmp 0x112bd
movq %rax, %rbx
jmp 0x112e2
movq %rax, %rbx
cmpl $0x0, (%rbp)
jne 0x112cf
movl %r15d, (%rbp)
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x112e2
callq 0x7370
movq %rbx, %rdi
callq 0x7190
movq 0x5dcff(%rip), %rdi     # 0x6eff0
leaq 0x452b0(%rip), %rsi     # 0x565a8
movl $0x6, %edx
callq 0x7400
movq 0x5dce7(%rip), %rdi     # 0x6eff0
leaq 0x455f8(%rip), %rsi     # 0x56908
movl $0x1e, %edx
callq 0x7400
movq 0x5dccf(%rip), %rdi     # 0x6eff0
callq 0x71c0
movq 0x5dca3(%rip), %rdi     # 0x6efd0
callq 0x7430
movl $0x1, %edi
callq 0x7440
movq %rax, %rbx
callq 0x7590
movq %rbx, %rdi
callq 0x7620
movq %rax, %rdi
callq 0xae63