// File: /workspace/github_cpp_makefile_star2_O1/kebwi[P]Trifid/src/ImageProcs.cpp
// Function: testRGBXYZLABRoutines()
void testRGBXYZLABRoutines()
{
	Float_t minorCutoff = .000001;
	Float_t majorCutoff = .001;
	
	cout.precision(8);
	
	cout << "RGB coordinates specified as input, then run through RGB->XYZ->LAB->XYZ->RGB." << endl
		<< "Final XYZ and RGB difs are presented and compared to originals with minor and major cutoffs: " << endl
		<< minorCutoff << " and " << majorCutoff << "." << endl << endl;
	
	cout << "Display legend:" << endl;
	cout	<< setw(12) << "R in"
			<< setw(12) << "G in"
			<< setw(12) << "B in" << "    "
			<< setw(12) << "X out"
			<< setw(12) << "Y out"
			<< setw(12) << "Z out" << "    " << endl
			<< setw(12) << "R2 out"
			<< setw(12) << "G2 out"
			<< setw(12) << "B2 out" << "    "
			<< setw(12) << "X2 out"
			<< setw(12) << "Y2 out"
			<< setw(12) << "Z2 out" << endl
			<< setw(12) << "|X2 - X|"
			<< setw(12) << "|Y2 - Y|"
			<< setw(12) << "|Z2 - Z|" << "    "
			<< setw(12) << "|R2 - R|"
			<< setw(12) << "|G2 - G|"
			<< setw(12) << "|B2 - B|" << endl << endl;
			
	for (Float_t r = 0; r <= 1.0; r += .25)
		for (Float_t g = 0; g <= 1.0; g += .25)
			for (Float_t b = 0; b <= 1.0; b += .25)
			{
				Float_t x, y, z;
				Float_t l, a, bb;
				Float_t x2, y2, z2;
				Float_t r2, g2, b2;
				
				rgb2xyz(r, g, b, x, y, z);
				xyz2cielab(x, y, z, l, a, bb);
				cielab2xyz(l, a, bb, x2, y2, z2);
				xyz2rgb(x2, y2, z2, r2, g2, b2);
				
				cout	<< setw(12) << r
						<< setw(12) << g
						<< setw(12) << b << "    "
						<< setw(12) << x
						<< setw(12) << y
						<< setw(12) << z << endl
						<< setw(12) << r2
						<< setw(12) << g2
						<< setw(12) << b2 << "    "
						<< setw(12) << x2
						<< setw(12) << y2
						<< setw(12) << z2 << endl
						<< setw(12) << fabs(x2 - x)
						<< setw(12) << fabs(y2 - y)
						<< setw(12) << fabs(z2 - z) << "    "
						<< setw(12) << fabs(r2 - r)
						<< setw(12) << fabs(g2 - g)
						<< setw(12) << fabs(b2 - b) << endl;
				
				if (fabs(r2 - r) > minorCutoff || fabs(g2 - g) > minorCutoff || fabs(b2 - b) > minorCutoff ||
					fabs(x2 - x) > minorCutoff || fabs(y2 - y) > minorCutoff || fabs(z2 - z) > minorCutoff)
					cout << "    -------- minor error in previous test --------" << endl;
				
				if (fabs(r2 - r) > majorCutoff || fabs(g2 - g) > majorCutoff || fabs(b2 - b) > majorCutoff ||
					fabs(x2 - x) > majorCutoff || fabs(y2 - y) > majorCutoff || fabs(z2 - z) > majorCutoff)
					cout << "    ******** MAJOR ERROR IN PREVIOUS TEST ********" << endl;
				
				cout << endl;
			}
	
	exit(0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq 0x248c2(%rip), %rbx     # 0x36fd0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq $0x8, 0x8(%rbx,%rax)
leaq 0x1a5fd(%rip), %rsi     # 0x2cd22
movl $0x4d, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %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 %rax, %r14
leaq 0x1a60d(%rip), %rsi     # 0x2cd70
movl $0x5d, %edx
movq %rax, %rdi
callq 0x3360
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movsd 0x1a461(%rip), %xmm0    # 0x2cc00
movq %rax, %rdi
callq 0x3480
movq %rax, %r14
leaq 0x1a61d(%rip), %rsi     # 0x2cdce
movl $0x5, %edx
movq %rax, %rdi
callq 0x3360
movsd 0x1a442(%rip), %xmm0    # 0x2cc08
movq %r14, %rdi
callq 0x3480
movq %rax, %r14
leaq 0x19a55(%rip), %rsi     # 0x2c22d
movl $0x1, %edx
movq %rax, %rdi
callq 0x3360
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
leaq 0x1a597(%rip), %rsi     # 0x2cdd4
movl $0xf, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %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 (%rbx), %rax
movq -0x18(%rax), %rax
movl $0xc, %r13d
movq %r13, 0x10(%rbx,%rax)
leaq 0x1a55a(%rip), %rsi     # 0x2cde4
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x1a53f(%rip), %rsi     # 0x2cde9
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x1a524(%rip), %rsi     # 0x2cdee
movl $0x4, %edx
movq %rbx, %rdi
callq 0x3360
leaq 0x19030(%rip), %r14     # 0x2b90e
movl $0x4, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x1a4f2(%rip), %rsi     # 0x2cdf3
movl $0x5, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x1a4d8(%rip), %rsi     # 0x2cdf9
movl $0x5, %edx
movq %rbx, %rdi
callq 0x3360
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
leaq 0x1a4be(%rip), %rsi     # 0x2cdff
movl $0x5, %edx
movq %rbx, %rdi
callq 0x3360
movl $0x4, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3360
movq (%rbx), %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 %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a46a(%rip), %rsi     # 0x2ce05
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a451(%rip), %rsi     # 0x2ce0c
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a438(%rip), %rsi     # 0x2ce13
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movl $0x4, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a40f(%rip), %rsi     # 0x2ce1a
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a3f6(%rip), %rsi     # 0x2ce21
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a3dd(%rip), %rsi     # 0x2ce28
movl $0x6, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a39a(%rip), %rsi     # 0x2ce2f
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a383(%rip), %rsi     # 0x2ce38
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a36c(%rip), %rsi     # 0x2ce41
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movl $0x4, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a345(%rip), %rsi     # 0x2ce4a
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a32e(%rip), %rsi     # 0x2ce53
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r15,%rax)
leaq 0x1a317(%rip), %rsi     # 0x2ce5c
movl $0x8, %edx
movq %r15, %rdi
callq 0x3360
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
xorpd %xmm0, %xmm0
movsd %xmm0, (%rsp)
leaq 0x78(%rsp), %rbp
leaq 0x70(%rsp), %r15
xorpd %xmm0, %xmm0
movsd %xmm0, 0x8(%rsp)
xorps %xmm2, %xmm2
movsd (%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
movsd %xmm2, 0x28(%rsp)
leaq 0x98(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x12234
movsd 0x98(%rsp), %xmm0
movsd 0x90(%rsp), %xmm1
movsd 0x88(%rsp), %xmm2
movsd %xmm0, 0x58(%rsp)
movsd %xmm1, 0x60(%rsp)
movsd %xmm2, 0x68(%rsp)
leaq 0xe0(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0x12449
movsd 0xe0(%rsp), %xmm0
movsd 0xd8(%rsp), %xmm1
movsd 0xd0(%rsp), %xmm2
leaq 0x80(%rsp), %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x125af
movsd 0x80(%rsp), %xmm2
movsd 0x78(%rsp), %xmm8
movsd 0x70(%rsp), %xmm7
movapd %xmm8, %xmm0
mulsd 0x19eac(%rip), %xmm0    # 0x2cb38
movapd %xmm2, %xmm1
mulsd 0x19ea8(%rip), %xmm1    # 0x2cb40
addsd %xmm0, %xmm1
movapd %xmm7, %xmm6
mulsd 0x19ea0(%rip), %xmm6    # 0x2cb48
addsd %xmm1, %xmm6
movapd %xmm8, %xmm4
mulsd 0x19e97(%rip), %xmm4    # 0x2cb50
movapd %xmm2, %xmm5
mulsd 0x19e93(%rip), %xmm5    # 0x2cb58
movapd %xmm7, %xmm3
mulsd 0x19e8f(%rip), %xmm3    # 0x2cb60
movapd %xmm8, %xmm1
mulsd 0x19e8a(%rip), %xmm1    # 0x2cb68
movapd %xmm2, 0xa0(%rsp)
mulsd 0x19e81(%rip), %xmm2    # 0x2cb70
movapd %xmm7, 0xc0(%rsp)
movapd %xmm7, %xmm0
mulsd 0x19e74(%rip), %xmm0    # 0x2cb78
xorpd %xmm7, %xmm7
ucomisd %xmm6, %xmm7
ja 0x12d24
ucomisd 0x18342(%rip), %xmm6    # 0x2b058
movapd %xmm6, %xmm7
jbe 0x12d24
movsd 0x18334(%rip), %xmm7    # 0x2b058
addsd %xmm4, %xmm5
addsd %xmm5, %xmm3
xorpd %xmm4, %xmm4
ucomisd %xmm3, %xmm4
xorpd %xmm5, %xmm5
ja 0x12d50
ucomisd 0x18316(%rip), %xmm3    # 0x2b058
movapd %xmm3, %xmm5
jbe 0x12d50
movsd 0x18308(%rip), %xmm5    # 0x2b058
movapd %xmm8, 0xb0(%rsp)
movapd %xmm5, 0x30(%rsp)
movapd %xmm7, 0x40(%rsp)
addsd %xmm1, %xmm2
addsd %xmm2, %xmm0
ucomisd %xmm0, %xmm4
ja 0x12d8a
ucomisd 0x182dc(%rip), %xmm0    # 0x2b058
movapd %xmm0, %xmm4
jbe 0x12d8a
movsd 0x182ce(%rip), %xmm4    # 0x2b058
movapd %xmm4, 0x10(%rsp)
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
movq %rbx, %rdi
movsd (%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movsd 0x28(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r12,%rax)
movq %r12, %rdi
movsd 0x58(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movsd 0x60(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movsd 0x68(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x40(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x30(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0x10(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r12,%rax)
movq %r12, %rdi
movaps 0xa0(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0xb0(%rsp), %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movq %rax, %rdi
movaps 0xc0(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movapd 0xa0(%rsp), %xmm1
subsd 0x58(%rsp), %xmm1
movapd 0x180a7(%rip), %xmm0    # 0x2b010
andpd %xmm0, %xmm1
movq %rax, %rdi
movapd %xmm1, 0xa0(%rsp)
movapd %xmm1, %xmm0
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movapd 0xb0(%rsp), %xmm0
subsd 0x60(%rsp), %xmm0
andpd 0x1806b(%rip), %xmm0    # 0x2b010
movq %rax, %rdi
movapd %xmm0, 0xb0(%rsp)
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movapd 0xc0(%rsp), %xmm0
subsd 0x68(%rsp), %xmm0
andpd 0x18037(%rip), %xmm0    # 0x2b010
movapd %xmm0, 0xc0(%rsp)
movq %rax, %rdi
callq 0x3480
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x3360
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r12,%rax)
movapd 0x40(%rsp), %xmm0
subsd (%rsp), %xmm0
andpd 0x17ff3(%rip), %xmm0    # 0x2b010
movapd %xmm0, 0x40(%rsp)
movq %r12, %rdi
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movapd 0x30(%rsp), %xmm0
subsd 0x8(%rsp), %xmm0
andpd 0x17fc5(%rip), %xmm0    # 0x2b010
movapd %xmm0, 0x30(%rsp)
movq %rax, %rdi
callq 0x3480
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r13, 0x10(%rax,%rcx)
movapd 0x10(%rsp), %xmm0
subsd 0x28(%rsp), %xmm0
movapd %xmm0, 0x10(%rsp)
movaps 0x10(%rsp), %xmm0
andps 0x17f8d(%rip), %xmm0    # 0x2b010
movaps %xmm0, 0x10(%rsp)
movq %rax, %rdi
movaps 0x10(%rsp), %xmm0
callq 0x3480
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x32e0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x31f0
movapd 0x30(%rsp), %xmm4
movapd 0x10(%rsp), %xmm3
movapd 0x40(%rsp), %xmm2
movsd 0x19b27(%rip), %xmm0    # 0x2cc00
movapd 0xc0(%rsp), %xmm1
ucomisd %xmm0, %xmm1
ja 0x13118
movapd 0xb0(%rsp), %xmm1
ucomisd %xmm0, %xmm1
ja 0x13118
movapd 0xa0(%rsp), %xmm1
ucomisd %xmm0, %xmm1
ja 0x13118
ucomisd %xmm0, %xmm2
ja 0x13118
ucomisd %xmm0, %xmm4
ja 0x13118
ucomisd %xmm0, %xmm3
jbe 0x13165
movl $0x32, %edx
movq %rbx, %rdi
leaq 0x19d3e(%rip), %rsi     # 0x2ce65
callq 0x3360
movq (%rbx), %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
movapd 0x30(%rsp), %xmm4
movapd 0x10(%rsp), %xmm3
movapd 0x40(%rsp), %xmm2
movsd 0x19a9b(%rip), %xmm1    # 0x2cc08
ucomisd %xmm1, %xmm2
ja 0x131d9
ucomisd %xmm1, %xmm4
ja 0x131d9
ucomisd %xmm1, %xmm3
ja 0x131d9
movsd 0x80(%rsp), %xmm0
subsd 0x98(%rsp), %xmm0
andpd 0x17e77(%rip), %xmm0    # 0x2b010
ucomisd %xmm1, %xmm0
ja 0x131d9
movsd 0x78(%rsp), %xmm0
subsd 0x90(%rsp), %xmm0
andpd 0x17e5a(%rip), %xmm0    # 0x2b010
ucomisd %xmm1, %xmm0
ja 0x131d9
movsd 0x70(%rsp), %xmm0
subsd 0x88(%rsp), %xmm0
andpd 0x17e3d(%rip), %xmm0    # 0x2b010
ucomisd %xmm1, %xmm0
jbe 0x13214
movl $0x32, %edx
movq %rbx, %rdi
leaq 0x19cb0(%rip), %rsi     # 0x2ce98
callq 0x3360
movq (%rbx), %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 (%rbx), %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
movsd 0x28(%rsp), %xmm2
addsd 0x199c7(%rip), %xmm2    # 0x2cc10
movsd 0x17e07(%rip), %xmm0    # 0x2b058
ucomisd %xmm2, %xmm0
jae 0x12bc3
movsd 0x8(%rsp), %xmm1
addsd 0x199a7(%rip), %xmm1    # 0x2cc10
movsd 0x17de7(%rip), %xmm0    # 0x2b058
movsd %xmm1, 0x8(%rsp)
ucomisd %xmm1, %xmm0
jae 0x12bc0
movsd (%rsp), %xmm0
addsd 0x19982(%rip), %xmm0    # 0x2cc10
movsd %xmm0, (%rsp)
movsd 0x17dbd(%rip), %xmm1    # 0x2b058
ucomisd %xmm0, %xmm1
jae 0x12bb6
xorl %edi, %edi
callq 0x3390