// File: /workspace/github_cpp_makefile_star2_O2/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 %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpb $0x1, 0x2b28(%rdi)
jne 0x2dc4
movq %rbx, %rdi
callq 0x31a6
cmpb $0x1, 0x2b29(%rbx)
jne 0x2dd5
movq %rbx, %rdi
callq 0x31f4
movq 0x2b78(%rbx), %rdi
testq %rdi, %rdi
je 0x2dee
callq 0x21a0
andq $0x0, 0x2b78(%rbx)
movq 0x2b58(%rbx), %rdi
testq %rdi, %rdi
je 0x2e07
callq 0x21a0
andq $0x0, 0x2b58(%rbx)
movq 0x2b60(%rbx), %rdi
testq %rdi, %rdi
je 0x2e20
callq 0x21a0
andq $0x0, 0x2b60(%rbx)
movq 0x2b68(%rbx), %rdi
testq %rdi, %rdi
je 0x2e39
callq 0x21a0
andq $0x0, 0x2b68(%rbx)
movq 0x2b50(%rbx), %rdi
testq %rdi, %rdi
je 0x2e52
callq 0x21a0
andq $0x0, 0x2b50(%rbx)
movl $0x2a0, %r15d           # imm = 0x2A0
pushq $0x50
popq %r14
cmpq $0x2a3, %r15            # imm = 0x2A3
je 0x2ec1
movq (%rbx,%r15,8), %rdi
testq %rdi, %rdi
je 0x2ebc
movq 0x38(%rdi), %rax
testq %rax, %rax
je 0x2e8c
movq %rax, %rdi
callq 0x21a0
movq (%rbx,%r15,8), %rax
andq $0x0, 0x38(%rax)
movq (%rbx,%r15,8), %rdi
movq 0x40(%rdi), %rax
testq %rax, %rax
je 0x2eaf
movq %rax, %rdi
callq 0x21a0
movq (%rbx,%r15,8), %rax
andq $0x0, 0x40(%rax)
movq (%rbx,%r15,8), %rdi
testq %rdi, %rdi
je 0x2ebc
movq %r14, %rsi
callq 0x2140
andq $0x0, (%rbx,%r15,8)
incq %r15
jmp 0x2e5c
movq 0x2b30(%rbx), %rdi
testq %rdi, %rdi
je 0x2ee1
callq 0x21a0
andq $0x0, 0x2b30(%rbx)
andl $0x0, 0x2b38(%rbx)
cmpq $0x0, 0x1300(%rbx)
je 0x2f44
xorl %r12d, %r12d
pushq $0x20
popq %r14
movslq 0x12f4(%rbx), %rax
movq 0x1300(%rbx), %rdi
cmpq %rax, %r12
jge 0x2f32
movq (%rdi,%r12,8), %r15
testq %r15, %r15
je 0x2f2d
movq %r15, %rdi
callq 0x2090
movq %r15, %rdi
movq %r14, %rsi
callq 0x2140
movq 0x1300(%rbx), %rax
andq $0x0, (%rax,%r12,8)
incq %r12
jmp 0x2ef2
testq %rdi, %rdi
je 0x2f3c
callq 0x21a0
andq $0x0, 0x1300(%rbx)
cmpq $0x0, 0x1330(%rbx)
je 0x2fa7
xorl %r12d, %r12d
pushq $0x20
popq %r14
movslq 0x1328(%rbx), %rax
movq 0x1330(%rbx), %rdi
cmpq %rax, %r12
jge 0x2f95
movq (%rdi,%r12,8), %r15
testq %r15, %r15
je 0x2f90
movq %r15, %rdi
callq 0x2090
movq %r15, %rdi
movq %r14, %rsi
callq 0x2140
movq 0x1330(%rbx), %rax
andq $0x0, (%rax,%r12,8)
incq %r12
jmp 0x2f55
testq %rdi, %rdi
je 0x2f9f
callq 0x21a0
andq $0x0, 0x1330(%rbx)
cmpq $0x0, 0x1318(%rbx)
je 0x300a
xorl %r12d, %r12d
pushq $0x20
popq %r14
movslq 0x1310(%rbx), %rax
movq 0x1318(%rbx), %rdi
cmpq %rax, %r12
jge 0x2ff8
movq (%rdi,%r12,8), %r15
testq %r15, %r15
je 0x2ff3
movq %r15, %rdi
callq 0x2090
movq %r15, %rdi
movq %r14, %rsi
callq 0x2140
movq 0x1318(%rbx), %rax
andq $0x0, (%rax,%r12,8)
incq %r12
jmp 0x2fb8
testq %rdi, %rdi
je 0x3002
callq 0x21a0
andq $0x0, 0x1318(%rbx)
cmpq $0x0, 0x1308(%rbx)
je 0x306d
xorl %r12d, %r12d
pushq $0x20
popq %r14
movslq 0x12f8(%rbx), %rax
movq 0x1308(%rbx), %rdi
cmpq %rax, %r12
jge 0x305b
movq (%rdi,%r12,8), %r15
testq %r15, %r15
je 0x3056
movq %r15, %rdi
callq 0x2090
movq %r15, %rdi
movq %r14, %rsi
callq 0x2140
movq 0x1308(%rbx), %rax
andq $0x0, (%rax,%r12,8)
incq %r12
jmp 0x301b
testq %rdi, %rdi
je 0x3065
callq 0x21a0
andq $0x0, 0x1308(%rbx)
cmpq $0x0, 0x1338(%rbx)
je 0x30d0
xorl %r12d, %r12d
pushq $0x20
popq %r14
movslq 0x132c(%rbx), %rax
movq 0x1338(%rbx), %rdi
cmpq %rax, %r12
jge 0x30be
movq (%rdi,%r12,8), %r15
testq %r15, %r15
je 0x30b9
movq %r15, %rdi
callq 0x2090
movq %r15, %rdi
movq %r14, %rsi
callq 0x2140
movq 0x1338(%rbx), %rax
andq $0x0, (%rax,%r12,8)
incq %r12
jmp 0x307e
testq %rdi, %rdi
je 0x30c8
callq 0x21a0
andq $0x0, 0x1338(%rbx)
cmpq $0x0, 0x1320(%rbx)
je 0x3133
xorl %r12d, %r12d
pushq $0x20
popq %r14
movslq 0x1314(%rbx), %rax
movq 0x1320(%rbx), %rdi
cmpq %rax, %r12
jge 0x3121
movq (%rdi,%r12,8), %r15
testq %r15, %r15
je 0x311c
movq %r15, %rdi
callq 0x2090
movq %r15, %rdi
movq %r14, %rsi
callq 0x2140
movq 0x1320(%rbx), %rax
andq $0x0, (%rax,%r12,8)
incq %r12
jmp 0x30e1
testq %rdi, %rdi
je 0x312b
callq 0x21a0
andq $0x0, 0x1320(%rbx)
leaq 0x1a80(%rbx), %rdi
callq 0x10f20
leaq 0x13f8(%rbx), %rdi
callq 0x10f4c
leaq 0xc0(%rbx), %rdi
callq 0x2090
leaq 0xa0(%rbx), %rdi
callq 0x2090
leaq 0x80(%rbx), %rdi
callq 0x2090
leaq 0x60(%rbx), %rdi
callq 0x2090
leaq 0x40(%rbx), %rdi
callq 0x2090
leaq 0x20(%rbx), %rdi
callq 0x2090
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x2090
movq %rax, %rdi
callq 0x10f75
nop