	.file	"extr_preview.c_do_preview_scaling.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	do_preview_scaling
	.type	do_preview_scaling, @function
do_preview_scaling:
.LFB0:
	.cfi_startproc
	endbr64
	test	rsi, rsi
	je	.L10
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	mov	r13, rdi
	mov	rdi, rsi
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	rbp, rsi
	call	gdk_pixbuf_get_width@PLT
	mov	rdi, rbp
	mov	r12d, eax
	call	gdk_pixbuf_get_height@PLT
	mov	edx, eax
	mov	rax, QWORD PTR 0[r13]
	mov	esi, DWORD PTR [rax]
	test	esi, esi
	jle	.L3
	mov	r8d, DWORD PTR 4[rax]
	test	r8d, r8d
	jle	.L3
	cmp	esi, r12d
	jne	.L12
	cmp	r8d, edx
	je	.L5
.L12:
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	pxor	xmm2, xmm2
	cvtsi2sd	xmm1, esi
	cvtsi2sd	xmm0, r12d
	cvtsi2sd	xmm2, r8d
	movapd	xmm3, xmm1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, edx
	divsd	xmm3, xmm0
	divsd	xmm2, xmm1
	comisd	xmm2, xmm3
	jb	.L14
	mulsd	xmm1, xmm3
	mov	edx, r8d
	cvttsd2si	eax, xmm1
	sub	edx, eax
	sub	edx, 1
	cmp	edx, 16
	cmovnb	r8d, eax
.L9:
	mov	ecx, DWORD PTR GDK_INTERP_BILINEAR[rip]
	mov	rdi, rbp
	mov	edx, r8d
	pop	rbp
	.cfi_remember_state
	.cfi_restore 6
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_restore 12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_restore 13
	.cfi_def_cfa_offset 8
	jmp	gdk_pixbuf_scale_simple@PLT
	.p2align 4,,10
	.p2align 3
.L3:
	.cfi_restore_state
	mov	esi, r12d
	mov	rdi, r13
	call	preview_set_render_size@PLT
	mov	rdi, rbp
	call	g_object_ref@PLT
	mov	rax, rbp
.L1:
	pop	rbp
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L14:
	.cfi_restore_state
	mulsd	xmm0, xmm2
	mov	edx, esi
	cvttsd2si	eax, xmm0
	sub	edx, eax
	sub	edx, 1
	cmp	edx, 16
	cmovnb	esi, eax
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L10:
	.cfi_def_cfa_offset 8
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	xor	eax, eax
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	.cfi_offset 12, -24
	.cfi_offset 13, -16
	mov	rdi, rbp
	call	g_object_ref@PLT
	mov	rax, rbp
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	do_preview_scaling, .-do_preview_scaling
	.comm	GDK_INTERP_BILINEAR,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_preview.c_do_preview_scaling.c"
	.text
	.global	__aeabi_i2d
	.global	__aeabi_ddiv
	.global	__aeabi_dcmple
	.global	__aeabi_dmul
	.global	__aeabi_d2iz
	.align	2
	.global	do_preview_scaling
	.syntax unified
	.arm
	.fpu softvfp
	.type	do_preview_scaling, %function
do_preview_scaling:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	subs	r4, r1, #0
	sub	sp, sp, #16
	beq	.L1
	mov	r6, r0
	mov	r0, r4
	bl	gdk_pixbuf_get_width
	mov	r8, r0
	mov	r0, r4
	bl	gdk_pixbuf_get_height
	ldr	r3, [r6]
	mov	r7, r0
	ldr	r5, [r3]
	cmp	r5, #0
	ble	.L3
	ldr	r10, [r3, #4]
	cmp	r10, #0
	ble	.L3
	cmp	r10, r0
	cmpeq	r5, r8
	beq	.L5
	mov	r0, r8
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r9, r1
	mov	r8, r2
	mov	r0, r5
	stm	sp, {r8-r9}
	bl	__aeabi_i2d
	mov	r3, r9
	mov	r2, r8
	bl	__aeabi_ddiv
	mov	r8, r0
	mov	r0, r7
	mov	r9, r1
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r7, r1
	mov	r6, r2
	mov	r0, r10
	bl	__aeabi_i2d
	mov	r2, r6
	mov	r3, r7
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	bl	__aeabi_ddiv
	mov	r6, r0
	mov	r7, r1
	mov	r0, r8
	mov	r1, r9
	mov	r2, r6
	mov	r3, r7
	bl	__aeabi_dcmple
	cmp	r0, #0
	beq	.L13
	add	r1, sp, #8
	ldmia	r1, {r0-r1}
	mov	r3, r9
	mov	r2, r8
	bl	__aeabi_dmul
	bl	__aeabi_d2iz
	sub	r3, r10, r0
	sub	r3, r3, #1
	cmp	r3, #15
	movhi	r10, r0
.L8:
	mov	r2, r10
	mov	r1, r5
	mov	r0, r4
	ldr	r3, .L16
	ldr	r3, [r3]
	add	sp, sp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, lr}
	b	gdk_pixbuf_scale_simple
.L5:
	mov	r0, r4
	bl	g_object_ref
.L1:
	mov	r0, r4
	add	sp, sp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L3:
	mov	r2, r7
	mov	r1, r8
	mov	r0, r6
	bl	preview_set_render_size
	mov	r0, r4
	bl	g_object_ref
	mov	r0, r4
	add	sp, sp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L13:
	mov	r3, r7
	ldmia	sp, {r0-r1}
	mov	r2, r6
	bl	__aeabi_dmul
	bl	__aeabi_d2iz
	sub	r3, r5, r0
	sub	r3, r3, #1
	cmp	r3, #15
	movhi	r5, r0
	b	.L8
.L17:
	.align	2
.L16:
	.word	GDK_INTERP_BILINEAR
	.size	do_preview_scaling, .-do_preview_scaling
	.comm	GDK_INTERP_BILINEAR,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
