// File: /workspace/github_cpp_makefile_star2_O2/CMU-SAFARI[P]MQSim/src/exec/Device_Parameter_Set.cpp
// Function: Device_Parameter_Set::XML_serialize(Utils::XmlWriter&)
void Device_Parameter_Set::XML_serialize(Utils::XmlWriter& xmlwriter)
{
	std::string tmp;
	tmp = "Device_Parameter_Set";
	xmlwriter.Write_open_tag(tmp);

	std::string attr = "Seed";
	std::string val = std::to_string(Seed);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Enabled_Preconditioning";
	val = (Enabled_Preconditioning ? "true" : "false");
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Memory_Type";
	val;
	switch (Memory_Type) {
		case NVM::NVM_Type::FLASH:
			val = "FLASH";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "HostInterface_Type";
	val;
	switch (HostInterface_Type) {
		case HostInterface_Types::NVME:
			val = "NVME";
			break;
		case HostInterface_Types::SATA:
			val = "SATA";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "IO_Queue_Depth";
	val = std::to_string(IO_Queue_Depth);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Queue_Fetch_Size";
	val = std::to_string(Queue_Fetch_Size);
	xmlwriter.Write_attribute_string(attr, val);


	attr = "Caching_Mechanism";
	switch (Caching_Mechanism) {
		case SSD_Components::Caching_Mechanism::SIMPLE:
			val = "SIMPLE";
			break;
		case SSD_Components::Caching_Mechanism::ADVANCED:
			val = "ADVANCED";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_Sharing_Mode";
	switch (Data_Cache_Sharing_Mode) {
		case SSD_Components::Cache_Sharing_Mode::SHARED:
			val = "SHARED";
			break;
		case SSD_Components::Cache_Sharing_Mode::EQUAL_PARTITIONING:
			val = "EQUAL_PARTITIONING";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_Capacity";
	val = std::to_string(Data_Cache_Capacity);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_DRAM_Row_Size";
	val = std::to_string(Data_Cache_DRAM_Row_Size);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_DRAM_Data_Rate";
	val = std::to_string(Data_Cache_DRAM_Data_Rate);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_DRAM_Data_Busrt_Size";
	val = std::to_string(Data_Cache_DRAM_Data_Busrt_Size);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_DRAM_tRCD";
	val = std::to_string(Data_Cache_DRAM_tRCD);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_DRAM_tCL";
	val = std::to_string(Data_Cache_DRAM_tCL);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Data_Cache_DRAM_tRP";
	val = std::to_string(Data_Cache_DRAM_tRP);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Address_Mapping";
	switch (Address_Mapping) {
		case SSD_Components::Flash_Address_Mapping_Type::PAGE_LEVEL:
			val = "PAGE_LEVEL";
			break;
		case SSD_Components::Flash_Address_Mapping_Type::HYBRID:
			val = "HYBRID";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Ideal_Mapping_Table";
	val = (Use_Copyback_for_GC ? "true" : "false");
	xmlwriter.Write_attribute_string(attr, val);
	
	attr = "CMT_Capacity";
	val = std::to_string(CMT_Capacity);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "CMT_Sharing_Mode";
	switch (CMT_Sharing_Mode) {
		case SSD_Components::CMT_Sharing_Mode::SHARED:
			val = "SHARED";
			break;
		case SSD_Components::CMT_Sharing_Mode::EQUAL_SIZE_PARTITIONING:
			val = "EQUAL_SIZE_PARTITIONING";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Plane_Allocation_Scheme";
	switch (Plane_Allocation_Scheme) {
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::CDPW:
			val = "CDPW";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::CDWP:
			val = "CDWP";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::CPDW:
			val = "CPDW";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::CPWD:
			val = "CPWD";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::CWDP:
			val = "CWDP";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::CWPD:
			val = "CWPD";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::DCPW:
			val = "DCPW";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::DCWP:
			val = "DCWP";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::DPCW:
			val = "DPCW";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::DPWC:
			val = "DPWC";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::DWCP:
			val = "DWCP";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::DWPC:
			val = "DWPC";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::PCDW:
			val = "PCDW";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::PCWD:
			val = "PCWD";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::PDCW:
			val = "PDCW";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::PDWC:
			val = "PDWC";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::PWCD:
			val = "PWCD";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::PWDC:
			val = "PWDC";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::WCDP:
			val = "WCDP";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::WCPD:
			val = "WCPD";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::WDCP:
			val = "WDCP";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::WDPC:
			val = "WDPC";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::WPCD:
			val = "WPCD";
			break;
		case SSD_Components::Flash_Plane_Allocation_Scheme_Type::WPDC:
			val = "WPDC";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Transaction_Scheduling_Policy";
	switch (Transaction_Scheduling_Policy) {
		case SSD_Components::Flash_Scheduling_Type::OUT_OF_ORDER:
			val = "OUT_OF_ORDER";
			break;
		case SSD_Components::Flash_Scheduling_Type::PRIORITY_OUT_OF_ORDER:
			val = "PRIORITY_OUT_OF_ORDER";
			break;
		case SSD_Components::Flash_Scheduling_Type::FLIN:
			val = "FLIN";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Overprovisioning_Ratio";
	val = std::to_string(Overprovisioning_Ratio);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "GC_Exec_Threshold";
	val = std::to_string(GC_Exec_Threshold);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "GC_Block_Selection_Policy";
	switch (GC_Block_Selection_Policy) {
		case SSD_Components::GC_Block_Selection_Policy_Type::GREEDY:
			val = "GREEDY";
			break;
		case SSD_Components::GC_Block_Selection_Policy_Type::RGA:
			val = "RGA";
			break;
		case SSD_Components::GC_Block_Selection_Policy_Type::RANDOM:
			val = "RANDOM";
			break;
		case SSD_Components::GC_Block_Selection_Policy_Type::RANDOM_P:
			val = "RANDOM_P";
			break;
		case SSD_Components::GC_Block_Selection_Policy_Type::RANDOM_PP:
			val = "RANDOM_PP";
			break;
		case SSD_Components::GC_Block_Selection_Policy_Type::FIFO:
			val = "FIFO";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);
	
	attr = "Use_Copyback_for_GC";
	val = (Use_Copyback_for_GC ? "true" : "false");
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Preemptible_GC_Enabled";
	val = (Preemptible_GC_Enabled ? "true" : "false");
	xmlwriter.Write_attribute_string(attr, val);

	attr = "GC_Hard_Threshold";
	val = std::to_string(GC_Hard_Threshold);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Dynamic_Wearleveling_Enabled";
	val = (Dynamic_Wearleveling_Enabled ? "true" : "false");
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Static_Wearleveling_Enabled";
	val = (Static_Wearleveling_Enabled ? "true" : "false");
	xmlwriter.Write_attribute_string(attr, val);
	
	attr = "Static_Wearleveling_Threshold";
	val = std::to_string(Static_Wearleveling_Threshold);
	xmlwriter.Write_attribute_string(attr, val);
	
	attr = "Preferred_suspend_erase_time_for_read";
	val = std::to_string(Preferred_suspend_erase_time_for_read);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Preferred_suspend_erase_time_for_write";
	val = std::to_string(Preferred_suspend_erase_time_for_write);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Preferred_suspend_write_time_for_read";
	val = std::to_string(Preferred_suspend_write_time_for_read);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Flash_Channel_Count";
	val = std::to_string(Flash_Channel_Count);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Flash_Channel_Width";
	val = std::to_string(Flash_Channel_Width);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Channel_Transfer_Rate";
	val = std::to_string(Channel_Transfer_Rate);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Chip_No_Per_Channel";
	val = std::to_string(Chip_No_Per_Channel);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Flash_Comm_Protocol";
	switch (Flash_Comm_Protocol) {
		case SSD_Components::ONFI_Protocol::NVDDR2:
			val = "NVDDR2";
			break;
		default:
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	Flash_Parameters.XML_serialize(xmlwriter);

	xmlwriter.Write_close_tag();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa28, %rsp            # imm = 0xA28
movq %rsi, %rbx
leaq 0x78(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x38b0f(%rip), %rsi     # 0x440e8
leaq 0x68(%rsp), %rdi
callq 0x7640
leaq 0xa08(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x7480
leaq 0xa08(%rsp), %rsi
movq %rbx, %rdi
callq 0x419e0
leaq 0xa08(%rsp), %rdi
callq 0x7678
leaq 0x38ae4(%rip), %rsi     # 0x440fd
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x7150
movl 0x56d1a(%rip), %esi     # 0x62348
leaq 0x8(%rsp), %rdi
callq 0x9baf
leaq 0x9e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x9c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x9e8(%rsp), %rsi
leaq 0x9c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x9c8(%rsp), %rdi
callq 0x7678
leaq 0x9e8(%rsp), %rdi
callq 0x7678
leaq 0x38a6d(%rip), %rsi     # 0x44102
leaq 0x28(%rsp), %rdi
callq 0x7640
leaq 0x38a74(%rip), %r12     # 0x4411a
cmpb $0x0, 0x56c9f(%rip)     # 0x6234c
leaq 0x38a6b(%rip), %r14     # 0x4411f
movq %r14, %rsi
cmovneq %r12, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x9a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x988(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x9a8(%rsp), %rsi
leaq 0x988(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x988(%rsp), %rdi
callq 0x7678
leaq 0x9a8(%rsp), %rdi
callq 0x7678
leaq 0x38a03(%rip), %rsi     # 0x44125
leaq 0x28(%rsp), %rdi
callq 0x7640
cmpl $0x0, 0x56dd5(%rip)     # 0x62508
jne 0xb746
leaq 0x389f5(%rip), %rsi     # 0x44131
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x968(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x948(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x968(%rsp), %rsi
leaq 0x948(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x948(%rsp), %rdi
callq 0x7678
leaq 0x968(%rsp), %rdi
callq 0x7678
leaq 0x38994(%rip), %rsi     # 0x44137
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x56b9d(%rip), %eax     # 0x62350
testl %eax, %eax
je 0xb7c5
cmpl $0x1, %eax
jne 0xb7d6
leaq 0x38987(%rip), %rsi     # 0x4414a
jmp 0xb7cc
leaq 0x38983(%rip), %rsi     # 0x4414f
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x928(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x908(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x928(%rsp), %rsi
leaq 0x908(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x908(%rsp), %rdi
callq 0x7678
leaq 0x928(%rsp), %rdi
callq 0x7678
leaq 0x38921(%rip), %rsi     # 0x44154
leaq 0x28(%rsp), %rdi
callq 0x7640
movzwl 0x56b10(%rip), %esi     # 0x62354
leaq 0x48(%rsp), %rdi
callq 0x9baf
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x8e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x8c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x8e8(%rsp), %rsi
leaq 0x8c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x8c8(%rsp), %rdi
callq 0x7678
leaq 0x8e8(%rsp), %rdi
callq 0x7678
leaq 0x3889e(%rip), %rsi     # 0x44163
leaq 0x28(%rsp), %rdi
callq 0x7640
movzwl 0x56a80(%rip), %esi     # 0x62356
leaq 0x48(%rsp), %rdi
callq 0x9baf
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x8a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x888(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x8a8(%rsp), %rsi
leaq 0x888(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x888(%rsp), %rdi
callq 0x7678
leaq 0x8a8(%rsp), %rdi
callq 0x7678
leaq 0x3881d(%rip), %rsi     # 0x44174
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x569f1(%rip), %eax     # 0x62358
testl %eax, %eax
je 0xb979
cmpl $0x1, %eax
jne 0xb98a
leaq 0x38816(%rip), %rsi     # 0x4418d
jmp 0xb980
leaq 0x38806(%rip), %rsi     # 0x44186
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x868(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x848(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x868(%rsp), %rsi
leaq 0x848(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x848(%rsp), %rdi
callq 0x7678
leaq 0x868(%rsp), %rdi
callq 0x7678
leaq 0x387af(%rip), %rsi     # 0x44196
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x56b15(%rip), %eax     # 0x6250c
testl %eax, %eax
je 0xba09
cmpl $0x1, %eax
jne 0xba1a
leaq 0x387ae(%rip), %rsi     # 0x441b5
jmp 0xba10
leaq 0x3879e(%rip), %rsi     # 0x441ae
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x828(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x808(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x828(%rsp), %rsi
leaq 0x808(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x808(%rsp), %rdi
callq 0x7678
leaq 0x828(%rsp), %rdi
callq 0x7678
leaq 0x38751(%rip), %rsi     # 0x441c8
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x568d5(%rip), %esi     # 0x6235c
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x7e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x7c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x7e8(%rsp), %rsi
leaq 0x7c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x7c8(%rsp), %rdi
callq 0x7678
leaq 0x7e8(%rsp), %rdi
callq 0x7678
leaq 0x386d4(%rip), %rsi     # 0x441dc
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x56848(%rip), %esi     # 0x62360
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x7a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x788(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x7a8(%rsp), %rsi
leaq 0x788(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x788(%rsp), %rdi
callq 0x7678
leaq 0x7a8(%rsp), %rdi
callq 0x7678
leaq 0x3865c(%rip), %rsi     # 0x441f5
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x567bb(%rip), %esi     # 0x62364
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x768(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x748(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x768(%rsp), %rsi
leaq 0x748(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x748(%rsp), %rdi
callq 0x7678
leaq 0x768(%rsp), %rdi
callq 0x7678
leaq 0x385e5(%rip), %rsi     # 0x4420f
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x5672e(%rip), %esi     # 0x62368
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x728(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x708(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x728(%rsp), %rsi
leaq 0x708(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x708(%rsp), %rdi
callq 0x7678
leaq 0x728(%rsp), %rdi
callq 0x7678
leaq 0x38574(%rip), %rsi     # 0x4422f
leaq 0x28(%rsp), %rdi
callq 0x7640
movq 0x566a4(%rip), %rsi     # 0x62370
leaq 0x48(%rsp), %rdi
callq 0xe78a
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x6e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x6c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x6e8(%rsp), %rsi
leaq 0x6c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x6c8(%rsp), %rdi
callq 0x7678
leaq 0x6e8(%rsp), %rdi
callq 0x7678
leaq 0x384f7(%rip), %rsi     # 0x44244
leaq 0x28(%rsp), %rdi
callq 0x7640
movq 0x5661a(%rip), %rsi     # 0x62378
leaq 0x48(%rsp), %rdi
callq 0xe78a
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x6a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x688(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x6a8(%rsp), %rsi
leaq 0x688(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x688(%rsp), %rdi
callq 0x7678
leaq 0x6a8(%rsp), %rdi
callq 0x7678
leaq 0x38479(%rip), %rsi     # 0x44258
leaq 0x28(%rsp), %rdi
callq 0x7640
movq 0x56590(%rip), %rsi     # 0x62380
leaq 0x48(%rsp), %rdi
callq 0xe78a
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x668(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x648(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x668(%rsp), %rsi
leaq 0x648(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x648(%rsp), %rdi
callq 0x7678
leaq 0x668(%rsp), %rdi
callq 0x7678
leaq 0x383fb(%rip), %rsi     # 0x4426c
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x5668f(%rip), %eax     # 0x62510
testl %eax, %eax
je 0xbe93
cmpl $0x1, %eax
jne 0xbea4
leaq 0x383f6(%rip), %rsi     # 0x44287
jmp 0xbe9a
leaq 0x383e2(%rip), %rsi     # 0x4427c
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x628(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x608(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x628(%rsp), %rsi
leaq 0x608(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x608(%rsp), %rdi
callq 0x7678
leaq 0x628(%rsp), %rdi
callq 0x7678
leaq 0x3838d(%rip), %rsi     # 0x4428e
leaq 0x28(%rsp), %rdi
callq 0x7640
cmpb $0x0, 0x56612(%rip)     # 0x62524
movq %r14, %rsi
cmovneq %r12, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x5e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x5c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x5e8(%rsp), %rsi
leaq 0x5c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x5c8(%rsp), %rdi
callq 0x7678
leaq 0x5e8(%rsp), %rdi
callq 0x7678
leaq 0x38322(%rip), %rsi     # 0x442a2
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x563f8(%rip), %esi     # 0x62388
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x5a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x588(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x5a8(%rsp), %rsi
leaq 0x588(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x588(%rsp), %rdi
callq 0x7678
leaq 0x5a8(%rsp), %rdi
callq 0x7678
leaq 0x3829e(%rip), %rsi     # 0x442af
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x564f7(%rip), %eax     # 0x62518
testl %eax, %eax
je 0xc033
cmpl $0x1, %eax
jne 0xc044
leaq 0x3828f(%rip), %rsi     # 0x442c0
jmp 0xc03a
leaq 0x38174(%rip), %rsi     # 0x441ae
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x568(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x548(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x568(%rsp), %rsi
leaq 0x548(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x548(%rsp), %rdi
callq 0x7678
leaq 0x568(%rsp), %rdi
callq 0x7678
leaq 0x38237(%rip), %rsi     # 0x442d8
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x5646b(%rip), %eax     # 0x6251c
cmpq $0x18, %rax
jae 0xc0cf
leaq 0x388a6(%rip), %rcx     # 0x44964
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x528(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x508(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x528(%rsp), %rsi
leaq 0x508(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x508(%rsp), %rdi
callq 0x7678
leaq 0x528(%rsp), %rdi
callq 0x7678
leaq 0x3823c(%rip), %rsi     # 0x44368
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x563e4(%rip), %eax     # 0x62520
cmpq $0x3, %rax
jae 0xc15a
leaq 0x3887b(%rip), %rcx     # 0x449c4
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x4e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x4c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x4e8(%rsp), %rsi
leaq 0x4c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x4c8(%rsp), %rdi
callq 0x7678
leaq 0x4e8(%rsp), %rdi
callq 0x7678
leaq 0x381ea(%rip), %rsi     # 0x443a1
leaq 0x28(%rsp), %rdi
callq 0x7640
movsd 0x561c7(%rip), %xmm0    # 0x62390
leaq 0x48(%rsp), %rdi
callq 0xe7cc
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x4a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x488(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x4a8(%rsp), %rsi
leaq 0x488(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x488(%rsp), %rdi
callq 0x7678
leaq 0x4a8(%rsp), %rdi
callq 0x7678
leaq 0x3816e(%rip), %rsi     # 0x443b8
leaq 0x28(%rsp), %rdi
callq 0x7640
movsd 0x5613c(%rip), %xmm0    # 0x62398
leaq 0x48(%rsp), %rdi
callq 0xe7cc
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x468(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x448(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x468(%rsp), %rsi
leaq 0x448(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x448(%rsp), %rdi
callq 0x7678
leaq 0x468(%rsp), %rdi
callq 0x7678
leaq 0x380ed(%rip), %rsi     # 0x443ca
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x560b3(%rip), %eax     # 0x623a0
cmpq $0x6, %rax
jae 0xc30b
leaq 0x386d6(%rip), %rcx     # 0x449d0
movslq (%rcx,%rax,4), %rsi
addq %rcx, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x428(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x408(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x428(%rsp), %rsi
leaq 0x408(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x408(%rsp), %rdi
callq 0x7678
leaq 0x428(%rsp), %rdi
callq 0x7678
leaq 0x380a6(%rip), %rsi     # 0x4440e
leaq 0x28(%rsp), %rdi
callq 0x7640
cmpb $0x0, 0x561ab(%rip)     # 0x62524
movq %r14, %rsi
cmovneq %r12, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x3e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x3c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x3e8(%rsp), %rsi
leaq 0x3c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x3c8(%rsp), %rdi
callq 0x7678
leaq 0x3e8(%rsp), %rdi
callq 0x7678
leaq 0x3803b(%rip), %rsi     # 0x44422
leaq 0x28(%rsp), %rdi
callq 0x7640
cmpb $0x0, 0x55fac(%rip)     # 0x623a4
movq %r14, %rsi
cmovneq %r12, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x3a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x388(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x3a8(%rsp), %rsi
leaq 0x388(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x388(%rsp), %rdi
callq 0x7678
leaq 0x3a8(%rsp), %rdi
callq 0x7678
leaq 0x37fd3(%rip), %rsi     # 0x44439
leaq 0x28(%rsp), %rdi
callq 0x7640
movsd 0x55f30(%rip), %xmm0    # 0x623a8
leaq 0x48(%rsp), %rdi
callq 0xe7cc
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r15
movq %r15, %rsi
callq 0x73f0
movq %r15, %rdi
callq 0x7678
leaq 0x368(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x348(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x368(%rsp), %rsi
leaq 0x348(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x348(%rsp), %rdi
callq 0x7678
leaq 0x368(%rsp), %rdi
callq 0x7678
leaq 0x37f52(%rip), %rsi     # 0x4444b
leaq 0x28(%rsp), %rdi
callq 0x7640
cmpb $0x0, 0x55ea6(%rip)     # 0x623b0
movq %r14, %rsi
cmovneq %r12, %rsi
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0x328(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x308(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x328(%rsp), %rsi
leaq 0x308(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x308(%rsp), %rdi
callq 0x7678
leaq 0x328(%rsp), %rdi
callq 0x7678
leaq 0x37ef0(%rip), %rsi     # 0x44468
leaq 0x28(%rsp), %rdi
callq 0x7640
cmpb $0x0, 0x55e28(%rip)     # 0x623b1
cmovneq %r12, %r14
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0x7640
leaq 0x2e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x2c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x2e8(%rsp), %rsi
leaq 0x2c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x2c8(%rsp), %rdi
callq 0x7678
leaq 0x2e8(%rsp), %rdi
callq 0x7678
leaq 0x37e8d(%rip), %rsi     # 0x44484
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x55dad(%rip), %esi     # 0x623b4
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x2a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x288(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x2a8(%rsp), %rsi
leaq 0x288(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x288(%rsp), %rdi
callq 0x7678
leaq 0x2a8(%rsp), %rdi
callq 0x7678
leaq 0x37e1a(%rip), %rsi     # 0x444a2
leaq 0x28(%rsp), %rdi
callq 0x7640
movq 0x55d1f(%rip), %rsi     # 0x623b8
leaq 0x48(%rsp), %rdi
callq 0xe78a
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x268(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x248(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x268(%rsp), %rsi
leaq 0x248(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x248(%rsp), %rdi
callq 0x7678
leaq 0x268(%rsp), %rdi
callq 0x7678
leaq 0x37dae(%rip), %rsi     # 0x444c8
leaq 0x28(%rsp), %rdi
callq 0x7640
movq 0x55c95(%rip), %rsi     # 0x623c0
leaq 0x48(%rsp), %rdi
callq 0xe78a
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x228(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x208(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x228(%rsp), %rsi
leaq 0x208(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x208(%rsp), %rdi
callq 0x7678
leaq 0x228(%rsp), %rdi
callq 0x7678
leaq 0x37d43(%rip), %rsi     # 0x444ef
leaq 0x28(%rsp), %rdi
callq 0x7640
movq 0x55c0b(%rip), %rsi     # 0x623c8
leaq 0x48(%rsp), %rdi
callq 0xe78a
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x1e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x1c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x1e8(%rsp), %rsi
leaq 0x1c8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x1c8(%rsp), %rdi
callq 0x7678
leaq 0x1e8(%rsp), %rdi
callq 0x7678
leaq 0x37cd7(%rip), %rsi     # 0x44515
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x55b82(%rip), %esi     # 0x623d0
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x1a8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x188(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x1a8(%rsp), %rsi
leaq 0x188(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x188(%rsp), %rdi
callq 0x7678
leaq 0x1a8(%rsp), %rdi
callq 0x7678
leaq 0x37c5a(%rip), %rsi     # 0x44529
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x55af5(%rip), %esi     # 0x623d4
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x168(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x148(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x168(%rsp), %rsi
leaq 0x148(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x148(%rsp), %rdi
callq 0x7678
leaq 0x168(%rsp), %rdi
callq 0x7678
leaq 0x37bdd(%rip), %rsi     # 0x4453d
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x55a68(%rip), %esi     # 0x623d8
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0x128(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x108(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0x128(%rsp), %rsi
leaq 0x108(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x108(%rsp), %rdi
callq 0x7678
leaq 0x128(%rsp), %rdi
callq 0x7678
leaq 0x37b62(%rip), %rsi     # 0x44553
leaq 0x28(%rsp), %rdi
callq 0x7640
movl 0x559db(%rip), %esi     # 0x623dc
leaq 0x48(%rsp), %rdi
callq 0xe74b
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %r14
movq %r14, %rsi
callq 0x73f0
movq %r14, %rdi
callq 0x7678
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0xe8(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0xc8(%rsp), %rdi
callq 0x7678
leaq 0xe8(%rsp), %rdi
callq 0x7678
leaq 0x37ae5(%rip), %rsi     # 0x44567
leaq 0x28(%rsp), %rdi
callq 0x7640
cmpl $0x0, 0x55a95(%rip)     # 0x62528
jne 0xcaa6
leaq 0x37adf(%rip), %rsi     # 0x4457b
leaq 0x8(%rsp), %rdi
callq 0x7640
leaq 0xa8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x7480
leaq 0x88(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x7480
leaq 0xa8(%rsp), %rsi
leaq 0x88(%rsp), %rdx
movq %rbx, %rdi
callq 0x41adc
leaq 0x88(%rsp), %rdi
callq 0x7678
leaq 0xa8(%rsp), %rdi
callq 0x7678
leaq 0x558dd(%rip), %rdi     # 0x623e0
movq %rbx, %rsi
callq 0xeec8
movq %rbx, %rdi
callq 0x41c5c
leaq 0x8(%rsp), %rdi
callq 0x7678
leaq 0x28(%rsp), %rdi
callq 0x7678
leaq 0x68(%rsp), %rdi
callq 0x7678
addq $0xa28, %rsp            # imm = 0xA28
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x7678
jmp 0xcb55
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x7678
jmp 0xcb77
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
callq 0x7678
jmp 0xcb9e
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x7678
jmp 0xcbc5
movq %rax, %rbx
leaq 0x168(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x7678
jmp 0xcbec
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x1c8(%rsp), %rdi
callq 0x7678
jmp 0xcc13
movq %rax, %rbx
leaq 0x1e8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x208(%rsp), %rdi
callq 0x7678
jmp 0xcc3a
movq %rax, %rbx
leaq 0x228(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x248(%rsp), %rdi
callq 0x7678
jmp 0xcc61
movq %rax, %rbx
leaq 0x268(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x288(%rsp), %rdi
callq 0x7678
jmp 0xcc88
movq %rax, %rbx
leaq 0x2a8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x2c8(%rsp), %rdi
callq 0x7678
jmp 0xccaf
movq %rax, %rbx
leaq 0x2e8(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x308(%rsp), %rdi
callq 0x7678
jmp 0xccd1
movq %rax, %rbx
leaq 0x328(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x348(%rsp), %rdi
callq 0x7678
jmp 0xccf3
movq %rax, %rbx
leaq 0x368(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x388(%rsp), %rdi
callq 0x7678
jmp 0xcd1a
movq %rax, %rbx
leaq 0x3a8(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x3c8(%rsp), %rdi
callq 0x7678
jmp 0xcd3c
movq %rax, %rbx
leaq 0x3e8(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x408(%rsp), %rdi
callq 0x7678
jmp 0xcd5e
movq %rax, %rbx
leaq 0x428(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x448(%rsp), %rdi
callq 0x7678
jmp 0xcd80
movq %rax, %rbx
leaq 0x468(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x488(%rsp), %rdi
callq 0x7678
jmp 0xcda7
movq %rax, %rbx
leaq 0x4a8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x4c8(%rsp), %rdi
callq 0x7678
jmp 0xcdce
movq %rax, %rbx
leaq 0x4e8(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x508(%rsp), %rdi
callq 0x7678
jmp 0xcdf0
movq %rax, %rbx
leaq 0x528(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x548(%rsp), %rdi
callq 0x7678
jmp 0xce12
movq %rax, %rbx
leaq 0x568(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x588(%rsp), %rdi
callq 0x7678
jmp 0xce34
movq %rax, %rbx
leaq 0x5a8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x5c8(%rsp), %rdi
callq 0x7678
jmp 0xce5b
movq %rax, %rbx
leaq 0x5e8(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x608(%rsp), %rdi
callq 0x7678
jmp 0xce7d
movq %rax, %rbx
leaq 0x628(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x648(%rsp), %rdi
callq 0x7678
jmp 0xce9f
movq %rax, %rbx
leaq 0x668(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x688(%rsp), %rdi
callq 0x7678
jmp 0xcec6
movq %rax, %rbx
leaq 0x6a8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x6c8(%rsp), %rdi
callq 0x7678
jmp 0xceed
movq %rax, %rbx
leaq 0x6e8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x708(%rsp), %rdi
callq 0x7678
jmp 0xcf14
movq %rax, %rbx
leaq 0x728(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x748(%rsp), %rdi
callq 0x7678
jmp 0xcf3b
movq %rax, %rbx
leaq 0x768(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x788(%rsp), %rdi
callq 0x7678
jmp 0xcf62
movq %rax, %rbx
leaq 0x7a8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x7c8(%rsp), %rdi
callq 0x7678
jmp 0xcf89
movq %rax, %rbx
leaq 0x7e8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x808(%rsp), %rdi
callq 0x7678
jmp 0xcfb0
movq %rax, %rbx
leaq 0x828(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x848(%rsp), %rdi
callq 0x7678
jmp 0xcfd2
movq %rax, %rbx
leaq 0x868(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x888(%rsp), %rdi
callq 0x7678
jmp 0xcff4
movq %rax, %rbx
leaq 0x8a8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x8c8(%rsp), %rdi
callq 0x7678
jmp 0xd01b
movq %rax, %rbx
leaq 0x8e8(%rsp), %rdi
jmp 0xd0a4
jmp 0xd0c4
movq %rax, %rbx
leaq 0x908(%rsp), %rdi
callq 0x7678
jmp 0xd03f
movq %rax, %rbx
leaq 0x928(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x948(%rsp), %rdi
callq 0x7678
jmp 0xd05e
movq %rax, %rbx
leaq 0x968(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x988(%rsp), %rdi
callq 0x7678
jmp 0xd07d
movq %rax, %rbx
leaq 0x9a8(%rsp), %rdi
jmp 0xd0a4
movq %rax, %rbx
leaq 0x9c8(%rsp), %rdi
callq 0x7678
jmp 0xd09c
movq %rax, %rbx
leaq 0x9e8(%rsp), %rdi
callq 0x7678
jmp 0xd0c7
movq %rax, %rbx
jmp 0xd0d1
jmp 0xd0bf
movq %rax, %rbx
leaq 0xa08(%rsp), %rdi
jmp 0xd0d6
movq %rax, %rbx
jmp 0xd0db
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x7678
leaq 0x28(%rsp), %rdi
callq 0x7678
leaq 0x68(%rsp), %rdi
callq 0x7678
movq %rbx, %rdi
callq 0x75d0
nop