// File: /workspace/github_cpp_makefile_star2_O3/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 0x2fa9
movq %rbx, %rdi
callq 0x3596
cmpb $0x1, 0x2b29(%rbx)
jne 0x2fba
movq %rbx, %rdi
callq 0x3646
movq 0x2b78(%rbx), %rdi
testq %rdi, %rdi
je 0x2fd6
callq 0x21a0
movq $0x0, 0x2b78(%rbx)
movq 0x2b58(%rbx), %rdi
testq %rdi, %rdi
je 0x2ff2
callq 0x21a0
movq $0x0, 0x2b58(%rbx)
movq 0x2b60(%rbx), %rdi
testq %rdi, %rdi
je 0x300e
callq 0x21a0
movq $0x0, 0x2b60(%rbx)
movq 0x2b68(%rbx), %rdi
testq %rdi, %rdi
je 0x302a
callq 0x21a0
movq $0x0, 0x2b68(%rbx)
movq 0x2b50(%rbx), %rdi
testq %rdi, %rdi
je 0x3046
callq 0x21a0
movq $0x0, 0x2b50(%rbx)
movl $0x2a0, %r14d           # imm = 0x2A0
movq (%rbx,%r14,8), %rdi
testq %rdi, %rdi
je 0x30ae
movq 0x38(%rdi), %rax
testq %rax, %rax
je 0x3076
movq %rax, %rdi
callq 0x21a0
movq (%rbx,%r14,8), %rax
movq $0x0, 0x38(%rax)
movq (%rbx,%r14,8), %rdi
movq 0x40(%rdi), %rax
testq %rax, %rax
je 0x309c
movq %rax, %rdi
callq 0x21a0
movq (%rbx,%r14,8), %rax
movq $0x0, 0x40(%rax)
movq (%rbx,%r14,8), %rdi
testq %rdi, %rdi
je 0x30ae
movl $0x50, %esi
callq 0x2140
movq $0x0, (%rbx,%r14,8)
incq %r14
cmpq $0x2a3, %r14            # imm = 0x2A3
jne 0x304c
movq 0x2b30(%rbx), %rdi
testq %rdi, %rdi
je 0x30e0
callq 0x21a0
movq $0x0, 0x2b30(%rbx)
movl $0x0, 0x2b38(%rbx)
movq 0x1300(%rbx), %rdi
testq %rdi, %rdi
je 0x3169
movl 0x12f4(%rbx), %eax
testl %eax, %eax
jle 0x3159
xorl %r15d, %r15d
movq 0x1300(%rbx), %rcx
movq (%rcx,%r15,8), %r14
testq %r14, %r14
je 0x3142
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x3120
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1300(%rbx), %rax
movq $0x0, (%rax,%r15,8)
movl 0x12f4(%rbx), %eax
incq %r15
movslq %eax, %rcx
cmpq %rcx, %r15
jl 0x30f9
movq 0x1300(%rbx), %rdi
testq %rdi, %rdi
je 0x315e
callq 0x21a0
movq $0x0, 0x1300(%rbx)
movq 0x1330(%rbx), %rdi
testq %rdi, %rdi
je 0x31f2
movl 0x1328(%rbx), %eax
testl %eax, %eax
jle 0x31e2
xorl %r15d, %r15d
movq 0x1330(%rbx), %rcx
movq (%rcx,%r15,8), %r14
testq %r14, %r14
je 0x31cb
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x31a9
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1330(%rbx), %rax
movq $0x0, (%rax,%r15,8)
movl 0x1328(%rbx), %eax
incq %r15
movslq %eax, %rcx
cmpq %rcx, %r15
jl 0x3182
movq 0x1330(%rbx), %rdi
testq %rdi, %rdi
je 0x31e7
callq 0x21a0
movq $0x0, 0x1330(%rbx)
movq 0x1318(%rbx), %rdi
testq %rdi, %rdi
je 0x327b
movl 0x1310(%rbx), %eax
testl %eax, %eax
jle 0x326b
xorl %r15d, %r15d
movq 0x1318(%rbx), %rcx
movq (%rcx,%r15,8), %r14
testq %r14, %r14
je 0x3254
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x3232
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1318(%rbx), %rax
movq $0x0, (%rax,%r15,8)
movl 0x1310(%rbx), %eax
incq %r15
movslq %eax, %rcx
cmpq %rcx, %r15
jl 0x320b
movq 0x1318(%rbx), %rdi
testq %rdi, %rdi
je 0x3270
callq 0x21a0
movq $0x0, 0x1318(%rbx)
movq 0x1308(%rbx), %rdi
testq %rdi, %rdi
je 0x3304
movl 0x12f8(%rbx), %eax
testl %eax, %eax
jle 0x32f4
xorl %r15d, %r15d
movq 0x1308(%rbx), %rcx
movq (%rcx,%r15,8), %r14
testq %r14, %r14
je 0x32dd
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x32bb
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1308(%rbx), %rax
movq $0x0, (%rax,%r15,8)
movl 0x12f8(%rbx), %eax
incq %r15
movslq %eax, %rcx
cmpq %rcx, %r15
jl 0x3294
movq 0x1308(%rbx), %rdi
testq %rdi, %rdi
je 0x32f9
callq 0x21a0
movq $0x0, 0x1308(%rbx)
movq 0x1338(%rbx), %rdi
testq %rdi, %rdi
je 0x338d
movl 0x132c(%rbx), %eax
testl %eax, %eax
jle 0x337d
xorl %r15d, %r15d
movq 0x1338(%rbx), %rcx
movq (%rcx,%r15,8), %r14
testq %r14, %r14
je 0x3366
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x3344
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1338(%rbx), %rax
movq $0x0, (%rax,%r15,8)
movl 0x132c(%rbx), %eax
incq %r15
movslq %eax, %rcx
cmpq %rcx, %r15
jl 0x331d
movq 0x1338(%rbx), %rdi
testq %rdi, %rdi
je 0x3382
callq 0x21a0
movq $0x0, 0x1338(%rbx)
movq 0x1320(%rbx), %rdi
testq %rdi, %rdi
je 0x3416
movl 0x1314(%rbx), %eax
testl %eax, %eax
jle 0x3406
xorl %r15d, %r15d
movq 0x1320(%rbx), %rcx
movq (%rcx,%r15,8), %r14
testq %r14, %r14
je 0x33ef
movq (%r14), %rdi
leaq 0x10(%r14), %rax
cmpq %rax, %rdi
je 0x33cd
movq (%rax), %rsi
incq %rsi
callq 0x2140
movl $0x20, %esi
movq %r14, %rdi
callq 0x2140
movq 0x1320(%rbx), %rax
movq $0x0, (%rax,%r15,8)
movl 0x1314(%rbx), %eax
incq %r15
movslq %eax, %rcx
cmpq %rcx, %r15
jl 0x33a6
movq 0x1320(%rbx), %rdi
testq %rdi, %rdi
je 0x340b
callq 0x21a0
movq $0x0, 0x1320(%rbx)
movq 0x2af0(%rbx), %rdi
leaq 0x2b00(%rbx), %rax
cmpq %rax, %rdi
je 0x3434
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x2ad0(%rbx), %rdi
leaq 0x2ae0(%rbx), %rax
cmpq %rax, %rdi
je 0x3452
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x2ab0(%rbx), %rdi
leaq 0x2ac0(%rbx), %rax
cmpq %rax, %rdi
je 0x3470
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x14b0(%rbx), %rdi
leaq 0x14c0(%rbx), %rax
cmpq %rax, %rdi
je 0x348e
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x1490(%rbx), %rdi
leaq 0x14a0(%rbx), %rax
cmpq %rax, %rdi
je 0x34ac
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x1470(%rbx), %rdi
leaq 0x1480(%rbx), %rax
cmpq %rax, %rdi
je 0x34ca
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0xc0(%rbx), %rdi
leaq 0xd0(%rbx), %rax
cmpq %rax, %rdi
je 0x34e8
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0xa0(%rbx), %rdi
leaq 0xb0(%rbx), %rax
cmpq %rax, %rdi
je 0x3506
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rbx), %rdi
leaq 0x90(%rbx), %rax
cmpq %rax, %rdi
je 0x3524
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x60(%rbx), %rdi
leaq 0x70(%rbx), %rax
cmpq %rax, %rdi
je 0x353c
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rbx), %rdi
leaq 0x50(%rbx), %rax
cmpq %rax, %rdi
je 0x3554
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq 0x20(%rbx), %rdi
leaq 0x30(%rbx), %rax
cmpq %rax, %rdi
je 0x356c
movq (%rax), %rsi
incq %rsi
callq 0x2140
movq (%rbx), %rdi
addq $0x10, %rbx
cmpq %rbx, %rdi
je 0x3588
movq (%rbx), %rsi
incq %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x2140
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rdi
callq 0x13586