// File: 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
movq %rsp, %rbp
subq $0x8c0, %rsp            # imm = 0x8C0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x700(%rbp)
leaq -0x28(%rbp), %rdi
movq %rdi, -0x6f8(%rbp)
callq 0xe240
leaq -0x40(%rbp), %rdi
movq %rdi, -0x6f0(%rbp)
callq 0xe240
movq -0x700(%rbp), %rdi
movq -0x6f8(%rbp), %rsi
movq -0x6f0(%rbp), %rdx
callq 0x2fff0
jmp 0x303aa
xorps %xmm0, %xmm0
movsd %xmm0, -0x58(%rbp)
movl $0x0, -0x5c(%rbp)
movslq -0x5c(%rbp), %rax
movq %rax, -0x708(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xe5c0
movq %rax, %rcx
movq -0x708(%rbp), %rax
cmpq %rcx, %rax
jae 0x3042a
movslq -0x5c(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0xe670
movsd (%rax), %xmm0
ucomisd -0x58(%rbp), %xmm0
jbe 0x3041d
movslq -0x5c(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0xe670
movsd (%rax), %xmm0
movsd %xmm0, -0x58(%rbp)
jmp 0x3041d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x314ef
jmp 0x3041f
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0x303b9
xorps %xmm0, %xmm0
movsd %xmm0, -0x68(%rbp)
movl $0x0, -0x6c(%rbp)
movslq -0x6c(%rbp), %rax
movq %rax, -0x710(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xe5c0
movq %rax, %rcx
movq -0x710(%rbp), %rax
cmpq %rcx, %rax
jae 0x30497
movslq -0x6c(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0xe670
movsd (%rax), %xmm0
ucomisd -0x68(%rbp), %xmm0
jbe 0x3048a
movslq -0x6c(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0xe670
movsd (%rax), %xmm0
movsd %xmm0, -0x68(%rbp)
jmp 0x3048c
movl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0x30439
movsd -0x58(%rbp), %xmm1
movsd 0x1bd84(%rip), %xmm0    # 0x4c228
divsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x68(%rbp), %xmm1
movsd 0x19bf6(%rip), %xmm0    # 0x4a0b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movq 0x29b06(%rip), %rdi     # 0x59fd0
leaq 0x1cf50(%rip), %rsi     # 0x4d421
callq 0x4390
movq %rax, -0x718(%rbp)
jmp 0x304df
movq -0x718(%rbp), %rdi
movsd -0x58(%rbp), %xmm0
callq 0x4670
movq %rax, -0x720(%rbp)
jmp 0x304f9
movq -0x720(%rbp), %rdi
leaq 0x194a4(%rip), %rsi     # 0x499ab
callq 0x4390
movq %rax, -0x728(%rbp)
jmp 0x30515
movq -0x728(%rbp), %rdi
movsd -0x68(%rbp), %xmm0
callq 0x4670
movq %rax, -0x730(%rbp)
jmp 0x3052f
movq -0x730(%rbp), %rdi
movq 0x29a7b(%rip), %rsi     # 0x59fb8
callq 0x43d0
jmp 0x30544
movq 0x29a85(%rip), %rdi     # 0x59fd0
leaq 0x1ceec(%rip), %rsi     # 0x4d43e
callq 0x4390
movq %rax, -0x738(%rbp)
jmp 0x30560
movq -0x738(%rbp), %rdi
movsd -0x78(%rbp), %xmm0
callq 0x4670
movq %rax, -0x740(%rbp)
jmp 0x3057a
movq -0x740(%rbp), %rdi
leaq 0x19423(%rip), %rsi     # 0x499ab
callq 0x4390
movq %rax, -0x748(%rbp)
jmp 0x30596
movq -0x748(%rbp), %rdi
movsd -0x80(%rbp), %xmm0
callq 0x4670
movq %rax, -0x750(%rbp)
jmp 0x305b0
movq -0x750(%rbp), %rdi
movq 0x299fa(%rip), %rsi     # 0x59fb8
callq 0x43d0
jmp 0x305c5
movl $0x0, -0x84(%rbp)
movq -0x700(%rbp), %rcx
movl -0x84(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x314d4
movq -0x700(%rbp), %rax
cvtsi2sdl 0x30(%rax), %xmm0
movsd %xmm0, -0x760(%rbp)
movl -0x84(%rbp), %esi
movl $0x2, %edi
callq 0x1d7f0
movsd %xmm0, -0x758(%rbp)
jmp 0x30613
movq -0x700(%rbp), %rax
movsd -0x758(%rbp), %xmm1
movsd -0x760(%rbp), %xmm0
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movl %ecx, -0x88(%rbp)
cvtsi2sdl 0x34(%rax), %xmm0
movsd %xmm0, -0x770(%rbp)
movl -0x84(%rbp), %esi
movl $0x2, %edi
callq 0x1d7f0
movsd %xmm0, -0x768(%rbp)
jmp 0x3065f
movsd -0x768(%rbp), %xmm1
movsd -0x770(%rbp), %xmm0
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x8c(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x4280
jmp 0x3068b
leaq -0x208(%rbp), %rdi
movl -0x84(%rbp), %esi
callq 0x4600
jmp 0x3069f
leaq -0x238(%rbp), %rdi
callq 0x4500
cmpl $0x0, -0x84(%rbp)
jne 0x3091c
movq -0x10(%rbp), %rax
movq %rax, -0x780(%rbp)
leaq -0x2b9(%rbp), %rdi
movq %rdi, -0x778(%rbp)
callq 0x4630
movq -0x780(%rbp), %rsi
movq -0x778(%rbp), %rdx
leaq -0x2b8(%rbp), %rdi
callq 0xe110
jmp 0x306f2
leaq -0x2e0(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x4380
jmp 0x30707
leaq -0x298(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
leaq -0x2e0(%rbp), %rdx
callq 0x33050
jmp 0x30723
leaq 0x1cd31(%rip), %rdx     # 0x4d45b
leaq -0x278(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x25b40
jmp 0x3073f
leaq 0x19b6f(%rip), %rdx     # 0x4a2b5
leaq -0x258(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x25b40
jmp 0x3075b
leaq -0x238(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
leaq -0x258(%rbp), %rsi
movq %rsi, -0x7a8(%rbp)
callq 0x4480
movq -0x7a8(%rbp), %rdi
callq 0x46c8
leaq -0x278(%rbp), %rdi
callq 0x46c8
leaq -0x298(%rbp), %rdi
callq 0x46c8
leaq -0x2e0(%rbp), %rdi
callq 0x46c8
leaq -0x2b8(%rbp), %rdi
callq 0x46c8
leaq -0x2b9(%rbp), %rdi
callq 0x43f0
movq -0x700(%rbp), %rax
movq -0x7a0(%rbp), %rsi
movq (%rax), %rax
movq %rax, -0x798(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x790(%rbp)
movl -0x8c(%rbp), %eax
movl %eax, -0x78c(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x788(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x4180
jmp 0x3080f
movsd -0x788(%rbp), %xmm0
movl -0x78c(%rbp), %ecx
movl -0x790(%rbp), %edx
movq -0x798(%rbp), %rsi
movq -0x700(%rbp), %rdi
movsd 0x1b9ff(%rip), %xmm1    # 0x4c238
leaq -0x300(%rbp), %r8
callq 0x31510
jmp 0x30847
leaq -0x300(%rbp), %rdi
callq 0x46c8
jmp 0x3091c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x314c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x308dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x308d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x308c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x308b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x46c8
leaq -0x298(%rbp), %rdi
callq 0x46c8
leaq -0x2e0(%rbp), %rdi
callq 0x46c8
leaq -0x2b8(%rbp), %rdi
callq 0x46c8
leaq -0x2b9(%rbp), %rdi
callq 0x43f0
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x46c8
jmp 0x314ba
movq -0x10(%rbp), %rax
movq %rax, -0x7b8(%rbp)
leaq -0x381(%rbp), %rdi
movq %rdi, -0x7b0(%rbp)
callq 0x4630
movq -0x7b8(%rbp), %rsi
movq -0x7b0(%rbp), %rdx
leaq -0x380(%rbp), %rdi
callq 0xe110
jmp 0x30956
leaq -0x3a8(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x4380
jmp 0x3096b
leaq -0x360(%rbp), %rdi
leaq -0x380(%rbp), %rsi
leaq -0x3a8(%rbp), %rdx
callq 0x33050
jmp 0x30987
leaq 0x1cad2(%rip), %rdx     # 0x4d460
leaq -0x340(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x25b40
jmp 0x309a3
leaq 0x1990b(%rip), %rdx     # 0x4a2b5
leaq -0x320(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x25b40
jmp 0x309bf
leaq -0x238(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
leaq -0x320(%rbp), %rsi
movq %rsi, -0x7e0(%rbp)
callq 0x4480
movq -0x7e0(%rbp), %rdi
callq 0x46c8
leaq -0x340(%rbp), %rdi
callq 0x46c8
leaq -0x360(%rbp), %rdi
callq 0x46c8
leaq -0x3a8(%rbp), %rdi
callq 0x46c8
leaq -0x380(%rbp), %rdi
callq 0x46c8
leaq -0x381(%rbp), %rdi
callq 0x43f0
movq -0x700(%rbp), %rax
movq -0x7d8(%rbp), %rsi
movq 0x8(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x7d0(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x7c8(%rbp)
movl -0x8c(%rbp), %eax
movl %eax, -0x7c4(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x7c0(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0x4180
jmp 0x30a7f
movsd -0x7c0(%rbp), %xmm0
movl -0x7c4(%rbp), %ecx
movl -0x7c8(%rbp), %edx
movq -0x7d0(%rbp), %rsi
movq -0x700(%rbp), %rdi
movsd 0x1b78f(%rip), %xmm1    # 0x4c238
leaq -0x3c8(%rbp), %r8
callq 0x31510
jmp 0x30ab7
leaq -0x3c8(%rbp), %rdi
callq 0x46c8
movq -0x10(%rbp), %rax
movq %rax, -0x7f0(%rbp)
leaq -0x449(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x4630
movq -0x7f0(%rbp), %rsi
movq -0x7e8(%rbp), %rdx
leaq -0x448(%rbp), %rdi
callq 0xe110
jmp 0x30afd
leaq -0x470(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x4380
jmp 0x30b12
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
leaq -0x470(%rbp), %rdx
callq 0x33050
jmp 0x30b2e
leaq 0x1c92f(%rip), %rdx     # 0x4d464
leaq -0x408(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x25b40
jmp 0x30b4a
leaq 0x19764(%rip), %rdx     # 0x4a2b5
leaq -0x3e8(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0x25b40
jmp 0x30b66
leaq -0x238(%rbp), %rdi
movq %rdi, -0x810(%rbp)
leaq -0x3e8(%rbp), %rsi
movq %rsi, -0x818(%rbp)
callq 0x4480
movq -0x818(%rbp), %rdi
callq 0x46c8
leaq -0x408(%rbp), %rdi
callq 0x46c8
leaq -0x428(%rbp), %rdi
callq 0x46c8
leaq -0x470(%rbp), %rdi
callq 0x46c8
leaq -0x448(%rbp), %rdi
callq 0x46c8
leaq -0x449(%rbp), %rdi
callq 0x43f0
movq -0x700(%rbp), %rax
movq -0x810(%rbp), %rsi
movq 0x10(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x808(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x800(%rbp)
movl -0x8c(%rbp), %eax
movl %eax, -0x7fc(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x7f8(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x4180
jmp 0x30c26
movsd -0x7f8(%rbp), %xmm0
movl -0x7fc(%rbp), %ecx
movl -0x800(%rbp), %edx
movq -0x808(%rbp), %rsi
movq -0x700(%rbp), %rdi
movsd 0x1b5e8(%rip), %xmm1    # 0x4c238
leaq -0x490(%rbp), %r8
callq 0x31510
jmp 0x30c5e
leaq -0x490(%rbp), %rdi
callq 0x46c8
movq -0x10(%rbp), %rax
movq %rax, -0x828(%rbp)
leaq -0x511(%rbp), %rdi
movq %rdi, -0x820(%rbp)
callq 0x4630
movq -0x828(%rbp), %rsi
movq -0x820(%rbp), %rdx
leaq -0x510(%rbp), %rdi
callq 0xe110
jmp 0x30ca4
leaq -0x538(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x4380
jmp 0x30cb9
leaq -0x4f0(%rbp), %rdi
leaq -0x510(%rbp), %rsi
leaq -0x538(%rbp), %rdx
callq 0x33050
jmp 0x30cd5
leaq 0x1c78c(%rip), %rdx     # 0x4d468
leaq -0x4d0(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
callq 0x25b40
jmp 0x30cf1
leaq 0x195bd(%rip), %rdx     # 0x4a2b5
leaq -0x4b0(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
callq 0x25b40
jmp 0x30d0d
leaq -0x238(%rbp), %rdi
movq %rdi, -0x848(%rbp)
leaq -0x4b0(%rbp), %rsi
movq %rsi, -0x850(%rbp)
callq 0x4480
movq -0x850(%rbp), %rdi
callq 0x46c8
leaq -0x4d0(%rbp), %rdi
callq 0x46c8
leaq -0x4f0(%rbp), %rdi
callq 0x46c8
leaq -0x538(%rbp), %rdi
callq 0x46c8
leaq -0x510(%rbp), %rdi
callq 0x46c8
leaq -0x511(%rbp), %rdi
callq 0x43f0
movq -0x700(%rbp), %rax
movq -0x848(%rbp), %rsi
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x840(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x838(%rbp)
movl -0x8c(%rbp), %eax
movl %eax, -0x834(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x830(%rbp)
leaq -0x558(%rbp), %rdi
callq 0x4180
jmp 0x30dcd
movsd -0x830(%rbp), %xmm0
movl -0x834(%rbp), %ecx
movl -0x838(%rbp), %edx
movq -0x840(%rbp), %rsi
movq -0x700(%rbp), %rdi
movsd 0x1b441(%rip), %xmm1    # 0x4c238
leaq -0x558(%rbp), %r8
callq 0x31510
jmp 0x30e05
leaq -0x558(%rbp), %rdi
callq 0x46c8
movq -0x10(%rbp), %rax
movq %rax, -0x860(%rbp)
leaq -0x5d9(%rbp), %rdi
movq %rdi, -0x858(%rbp)
callq 0x4630
movq -0x860(%rbp), %rsi
movq -0x858(%rbp), %rdx
leaq -0x5d8(%rbp), %rdi
callq 0xe110
jmp 0x30e4b
leaq -0x600(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x4380
jmp 0x30e60
leaq -0x5b8(%rbp), %rdi
leaq -0x5d8(%rbp), %rsi
leaq -0x600(%rbp), %rdx
callq 0x33050
jmp 0x30e7c
leaq 0x1c5e9(%rip), %rdx     # 0x4d46c
leaq -0x598(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
callq 0x25b40
jmp 0x30e98
leaq 0x19416(%rip), %rdx     # 0x4a2b5
leaq -0x578(%rbp), %rdi
leaq -0x598(%rbp), %rsi
callq 0x25b40
jmp 0x30eb4
leaq -0x238(%rbp), %rdi
movq %rdi, -0x880(%rbp)
leaq -0x578(%rbp), %rsi
movq %rsi, -0x888(%rbp)
callq 0x4480
movq -0x888(%rbp), %rdi
callq 0x46c8
leaq -0x598(%rbp), %rdi
callq 0x46c8
leaq -0x5b8(%rbp), %rdi
callq 0x46c8
leaq -0x600(%rbp), %rdi
callq 0x46c8
leaq -0x5d8(%rbp), %rdi
callq 0x46c8
leaq -0x5d9(%rbp), %rdi
callq 0x43f0
movq -0x700(%rbp), %rax
movq -0x880(%rbp), %rsi
movq 0x20(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x878(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x870(%rbp)
movl -0x8c(%rbp), %eax
movl %eax, -0x86c(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x868(%rbp)
leaq -0x620(%rbp), %rdi
callq 0x4180
jmp 0x30f74
movsd -0x868(%rbp), %xmm0
movl -0x86c(%rbp), %ecx
movl -0x870(%rbp), %edx
movq -0x878(%rbp), %rsi
movq -0x700(%rbp), %rdi
movsd 0x1b29a(%rip), %xmm1    # 0x4c238
leaq -0x620(%rbp), %r8
callq 0x31510
jmp 0x30fac
leaq -0x620(%rbp), %rdi
callq 0x46c8
movq -0x10(%rbp), %rax
movq %rax, -0x898(%rbp)
leaq -0x6a1(%rbp), %rdi
movq %rdi, -0x890(%rbp)
callq 0x4630
movq -0x898(%rbp), %rsi
movq -0x890(%rbp), %rdx
leaq -0x6a0(%rbp), %rdi
callq 0xe110
jmp 0x30ff2
leaq -0x6c8(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x4380
jmp 0x31007
leaq -0x680(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
leaq -0x6c8(%rbp), %rdx
callq 0x33050
jmp 0x31023
leaq 0x1c446(%rip), %rdx     # 0x4d470
leaq -0x660(%rbp), %rdi
leaq -0x680(%rbp), %rsi
callq 0x25b40
jmp 0x3103f
leaq 0x1926f(%rip), %rdx     # 0x4a2b5
leaq -0x640(%rbp), %rdi
leaq -0x660(%rbp), %rsi
callq 0x25b40
jmp 0x3105b
leaq -0x238(%rbp), %rdi
movq %rdi, -0x8b8(%rbp)
leaq -0x640(%rbp), %rsi
movq %rsi, -0x8c0(%rbp)
callq 0x4480
movq -0x8c0(%rbp), %rdi
callq 0x46c8
leaq -0x660(%rbp), %rdi
callq 0x46c8
leaq -0x680(%rbp), %rdi
callq 0x46c8
leaq -0x6c8(%rbp), %rdi
callq 0x46c8
leaq -0x6a0(%rbp), %rdi
callq 0x46c8
leaq -0x6a1(%rbp), %rdi
callq 0x43f0
movq -0x700(%rbp), %rax
movq -0x8b8(%rbp), %rsi
movq 0x28(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x8b0(%rbp)
movl -0x88(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
movl %eax, -0x8a8(%rbp)
movl -0x8c(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
movl %eax, -0x8a4(%rbp)
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x8a0(%rbp)
leaq -0x6e8(%rbp), %rdi
callq 0x4180
jmp 0x3112d
movsd -0x8a0(%rbp), %xmm0
movl -0x8a4(%rbp), %ecx
movl -0x8a8(%rbp), %edx
movq -0x8b0(%rbp), %rsi
movq -0x700(%rbp), %rdi
xorps %xmm1, %xmm1
leaq -0x6e8(%rbp), %r8
callq 0x31510
jmp 0x31160
leaq -0x6e8(%rbp), %rdi
callq 0x46c8
leaq -0x238(%rbp), %rdi
callq 0x46c8
leaq -0x218(%rbp), %rdi
callq 0x42a0
movl -0x84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0x305cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3120c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31200
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x311f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x311e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x46c8
leaq -0x360(%rbp), %rdi
callq 0x46c8
leaq -0x3a8(%rbp), %rdi
callq 0x46c8
leaq -0x380(%rbp), %rdi
callq 0x46c8
leaq -0x381(%rbp), %rdi
callq 0x43f0
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0x46c8
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x312ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x312a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31296
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3128a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x46c8
leaq -0x428(%rbp), %rdi
callq 0x46c8
leaq -0x470(%rbp), %rdi
callq 0x46c8
leaq -0x448(%rbp), %rdi
callq 0x46c8
leaq -0x449(%rbp), %rdi
callq 0x43f0
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x46c8
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31350
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31338
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3132c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x46c8
leaq -0x4f0(%rbp), %rdi
callq 0x46c8
leaq -0x538(%rbp), %rdi
callq 0x46c8
leaq -0x510(%rbp), %rdi
callq 0x46c8
leaq -0x511(%rbp), %rdi
callq 0x43f0
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x558(%rbp), %rdi
callq 0x46c8
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x313f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x313e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x313da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x313ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x598(%rbp), %rdi
callq 0x46c8
leaq -0x5b8(%rbp), %rdi
callq 0x46c8
leaq -0x600(%rbp), %rdi
callq 0x46c8
leaq -0x5d8(%rbp), %rdi
callq 0x46c8
leaq -0x5d9(%rbp), %rdi
callq 0x43f0
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x620(%rbp), %rdi
callq 0x46c8
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31494
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31488
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3147c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x31470
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x660(%rbp), %rdi
callq 0x46c8
leaq -0x680(%rbp), %rdi
callq 0x46c8
leaq -0x6c8(%rbp), %rdi
callq 0x46c8
leaq -0x6a0(%rbp), %rdi
callq 0x46c8
leaq -0x6a1(%rbp), %rdi
callq 0x43f0
jmp 0x314ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x6e8(%rbp), %rdi
callq 0x46c8
leaq -0x238(%rbp), %rdi
callq 0x46c8
leaq -0x218(%rbp), %rdi
callq 0x42a0
jmp 0x314ef
leaq -0x40(%rbp), %rdi
callq 0xe260
leaq -0x28(%rbp), %rdi
callq 0xe260
addq $0x8c0, %rsp            # imm = 0x8C0
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0xe260
leaq -0x28(%rbp), %rdi
callq 0xe260
movq -0x48(%rbp), %rdi
callq 0x4620
nopw (%rax,%rax)