	.file	"741872.c"
	.intel_syntax noprefix
	.text
	.data
	.align 32
	.type	PADDING, @object
	.size	PADDING, 64
PADDING:
	.string	"\200"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.text
	.globl	MD5Init
	.type	MD5Init, @function
MD5Init:
.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	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 1732584193
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 4023233417
	mov	QWORD PTR 24[rax], rcx
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 2562383102
	mov	QWORD PTR 32[rax], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 271733878
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	MD5Init, .-MD5Init
	.globl	MD5Update
	.type	MD5Update, @function
MD5Update:
.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, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	DWORD PTR -180[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	shr	rax, 3
	and	eax, 63
	mov	DWORD PTR -156[rbp], eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -180[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jnb	.L3
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 8[rax], rdx
.L3:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -180[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -180[rbp]
	shr	eax, 29
	mov	eax, eax
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L4
.L7:
	mov	rax, QWORD PTR -176[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -176[rbp], rdx
	mov	edx, DWORD PTR -156[rbp]
	lea	ecx, 1[rdx]
	mov	DWORD PTR -156[rbp], ecx
	movzx	esi, BYTE PTR [rax]
	mov	rcx, QWORD PTR -168[rbp]
	movsx	rax, edx
	mov	BYTE PTR 48[rcx+rax], sil
	cmp	DWORD PTR -156[rbp], 64
	jne	.L4
	mov	DWORD PTR -152[rbp], 0
	mov	DWORD PTR -148[rbp], 0
	jmp	.L5
.L6:
	mov	eax, DWORD PTR -148[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 48[rax+rdx]
	movzx	eax, al
	sal	rax, 24
	mov	rcx, rax
	mov	eax, DWORD PTR -148[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 48[rax+rdx]
	movzx	eax, al
	sal	rax, 16
	or	rcx, rax
	mov	eax, DWORD PTR -148[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 48[rax+rdx]
	movzx	eax, al
	sal	rax, 8
	or	rcx, rax
	mov	rdx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -148[rbp]
	movzx	eax, BYTE PTR 48[rdx+rax]
	movzx	eax, al
	or	rcx, rax
	mov	rdx, rcx
	mov	eax, DWORD PTR -152[rbp]
	mov	QWORD PTR -144[rbp+rax*8], rdx
	add	DWORD PTR -152[rbp], 1
	add	DWORD PTR -148[rbp], 4
.L5:
	cmp	DWORD PTR -152[rbp], 15
	jbe	.L6
	mov	rax, QWORD PTR -168[rbp]
	lea	rdx, 16[rax]
	lea	rax, -144[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	Transform
	mov	DWORD PTR -156[rbp], 0
.L4:
	mov	eax, DWORD PTR -180[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -180[rbp], edx
	test	eax, eax
	jne	.L7
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L8
	call	__stack_chk_fail@PLT
.L8:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	MD5Update, .-MD5Update
	.globl	MD5Final
	.type	MD5Final, @function
MD5Final:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -168[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	shr	rax, 3
	and	eax, 63
	mov	DWORD PTR -152[rbp], eax
	cmp	DWORD PTR -152[rbp], 55
	jg	.L10
	mov	eax, 56
	sub	eax, DWORD PTR -152[rbp]
	jmp	.L11
.L10:
	mov	eax, 120
	sub	eax, DWORD PTR -152[rbp]
.L11:
	mov	DWORD PTR -148[rbp], eax
	mov	edx, DWORD PTR -148[rbp]
	mov	rax, QWORD PTR -168[rbp]
	lea	rsi, PADDING[rip]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Update
	mov	DWORD PTR -160[rbp], 0
	mov	DWORD PTR -156[rbp], 0
	jmp	.L12
.L13:
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 48[rax+rdx]
	movzx	eax, al
	sal	rax, 24
	mov	rcx, rax
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 48[rax+rdx]
	movzx	eax, al
	sal	rax, 16
	or	rcx, rax
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR 48[rax+rdx]
	movzx	eax, al
	sal	rax, 8
	or	rcx, rax
	mov	rdx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -156[rbp]
	movzx	eax, BYTE PTR 48[rdx+rax]
	movzx	eax, al
	or	rcx, rax
	mov	rdx, rcx
	mov	eax, DWORD PTR -160[rbp]
	mov	QWORD PTR -144[rbp+rax*8], rdx
	add	DWORD PTR -160[rbp], 1
	add	DWORD PTR -156[rbp], 4
.L12:
	cmp	DWORD PTR -160[rbp], 13
	jbe	.L13
	mov	rax, QWORD PTR -168[rbp]
	lea	rdx, 16[rax]
	lea	rax, -144[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, 0
	call	Transform
	mov	DWORD PTR -160[rbp], 0
	mov	DWORD PTR -156[rbp], 0
	jmp	.L14
.L15:
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -160[rbp]
	add	rdx, 2
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	ecx, eax
	mov	rdx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -156[rbp]
	mov	BYTE PTR 112[rdx+rax], cl
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -160[rbp]
	add	rdx, 2
	mov	rax, QWORD PTR [rax+rdx*8]
	shr	rax, 8
	mov	rcx, rax
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	mov	BYTE PTR 112[rax+rdx], cl
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -160[rbp]
	add	rdx, 2
	mov	rax, QWORD PTR [rax+rdx*8]
	shr	rax, 16
	mov	rcx, rax
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	mov	BYTE PTR 112[rax+rdx], cl
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR -160[rbp]
	add	rdx, 2
	mov	rax, QWORD PTR [rax+rdx*8]
	shr	rax, 24
	mov	rcx, rax
	mov	eax, DWORD PTR -156[rbp]
	lea	edx, 3[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, edx
	mov	BYTE PTR 112[rax+rdx], cl
	add	DWORD PTR -160[rbp], 1
	add	DWORD PTR -156[rbp], 4
.L14:
	cmp	DWORD PTR -160[rbp], 3
	jbe	.L15
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	MD5Final, .-MD5Final
	.type	Transform, @function
Transform:
.LFB3:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 3614090360
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 7
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 25
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 3905402710
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 12
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 20
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 606105819
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 17
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 15
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 3250441966
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 22
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 10
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 32
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 4118548399
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 7
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 25
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 40
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	add	rax, 1200080426
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 12
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 20
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 2821735955
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 17
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 15
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 4249261313
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 22
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 10
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 64
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 1770035416
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 7
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 25
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 72
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 2336552879
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 12
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 20
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 80
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 4294925233
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 17
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 15
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 88
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 2304563134
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 22
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 10
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 96
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 1804603682
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 7
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 25
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 104
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 4254626195
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 12
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 20
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 112
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 2792965006
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 17
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 15
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 120
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	add	rax, 1236535329
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 22
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 10
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 4129170786
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 5
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 27
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 3225465664
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 9
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 23
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 88
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 643717713
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 18
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 3921069994
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 20
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 12
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 40
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 3593408605
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 5
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 27
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 80
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	add	rax, 38016083
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 9
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 23
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 120
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 3634488961
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 18
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 32
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 3889429448
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 20
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 12
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 72
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 568446438
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 5
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 27
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 112
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 3275163606
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 9
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 23
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 4107603335
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 18
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 64
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	add	rax, 1163531501
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 20
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 12
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	and	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	and	rax, QWORD PTR -16[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 104
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 2850285829
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 5
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 27
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	and	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	and	rax, QWORD PTR -24[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 4243563512
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 9
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 23
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	and	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	and	rax, QWORD PTR -32[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 1735328473
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 18
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	and	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	and	rax, QWORD PTR -8[rbp]
	or	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 96
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 2368359562
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 20
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 12
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 40
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 4294588738
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 28
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 64
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 2272392833
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 11
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 21
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 88
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 1839030562
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 16
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 16
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 112
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 4259657740
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 23
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 9
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 2763975236
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 28
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 32
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	add	rax, 1272893353
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 11
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 21
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 4139469664
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 16
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 16
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 80
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 3200236656
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 23
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 9
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 104
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 681279174
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 28
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 3936430074
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 11
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 21
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 3572445317
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 16
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 16
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	add	rax, 76029189
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 23
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 9
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 72
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 3654602809
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 28
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 96
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 3873151461
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 11
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 21
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 120
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 530742520
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 16
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 16
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 3299628645
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 23
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 9
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	or	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 4096336452
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 26
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	or	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 56
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	add	rax, 1126891415
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 10
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 22
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	or	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 112
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 2878612391
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 15
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 17
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	or	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 40
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 4237533241
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 21
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 11
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	or	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 96
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 1700485571
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 26
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	or	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 2399980690
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 10
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 22
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	or	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 80
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 4293915773
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 15
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 17
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	or	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 2240044497
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 21
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 11
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	or	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 64
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 1873313359
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 26
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	or	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 120
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 4264355552
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 10
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 22
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	or	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 48
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	eax, 2734768916
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 15
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 17
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	or	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 104
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	add	rax, 1309151649
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 21
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 11
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	not	rax
	or	rax, QWORD PTR -24[rbp]
	xor	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 32
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, 4149444226
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	shr	rax, 26
	or	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	not	rax
	or	rax, QWORD PTR -32[rbp]
	xor	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 88
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, 3174756917
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 10
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 22
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	or	rax, QWORD PTR -8[rbp]
	xor	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	add	rax, 718787259
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 15
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 17
	or	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	not	rax
	or	rax, QWORD PTR -16[rbp]
	xor	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 72
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, 3951481745
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 21
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	shr	rax, 11
	or	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	Transform, .-Transform
	.section	.rodata
.LC0:
	.string	"%02x"
	.text
	.type	MDPrint, @function
MDPrint:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L19
.L20:
	mov	rdx, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	movzx	eax, BYTE PTR 112[rdx+rax]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L19:
	cmp	DWORD PTR -4[rbp], 15
	jle	.L20
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	MDPrint, .-MDPrint
	.data
	.align 8
	.type	TEST_BYTES, @object
	.size	TEST_BYTES, 8
TEST_BYTES:
	.quad	10000000
	.section	.rodata
	.align 8
.LC1:
	.string	"MD5 time trial. Processing %ld characters...\n"
.LC2:
	.string	" is digest of test input."
	.align 8
.LC3:
	.string	"Seconds to process test input: %ld\n"
	.align 8
.LC4:
	.string	"Characters processed per second: %ld\n"
	.text
	.type	MDTimeTrial, @function
MDTimeTrial:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1168
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1156[rbp], 0
	jmp	.L22
.L23:
	mov	eax, DWORD PTR -1156[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -1156[rbp]
	mov	BYTE PTR -1008[rbp+rax], dl
	add	DWORD PTR -1156[rbp], 1
.L22:
	cmp	DWORD PTR -1156[rbp], 999
	jbe	.L23
	mov	rax, QWORD PTR TEST_BYTES[rip]
	mov	rsi, rax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -1144[rbp]
	mov	rdi, rax
	call	time@PLT
	lea	rax, -1136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Init
	mov	DWORD PTR -1156[rbp], 10000
	jmp	.L24
.L25:
	lea	rcx, -1008[rbp]
	lea	rax, -1136[rbp]
	mov	edx, 1000
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	MD5Update
	sub	DWORD PTR -1156[rbp], 1
.L24:
	cmp	DWORD PTR -1156[rbp], 0
	jne	.L25
	lea	rax, -1136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Final
	lea	rax, -1152[rbp]
	mov	rdi, rax
	call	time@PLT
	lea	rax, -1136[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MDPrint
	lea	rdi, .LC2[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -1152[rbp]
	mov	rdx, QWORD PTR -1144[rbp]
	sub	rax, rdx
	mov	rsi, rax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR TEST_BYTES[rip]
	mov	rdx, QWORD PTR -1152[rbp]
	mov	rcx, QWORD PTR -1144[rbp]
	sub	rdx, rcx
	mov	rcx, rdx
	cqo
	idiv	rcx
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L26
	call	__stack_chk_fail@PLT
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	MDTimeTrial, .-MDTimeTrial
	.section	.rodata
.LC5:
	.string	" \"%s\"\n\n"
	.text
	.type	MDString, @function
MDString:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -168[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -148[rbp], eax
	lea	rax, -144[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Init
	mov	edx, DWORD PTR -148[rbp]
	mov	rcx, QWORD PTR -168[rbp]
	lea	rax, -144[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	MD5Update
	lea	rax, -144[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Final
	lea	rax, -144[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MDPrint
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L28
	call	__stack_chk_fail@PLT
.L28:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	MDString, .-MDString
	.section	.rodata
.LC6:
	.string	"rb"
.LC7:
	.string	"%s can't be opened.\n"
.LC8:
	.string	" %s\n"
	.text
	.type	MDFile, @function
MDFile:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1200
	mov	QWORD PTR -1192[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -1192[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1176[rbp], rax
	cmp	QWORD PTR -1176[rbp], 0
	jne	.L30
	mov	rax, QWORD PTR -1192[rbp]
	mov	rsi, rax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L29
.L30:
	lea	rax, -1168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Init
	jmp	.L32
.L33:
	mov	edx, DWORD PTR -1180[rbp]
	lea	rcx, -1040[rbp]
	lea	rax, -1168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	MD5Update
.L32:
	mov	rdx, QWORD PTR -1176[rbp]
	lea	rax, -1040[rbp]
	mov	rcx, rdx
	mov	edx, 1024
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -1180[rbp], eax
	cmp	DWORD PTR -1180[rbp], 0
	jne	.L33
	lea	rax, -1168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Final
	lea	rax, -1168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MDPrint
	mov	rax, QWORD PTR -1192[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -1176[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L29:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L34
	call	__stack_chk_fail@PLT
.L34:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	MDFile, .-MDFile
	.type	MDFilter, @function
MDFilter:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -160[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Init
	jmp	.L36
.L37:
	mov	edx, DWORD PTR -164[rbp]
	lea	rcx, -32[rbp]
	lea	rax, -160[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	MD5Update
.L36:
	mov	rdx, QWORD PTR stdin[rip]
	lea	rax, -32[rbp]
	mov	rcx, rdx
	mov	edx, 16
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], 0
	jne	.L37
	lea	rax, -160[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MD5Final
	lea	rax, -160[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	MDPrint
	mov	edi, 10
	call	putchar@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L38
	call	__stack_chk_fail@PLT
.L38:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	MDFilter, .-MDFilter
	.section	.rodata
.LC9:
	.string	"MD5 test suite results:\n"
.LC10:
	.string	""
.LC11:
	.string	"a"
.LC12:
	.string	"abc"
.LC13:
	.string	"message digest"
.LC14:
	.string	"abcdefghijklmnopqrstuvwxyz"
	.align 8
.LC15:
	.string	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
	.align 8
.LC16:
	.string	"12345678901234567890123456789012345678901234567890123456789012345678901234567890"
.LC17:
	.string	"foo"
	.text
	.type	MDTestSuite, @function
MDTestSuite:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	MDString
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	MDString
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	MDString
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	MDString
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	MDString
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	MDString
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	MDString
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	MDFile
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	MDTestSuite, .-MDTestSuite
	.section	.rodata
.LC18:
	.string	"-t"
.LC19:
	.string	"-x"
	.text
	.globl	main
	.type	main, @function
main:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L41
	mov	eax, 0
	call	MDFilter
	jmp	.L49
.L41:
	mov	DWORD PTR -4[rbp], 1
	jmp	.L43
.L48:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L44
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 115
	jne	.L44
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	mov	eax, 0
	call	MDString
	jmp	.L45
.L44:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L46
	mov	eax, 0
	call	MDTimeTrial
	jmp	.L45
.L46:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L47
	mov	eax, 0
	call	MDTestSuite
	jmp	.L45
.L47:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	mov	eax, 0
	call	MDFile
.L45:
	add	DWORD PTR -4[rbp], 1
.L43:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L48
.L49:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	main, .-main
	.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	"741872.c"
	.text
	.data
	.align	2
	.type	PADDING, %object
	.size	PADDING, 64
PADDING:
	.ascii	"\200\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000"
	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000"
	.text
	.align	2
	.global	MD5Init
	.syntax unified
	.arm
	.fpu softvfp
	.type	MD5Init, %function
MD5Init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2+4
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2+8
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2+12
	str	r2, [r3, #20]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L3:
	.align	2
.L2:
	.word	1732584193
	.word	-271733879
	.word	-1732584194
	.word	271733878
	.size	MD5Init, .-MD5Init
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	MD5Update
	.syntax unified
	.arm
	.fpu softvfp
	.type	MD5Update, %function
MD5Update:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	ldr	r3, .L11
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	lsr	r3, r3, #3
	and	r3, r3, #63
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	cmp	r2, r3
	bcs	.L5
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-88]
	str	r2, [r3, #4]
.L5:
	ldr	r3, [fp, #-88]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-96]
	lsr	r3, r3, #29
	add	r2, r2, r3
	ldr	r3, [fp, #-88]
	str	r2, [r3, #4]
	b	.L6
.L9:
	ldr	r2, [fp, #-92]
	add	r3, r2, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-84]
	add	r1, r3, #1
	str	r1, [fp, #-84]
	ldrb	r1, [r2]	@ zero_extendqisi2
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #24]
	ldr	r3, [fp, #-84]
	cmp	r3, #64
	bne	.L6
	mov	r3, #0
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L7
.L8:
	ldr	r3, [fp, #-76]
	add	r3, r3, #3
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	lsl	r2, r3, #24
	ldr	r3, [fp, #-76]
	add	r3, r3, #2
	ldr	r1, [fp, #-88]
	add	r3, r1, r3
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	ldr	r1, [fp, #-88]
	add	r3, r1, r3
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	ldr	r1, [fp, #-88]
	ldr	r2, [fp, #-76]
	add	r2, r1, r2
	add	r2, r2, #24
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-68]
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-76]
	add	r3, r3, #4
	str	r3, [fp, #-76]
.L7:
	ldr	r3, [fp, #-80]
	cmp	r3, #15
	bls	.L8
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	sub	r2, fp, #72
	mov	r1, r2
	mov	r0, r3
	bl	Transform
	mov	r3, #0
	str	r3, [fp, #-84]
.L6:
	ldr	r3, [fp, #-96]
	sub	r2, r3, #1
	str	r2, [fp, #-96]
	cmp	r3, #0
	bne	.L9
	nop
	ldr	r3, .L11
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L10
	bl	__stack_chk_fail
.L10:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L12:
	.align	2
.L11:
	.word	.LC0
	.size	MD5Update, .-MD5Update
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	MD5Final
	.syntax unified
	.arm
	.fpu softvfp
	.type	MD5Final, %function
MD5Final:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-96]
	ldr	r3, .L21
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	lsr	r3, r3, #3
	and	r3, r3, #63
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #55
	bgt	.L14
	ldr	r3, [fp, #-80]
	rsb	r3, r3, #56
	b	.L15
.L14:
	ldr	r3, [fp, #-80]
	rsb	r3, r3, #120
.L15:
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-76]
	ldr	r1, .L21+4
	ldr	r0, [fp, #-96]
	bl	MD5Update
	mov	r3, #0
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L16
.L17:
	ldr	r3, [fp, #-84]
	add	r3, r3, #3
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	lsl	r2, r3, #24
	ldr	r3, [fp, #-84]
	add	r3, r3, #2
	ldr	r1, [fp, #-96]
	add	r3, r1, r3
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	lsl	r3, r3, #16
	orr	r2, r2, r3
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	ldr	r1, [fp, #-96]
	add	r3, r1, r3
	ldrb	r3, [r3, #24]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r3, r2, r3
	ldr	r1, [fp, #-96]
	ldr	r2, [fp, #-84]
	add	r2, r1, r2
	add	r2, r2, #24
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r3, r2
	ldr	r3, [fp, #-88]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-68]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #4
	str	r3, [fp, #-84]
.L16:
	ldr	r3, [fp, #-88]
	cmp	r3, #13
	bls	.L17
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	sub	r2, fp, #72
	mov	r1, r2
	mov	r0, r3
	bl	Transform
	mov	r3, #0
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L18
.L19:
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-88]
	add	r2, r2, #2
	ldr	r3, [r3, r2, lsl #2]
	and	r1, r3, #255
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	add	r3, r3, #88
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-88]
	add	r2, r2, #2
	ldr	r3, [r3, r2, lsl #2]
	lsr	r2, r3, #8
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	and	r1, r2, #255
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #88]
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-88]
	add	r2, r2, #2
	ldr	r3, [r3, r2, lsl #2]
	lsr	r2, r3, #16
	ldr	r3, [fp, #-84]
	add	r3, r3, #2
	and	r1, r2, #255
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #88]
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-88]
	add	r2, r2, #2
	ldr	r3, [r3, r2, lsl #2]
	lsr	r2, r3, #24
	ldr	r3, [fp, #-84]
	add	r3, r3, #3
	and	r1, r2, #255
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #88]
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-84]
	add	r3, r3, #4
	str	r3, [fp, #-84]
.L18:
	ldr	r3, [fp, #-88]
	cmp	r3, #3
	bls	.L19
	nop
	ldr	r3, .L21
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L20
	bl	__stack_chk_fail
.L20:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L22:
	.align	2
.L21:
	.word	.LC1
	.word	PADDING
	.size	MD5Final, .-MD5Final
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Transform, %function
Transform:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #25
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #20
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+8
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #15
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+12
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #10
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+16
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #25
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #20
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+20
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #20
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #24
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+24
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #15
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #28
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+28
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #10
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #32
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+32
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #25
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #36
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+36
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #20
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #40
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	sub	r3, r3, #41984
	sub	r3, r3, #79
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #15
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #44
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+40
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #10
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #48
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+44
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #25
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #52
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+48
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #20
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #56
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+52
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #15
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #60
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+56
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #10
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+60
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #27
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #24
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+64
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #23
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #44
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+68
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #18
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+72
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #12
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #20
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+76
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #27
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #40
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+80
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #23
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #60
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+84
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #18
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+88
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #12
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #36
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+92
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #27
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #56
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+96
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #23
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+100
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #18
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #32
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+104
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #12
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	and	r2, r2, r3
	ldr	r3, [fp, #-8]
	mvn	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #52
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+108
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #27
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	and	r2, r2, r3
	ldr	r3, [fp, #-12]
	mvn	r1, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+112
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #23
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	and	r2, r2, r3
	ldr	r3, [fp, #-16]
	mvn	r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #28
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+116
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #18
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-20]
	mvn	r1, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #48
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+120
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #12
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #20
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+124
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #28
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #32
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+128
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #21
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #44
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+132
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #16
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #56
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+136
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #9
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+140
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #28
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+144
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #21
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #28
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+148
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #16
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #40
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+152
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #9
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #52
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+156
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #28
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+160
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #21
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+164
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #16
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #24
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+168
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #9
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #36
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+172
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #28
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	b	.L25
.L26:
	.align	2
.L24:
	.word	-680876936
	.word	-389564586
	.word	606105819
	.word	-1044525330
	.word	-176418897
	.word	1200080426
	.word	-1473231341
	.word	-45705983
	.word	1770035416
	.word	-1958414417
	.word	-1990404162
	.word	1804603682
	.word	-40341101
	.word	-1502002290
	.word	1236535329
	.word	-165796510
	.word	-1069501632
	.word	643717713
	.word	-373897302
	.word	-701558691
	.word	38016083
	.word	-660478335
	.word	-405537848
	.word	568446438
	.word	-1019803690
	.word	-187363961
	.word	1163531501
	.word	-1444681467
	.word	-51403784
	.word	1735328473
	.word	-1926607734
	.word	-378558
	.word	-2022574463
	.word	1839030562
	.word	-35309556
	.word	-1530992060
	.word	1272893353
	.word	-155497632
	.word	-1094730640
	.word	681279174
	.word	-358537222
	.word	-722521979
	.word	76029189
	.word	-640364487
	.word	-421815835
	.word	530742520
	.word	-995338651
	.word	-198630844
	.word	1126891415
	.word	-1416354905
	.word	-57434055
	.word	1700485571
	.word	-1894986606
	.word	-1051523
	.word	-2054922799
	.word	1873313359
	.word	-30611744
	.word	-1560198380
	.word	1309151649
	.word	-145523070
	.word	-1120210379
	.word	718787259
	.word	-343485551
.L25:
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #48
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+176
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #21
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #60
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+180
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #16
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+184
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #9
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	mvn	r2, r3
	ldr	r3, [fp, #-16]
	orr	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+188
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #26
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	mvn	r2, r3
	ldr	r3, [fp, #-20]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #28
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+192
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #22
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mvn	r2, r3
	ldr	r3, [fp, #-8]
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #56
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+196
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #17
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	mvn	r2, r3
	ldr	r3, [fp, #-12]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #20
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+200
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #11
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	mvn	r2, r3
	ldr	r3, [fp, #-16]
	orr	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #48
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+204
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #26
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	mvn	r2, r3
	ldr	r3, [fp, #-20]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+208
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #22
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mvn	r2, r3
	ldr	r3, [fp, #-8]
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #40
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+212
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #17
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	mvn	r2, r3
	ldr	r3, [fp, #-12]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+216
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #11
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	mvn	r2, r3
	ldr	r3, [fp, #-16]
	orr	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #32
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+220
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #26
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	mvn	r2, r3
	ldr	r3, [fp, #-20]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #60
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+224
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #22
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mvn	r2, r3
	ldr	r3, [fp, #-8]
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #24
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+228
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #17
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	mvn	r2, r3
	ldr	r3, [fp, #-12]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #52
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+232
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #11
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	mvn	r2, r3
	ldr	r3, [fp, #-16]
	orr	r2, r2, r3
	ldr	r3, [fp, #-12]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, .L24+236
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ror	r3, r3, #26
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	mvn	r2, r3
	ldr	r3, [fp, #-20]
	orr	r2, r2, r3
	ldr	r3, [fp, #-16]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #44
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, .L24+240
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ror	r3, r3, #22
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mvn	r2, r3
	ldr	r3, [fp, #-8]
	orr	r2, r2, r3
	ldr	r3, [fp, #-20]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, .L24+244
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ror	r3, r3, #17
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	mvn	r2, r3
	ldr	r3, [fp, #-12]
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	eor	r2, r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, #36
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, .L24+248
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ror	r3, r3, #11
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r2, [fp, #-16]
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r2, [fp, #-12]
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #12
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #12
	ldr	r2, [fp, #-8]
	add	r2, r1, r2
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Transform, .-Transform
	.section	.rodata
	.align	2
.LC2:
	.ascii	"%02x\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MDPrint, %function
MDPrint:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L28
.L29:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #88
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L30
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L28:
	ldr	r3, [fp, #-8]
	cmp	r3, #15
	ble	.L29
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L31:
	.align	2
.L30:
	.word	.LC2
	.size	MDPrint, .-MDPrint
	.data
	.align	2
	.type	TEST_BYTES, %object
	.size	TEST_BYTES, 4
TEST_BYTES:
	.word	10000000
	.section	.rodata
	.align	2
.LC3:
	.ascii	"MD5 time trial. Processing %ld characters...\012\000"
	.align	2
.LC4:
	.ascii	" is digest of test input.\000"
	.align	2
.LC5:
	.ascii	"Seconds to process test input: %ld\012\000"
	.global	__aeabi_idiv
	.align	2
.LC6:
	.ascii	"Characters processed per second: %ld\012\000"
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MDTimeTrial, %function
MDTimeTrial:
	@ args = 0, pretend = 0, frame = 1120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1120
	ldr	r3, .L38
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1116]
	b	.L33
.L34:
	ldr	r3, [fp, #-1116]
	and	r1, r3, #255
	sub	r2, fp, #1008
	ldr	r3, [fp, #-1116]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-1116]
	add	r3, r3, #1
	str	r3, [fp, #-1116]
.L33:
	ldr	r3, [fp, #-1116]
	cmp	r3, #1000
	bcc	.L34
	ldr	r3, .L38+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L38+8
	bl	printf
	sub	r3, fp, #1104
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r0, r3
	bl	time
	sub	r3, fp, #1104
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	MD5Init
	ldr	r3, .L38+12
	str	r3, [fp, #-1116]
	b	.L35
.L36:
	sub	r1, fp, #1008
	sub	r3, fp, #1104
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #1000
	mov	r0, r3
	bl	MD5Update
	ldr	r3, [fp, #-1116]
	sub	r3, r3, #1
	str	r3, [fp, #-1116]
.L35:
	ldr	r3, [fp, #-1116]
	cmp	r3, #0
	bne	.L36
	sub	r3, fp, #1104
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	MD5Final
	sub	r3, fp, #1120
	sub	r3, r3, #4
	mov	r0, r3
	bl	time
	sub	r3, fp, #1104
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	MDPrint
	ldr	r0, .L38+16
	bl	puts
	ldr	r2, [fp, #-1124]
	ldr	r3, [fp, #-1120]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L38+20
	bl	printf
	ldr	r3, .L38+4
	ldr	r0, [r3]
	ldr	r2, [fp, #-1124]
	ldr	r3, [fp, #-1120]
	sub	r3, r2, r3
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L38+24
	bl	printf
	nop
	ldr	r3, .L38
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L37
	bl	__stack_chk_fail
.L37:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L39:
	.align	2
.L38:
	.word	.LC7
	.word	TEST_BYTES
	.word	.LC3
	.word	10000
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.size	MDTimeTrial, .-MDTimeTrial
	.section	.rodata
	.align	2
.LC8:
	.ascii	" \"%s\"\012\012\000"
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MDString, %function
MDString:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-120]
	ldr	r3, .L42
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-120]
	bl	strlen
	str	r0, [fp, #-116]
	sub	r3, fp, #112
	mov	r0, r3
	bl	MD5Init
	sub	r3, fp, #112
	ldr	r2, [fp, #-116]
	ldr	r1, [fp, #-120]
	mov	r0, r3
	bl	MD5Update
	sub	r3, fp, #112
	mov	r0, r3
	bl	MD5Final
	sub	r3, fp, #112
	mov	r0, r3
	bl	MDPrint
	ldr	r1, [fp, #-120]
	ldr	r0, .L42+4
	bl	printf
	nop
	ldr	r3, .L42
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L41
	bl	__stack_chk_fail
.L41:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L43:
	.align	2
.L42:
	.word	.LC9
	.word	.LC8
	.size	MDString, .-MDString
	.section	.rodata
	.align	2
.LC10:
	.ascii	"rb\000"
	.align	2
.LC11:
	.ascii	"%s can't be opened.\012\000"
	.align	2
.LC12:
	.ascii	" %s\012\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MDFile, %function
MDFile:
	@ args = 0, pretend = 0, frame = 1152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1152
	str	r0, [fp, #-1152]
	ldr	r3, .L50
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, .L50+4
	ldr	r0, [fp, #-1152]
	bl	fopen
	str	r0, [fp, #-1144]
	ldr	r3, [fp, #-1144]
	cmp	r3, #0
	bne	.L45
	ldr	r1, [fp, #-1152]
	ldr	r0, .L50+8
	bl	printf
	b	.L44
.L45:
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r0, r3
	bl	MD5Init
	b	.L47
.L48:
	sub	r1, fp, #1024
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	ldr	r2, [fp, #-1140]
	mov	r0, r3
	bl	MD5Update
.L47:
	sub	r0, fp, #1024
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-1144]
	mov	r2, #1024
	mov	r1, #1
	bl	fread
	mov	r3, r0
	str	r3, [fp, #-1140]
	ldr	r3, [fp, #-1140]
	cmp	r3, #0
	bne	.L48
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r0, r3
	bl	MD5Final
	sub	r3, fp, #1120
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r0, r3
	bl	MDPrint
	ldr	r1, [fp, #-1152]
	ldr	r0, .L50+12
	bl	printf
	ldr	r0, [fp, #-1144]
	bl	fclose
.L44:
	ldr	r3, .L50
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L49
	bl	__stack_chk_fail
.L49:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L51:
	.align	2
.L50:
	.word	.LC13
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.size	MDFile, .-MDFile
	.section	.rodata
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MDFilter, %function
MDFilter:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	ldr	r3, .L56
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #128
	mov	r0, r3
	bl	MD5Init
	b	.L53
.L54:
	sub	r1, fp, #24
	sub	r3, fp, #128
	ldr	r2, [fp, #-132]
	mov	r0, r3
	bl	MD5Update
.L53:
	ldr	r3, .L56+4
	ldr	r3, [r3]
	sub	r0, fp, #24
	mov	r2, #16
	mov	r1, #1
	bl	fread
	mov	r3, r0
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	bne	.L54
	sub	r3, fp, #128
	mov	r0, r3
	bl	MD5Final
	sub	r3, fp, #128
	mov	r0, r3
	bl	MDPrint
	mov	r0, #10
	bl	putchar
	nop
	ldr	r3, .L56
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L55
	bl	__stack_chk_fail
.L55:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L57:
	.align	2
.L56:
	.word	.LC14
	.word	stdin
	.size	MDFilter, .-MDFilter
	.section	.rodata
	.align	2
.LC15:
	.ascii	"MD5 test suite results:\012\000"
	.align	2
.LC16:
	.ascii	"\000"
	.align	2
.LC17:
	.ascii	"a\000"
	.align	2
.LC18:
	.ascii	"abc\000"
	.align	2
.LC19:
	.ascii	"message digest\000"
	.align	2
.LC20:
	.ascii	"abcdefghijklmnopqrstuvwxyz\000"
	.align	2
.LC21:
	.ascii	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxy"
	.ascii	"z0123456789\000"
	.align	2
.LC22:
	.ascii	"123456789012345678901234567890123456789012345678901"
	.ascii	"23456789012345678901234567890\000"
	.align	2
.LC23:
	.ascii	"foo\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MDTestSuite, %function
MDTestSuite:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L59
	bl	puts
	ldr	r0, .L59+4
	bl	MDString
	ldr	r0, .L59+8
	bl	MDString
	ldr	r0, .L59+12
	bl	MDString
	ldr	r0, .L59+16
	bl	MDString
	ldr	r0, .L59+20
	bl	MDString
	ldr	r0, .L59+24
	bl	MDString
	ldr	r0, .L59+28
	bl	MDString
	ldr	r0, .L59+32
	bl	MDFile
	nop
	pop	{fp, pc}
.L60:
	.align	2
.L59:
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.size	MDTestSuite, .-MDTestSuite
	.section	.rodata
	.align	2
.LC24:
	.ascii	"-t\000"
	.align	2
.LC25:
	.ascii	"-x\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L62
	bl	MDFilter
	b	.L70
.L62:
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L64
.L69:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L65
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #115
	bne	.L65
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	bl	MDString
	b	.L66
.L65:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L71
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L67
	bl	MDTimeTrial
	b	.L66
.L67:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L71+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L68
	bl	MDTestSuite
	b	.L66
.L68:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	MDFile
.L66:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L64:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L69
.L70:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L72:
	.align	2
.L71:
	.word	.LC24
	.word	.LC25
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
