// File: kebwi[P]Trifid/src/SteerablePyramid.cpp
// Function: SteerablePyramid::Destroy()
void SteerablePyramid::Destroy()
{
	if (yLookup_)
		delete [] yLookup_;
	yLookup_ = NULL;
	
	if (h0Coeffs_)
		delete [] h0Coeffs_;
	h0Coeffs_ = NULL;
	
	if (b1Coeffs_)
	{
		for (int i = 0; i < numLevels_; i++)
			delete [] b1Coeffs_[i];
		delete [] b1Coeffs_;
	}
	b1Coeffs_ = NULL;
	
	if (b2Coeffs_)
	{
		for (int i = 0; i < numLevels_; i++)
			delete [] b2Coeffs_[i];
		delete [] b2Coeffs_;
	}
	b2Coeffs_ = NULL;
	
	if (b3Coeffs_)
	{
		for (int i = 0; i < numLevels_; i++)
			delete [] b3Coeffs_[i];
		delete [] b3Coeffs_;
	}
	b3Coeffs_ = NULL;
	
	if (b4Coeffs_)
	{
		for (int i = 0; i < numLevels_; i++)
			delete [] b4Coeffs_[i];
		delete [] b4Coeffs_;
	}
	b4Coeffs_ = NULL;
	
	if (l1Coeffs_)
	{
		for (int i = 0; i < numLevels_; i++)
			delete [] l1Coeffs_[i];
		delete [] l1Coeffs_;
	}
	l1Coeffs_ = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, 0x40(%rax)
je 0x29a4b
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x29a49
movq -0x30(%rbp), %rdi
callq 0x44d0
jmp 0x29a4b
movq -0x28(%rbp), %rax
movq $0x0, 0x40(%rax)
cmpq $0x0, (%rax)
je 0x29a79
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0x29a77
movq -0x38(%rbp), %rdi
callq 0x44d0
jmp 0x29a79
movq -0x28(%rbp), %rax
movq $0x0, (%rax)
cmpq $0x0, 0x8(%rax)
je 0x29aeb
movl $0x0, -0xc(%rbp)
movq -0x28(%rbp), %rcx
movl -0xc(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x29ace
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0x29ac1
movq -0x40(%rbp), %rdi
callq 0x44d0
jmp 0x29ac3
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x29a92
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, %rax
je 0x29ae9
movq -0x48(%rbp), %rdi
callq 0x44d0
jmp 0x29aeb
movq -0x28(%rbp), %rax
movq $0x0, 0x8(%rax)
cmpq $0x0, 0x10(%rax)
je 0x29b5e
movl $0x0, -0x10(%rbp)
movq -0x28(%rbp), %rcx
movl -0x10(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x29b41
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, %rax
je 0x29b34
movq -0x50(%rbp), %rdi
callq 0x44d0
jmp 0x29b36
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x29b05
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x29b5c
movq -0x58(%rbp), %rdi
callq 0x44d0
jmp 0x29b5e
movq -0x28(%rbp), %rax
movq $0x0, 0x10(%rax)
cmpq $0x0, 0x18(%rax)
je 0x29bd1
movl $0x0, -0x14(%rbp)
movq -0x28(%rbp), %rcx
movl -0x14(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x29bb4
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
je 0x29ba7
movq -0x60(%rbp), %rdi
callq 0x44d0
jmp 0x29ba9
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x29b78
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x29bcf
movq -0x68(%rbp), %rdi
callq 0x44d0
jmp 0x29bd1
movq -0x28(%rbp), %rax
movq $0x0, 0x18(%rax)
cmpq $0x0, 0x20(%rax)
je 0x29c44
movl $0x0, -0x18(%rbp)
movq -0x28(%rbp), %rcx
movl -0x18(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x29c27
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
je 0x29c1a
movq -0x70(%rbp), %rdi
callq 0x44d0
jmp 0x29c1c
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x29beb
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
je 0x29c42
movq -0x78(%rbp), %rdi
callq 0x44d0
jmp 0x29c44
movq -0x28(%rbp), %rax
movq $0x0, 0x20(%rax)
cmpq $0x0, 0x28(%rax)
je 0x29cbd
movl $0x0, -0x1c(%rbp)
movq -0x28(%rbp), %rcx
movl -0x1c(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x29c9a
movq -0x28(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x29c8d
movq -0x80(%rbp), %rdi
callq 0x44d0
jmp 0x29c8f
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x29c5e
movq -0x28(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x29cbb
movq -0x88(%rbp), %rdi
callq 0x44d0
jmp 0x29cbd
movq -0x28(%rbp), %rax
movq $0x0, 0x28(%rax)
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)