// File: NichtJens[P]lmf2txt/LMF_IO.cpp
// Function: LMF_IO::Clone()
LMF_IO * LMF_IO::Clone()
/////////////////////////////////////////////////////////////////
{
	LMF_IO * clone = new LMF_IO(num_channels,num_ions);
	if (!clone) return 0;

	clone->Versionstring			= this->Versionstring;
	clone->FilePathName				= this->FilePathName;
	clone->OutputFilePathName		= this->OutputFilePathName;
	clone->Comment					= this->Comment;
	clone->Comment_output			= this->Comment_output;
	clone->DAQ_info					= this->DAQ_info;
	clone->Camac_CIF				= this->Camac_CIF;
	
	clone->Starttime				= this->Starttime;
	clone->Stoptime					= this->Stoptime;
	clone->Starttime_output			= this->Starttime_output;
	clone->Stoptime_output			= this->Stoptime_output;
	
	clone->time_reference			= this->time_reference;
	clone->time_reference_output	= this->time_reference_output;
	
	clone->ArchiveFlag				= this->ArchiveFlag;
	clone->Cobold_Header_version	= this->Cobold_Header_version;
	clone->Cobold_Header_version_output	= this->Cobold_Header_version_output;
	
	clone->uint64_LMF_EventCounter	= this->uint64_LMF_EventCounter;
	clone->uint64_number_of_read_events	= this->uint64_number_of_read_events;
	clone->uint64_Numberofevents	= this->uint64_Numberofevents;
	
	clone->Numberofcoordinates		= this->Numberofcoordinates;
	clone->CTime_version			= this->CTime_version;
	clone->CTime_version_output		= this->CTime_version_output;
	clone->CTime_version_output		= this->CTime_version_output;
	clone->SIMPLE_DAQ_ID_Orignial	= this->SIMPLE_DAQ_ID_Orignial;
	clone->DAQVersion				= this->DAQVersion;
	clone->DAQVersion_output		= this->DAQVersion_output;
	clone->DAQ_ID					= this->DAQ_ID;
	clone->DAQ_ID_output			= this->DAQ_ID_output;
	clone->data_format_in_userheader	= this->data_format_in_userheader;
	clone->data_format_in_userheader_output	= this->data_format_in_userheader_output;
	
	clone->Headersize				= this->Headersize;
	clone->User_header_size			= this->User_header_size;
	clone->User_header_size_output	= this->User_header_size_output;
	
	clone->IOaddress				= this->IOaddress;
	clone->timestamp_format			= this->timestamp_format;
	clone->timestamp_format_output	= this->timestamp_format_output;
	clone->timerange				= this->timerange;
	
	clone->number_of_channels		= this->number_of_channels;
	clone->number_of_channels2		= this->number_of_channels2;
	clone->max_number_of_hits		= this->max_number_of_hits;
	clone->max_number_of_hits2		= this->max_number_of_hits2;
	
	clone->number_of_channels_output	= this->number_of_channels_output;
	clone->number_of_channels2_output	= this->number_of_channels2_output;
	clone->max_number_of_hits_output	= this->max_number_of_hits_output;
	clone->max_number_of_hits2_output	= this->max_number_of_hits2_output;
	
	clone->DAQSubVersion			= this->DAQSubVersion;
	clone->module_2nd				= this->module_2nd;
	clone->system_timeout			= this->system_timeout;
	clone->system_timeout_output	= this->system_timeout_output;
	clone->common_mode				= this->common_mode;
	clone->common_mode_output		= this->common_mode_output;
	clone->DAQ_info_Length			= this->DAQ_info_Length;
	clone->Camac_CIF_Length			= this->Camac_CIF_Length;
	clone->LMF_Version				= this->LMF_Version;
	clone->LMF_Version_output		= this->LMF_Version_output;
	clone->TDCDataType				= this->TDCDataType;
	
	clone->LMF_Header_version		= this->LMF_Header_version;
	
	clone->number_of_bytes_in_PostEventData = this->number_of_bytes_in_PostEventData;
	
	clone->tdcresolution			= this->tdcresolution;
	clone->tdcresolution_output		= this->tdcresolution_output;
	clone->frequency				= this->frequency;
	clone->DOUBLE_timestamp			= this->DOUBLE_timestamp;
	clone->ui64_timestamp			= this->ui64_timestamp;

	clone->number_of_CCFHistory_strings = this->number_of_CCFHistory_strings;
	clone->number_of_DAN_source_strings = this->number_of_DAN_source_strings;
	clone->number_of_DAQ_source_strings = this->number_of_DAQ_source_strings;
	clone->number_of_CCFHistory_strings_output = this->number_of_CCFHistory_strings_output;
	clone->number_of_DAN_source_strings_output = this->number_of_DAN_source_strings_output;
	clone->number_of_DAQ_source_strings_output = this->number_of_DAQ_source_strings_output;

	if (number_of_CCFHistory_strings >= 0) {
		clone->CCFHistory_strings = new std::string*[number_of_CCFHistory_strings];
		memset(clone->CCFHistory_strings,0,sizeof(std::string*)*number_of_CCFHistory_strings);
	}
	if (number_of_DAN_source_strings >= 0) {
		clone->DAN_source_strings = new std::string*[number_of_DAN_source_strings];
		memset(clone->DAN_source_strings,0,sizeof(std::string*)*number_of_DAN_source_strings);
	}
	if (number_of_DAQ_source_strings >= 0) {
		clone->DAQ_source_strings = new std::string*[number_of_DAQ_source_strings];
		memset(clone->DAQ_source_strings,0,sizeof(std::string*)*number_of_DAQ_source_strings);
	}
	if (this->CCFHistory_strings) {
		for (__int32 i=0;i<number_of_CCFHistory_strings;++i) {clone->CCFHistory_strings[i] = new std::string(); *clone->CCFHistory_strings[i] = *this->CCFHistory_strings[i];}
	}
	if (this->DAN_source_strings) {
		for (__int32 i=0;i<number_of_DAN_source_strings;++i) {clone->DAN_source_strings[i] = new std::string(); *clone->DAN_source_strings[i] = *this->DAN_source_strings[i];}
	}
	if (this->DAQ_source_strings) {
		for (__int32 i=0;i<number_of_DAQ_source_strings;++i) {clone->DAQ_source_strings[i] = new std::string(); *clone->DAQ_source_strings[i] = *this->DAQ_source_strings[i];}
	}

	if (number_of_CCFHistory_strings_output>=0) {
		clone->CCFHistory_strings_output = new std::string*[number_of_CCFHistory_strings_output];
		memset(clone->CCFHistory_strings_output,0,sizeof(std::string*)*number_of_CCFHistory_strings_output);
	}
	if (number_of_DAN_source_strings_output>=0) {
		clone->DAN_source_strings_output = new std::string*[number_of_DAN_source_strings_output];
		memset(clone->DAN_source_strings_output,0,sizeof(std::string*)*number_of_DAN_source_strings_output);
	}
	if (number_of_DAQ_source_strings_output>=0) {
		clone->DAQ_source_strings_output = new std::string*[number_of_DAQ_source_strings_output];
		memset(clone->DAQ_source_strings_output,0,sizeof(std::string*)*number_of_DAQ_source_strings_output);
	}
	if (this->CCFHistory_strings_output) {
		for (__int32 i=0;i<number_of_CCFHistory_strings_output;++i) {clone->CCFHistory_strings_output[i] = new std::string(); *clone->CCFHistory_strings_output[i] = *this->CCFHistory_strings_output[i];}
	}
	if (this->DAN_source_strings_output) {
		for (__int32 i=0;i<number_of_DAN_source_strings_output;++i) {clone->DAN_source_strings_output[i] = new std::string(); *clone->DAN_source_strings_output[i] = *this->DAN_source_strings_output[i];}
	}
	if (this->DAQ_source_strings_output) {
		for (__int32 i=0;i<number_of_DAQ_source_strings_output;++i) {clone->DAQ_source_strings_output[i] = new std::string(); *clone->DAQ_source_strings_output[i] = *this->DAQ_source_strings_output[i];}
	}

	clone->CCF_HISTORY_CODE_bitmasked = this->CCF_HISTORY_CODE_bitmasked;
	clone->DAN_SOURCE_CODE_bitmasked = this->DAN_SOURCE_CODE_bitmasked;
	clone->DAQ_SOURCE_CODE_bitmasked = this->DAQ_SOURCE_CODE_bitmasked;
	
	clone->errorflag				= this->errorflag;
	clone->skip_header				= this->skip_header;
	
	clone->uint64_number_of_written_events	= this->uint64_number_of_written_events;
	
	clone->not_Cobold_LMF			= this->not_Cobold_LMF;
	clone->Headersize_output		= this->Headersize_output;
	clone->output_byte_counter		= this->output_byte_counter;
	clone->Numberofcoordinates_output	= this->Numberofcoordinates_output;
	clone->must_read_first			= this->must_read_first;

	clone->num_channels				= this->num_channels;
	clone->num_ions					= this->num_ions;



// pointers and other special stuff:


//clone->InputFileIsOpen		= this->InputFileIsOpen;
//clone->in_ar					= this->in_ar;
//clone->input_lmf				= this->input_lmf;

//clone->OutputFileIsOpen			= this->OutputFileIsOpen;
//clone->out_ar					= this->out_ar;
//clone->output_lmf				= this->output_lmf;


	// TDC8PCI2
	clone->TDC8PCI2.GateDelay_1st_card			= this->TDC8PCI2.GateDelay_1st_card;
	clone->TDC8PCI2.OpenTime_1st_card			= this->TDC8PCI2.OpenTime_1st_card;
	clone->TDC8PCI2.WriteEmptyEvents_1st_card	= this->TDC8PCI2.WriteEmptyEvents_1st_card;
	clone->TDC8PCI2.TriggerFalling_1st_card		= this->TDC8PCI2.TriggerFalling_1st_card;
	clone->TDC8PCI2.TriggerRising_1st_card		= this->TDC8PCI2.TriggerRising_1st_card;
	clone->TDC8PCI2.EmptyCounter_1st_card		= this->TDC8PCI2.EmptyCounter_1st_card;
	clone->TDC8PCI2.EmptyCounter_since_last_Event_1st_card = this->TDC8PCI2.EmptyCounter_since_last_Event_1st_card;
	clone->TDC8PCI2.use_normal_method			= this->TDC8PCI2.use_normal_method;
	clone->TDC8PCI2.use_normal_method_2nd_card	= this->TDC8PCI2.use_normal_method_2nd_card;
	clone->TDC8PCI2.sync_test_on_off			= this->TDC8PCI2.sync_test_on_off;
	clone->TDC8PCI2.io_address_2nd_card			= this->TDC8PCI2.io_address_2nd_card;
	clone->TDC8PCI2.GateDelay_2nd_card			= this->TDC8PCI2.GateDelay_2nd_card;
	clone->TDC8PCI2.OpenTime_2nd_card			= this->TDC8PCI2.OpenTime_2nd_card;
	clone->TDC8PCI2.WriteEmptyEvents_2nd_card	= this->TDC8PCI2.WriteEmptyEvents_2nd_card;
	clone->TDC8PCI2.TriggerFallingEdge_2nd_card = this->TDC8PCI2.TriggerFallingEdge_2nd_card;
	clone->TDC8PCI2.TriggerRisingEdge_2nd_card	= this->TDC8PCI2.TriggerRisingEdge_2nd_card;
	clone->TDC8PCI2.EmptyCounter_2nd_card		= this->TDC8PCI2.EmptyCounter_2nd_card;
	clone->TDC8PCI2.EmptyCounter_since_last_Event_2nd_card = this->TDC8PCI2.EmptyCounter_since_last_Event_2nd_card;
	clone->TDC8PCI2.variable_event_length		= this->TDC8PCI2.variable_event_length;


	// HM1
	clone->HM1.FAK_DLL_Value			= this->HM1.FAK_DLL_Value;
	clone->HM1.Resolution_Flag			= this->HM1.Resolution_Flag;
	clone->HM1.trigger_mode_for_start	= this->HM1.trigger_mode_for_start;
	clone->HM1.trigger_mode_for_stop	= this->HM1.trigger_mode_for_stop;
	clone->HM1.Even_open_time			= this->HM1.Even_open_time;
	clone->HM1.Auto_Trigger				= this->HM1.Auto_Trigger;
	clone->HM1.set_bits_for_GP1			= this->HM1.set_bits_for_GP1;
	clone->HM1.ABM_m_xFrom				= this->HM1.ABM_m_xFrom;
	clone->HM1.ABM_m_xTo				= this->HM1.ABM_m_xTo;
	clone->HM1.ABM_m_yFrom				= this->HM1.ABM_m_yFrom;
	clone->HM1.ABM_m_yTo				= this->HM1.ABM_m_yTo;
	clone->HM1.ABM_m_xMin				= this->HM1.ABM_m_xMin;
	clone->HM1.ABM_m_xMax				= this->HM1.ABM_m_xMax;
	clone->HM1.ABM_m_yMin				= this->HM1.ABM_m_yMin;
	clone->HM1.ABM_m_yMax				= this->HM1.ABM_m_yMax;
	clone->HM1.ABM_m_xOffset			= this->HM1.ABM_m_xOffset;
	clone->HM1.ABM_m_yOffset			= this->HM1.ABM_m_yOffset;
	clone->HM1.ABM_m_zOffset			= this->HM1.ABM_m_zOffset;
	clone->HM1.ABM_Mode					= this->HM1.ABM_Mode;
	clone->HM1.ABM_OsziDarkInvert		= this->HM1.ABM_OsziDarkInvert;
	clone->HM1.ABM_ErrorHisto			= this->HM1.ABM_ErrorHisto;
	clone->HM1.ABM_XShift				= this->HM1.ABM_XShift;
	clone->HM1.ABM_YShift				= this->HM1.ABM_YShift;
	clone->HM1.ABM_ZShift				= this->HM1.ABM_ZShift;
	clone->HM1.ABM_ozShift				= this->HM1.ABM_ozShift;
	clone->HM1.ABM_wdShift				= this->HM1.ABM_wdShift;
	clone->HM1.ABM_ucLevelXY			= this->HM1.ABM_ucLevelXY;
	clone->HM1.ABM_ucLevelZ				= this->HM1.ABM_ucLevelZ;
	clone->HM1.ABM_uiABMXShift			= this->HM1.ABM_uiABMXShift;
	clone->HM1.ABM_uiABMYShift			= this->HM1.ABM_uiABMYShift;
	clone->HM1.ABM_uiABMZShift			= this->HM1.ABM_uiABMZShift;
	clone->HM1.use_normal_method		= this->HM1.use_normal_method;

	clone->HM1.TWOHM1_FAK_DLL_Value		= this->HM1.TWOHM1_FAK_DLL_Value;
	clone->HM1.TWOHM1_Resolution_Flag	= this->HM1.TWOHM1_Resolution_Flag;
	clone->HM1.TWOHM1_trigger_mode_for_start	= this->HM1.TWOHM1_trigger_mode_for_start;
	clone->HM1.TWOHM1_trigger_mode_for_stop		= this->HM1.TWOHM1_trigger_mode_for_stop;
	clone->HM1.TWOHM1_res_adjust		= this->HM1.TWOHM1_res_adjust;
	clone->HM1.TWOHM1_tdcresolution		= this->HM1.TWOHM1_tdcresolution;
	clone->HM1.TWOHM1_test_overflow		= this->HM1.TWOHM1_test_overflow;
	clone->HM1.TWOHM1_number_of_channels	= this->HM1.TWOHM1_number_of_channels;
	clone->HM1.TWOHM1_number_of_hits	= this->HM1.TWOHM1_number_of_hits;
	clone->HM1.TWOHM1_set_bits_for_GP1	= this->HM1.TWOHM1_set_bits_for_GP1;
	clone->HM1.TWOHM1_HM1_ID_1			= this->HM1.TWOHM1_HM1_ID_1;
	clone->HM1.TWOHM1_HM1_ID_2			= this->HM1.TWOHM1_HM1_ID_2;

	clone->TDC8HP.no_config_file_read	= this->TDC8HP.no_config_file_read;
	clone->TDC8HP.RisingEnable_p61		= this->TDC8HP.RisingEnable_p61;
	clone->TDC8HP.FallingEnable_p62		= this->TDC8HP.FallingEnable_p62;
	clone->TDC8HP.TriggerEdge_p63		= this->TDC8HP.TriggerEdge_p63;
	clone->TDC8HP.TriggerChannel_p64		= this->TDC8HP.TriggerChannel_p64;
	clone->TDC8HP.OutputLevel_p65		= this->TDC8HP.OutputLevel_p65;
	clone->TDC8HP.GroupingEnable_p66		= this->TDC8HP.GroupingEnable_p66;
	clone->TDC8HP.GroupingEnable_p66_output	= this->TDC8HP.GroupingEnable_p66_output;
	clone->TDC8HP.AllowOverlap_p67		= this->TDC8HP.AllowOverlap_p67;
	clone->TDC8HP.TriggerDeadTime_p68	= this->TDC8HP.TriggerDeadTime_p68;
	clone->TDC8HP.GroupRangeStart_p69	= this->TDC8HP.GroupRangeStart_p69;
	clone->TDC8HP.GroupRangeEnd_p70		= this->TDC8HP.GroupRangeEnd_p70;
	clone->TDC8HP.ExternalClock_p71		= this->TDC8HP.ExternalClock_p71;
	clone->TDC8HP.OutputRollOvers_p72	= this->TDC8HP.OutputRollOvers_p72;
	clone->TDC8HP.DelayTap0_p73			= this->TDC8HP.DelayTap0_p73;
	clone->TDC8HP.DelayTap1_p74			= this->TDC8HP.DelayTap1_p74;
	clone->TDC8HP.DelayTap2_p75			= this->TDC8HP.DelayTap2_p75;
	clone->TDC8HP.DelayTap3_p76			= this->TDC8HP.DelayTap3_p76;
	clone->TDC8HP.INL_p80				= this->TDC8HP.INL_p80;
	clone->TDC8HP.DNL_p81				= this->TDC8HP.DNL_p81;
	clone->TDC8HP.csConfigFile			= this->TDC8HP.csConfigFile;
	clone->TDC8HP.csINLFile				= this->TDC8HP.csINLFile;
	clone->TDC8HP.csDNLFile				= this->TDC8HP.csDNLFile;
	clone->TDC8HP.csConfigFile_Length	= this->TDC8HP.csConfigFile_Length;
	clone->TDC8HP.csINLFile_Length		= this->TDC8HP.csINLFile_Length;
	clone->TDC8HP.csDNLFile_Length		= this->TDC8HP.csDNLFile_Length;
	clone->TDC8HP.UserHeaderVersion		= this->TDC8HP.UserHeaderVersion;
	clone->TDC8HP.VHR_25ps				= this->TDC8HP.VHR_25ps;
	clone->TDC8HP.SyncValidationChannel	= this->TDC8HP.SyncValidationChannel;
	clone->TDC8HP.variable_event_length	= this->TDC8HP.variable_event_length;
	clone->TDC8HP.SSEEnable				= this->TDC8HP.SSEEnable;
	clone->TDC8HP.MMXEnable				= this->TDC8HP.MMXEnable;
	clone->TDC8HP.DMAEnable				= this->TDC8HP.DMAEnable;
	clone->TDC8HP.GroupTimeOut			= this->TDC8HP.GroupTimeOut;

	clone->TDC8HP.i32NumberOfDAQLoops   = this->TDC8HP.i32NumberOfDAQLoops;   
	clone->TDC8HP.TDC8HP_DriverVersion 	= this->TDC8HP.TDC8HP_DriverVersion; 	
	clone->TDC8HP.iTriggerChannelMask	= this->TDC8HP.iTriggerChannelMask;	
	clone->TDC8HP.iTime_zero_channel	= this->TDC8HP.iTime_zero_channel;	

	clone->TDC8HP.Number_of_TDCs = this->TDC8HP.Number_of_TDCs;
	for (__int32 i = 0;i<3;++i) {
		if (this->TDC8HP.TDC_info[i]) {
			clone->TDC8HP.TDC_info[i]->index				= this->TDC8HP.TDC_info[i]->index;
			clone->TDC8HP.TDC_info[i]->channelCount			= this->TDC8HP.TDC_info[i]->channelCount;
			clone->TDC8HP.TDC_info[i]->channelStart			= this->TDC8HP.TDC_info[i]->channelStart;
			clone->TDC8HP.TDC_info[i]->highResChannelCount	= this->TDC8HP.TDC_info[i]->highResChannelCount;
			clone->TDC8HP.TDC_info[i]->highResChannelStart	= this->TDC8HP.TDC_info[i]->highResChannelStart;
			clone->TDC8HP.TDC_info[i]->lowResChannelCount	= this->TDC8HP.TDC_info[i]->lowResChannelCount;
			clone->TDC8HP.TDC_info[i]->lowResChannelStart	= this->TDC8HP.TDC_info[i]->lowResChannelStart;
			clone->TDC8HP.TDC_info[i]->resolution			= this->TDC8HP.TDC_info[i]->resolution;
			clone->TDC8HP.TDC_info[i]->serialNumber			= this->TDC8HP.TDC_info[i]->serialNumber;
			clone->TDC8HP.TDC_info[i]->version				= this->TDC8HP.TDC_info[i]->version;
			clone->TDC8HP.TDC_info[i]->fifoSize				= this->TDC8HP.TDC_info[i]->fifoSize;
			clone->TDC8HP.TDC_info[i]->flashValid			= this->TDC8HP.TDC_info[i]->flashValid;
			memcpy(clone->TDC8HP.TDC_info[i]->INLCorrection,this->TDC8HP.TDC_info[i]->INLCorrection,sizeof(__int32)*8*1024);
			memcpy(clone->TDC8HP.TDC_info[i]->DNLData,this->TDC8HP.TDC_info[i]->DNLData,sizeof(__int16)*8*1024);
		}
	}




	clone->fADC8.driver_version					=	this->fADC8.driver_version;
	clone->fADC8.i32NumberOfDAQLoops			=	this->fADC8.i32NumberOfDAQLoops;
	clone->fADC8.number_of_bools				=	this->fADC8.number_of_bools;
	clone->fADC8.number_of_int32s				=	this->fADC8.number_of_int32s;
	clone->fADC8.number_of_uint32s				=	this->fADC8.number_of_uint32s;
	clone->fADC8.number_of_doubles				=	this->fADC8.number_of_doubles;
	clone->fADC8.GroupEndMarker					=	this->fADC8.GroupEndMarker;
	clone->fADC8.i32NumberOfADCmodules			=	this->fADC8.i32NumberOfADCmodules;
	clone->fADC8.iEnableGroupMode				=	this->fADC8.iEnableGroupMode;
	clone->fADC8.iTriggerChannel				=	this->fADC8.iTriggerChannel;
	clone->fADC8.iPreSamplings_in_4800ps_units	=	this->fADC8.iPreSamplings_in_4800ps_units;
	clone->fADC8.iPostSamplings_in_9600ps_units	=	this->fADC8.iPostSamplings_in_9600ps_units;
	clone->fADC8.iEnableTDCinputs				=	this->fADC8.iEnableTDCinputs;
	clone->fADC8.bReadCustomData				=	this->fADC8.bReadCustomData;
	clone->fADC8.veto_gate_length				=	this->fADC8.veto_gate_length;
	clone->fADC8.veto_delay_length				=	this->fADC8.veto_delay_length;
	clone->fADC8.veto_mask						=	this->fADC8.veto_mask;
	clone->fADC8.dGroupRangeStart				=	this->fADC8.dGroupRangeStart;
	clone->fADC8.dGroupRangeEnd					=	this->fADC8.dGroupRangeEnd;
	clone->fADC8.at_least_1_signal_was_written	=	this->fADC8.at_least_1_signal_was_written;
	for (__int32 m = 0;m<8;m++) {
		clone->fADC8.firmware_version[m]	= this->fADC8.firmware_version[m];
		clone->fADC8.serial_number[m]		= this->fADC8.serial_number[m];
		for (__int32 adc = 0;adc<2;adc++) {
			clone->fADC8.dSyncTimeOffset[m][adc]	=	this->fADC8.dSyncTimeOffset[m][adc];
			clone->fADC8.iChannelMode[m][adc]		=	this->fADC8.iChannelMode[m][adc]; // 0 = 1.25Gs, 1 = 2.5Gs, 2 = 5Gs
			clone->fADC8.iThreshold_GT[m][m]		=	this->fADC8.iThreshold_GT[m][m];
			clone->fADC8.iThreshold_LT[m][m]		=	this->fADC8.iThreshold_LT[m][m];
			clone->fADC8.iSynchronMode [m][adc]		=	this->fADC8.iSynchronMode [m][adc];
		}
		for (__int32 ch = 0;ch<2;ch++)
			clone->fADC8.GND_level[m][ch] = this->fADC8.GND_level[m][ch];
	}


	clone->fADC4.packet_count =				this->fADC4.packet_count;
	clone->fADC4.number_of_bools =			this->fADC4.number_of_bools;
	clone->fADC4.number_of_int32s =			this->fADC4.number_of_int32s;
	clone->fADC4.number_of_uint32s =		this->fADC4.number_of_uint32s;
	clone->fADC4.number_of_doubles =		this->fADC4.number_of_doubles;
	clone->fADC4.GroupEndMarker =			this->fADC4.GroupEndMarker;
	clone->fADC4.driver_version =			this->fADC4.driver_version;
	clone->fADC4.i32NumberOfDAQLoops =		this->fADC4.i32NumberOfDAQLoops;
	clone->fADC4.bReadCustomData =			this->fADC4.bReadCustomData;
	clone->fADC4.i32NumberOfADCmodules =	this->fADC4.i32NumberOfADCmodules;
	clone->fADC4.iTriggerChannel =			this->fADC4.iTriggerChannel;
	clone->fADC4.dGroupRangeStart =			this->fADC4.dGroupRangeStart;
	clone->fADC4.dGroupRangeEnd =			this->fADC4.dGroupRangeEnd;
	clone->fADC4.csConfigFile =				this->fADC4.csConfigFile;
	clone->fADC4.csINLFile =				this->fADC4.csINLFile;
	clone->fADC4.csDNLFile =				this->fADC4.csDNLFile;
	for (__int32 i=0;i<20;i++) clone->fADC4.bits_per_mVolt[i] = this->fADC4.bits_per_mVolt[i];

	return clone;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl $0x2b80, %edi           # imm = 0x2B80
callq 0x2190
movq %rax, %rdi
movq -0x60(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x58(%rbp)
movl 0x2b70(%rax), %esi
movl 0x2b74(%rax), %edx
callq 0x27f0
jmp 0x1a142
movq -0x58(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x1a17d
movq $0x0, -0x8(%rbp)
jmp 0x1bad4
movq -0x58(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x2b80, %esi           # imm = 0x2B80
callq 0x21a0
jmp 0x1bae1
movq -0x60(%rbp), %rsi
movq -0x18(%rbp), %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x20, %rsi
movq -0x18(%rbp), %rdi
addq $0x20, %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x40, %rsi
movq -0x18(%rbp), %rdi
addq $0x40, %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x60, %rsi
movq -0x18(%rbp), %rdi
addq $0x60, %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x80, %rsi
movq -0x18(%rbp), %rdi
addq $0x80, %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0xa0, %rsi
movq -0x18(%rbp), %rdi
addq $0xa0, %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0xc0, %rsi
movq -0x18(%rbp), %rdi
addq $0xc0, %rdi
callq 0x2040
movq -0x60(%rbp), %rax
movq 0x220(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x220(%rcx)
movq 0x228(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x228(%rcx)
movq 0x230(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x230(%rcx)
movq 0x238(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x238(%rcx)
movl 0x240(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x240(%rcx)
movl 0x244(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x244(%rcx)
movl 0x248(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x248(%rcx)
movl 0x24c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x24c(%rcx)
movl 0x250(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x250(%rcx)
movq 0x258(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x258(%rcx)
movq 0x260(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x260(%rcx)
movq 0x268(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x268(%rcx)
movl 0x270(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x270(%rcx)
movl 0x274(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x274(%rcx)
movl 0x278(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x278(%rcx)
movl 0x278(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x278(%rcx)
movl 0x27c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x27c(%rcx)
movl 0x280(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x280(%rcx)
movl 0x284(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x284(%rcx)
movl 0x288(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x288(%rcx)
movl 0x28c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x28c(%rcx)
movl 0x290(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x290(%rcx)
movl 0x294(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x294(%rcx)
movl 0x298(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x298(%rcx)
movl 0x29c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x29c(%rcx)
movl 0x2a0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2a0(%rcx)
movl 0x2a4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2a4(%rcx)
movl 0x2a8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2a8(%rcx)
movl 0x2ac(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2ac(%rcx)
movl 0x2b0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2b0(%rcx)
movl 0x2b4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2b4(%rcx)
movl 0x2b8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2b8(%rcx)
movl 0x2bc(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2bc(%rcx)
movl 0x2c0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2c0(%rcx)
movl 0x2c4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2c4(%rcx)
movl 0x2c8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2c8(%rcx)
movl 0x2cc(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2cc(%rcx)
movl 0x2d0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x2d0(%rcx)
movl 0x1284(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1284(%rcx)
movl 0x1288(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1288(%rcx)
movl 0x128c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x128c(%rcx)
movl 0x1290(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1290(%rcx)
movl 0x1294(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1294(%rcx)
movl 0x1298(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1298(%rcx)
movl 0x129c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x129c(%rcx)
movl 0x12a0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x12a0(%rcx)
movl 0x12a4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x12a4(%rcx)
movl 0x12a8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x12a8(%rcx)
movl 0x12ac(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x12ac(%rcx)
movl 0x12b0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x12b0(%rcx)
movl 0x1280(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1280(%rcx)
movsd 0x12b8(%rax), %xmm0
movq -0x18(%rbp), %rcx
movsd %xmm0, 0x12b8(%rcx)
movsd 0x12c0(%rax), %xmm0
movq -0x18(%rbp), %rcx
movsd %xmm0, 0x12c0(%rcx)
movsd 0x12c8(%rax), %xmm0
movq -0x18(%rbp), %rcx
movsd %xmm0, 0x12c8(%rcx)
movsd 0x12d0(%rax), %xmm0
movq -0x18(%rbp), %rcx
movsd %xmm0, 0x12d0(%rcx)
movq 0x12d8(%rax), %rdx
movq -0x18(%rbp), %rcx
movq %rdx, 0x12d8(%rcx)
movl 0x12f4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x12f4(%rcx)
movl 0x1310(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1310(%rcx)
movl 0x1328(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1328(%rcx)
movl 0x12f8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x12f8(%rcx)
movl 0x1314(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1314(%rcx)
movl 0x132c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x132c(%rcx)
cmpl $0x0, 0x12f4(%rax)
jl 0x1a682
movq -0x60(%rbp), %rax
movslq 0x12f4(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x2030
movq %rax, %rdx
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, 0x1300(%rcx)
movq -0x18(%rbp), %rcx
movq 0x1300(%rcx), %rdi
movslq 0x12f4(%rax), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x20d0
movq -0x60(%rbp), %rax
cmpl $0x0, 0x1310(%rax)
jl 0x1a6ea
movq -0x60(%rbp), %rax
movslq 0x1310(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x2030
movq %rax, %rdx
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, 0x1318(%rcx)
movq -0x18(%rbp), %rcx
movq 0x1318(%rcx), %rdi
movslq 0x1310(%rax), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x20d0
movq -0x60(%rbp), %rax
cmpl $0x0, 0x1328(%rax)
jl 0x1a752
movq -0x60(%rbp), %rax
movslq 0x1328(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x2030
movq %rax, %rdx
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, 0x1330(%rcx)
movq -0x18(%rbp), %rcx
movq 0x1330(%rcx), %rdi
movslq 0x1328(%rax), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x20d0
movq -0x60(%rbp), %rax
cmpq $0x0, 0x1300(%rax)
je 0x1a7db
movl $0x0, -0x28(%rbp)
movq -0x60(%rbp), %rcx
movl -0x28(%rbp), %eax
cmpl 0x12f4(%rcx), %eax
jge 0x1a7d9
movl $0x20, %edi
callq 0x2190
movq %rax, %rdi
movq %rdi, -0x68(%rbp)
callq 0x2260
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x1300(%rcx), %rcx
movslq -0x28(%rbp), %rdx
movq %rsi, (%rcx,%rdx,8)
movq 0x1300(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movq -0x18(%rbp), %rax
movq 0x1300(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2040
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x1a767
jmp 0x1a7db
movq -0x60(%rbp), %rax
cmpq $0x0, 0x1318(%rax)
je 0x1a864
movl $0x0, -0x2c(%rbp)
movq -0x60(%rbp), %rcx
movl -0x2c(%rbp), %eax
cmpl 0x1310(%rcx), %eax
jge 0x1a862
movl $0x20, %edi
callq 0x2190
movq %rax, %rdi
movq %rdi, -0x70(%rbp)
callq 0x2260
movq -0x70(%rbp), %rsi
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x1318(%rcx), %rcx
movslq -0x2c(%rbp), %rdx
movq %rsi, (%rcx,%rdx,8)
movq 0x1318(%rax), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movq -0x18(%rbp), %rax
movq 0x1318(%rax), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2040
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1a7f0
jmp 0x1a864
movq -0x60(%rbp), %rax
cmpq $0x0, 0x1330(%rax)
je 0x1a8ed
movl $0x0, -0x30(%rbp)
movq -0x60(%rbp), %rcx
movl -0x30(%rbp), %eax
cmpl 0x1328(%rcx), %eax
jge 0x1a8eb
movl $0x20, %edi
callq 0x2190
movq %rax, %rdi
movq %rdi, -0x78(%rbp)
callq 0x2260
movq -0x78(%rbp), %rsi
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x1330(%rcx), %rcx
movslq -0x30(%rbp), %rdx
movq %rsi, (%rcx,%rdx,8)
movq 0x1330(%rax), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movq -0x18(%rbp), %rax
movq 0x1330(%rax), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2040
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x1a879
jmp 0x1a8ed
movq -0x60(%rbp), %rax
cmpl $0x0, 0x12f8(%rax)
jl 0x1a955
movq -0x60(%rbp), %rax
movslq 0x12f8(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x2030
movq %rax, %rdx
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, 0x1308(%rcx)
movq -0x18(%rbp), %rcx
movq 0x1308(%rcx), %rdi
movslq 0x12f8(%rax), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x20d0
movq -0x60(%rbp), %rax
cmpl $0x0, 0x1314(%rax)
jl 0x1a9bd
movq -0x60(%rbp), %rax
movslq 0x1314(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x2030
movq %rax, %rdx
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, 0x1320(%rcx)
movq -0x18(%rbp), %rcx
movq 0x1320(%rcx), %rdi
movslq 0x1314(%rax), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x20d0
movq -0x60(%rbp), %rax
cmpl $0x0, 0x132c(%rax)
jl 0x1aa25
movq -0x60(%rbp), %rax
movslq 0x132c(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x2030
movq %rax, %rdx
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rdx, 0x1338(%rcx)
movq -0x18(%rbp), %rcx
movq 0x1338(%rcx), %rdi
movslq 0x132c(%rax), %rdx
shlq $0x3, %rdx
xorl %esi, %esi
callq 0x20d0
movq -0x60(%rbp), %rax
cmpq $0x0, 0x1308(%rax)
je 0x1aaae
movl $0x0, -0x34(%rbp)
movq -0x60(%rbp), %rcx
movl -0x34(%rbp), %eax
cmpl 0x12f8(%rcx), %eax
jge 0x1aaac
movl $0x20, %edi
callq 0x2190
movq %rax, %rdi
movq %rdi, -0x80(%rbp)
callq 0x2260
movq -0x80(%rbp), %rsi
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x1308(%rcx), %rcx
movslq -0x34(%rbp), %rdx
movq %rsi, (%rcx,%rdx,8)
movq 0x1308(%rax), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movq -0x18(%rbp), %rax
movq 0x1308(%rax), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2040
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1aa3a
jmp 0x1aaae
movq -0x60(%rbp), %rax
cmpq $0x0, 0x1320(%rax)
je 0x1ab41
movl $0x0, -0x38(%rbp)
movq -0x60(%rbp), %rcx
movl -0x38(%rbp), %eax
cmpl 0x1314(%rcx), %eax
jge 0x1ab3f
movl $0x20, %edi
callq 0x2190
movq %rax, %rdi
movq %rdi, -0x88(%rbp)
callq 0x2260
movq -0x88(%rbp), %rsi
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x1320(%rcx), %rcx
movslq -0x38(%rbp), %rdx
movq %rsi, (%rcx,%rdx,8)
movq 0x1320(%rax), %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movq -0x18(%rbp), %rax
movq 0x1320(%rax), %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2040
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1aac7
jmp 0x1ab41
movq -0x60(%rbp), %rax
cmpq $0x0, 0x1338(%rax)
je 0x1abd4
movl $0x0, -0x3c(%rbp)
movq -0x60(%rbp), %rcx
movl -0x3c(%rbp), %eax
cmpl 0x132c(%rcx), %eax
jge 0x1abd2
movl $0x20, %edi
callq 0x2190
movq %rax, %rdi
movq %rdi, -0x90(%rbp)
callq 0x2260
movq -0x90(%rbp), %rsi
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x1338(%rcx), %rcx
movslq -0x3c(%rbp), %rdx
movq %rsi, (%rcx,%rdx,8)
movq 0x1338(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movq -0x18(%rbp), %rax
movq 0x1338(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2040
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x1ab5a
jmp 0x1abd4
movq -0x60(%rbp), %rsi
movl 0x12f0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x12f0(%rax)
movl 0x12ec(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x12ec(%rax)
movl 0x12e8(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x12e8(%rax)
movl 0x12e0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x12e0(%rax)
movb 0x12e4(%rsi), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x12e4(%rax)
movq 0x2b10(%rsi), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x2b10(%rax)
movb 0x2b3c(%rsi), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x2b3c(%rax)
movl 0x2b40(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2b40(%rax)
movl 0x2b44(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2b44(%rax)
movl 0x2b48(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2b48(%rax)
movb 0x2b4c(%rsi), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x2b4c(%rax)
movl 0x2b70(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2b70(%rax)
movl 0x2b74(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2b74(%rax)
movl 0x1558(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1558(%rax)
movl 0x155c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x155c(%rax)
movl 0x1560(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1560(%rax)
movl 0x1564(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1564(%rax)
movl 0x1568(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1568(%rax)
movl 0x156c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x156c(%rax)
movl 0x1570(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1570(%rax)
movb 0x1574(%rsi), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x1574(%rax)
movb 0x1575(%rsi), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x1575(%rax)
movl 0x1578(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1578(%rax)
movl 0x157c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x157c(%rax)
movl 0x1580(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1580(%rax)
movl 0x1584(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1584(%rax)
movl 0x1588(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1588(%rax)
movl 0x158c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x158c(%rax)
movl 0x1590(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1590(%rax)
movl 0x1594(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1594(%rax)
movl 0x1598(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1598(%rax)
movl 0x159c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x159c(%rax)
movl 0x1340(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1340(%rax)
movl 0x1344(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1344(%rax)
movl 0x1348(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1348(%rax)
movl 0x134c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x134c(%rax)
movl 0x1350(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1350(%rax)
movl 0x1354(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1354(%rax)
movl 0x1358(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1358(%rax)
movl 0x135c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x135c(%rax)
movl 0x1360(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1360(%rax)
movl 0x1364(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1364(%rax)
movl 0x1368(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1368(%rax)
movl 0x136c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x136c(%rax)
movl 0x1370(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1370(%rax)
movl 0x1374(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1374(%rax)
movl 0x1378(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1378(%rax)
movl 0x137c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x137c(%rax)
movl 0x1380(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1380(%rax)
movl 0x1384(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1384(%rax)
movl 0x1388(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1388(%rax)
movl 0x138c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x138c(%rax)
movl 0x1390(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1390(%rax)
movl 0x1394(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1394(%rax)
movl 0x1398(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1398(%rax)
movl 0x139c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x139c(%rax)
movl 0x13a0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13a0(%rax)
movl 0x13a4(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13a4(%rax)
movl 0x13a8(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13a8(%rax)
movl 0x13ac(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13ac(%rax)
movl 0x13b0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13b0(%rax)
movl 0x13b4(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13b4(%rax)
movl 0x13b8(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13b8(%rax)
movb 0x13bc(%rsi), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x13bc(%rax)
movl 0x13c0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13c0(%rax)
movl 0x13c4(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13c4(%rax)
movl 0x13c8(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13c8(%rax)
movl 0x13cc(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13cc(%rax)
movl 0x13d0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13d0(%rax)
movsd 0x13d8(%rsi), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x13d8(%rax)
movl 0x13e0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13e0(%rax)
movl 0x13e4(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13e4(%rax)
movl 0x13e8(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13e8(%rax)
movl 0x13ec(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13ec(%rax)
movl 0x13f0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13f0(%rax)
movl 0x13f4(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13f4(%rax)
movl 0x13fc(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x13fc(%rax)
movq 0x1400(%rsi), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x1400(%rax)
movq 0x1408(%rsi), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x1408(%rax)
movl 0x1410(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1410(%rax)
movl 0x1414(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1414(%rax)
movl 0x1418(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1418(%rax)
movl 0x141c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x141c(%rax)
movl 0x1420(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1420(%rax)
movl 0x1424(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1424(%rax)
movsd 0x1428(%rsi), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x1428(%rax)
movsd 0x1430(%rsi), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x1430(%rax)
movsd 0x1438(%rsi), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x1438(%rax)
movl 0x1440(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1440(%rax)
movl 0x1444(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1444(%rax)
movl 0x1448(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1448(%rax)
movl 0x144c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x144c(%rax)
movl 0x1450(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1450(%rax)
movl 0x1454(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1454(%rax)
movl 0x1458(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1458(%rax)
movl 0x145c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x145c(%rax)
addq $0x13f8, %rsi           # imm = 0x13F8
addq $0x78, %rsi
movq -0x18(%rbp), %rdi
addq $0x13f8, %rdi           # imm = 0x13F8
addq $0x78, %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x13f8, %rsi           # imm = 0x13F8
addq $0x98, %rsi
movq -0x18(%rbp), %rdi
addq $0x13f8, %rdi           # imm = 0x13F8
addq $0x98, %rdi
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x13f8, %rsi           # imm = 0x13F8
addq $0xb8, %rsi
movq -0x18(%rbp), %rdi
addq $0x13f8, %rdi           # imm = 0x13F8
addq $0xb8, %rdi
callq 0x2040
movq -0x60(%rbp), %rax
movl 0x14d0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x14d0(%rcx)
movl 0x14d4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x14d4(%rcx)
movl 0x14d8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x14d8(%rcx)
movl 0x14dc(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x14dc(%rcx)
movb 0x14e0(%rax), %dl
movq -0x18(%rbp), %rcx
andb $0x1, %dl
movb %dl, 0x14e0(%rcx)
movl 0x14e4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x14e4(%rcx)
movl 0x14e8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x14e8(%rcx)
movb 0x14ec(%rax), %dl
movq -0x18(%rbp), %rcx
andb $0x1, %dl
movb %dl, 0x14ec(%rcx)
movb 0x14ed(%rax), %dl
movq -0x18(%rbp), %rcx
andb $0x1, %dl
movb %dl, 0x14ed(%rcx)
movb 0x14ee(%rax), %dl
movq -0x18(%rbp), %rcx
andb $0x1, %dl
movb %dl, 0x14ee(%rcx)
movsd 0x14f0(%rax), %xmm0
movq -0x18(%rbp), %rcx
movsd %xmm0, 0x14f0(%rcx)
movl 0x1518(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1518(%rcx)
movl 0x151c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x151c(%rcx)
movl 0x1520(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1520(%rcx)
movl 0x1524(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1524(%rcx)
movl 0x14f8(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x14f8(%rax)
movl $0x0, -0x40(%rbp)
cmpl $0x3, -0x40(%rbp)
jge 0x1b5be
movq -0x60(%rbp), %rax
movslq -0x40(%rbp), %rcx
cmpq $0x0, 0x1500(%rax,%rcx,8)
je 0x1b5ae
movq -0x60(%rbp), %rax
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl (%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, (%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x4(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x4(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x8(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x8(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0xc(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0xc(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x10(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x10(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x14(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x14(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x18(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x18(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movsd 0x20(%rcx), %xmm0
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rdx
movq 0x1500(%rcx,%rdx,8), %rcx
movsd %xmm0, 0x20(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x28(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x28(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x2c(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x2c(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movl 0x30(%rcx), %edx
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
movl %edx, 0x30(%rcx)
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rcx
movb 0x48(%rcx), %dl
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rsi
movq 0x1500(%rcx,%rsi,8), %rcx
andb $0x1, %dl
movb %dl, 0x48(%rcx)
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rdx
movq 0x1500(%rcx,%rdx,8), %rcx
movq 0x38(%rcx), %rdi
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
movq 0x38(%rax), %rsi
movl $0x8000, %edx           # imm = 0x8000
callq 0x2140
movq -0x60(%rbp), %rax
movq -0x18(%rbp), %rcx
movslq -0x40(%rbp), %rdx
movq 0x1500(%rcx,%rdx,8), %rcx
movq 0x40(%rcx), %rdi
movslq -0x40(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
movq 0x40(%rax), %rsi
movl $0x4000, %edx           # imm = 0x4000
callq 0x2140
jmp 0x1b5b0
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x1b38c
movq -0x60(%rbp), %rax
movl 0x15a0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15a0(%rcx)
movl 0x15a4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15a4(%rcx)
movl 0x15a8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15a8(%rcx)
movl 0x15ac(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15ac(%rcx)
movl 0x15b0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15b0(%rcx)
movl 0x15b4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15b4(%rcx)
movl 0x15b8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15b8(%rcx)
movl 0x15bc(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15bc(%rcx)
movl 0x15c0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15c0(%rcx)
movl 0x15c4(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15c4(%rcx)
movl 0x15c8(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15c8(%rcx)
movl 0x15cc(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15cc(%rcx)
movl 0x15d0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x15d0(%rcx)
movb 0x1854(%rax), %dl
movq -0x18(%rbp), %rcx
andb $0x1, %dl
movb %dl, 0x1854(%rcx)
movl 0x1898(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x1898(%rcx)
movl 0x189c(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x189c(%rcx)
movl 0x18a0(%rax), %edx
movq -0x18(%rbp), %rcx
movl %edx, 0x18a0(%rcx)
movsd 0x19e8(%rax), %xmm0
movq -0x18(%rbp), %rcx
movsd %xmm0, 0x19e8(%rcx)
movsd 0x19f0(%rax), %xmm0
movq -0x18(%rbp), %rcx
movsd %xmm0, 0x19f0(%rcx)
movb 0x1a78(%rax), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x1a78(%rax)
movl $0x0, -0x44(%rbp)
cmpl $0x8, -0x44(%rbp)
jge 0x1b93c
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movl 0x1858(%rax,%rcx,4), %esi
movq -0x18(%rbp), %rcx
movslq -0x44(%rbp), %rdx
movl %esi, 0x1858(%rcx,%rdx,4)
movslq -0x44(%rbp), %rcx
movl 0x1878(%rax,%rcx,4), %edx
movq -0x18(%rbp), %rax
movslq -0x44(%rbp), %rcx
movl %edx, 0x1878(%rax,%rcx,4)
movl $0x0, -0x48(%rbp)
cmpl $0x2, -0x48(%rbp)
jge 0x1b8d0
movq -0x60(%rbp), %rax
movq %rax, %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x458, %rcx            # imm = 0x458
movslq -0x44(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movslq -0x48(%rbp), %rdx
movsd (%rcx,%rdx,8), %xmm0
movq -0x18(%rbp), %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x458, %rcx            # imm = 0x458
movslq -0x44(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movslq -0x48(%rbp), %rdx
movsd %xmm0, (%rcx,%rdx,8)
movq %rax, %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x34, %rcx
movslq -0x44(%rbp), %rdx
shlq $0x3, %rdx
addq %rdx, %rcx
movslq -0x48(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
movq -0x18(%rbp), %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x34, %rcx
movslq -0x44(%rbp), %rdx
shlq $0x3, %rdx
addq %rdx, %rcx
movslq -0x48(%rbp), %rdx
movl %esi, (%rcx,%rdx,4)
movq %rax, %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x74, %rcx
movslq -0x44(%rbp), %rdx
shlq $0x5, %rdx
addq %rdx, %rcx
movslq -0x44(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
movq -0x18(%rbp), %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x74, %rcx
movslq -0x44(%rbp), %rdx
shlq $0x5, %rdx
addq %rdx, %rcx
movslq -0x44(%rbp), %rdx
movl %esi, (%rcx,%rdx,4)
movq %rax, %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x174, %rcx            # imm = 0x174
movslq -0x44(%rbp), %rdx
shlq $0x5, %rdx
addq %rdx, %rcx
movslq -0x44(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
movq -0x18(%rbp), %rcx
addq $0x15a0, %rcx           # imm = 0x15A0
addq $0x174, %rcx            # imm = 0x174
movslq -0x44(%rbp), %rdx
shlq $0x5, %rdx
addq %rdx, %rcx
movslq -0x44(%rbp), %rdx
movl %esi, (%rcx,%rdx,4)
addq $0x15a0, %rax           # imm = 0x15A0
addq $0x274, %rax            # imm = 0x274
movslq -0x44(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movslq -0x48(%rbp), %rcx
movl (%rax,%rcx,4), %edx
movq -0x18(%rbp), %rax
addq $0x15a0, %rax           # imm = 0x15A0
addq $0x274, %rax            # imm = 0x274
movslq -0x44(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movslq -0x48(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x1b760
movl $0x0, -0x4c(%rbp)
cmpl $0x2, -0x4c(%rbp)
jge 0x1b92c
movq -0x60(%rbp), %rax
addq $0x15a0, %rax           # imm = 0x15A0
addq $0x304, %rax            # imm = 0x304
movslq -0x44(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq -0x4c(%rbp), %rcx
movl (%rax,%rcx,4), %edx
movq -0x18(%rbp), %rax
addq $0x15a0, %rax           # imm = 0x15A0
addq $0x304, %rax            # imm = 0x304
movslq -0x44(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq -0x4c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x1b8d7
jmp 0x1b92e
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x1b717
movq -0x60(%rbp), %rsi
movl 0x1abc(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1abc(%rax)
movl 0x1a94(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1a94(%rax)
movl 0x1a98(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1a98(%rax)
movl 0x1a9c(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1a9c(%rax)
movl 0x1aa0(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1aa0(%rax)
movl 0x1ab8(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1ab8(%rax)
movl 0x1a80(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1a80(%rax)
movl 0x1a88(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1a88(%rax)
movb 0x1a8c(%rsi), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x1a8c(%rax)
movl 0x1a84(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1a84(%rax)
movl 0x1a90(%rsi), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1a90(%rax)
movsd 0x1aa8(%rsi), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x1aa8(%rax)
movsd 0x1ab0(%rsi), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x1ab0(%rax)
addq $0x1a80, %rsi           # imm = 0x1A80
addq $0x1030, %rsi           # imm = 0x1030
movq -0x18(%rbp), %rdi
addq $0x1a80, %rdi           # imm = 0x1A80
addq $0x1030, %rdi           # imm = 0x1030
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x1a80, %rsi           # imm = 0x1A80
addq $0x1050, %rsi           # imm = 0x1050
movq -0x18(%rbp), %rdi
addq $0x1a80, %rdi           # imm = 0x1A80
addq $0x1050, %rdi           # imm = 0x1050
callq 0x2040
movq -0x60(%rbp), %rsi
addq $0x1a80, %rsi           # imm = 0x1A80
addq $0x1070, %rsi           # imm = 0x1070
movq -0x18(%rbp), %rdi
addq $0x1a80, %rdi           # imm = 0x1A80
addq $0x1070, %rdi           # imm = 0x1070
callq 0x2040
movl $0x0, -0x50(%rbp)
cmpl $0x14, -0x50(%rbp)
jge 0x1bacc
movq -0x60(%rbp), %rax
movslq -0x50(%rbp), %rcx
movsd 0x2a10(%rax,%rcx,8), %xmm0
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movsd %xmm0, 0x2a10(%rax,%rcx,8)
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x1ba99
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x22f0
nopw (%rax,%rax)