// File: 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 %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
testb $0x1, 0x2b28(%rax)
je 0x34ad
movq -0x30(%rbp), %rdi
callq 0x3cf0
jmp 0x34ab
jmp 0x34ad
movq -0x30(%rbp), %rax
testb $0x1, 0x2b29(%rax)
je 0x34c7
movq -0x30(%rbp), %rdi
callq 0x3d70
jmp 0x34c5
jmp 0x34c7
movq -0x30(%rbp), %rax
cmpq $0x0, 0x2b78(%rax)
je 0x3502
movq -0x30(%rbp), %rax
movq 0x2b78(%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0x34f3
movq -0x38(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x2b78(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x2b58(%rax)
je 0x353d
movq -0x30(%rbp), %rax
movq 0x2b58(%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0x352e
movq -0x40(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x2b58(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x2b60(%rax)
je 0x3578
movq -0x30(%rbp), %rax
movq 0x2b60(%rax), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, %rax
je 0x3569
movq -0x48(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x2b60(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x2b68(%rax)
je 0x35b3
movq -0x30(%rbp), %rax
movq 0x2b68(%rax), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, %rax
je 0x35a4
movq -0x50(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x2b68(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x2b50(%rax)
je 0x35ee
movq -0x30(%rbp), %rax
movq 0x2b50(%rax), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x35df
movq -0x58(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x2b50(%rax)
movl $0x0, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jge 0x3723
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, 0x1500(%rax,%rcx,8)
je 0x3713
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
cmpq $0x0, 0x38(%rax)
je 0x366c
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
movq 0x38(%rax), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
je 0x3654
movq -0x60(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
movq $0x0, 0x38(%rax)
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
cmpq $0x0, 0x40(%rax)
je 0x36c2
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
movq 0x40(%rax), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x36aa
movq -0x68(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
movq $0x0, 0x40(%rax)
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
cmpq $0x0, 0x1500(%rax,%rcx,8)
je 0x3711
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x1500(%rax,%rcx,8), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
je 0x36fd
movq -0x70(%rbp), %rdi
movl $0x50, %esi
callq 0x21a0
movq -0x30(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq $0x0, 0x1500(%rax,%rcx,8)
jmp 0x3713
jmp 0x3715
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x35f5
movq -0x30(%rbp), %rax
cmpq $0x0, 0x2b30(%rax)
je 0x3768
movq -0x30(%rbp), %rax
movq 0x2b30(%rax), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
je 0x374f
movq -0x78(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x2b30(%rax)
movl $0x0, 0x2b38(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x1300(%rax)
je 0x3831
movl $0x0, -0x10(%rbp)
movq -0x30(%rbp), %rcx
movl -0x10(%rbp), %eax
cmpl 0x12f4(%rcx), %eax
jge 0x37fe
movq -0x30(%rbp), %rax
movq 0x1300(%rax), %rax
movslq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x37f1
movq -0x30(%rbp), %rax
movq 0x1300(%rax), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x37da
movq -0x80(%rbp), %rdi
callq 0x20f0
movq -0x80(%rbp), %rdi
movl $0x20, %esi
callq 0x21a0
movq -0x30(%rbp), %rax
movq 0x1300(%rax), %rax
movslq -0x10(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
jmp 0x37f3
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x3781
movq -0x30(%rbp), %rax
movq 0x1300(%rax), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x3822
movq -0x88(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x1300(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x1330(%rax)
je 0x3906
movl $0x0, -0x14(%rbp)
movq -0x30(%rbp), %rcx
movl -0x14(%rbp), %eax
cmpl 0x1328(%rcx), %eax
jge 0x38d3
movq -0x30(%rbp), %rax
movq 0x1330(%rax), %rax
movslq -0x14(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x38c3
movq -0x30(%rbp), %rax
movq 0x1330(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x90(%rbp)
cmpq $0x0, %rax
je 0x38ac
movq -0x90(%rbp), %rdi
callq 0x20f0
movq -0x90(%rbp), %rdi
movl $0x20, %esi
callq 0x21a0
movq -0x30(%rbp), %rax
movq 0x1330(%rax), %rax
movslq -0x14(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
jmp 0x38c5
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x384a
movq -0x30(%rbp), %rax
movq 0x1330(%rax), %rax
movq %rax, -0x98(%rbp)
cmpq $0x0, %rax
je 0x38f7
movq -0x98(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x1330(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x1318(%rax)
je 0x39db
movl $0x0, -0x18(%rbp)
movq -0x30(%rbp), %rcx
movl -0x18(%rbp), %eax
cmpl 0x1310(%rcx), %eax
jge 0x39a8
movq -0x30(%rbp), %rax
movq 0x1318(%rax), %rax
movslq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3998
movq -0x30(%rbp), %rax
movq 0x1318(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xa0(%rbp)
cmpq $0x0, %rax
je 0x3981
movq -0xa0(%rbp), %rdi
callq 0x20f0
movq -0xa0(%rbp), %rdi
movl $0x20, %esi
callq 0x21a0
movq -0x30(%rbp), %rax
movq 0x1318(%rax), %rax
movslq -0x18(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
jmp 0x399a
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x391f
movq -0x30(%rbp), %rax
movq 0x1318(%rax), %rax
movq %rax, -0xa8(%rbp)
cmpq $0x0, %rax
je 0x39cc
movq -0xa8(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x1318(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x1308(%rax)
je 0x3ab0
movl $0x0, -0x1c(%rbp)
movq -0x30(%rbp), %rcx
movl -0x1c(%rbp), %eax
cmpl 0x12f8(%rcx), %eax
jge 0x3a7d
movq -0x30(%rbp), %rax
movq 0x1308(%rax), %rax
movslq -0x1c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3a6d
movq -0x30(%rbp), %rax
movq 0x1308(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xb0(%rbp)
cmpq $0x0, %rax
je 0x3a56
movq -0xb0(%rbp), %rdi
callq 0x20f0
movq -0xb0(%rbp), %rdi
movl $0x20, %esi
callq 0x21a0
movq -0x30(%rbp), %rax
movq 0x1308(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
jmp 0x3a6f
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x39f4
movq -0x30(%rbp), %rax
movq 0x1308(%rax), %rax
movq %rax, -0xb8(%rbp)
cmpq $0x0, %rax
je 0x3aa1
movq -0xb8(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x1308(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x1338(%rax)
je 0x3b85
movl $0x0, -0x20(%rbp)
movq -0x30(%rbp), %rcx
movl -0x20(%rbp), %eax
cmpl 0x132c(%rcx), %eax
jge 0x3b52
movq -0x30(%rbp), %rax
movq 0x1338(%rax), %rax
movslq -0x20(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3b42
movq -0x30(%rbp), %rax
movq 0x1338(%rax), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xc0(%rbp)
cmpq $0x0, %rax
je 0x3b2b
movq -0xc0(%rbp), %rdi
callq 0x20f0
movq -0xc0(%rbp), %rdi
movl $0x20, %esi
callq 0x21a0
movq -0x30(%rbp), %rax
movq 0x1338(%rax), %rax
movslq -0x20(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
jmp 0x3b44
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x3ac9
movq -0x30(%rbp), %rax
movq 0x1338(%rax), %rax
movq %rax, -0xc8(%rbp)
cmpq $0x0, %rax
je 0x3b76
movq -0xc8(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x1338(%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x1320(%rax)
je 0x3c5a
movl $0x0, -0x24(%rbp)
movq -0x30(%rbp), %rcx
movl -0x24(%rbp), %eax
cmpl 0x1314(%rcx), %eax
jge 0x3c27
movq -0x30(%rbp), %rax
movq 0x1320(%rax), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x3c17
movq -0x30(%rbp), %rax
movq 0x1320(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xd0(%rbp)
cmpq $0x0, %rax
je 0x3c00
movq -0xd0(%rbp), %rdi
callq 0x20f0
movq -0xd0(%rbp), %rdi
movl $0x20, %esi
callq 0x21a0
movq -0x30(%rbp), %rax
movq 0x1320(%rax), %rax
movslq -0x24(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
jmp 0x3c19
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x3b9e
movq -0x30(%rbp), %rax
movq 0x1320(%rax), %rax
movq %rax, -0xd8(%rbp)
cmpq $0x0, %rax
je 0x3c4b
movq -0xd8(%rbp), %rdi
callq 0x2240
movq -0x30(%rbp), %rax
movq $0x0, 0x1320(%rax)
movq -0x30(%rbp), %rdi
addq $0x1a80, %rdi           # imm = 0x1A80
callq 0x1ce10
movq -0x30(%rbp), %rdi
addq $0x13f8, %rdi           # imm = 0x13F8
callq 0x1ce60
movq -0x30(%rbp), %rdi
addq $0xc0, %rdi
callq 0x20f0
movq -0x30(%rbp), %rdi
addq $0xa0, %rdi
callq 0x20f0
movq -0x30(%rbp), %rdi
addq $0x80, %rdi
callq 0x20f0
movq -0x30(%rbp), %rdi
addq $0x60, %rdi
callq 0x20f0
movq -0x30(%rbp), %rdi
addq $0x40, %rdi
callq 0x20f0
movq -0x30(%rbp), %rdi
addq $0x20, %rdi
callq 0x20f0
movq -0x30(%rbp), %rdi
callq 0x20f0
addq $0xe0, %rsp
popq %rbp
retq
movq %rax, %rdi
callq 0x1ceb0
nopl (%rax,%rax)