// File: /workspace/github_c_makefile_star2_O0/Openvario[P]sensord/main.c
// Function: pressure_measurement_handler
static void pressure_measurement_handler(void)
{
	static int meas_counter = 1, glitch = 0;
	int reject = 0;
	static struct timespec kalman_prev;


	// Initialize timers if first time through.
	if (meas_counter==1) clock_gettime(CLOCK_MONOTONIC, &kalman_prev);

	// read ADS1110
	if (voltage_sensor.present && (meas_counter%4==0))
	{
		ads1110_measure(&voltage_sensor);
		ads1110_calculate(&voltage_sensor);
	}

	if (!io_mode.sensordata_from_file)
	{
		static int glitchstart = 0, deltaxmax = 0, shutoff = 0;

		// read AMS5915
		ams5915_measure(&dynamic_sensor);

		// if early, wait

		// if more than 2ms late, increase the glitch counter

		if ((sensor_wait(12500))>2000) { glitchstart=8; glitch+=8; }
		if (meas_counter&1) {
			// read pressure sensors
			int deltax;

			ms5611_read_temp(&tep_sensor,glitch);
			ms5611_read_pressure(&static_sensor);
			ms5611_start_pressure(&tep_sensor);
			sensor_wait_mark();
			ms5611_start_temp(&static_sensor);
			if (abs((int)static_sensor.D1l-(int) static_sensor.D1)>100e3)  reject=1;
			if (!glitch)
				if (tep_sensor.D2l>tep_sensor.D2+300) { glitchstart=8; glitch=8; }
			if (glitchstart) {
				if (glitch>glitchstart)
					deltax=abs((int) tep_sensor.D2l-(int)tep_sensor.D2);
				else
					deltax=abs((int)tep_sensor.D2f-(int)tep_sensor.D2);
				if (deltax>deltaxmax) deltaxmax=deltax;
				if ((--glitchstart)==0) {
					if (deltaxmax>15)
						glitch += ((int) round(log((double)(deltaxmax)*config.timing_log)*config.timing_mult))+config.timing_off;
					deltaxmax=0;
				}
			}

			// if there was a glitch, compensate for the glitch
			if (glitch) {
				double correction,cor2;

				if (--glitch>350) glitch=350;
				if ((++shutoff)>399) {
					shutoff=glitch=0;
					tep_sensor.D2f=tep_sensor.D2;
					static_sensor.D2f=static_sensor.D2;
				}
				// compensate for the glitch
				deltax = (int) tep_sensor.D2f-(int) tep_sensor.D2;
				if (!glitchstart)
					if (abs(deltax)<15) glitch=0;
				correction = deltax*deltax*static_sensor.comp2+deltax*static_sensor.comp1+static_sensor.comp0;
				cor2=static_sensor.p*1e-5;
				correction *= (cor2*cor2*static_sensor.Pcomp2+cor2*static_sensor.Pcomp1+static_sensor.Pcomp0);
				static_sensor.D1+=(int) round(correction);
			} else {
				static_sensor.D1f=(static_sensor.D1f*7+static_sensor.D1)/8;
				shutoff=0;
			}
			ms5611_calculate_pressure(&static_sensor);
		} else {
			// read pressure sensors
			int deltax;

			ms5611_read_pressure(&tep_sensor);
			ms5611_read_temp(&static_sensor,glitch);
			ms5611_start_temp(&tep_sensor);
			sensor_wait_mark();
			ms5611_start_pressure(&static_sensor);
			if (abs((int) tep_sensor.D1l-(int) tep_sensor.D1)>100e3) reject=1;
			if (!glitch)
				if (static_sensor.D2l>static_sensor.D2+300) { glitchstart=8; glitch=8; }
			if (glitchstart) {
				if (glitch>glitchstart)
					deltax=abs((int) static_sensor.D2l-(int)static_sensor.D2);
				else
					deltax=abs((int)static_sensor.D2f-(int) static_sensor.D2);
				if (deltax>deltaxmax) deltaxmax=deltax;
				if ((--glitchstart)==0) {
					if (deltaxmax>15)
						glitch += ((int) round(log((double)(deltaxmax)*config.timing_log)*config.timing_mult))+config.timing_off;
					deltaxmax=0;
				}
			}

			// if there was a glitch, compensate for the glitch
			if (glitch)
			{
				double correction,cor2;

				if (--glitch>350) glitch=350;
				// compensate for the glitch
				deltax = (int) static_sensor.D2f-(int) static_sensor.D2;
				if (!glitchstart)
					if (abs(deltax)<15) glitch=0;
				correction = deltax*deltax*tep_sensor.comp2+deltax*tep_sensor.comp1+tep_sensor.comp0;
				cor2=tep_sensor.p*1e-5;
				correction *= (cor2*cor2*tep_sensor.Pcomp2+cor2*tep_sensor.Pcomp1+tep_sensor.Pcomp0);
				tep_sensor.D1+=(int) round(correction);
			} else {
				tep_sensor.D1f = (tep_sensor.D1f*7+tep_sensor.D1)/8;
				shutoff=0;
			}
			ms5611_calculate_pressure(&tep_sensor);
		}
		ams5915_calculate(&dynamic_sensor);
	} else {

		// read from sensor data from file if desired
		if (fscanf(fp_sensordata, "%f,%f,%f", &tep_sensor.p, &static_sensor.p, &dynamic_sensor.p) == EOF)
		{
			fprintf(stderr, "End of File reached\n");
			fprintf(stderr, "Exiting ...\n");
			exit(EXIT_SUCCESS);
		}
	}
	// filtering
	//
	// of dynamic pressure
	p_dynamic = (15*p_dynamic + dynamic_sensor.p) / 16;
	//fprintf(stderr, "Pdyn: %f\n",p_dynamic*100);
	// mask speeds < 10km/h
	if (p_dynamic < 0.04)
	{
		p_dynamic = 0.0;
	}

	if (reject==0) {
		if (meas_counter&1) {
			// of static pressure
			p_static = (7*p_static + static_sensor.p) / 8;
		} else {
			// check tep_pressure input value for validity
			if ((tep_sensor.p/100 < 100) || (tep_sensor.p/100 > 1200))
			{
				// tep pressure out of range
				tep_sensor.valid = 0;
			} else {
				// of tep pressure
				struct timespec kalman_cur;

				tep_sensor.valid=1;
				clock_gettime(CLOCK_MONOTONIC, &kalman_cur);
				KalmanFiler1d_update(&vkf, tep_sensor.p/100, 0.25, timespec_delta_s(&kalman_cur, &kalman_prev));
				kalman_prev=kalman_cur;
			}
			if (io_mode.sensordata_to_file) {
				if (tj)
					fprintf(fp_datalog, "%.4f %.4f %f %u %u %u %u %u %u %u %u %d\n",tep_sensor.p,static_sensor.p,dynamic_sensor.p,static_sensor.D1,static_sensor.D1f,tep_sensor.D1,tep_sensor.D1f,static_sensor.D2,static_sensor.D2f,tep_sensor.D2,tep_sensor.D2f,glitch);
				else fprintf(fp_datalog, "%.4f,%.4f,%.4f\n",tep_sensor.p,static_sensor.p,dynamic_sensor.p);
			}
		}
	}
	meas_counter++;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
movl $0x0, -0x14(%rbp)
cmpl $0x1, 0xa0d7(%rip)      # 0xf1a0
jne 0x50dc
movl $0x1, %edi
leaq 0xa321(%rip), %rsi      # 0xf3f8
callq 0x2090
movzbl 0xa2ea(%rip), %eax      # 0xf3cd
cmpl $0x0, %eax
je 0x5113
movl 0xa0b2(%rip), %eax      # 0xf1a0
movl $0x4, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x5113
leaq 0xa2b6(%rip), %rdi      # 0xf3b8
callq 0x3a30
leaq 0xa2aa(%rip), %rdi      # 0xf3b8
callq 0x3af0
cmpb $0x0, 0xa0af(%rip)      # 0xf1c9
jne 0x5700
leaq 0xa149(%rip), %rdi      # 0xf270
callq 0x3640
movss 0x64c8(%rip), %xmm0     # 0xb5fc
callq 0x2440
movss 0x64d3(%rip), %xmm1     # 0xb614
ucomiss %xmm1, %xmm0
jbe 0x515f
movl $0x8, 0xa2b8(%rip)      # 0xf408
movl 0xa29a(%rip), %eax      # 0xf3f0
addl $0x8, %eax
movl %eax, 0xa291(%rip)      # 0xf3f0
movl 0xa03b(%rip), %eax      # 0xf1a0
andl $0x1, %eax
cmpl $0x0, %eax
je 0x5455
movl 0xa279(%rip), %esi      # 0xf3f0
leaq 0xa11a(%rip), %rdi      # 0xf298
callq 0x2da0
leaq 0xa046(%rip), %rdi      # 0xf1d0
callq 0x31b0
leaq 0xa102(%rip), %rdi      # 0xf298
callq 0x2d20
callq 0x2420
leaq 0xa029(%rip), %rdi      # 0xf1d0
callq 0x2ca0
movl 0xa042(%rip), %eax      # 0xf1f4
subl 0xa034(%rip), %eax      # 0xf1ec
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0x5e4d(%rip), %xmm1     # 0xb018
ucomisd %xmm1, %xmm0
jbe 0x51d8
movl $0x1, -0x14(%rbp)
cmpl $0x0, 0xa211(%rip)      # 0xf3f0
jne 0x520d
movl 0xa0dd(%rip), %eax      # 0xf2c4
movl 0xa0d3(%rip), %ecx      # 0xf2c0
addl $0x12c, %ecx            # imm = 0x12C
cmpl %ecx, %eax
jbe 0x520b
movl $0x8, 0xa207(%rip)      # 0xf408
movl $0x8, 0xa1e5(%rip)      # 0xf3f0
jmp 0x520d
cmpl $0x0, 0xa1f4(%rip)      # 0xf408
je 0x52db
movl 0xa1d0(%rip), %eax      # 0xf3f0
cmpl 0xa1e2(%rip), %eax      # 0xf408
jle 0x5240
movl 0xa096(%rip), %eax      # 0xf2c4
subl 0xa08c(%rip), %eax      # 0xf2c0
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
movl %eax, -0x18(%rbp)
jmp 0x5256
movl 0xa082(%rip), %eax      # 0xf2c8
subl 0xa074(%rip), %eax      # 0xf2c0
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl 0xa1ad(%rip), %eax      # 0xf40c
jle 0x526a
movl -0x18(%rbp), %eax
movl %eax, 0xa1a2(%rip)      # 0xf40c
movl 0xa198(%rip), %eax      # 0xf408
addl $-0x1, %eax
movl %eax, 0xa18f(%rip)      # 0xf408
cmpl $0x0, %eax
jne 0x52d9
cmpl $0xf, 0xa187(%rip)      # 0xf40c
jle 0x52cf
cvtsi2sdl 0xa17d(%rip), %xmm0 # 0xf40c
mulsd 0xa0b1(%rip), %xmm0     # 0xf348
callq 0x2160
mulsd 0xa0ac(%rip), %xmm0     # 0xf350
callq 0x2040
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm1
addsd 0xa09f(%rip), %xmm1     # 0xf358
cvtsi2sdl 0xa12f(%rip), %xmm0 # 0xf3f0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0xa121(%rip)      # 0xf3f0
movl $0x0, 0xa133(%rip)      # 0xf40c
jmp 0x52db
cmpl $0x0, 0xa10e(%rip)      # 0xf3f0
je 0x5424
movl 0xa102(%rip), %eax      # 0xf3f0
addl $-0x1, %eax
movl %eax, 0xa0f9(%rip)      # 0xf3f0
cmpl $0x15e, %eax            # imm = 0x15E
jle 0x5308
movl $0x15e, 0xa0e8(%rip)    # imm = 0x15E
movl 0xa102(%rip), %eax      # 0xf410
addl $0x1, %eax
movl %eax, 0xa0f9(%rip)      # 0xf410
cmpl $0x18f, %eax            # imm = 0x18F
jle 0x534a
movl $0x0, 0xa0c8(%rip)      # 0xf3f0
movl $0x0, 0xa0de(%rip)      # 0xf410
movl 0x9f88(%rip), %eax      # 0xf2c0
movl %eax, 0x9f8a(%rip)      # 0xf2c8
movl 0x9eb4(%rip), %eax      # 0xf1f8
movl %eax, 0x9eb6(%rip)      # 0xf200
movl 0x9f78(%rip), %eax      # 0xf2c8
subl 0x9f6a(%rip), %eax      # 0xf2c0
movl %eax, -0x18(%rbp)
cmpl $0x0, 0xa0a8(%rip)      # 0xf408
jne 0x537d
movl -0x18(%rbp), %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
cmpl $0xf, %eax
jge 0x537b
movl $0x0, 0xa075(%rip)      # 0xf3f0
jmp 0x537d
movl -0x18(%rbp), %eax
imull -0x18(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd 0x9eb0(%rip), %xmm2     # 0xf240
cvtsi2sdl -0x18(%rbp), %xmm1
mulsd 0x9eab(%rip), %xmm1     # 0xf248
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x9ea3(%rip), %xmm0     # 0xf250
movsd %xmm0, -0x20(%rbp)
movss 0x9e9e(%rip), %xmm0     # 0xf258
cvtss2sd %xmm0, %xmm0
movsd 0x6222(%rip), %xmm1     # 0xb5e8
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movsd -0x28(%rbp), %xmm0
mulsd -0x28(%rbp), %xmm0
movsd 0x9e47(%rip), %xmm2     # 0xf228
movsd -0x28(%rbp), %xmm1
mulsd 0x9e42(%rip), %xmm1     # 0xf230
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x9e3a(%rip), %xmm0     # 0xf238
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
callq 0x2040
cvttsd2si %xmm0, %eax
addl 0x9dd0(%rip), %eax      # 0xf1ec
movl %eax, 0x9dca(%rip)      # 0xf1ec
jmp 0x5444
imull $0x7, 0x9dc5(%rip), %eax # 0xf1f0
addl 0x9dbb(%rip), %eax      # 0xf1ec
shrl $0x3, %eax
movl %eax, 0x9db6(%rip)      # 0xf1f0
movl $0x0, 0x9fcc(%rip)      # 0xf410
leaq 0x9d85(%rip), %rdi      # 0xf1d0
callq 0x3290
jmp 0x56f2
leaq 0x9e3c(%rip), %rdi      # 0xf298
callq 0x31b0
movl 0x9f89(%rip), %esi      # 0xf3f0
leaq 0x9d62(%rip), %rdi      # 0xf1d0
callq 0x2da0
leaq 0x9e1e(%rip), %rdi      # 0xf298
callq 0x2ca0
callq 0x2420
leaq 0x9d45(%rip), %rdi      # 0xf1d0
callq 0x2d20
movl 0x9e26(%rip), %eax      # 0xf2bc
subl 0x9e18(%rip), %eax      # 0xf2b4
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0x5b69(%rip), %xmm1     # 0xb018
ucomisd %xmm1, %xmm0
jbe 0x54bc
movl $0x1, -0x14(%rbp)
cmpl $0x0, 0x9f2d(%rip)      # 0xf3f0
jne 0x54f1
movl 0x9d31(%rip), %eax      # 0xf1fc
movl 0x9d27(%rip), %ecx      # 0xf1f8
addl $0x12c, %ecx            # imm = 0x12C
cmpl %ecx, %eax
jbe 0x54ef
movl $0x8, 0x9f23(%rip)      # 0xf408
movl $0x8, 0x9f01(%rip)      # 0xf3f0
jmp 0x54f1
cmpl $0x0, 0x9f10(%rip)      # 0xf408
je 0x55bf
movl 0x9eec(%rip), %eax      # 0xf3f0
cmpl 0x9efe(%rip), %eax      # 0xf408
jle 0x5524
movl 0x9cea(%rip), %eax      # 0xf1fc
subl 0x9ce0(%rip), %eax      # 0xf1f8
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
movl %eax, -0x2c(%rbp)
jmp 0x553a
movl 0x9cd6(%rip), %eax      # 0xf200
subl 0x9cc8(%rip), %eax      # 0xf1f8
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x9ec9(%rip), %eax      # 0xf40c
jle 0x554e
movl -0x2c(%rbp), %eax
movl %eax, 0x9ebe(%rip)      # 0xf40c
movl 0x9eb4(%rip), %eax      # 0xf408
addl $-0x1, %eax
movl %eax, 0x9eab(%rip)      # 0xf408
cmpl $0x0, %eax
jne 0x55bd
cmpl $0xf, 0x9ea3(%rip)      # 0xf40c
jle 0x55b3
cvtsi2sdl 0x9e99(%rip), %xmm0 # 0xf40c
mulsd 0x9dcd(%rip), %xmm0     # 0xf348
callq 0x2160
mulsd 0x9dc8(%rip), %xmm0     # 0xf350
callq 0x2040
cvttsd2si %xmm0, %eax
cvtsi2sd %eax, %xmm1
addsd 0x9dbb(%rip), %xmm1     # 0xf358
cvtsi2sdl 0x9e4b(%rip), %xmm0 # 0xf3f0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x9e3d(%rip)      # 0xf3f0
movl $0x0, 0x9e4f(%rip)      # 0xf40c
jmp 0x55bf
cmpl $0x0, 0x9e2a(%rip)      # 0xf3f0
je 0x56c6
movl 0x9e1e(%rip), %eax      # 0xf3f0
addl $-0x1, %eax
movl %eax, 0x9e15(%rip)      # 0xf3f0
cmpl $0x15e, %eax            # imm = 0x15E
jle 0x55ec
movl $0x15e, 0x9e04(%rip)    # imm = 0x15E
movl 0x9c0e(%rip), %eax      # 0xf200
subl 0x9c00(%rip), %eax      # 0xf1f8
movl %eax, -0x2c(%rbp)
cmpl $0x0, 0x9e06(%rip)      # 0xf408
jne 0x561f
movl -0x2c(%rbp), %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
cmpl $0xf, %eax
jge 0x561d
movl $0x0, 0x9dd3(%rip)      # 0xf3f0
jmp 0x561f
movl -0x2c(%rbp), %eax
imull -0x2c(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd 0x9cd6(%rip), %xmm2     # 0xf308
cvtsi2sdl -0x2c(%rbp), %xmm1
mulsd 0x9cd1(%rip), %xmm1     # 0xf310
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x9cc9(%rip), %xmm0     # 0xf318
movsd %xmm0, -0x38(%rbp)
movss 0x9cc4(%rip), %xmm0     # 0xf320
cvtss2sd %xmm0, %xmm0
movsd 0x5f80(%rip), %xmm1     # 0xb5e8
mulsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd 0x9c6d(%rip), %xmm2     # 0xf2f0
movsd -0x40(%rbp), %xmm1
mulsd 0x9c68(%rip), %xmm1     # 0xf2f8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd 0x9c60(%rip), %xmm0     # 0xf300
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x38(%rbp), %xmm0
callq 0x2040
cvttsd2si %xmm0, %eax
addl 0x9bf6(%rip), %eax      # 0xf2b4
movl %eax, 0x9bf0(%rip)      # 0xf2b4
jmp 0x56e6
imull $0x7, 0x9beb(%rip), %eax # 0xf2b8
addl 0x9be1(%rip), %eax      # 0xf2b4
shrl $0x3, %eax
movl %eax, 0x9bdc(%rip)      # 0xf2b8
movl $0x0, 0x9d2a(%rip)      # 0xf410
leaq 0x9bab(%rip), %rdi      # 0xf298
callq 0x3290
leaq 0x9b77(%rip), %rdi      # 0xf270
callq 0x3770
jmp 0x577d
leaq 0x9d21(%rip), %rax      # 0xf428
movq (%rax), %rdi
leaq 0x67a1(%rip), %rsi      # 0xbeb2
leaq 0x9b80(%rip), %rdx      # 0xf298
addq $0x88, %rdx
leaq 0x9aaa(%rip), %rcx      # 0xf1d0
addq $0x88, %rcx
leaq 0x9b3c(%rip), %r8       # 0xf270
addq $0x18, %r8
movb $0x0, %al
callq 0x2060
cmpl $-0x1, %eax
jne 0x577b
movq 0x98ad(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x6766(%rip), %rsi      # 0xbebb
movb $0x0, %al
callq 0x21d0
movq 0x9895(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x6738(%rip), %rsi      # 0xbea5
movb $0x0, %al
callq 0x21d0
xorl %edi, %edi
callq 0x2290
jmp 0x577d
movss 0x9c4f(%rip), %xmm0     # 0xf3d4
movss 0x9afb(%rip), %xmm1     # 0xf288
movss 0x5e87(%rip), %xmm2     # 0xb61c
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss 0x5e73(%rip), %xmm1     # 0xb618
divss %xmm1, %xmm0
movss %xmm0, 0x9c23(%rip)     # 0xf3d4
movss 0x9c1b(%rip), %xmm0     # 0xf3d4
cvtss2sd %xmm0, %xmm1
movsd 0x5e2b(%rip), %xmm0     # 0xb5f0
ucomisd %xmm1, %xmm0
jbe 0x57d6
xorps %xmm0, %xmm0
movss %xmm0, 0x9bfe(%rip)     # 0xf3d4
cmpl $0x0, -0x14(%rbp)
jne 0x59d6
movl 0x99ba(%rip), %eax      # 0xf1a0
andl $0x1, %eax
cmpl $0x0, %eax
je 0x5827
movss 0x9bda(%rip), %xmm0     # 0xf3d0
movss 0x9a5a(%rip), %xmm1     # 0xf258
movss 0x5e22(%rip), %xmm2     # 0xb628
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss 0x5e0e(%rip), %xmm1     # 0xb624
divss %xmm1, %xmm0
movss %xmm0, 0x9bae(%rip)     # 0xf3d0
jmp 0x59d4
movss 0x9af1(%rip), %xmm1     # 0xf320
movss 0x5dd5(%rip), %xmm0     # 0xb60c
divss %xmm0, %xmm1
movss 0x5dc9(%rip), %xmm0     # 0xb60c
ucomiss %xmm1, %xmm0
ja 0x5869
movss 0x9ad0(%rip), %xmm0     # 0xf320
movss 0x5db4(%rip), %xmm1     # 0xb60c
divss %xmm1, %xmm0
movss 0x5dbc(%rip), %xmm1     # 0xb620
ucomiss %xmm1, %xmm0
jbe 0x5875
movl $0x0, 0x9ab9(%rip)      # 0xf32c
jmp 0x58e8
movl $0x1, 0x9aad(%rip)      # 0xf32c
movl $0x1, %edi
leaq -0x50(%rbp), %rsi
callq 0x2090
movss 0x9a8b(%rip), %xmm0     # 0xf320
movss 0x5d6f(%rip), %xmm1     # 0xb60c
divss %xmm1, %xmm0
movss %xmm0, -0x54(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0x9b47(%rip), %rsi      # 0xf3f8
callq 0x6170
movaps %xmm0, %xmm2
movss -0x54(%rbp), %xmm0
leaq 0x9b13(%rip), %rdi      # 0xf3d8
movss 0x5d37(%rip), %xmm1     # 0xb604
callq 0x66b0
movq -0x50(%rbp), %rax
movq %rax, 0x9b1b(%rip)      # 0xf3f8
movq -0x48(%rbp), %rax
movq %rax, 0x9b18(%rip)      # 0xf400
cmpb $0x0, 0x98d9(%rip)      # 0xf1c8
je 0x59d2
leaq 0x9b27(%rip), %rax      # 0xf423
testb $0x1, (%rax)
je 0x5994
leaq 0x9b24(%rip), %rax      # 0xf430
movq (%rax), %rdi
movss 0x9a09(%rip), %xmm0     # 0xf320
cvtss2sd %xmm0, %xmm0
movss 0x9935(%rip), %xmm1     # 0xf258
cvtss2sd %xmm1, %xmm1
movss 0x9959(%rip), %xmm2     # 0xf288
cvtss2sd %xmm2, %xmm2
movl 0x98b3(%rip), %edx      # 0xf1ec
movl 0x98b1(%rip), %ecx      # 0xf1f0
movl 0x996e(%rip), %r8d      # 0xf2b4
movl 0x996b(%rip), %r9d      # 0xf2b8
movl 0x98a4(%rip), %r14d     # 0xf1f8
movl 0x98a6(%rip), %ebx      # 0xf200
movl 0x995f(%rip), %r11d     # 0xf2c0
movl 0x9960(%rip), %r10d     # 0xf2c8
movl 0x9a82(%rip), %eax      # 0xf3f0
leaq 0x655b(%rip), %rsi      # 0xbed0
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
movb $0x3, %al
callq 0x21d0
jmp 0x59d0
leaq 0x9a95(%rip), %rax      # 0xf430
movq (%rax), %rdi
movss 0x997a(%rip), %xmm0     # 0xf320
cvtss2sd %xmm0, %xmm0
movss 0x98a6(%rip), %xmm1     # 0xf258
cvtss2sd %xmm1, %xmm1
movss 0x98ca(%rip), %xmm2     # 0xf288
cvtss2sd %xmm2, %xmm2
leaq 0x6530(%rip), %rsi      # 0xbef9
movb $0x3, %al
callq 0x21d0
jmp 0x59d2
jmp 0x59d4
jmp 0x59d6
movl 0x97c4(%rip), %eax      # 0xf1a0
addl $0x1, %eax
movl %eax, 0x97bb(%rip)      # 0xf1a0
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nop