// File: /workspace/github_cpp_makefile_star2_O1/NichtJens[P]lmf2txt/LMF_IO.cpp
// Function: LMF_IO::~LMF_IO()
LMF_IO::~LMF_IO()
/////////////////////////////////////////////////////////////////
{
	if (InputFileIsOpen)  CloseInputLMF();
	if (OutputFileIsOpen) CloseOutputLMF();
	if (CAMAC_Data)		{delete[] CAMAC_Data; CAMAC_Data = 0;}
	if (i32TDC)			{delete[] i32TDC; i32TDC = 0;}
	if (us16TDC)		{delete[] us16TDC; us16TDC = 0;}
	if (dTDC)			{delete[] dTDC; dTDC = 0;}
	if (number_of_hits) {delete[] number_of_hits; number_of_hits = 0;}

	for (__int32 i=0;i<3;++i) {
		if (TDC8HP.TDC_info[i]) {
			if (TDC8HP.TDC_info[i]->INLCorrection)	{delete[] TDC8HP.TDC_info[i]->INLCorrection;	TDC8HP.TDC_info[i]->INLCorrection = 0;}
			if (TDC8HP.TDC_info[i]->DNLData)		{delete[] TDC8HP.TDC_info[i]->DNLData;			TDC8HP.TDC_info[i]->DNLData = 0;}
			if (TDC8HP.TDC_info[i]) {delete TDC8HP.TDC_info[i]; TDC8HP.TDC_info[i] = 0;}
		}
	}
	if (ui32buffer) {delete[] ui32buffer; ui32buffer = 0; this->ui32buffer_size = 0;}

	

	if (CCFHistory_strings) {
		for (__int32 i=0;i<number_of_CCFHistory_strings;++i) {
			if (CCFHistory_strings[i]) {delete CCFHistory_strings[i]; CCFHistory_strings[i] = 0;}
		}
		delete[] CCFHistory_strings; CCFHistory_strings = 0;
	}
	if (DAQ_source_strings) {
		for (__int32 i=0;i<number_of_DAQ_source_strings;++i) {
			if (DAQ_source_strings[i]) {delete DAQ_source_strings[i]; DAQ_source_strings[i] = 0;}
		}
		delete[] DAQ_source_strings; DAQ_source_strings = 0;
	}
	if (DAN_source_strings) {
		for (__int32 i=0;i<number_of_DAN_source_strings;++i) {
			if (DAN_source_strings[i]) {delete DAN_source_strings[i]; DAN_source_strings[i] = 0;}
		}
		delete[] DAN_source_strings; DAN_source_strings = 0;
	}

	if (CCFHistory_strings_output) {
		for (__int32 i=0;i<number_of_CCFHistory_strings_output;++i) {
			if (CCFHistory_strings_output[i]) {
				delete CCFHistory_strings_output[i]; 
				CCFHistory_strings_output[i] = 0;
			}
		}
		delete[] CCFHistory_strings_output; CCFHistory_strings_output = 0;
	}
	if (DAQ_source_strings_output) {
		for (__int32 i=0;i<number_of_DAQ_source_strings_output;++i) {
			if (DAQ_source_strings_output[i]) {delete DAQ_source_strings_output[i]; DAQ_source_strings_output[i] = 0;}
		}
		delete[] DAQ_source_strings_output; DAQ_source_strings_output = 0;
	}
	if (DAN_source_strings_output) {
		for (__int32 i=0;i<number_of_DAN_source_strings_output;++i) {
			if (DAN_source_strings_output[i]) {delete DAN_source_strings_output[i]; DAN_source_strings_output[i] = 0;}
		}
		delete[] DAN_source_strings_output; DAN_source_strings_output = 0;
	}

}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
cmpb $0x1, 0x2b28(%rdi)
jne 0x2fa1
movq %rbx, %rdi
callq 0x356a
cmpb $0x1, 0x2b29(%rbx)
jne 0x2fb2
movq %rbx, %rdi
callq 0x35e6
movq 0x2b78(%rbx), %rdi
testq %rdi, %rdi
je 0x2fce
callq 0x21a0
movq $0x0, 0x2b78(%rbx)
movq 0x2b58(%rbx), %rdi
testq %rdi, %rdi
je 0x2fea
callq 0x21a0
movq $0x0, 0x2b58(%rbx)
movq 0x2b60(%rbx), %rdi
testq %rdi, %rdi
je 0x3006
callq 0x21a0
movq $0x0, 0x2b60(%rbx)
movq 0x2b68(%rbx), %rdi
testq %rdi, %rdi
je 0x3022
callq 0x21a0
movq $0x0, 0x2b68(%rbx)
movq 0x2b50(%rbx), %rdi
testq %rdi, %rdi
je 0x303e
callq 0x21a0
movq $0x0, 0x2b50(%rbx)
movl $0x2a0, %r14d           # imm = 0x2A0
movq (%rbx,%r14,8), %rax
testq %rax, %rax
je 0x30a0
movq 0x38(%rax), %rdi
testq %rdi, %rdi
je 0x3067
callq 0x21a0
movq (%rbx,%r14,8), %rax
movq $0x0, 0x38(%rax)
movq (%rbx,%r14,8), %rax
movq 0x40(%rax), %rdi
testq %rdi, %rdi
je 0x3085
callq 0x21a0
movq (%rbx,%r14,8), %rax
movq $0x0, 0x40(%rax)
movq (%rbx,%r14,8), %rdi
testq %rdi, %rdi
je 0x30a0
movl $0x50, %esi
callq 0x2140
movq $0x0, (%rbx,%r14,8)
incq %r14
cmpq $0x2a3, %r14            # imm = 0x2A3
jne 0x3044
movq 0x2b30(%rbx), %rdi
testq %rdi, %rdi
je 0x30d2
callq 0x21a0
movq $0x0, 0x2b30(%rbx)
movl $0x0, 0x2b38(%rbx)
cmpq $0x0, 0x1300(%rbx)
je 0x3156
cmpl $0x0, 0x12f4(%rbx)
jle 0x313a
xorl %r15d, %r15d
movq 0x1300(%rbx), %rax
movq (%rax,%r15,8), %r14
testq %r14, %r14
je 0x312b
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x310f
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1300(%rbx), %rax
movq $0x0, (%rax,%r15,8)
incq %r15
movslq 0x12f4(%rbx), %rax
cmpq %rax, %r15
jl 0x30e8
movq 0x1300(%rbx), %rdi
testq %rdi, %rdi
je 0x314b
callq 0x21a0
movq $0x0, 0x1300(%rbx)
cmpq $0x0, 0x1330(%rbx)
je 0x31da
cmpl $0x0, 0x1328(%rbx)
jle 0x31be
xorl %r15d, %r15d
movq 0x1330(%rbx), %rax
movq (%rax,%r15,8), %r14
testq %r14, %r14
je 0x31af
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x3193
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1330(%rbx), %rax
movq $0x0, (%rax,%r15,8)
incq %r15
movslq 0x1328(%rbx), %rax
cmpq %rax, %r15
jl 0x316c
movq 0x1330(%rbx), %rdi
testq %rdi, %rdi
je 0x31cf
callq 0x21a0
movq $0x0, 0x1330(%rbx)
cmpq $0x0, 0x1318(%rbx)
je 0x325e
cmpl $0x0, 0x1310(%rbx)
jle 0x3242
xorl %r15d, %r15d
movq 0x1318(%rbx), %rax
movq (%rax,%r15,8), %r14
testq %r14, %r14
je 0x3233
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x3217
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1318(%rbx), %rax
movq $0x0, (%rax,%r15,8)
incq %r15
movslq 0x1310(%rbx), %rax
cmpq %rax, %r15
jl 0x31f0
movq 0x1318(%rbx), %rdi
testq %rdi, %rdi
je 0x3253
callq 0x21a0
movq $0x0, 0x1318(%rbx)
cmpq $0x0, 0x1308(%rbx)
je 0x32e2
cmpl $0x0, 0x12f8(%rbx)
jle 0x32c6
xorl %r15d, %r15d
movq 0x1308(%rbx), %rax
movq (%rax,%r15,8), %r14
testq %r14, %r14
je 0x32b7
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x329b
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1308(%rbx), %rax
movq $0x0, (%rax,%r15,8)
incq %r15
movslq 0x12f8(%rbx), %rax
cmpq %rax, %r15
jl 0x3274
movq 0x1308(%rbx), %rdi
testq %rdi, %rdi
je 0x32d7
callq 0x21a0
movq $0x0, 0x1308(%rbx)
cmpq $0x0, 0x1338(%rbx)
je 0x3366
cmpl $0x0, 0x132c(%rbx)
jle 0x334a
xorl %r15d, %r15d
movq 0x1338(%rbx), %rax
movq (%rax,%r15,8), %r14
testq %r14, %r14
je 0x333b
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x331f
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1338(%rbx), %rax
movq $0x0, (%rax,%r15,8)
incq %r15
movslq 0x132c(%rbx), %rax
cmpq %rax, %r15
jl 0x32f8
movq 0x1338(%rbx), %rdi
testq %rdi, %rdi
je 0x335b
callq 0x21a0
movq $0x0, 0x1338(%rbx)
cmpq $0x0, 0x1320(%rbx)
je 0x33ea
cmpl $0x0, 0x1314(%rbx)
jle 0x33ce
xorl %r15d, %r15d
movq 0x1320(%rbx), %rax
movq (%rax,%r15,8), %r14
testq %r14, %r14
je 0x33bf
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x33a3
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1320(%rbx), %rax
movq $0x0, (%rax,%r15,8)
incq %r15
movslq 0x1314(%rbx), %rax
cmpq %rax, %r15
jl 0x337c
movq 0x1320(%rbx), %rdi
testq %rdi, %rdi
je 0x33df
callq 0x21a0
movq $0x0, 0x1320(%rbx)
movq 0x2af0(%rbx), %rdi
leaq 0x2b00(%rbx), %rax
cmpq %rax, %rdi
je 0x3408
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x2ad0(%rbx), %rdi
leaq 0x2ae0(%rbx), %rax
cmpq %rax, %rdi
je 0x3426
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x2ab0(%rbx), %rdi
leaq 0x2ac0(%rbx), %rax
cmpq %rax, %rdi
je 0x3444
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x14b0(%rbx), %rdi
leaq 0x14c0(%rbx), %rax
cmpq %rax, %rdi
je 0x3462
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x1490(%rbx), %rdi
leaq 0x14a0(%rbx), %rax
cmpq %rax, %rdi
je 0x3480
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x1470(%rbx), %rdi
leaq 0x1480(%rbx), %rax
cmpq %rax, %rdi
je 0x349e
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0xc0(%rbx), %rdi
leaq 0xd0(%rbx), %rax
cmpq %rax, %rdi
je 0x34bc
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0xa0(%rbx), %rdi
leaq 0xb0(%rbx), %rax
cmpq %rax, %rdi
je 0x34da
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rbx), %rdi
leaq 0x90(%rbx), %rax
cmpq %rax, %rdi
je 0x34f8
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x60(%rbx), %rdi
leaq 0x70(%rbx), %rax
cmpq %rax, %rdi
je 0x3510
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rbx), %rdi
leaq 0x50(%rbx), %rax
cmpq %rax, %rdi
je 0x3528
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x20(%rbx), %rdi
leaq 0x30(%rbx), %rax
cmpq %rax, %rdi
je 0x3540
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq (%rbx), %rdi
addq $0x10, %rbx
cmpq %rbx, %rdi
je 0x355c
movq (%rbx), %rsi
incq %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x2140
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rdi
callq 0x13b76