	.file	"extr_mzpokeysnd.c_advance_polies.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	advance_polies, @function
advance_polies:
.LFB0:
	.cfi_startproc
	endbr64
	mov	edx, DWORD PTR [rdi]
	add	edx, esi
	movsx	rax, edx
	mov	ecx, edx
	imul	rax, rax, -2004318071
	sar	ecx, 31
	shr	rax, 32
	add	eax, edx
	sar	eax, 3
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	sub	edx, ecx
	mov	DWORD PTR [rdi], edx
	mov	edx, DWORD PTR 4[rdi]
	add	edx, esi
	movsx	rax, edx
	mov	ecx, edx
	imul	rax, rax, -2078209981
	sar	ecx, 31
	shr	rax, 32
	add	eax, edx
	sar	eax, 4
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 5
	sub	ecx, eax
	sub	edx, ecx
	mov	DWORD PTR 4[rdi], edx
	mov	edx, DWORD PTR 8[rdi]
	add	edx, esi
	add	esi, DWORD PTR 12[rdi]
	movsx	rax, edx
	mov	ecx, edx
	imul	rax, rax, -2147467263
	sar	ecx, 31
	shr	rax, 32
	add	eax, edx
	sar	eax, 16
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 17
	sub	ecx, eax
	movsx	rax, esi
	imul	rax, rax, -2143281135
	sub	edx, ecx
	mov	DWORD PTR 8[rdi], edx
	mov	edx, esi
	shr	rax, 32
	sar	edx, 31
	add	eax, esi
	sar	eax, 8
	sub	eax, edx
	mov	edx, eax
	sal	edx, 9
	sub	edx, eax
	sub	esi, edx
	mov	DWORD PTR 12[rdi], esi
	ret
	.cfi_endproc
.LFE0:
	.size	advance_polies, .-advance_polies
	.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_mzpokeysnd.c_advance_polies.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	advance_polies, %function
advance_polies:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	ip, [r0]
	push	{r4, r5, r6, r7, r8, r9, lr}
	ldr	r6, .L4
	add	ip, r1, ip
	ldr	r2, [r0, #4]
	smull	r4, r6, ip, r6
	ldr	lr, [r0, #12]
	ldr	r3, [r0, #8]
	ldr	r4, .L4+4
	add	r2, r1, r2
	add	r3, r1, r3
	add	r1, r1, lr
	smull	lr, r4, r2, r4
	ldr	lr, .L4+8
	add	r8, r4, r2
	smull	r5, lr, r3, lr
	ldr	r5, .L4+12
	add	r9, r6, ip
	smull	r4, r5, r1, r5
	asr	r6, ip, #31
	rsb	r6, r6, r9, asr #3
	rsb	r6, r6, r6, lsl #4
	sub	ip, ip, r6
	add	r7, lr, r3
	add	r5, r5, r1
	asr	r4, r2, #31
	asr	lr, r3, #31
	str	ip, [r0]
	asr	ip, r1, #31
	rsb	r4, r4, r8, asr #4
	rsb	lr, lr, r7, asr #16
	rsb	ip, ip, r5, asr #8
	rsb	r4, r4, r4, lsl #5
	rsb	lr, lr, lr, lsl #17
	rsb	ip, ip, ip, lsl #9
	sub	r2, r2, r4
	sub	r3, r3, lr
	sub	r1, r1, ip
	stmib	r0, {r2, r3}
	str	r1, [r0, #12]
	pop	{r4, r5, r6, r7, r8, r9, pc}
.L5:
	.align	2
.L4:
	.word	-2004318071
	.word	-2078209981
	.word	-2147467263
	.word	-2143281135
	.size	advance_polies, .-advance_polies
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
