	.file	"extr_bttv-driver.c_bt848_sat.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	bt848_sat, @function
bt848_sat:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	eax, esi
	push	rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	sub	rsp, 8
	.cfi_def_cfa_offset 32
	mov	ecx, DWORD PTR 4[rdi]
	mov	DWORD PTR [rdi], esi
	mov	edx, ecx
	imul	edx, esi
	mov	esi, 100
	sub	esi, ecx
	imul	esi, eax
	movsx	rdi, edx
	sar	edx, 31
	imul	rdi, rdi, 1374389535
	movsx	rcx, esi
	sar	esi, 31
	imul	rcx, rcx, 1374389535
	sar	rdi, 36
	sub	edi, edx
	movabs	rdx, 4647998506761461825
	sar	rcx, 36
	mov	ebp, edi
	sar	edi, 7
	sub	ecx, esi
	sar	ebp, 14
	mov	esi, DWORD PTR BT848_SAT_U_LO[rip]
	movzx	edi, dil
	sar	ecx, 7
	movsx	rcx, ecx
	imul	rcx, rcx, 180
	mov	rax, rcx
	sar	rcx, 63
	imul	rdx
	mov	eax, ebp
	and	eax, 2
	sar	rdx, 6
	mov	rbx, rdx
	sub	rbx, rcx
	mov	ebp, ebx
	sar	ebp, 8
	and	ebp, 1
	or	ebp, eax
	call	btwrite@PLT
	mov	esi, DWORD PTR BT848_SAT_V_LO[rip]
	movzx	edi, bl
	call	btwrite@PLT
	mov	edx, DWORD PTR BT848_E_CONTROL[rip]
	mov	edi, ebp
	mov	esi, -4
	call	btaor@PLT
	mov	edx, DWORD PTR BT848_O_CONTROL[rip]
	add	rsp, 8
	.cfi_def_cfa_offset 24
	mov	edi, ebp
	pop	rbx
	.cfi_def_cfa_offset 16
	mov	esi, -4
	pop	rbp
	.cfi_def_cfa_offset 8
	jmp	btaor@PLT
	.cfi_endproc
.LFE0:
	.size	bt848_sat, .-bt848_sat
	.comm	BT848_SAT_V_LO,4,4
	.comm	BT848_SAT_U_LO,4,4
	.comm	BT848_O_CONTROL,4,4
	.comm	BT848_E_CONTROL,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_bttv-driver.c_bt848_sat.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bt848_sat, %function
bt848_sat:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	ip, [r0, #4]
	push	{r4, r5, r6, lr}
	rsb	r2, ip, #100
	mul	r2, r1, r2
	ldr	lr, .L4
	mul	ip, r1, ip
	smull	r3, r4, lr, r2
	asr	r3, r2, #31
	rsb	r3, r3, r4, asr #4
	asr	r3, r3, #7
	add	r3, r3, r3, lsl #1
	ldr	r4, .L4+4
	rsb	r3, r3, r3, lsl #4
	lsl	r3, r3, #2
	smull	r2, lr, ip, lr
	smull	r2, r4, r3, r4
	asr	r2, ip, #31
	rsb	r2, r2, lr, asr #4
	ldr	ip, .L4+8
	add	r4, r4, r3
	asr	r3, r3, #31
	rsb	r4, r3, r4, asr #7
	asr	r5, r2, #14
	asr	r2, r2, #7
	lsl	r3, r4, #23
	str	r1, [r0]
	and	r5, r5, #2
	ldr	r1, [ip]
	and	r0, r2, #255
	orr	r5, r5, r3, lsr #31
	bl	btwrite
	ldr	r3, .L4+12
	and	r0, r4, #255
	ldr	r1, [r3]
	bl	btwrite
	ldr	r3, .L4+16
	mov	r0, r5
	ldr	r2, [r3]
	mvn	r1, #3
	bl	btaor
	ldr	r3, .L4+20
	mov	r0, r5
	pop	{r4, r5, r6, lr}
	mvn	r1, #3
	ldr	r2, [r3]
	b	btaor
.L5:
	.align	2
.L4:
	.word	1374389535
	.word	-2130574327
	.word	BT848_SAT_U_LO
	.word	BT848_SAT_V_LO
	.word	BT848_E_CONTROL
	.word	BT848_O_CONTROL
	.size	bt848_sat, .-bt848_sat
	.comm	BT848_SAT_V_LO,4,4
	.comm	BT848_SAT_U_LO,4,4
	.comm	BT848_O_CONTROL,4,4
	.comm	BT848_E_CONTROL,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
