// File: NichtJens[P]lmf2txt/LMF_IO.cpp
// Function: LMF_IO::WritefADC8_header_LMFversion10()
__int32	LMF_IO::WritefADC8_header_LMFversion10()
{
	unsigned __int32 unsigned_int_Dummy;

	__int32 byte_counter = 0;

	*output_lmf << frequency;	byte_counter += sizeof(double);			// frequency is always 4th value
	*output_lmf << IOaddress;	byte_counter += sizeof(__int32);		// IO address (parameter 1) always 5th value
	*output_lmf << timestamp_format_output;	byte_counter += sizeof(__int32);		// TimeInfo (parameter 2) always 6th value  (0,1,2)*32Bit

	unsigned __int32 dummy = (unsigned __int32)(DAQ_info.length());
	*output_lmf << dummy;
	byte_counter += sizeof(__int32);		// Length of DAQInfo always 7th value

	output_lmf->write(DAQ_info.c_str(), __int32(DAQ_info.length()));	// DAQInfo always 8th value
	byte_counter += (unsigned __int32)(DAQ_info.length());

	*output_lmf << LMF_Version_output; byte_counter += sizeof(__int32);

	if ((number_of_DAQ_source_strings_output < 0) || (!DAQ_source_strings_output)) number_of_DAQ_source_strings_output = 0;
	*output_lmf << number_of_DAQ_source_strings_output;  byte_counter += sizeof(__int32);

	for (__int32 i=0;i<number_of_DAQ_source_strings_output;++i) {
		unsigned_int_Dummy = (unsigned __int32)(DAQ_source_strings_output[i]->length());
		*output_lmf << unsigned_int_Dummy;   byte_counter += sizeof(__int32);
		output_lmf->write(DAQ_source_strings_output[i]->c_str(),__int32(DAQ_source_strings_output[i]->length()));
		byte_counter += (unsigned __int32)(DAQ_source_strings_output[i]->length());
	}

	*output_lmf <<  time_reference_output;	byte_counter += sizeof(__int32);
	*output_lmf <<  tdcresolution_output;	byte_counter += sizeof(double);		// tdc resolution in ns
	*output_lmf <<  TDCDataType;		byte_counter += sizeof(__int32);

	unsigned __int64 temp_uint64 = number_of_channels_output;
	*output_lmf <<  temp_uint64;		byte_counter += sizeof(unsigned __int64);		// number of channels

	temp_uint64 = max_number_of_hits;
	*output_lmf <<  temp_uint64;		byte_counter += sizeof(unsigned __int64);		// number of hits

	*output_lmf <<  data_format_in_userheader_output;	byte_counter += sizeof(__int32);	// data format (2=short integer)

	// bools
	__int32 counter = 0;
	*output_lmf <<  fADC8.number_of_bools; byte_counter += sizeof(__int32);
	for (__int32 i=counter;i<fADC8.number_of_bools;++i) {
		bool bool_dummy = false;
		*output_lmf <<  bool_dummy;	byte_counter += sizeof(bool);
	}

	// unsigned 32bit
	counter = 0;
	*output_lmf <<  fADC8.number_of_uint32s;		byte_counter += sizeof(__int32);
	
	*output_lmf <<  fADC8.i32NumberOfDAQLoops;		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.i32NumberOfADCmodules;	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iEnableGroupMode;			byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iTriggerChannel;			byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iPreSamplings_in_4800ps_units;	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iPostSamplings_in_9600ps_units;	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iEnableTDCinputs;			byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iChannelMode[0][0];		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iChannelMode[0][1];		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iChannelMode[1][0];		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iChannelMode[1][1];		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iChannelMode[2][0];		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iChannelMode[2][1];		byte_counter += sizeof(__int32); counter++;
	
	for (__int32 i=0;i<3;i++) {
		*output_lmf <<  fADC8.firmware_version[i];	byte_counter += sizeof(__int32); counter++; // adc module firmware
		*output_lmf <<  fADC8.serial_number[i];		byte_counter += sizeof(__int32); counter++; // adc module serial number
	}
	
	*output_lmf <<  fADC8.driver_version; byte_counter += sizeof(__int32); counter++; // adc driver version number
	
	for (__int32 i=counter;i<fADC8.number_of_uint32s;++i) {
		unsigned __int32 uint_dummy = 0;
		*output_lmf <<  uint_dummy;				byte_counter += sizeof(unsigned __int32);
	}

	// signed 32bit
	counter = 0;
	*output_lmf <<  fADC8.number_of_int32s;		byte_counter += sizeof(__int32);

	for (__int32 imod = 0; imod < 3; imod++) {
		for (__int32 ich = 0; ich < 8; ich++) {
			*output_lmf <<  fADC8.iThreshold_GT[imod][ich];	byte_counter += sizeof(__int32);  counter++;
		}
	}
	for (__int32 imod = 0; imod < 3; imod++) {
		for (__int32 ich = 0; ich < 8; ich++) {
			*output_lmf <<  fADC8.iThreshold_LT[imod][ich];	byte_counter += sizeof(__int32);  counter++;
		}
	}
	*output_lmf <<  fADC8.iSynchronMode[0][0];	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iSynchronMode[0][1];	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iSynchronMode[1][0];	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iSynchronMode[1][1];	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iSynchronMode[2][0];	byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.iSynchronMode[2][1];	byte_counter += sizeof(__int32); counter++;
	
	*output_lmf <<  fADC8.GroupEndMarker;			byte_counter += sizeof(__int32); counter++;
	
	*output_lmf <<  fADC8.veto_gate_length;		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.veto_delay_length;		byte_counter += sizeof(__int32); counter++;
	*output_lmf <<  fADC8.veto_mask;				byte_counter += sizeof(__int32); counter++;

	for (__int32 imod = 0; imod < 3; imod++) {
		for (__int32 ich = 0; ich < 8; ich++) {
			*output_lmf <<  fADC8.GND_level[imod][ich]; byte_counter += sizeof(__int32); counter++;
		}
	}

	if (counter < fADC8.number_of_int32s) {
		for (__int32 i=counter;i<fADC8.number_of_int32s;++i) {
			*output_lmf <<  __int32(fADC8.bReadCustomData ? 1 : 0);	byte_counter += sizeof(__int32);
		}
	}

	// doubles
	counter = 0;
	*output_lmf <<  fADC8.number_of_doubles;		byte_counter += sizeof(__int32);
	*output_lmf <<  fADC8.dGroupRangeStart;			byte_counter += sizeof(double); counter++;
	*output_lmf <<  fADC8.dGroupRangeEnd;			byte_counter += sizeof(double); counter++;
	*output_lmf <<  fADC8.dSyncTimeOffset[0][0];	byte_counter += sizeof(double); counter++;
	*output_lmf <<  fADC8.dSyncTimeOffset[0][1];	byte_counter += sizeof(double); counter++;
	*output_lmf <<  fADC8.dSyncTimeOffset[1][0];	byte_counter += sizeof(double); counter++;
	*output_lmf <<  fADC8.dSyncTimeOffset[1][1];	byte_counter += sizeof(double); counter++;
	*output_lmf <<  fADC8.dSyncTimeOffset[2][0];	byte_counter += sizeof(double); counter++;
	*output_lmf <<  fADC8.dSyncTimeOffset[2][1];	byte_counter += sizeof(double); counter++;
	for (__int32 i=counter;i<fADC8.number_of_doubles;++i) {
		double double_dummy = 0.;
		*output_lmf <<  double_dummy; byte_counter += sizeof(double);
	}

	__int32 int_dummy = 123456789;
	*output_lmf <<  int_dummy;	byte_counter += sizeof(__int32);

	return byte_counter;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movl $0x0, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x12c8(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x2a4(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x2ac(%rax), %esi
callq 0x1caf0
movq -0x70(%rbp), %rdi
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
addq $0xa0, %rdi
callq 0x22b0
movq %rax, %rcx
movq -0x70(%rbp), %rax
movl %ecx, -0x14(%rbp)
movq 0x2b20(%rax), %rdi
movl -0x14(%rbp), %esi
callq 0x1caf0
movq -0x70(%rbp), %rdi
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movq 0x2b20(%rdi), %rax
movq %rax, -0x80(%rbp)
addq $0xa0, %rdi
callq 0x20b0
movq -0x70(%rbp), %rdi
movq %rax, -0x78(%rbp)
addq $0xa0, %rdi
callq 0x22b0
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
movl %eax, %edx
callq 0x1cd10
movq -0x70(%rbp), %rdi
addq $0xa0, %rdi
callq 0x22b0
movq %rax, %rcx
movq -0x70(%rbp), %rax
addl -0x10(%rbp), %ecx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x12a8(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
cmpl $0x0, 0x132c(%rax)
jl 0xcf26
movq -0x70(%rbp), %rax
cmpq $0x0, 0x1338(%rax)
jne 0xcf34
movq -0x70(%rbp), %rax
movl $0x0, 0x132c(%rax)
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
movl 0x132c(%rax), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl $0x0, -0x18(%rbp)
movq -0x70(%rbp), %rcx
movl -0x18(%rbp), %eax
cmpl 0x132c(%rcx), %eax
jge 0xd034
movq -0x70(%rbp), %rax
movq 0x1338(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x22b0
movq %rax, %rcx
movq -0x70(%rbp), %rax
movl %ecx, -0xc(%rbp)
movq 0x2b20(%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x1caf0
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rcx
movq %rcx, -0x90(%rbp)
movq 0x1338(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x20b0
movq %rax, %rcx
movq -0x70(%rbp), %rax
movq %rcx, -0x88(%rbp)
movq 0x1338(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x22b0
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
movl %eax, %edx
callq 0x1cd10
movq -0x70(%rbp), %rax
movq 0x1338(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x22b0
addl -0x10(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xcf5c
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
movl 0x244(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x12c0(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x12ac(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movslq 0x2c4(%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x2b20(%rax), %rdi
movq -0x20(%rbp), %rsi
callq 0x1cce0
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl 0x2bc(%rax), %ecx
movq %rcx, -0x20(%rbp)
movq 0x2b20(%rax), %rdi
movq -0x20(%rbp), %rsi
callq 0x1cce0
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x294(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl $0x0, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15a8(%rax), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x28(%rbp)
movq -0x70(%rbp), %rcx
movl -0x28(%rbp), %eax
cmpl 0x15a8(%rcx), %eax
jge 0xd17c
movq -0x70(%rbp), %rax
movb $0x0, -0x29(%rbp)
movq 0x2b20(%rax), %rdi
movb -0x29(%rbp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x1d300
movslq -0x10(%rbp), %rax
addq $0x1, %rax
movl %eax, -0x10(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xd13b
movq -0x70(%rbp), %rax
movl $0x0, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15b0(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15a4(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15bc(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15c0(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15c4(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15c8(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15cc(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15d0(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15d4(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15d8(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15dc(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15e0(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15e4(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15e8(%rax), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl $0x0, -0x30(%rbp)
cmpl $0x3, -0x30(%rbp)
jge 0xd43c
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
movslq -0x30(%rbp), %rcx
movl 0x1858(%rax,%rcx,4), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movslq -0x30(%rbp), %rcx
movl 0x1878(%rax,%rcx,4), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0xd3cd
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
movl 0x15a0(%rax), %esi
callq 0x1caf0
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x70(%rbp), %rcx
movl -0x34(%rbp), %eax
cmpl 0x15b0(%rcx), %eax
jge 0xd4ab
movq -0x70(%rbp), %rax
movl $0x0, -0x38(%rbp)
movq 0x2b20(%rax), %rdi
movl -0x38(%rbp), %esi
callq 0x1caf0
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xd46c
movq -0x70(%rbp), %rax
movl $0x0, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15ac(%rax), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl $0x0, -0x3c(%rbp)
cmpl $0x3, -0x3c(%rbp)
jge 0xd545
movl $0x0, -0x40(%rbp)
cmpl $0x8, -0x40(%rbp)
jge 0xd538
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
addq $0x15a0, %rax           # imm = 0x15A0
addq $0x74, %rax
movslq -0x3c(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movslq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0xd4e7
jmp 0xd53a
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0xd4da
movl $0x0, -0x44(%rbp)
cmpl $0x3, -0x44(%rbp)
jge 0xd5b9
movl $0x0, -0x48(%rbp)
cmpl $0x8, -0x48(%rbp)
jge 0xd5ac
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
addq $0x15a0, %rax           # imm = 0x15A0
addq $0x174, %rax            # imm = 0x174
movslq -0x44(%rbp), %rcx
shlq $0x5, %rcx
addq %rcx, %rax
movslq -0x48(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0xd559
jmp 0xd5ae
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0xd54c
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
movl 0x1814(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x1818(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x181c(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x1820(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x1824(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x1828(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15b8(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x1898(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x189c(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x18a0(%rax), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl $0x0, -0x4c(%rbp)
cmpl $0x3, -0x4c(%rbp)
jge 0xd7d1
movl $0x0, -0x50(%rbp)
cmpl $0x8, -0x50(%rbp)
jge 0xd7c4
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
addq $0x15a0, %rax           # imm = 0x15A0
addq $0x304, %rax            # imm = 0x304
movslq -0x4c(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq -0x50(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0xd771
jmp 0xd7c6
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0xd764
movq -0x70(%rbp), %rcx
movl -0x24(%rbp), %eax
cmpl 0x15ac(%rcx), %eax
jge 0xd830
movl -0x24(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x70(%rbp), %rcx
movl -0x54(%rbp), %eax
cmpl 0x15ac(%rcx), %eax
jge 0xd82e
movq -0x70(%rbp), %rax
movq 0x2b20(%rax), %rdi
movb 0x1854(%rax), %cl
xorl %esi, %esi
movl $0x1, %eax
testb $0x1, %cl
cmovnel %eax, %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0xd7e6
jmp 0xd830
movq -0x70(%rbp), %rax
movl $0x0, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movl 0x15b4(%rax), %esi
callq 0x1d170
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x4, %rcx
movl %ecx, -0x10(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x19e8(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x19f0(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x19f8(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x1a00(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x1a08(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x1a10(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x1a18(%rax), %xmm0
callq 0x1d130
movq -0x70(%rbp), %rax
movslq -0x10(%rbp), %rcx
addq $0x8, %rcx
movl %ecx, -0x10(%rbp)
movl -0x24(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
movq 0x2b20(%rax), %rdi
movsd 0x1a20(%rax), %xmm0
callq 0x1d130
movslq -0x10(%rbp), %rax
addq $0x8, %rax
movl %eax, -0x10(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x58(%rbp)
movq -0x70(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x15b4(%rcx), %eax
jge 0xda00
movq -0x70(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, -0x60(%rbp)
movq 0x2b20(%rax), %rdi
movsd -0x60(%rbp), %xmm0
callq 0x1d130
movslq -0x10(%rbp), %rax
addq $0x8, %rax
movl %eax, -0x10(%rbp)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0xd9be
movq -0x70(%rbp), %rax
movl $0x75bcd15, -0x64(%rbp) # imm = 0x75BCD15
movq 0x2b20(%rax), %rdi
movl -0x64(%rbp), %esi
callq 0x1d170
movslq -0x10(%rbp), %rax
addq $0x4, %rax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)