// File: /workspace/github_cpp_makefile_star2_O3/kebwi[P]Trifid/src/SteerablePyramid.cpp
// Function: SteerablePyramid::GeneratePGMimages(char const*)
void SteerablePyramid::GeneratePGMimages(const char* filenameHeader)
{
	vector<Float_t> maxCoeffs, maxThumbnailPixels;
	FindStrongestCoefficients(maxCoeffs, maxThumbnailPixels);
	Float_t maxCoeff = 0;
	for (int i = 0; i < maxCoeffs.size(); i++)
		if (maxCoeffs[i] > maxCoeff)
			maxCoeff = maxCoeffs[i];
	Float_t maxThumbnailPixel = 0;
	for (int i = 0; i < maxThumbnailPixels.size(); i++)
		if (maxThumbnailPixels[i] > maxThumbnailPixel)
			maxThumbnailPixel = maxThumbnailPixels[i];
	
	//maxCoeff = .5;//���
	Float_t coeffScalar = 127.0 / maxCoeff, thumbnailScalar = 255.0 / maxThumbnailPixel;
	
	cout << "maxCoeff/maxThumbnailPixel: " << maxCoeff << "    " << maxThumbnailPixel << endl;
	cout << "coeffScalar/thumnailScalar: " << coeffScalar << "    " << thumbnailScalar << endl;
	
	//Write each set of coefficients to a pgm file
	for (int i = 0; i < numLevels_; i++)
	{
		int horDim = width_ / pow(2, i);
		int verDim = height_ / pow(2, i);
		
		stringstream levelSS;
		levelSS << i;
		string filename;
		
		if (i == 0)
		{
			//Add an 'a' to push h0 to the beginning of the alphebetically sorted list of files
			filename = string(filenameHeader) + levelSS.str() + "_ah0" + ".pgm";
			GeneratePGMimage(h0Coeffs_, horDim, verDim, coeffScalar, 128, filename);
		}
		filename = string(filenameHeader) + levelSS.str() + "_b1" + ".pgm";
		GeneratePGMimage(b1Coeffs_[i], horDim, verDim, coeffScalar, 128, filename);
		filename = string(filenameHeader) + levelSS.str() + "_b2" + ".pgm";
		GeneratePGMimage(b2Coeffs_[i], horDim, verDim, coeffScalar, 128, filename);
		filename = string(filenameHeader) + levelSS.str() + "_b3" + ".pgm";
		GeneratePGMimage(b3Coeffs_[i], horDim, verDim, coeffScalar, 128, filename);
		filename = string(filenameHeader) + levelSS.str() + "_b4" + ".pgm";
		GeneratePGMimage(b4Coeffs_[i], horDim, verDim, coeffScalar, 128, filename);
		filename = string(filenameHeader) + levelSS.str() + "_l1" + ".pgm";
		GeneratePGMimage(l1Coeffs_[i], horDim / 2, verDim / 2, thumbnailScalar, 0, filename);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x388, %rsp            # imm = 0x388
movq %rsi, 0xb8(%rsp)
movq %rdi, %r15
xorpd %xmm0, %xmm0
leaq 0x1c0(%rsp), %rsi
movapd %xmm0, (%rsi)
xorl %eax, %eax
movq %rax, 0x10(%rsi)
leaq 0x1a0(%rsp), %rdx
movq %rax, 0x10(%rdx)
movapd %xmm0, (%rdx)
callq 0x1f19a
movq 0x1c0(%rsp), %rax
movq 0x1c8(%rsp), %rcx
xorpd %xmm1, %xmm1
subq %rax, %rcx
je 0x1f4c3
sarq $0x3, %rcx
cmpq $0x1, %rcx
adcq $0x0, %rcx
xorpd %xmm0, %xmm0
xorl %edx, %edx
movsd (%rax,%rdx,8), %xmm1
maxsd %xmm0, %xmm1
incq %rdx
movapd %xmm1, %xmm0
cmpq %rdx, %rcx
jne 0x1f4ae
movsd %xmm1, 0xa8(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x1a8(%rsp), %rcx
subq %rax, %rcx
xorpd %xmm1, %xmm1
je 0x1f50c
sarq $0x3, %rcx
cmpq $0x1, %rcx
adcq $0x0, %rcx
xorpd %xmm0, %xmm0
xorl %edx, %edx
movsd (%rax,%rdx,8), %xmm1
maxsd %xmm0, %xmm1
incq %rdx
movapd %xmm1, %xmm0
cmpq %rdx, %rcx
jne 0x1f4f7
movsd %xmm1, 0xb0(%rsp)
movq 0x17ab4(%rip), %rdi     # 0x36fd0
leaq 0xee3c(%rip), %rsi      # 0x2e35f
movl $0x1c, %edx
callq 0x3360
movq 0x17a9c(%rip), %rdi     # 0x36fd0
movsd 0xa8(%rsp), %xmm0
callq 0x3480
movq %rax, %rbx
leaq 0xb3a0(%rip), %rsi      # 0x2a8ec
movl $0x4, %edx
movq %rax, %rdi
callq 0x3360
movq %rbx, %rdi
movsd 0xb0(%rsp), %xmm0
callq 0x3480
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq 0x17a35(%rip), %rdi     # 0x36fd0
leaq 0xedda(%rip), %rsi      # 0x2e37c
movl $0x1c, %edx
callq 0x3360
movsd 0xdc04(%rip), %xmm0     # 0x2d1b8
divsd 0xa8(%rsp), %xmm0
movq 0x17a0c(%rip), %rdi     # 0x36fd0
movsd %xmm0, 0xa8(%rsp)
callq 0x3480
movq %rax, %rbx
leaq 0xb310(%rip), %rsi      # 0x2a8ec
movl $0x4, %edx
movq %rax, %rdi
callq 0x3360
movsd 0xb9e7(%rip), %xmm0     # 0x2afd8
divsd 0xb0(%rsp), %xmm0
movq %rbx, %rdi
movsd %xmm0, 0x1e0(%rsp)
callq 0x3480
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
cmpl $0x0, 0x38(%r15)
jle 0x207bc
leaq 0x18(%rsp), %r12
xorl %ebp, %ebp
leaq 0x200(%rsp), %rbx
xorps %xmm0, %xmm0
cvtsi2sdl 0x30(%r15), %xmm0
movsd %xmm0, 0x1f8(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %ebp, %xmm0
movsd %xmm0, 0xb0(%rsp)
callq 0x32a0
movsd %xmm0, 0x1e8(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdl 0x34(%r15), %xmm0
movsd %xmm0, 0x1f0(%rsp)
movsd 0xb0(%rsp), %xmm0
callq 0x32a0
movsd %xmm0, 0xb0(%rsp)
movq %rbx, %rdi
callq 0x3200
leaq 0x210(%rsp), %rdi
movl %ebp, %esi
callq 0x34e0
movsd 0x1f8(%rsp), %xmm0
divsd 0x1e8(%rsp), %xmm0
cvttsd2si %xmm0, %ebx
movsd 0x1f0(%rsp), %xmm0
divsd 0xb0(%rsp), %xmm0
cvttsd2si %xmm0, %r13d
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq $0x0, 0xc8(%rsp)
movb $0x0, 0xd0(%rsp)
testq %rbp, %rbp
jne 0x1f9ca
leaq 0x48(%rsp), %rdi
movq 0xb8(%rsp), %rsi
leaq 0x7(%rsp), %rdx
callq 0x9ee4
leaq 0x28(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x3450
movq 0x48(%rsp), %rcx
movl $0xf, %edi
leaq 0x58(%rsp), %rax
cmpq %rax, %rcx
je 0x1f75b
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %r8
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x1f78c
movl $0xf, %edi
leaq 0x38(%rsp), %r9
cmpq %r9, %rsi
je 0x1f787
movq 0x38(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1f798
leaq 0x48(%rsp), %rdi
callq 0x30d0
jmp 0x1f7a6
leaq 0x28(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3340
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x1f7c6
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1f7d0
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xeba0(%rip), %rsi      # 0x2e399
callq 0x3540
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1f826
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x1f82e
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
leaq 0xb98b(%rip), %rsi      # 0x2b1dd
callq 0x3540
leaq 0x98(%rsp), %r14
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1f88b
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x1f894
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x33a0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x1f8e1
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1f8fd
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1f914
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1f930
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1f94c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3310
movq (%r15), %r14
leaq 0x190(%rsp), %rax
movq %rax, 0x180(%rsp)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x180(%rsp), %rdi
callq 0xa92c
movq %r14, %rsi
movl %ebx, %edx
movl %r13d, %ecx
movsd 0xa8(%rsp), %xmm0
movsd 0xd828(%rip), %xmm1     # 0x2d1c0
leaq 0x180(%rsp), %r8
callq 0x20a86
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x1f9ca
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x3310
leaq 0x48(%rsp), %rdi
movq 0xb8(%rsp), %rsi
leaq 0x7(%rsp), %rdx
callq 0x9ee4
leaq 0x28(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x3450
movq 0x48(%rsp), %rcx
movl $0xf, %edi
leaq 0x58(%rsp), %rax
cmpq %rax, %rcx
je 0x1fa0c
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %r8
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x1fa3d
movl $0xf, %edi
leaq 0x38(%rsp), %r9
cmpq %r9, %rsi
je 0x1fa38
movq 0x38(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1fa49
leaq 0x48(%rsp), %rdi
callq 0x30d0
jmp 0x1fa57
leaq 0x28(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3340
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x1fa77
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1fa81
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xe8f4(%rip), %rsi      # 0x2e39e
callq 0x3540
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1fad7
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x1fadf
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
leaq 0xb6da(%rip), %rsi      # 0x2b1dd
callq 0x3540
leaq 0x98(%rsp), %r14
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1fb3c
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x1fb45
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x33a0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fb92
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1fbae
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1fbc5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1fbe1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1fbfd
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%r15), %rax
movq (%rax,%rbp,8), %r14
leaq 0x170(%rsp), %rax
movq %rax, 0x160(%rsp)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x160(%rsp), %rdi
callq 0xa92c
movq %r14, %rsi
movl %ebx, %edx
movl %r13d, %ecx
movsd 0xa8(%rsp), %xmm0
movsd 0xd572(%rip), %xmm1     # 0x2d1c0
leaq 0x160(%rsp), %r8
callq 0x20a86
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x1fc80
movq 0x170(%rsp), %rsi
incq %rsi
callq 0x3310
leaq 0x48(%rsp), %rdi
movq 0xb8(%rsp), %rsi
leaq 0x7(%rsp), %rdx
callq 0x9ee4
leaq 0x28(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x3450
movq 0x48(%rsp), %rcx
movl $0xf, %edi
leaq 0x58(%rsp), %rax
cmpq %rax, %rcx
je 0x1fcc2
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %r8
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x1fcf3
movl $0xf, %edi
leaq 0x38(%rsp), %r9
cmpq %r9, %rsi
je 0x1fcee
movq 0x38(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1fcff
leaq 0x48(%rsp), %rdi
callq 0x30d0
jmp 0x1fd0d
leaq 0x28(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3340
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x1fd2d
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1fd37
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xe642(%rip), %rsi      # 0x2e3a2
callq 0x3540
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1fd8d
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x1fd95
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
leaq 0xb424(%rip), %rsi      # 0x2b1dd
callq 0x3540
leaq 0x98(%rsp), %r14
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1fdf2
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x1fdfb
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x33a0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x1fe48
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1fe64
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1fe7b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1fe97
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1feb3
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x10(%r15), %rax
movq (%rax,%rbp,8), %r14
leaq 0x150(%rsp), %rax
movq %rax, 0x140(%rsp)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x140(%rsp), %rdi
callq 0xa92c
movq %r14, %rsi
movl %ebx, %edx
movl %r13d, %ecx
movsd 0xa8(%rsp), %xmm0
movsd 0xd2bc(%rip), %xmm1     # 0x2d1c0
leaq 0x140(%rsp), %r8
callq 0x20a86
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x1ff36
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x3310
leaq 0x48(%rsp), %rdi
movq 0xb8(%rsp), %rsi
leaq 0x7(%rsp), %rdx
callq 0x9ee4
leaq 0x28(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x3450
movq 0x48(%rsp), %rcx
movl $0xf, %edi
leaq 0x58(%rsp), %rax
cmpq %rax, %rcx
je 0x1ff78
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %r8
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x1ffa9
movl $0xf, %edi
leaq 0x38(%rsp), %r9
cmpq %r9, %rsi
je 0x1ffa4
movq 0x38(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1ffb5
leaq 0x48(%rsp), %rdi
callq 0x30d0
jmp 0x1ffc3
leaq 0x28(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3340
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x1ffe3
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1ffed
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xe390(%rip), %rsi      # 0x2e3a6
callq 0x3540
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x20043
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x2004b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
leaq 0xb16e(%rip), %rsi      # 0x2b1dd
callq 0x3540
leaq 0x98(%rsp), %r14
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x200a8
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x200b1
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x33a0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x200fe
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x2011a
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x20131
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x2014d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x20169
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x18(%r15), %rax
movq (%rax,%rbp,8), %r14
leaq 0x130(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x120(%rsp), %rdi
callq 0xa92c
movq %r14, %rsi
movl %ebx, %edx
movl %r13d, %ecx
movsd 0xa8(%rsp), %xmm0
movsd 0xd006(%rip), %xmm1     # 0x2d1c0
leaq 0x120(%rsp), %r8
callq 0x20a86
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x201ec
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x3310
leaq 0x48(%rsp), %rdi
movq 0xb8(%rsp), %rsi
leaq 0x7(%rsp), %rdx
callq 0x9ee4
leaq 0x28(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x3450
movq 0x48(%rsp), %rcx
movl $0xf, %edi
leaq 0x58(%rsp), %rax
cmpq %rax, %rcx
je 0x2022e
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %r8
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x2025f
movl $0xf, %edi
leaq 0x38(%rsp), %r9
cmpq %r9, %rsi
je 0x2025a
movq 0x38(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x2026b
leaq 0x48(%rsp), %rdi
callq 0x30d0
jmp 0x20279
leaq 0x28(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3340
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x20299
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x202a3
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xe0de(%rip), %rsi      # 0x2e3aa
callq 0x3540
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x202f9
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x20301
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
leaq 0xaeb8(%rip), %rsi      # 0x2b1dd
callq 0x3540
leaq 0x98(%rsp), %r14
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2035e
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x20367
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x33a0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x203b4
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x203d0
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x203e7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x20403
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x2041f
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x20(%r15), %rax
movq (%rax,%rbp,8), %r14
leaq 0x110(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x100(%rsp), %rdi
callq 0xa92c
movq %r14, %rsi
movl %ebx, %edx
movl %r13d, %ecx
movsd 0xa8(%rsp), %xmm0
movsd 0xcd50(%rip), %xmm1     # 0x2d1c0
leaq 0x100(%rsp), %r8
callq 0x20a86
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x204a2
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x3310
leaq 0x48(%rsp), %rdi
movq 0xb8(%rsp), %rsi
leaq 0x7(%rsp), %rdx
callq 0x9ee4
leaq 0x28(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x3450
movq 0x48(%rsp), %rcx
movl $0xf, %edi
leaq 0x58(%rsp), %rax
cmpq %rax, %rcx
je 0x204e4
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %r8
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x20515
movl $0xf, %edi
leaq 0x38(%rsp), %r9
cmpq %r9, %rsi
je 0x20510
movq 0x38(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x20521
leaq 0x48(%rsp), %rdi
callq 0x30d0
jmp 0x2052f
leaq 0x28(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3340
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x2054f
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x20559
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xde2c(%rip), %rsi      # 0x2e3ae
callq 0x3540
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x205af
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x205b7
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
leaq 0xac02(%rip), %rsi      # 0x2b1dd
callq 0x3540
leaq 0x98(%rsp), %r14
movq %r14, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x20614
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x2061d
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x33a0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x2066a
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x20686
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2069d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x206b9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x206d5
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%r15), %rax
movq (%rax,%rbp,8), %r14
leaq 0xf0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
leaq 0xe0(%rsp), %rdi
callq 0xa92c
movl %r13d, %ecx
shrl $0x1f, %ecx
addl %r13d, %ecx
sarl %ecx
movl %ebx, %edx
shrl $0x1f, %edx
addl %ebx, %edx
sarl %edx
xorpd %xmm1, %xmm1
movq %r14, %rsi
movsd 0x1e0(%rsp), %xmm0
leaq 0xe0(%rsp), %r8
callq 0x20a86
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x200(%rsp), %rbx
je 0x2076b
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x20790
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x3310
movq %rbx, %rdi
movq 0x1680e(%rip), %rsi     # 0x36fa8
callq 0x3220
leaq 0x280(%rsp), %rdi
callq 0x30e0
incq %rbp
movslq 0x38(%r15), %rax
cmpq %rax, %rbp
jl 0x1f64f
movq 0x1a0(%rsp), %rdi
testq %rdi, %rdi
je 0x207d9
movq 0x1b0(%rsp), %rsi
subq %rdi, %rsi
callq 0x3310
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x207f6
movq 0x1d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x3310
addq $0x388, %rsp            # imm = 0x388
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x20937
jmp 0x20981
movq %rax, %rbx
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x209fe
movq 0x190(%rsp), %rsi
jmp 0x209f1
jmp 0x2097c
jmp 0x2098b
jmp 0x209fb
jmp 0x20986
jmp 0x20937
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x209fe
movq 0xf0(%rsp), %rsi
jmp 0x209f1
movq %rax, %rbx
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x209fe
movq 0x150(%rsp), %rsi
jmp 0x209f1
jmp 0x209fb
jmp 0x2097c
jmp 0x20981
jmp 0x20986
jmp 0x2098b
movq %rax, %rbx
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x209fe
movq 0x130(%rsp), %rsi
jmp 0x209f1
jmp 0x209fb
jmp 0x2097c
jmp 0x20981
jmp 0x20986
jmp 0x2098b
movq %rax, %rbx
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x209fe
movq 0x110(%rsp), %rsi
jmp 0x209f1
jmp 0x209fb
jmp 0x2097c
jmp 0x20981
jmp 0x20986
jmp 0x2098b
movq %rax, %rbx
jmp 0x20a44
movq %rax, %rbx
jmp 0x20a23
jmp 0x209fb
jmp 0x2097c
jmp 0x20981
jmp 0x20986
jmp 0x2098b
movq %rax, %rbx
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x209fe
movq 0x170(%rsp), %rsi
jmp 0x209f1
jmp 0x209fb
movq %rax, %rbx
jmp 0x209dd
movq %rax, %rbx
jmp 0x209c1
movq %rax, %rbx
jmp 0x209aa
movq %rax, %rbx
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x209aa
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x209c1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x209dd
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x209fe
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3310
jmp 0x209fe
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x20a23
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x3310
movq 0x1657e(%rip), %rsi     # 0x36fa8
leaq 0x200(%rsp), %rdi
callq 0x3220
leaq 0x280(%rsp), %rdi
callq 0x30e0
movq 0x1a0(%rsp), %rdi
testq %rdi, %rdi
je 0x20a61
movq 0x1b0(%rsp), %rsi
subq %rdi, %rsi
callq 0x3310
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x20a7e
movq 0x1d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x3310
movq %rbx, %rdi
callq 0x3500