	.file	"464609.c"
	.intel_syntax noprefix
	.text
	.type	rol, @function
rol:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR -12[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	ecx, eax
	rol	rdx, cl
	mov	rax, rdx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	rol, .-rol
	.section	.rodata
	.align 32
	.type	round_constants, @object
	.size	round_constants, 192
round_constants:
	.quad	1
	.quad	32898
	.quad	-9223372036854742902
	.quad	-9223372034707259392
	.quad	32907
	.quad	2147483649
	.quad	-9223372034707259263
	.quad	-9223372036854743031
	.quad	138
	.quad	136
	.quad	2147516425
	.quad	2147483658
	.quad	2147516555
	.quad	-9223372036854775669
	.quad	-9223372036854742903
	.quad	-9223372036854743037
	.quad	-9223372036854743038
	.quad	-9223372036854775680
	.quad	32778
	.quad	-9223372034707292150
	.quad	-9223372034707259263
	.quad	-9223372036854742912
	.quad	2147483649
	.quad	-9223372034707259384
	.text
	.globl	ethash_keccakf1600
	.type	ethash_keccakf1600, @function
ethash_keccakf1600:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 504
	mov	QWORD PTR -504[rbp], rdi
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -480[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -472[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -464[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -448[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -432[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -424[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	QWORD PTR -416[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -408[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	QWORD PTR -400[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -392[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR -384[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 104[rax]
	mov	QWORD PTR -376[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 112[rax]
	mov	QWORD PTR -368[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 120[rax]
	mov	QWORD PTR -360[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 128[rax]
	mov	QWORD PTR -352[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 136[rax]
	mov	QWORD PTR -344[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 144[rax]
	mov	QWORD PTR -336[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 152[rax]
	mov	QWORD PTR -328[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 160[rax]
	mov	QWORD PTR -320[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 168[rax]
	mov	QWORD PTR -312[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -296[rbp], rax
	mov	rax, QWORD PTR -504[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	QWORD PTR -288[rbp], rax
	mov	DWORD PTR -484[rbp], 0
	jmp	.L4
.L5:
	mov	rax, QWORD PTR -480[rbp]
	xor	rax, QWORD PTR -440[rbp]
	xor	rax, QWORD PTR -400[rbp]
	xor	rax, QWORD PTR -360[rbp]
	xor	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -472[rbp]
	xor	rax, QWORD PTR -432[rbp]
	xor	rax, QWORD PTR -392[rbp]
	xor	rax, QWORD PTR -352[rbp]
	xor	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -464[rbp]
	xor	rax, QWORD PTR -424[rbp]
	xor	rax, QWORD PTR -384[rbp]
	xor	rax, QWORD PTR -344[rbp]
	xor	rax, QWORD PTR -304[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, QWORD PTR -416[rbp]
	xor	rax, QWORD PTR -376[rbp]
	xor	rax, QWORD PTR -336[rbp]
	xor	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -448[rbp]
	xor	rax, QWORD PTR -408[rbp]
	xor	rax, QWORD PTR -368[rbp]
	xor	rax, QWORD PTR -328[rbp]
	xor	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -480[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -432[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -384[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 43
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -336[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 21
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -288[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 14
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	rcx, rax
	mov	eax, DWORD PTR -484[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, round_constants[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rax, rcx
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -456[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 28
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -408[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 20
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -400[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -352[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 45
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -304[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -472[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -424[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -376[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 25
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 18
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -448[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 27
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -440[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 36
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -392[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -344[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 15
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 56
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -464[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 62
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -416[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 55
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -368[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 39
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -360[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 41
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, QWORD PTR -160[rbp]
	xor	rax, QWORD PTR -120[rbp]
	xor	rax, QWORD PTR -80[rbp]
	xor	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	xor	rax, QWORD PTR -152[rbp]
	xor	rax, QWORD PTR -112[rbp]
	xor	rax, QWORD PTR -72[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	xor	rax, QWORD PTR -144[rbp]
	xor	rax, QWORD PTR -104[rbp]
	xor	rax, QWORD PTR -64[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	xor	rax, QWORD PTR -136[rbp]
	xor	rax, QWORD PTR -96[rbp]
	xor	rax, QWORD PTR -56[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	xor	rax, QWORD PTR -128[rbp]
	xor	rax, QWORD PTR -88[rbp]
	xor	rax, QWORD PTR -48[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 44
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 43
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 21
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 14
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	rcx, rax
	mov	eax, DWORD PTR -484[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, round_constants[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rax, rcx
	mov	QWORD PTR -480[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -472[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -464[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -456[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -448[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 28
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 20
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 45
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 61
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -440[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -432[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -424[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -416[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -408[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 25
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 18
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -400[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -392[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -384[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -376[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -368[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 27
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 36
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 15
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 56
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -360[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -352[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -344[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -336[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -328[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	xor	rax, QWORD PTR -224[rbp]
	mov	esi, 62
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	xor	rax, QWORD PTR -216[rbp]
	mov	esi, 55
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	xor	rax, QWORD PTR -208[rbp]
	mov	esi, 39
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	xor	rax, QWORD PTR -240[rbp]
	mov	esi, 41
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -232[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	rol
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	not	rax
	and	rax, QWORD PTR -264[rbp]
	xor	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -320[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	not	rax
	and	rax, QWORD PTR -256[rbp]
	xor	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -312[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	not	rax
	and	rax, QWORD PTR -248[rbp]
	xor	rax, QWORD PTR -264[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	not	rax
	and	rax, QWORD PTR -280[rbp]
	xor	rax, QWORD PTR -256[rbp]
	mov	QWORD PTR -296[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	not	rax
	and	rax, QWORD PTR -272[rbp]
	xor	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -288[rbp], rax
	add	DWORD PTR -484[rbp], 2
.L4:
	cmp	DWORD PTR -484[rbp], 23
	jle	.L5
	mov	rax, QWORD PTR -504[rbp]
	mov	rdx, QWORD PTR -480[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -472[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -464[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -456[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -448[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 40[rax]
	mov	rax, QWORD PTR -440[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -432[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 56[rax]
	mov	rax, QWORD PTR -424[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 64[rax]
	mov	rax, QWORD PTR -416[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 72[rax]
	mov	rax, QWORD PTR -408[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 80[rax]
	mov	rax, QWORD PTR -400[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 88[rax]
	mov	rax, QWORD PTR -392[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 96[rax]
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 112[rax]
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 120[rax]
	mov	rax, QWORD PTR -360[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 128[rax]
	mov	rax, QWORD PTR -352[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 136[rax]
	mov	rax, QWORD PTR -344[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 144[rax]
	mov	rax, QWORD PTR -336[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 152[rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 160[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 168[rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 176[rax]
	mov	rax, QWORD PTR -304[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 184[rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -504[rbp]
	lea	rdx, 192[rax]
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR [rdx], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	ethash_keccakf1600, .-ethash_keccakf1600
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"464609.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	rol, %function
rol:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #20
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	str	r2, [fp, #-40]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-40]
	sub	ip, r1, #32
	rsb	r0, r1, #32
	lsl	r7, r3, r1
	orr	r7, r7, r2, lsl ip
	orr	r7, r7, r2, lsr r0
	lsl	r6, r2, r1
	ldr	r1, [fp, #-40]
	rsb	r1, r1, #0
	and	r1, r1, #63
	rsb	ip, r1, #32
	sub	r0, r1, #32
	lsr	r4, r2, r1
	orr	r4, r4, r3, lsl ip
	orr	r4, r4, r3, lsr r0
	lsr	r5, r3, r1
	orr	r8, r6, r4
	orr	r9, r7, r5
	mov	r4, r8
	mov	r5, r9
	mov	r2, r4
	mov	r3, r5
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
	.size	rol, .-rol
	.section	.rodata
	.align	3
	.type	round_constants, %object
	.size	round_constants, 192
round_constants:
	.word	1
	.word	0
	.word	32898
	.word	0
	.word	32906
	.word	-2147483648
	.word	-2147450880
	.word	-2147483648
	.word	32907
	.word	0
	.word	-2147483647
	.word	0
	.word	-2147450751
	.word	-2147483648
	.word	32777
	.word	-2147483648
	.word	138
	.word	0
	.word	136
	.word	0
	.word	-2147450871
	.word	0
	.word	-2147483638
	.word	0
	.word	-2147450741
	.word	0
	.word	139
	.word	-2147483648
	.word	32905
	.word	-2147483648
	.word	32771
	.word	-2147483648
	.word	32770
	.word	-2147483648
	.word	128
	.word	-2147483648
	.word	32778
	.word	0
	.word	-2147483638
	.word	-2147483648
	.word	-2147450751
	.word	-2147483648
	.word	32896
	.word	-2147483648
	.word	-2147483647
	.word	0
	.word	-2147450872
	.word	-2147483648
	.text
	.align	2
	.global	ethash_keccakf1600
	.syntax unified
	.arm
	.fpu softvfp
	.type	ethash_keccakf1600, %function
ethash_keccakf1600:
	@ args = 0, pretend = 0, frame = 2488
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #2480
	sub	sp, sp, #8
	str	r0, [fp, #-520]
	ldr	r3, [fp, #-520]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	ldr	r3, [fp, #-520]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	ldr	r3, [fp, #-520]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	ldr	r3, [fp, #-520]
	add	r3, r3, #24
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	ldr	r3, [fp, #-520]
	add	r3, r3, #32
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	ldr	r3, [fp, #-520]
	add	r3, r3, #40
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	ldr	r3, [fp, #-520]
	add	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-460]
	str	r3, [fp, #-456]
	ldr	r3, [fp, #-520]
	add	r3, r3, #56
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-452]
	str	r3, [fp, #-448]
	ldr	r3, [fp, #-520]
	add	r3, r3, #64
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-444]
	str	r3, [fp, #-440]
	ldr	r3, [fp, #-520]
	add	r3, r3, #72
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-436]
	str	r3, [fp, #-432]
	ldr	r3, [fp, #-520]
	add	r3, r3, #80
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	ldr	r3, [fp, #-520]
	add	r3, r3, #88
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	ldr	r3, [fp, #-520]
	add	r3, r3, #96
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-412]
	str	r3, [fp, #-408]
	ldr	r3, [fp, #-520]
	add	r3, r3, #104
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-520]
	add	r3, r3, #112
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	ldr	r3, [fp, #-520]
	add	r3, r3, #120
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-388]
	str	r3, [fp, #-384]
	ldr	r3, [fp, #-520]
	add	r3, r3, #128
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	ldr	r3, [fp, #-520]
	add	r3, r3, #136
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-372]
	str	r3, [fp, #-368]
	ldr	r3, [fp, #-520]
	add	r3, r3, #144
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-364]
	str	r3, [fp, #-360]
	ldr	r3, [fp, #-520]
	add	r3, r3, #152
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	ldr	r3, [fp, #-520]
	add	r3, r3, #160
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	ldr	r3, [fp, #-520]
	add	r3, r3, #168
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	ldr	r3, [fp, #-520]
	add	r3, r3, #176
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	ldr	r3, [fp, #-520]
	add	r3, r3, #184
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-324]
	str	r3, [fp, #-320]
	ldr	r3, [fp, #-520]
	add	r3, r3, #192
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-316]
	str	r3, [fp, #-312]
	mov	r3, #0
	str	r3, [fp, #-512]
	b	.L4
.L5:
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-532]
	eor	r3, r1, r3
	str	r3, [fp, #-528]
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	sub	r1, fp, #532
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-540]
	eor	r3, r1, r3
	str	r3, [fp, #-536]
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	sub	r1, fp, #540
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-548]
	eor	r3, r1, r3
	str	r3, [fp, #-544]
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	sub	r1, fp, #548
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-1948]
	eor	r3, r3, r1
	str	r3, [fp, #-1944]
	ldr	r2, [fp, #-1948]
	ldr	r3, [fp, #-1944]
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	sub	r3, fp, #460
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-556]
	eor	r3, r1, r3
	str	r3, [fp, #-552]
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	sub	r1, fp, #556
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-564]
	eor	r3, r1, r3
	str	r3, [fp, #-560]
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	sub	r1, fp, #564
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-572]
	eor	r3, r1, r3
	str	r3, [fp, #-568]
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	sub	r1, fp, #572
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-1956]
	eor	r3, r3, r1
	str	r3, [fp, #-1952]
	ldr	r2, [fp, #-1956]
	ldr	r3, [fp, #-1952]
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-580]
	eor	r3, r1, r3
	str	r3, [fp, #-576]
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	sub	r1, fp, #580
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-588]
	eor	r3, r1, r3
	str	r3, [fp, #-584]
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	sub	r1, fp, #588
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-596]
	eor	r3, r1, r3
	str	r3, [fp, #-592]
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	sub	r1, fp, #596
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-1964]
	eor	r3, r3, r1
	str	r3, [fp, #-1960]
	ldr	r2, [fp, #-1964]
	ldr	r3, [fp, #-1960]
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r1, fp, #484
	ldmia	r1, {r0-r1}
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-604]
	eor	r3, r1, r3
	str	r3, [fp, #-600]
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	sub	r1, fp, #604
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-612]
	eor	r3, r1, r3
	str	r3, [fp, #-608]
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	sub	r1, fp, #612
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-620]
	eor	r3, r1, r3
	str	r3, [fp, #-616]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	sub	r1, fp, #620
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-1972]
	eor	r3, r3, r1
	str	r3, [fp, #-1968]
	ldr	r2, [fp, #-1972]
	ldr	r3, [fp, #-1968]
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-628]
	eor	r3, r1, r3
	str	r3, [fp, #-624]
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	sub	r1, fp, #628
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-636]
	eor	r3, r1, r3
	str	r3, [fp, #-632]
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	sub	r1, fp, #636
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-644]
	eor	r3, r1, r3
	str	r3, [fp, #-640]
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	sub	r1, fp, #644
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-1980]
	eor	r3, r3, r1
	str	r3, [fp, #-1976]
	ldr	r2, [fp, #-1980]
	ldr	r3, [fp, #-1976]
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	mov	r2, #1
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-1988]
	eor	r3, r3, r1
	str	r3, [fp, #-1984]
	ldr	r2, [fp, #-1988]
	ldr	r3, [fp, #-1984]
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	mov	r2, #1
	sub	r1, fp, #292
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-1996]
	eor	r3, r3, r1
	str	r3, [fp, #-1992]
	ldr	r2, [fp, #-1996]
	ldr	r3, [fp, #-1992]
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	mov	r2, #1
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2004]
	eor	r3, r3, r1
	str	r3, [fp, #-2000]
	ldr	r2, [fp, #-2004]
	ldr	r3, [fp, #-2000]
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	mov	r2, #1
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2012]
	eor	r3, r3, r1
	str	r3, [fp, #-2008]
	ldr	r2, [fp, #-2012]
	ldr	r3, [fp, #-2008]
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	mov	r2, #1
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2020]
	eor	r3, r3, r1
	str	r3, [fp, #-2016]
	ldr	r2, [fp, #-2020]
	ldr	r3, [fp, #-2016]
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	sub	r1, fp, #508
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-2028]
	eor	r3, r1, r3
	str	r3, [fp, #-2024]
	ldr	r2, [fp, #-2028]
	ldr	r3, [fp, #-2024]
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	sub	r1, fp, #460
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-652]
	eor	r3, r1, r3
	str	r3, [fp, #-648]
	mov	r2, #44
	sub	r1, fp, #652
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #412
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-660]
	eor	r3, r1, r3
	str	r3, [fp, #-656]
	mov	r2, #43
	sub	r1, fp, #660
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #364
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-668]
	eor	r3, r1, r3
	str	r3, [fp, #-664]
	mov	r2, #21
	sub	r1, fp, #668
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #316
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-676]
	eor	r3, r1, r3
	str	r3, [fp, #-672]
	mov	r2, #14
	sub	r1, fp, #676
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-684]
	mvn	r3, r3
	str	r3, [fp, #-680]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #684
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-692]
	and	r3, r1, r3
	str	r3, [fp, #-688]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	sub	r1, fp, #692
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-700]
	eor	r3, r1, r3
	str	r3, [fp, #-696]
	ldr	r2, .L6
	ldr	r3, [fp, #-512]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #700
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-2036]
	eor	r3, r1, r3
	str	r3, [fp, #-2032]
	ldr	r2, [fp, #-2036]
	ldr	r3, [fp, #-2032]
	str	r2, [fp, #-228]
	str	r3, [fp, #-224]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-708]
	mvn	r3, r3
	str	r3, [fp, #-704]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	sub	r1, fp, #708
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-716]
	and	r3, r1, r3
	str	r3, [fp, #-712]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #716
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2044]
	eor	r3, r3, r1
	str	r3, [fp, #-2040]
	ldr	r2, [fp, #-2044]
	ldr	r3, [fp, #-2040]
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-724]
	mvn	r3, r3
	str	r3, [fp, #-720]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #724
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-732]
	and	r3, r1, r3
	str	r3, [fp, #-728]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #732
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2052]
	eor	r3, r3, r1
	str	r3, [fp, #-2048]
	ldr	r2, [fp, #-2052]
	ldr	r3, [fp, #-2048]
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-740]
	mvn	r3, r3
	str	r3, [fp, #-736]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	sub	r1, fp, #740
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-748]
	and	r3, r1, r3
	str	r3, [fp, #-744]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	sub	r1, fp, #748
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2060]
	eor	r3, r3, r1
	str	r3, [fp, #-2056]
	ldr	r2, [fp, #-2060]
	ldr	r3, [fp, #-2056]
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-756]
	mvn	r3, r3
	str	r3, [fp, #-752]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #756
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-764]
	and	r3, r1, r3
	str	r3, [fp, #-760]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #764
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2068]
	eor	r3, r3, r1
	str	r3, [fp, #-2064]
	ldr	r2, [fp, #-2068]
	ldr	r3, [fp, #-2064]
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r1, fp, #484
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-772]
	eor	r3, r1, r3
	str	r3, [fp, #-768]
	mov	r2, #28
	sub	r1, fp, #772
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #436
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-780]
	eor	r3, r1, r3
	str	r3, [fp, #-776]
	mov	r2, #20
	sub	r1, fp, #780
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #428
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-788]
	eor	r3, r1, r3
	str	r3, [fp, #-784]
	mov	r2, #3
	sub	r1, fp, #788
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #380
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-796]
	eor	r3, r1, r3
	str	r3, [fp, #-792]
	mov	r2, #45
	sub	r1, fp, #796
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #332
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-804]
	eor	r3, r1, r3
	str	r3, [fp, #-800]
	mov	r2, #61
	sub	r1, fp, #804
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-812]
	mvn	r3, r3
	str	r3, [fp, #-808]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #812
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-820]
	and	r3, r1, r3
	str	r3, [fp, #-816]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	sub	r1, fp, #820
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2076]
	eor	r3, r3, r1
	str	r3, [fp, #-2072]
	ldr	r2, [fp, #-2076]
	ldr	r3, [fp, #-2072]
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-828]
	mvn	r3, r3
	str	r3, [fp, #-824]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	sub	r1, fp, #828
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-836]
	and	r3, r1, r3
	str	r3, [fp, #-832]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #836
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2084]
	eor	r3, r3, r1
	str	r3, [fp, #-2080]
	ldr	r2, [fp, #-2084]
	ldr	r3, [fp, #-2080]
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-844]
	mvn	r3, r3
	str	r3, [fp, #-840]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #844
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-852]
	and	r3, r1, r3
	str	r3, [fp, #-848]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #852
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2092]
	eor	r3, r3, r1
	str	r3, [fp, #-2088]
	ldr	r2, [fp, #-2092]
	ldr	r3, [fp, #-2088]
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-860]
	mvn	r3, r3
	str	r3, [fp, #-856]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	sub	r1, fp, #860
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-868]
	and	r3, r1, r3
	str	r3, [fp, #-864]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	sub	r1, fp, #868
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2100]
	eor	r3, r3, r1
	str	r3, [fp, #-2096]
	ldr	r2, [fp, #-2100]
	ldr	r3, [fp, #-2096]
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-876]
	mvn	r3, r3
	str	r3, [fp, #-872]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #876
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-884]
	and	r3, r1, r3
	str	r3, [fp, #-880]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #884
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2108]
	eor	r3, r3, r1
	str	r3, [fp, #-2104]
	ldr	r2, [fp, #-2108]
	ldr	r3, [fp, #-2104]
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	sub	r1, fp, #500
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-892]
	eor	r3, r1, r3
	str	r3, [fp, #-888]
	mov	r2, #1
	sub	r1, fp, #892
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #452
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-900]
	eor	r3, r1, r3
	str	r3, [fp, #-896]
	mov	r2, #6
	sub	r1, fp, #900
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #404
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-908]
	eor	r3, r1, r3
	str	r3, [fp, #-904]
	mov	r2, #25
	sub	r1, fp, #908
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #356
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-916]
	eor	r3, r1, r3
	str	r3, [fp, #-912]
	mov	r2, #8
	sub	r1, fp, #916
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #348
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-924]
	eor	r3, r1, r3
	str	r3, [fp, #-920]
	mov	r2, #18
	sub	r1, fp, #924
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-932]
	mvn	r3, r3
	str	r3, [fp, #-928]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #932
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-940]
	and	r3, r1, r3
	str	r3, [fp, #-936]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	sub	r1, fp, #940
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2116]
	eor	r3, r3, r1
	str	r3, [fp, #-2112]
	ldr	r2, [fp, #-2116]
	ldr	r3, [fp, #-2112]
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-948]
	mvn	r3, r3
	str	r3, [fp, #-944]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	sub	r1, fp, #948
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-956]
	and	r3, r1, r3
	str	r3, [fp, #-952]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #956
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2124]
	eor	r3, r3, r1
	str	r3, [fp, #-2120]
	ldr	r2, [fp, #-2124]
	ldr	r3, [fp, #-2120]
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-964]
	mvn	r3, r3
	str	r3, [fp, #-960]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #964
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-972]
	and	r3, r1, r3
	str	r3, [fp, #-968]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	sub	r1, fp, #972
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2132]
	eor	r3, r3, r1
	str	r3, [fp, #-2128]
	ldr	r2, [fp, #-2132]
	ldr	r3, [fp, #-2128]
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-980]
	mvn	r3, r3
	str	r3, [fp, #-976]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	sub	r1, fp, #980
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-988]
	and	r3, r1, r3
	str	r3, [fp, #-984]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	sub	r1, fp, #988
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2140]
	eor	r3, r3, r1
	str	r3, [fp, #-2136]
	ldr	r2, [fp, #-2140]
	ldr	r3, [fp, #-2136]
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-996]
	mvn	r3, r3
	str	r3, [fp, #-992]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	sub	r1, fp, #996
	ldmia	r1, {r0-r1}
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1004]
	and	r3, r1, r3
	str	r3, [fp, #-1000]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	sub	r1, fp, #1004
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2148]
	eor	r3, r3, r1
	str	r3, [fp, #-2144]
	ldr	r2, [fp, #-2148]
	ldr	r3, [fp, #-2144]
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r1, fp, #476
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1012]
	eor	r3, r1, r3
	str	r3, [fp, #-1008]
	mov	r2, #27
	sub	r1, fp, #1012
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #468
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1020]
	eor	r3, r1, r3
	str	r3, [fp, #-1016]
	mov	r2, #36
	sub	r1, fp, #1020
	ldmia	r1, {r0-r1}
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #420
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1028]
	eor	r3, r1, r3
	str	r3, [fp, #-1024]
	mov	r2, #10
	ldr	r0, [fp, #-1028]
	ldr	r1, [fp, #-1024]
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #372
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1036]
	eor	r3, r1, r3
	str	r3, [fp, #-1032]
	mov	r2, #15
	ldr	r0, [fp, #-1036]
	ldr	r1, [fp, #-1032]
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #324
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1044]
	eor	r3, r1, r3
	str	r3, [fp, #-1040]
	mov	r2, #56
	ldr	r0, [fp, #-1044]
	ldr	r1, [fp, #-1040]
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1052]
	mvn	r3, r3
	str	r3, [fp, #-1048]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1052]
	ldr	r1, [fp, #-1048]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1060]
	and	r3, r1, r3
	str	r3, [fp, #-1056]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1060]
	ldr	r1, [fp, #-1056]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2156]
	eor	r3, r3, r1
	str	r3, [fp, #-2152]
	ldr	r2, [fp, #-2156]
	ldr	r3, [fp, #-2152]
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1068]
	mvn	r3, r3
	str	r3, [fp, #-1064]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1068]
	ldr	r1, [fp, #-1064]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1076]
	and	r3, r1, r3
	str	r3, [fp, #-1072]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1076]
	ldr	r1, [fp, #-1072]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2164]
	eor	r3, r3, r1
	str	r3, [fp, #-2160]
	ldr	r2, [fp, #-2164]
	ldr	r3, [fp, #-2160]
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1084]
	mvn	r3, r3
	str	r3, [fp, #-1080]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1084]
	ldr	r1, [fp, #-1080]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1092]
	and	r3, r1, r3
	str	r3, [fp, #-1088]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1092]
	ldr	r1, [fp, #-1088]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2172]
	eor	r3, r3, r1
	str	r3, [fp, #-2168]
	ldr	r2, [fp, #-2172]
	ldr	r3, [fp, #-2168]
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1100]
	mvn	r3, r3
	str	r3, [fp, #-1096]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1100]
	ldr	r1, [fp, #-1096]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1108]
	and	r3, r1, r3
	str	r3, [fp, #-1104]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1108]
	ldr	r1, [fp, #-1104]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2180]
	eor	r3, r3, r1
	str	r3, [fp, #-2176]
	ldr	r2, [fp, #-2180]
	ldr	r3, [fp, #-2176]
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1116]
	mvn	r3, r3
	str	r3, [fp, #-1112]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1116]
	ldr	r1, [fp, #-1112]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1124]
	and	r3, r1, r3
	str	r3, [fp, #-1120]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1124]
	ldr	r1, [fp, #-1120]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2188]
	eor	r3, r3, r1
	str	r3, [fp, #-2184]
	ldr	r2, [fp, #-2188]
	ldr	r3, [fp, #-2184]
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r1, fp, #492
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1132]
	eor	r3, r1, r3
	str	r3, [fp, #-1128]
	mov	r2, #62
	ldr	r0, [fp, #-1132]
	ldr	r1, [fp, #-1128]
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #444
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1140]
	eor	r3, r1, r3
	str	r3, [fp, #-1136]
	mov	r2, #55
	ldr	r0, [fp, #-1140]
	ldr	r1, [fp, #-1136]
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #396
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1148]
	eor	r3, r1, r3
	str	r3, [fp, #-1144]
	mov	r2, #39
	ldr	r0, [fp, #-1148]
	ldr	r1, [fp, #-1144]
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #388
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1156]
	eor	r3, r1, r3
	str	r3, [fp, #-1152]
	mov	r2, #41
	ldr	r0, [fp, #-1156]
	ldr	r1, [fp, #-1152]
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #340
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1164]
	eor	r3, r1, r3
	str	r3, [fp, #-1160]
	mov	r2, #2
	ldr	r0, [fp, #-1164]
	ldr	r1, [fp, #-1160]
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1172]
	mvn	r3, r3
	str	r3, [fp, #-1168]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1172]
	ldr	r1, [fp, #-1168]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1180]
	and	r3, r1, r3
	str	r3, [fp, #-1176]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1180]
	ldr	r1, [fp, #-1176]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2196]
	eor	r3, r3, r1
	str	r3, [fp, #-2192]
	ldr	r2, [fp, #-2196]
	ldr	r3, [fp, #-2192]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1188]
	mvn	r3, r3
	str	r3, [fp, #-1184]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1188]
	ldr	r1, [fp, #-1184]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1196]
	and	r3, r1, r3
	str	r3, [fp, #-1192]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1196]
	ldr	r1, [fp, #-1192]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2204]
	eor	r3, r3, r1
	str	r3, [fp, #-2200]
	ldr	r2, [fp, #-2204]
	ldr	r3, [fp, #-2200]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1204]
	mvn	r3, r3
	str	r3, [fp, #-1200]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1204]
	ldr	r1, [fp, #-1200]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1212]
	and	r3, r1, r3
	str	r3, [fp, #-1208]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1212]
	ldr	r1, [fp, #-1208]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2212]
	eor	r3, r3, r1
	str	r3, [fp, #-2208]
	ldr	r2, [fp, #-2212]
	ldr	r3, [fp, #-2208]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1220]
	mvn	r3, r3
	str	r3, [fp, #-1216]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1220]
	ldr	r1, [fp, #-1216]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1228]
	and	r3, r1, r3
	str	r3, [fp, #-1224]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1228]
	ldr	r1, [fp, #-1224]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2220]
	eor	r3, r3, r1
	str	r3, [fp, #-2216]
	ldr	r2, [fp, #-2220]
	ldr	r3, [fp, #-2216]
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1236]
	mvn	r3, r3
	str	r3, [fp, #-1232]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1236]
	ldr	r1, [fp, #-1232]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1244]
	and	r3, r1, r3
	str	r3, [fp, #-1240]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1244]
	ldr	r1, [fp, #-1240]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2228]
	eor	r3, r3, r1
	str	r3, [fp, #-2224]
	ldr	r2, [fp, #-2228]
	ldr	r3, [fp, #-2224]
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1252]
	eor	r3, r1, r3
	str	r3, [fp, #-1248]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1252]
	ldr	r1, [fp, #-1248]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1260]
	eor	r3, r1, r3
	str	r3, [fp, #-1256]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1260]
	ldr	r1, [fp, #-1256]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1268]
	eor	r3, r1, r3
	str	r3, [fp, #-1264]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1268]
	ldr	r1, [fp, #-1264]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2236]
	eor	r3, r3, r1
	str	r3, [fp, #-2232]
	ldr	r2, [fp, #-2236]
	ldr	r3, [fp, #-2232]
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1276]
	eor	r3, r1, r3
	str	r3, [fp, #-1272]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1276]
	ldr	r1, [fp, #-1272]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1284]
	b	.L7
.L8:
	.align	2
.L6:
	.word	round_constants
	.word	round_constants
.L7:
	eor	r3, r1, r3
	str	r3, [fp, #-1280]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1284]
	ldr	r1, [fp, #-1280]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1292]
	eor	r3, r1, r3
	str	r3, [fp, #-1288]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1292]
	ldr	r1, [fp, #-1288]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2244]
	eor	r3, r3, r1
	str	r3, [fp, #-2240]
	ldr	r2, [fp, #-2244]
	ldr	r3, [fp, #-2240]
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1300]
	eor	r3, r1, r3
	str	r3, [fp, #-1296]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1300]
	ldr	r1, [fp, #-1296]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1308]
	eor	r3, r1, r3
	str	r3, [fp, #-1304]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1308]
	ldr	r1, [fp, #-1304]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1316]
	eor	r3, r1, r3
	str	r3, [fp, #-1312]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1316]
	ldr	r1, [fp, #-1312]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2252]
	eor	r3, r3, r1
	str	r3, [fp, #-2248]
	ldr	r2, [fp, #-2252]
	ldr	r3, [fp, #-2248]
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1324]
	eor	r3, r1, r3
	str	r3, [fp, #-1320]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1324]
	ldr	r1, [fp, #-1320]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1332]
	eor	r3, r1, r3
	str	r3, [fp, #-1328]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1332]
	ldr	r1, [fp, #-1328]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1340]
	eor	r3, r1, r3
	str	r3, [fp, #-1336]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1340]
	ldr	r1, [fp, #-1336]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2260]
	eor	r3, r3, r1
	str	r3, [fp, #-2256]
	ldr	r2, [fp, #-2260]
	ldr	r3, [fp, #-2256]
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r3, fp, #156
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1348]
	eor	r3, r1, r3
	str	r3, [fp, #-1344]
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1348]
	ldr	r1, [fp, #-1344]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1356]
	eor	r3, r1, r3
	str	r3, [fp, #-1352]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1356]
	ldr	r1, [fp, #-1352]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1364]
	eor	r3, r1, r3
	str	r3, [fp, #-1360]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1364]
	ldr	r1, [fp, #-1360]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2268]
	eor	r3, r3, r1
	str	r3, [fp, #-2264]
	ldr	r2, [fp, #-2268]
	ldr	r3, [fp, #-2264]
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	mov	r2, #1
	sub	r1, fp, #300
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2276]
	eor	r3, r3, r1
	str	r3, [fp, #-2272]
	ldr	r2, [fp, #-2276]
	ldr	r3, [fp, #-2272]
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	mov	r2, #1
	sub	r1, fp, #292
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2284]
	eor	r3, r3, r1
	str	r3, [fp, #-2280]
	ldr	r2, [fp, #-2284]
	ldr	r3, [fp, #-2280]
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	mov	r2, #1
	sub	r1, fp, #284
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2292]
	eor	r3, r3, r1
	str	r3, [fp, #-2288]
	ldr	r2, [fp, #-2292]
	ldr	r3, [fp, #-2288]
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	mov	r2, #1
	sub	r1, fp, #276
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2300]
	eor	r3, r3, r1
	str	r3, [fp, #-2296]
	ldr	r2, [fp, #-2300]
	ldr	r3, [fp, #-2296]
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	mov	r2, #1
	sub	r1, fp, #308
	ldmia	r1, {r0-r1}
	bl	rol
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	eor	ip, r2, r0
	str	ip, [fp, #-2308]
	eor	r3, r3, r1
	str	r3, [fp, #-2304]
	ldr	r2, [fp, #-2308]
	ldr	r3, [fp, #-2304]
	str	r2, [fp, #-236]
	str	r3, [fp, #-232]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-2316]
	eor	r3, r1, r3
	str	r3, [fp, #-2312]
	ldr	r2, [fp, #-2316]
	ldr	r3, [fp, #-2312]
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1372]
	eor	r3, r1, r3
	str	r3, [fp, #-1368]
	mov	r2, #44
	ldr	r0, [fp, #-1372]
	ldr	r1, [fp, #-1368]
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1380]
	eor	r3, r1, r3
	str	r3, [fp, #-1376]
	mov	r2, #43
	ldr	r0, [fp, #-1380]
	ldr	r1, [fp, #-1376]
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1388]
	eor	r3, r1, r3
	str	r3, [fp, #-1384]
	mov	r2, #21
	ldr	r0, [fp, #-1388]
	ldr	r1, [fp, #-1384]
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1396]
	eor	r3, r1, r3
	str	r3, [fp, #-1392]
	mov	r2, #14
	ldr	r0, [fp, #-1396]
	ldr	r1, [fp, #-1392]
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1404]
	mvn	r3, r3
	str	r3, [fp, #-1400]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1404]
	ldr	r1, [fp, #-1400]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1412]
	and	r3, r1, r3
	str	r3, [fp, #-1408]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1412]
	ldr	r1, [fp, #-1408]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-1420]
	eor	r3, r1, r3
	str	r3, [fp, #-1416]
	ldr	r3, [fp, #-512]
	add	r3, r3, #1
	ldr	r2, .L6+4
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1420]
	ldr	r1, [fp, #-1416]
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-2324]
	eor	r3, r1, r3
	str	r3, [fp, #-2320]
	ldr	r2, [fp, #-2324]
	ldr	r3, [fp, #-2320]
	str	r2, [fp, #-508]
	str	r3, [fp, #-504]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1428]
	mvn	r3, r3
	str	r3, [fp, #-1424]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1428]
	ldr	r1, [fp, #-1424]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1436]
	and	r3, r1, r3
	str	r3, [fp, #-1432]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1436]
	ldr	r1, [fp, #-1432]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2332]
	eor	r3, r3, r1
	str	r3, [fp, #-2328]
	ldr	r2, [fp, #-2332]
	ldr	r3, [fp, #-2328]
	str	r2, [fp, #-500]
	str	r3, [fp, #-496]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1444]
	mvn	r3, r3
	str	r3, [fp, #-1440]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1444]
	ldr	r1, [fp, #-1440]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1452]
	and	r3, r1, r3
	str	r3, [fp, #-1448]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1452]
	ldr	r1, [fp, #-1448]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2340]
	eor	r3, r3, r1
	str	r3, [fp, #-2336]
	ldr	r2, [fp, #-2340]
	ldr	r3, [fp, #-2336]
	str	r2, [fp, #-492]
	str	r3, [fp, #-488]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1460]
	mvn	r3, r3
	str	r3, [fp, #-1456]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1460]
	ldr	r1, [fp, #-1456]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1468]
	and	r3, r1, r3
	str	r3, [fp, #-1464]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1468]
	ldr	r1, [fp, #-1464]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2348]
	eor	r3, r3, r1
	str	r3, [fp, #-2344]
	ldr	r2, [fp, #-2348]
	ldr	r3, [fp, #-2344]
	str	r2, [fp, #-484]
	str	r3, [fp, #-480]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1476]
	mvn	r3, r3
	str	r3, [fp, #-1472]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1476]
	ldr	r1, [fp, #-1472]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1484]
	and	r3, r1, r3
	str	r3, [fp, #-1480]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1484]
	ldr	r1, [fp, #-1480]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2356]
	eor	r3, r3, r1
	str	r3, [fp, #-2352]
	ldr	r2, [fp, #-2356]
	ldr	r3, [fp, #-2352]
	str	r2, [fp, #-476]
	str	r3, [fp, #-472]
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1492]
	eor	r3, r1, r3
	str	r3, [fp, #-1488]
	mov	r2, #28
	ldr	r0, [fp, #-1492]
	ldr	r1, [fp, #-1488]
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1500]
	eor	r3, r1, r3
	str	r3, [fp, #-1496]
	mov	r2, #20
	ldr	r0, [fp, #-1500]
	ldr	r1, [fp, #-1496]
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1508]
	eor	r3, r1, r3
	str	r3, [fp, #-1504]
	mov	r2, #3
	ldr	r0, [fp, #-1508]
	ldr	r1, [fp, #-1504]
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1516]
	eor	r3, r1, r3
	str	r3, [fp, #-1512]
	mov	r2, #45
	ldr	r0, [fp, #-1516]
	ldr	r1, [fp, #-1512]
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1524]
	eor	r3, r1, r3
	str	r3, [fp, #-1520]
	mov	r2, #61
	ldr	r0, [fp, #-1524]
	ldr	r1, [fp, #-1520]
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1532]
	mvn	r3, r3
	str	r3, [fp, #-1528]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1532]
	ldr	r1, [fp, #-1528]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1540]
	and	r3, r1, r3
	str	r3, [fp, #-1536]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1540]
	ldr	r1, [fp, #-1536]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2364]
	eor	r3, r3, r1
	str	r3, [fp, #-2360]
	ldr	r2, [fp, #-2364]
	ldr	r3, [fp, #-2360]
	str	r2, [fp, #-468]
	str	r3, [fp, #-464]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1548]
	mvn	r3, r3
	str	r3, [fp, #-1544]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1548]
	ldr	r1, [fp, #-1544]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1556]
	and	r3, r1, r3
	str	r3, [fp, #-1552]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1556]
	ldr	r1, [fp, #-1552]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2372]
	eor	r3, r3, r1
	str	r3, [fp, #-2368]
	ldr	r2, [fp, #-2372]
	ldr	r3, [fp, #-2368]
	str	r2, [fp, #-460]
	str	r3, [fp, #-456]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1564]
	mvn	r3, r3
	str	r3, [fp, #-1560]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1564]
	ldr	r1, [fp, #-1560]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1572]
	and	r3, r1, r3
	str	r3, [fp, #-1568]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1572]
	ldr	r1, [fp, #-1568]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2380]
	eor	r3, r3, r1
	str	r3, [fp, #-2376]
	ldr	r2, [fp, #-2380]
	ldr	r3, [fp, #-2376]
	str	r2, [fp, #-452]
	str	r3, [fp, #-448]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1580]
	mvn	r3, r3
	str	r3, [fp, #-1576]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1580]
	ldr	r1, [fp, #-1576]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1588]
	and	r3, r1, r3
	str	r3, [fp, #-1584]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1588]
	ldr	r1, [fp, #-1584]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2388]
	eor	r3, r3, r1
	str	r3, [fp, #-2384]
	ldr	r2, [fp, #-2388]
	ldr	r3, [fp, #-2384]
	str	r2, [fp, #-444]
	str	r3, [fp, #-440]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1596]
	mvn	r3, r3
	str	r3, [fp, #-1592]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1596]
	ldr	r1, [fp, #-1592]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1604]
	and	r3, r1, r3
	str	r3, [fp, #-1600]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1604]
	ldr	r1, [fp, #-1600]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2396]
	eor	r3, r3, r1
	str	r3, [fp, #-2392]
	ldr	r2, [fp, #-2396]
	ldr	r3, [fp, #-2392]
	str	r2, [fp, #-436]
	str	r3, [fp, #-432]
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1612]
	eor	r3, r1, r3
	str	r3, [fp, #-1608]
	mov	r2, #1
	ldr	r0, [fp, #-1612]
	ldr	r1, [fp, #-1608]
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1620]
	eor	r3, r1, r3
	str	r3, [fp, #-1616]
	mov	r2, #6
	ldr	r0, [fp, #-1620]
	ldr	r1, [fp, #-1616]
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1628]
	eor	r3, r1, r3
	str	r3, [fp, #-1624]
	mov	r2, #25
	ldr	r0, [fp, #-1628]
	ldr	r1, [fp, #-1624]
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1636]
	eor	r3, r1, r3
	str	r3, [fp, #-1632]
	mov	r2, #8
	ldr	r0, [fp, #-1636]
	ldr	r1, [fp, #-1632]
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1644]
	eor	r3, r1, r3
	str	r3, [fp, #-1640]
	mov	r2, #18
	ldr	r0, [fp, #-1644]
	ldr	r1, [fp, #-1640]
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1652]
	mvn	r3, r3
	str	r3, [fp, #-1648]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1652]
	ldr	r1, [fp, #-1648]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1660]
	and	r3, r1, r3
	str	r3, [fp, #-1656]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1660]
	ldr	r1, [fp, #-1656]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2404]
	eor	r3, r3, r1
	str	r3, [fp, #-2400]
	ldr	r2, [fp, #-2404]
	ldr	r3, [fp, #-2400]
	str	r2, [fp, #-428]
	str	r3, [fp, #-424]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1668]
	mvn	r3, r3
	str	r3, [fp, #-1664]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1668]
	ldr	r1, [fp, #-1664]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1676]
	and	r3, r1, r3
	str	r3, [fp, #-1672]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1676]
	ldr	r1, [fp, #-1672]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2412]
	eor	r3, r3, r1
	str	r3, [fp, #-2408]
	ldr	r2, [fp, #-2412]
	ldr	r3, [fp, #-2408]
	str	r2, [fp, #-420]
	str	r3, [fp, #-416]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1684]
	mvn	r3, r3
	str	r3, [fp, #-1680]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1684]
	ldr	r1, [fp, #-1680]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1692]
	and	r3, r1, r3
	str	r3, [fp, #-1688]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1692]
	ldr	r1, [fp, #-1688]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2420]
	eor	r3, r3, r1
	str	r3, [fp, #-2416]
	ldr	r2, [fp, #-2420]
	ldr	r3, [fp, #-2416]
	str	r2, [fp, #-412]
	str	r3, [fp, #-408]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1700]
	mvn	r3, r3
	str	r3, [fp, #-1696]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1700]
	ldr	r1, [fp, #-1696]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1708]
	and	r3, r1, r3
	str	r3, [fp, #-1704]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1708]
	ldr	r1, [fp, #-1704]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2428]
	eor	r3, r3, r1
	str	r3, [fp, #-2424]
	ldr	r2, [fp, #-2428]
	ldr	r3, [fp, #-2424]
	str	r2, [fp, #-404]
	str	r3, [fp, #-400]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1716]
	mvn	r3, r3
	str	r3, [fp, #-1712]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1716]
	ldr	r1, [fp, #-1712]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1724]
	and	r3, r1, r3
	str	r3, [fp, #-1720]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1724]
	ldr	r1, [fp, #-1720]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2436]
	eor	r3, r3, r1
	str	r3, [fp, #-2432]
	ldr	r2, [fp, #-2436]
	ldr	r3, [fp, #-2432]
	str	r2, [fp, #-396]
	str	r3, [fp, #-392]
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1732]
	eor	r3, r1, r3
	str	r3, [fp, #-1728]
	mov	r2, #27
	ldr	r0, [fp, #-1732]
	ldr	r1, [fp, #-1728]
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1740]
	eor	r3, r1, r3
	str	r3, [fp, #-1736]
	mov	r2, #36
	ldr	r0, [fp, #-1740]
	ldr	r1, [fp, #-1736]
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1748]
	eor	r3, r1, r3
	str	r3, [fp, #-1744]
	mov	r2, #10
	ldr	r0, [fp, #-1748]
	ldr	r1, [fp, #-1744]
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1756]
	eor	r3, r1, r3
	str	r3, [fp, #-1752]
	mov	r2, #15
	ldr	r0, [fp, #-1756]
	ldr	r1, [fp, #-1752]
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1764]
	eor	r3, r1, r3
	str	r3, [fp, #-1760]
	mov	r2, #56
	ldr	r0, [fp, #-1764]
	ldr	r1, [fp, #-1760]
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1772]
	mvn	r3, r3
	str	r3, [fp, #-1768]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1772]
	ldr	r1, [fp, #-1768]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1780]
	and	r3, r1, r3
	str	r3, [fp, #-1776]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1780]
	ldr	r1, [fp, #-1776]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2444]
	eor	r3, r3, r1
	str	r3, [fp, #-2440]
	ldr	r2, [fp, #-2444]
	ldr	r3, [fp, #-2440]
	str	r2, [fp, #-388]
	str	r3, [fp, #-384]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1788]
	mvn	r3, r3
	str	r3, [fp, #-1784]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1788]
	ldr	r1, [fp, #-1784]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1796]
	and	r3, r1, r3
	str	r3, [fp, #-1792]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1796]
	ldr	r1, [fp, #-1792]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2452]
	eor	r3, r3, r1
	str	r3, [fp, #-2448]
	ldr	r2, [fp, #-2452]
	ldr	r3, [fp, #-2448]
	str	r2, [fp, #-380]
	str	r3, [fp, #-376]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1804]
	mvn	r3, r3
	str	r3, [fp, #-1800]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1804]
	ldr	r1, [fp, #-1800]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1812]
	and	r3, r1, r3
	str	r3, [fp, #-1808]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1812]
	ldr	r1, [fp, #-1808]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2460]
	eor	r3, r3, r1
	str	r3, [fp, #-2456]
	ldr	r2, [fp, #-2460]
	ldr	r3, [fp, #-2456]
	str	r2, [fp, #-372]
	str	r3, [fp, #-368]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1820]
	mvn	r3, r3
	str	r3, [fp, #-1816]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1820]
	ldr	r1, [fp, #-1816]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1828]
	and	r3, r1, r3
	str	r3, [fp, #-1824]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1828]
	ldr	r1, [fp, #-1824]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2468]
	eor	r3, r3, r1
	str	r3, [fp, #-2464]
	ldr	r2, [fp, #-2468]
	ldr	r3, [fp, #-2464]
	str	r2, [fp, #-364]
	str	r3, [fp, #-360]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1836]
	mvn	r3, r3
	str	r3, [fp, #-1832]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1836]
	ldr	r1, [fp, #-1832]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1844]
	and	r3, r1, r3
	str	r3, [fp, #-1840]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1844]
	ldr	r1, [fp, #-1840]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2476]
	eor	r3, r3, r1
	str	r3, [fp, #-2472]
	ldr	r2, [fp, #-2476]
	ldr	r3, [fp, #-2472]
	str	r2, [fp, #-356]
	str	r3, [fp, #-352]
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	sub	r3, fp, #252
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1852]
	eor	r3, r1, r3
	str	r3, [fp, #-1848]
	mov	r2, #62
	ldr	r0, [fp, #-1852]
	ldr	r1, [fp, #-1848]
	bl	rol
	str	r0, [fp, #-308]
	str	r1, [fp, #-304]
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1860]
	eor	r3, r1, r3
	str	r3, [fp, #-1856]
	mov	r2, #55
	ldr	r0, [fp, #-1860]
	ldr	r1, [fp, #-1856]
	bl	rol
	str	r0, [fp, #-300]
	str	r1, [fp, #-296]
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1868]
	eor	r3, r1, r3
	str	r3, [fp, #-1864]
	mov	r2, #39
	ldr	r0, [fp, #-1868]
	ldr	r1, [fp, #-1864]
	bl	rol
	str	r0, [fp, #-292]
	str	r1, [fp, #-288]
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	sub	r3, fp, #268
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1876]
	eor	r3, r1, r3
	str	r3, [fp, #-1872]
	mov	r2, #41
	ldr	r0, [fp, #-1876]
	ldr	r1, [fp, #-1872]
	bl	rol
	str	r0, [fp, #-284]
	str	r1, [fp, #-280]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #260
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-1884]
	eor	r3, r1, r3
	str	r3, [fp, #-1880]
	mov	r2, #2
	ldr	r0, [fp, #-1884]
	ldr	r1, [fp, #-1880]
	bl	rol
	str	r0, [fp, #-276]
	str	r1, [fp, #-272]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1892]
	mvn	r3, r3
	str	r3, [fp, #-1888]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1892]
	ldr	r1, [fp, #-1888]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1900]
	and	r3, r1, r3
	str	r3, [fp, #-1896]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1900]
	ldr	r1, [fp, #-1896]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2484]
	eor	r3, r3, r1
	str	r3, [fp, #-2480]
	ldr	r2, [fp, #-2484]
	ldr	r3, [fp, #-2480]
	str	r2, [fp, #-348]
	str	r3, [fp, #-344]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1908]
	mvn	r3, r3
	str	r3, [fp, #-1904]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1908]
	ldr	r1, [fp, #-1904]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1916]
	and	r3, r1, r3
	str	r3, [fp, #-1912]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1916]
	ldr	r1, [fp, #-1912]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2492]
	eor	r3, r3, r1
	str	r3, [fp, #-2488]
	ldr	r2, [fp, #-2492]
	ldr	r3, [fp, #-2488]
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1924]
	mvn	r3, r3
	str	r3, [fp, #-1920]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1924]
	ldr	r1, [fp, #-1920]
	mov	ip, r0
	and	ip, ip, r2
	str	ip, [fp, #-1932]
	and	r3, r1, r3
	str	r3, [fp, #-1928]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1932]
	ldr	r1, [fp, #-1928]
	mov	ip, r0
	eor	ip, r2, ip
	str	ip, [fp, #-2500]
	eor	r3, r3, r1
	str	r3, [fp, #-2496]
	ldr	r2, [fp, #-2500]
	ldr	r3, [fp, #-2496]
	str	r2, [fp, #-332]
	str	r3, [fp, #-328]
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	mvn	r1, r2
	str	r1, [fp, #-1940]
	mvn	r3, r3
	str	r3, [fp, #-1936]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-1940]
	ldr	r1, [fp, #-1936]
	mov	ip, r0
	and	r8, ip, r2
	and	r9, r1, r3
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	eor	r1, r2, r8
	str	r1, [fp, #-2508]
	eor	r3, r3, r9
	str	r3, [fp, #-2504]
	ldr	r2, [fp, #-2508]
	ldr	r3, [fp, #-2504]
	str	r2, [fp, #-324]
	str	r3, [fp, #-320]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	mvn	r6, r2
	mvn	r7, r3
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	and	r4, r6, r2
	and	r5, r7, r3
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	eor	r1, r2, r4
	str	r1, [fp, #-2516]
	eor	r3, r3, r5
	str	r3, [fp, #-2512]
	ldr	r2, [fp, #-2516]
	ldr	r3, [fp, #-2512]
	str	r2, [fp, #-316]
	str	r3, [fp, #-312]
	ldr	r3, [fp, #-512]
	add	r3, r3, #2
	str	r3, [fp, #-512]
.L4:
	ldr	r3, [fp, #-512]
	cmp	r3, #23
	ble	.L5
	ldr	r1, [fp, #-520]
	sub	r3, fp, #508
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #8
	sub	r3, fp, #500
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #16
	sub	r3, fp, #492
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #24
	sub	r3, fp, #484
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #32
	sub	r3, fp, #476
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #40
	sub	r3, fp, #468
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #48
	sub	r3, fp, #460
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #56
	sub	r3, fp, #452
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #64
	sub	r3, fp, #444
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #72
	sub	r3, fp, #436
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #80
	sub	r3, fp, #428
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #88
	sub	r3, fp, #420
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #96
	sub	r3, fp, #412
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #104
	sub	r3, fp, #404
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #112
	sub	r3, fp, #396
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #120
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #128
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #136
	sub	r3, fp, #372
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #144
	sub	r3, fp, #364
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #152
	sub	r3, fp, #356
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #160
	sub	r3, fp, #348
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #168
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #176
	sub	r3, fp, #332
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #184
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-520]
	add	r1, r3, #192
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	ethash_keccakf1600, .-ethash_keccakf1600
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
