	.file	"6387271.c"
	.intel_syntax noprefix
	.text
	.globl	weird_ror8
	.type	weird_ror8, @function
weird_ror8:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	DWORD PTR -8[rbp], esi
	mov	BYTE PTR -4[rbp], al
	cmp	DWORD PTR -8[rbp], 0
	jne	.L2
	mov	eax, 0
	jmp	.L3
.L2:
	movzx	edx, BYTE PTR -4[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	movzx	esi, al
	movzx	edx, BYTE PTR -4[rbp]
	mov	eax, 8
	sub	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	eax, esi
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	weird_ror8, .-weird_ror8
	.globl	weird_rol8
	.type	weird_rol8, @function
weird_rol8:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	DWORD PTR -8[rbp], esi
	mov	BYTE PTR -4[rbp], al
	cmp	DWORD PTR -8[rbp], 0
	jne	.L5
	mov	eax, 0
	jmp	.L6
.L5:
	movzx	edx, BYTE PTR -4[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	movzx	esi, al
	movzx	edx, BYTE PTR -4[rbp]
	mov	eax, 8
	sub	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	or	eax, esi
.L6:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	weird_rol8, .-weird_rol8
	.globl	weird_rol32
	.type	weird_rol32, @function
weird_rol32:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	DWORD PTR -8[rbp], esi
	mov	BYTE PTR -4[rbp], al
	cmp	DWORD PTR -8[rbp], 0
	jne	.L8
	mov	eax, 0
	jmp	.L9
.L8:
	movzx	edx, BYTE PTR -4[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	ecx, eax
	sal	esi, cl
	movzx	edx, BYTE PTR -4[rbp]
	mov	eax, 8
	sub	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	xor	eax, esi
.L9:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	weird_rol32, .-weird_rol32
	.globl	garble
	.type	garble, @function
garble:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 152
	.cfi_offset 3, -24
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	QWORD PTR -144[rbp], rcx
	mov	QWORD PTR -152[rbp], r8
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	and	eax, 92
	mov	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 99
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	and	eax, 35
	mov	ebx, ecx
	or	ebx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 206
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, 4
	mov	edi, eax
	call	rol8x@PLT
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2249744775
	imul	rax, rdx
	shr	rax, 32
	mov	rdx, rax
	mov	eax, ecx
	sub	eax, edx
	shr	eax
	add	eax, edx
	shr	eax, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	edx, edx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, ebx
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 12
	add	edx, 20
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 99
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	ecx, eax
	shr	cl, 2
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 99
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 2
	mov	eax, ecx
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 4
	add	edx, edx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 34
	mov	BYTE PTR [rax], -72
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 153
	movzx	eax, BYTE PTR [rax]
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 203
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 203
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, ecx
	imul	eax, edx
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, 190
	movzx	edx, BYTE PTR [rdx]
	imul	eax, edx
	xor	edi, eax
	mov	edx, edi
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 153
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 3
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 205
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al
	and	eax, 16
	or	eax, 64
	mov	ecx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 3
	sub	esi, ecx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	mov	BYTE PTR [rax], -109
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 13
	mov	BYTE PTR [rax], 98
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 33
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 36
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -10
	mov	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 33
	sub	esi, ecx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 67
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -108[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 12
	mov	BYTE PTR [rax], 7
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 181
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	sub	edx, 64
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 58
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, 19
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 32
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, 92
	sub	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 15
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	sub	edx, 98
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 34
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 15
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, 158
	movzx	ecx, al
	movsx	rax, ecx
	imul	rax, rax, 818089009
	shr	rax, 32
	sar	eax, 2
	mov	edi, ecx
	sar	edi, 31
	sub	eax, edi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	movsx	rdx, edx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 2
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 34
	add	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 19
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al
	and	eax, 102
	sub	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 19
	sub	edx, 26
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 72
	movzx	eax, BYTE PTR [rax]
	movzx	esi, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 190
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	edi, esi
	mov	ecx, eax
	sar	edi, cl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 72
	movzx	eax, BYTE PTR [rax]
	movzx	esi, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 190
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	neg	eax
	and	eax, 7
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	xor	edi, eax
	mov	esi, edi
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 126
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	ecx, eax
	lea	edx, 0[0+rax*4]
	mov	eax, ecx
	sub	eax, edx
	add	eax, esi
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	xor	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 15
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 181
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 181
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, ecx
	imul	eax, edx
	mov	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 181
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, ecx
	imul	eax, edx
	xor	edi, eax
	mov	edx, edi
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 4
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 202
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 4
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, 92
	sub	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 105
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	or	eax, DWORD PTR -100[rbp]
	and	eax, 198
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 105
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	and	eax, DWORD PTR -100[rbp]
	or	eax, edx
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 1
	movzx	ecx, BYTE PTR [rax]
	mov	eax, DWORD PTR -96[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -96[rbp]
	mov	edx, eax
	mov	eax, esi
	imul	eax, edx
	mov	edx, DWORD PTR -96[rbp]
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 1
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 19
	movzx	eax, BYTE PTR [rax]
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 92
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 27
	or	al, -32
	mov	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 41
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	xor	edi, eax
	mov	edx, edi
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 19
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	esi, eax
	mov	edi, 92
	call	weird_ror8
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 140
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 140
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 12
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 4
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 12
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	shr	al
	add	eax, edi
	shr	al, 5
	mov	edi, 35
	imul	eax, edi
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	xor	eax, esi
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 182
	movzx	eax, BYTE PTR [rax]
	or	eax, edx
	and	eax, -64
	mov	r8d, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 4
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 12
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	shr	al
	add	eax, edi
	shr	al, 5
	mov	edi, 35
	imul	eax, edi
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	xor	eax, esi
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 182
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	eax, r8d
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 12
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 36
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 36
	add	edx, 125
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 138
	movzx	eax, BYTE PTR [rax]
	and	eax, 74
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 138
	movzx	eax, BYTE PTR [rax]
	or	eax, 74
	mov	ecx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	mov	esi, edx
	or	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 43
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, esi
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 138
	movzx	eax, BYTE PTR [rax]
	and	eax, 74
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 138
	movzx	eax, BYTE PTR [rax]
	or	eax, 74
	mov	ecx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	mov	esi, edx
	or	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 43
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, esi
	and	eax, 95
	or	eax, edi
	movzx	eax, al
	mov	esi, 4
	mov	edi, eax
	call	rol8x@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 124
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 95
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 68
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	and	eax, 92
	and	eax, esi
	or	eax, 16
	xor	eax, 92
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 177
	movzx	eax, BYTE PTR [rax]
	movzx	esi, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 79
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, esi
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	shr	eax
	mov	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 148
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	or	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	ecx, edx
	and	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	shr	eax
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 148
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	and	eax, esi
	or	eax, ecx
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 12
	mov	edx, -34
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 22
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	edx, eax
	mov	eax, 8
	sub	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 33
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -100[rbp]
	and	eax, 7
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 33
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 22
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -97
	mov	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, edi
	or	eax, 8
	mov	edx, eax
	mov	eax, DWORD PTR -88[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -84[rbp]
	xor	eax, ecx
	or	eax, -128
	sub	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	add	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 14
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 12
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 14
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 112
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	and	eax, 7
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 201
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edi, eax
	call	weird_rol8
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 208
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 131
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 164
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 124
	or	eax, esi
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 19
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	shr	eax, 2
	mov	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	and	ecx, eax
	mov	eax, DWORD PTR -92[rbp]
	mov	esi, eax
	mov	eax, 3435973837
	imul	rax, rsi
	shr	rax, 32
	shr	eax, 2
	mov	esi, eax
	mov	eax, DWORD PTR -100[rbp]
	or	eax, esi
	and	eax, 37
	or	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 19
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 45
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	esi, 92[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 45
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, 92
	imul	eax, esi
	and	eax, 7
	mov	esi, eax
	mov	edi, 140
	call	weird_ror8
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 190
	mov	BYTE PTR [rax], 56
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 83
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, -52
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 2
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 53
	not	edx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 13
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 41
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 13
	add	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	mov	esi, edx
	and	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	or	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 12
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -120[rbp]
	lea	rcx, 10[rax]
	movzx	edx, dl
	mov	eax, edx
	sal	eax, 4
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	shr	ax, 8
	shr	al, 3
	mov	BYTE PTR [rcx], al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 68
	or	eax, 56
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	eax, esi
	and	eax, 42
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 2
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 68
	or	eax, 56
	mov	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, edi
	or	eax, esi
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	mov	edx, eax
	mov	eax, ecx
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 16
	add	edx, 110
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 16
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	mov	edx, -54
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -128[rbp]
	movzx	eax, BYTE PTR 151[rax]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 13
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 13
	xor	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 179
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edx, -38[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 12
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	eax, edx
	and	eax, 177
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 179
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edx, -38[rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 12
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	or	eax, DWORD PTR -84[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -88[rbp]
	or	eax, DWORD PTR -84[rbp]
	mov	edx, eax
	mov	eax, ecx
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 28
	add	edx, 30
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 28
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 32
	add	edx, 62
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 74
	lea	esi, [rdx+rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	or	eax, esi
	and	eax, 121
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 74
	lea	esi, [rdx+rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	and	eax, esi
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	or	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	or	eax, DWORD PTR -88[rbp]
	xor	eax, -90
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	eax, edx
	and	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -100[rbp]
	or	eax, DWORD PTR -88[rbp]
	xor	eax, -90
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, ecx
	or	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 89
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, DWORD PTR -84[rbp]
	lea	ecx, [rax+rdx]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 47
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 47
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -104[rbp]
	and	eax, -77
	add	eax, 68
	movzx	eax, al
	mov	esi, 2
	mov	edi, eax
	call	rol8@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	and	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	not	eax
	mov	ecx, eax
	mov	eax, DWORD PTR -108[rbp]
	and	eax, ecx
	or	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 36
	sub	edx, 15
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 123
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 123
	xor	edx, -35
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	movzx	ecx, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, ecx
	sub	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 163
	add	eax, 92
	and	eax, 246
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 92
	or	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 24
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	eax, DWORD PTR -84[rbp]
	and	eax, 54
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 24
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, DWORD PTR -84[rbp]
	or	eax, edx
	mov	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -96[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -80[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al
	and	eax, 101
	add	eax, 26
	xor	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 44
	xor	edx, 81
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 48
	and	edx, 27
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 52
	mov	BYTE PTR [rax], 27
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 56
	mov	BYTE PTR [rax], -57
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 4
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 24
	movzx	eax, BYTE PTR [rax]
	or	eax, edx
	and	eax, -79
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 24
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	mov	edi, ecx
	or	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	or	eax, -80
	mov	r8d, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -4
	or	eax, r8d
	and	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 24
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 24
	movzx	eax, BYTE PTR [rax]
	or	eax, edx
	and	eax, -79
	or	eax, ecx
	and	eax, -57
	mov	r8d, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 1
	sub	eax, 80
	mov	r9d, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -4
	mov	edx, r9d
	or	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 56
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	eax, r8d
	or	edi, eax
	mov	edx, edi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 52
	movzx	eax, BYTE PTR [rax]
	not	eax
	and	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 48
	movzx	eax, BYTE PTR [rax]
	or	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	add	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 33
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 26
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 33
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 106
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	eax, BYTE PTR [rax]
	xor	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 106
	xor	edx, -123
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, -28
	or	eax, 19
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 122
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	xor	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 30
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 90
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 27
	or	eax, 68
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 22
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 36
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 184
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 44
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	al, 71
	or	eax, esi
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 18
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -100[rbp]
	imul	eax, eax
	imul	eax, DWORD PTR -100[rbp]
	shr	eax
	mov	ecx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 18
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 5
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 92
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 5
	sub	esi, ecx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 41
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, -25
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 183
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 24
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, 53
	mov	edi, edx
	and	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	movzx	eax, al
	or	eax, edi
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 44
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	mov	esi, edx
	and	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 59
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 44
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	movzx	eax, al
	or	eax, esi
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 18
	movzx	ecx, BYTE PTR [rax]
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -88[rbp]
	mov	edx, eax
	mov	eax, esi
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 18
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 28
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 11
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, edx
	mov	edi, eax
	call	weird_ror8
	and	eax, 7
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 93
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 14
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	and	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 14
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 150
	or	eax, edx
	and	eax, -29
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 7
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 28
	or	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	ecx, DWORD PTR -100[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, ecx
	mov	edi, eax
	call	weird_rol8
	mov	edx, eax
	mov	eax, DWORD PTR -88[rbp]
	or	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 33
	movzx	eax, BYTE PTR [rax]
	mov	ebx, edx
	and	ebx, eax
	mov	ecx, DWORD PTR -100[rbp]
	mov	rax, QWORD PTR -144[rbp]
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, ecx
	mov	edi, eax
	call	weird_rol8
	mov	edx, eax
	mov	eax, DWORD PTR -88[rbp]
	and	eax, edx
	or	ebx, eax
	mov	edx, ebx
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 22
	add	edx, 74
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 39
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	xor	eax, -39
	mov	edx, eax
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	or	eax, ecx
	and	eax, -42
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	or	eax, esi
	mov	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, ecx
	and	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	or	eax, ecx
	and	eax, -42
	mov	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	or	eax, edi
	mov	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	or	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 32
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	or	esi, eax
	mov	ecx, esi
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 57
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, esi
	movzx	esi, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 57
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	shr	al
	add	eax, edi
	shr	al, 5
	mov	edi, 35
	imul	eax, edi
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, ecx
	movzx	eax, al
	and	eax, 95
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 45
	or	eax, edx
	and	eax, 32
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 57
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, esi
	movzx	esi, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 57
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, edi
	movzx	eax, al
	and	eax, 95
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 45
	or	eax, 82
	and	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	movzx	eax, al
	mov	rdx, QWORD PTR -144[rbp]
	add	rdx, 64
	movzx	ecx, BYTE PTR [rdx]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, 22
	movzx	edx, BYTE PTR [rdx]
	or	edx, ecx
	movzx	edx, dl
	sub	eax, edx
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 28
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, 62
	xor	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -88[rbp]
	or	eax, DWORD PTR -84[rbp]
	xor	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	movzx	ecx, al
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	edx, eax
	shr	edx, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	mov	edx, edx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 99
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 99
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, esi
	imul	eax, edx
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 99
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, esi
	imul	eax, edx
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 99
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, esi
	imul	eax, edx
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 68
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 50
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -72[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 138
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -68[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 39
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -64[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 4
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 202
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 151
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 14
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 145
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 68
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 209
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, esi
	movzx	esi, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 68
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 209
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, edi
	movzx	eax, al
	and	eax, 24
	or	eax, esi
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 68
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 127
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edi, eax
	call	weird_rol8
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, DWORD PTR -100[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	and	eax, DWORD PTR -88[rbp]
	or	eax, edx
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 36
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	xor	eax, 7
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	and	eax, 71
	mov	ecx, eax
	mov	eax, DWORD PTR -92[rbp]
	and	eax, -72
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 72
	or	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	and	eax, -97
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 190
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 96
	or	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 110
	mov	r8d, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 25
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -111
	or	eax, r8d
	and	eax, 105
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 25
	movzx	eax, BYTE PTR [rax]
	and	eax, -106
	or	eax, edx
	and	eax, edi
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 2
	add	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 14
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 72
	movzx	edi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 100
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	r8d, eax
	mov	eax, edx
	sub	eax, r8d
	shr	al
	add	eax, r8d
	shr	al, 5
	mov	r8d, 35
	imul	eax, r8d
	mov	r8d, eax
	mov	eax, edx
	sub	eax, r8d
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	xor	eax, edi
	and	eax, esi
	and	eax, -35
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 97
	movzx	eax, BYTE PTR [rax]
	and	eax, 34
	or	eax, edx
	mov	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 14
	sub	ecx, esi
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 17
	mov	BYTE PTR [rax], 115
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 23
	movzx	eax, BYTE PTR [rax]
	mov	r9d, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 72
	movzx	eax, BYTE PTR [rax]
	mov	edi, edx
	and	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, esi
	or	edi, eax
	mov	ecx, edi
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 50
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	and	eax, ecx
	movzx	esi, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	edi, eax
	mov	edx, edi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 72
	movzx	eax, BYTE PTR [rax]
	and	edx, eax
	mov	r8d, edx
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, edi
	mov	ecx, r8d
	or	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 50
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	or	eax, ecx
	movzx	eax, al
	and	eax, 246
	or	eax, esi
	add	eax, eax
	mov	edx, r9d
	xor	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 23
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	or	eax, edx
	movzx	eax, al
	and	eax, 82
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 10
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	movzx	eax, al
	or	eax, esi
	and	eax, 209
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 39
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	and	eax, 46
	or	eax, esi
	sar	eax
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 13
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 33
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 113
	movzx	eax, BYTE PTR [rax]
	and	eax, 9
	mov	ecx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 33
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 28
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 110
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sar	eax
	and	eax, 32
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	eax, BYTE PTR [rax]
	and	eax, -33
	or	eax, ecx
	mov	ecx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 28
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -72[rbp]
	and	eax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -56[rbp]
	or	eax, ecx
	movzx	eax, al
	mov	esi, edx
	mov	edi, eax
	call	weird_rol8
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, DWORD PTR -76[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	and	eax, DWORD PTR -68[rbp]
	or	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 33
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 17
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	and	eax, -18
	or	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	edx, DWORD PTR -100[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, edx
	mov	edx, eax
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	or	eax, DWORD PTR -60[rbp]
	and	eax, 147
	mov	ecx, eax
	mov	edx, DWORD PTR -100[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, edx
	mov	edx, eax
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	and	eax, DWORD PTR -60[rbp]
	or	eax, ecx
	mov	DWORD PTR -96[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -96[rbp]
	add	eax, edx
	movzx	ecx, al
	mov	edx, ecx
	mov	eax, 2249744775
	imul	rax, rdx
	shr	rax, 32
	mov	rdx, rax
	mov	eax, ecx
	sub	eax, edx
	shr	eax
	add	eax, edx
	shr	eax, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	edx, edx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edi, esi
	and	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -96[rbp]
	add	eax, edx
	movzx	ecx, al
	mov	edx, ecx
	mov	eax, 2249744775
	imul	rax, rdx
	shr	rax, 32
	mov	rdx, rax
	mov	eax, ecx
	sub	eax, edx
	shr	eax
	add	eax, edx
	shr	eax, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	edx, edx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 23
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	eax, edi
	movzx	eax, al
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	sub	eax, 48
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 184
	movzx	eax, BYTE PTR [rax]
	not	eax
	or	eax, -67
	and	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 184
	movzx	eax, BYTE PTR [rax]
	not	eax
	and	eax, -67
	or	eax, edx
	mov	esi, eax
	mov	eax, DWORD PTR -36[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -36[rbp]
	mov	edx, eax
	mov	eax, ecx
	imul	eax, edx
	mov	edx, DWORD PTR -36[rbp]
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	and	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 22
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 183
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 22
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 1
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	xor	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 76
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	ecx, DWORD PTR -40[rbp]
	mov	edx, DWORD PTR -96[rbp]
	add	edx, ecx
	add	eax, edx
	movzx	eax, al
	mov	ecx, eax
	mov	edx, 3558687189
	imul	rdx, rcx
	mov	rcx, rdx
	shr	rcx, 32
	mov	edx, eax
	sub	edx, ecx
	shr	edx
	add	edx, ecx
	shr	edx, 5
	imul	ecx, edx, 35
	sub	eax, ecx
	mov	edx, eax
	mov	edx, edx
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 178
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 178
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	or	eax, DWORD PTR -100[rbp]
	and	eax, 209
	or	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 13
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 26
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al
	movzx	eax, al
	imul	eax, esi
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	imul	eax, eax, 198
	mov	edx, DWORD PTR -32[rbp]
	imul	edx, edx, 396
	add	edx, 1191179776
	and	edx, 212
	sub	eax, edx
	add	eax, 595589867
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 36
	movzx	eax, BYTE PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	xor	edx, -108
	add	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, eax
	xor	eax, -42
	add	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 80
	sub	edx, 127
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -11
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, 10
	or	esi, eax
	mov	edx, esi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 84
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 68
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, 81
	movzx	eax, al
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 18
	movzx	ecx, BYTE PTR [rax]
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -100[rbp]
	mov	edx, eax
	mov	eax, esi
	imul	eax, edx
	mov	edx, DWORD PTR -100[rbp]
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	not	eax
	mov	esi, edx
	and	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 80
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 4
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 3
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	esi, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 18
	sub	ecx, esi
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	mov	edx, DWORD PTR -40[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -96[rbp]
	lea	esi, [rdx+rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 160
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	sub	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -96[rbp]
	add	eax, edx
	movzx	ecx, al
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	edx, eax
	shr	edx, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	mov	edx, edx
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 88
	add	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 72
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	xor	eax, DWORD PTR -44[rbp]
	and	al, 57
	mov	edx, eax
	mov	eax, DWORD PTR -48[rbp]
	imul	eax, eax
	and	eax, 198
	or	eax, edx
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 69
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 172
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	movzx	esi, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 69
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 172
	movzx	eax, BYTE PTR [rax]
	or	eax, edx
	movzx	edx, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 12
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sub	eax, DWORD PTR -88[rbp]
	add	eax, 77
	and	eax, edx
	or	eax, esi
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 72
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	and	eax, -6
	or	eax, 1
	and	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	and	eax, -6
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 72
	movzx	eax, BYTE PTR [rax]
	or	eax, ecx
	and	eax, -58
	mov	ecx, edx
	or	ecx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	mov	edx, -109
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 168
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 29
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, esi
	movzx	eax, al
	and	eax, 7
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 168
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 29
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, esi
	movzx	eax, al
	and	eax, 6
	or	eax, edi
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 155
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 105
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	movzx	esi, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 155
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 105
	movzx	eax, BYTE PTR [rax]
	or	eax, edx
	movzx	eax, al
	and	eax, 141
	or	eax, esi
	mov	DWORD PTR -32[rbp], eax
	mov	edx, DWORD PTR -84[rbp]
	mov	eax, DWORD PTR -32[rbp]
	movzx	eax, al
	mov	esi, edx
	mov	edi, eax
	call	weird_rol32
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2249744775
	imul	rax, rdx
	shr	rax, 32
	mov	rdx, rax
	mov	eax, ecx
	sub	eax, edx
	shr	eax
	add	eax, edx
	shr	eax, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	edx, edx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 3
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 3
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 61
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	shr	al, 2
	movzx	eax, al
	and	eax, 7
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 12
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, edx
	mov	edi, eax
	call	weird_ror8
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 84
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	mov	edx, eax
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 5
	xor	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 198
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 3
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 198
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, -94
	movzx	eax, al
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 164
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -100[rbp]
	imul	eax, eax
	mov	ecx, eax
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	shr	eax, 2
	mov	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 164
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 80
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	esi, eax
	mov	edi, 139
	call	weird_ror8
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	esi, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, esi
	and	eax, 95
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, -96
	or	eax, esi
	mov	DWORD PTR -84[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	or	eax, edx
	and	eax, 12
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	and	eax, edx
	or	esi, eax
	mov	edx, esi
	mov	eax, DWORD PTR -84[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 92
	or	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 12
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 103
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 32
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 92
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 103
	movzx	eax, BYTE PTR [rax]
	or	eax, 60
	and	eax, edx
	movzx	eax, al
	or	eax, esi
	or	eax, 16
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 12
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	lea	rdx, 96[rax]
	mov	rax, QWORD PTR -128[rbp]
	movzx	eax, BYTE PTR 143[rax]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 100
	mov	BYTE PTR [rax], 27
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	not	eax
	mov	ecx, edx
	and	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 35
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	xor	eax, 119
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 104
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	mov	ecx, edx
	and	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 35
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	movzx	eax, al
	or	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 108
	and	edx, -18
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	not	eax
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 84
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	and	eax, ecx
	xor	eax, 49
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 112
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 84
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	movzx	eax, al
	and	eax, ecx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 116
	and	edx, 98
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 35
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	movzx	edx, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	and	eax, ecx
	or	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, DWORD PTR -100[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 84
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	movzx	edx, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	not	eax
	and	eax, edx
	or	eax, ecx
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 96
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 172
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sar	eax
	and	eax, 32
	lea	edx, 86[rax]
	mov	eax, DWORD PTR -88[rbp]
	mov	esi, edx
	and	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 172
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sar	eax
	and	eax, 32
	xor	eax, 86
	mov	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	not	eax
	mov	r8d, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 84
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	shr	ax, 8
	shr	al
	and	r8d, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	not	eax
	and	edx, eax
	mov	r9d, edx
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 35
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	mov	edx, r9d
	or	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	eax, r8d
	or	edi, eax
	mov	edx, edi
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 100
	movzx	eax, BYTE PTR [rax]
	and	eax, edx
	or	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 143
	sub	ecx, esi
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 29
	mov	BYTE PTR [rax], -94
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 88
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 160
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 125
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 95
	or	eax, esi
	sar	eax
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 149
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 43
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 43
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, edx
	xor	eax, ecx
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	and	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -88[rbp]
	or	eax, esi
	and	eax, 115
	or	ecx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 15
	add	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 64
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 120
	sub	esi, ecx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, 95
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	ecx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 17
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, ecx
	and	eax, 7
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 80
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, ecx
	mov	edi, eax
	call	weird_ror8
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 7
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -100[rbp]
	mov	ecx, eax
	mov	eax, esi
	imul	eax, ecx
	mov	ecx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 7
	sub	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	movzx	eax, BYTE PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, 184
	movzx	edx, BYTE PTR [rdx]
	sub	eax, edx
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 202
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 202
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, esi
	imul	eax, edx
	mov	esi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 202
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, esi
	imul	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	add	edx, edi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 102
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	and	edx, -124
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	shr	al
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 68
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 124
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 7
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 80
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	and	eax, 78
	mov	edi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 88
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, -79
	or	eax, edi
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 191
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	sub	edi, eax
	mov	edx, edi
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 7
	add	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 119
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, 6
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 190
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	al, 46
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 118
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 209
	or	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 120
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	esi, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 120
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, esi
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 84
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edi, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 71
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 5
	mov	ecx, 35
	imul	eax, ecx
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 15
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	add	eax, ecx
	xor	eax, edi
	mov	ecx, eax
	mov	eax, DWORD PTR -100[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -88[rbp]
	and	edx, eax
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -88[rbp]
	or	eax, esi
	and	eax, 27
	or	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 12
	and	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 32
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 88
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	shr	al
	add	eax, esi
	shr	al, 5
	mov	esi, 35
	imul	eax, esi
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, ecx
	movzx	ecx, al
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 32
	movzx	esi, BYTE PTR [rax]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 88
	movzx	edx, BYTE PTR [rax]
	movzx	eax, dl
	imul	ax, ax, 213
	shr	ax, 8
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	shr	al
	add	eax, edi
	shr	al, 5
	mov	edi, 35
	imul	eax, edi
	mov	edi, eax
	mov	eax, edx
	sub	eax, edi
	movzx	edx, al
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	or	eax, esi
	movzx	eax, al
	and	eax, 23
	or	eax, ecx
	mov	DWORD PTR -88[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 57
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, eax, 231
	and	eax, 169
	mov	edx, eax
	mov	eax, DWORD PTR -88[rbp]
	and	eax, 86
	or	eax, edx
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 82
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, -30
	mov	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 124
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 29
	or	eax, esi
	and	eax, 190
	mov	esi, eax
	mov	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	edx, ecx
	mov	eax, 2249744775
	imul	rax, rdx
	shr	rax, 32
	mov	rdx, rax
	mov	eax, ecx
	sub	eax, edx
	shr	eax
	add	eax, edx
	shr	eax, 4
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	edx, edx
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	al, 65
	or	eax, esi
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	esi, al
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	esi, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 40
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, esi
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 82
	movzx	eax, BYTE PTR [rax]
	or	eax, 92
	movzx	eax, al
	and	eax, DWORD PTR -24[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 82
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 92
	or	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	and	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -20[rbp]
	or	eax, ecx
	and	eax, -64
	or	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	mov	ecx, eax
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	shr	eax, 2
	mov	ecx, eax
	mov	rax, QWORD PTR -144[rbp]
	sub	rax, -128
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 120
	movzx	ecx, BYTE PTR [rax]
	movzx	edx, cl
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*4]
	add	eax, edx
	shr	ax, 8
	mov	edx, eax
	shr	dl, 4
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sal	eax, 2
	sub	ecx, eax
	mov	edx, ecx
	movzx	edx, dl
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 5
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	imul	eax, edx
	mov	ebx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 124
	movzx	edx, BYTE PTR [rax]
	movzx	ecx, dl
	mov	eax, ecx
	sal	eax, 3
	add	eax, ecx
	mov	ecx, eax
	sal	ecx, 4
	sub	ecx, eax
	shr	cx, 8
	mov	eax, edx
	sub	eax, ecx
	shr	al
	add	eax, ecx
	shr	al, 4
	mov	ecx, eax
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	movzx	edx, cl
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 76
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, edx
	mov	edi, eax
	call	weird_rol8
	mov	edx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 20
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, 110
	and	eax, edx
	sub	ebx, eax
	mov	ecx, ebx
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 25
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 25
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	garble, .-garble
	.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	"6387271.c"
	.text
	.align	2
	.global	weird_ror8
	.syntax unified
	.arm
	.fpu softvfp
	.type	weird_ror8, %function
weird_ror8:
	@ 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
	mov	r3, r0
	str	r1, [fp, #-12]
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2
	mov	r3, #0
	b	.L3
.L2:
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	asr	r3, r2, r3
	and	r2, r3, #255
	ldrb	r1, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #8
	lsl	r3, r1, r3
	orr	r3, r2, r3
.L3:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	weird_ror8, .-weird_ror8
	.align	2
	.global	weird_rol8
	.syntax unified
	.arm
	.fpu softvfp
	.type	weird_rol8, %function
weird_rol8:
	@ 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
	mov	r3, r0
	str	r1, [fp, #-12]
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L5
	mov	r3, #0
	b	.L6
.L5:
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	lsl	r3, r2, r3
	and	r2, r3, #255
	ldrb	r1, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #8
	asr	r3, r1, r3
	orr	r3, r2, r3
.L6:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	weird_rol8, .-weird_rol8
	.align	2
	.global	weird_rol32
	.syntax unified
	.arm
	.fpu softvfp
	.type	weird_rol32, %function
weird_rol32:
	@ 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
	mov	r3, r0
	str	r1, [fp, #-12]
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L8
	mov	r3, #0
	b	.L9
.L8:
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	lsl	r2, r2, r3
	ldrb	r1, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #8
	asr	r3, r1, r3
	eor	r3, r3, r2
.L9:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	weird_rol32, .-weird_rol32
	.align	2
	.global	garble
	.syntax unified
	.arm
	.fpu softvfp
	.type	garble, %function
garble:
	@ args = 4, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #116
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-116]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #92
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #99
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, .L11
	umull	r0, r3, r1, r3
	lsr	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #35
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r4, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #206
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, #4
	mov	r0, r3
	bl	rol8x
	mov	r1, r0
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r2, r1, r2
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r4
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #12
	add	r2, r2, #20
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #99
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L11+32
	umull	r1, r3, r2, r3
	lsr	r3, r3, #2
	and	r3, r3, #255
	ldr	r2, [fp, #-116]
	add	r2, r2, #99
	ldrb	r2, [r2]	@ zero_extendqisi2
	ldr	r1, .L11+32
	umull	r0, r2, r1, r2
	lsr	r2, r2, #2
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #4
	lsl	r2, r2, #1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #34
	mvn	r2, #71
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #153
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #203
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #203
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, ip, r3
	and	r3, r3, #255
	ldr	r2, [fp, #-116]
	add	r2, r2, #190
	ldrb	r2, [r2]	@ zero_extendqisi2
	mul	r3, r2, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #153
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #205
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #16
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r3, #64
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	sub	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #16
	mvn	r2, #108
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #13
	mov	r2, #98
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #33
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #36
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #9
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #33
	sub	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #67
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-120]
	add	r3, r3, #12
	mov	r2, #7
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #181
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-116]
	add	r3, r3, #2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #2
	sub	r2, r2, #64
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #58
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r2, r3, r2
	ldr	r3, [fp, #-112]
	add	r3, r3, #19
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	rsb	r3, r3, #92
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #15
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #4
	sub	r2, r2, #98
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #34
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #15
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #158
	and	r1, r3, #255
	ldr	r3, .L11+4
	smull	r2, r3, r1, r3
	asr	r2, r3, #2
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r2, r1, r2
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L11+32
	umull	r1, r3, r2, r3
	lsr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #34
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #19
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, #102
	and	r3, r3, #255
	sub	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #19
	sub	r2, r2, #26
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #72
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #190
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	asr	r0, r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #72
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	ip, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #190
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	rsb	r3, r3, #0
	and	r3, r3, #7
	lsl	r3, ip, r3
	eor	r0, r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #126
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	lsl	r3, r3, #2
	sub	r3, r2, r3
	add	r3, r0, r3
	and	r3, r3, #255
	mov	r2, r3
	lsl	r2, r2, #1
	add	r3, r2, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #15
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #181
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #181
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, ip, r3
	and	ip, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #181
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, ip, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #4
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #202
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L11
	umull	r0, r3, r2, r3
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #4
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	rsb	r3, r3, #92
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #105
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	mov	r2, r3
	ldr	r3, [fp, #-96]
	orr	r3, r2, r3
	and	r2, r3, #198
	ldr	r3, [fp, #-116]
	add	r3, r3, #105
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	mov	r1, r3
	ldr	r3, [fp, #-96]
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-92]
	and	r3, r3, #255
	ldr	r2, [fp, #-92]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r3, r3, #255
	ldr	r2, [fp, #-92]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #19
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #92
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #27
	orr	ip, r3, #224
	ldr	r3, [fp, #-116]
	add	r3, r3, #41
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, ip, r3
	ldr	r2, .L11+8
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-112]
	add	r3, r3, #19
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #5
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	mov	r1, r3
	mov	r0, #92
	bl	weird_ror8
	mov	r2, r0
	ldr	r3, [fp, #-116]
	add	r3, r3, #140
	ldrb	r1, [r3]	@ zero_extendqisi2
	and	r2, r2, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #140
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #12
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #4
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #12
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, ip
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #182
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #63
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #4
	ldrb	lr, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #12
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, lr
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #182
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, ip, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #12
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #36
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #36
	add	r2, r2, #125
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #138
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #74
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #138
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #74
	and	r1, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r1
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r0, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #43
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #138
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #74
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #138
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #74
	and	r1, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r1
	and	r3, r3, #255
	orr	r3, r2, r3
	and	ip, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #43
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, ip, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #95
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r0, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #255
	mov	r1, #4
	mov	r0, r3
	bl	rol8x
	mov	r2, r0
	ldr	r3, [fp, #-116]
	add	r3, r3, #124
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #95
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #68
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #92
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r3, #16
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, #92
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #177
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #79
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r0, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	lsr	r2, r3, #1
	ldr	r3, [fp, #-116]
	add	r3, r3, #148
	b	.L12
.L13:
	.align	2
.L11:
	.word	-1431655765
	.word	818089009
	.word	1431655766
	.word	1717986919
	.word	-2004318071
	.word	-2045222521
	.word	-1431655765
	.word	-736280107
	.word	-858993459
.L12:
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	ldr	r1, .L11+12
	smull	r0, r1, r3, r1
	asr	r1, r1, #1
	asr	r3, r3, #31
	sub	r3, r1, r3
	orr	r3, r2, r3
	ldr	r2, [fp, #-120]
	add	r2, r2, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	and	r2, r2, r3
	ldr	r3, [fp, #-96]
	lsr	r1, r3, #1
	ldr	r3, [fp, #-116]
	add	r3, r3, #148
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	mov	r3, r0
	lsl	r3, r3, #1
	add	r3, r3, r0
	ldr	r0, .L11+12
	smull	ip, r0, r3, r0
	asr	r0, r0, #1
	asr	r3, r3, #31
	sub	r3, r0, r3
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r1, r3, #255
	ldr	r3, [fp, #-124]
	add	r2, r3, #12
	mvn	r3, #33
	sub	r3, r3, r1
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-120]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	rsb	r3, r3, #8
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-96]
	and	r3, r3, #7
	asr	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-116]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-120]
	add	r3, r3, #16
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #96
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, ip, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r3, #8
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	and	r1, r3, #255
	ldr	r3, [fp, #-80]
	and	r3, r3, #255
	eor	r3, r3, r1
	and	r3, r3, #255
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #16
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #14
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #12
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	add	r3, r3, #14
	eor	r2, r2, r0
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #201
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #112
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	and	r3, r3, #7
	mov	r1, r3
	bl	weird_rol8
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #208
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r0, r3, #131
	ldr	r3, [fp, #-116]
	add	r3, r3, #164
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #124
	orr	r3, r0, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-116]
	add	r3, r3, #19
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-88]
	ldr	r2, .L11+32
	umull	r0, r3, r2, r3
	lsr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-88]
	ldr	r0, .L11+32
	umull	ip, r3, r0, r3
	lsr	r3, r3, #2
	and	r0, r3, #255
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r3, r3, #255
	and	r3, r3, #37
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #19
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #45
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r0, r3, #92
	ldr	r3, [fp, #-116]
	add	r3, r3, #45
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #92
	mul	r3, r0, r3
	and	r3, r3, #7
	mov	r1, r3
	mov	r0, #140
	bl	weird_ror8
	mov	r2, r0
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #190
	mov	r2, #56
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #83
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r3, r3, #51
	mvn	r3, r3
	and	r3, r3, #255
	ldr	r2, .L11+32
	umull	r1, r3, r2, r3
	lsr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #53
	mvn	r2, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #13
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #41
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	add	r3, r3, #13
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r0, r3, #255
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #10
	ldr	r1, .L11+16
	umull	r0, r2, r1, r2
	lsr	r2, r2, #3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #2
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #68
	orr	r0, r3, #56
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r0, r3
	and	r0, r3, #42
	ldr	r3, [fp, #-116]
	add	r3, r3, #2
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #68
	orr	ip, r3, #56
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, ip
	orr	r3, r0, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	ldr	r2, [fp, #-96]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #16
	add	r2, r2, #110
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #16
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r2, r3, #20
	mvn	r3, #53
	sub	r3, r3, r1
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-124]
	add	r3, r3, #24
	ldr	r2, [fp, #-116]
	ldrb	r2, [r2, #151]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #13
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #13
	eor	r2, r2, r0
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #179
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #38
	ldr	r2, [fp, #-124]
	add	r2, r2, #12
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r3, r3, r2
	and	r3, r3, #177
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-116]
	add	r3, r3, #179
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #38
	ldr	r2, [fp, #-124]
	add	r2, r2, #12
	ldrb	r2, [r2]	@ zero_extendqisi2
	and	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	orr	r3, r2, r3
	and	r3, r3, #255
	ldr	r1, [fp, #-84]
	ldr	r2, [fp, #-80]
	orr	r2, r1, r2
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #28
	add	r2, r2, #30
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #28
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #32
	add	r2, r2, #62
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #74
	add	r0, r2, r3
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	orr	r3, r0, r3
	and	r3, r3, #121
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #74
	add	r0, r2, r3
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r3, r3, r0
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-84]
	orr	r3, r2, r3
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-84]
	orr	r3, r2, r3
	eor	r3, r3, #89
	mvn	r3, r3
	ldr	r2, [fp, #-124]
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r3, r3, r2
	and	r2, r3, #4
	ldr	r1, [fp, #-96]
	ldr	r3, [fp, #-84]
	orr	r3, r1, r3
	eor	r3, r3, #89
	mvn	r3, r3
	ldr	r1, [fp, #-124]
	ldrb	r1, [r1]	@ zero_extendqisi2
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-116]
	add	r3, r3, #89
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-80]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #47
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #47
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-100]
	and	r3, r3, #255
	bic	r3, r3, #76
	and	r3, r3, #255
	add	r3, r3, #68
	and	r3, r3, #255
	mov	r1, #2
	mov	r0, r3
	bl	rol8
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r1, r3, #255
	ldr	r3, [fp, #-104]
	and	r3, r3, #255
	and	r3, r3, r1
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #36
	sub	r2, r2, #15
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #123
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	add	r2, r2, #123
	eor	r3, r3, #34
	mvn	r3, r3
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L11+24
	umull	r1, r3, r2, r3
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #4
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r0, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #163
	add	r3, r3, #92
	and	r2, r3, #246
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #92
	orr	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-124]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	orr	r3, r2, r3
	and	r2, r3, #54
	ldr	r3, [fp, #-124]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-80]
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-96]
	and	r1, r3, #255
	ldr	r3, [fp, #-92]
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-76]
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, #101
	and	r3, r3, #255
	add	r3, r3, #26
	and	r3, r3, #255
	eor	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #44
	eor	r2, r2, #81
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #4
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+28
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #48
	and	r2, r2, #27
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #52
	mov	r2, #27
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #56
	mvn	r2, #56
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #4
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #78
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-124]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L11+32
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	and	r3, r3, #79
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	lr, r3, #24
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, lr, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, ip
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #24
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r1, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #78
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #56
	lsl	r3, r3, #24
	asr	lr, r3, #24
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	sub	r3, r3, #80
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r4, r3, #24
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r4, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #56
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, lr, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, ip, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #52
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #48
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #33
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #26
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #33
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #106
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r3, r3, #255
	ldr	r2, [fp, #-116]
	add	r2, r2, #106
	eor	r3, r3, #122
	mvn	r3, r3
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L14+8
	umull	r1, r3, r2, r3
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #27
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r3, #19
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #255
	sub	r3, r2, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #122
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-120]
	add	r3, r3, #30
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #90
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #27
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r3, #68
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #22
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #36
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r0, r3, #184
	ldr	r3, [fp, #-124]
	add	r3, r3, #44
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #184
	orr	r3, r0, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-120]
	add	r3, r3, #18
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	ldr	r2, [fp, #-96]
	mul	r3, r2, r3
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #18
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #5
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #92
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #5
	sub	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #41
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #183
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #24
	orr	r2, r0, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #53
	and	r0, r2, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, ip
	and	r3, r3, #255
	orr	r3, r0, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #44
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r0, r2, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #59
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #44
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	orr	r3, r0, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-120]
	add	r3, r3, #18
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	ldr	r2, [fp, #-84]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #18
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #11
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #28
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	mov	r1, r3
	bl	weird_ror8
	mov	r3, r0
	and	r3, r3, #7
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #93
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #14
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r2, r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #14
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #150
	orr	r3, r2, r3
	bic	r2, r3, #28
	ldr	r3, [fp, #-116]
	add	r3, r3, #7
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #28
	orr	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-96]
	mov	r1, r2
	mov	r0, r3
	bl	weird_rol8
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r4, r3, #255
	ldr	r3, [fp, #-124]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-96]
	mov	r1, r2
	mov	r0, r3
	bl	weird_rol8
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r3, r3, #255
	orr	r3, r4, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #22
	add	r2, r2, #74
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #39
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, #38
	mvn	r3, r3
	and	r1, r3, #255
	ldr	r3, .L14
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #41
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r0, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #41
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, ip
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r0, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r0, r3, #255
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r0, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #32
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #57
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	mov	ip, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #57
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r0, r3
	and	r3, r3, #255
	and	r3, r3, #95
	orr	r2, ip, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #45
	orr	r3, r2, r3
	and	r3, r3, #32
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-116]
	add	r3, r3, #57
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	mov	ip, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #57
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r0, r3
	and	r3, r3, #255
	and	r3, r3, #95
	orr	r2, ip, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #45
	orr	r3, r3, #82
	and	r3, r3, r2
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L14+8
	umull	r1, r3, r2, r3
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r1, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #22
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r3, r3, #255
	sub	r2, r1, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #28
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #62
	eor	r3, r3, r2
	mov	r1, r3
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	orr	r3, r2, r3
	eor	r3, r3, r1
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	and	r1, r3, #255
	ldr	r3, .L14+12
	umull	r2, r3, r1, r3
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-116]
	add	r3, r3, #99
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #99
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r0, r3
	and	r0, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #99
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r0, r3
	and	r0, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #99
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r0, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r0, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #68
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #50
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-116]
	add	r3, r3, #138
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	b	.L15
.L16:
	.align	2
.L14:
	.word	-2045222521
	.word	-736280107
	.word	-1431655765
	.word	-858993459
	.word	-2045222521
.L15:
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-116]
	add	r3, r3, #39
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-116]
	add	r3, r3, #4
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-116]
	add	r3, r3, #202
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-116]
	add	r3, r3, #151
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-116]
	add	r3, r3, #14
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-116]
	add	r3, r3, #145
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-124]
	add	r3, r3, #68
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #209
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	mov	ip, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #68
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #209
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r0, r3
	and	r3, r3, #255
	and	r3, r3, #24
	orr	r3, ip, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #127
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #68
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	mov	r1, r3
	bl	weird_rol8
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-112]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-96]
	and	r2, r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	mov	r1, r3
	ldr	r3, [fp, #-84]
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-124]
	add	r3, r3, #36
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	eor	r3, r3, #7
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-80]
	and	r3, r3, #255
	and	r3, r3, #71
	and	r1, r3, #255
	ldr	r3, [fp, #-88]
	and	r3, r3, #255
	bic	r3, r3, #71
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #72
	orr	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #96
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #190
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #96
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, ip, r3
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #110
	lsl	r3, r3, #24
	asr	lr, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #25
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #110
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, lr, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #105
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #25
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #105
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, ip
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #2
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #14
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #72
	ldrb	lr, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #100
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, lr
	and	r3, r3, #255
	and	r3, r3, ip
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #34
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #97
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #34
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #14
	sub	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #17
	mov	r2, #115
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, ip, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #72
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	ip, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	lr, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, lr
	and	r3, r3, #255
	orr	r3, ip, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #50
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, .L14+8
	umull	ip, r3, r1, r3
	lsr	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, r2
	and	r3, r3, #255
	mov	r4, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, ip, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #72
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	ip, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	lr, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, lr
	and	r3, r3, #255
	orr	r3, ip, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #50
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, .L14+8
	umull	ip, r3, r1, r3
	lsr	r3, r3, #1
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #246
	orr	r3, r4, r3
	lsl	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #23
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r3, r3, #255
	and	r0, r3, #82
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #10
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r0, r3, #209
	ldr	r3, [fp, #-116]
	add	r3, r3, #39
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+12
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	and	r3, r3, #46
	orr	r3, r0, r3
	asr	r2, r3, #1
	ldr	r3, [fp, #-112]
	add	r3, r3, #13
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #33
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #113
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #9
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #33
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #28
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #110
	ldrb	r3, [r3]	@ zero_extendqisi2
	asr	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #32
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #32
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #28
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	and	r2, r3, #255
	ldr	r3, [fp, #-52]
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-68]
	and	r3, r3, #7
	mov	r1, r3
	mov	r0, r2
	bl	weird_rol8
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-120]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-72]
	and	r2, r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, #16
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	mov	r1, r3
	ldr	r3, [fp, #-64]
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #33
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r2, r3, #17
	ldr	r3, [fp, #-60]
	bic	r3, r3, #17
	orr	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, .L14+12
	umull	r1, r3, r2, r3
	lsr	r2, r3, #2
	ldr	r3, [fp, #-56]
	orr	r3, r2, r3
	and	r2, r3, #147
	ldr	r1, [fp, #-96]
	ldr	r3, [fp, #-84]
	add	r3, r1, r3
	ldr	r1, .L14+12
	umull	r0, r3, r1, r3
	lsr	r1, r3, #2
	ldr	r3, [fp, #-56]
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r2, r1, r2
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r0, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r2, r1, r2
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, ip, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #23
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r3, r3, #255
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L14+16
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #184
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	and	r3, r3, #66
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #184
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #66
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r1, r3, #255
	ldr	r3, [fp, #-32]
	and	r3, r3, #255
	ldr	r2, [fp, #-32]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r3, r3, #255
	ldr	r2, [fp, #-32]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	and	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #22
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #183
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #22
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	lsl	r2, r2, #1
	add	r3, r2, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #76
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-92]
	add	r3, r2, r3
	add	r3, r1, r3
	and	r1, r3, #255
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r2, r1, r2
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #178
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-96]
	and	r0, r2, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #178
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-96]
	orr	r3, r2, r3
	and	r3, r3, #209
	orr	r0, r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #13
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r0, r3, r0
	ldr	r3, [fp, #-116]
	add	r3, r3, #26
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mul	r3, r0, r3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #5
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #1191182336
	sub	r3, r3, #2560
	and	r3, r3, #212
	sub	r2, r1, r3
	ldr	r3, .L17+4
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-124]
	add	r3, r3, #36
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	eor	r3, r3, #107
	mvn	r3, r3
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	lsl	r3, r3, #1
	and	r3, r3, #255
	eor	r3, r3, #41
	mvn	r3, r3
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #80
	sub	r2, r2, #127
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #10
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #10
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r0, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #84
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #68
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #81
	and	r3, r3, #255
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-120]
	add	r3, r3, #18
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	ldr	r2, [fp, #-96]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r3, r3, #255
	ldr	r2, [fp, #-96]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #80
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r0, .L17+8
	umull	ip, r3, r0, r3
	lsr	r3, r3, #3
	and	r0, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #18
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-36]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-92]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r0, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #160
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r0, r3
	and	r0, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r3, .L17+28
	umull	r2, r3, r1, r3
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L17+16
	umull	r1, r3, r2, r3
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #88
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #72
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	eor	r3, r3, r2
	bic	r2, r3, #198
	ldr	r3, [fp, #-44]
	mov	r1, r3
	mul	r1, r3, r1
	mov	r3, r1
	and	r3, r3, #198
	orr	r3, r2, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-116]
	add	r3, r3, #69
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #172
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	mov	r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #69
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #172
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-84]
	sub	r3, r1, r3
	add	r3, r3, #77
	and	r3, r3, r2
	orr	r3, r0, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-124]
	add	r3, r3, #72
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	bic	r3, r3, #5
	and	r3, r3, #255
	orr	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	bic	r3, r3, #5
	and	r1, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #72
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r1, r3
	and	r3, r3, #255
	bic	r3, r3, #57
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r1, r3, #255
	ldr	r3, [fp, #-112]
	add	r2, r3, #16
	mvn	r3, #108
	sub	r3, r3, r1
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-116]
	add	r3, r3, #168
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #29
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	and	r0, r3, #7
	ldr	r3, [fp, #-116]
	add	r3, r3, #168
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #29
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, ip, r3
	and	r3, r3, #255
	and	r3, r3, #6
	orr	r3, r0, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-116]
	add	r3, r3, #155
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #105
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	mov	r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #155
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #105
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #141
	orr	r3, r0, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	ldr	r2, [fp, #-80]
	mov	r1, r2
	mov	r0, r3
	bl	weird_rol32
	mov	r1, r0
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r2, r1, r2
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-112]
	add	r3, r3, #3
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #12
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #61
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L17+28
	umull	r1, r3, r2, r3
	lsr	r3, r3, #2
	and	r3, r3, #255
	and	r3, r3, #7
	mov	r1, r3
	bl	weird_ror8
	mov	r3, r0
	and	r0, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #84
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	mov	r2, r3
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #5
	eor	r2, r2, r0
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #198
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #198
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r3, r3, #93
	mvn	r3, r3
	and	r3, r3, #255
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #164
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	ldr	r2, .L17+28
	umull	r0, r3, r2, r3
	lsr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #164
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #80
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	mov	r1, r3
	mov	r0, #139
	bl	weird_ror8
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r0, r3, r0
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r0, r3
	and	r0, r3, #95
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #95
	orr	r3, r0, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #12
	and	r0, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r1, r3, #255
	ldr	r3, [fp, #-80]
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #92
	orr	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #12
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #103
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #32
	ldr	r2, [fp, #-124]
	add	r2, r2, #92
	ldrb	r0, [r2]	@ zero_extendqisi2
	ldr	r2, [fp, #-116]
	add	r2, r2, #103
	ldrb	r2, [r2]	@ zero_extendqisi2
	orr	r2, r2, #60
	and	r2, r2, #255
	and	r2, r2, r0
	and	r2, r2, #255
	orr	r3, r3, r2
	orr	r3, r3, #16
	ldr	r2, .L17+12
	smull	r0, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #12
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #96
	ldr	r2, [fp, #-116]
	ldrb	r2, [r2, #143]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #100
	mov	r2, #27
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #35
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, #119
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #104
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r3, r3, r2
	ldr	r2, [fp, #-116]
	add	r2, r2, #35
	ldrb	r1, [r2]	@ zero_extendqisi2
	ldr	r2, [fp, #-120]
	add	r2, r2, #8
	ldrb	r2, [r2]	@ zero_extendqisi2
	and	r2, r2, r1
	and	r2, r2, #255
	orr	r3, r3, r2
	ldr	r2, [fp, #-124]
	add	r2, r2, #64
	ldrb	r2, [r2]	@ zero_extendqisi2
	and	r3, r3, r2
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #108
	bic	r2, r2, #17
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	b	.L18
.L19:
	.align	2
.L17:
	.word	-2045222521
	.word	595589867
	.word	-2004318071
	.word	1431655766
	.word	-1431655765
	.word	-736280107
	.word	-2045222521
	.word	-858993459
.L18:
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #84
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, .L17+16
	umull	r0, r3, r1, r3
	lsr	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, #49
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #112
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	ldr	r2, [fp, #-124]
	add	r2, r2, #84
	ldrb	r2, [r2]	@ zero_extendqisi2
	ldr	r1, .L17+16
	umull	r0, r2, r1, r2
	lsr	r2, r2, #1
	and	r2, r2, #255
	and	r3, r3, r2
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #116
	and	r2, r2, #98
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #35
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mvn	r3, r3
	and	r3, r3, r1
	orr	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-96]
	and	r3, r3, r2
	ldr	r2, [fp, #-124]
	add	r2, r2, #84
	ldrb	r2, [r2]	@ zero_extendqisi2
	ldr	r1, .L17+16
	umull	r0, r2, r1, r2
	lsr	r2, r2, #1
	and	r2, r2, #255
	mov	r1, r2
	ldr	r2, [fp, #-124]
	add	r2, r2, #64
	ldrb	r2, [r2]	@ zero_extendqisi2
	mvn	r2, r2
	and	r2, r2, r1
	orr	r3, r3, r2
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-124]
	add	r3, r3, #96
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #172
	ldrb	r3, [r3]	@ zero_extendqisi2
	asr	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, #32
	and	r3, r3, #255
	add	r3, r3, #86
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #172
	ldrb	r3, [r3]	@ zero_extendqisi2
	asr	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #32
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, #86
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #84
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	lr, .L17+16
	umull	r4, r3, lr, r3
	lsr	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, ip
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	lr, r3, #24
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, lr
	lsl	r3, r3, #24
	asr	lr, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #35
	ldrb	r4, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r4
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, lr, r3
	lsl	r3, r3, #24
	asr	lr, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, lr
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, ip, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r0, r3
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #100
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #143
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #29
	mvn	r2, #93
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #88
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r0, r3, #160
	ldr	r3, [fp, #-116]
	add	r3, r3, #125
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #95
	orr	r3, r0, r3
	asr	r3, r3, #1
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-116]
	add	r3, r3, #149
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #43
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #43
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r1, r3
	eor	r3, r3, r2
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-84]
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r3, r3, #255
	and	r3, r3, #115
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #15
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #64
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #120
	sub	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r2, r3, r2
	ldr	r3, [fp, #-116]
	add	r3, r3, #95
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #80
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r0, r3, r0
	ldr	r3, [fp, #-116]
	add	r3, r3, #17
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r0, r3
	and	r3, r3, #7
	mov	r1, r3
	mov	r0, ip
	bl	weird_ror8
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-112]
	add	r3, r3, #7
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-96]
	and	r3, r3, #255
	ldr	r2, [fp, #-96]
	and	r2, r2, #255
	mul	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #7
	sub	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #184
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r2, r3
	and	r0, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #202
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #202
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, ip, r3
	and	ip, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #202
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, ip, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #8
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #102
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #16
	bic	r2, r2, #123
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r1, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #68
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #124
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-112]
	add	r3, r3, #7
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #80
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, #78
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-124]
	add	r3, r3, #88
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	bic	r3, r3, #78
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, ip, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	ip, r3, #255
	ldr	r3, [fp, #-116]
	add	r3, r3, #191
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, ip, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #7
	add	r2, r0, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #119
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r2, r3, r2
	ldr	r3, [fp, #-112]
	add	r3, r3, #6
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #190
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r2, r3, #209
	ldr	r3, [fp, #-116]
	add	r3, r3, #118
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #209
	orr	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-124]
	add	r3, r3, #120
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #120
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r0, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-124]
	add	r3, r3, #84
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-116]
	add	r3, r3, #71
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-116]
	add	r3, r3, #15
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, ip, r3
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r1, r3, #255
	ldr	r3, [fp, #-96]
	and	r2, r3, #255
	ldr	r3, [fp, #-84]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-96]
	and	r0, r3, #255
	ldr	r3, [fp, #-84]
	and	r3, r3, #255
	orr	r3, r0, r3
	and	r3, r3, #255
	and	r3, r3, #27
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-112]
	add	r3, r3, #12
	and	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #88
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, r0
	and	r3, r3, #255
	mov	ip, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #32
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #88
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+20
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #5
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r0, r3
	and	r3, r3, #255
	and	r3, r3, #23
	orr	r3, ip, r3
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-116]
	add	r3, r3, #57
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r2, r3, #5
	add	r3, r3, r2
	and	r2, r3, #169
	ldr	r3, [fp, #-84]
	and	r3, r3, #86
	orr	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-116]
	add	r3, r3, #82
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r0, r3, #29
	ldr	r3, [fp, #-124]
	add	r3, r3, #124
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #29
	orr	r3, r0, r3
	and	r0, r3, #190
	ldr	r3, [fp, #-88]
	ldr	r2, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	ldr	r3, .L17+24
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r2, r1, r2
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	bic	r3, r3, #190
	orr	r3, r0, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L17+28
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r0, r3, r0
	ldr	r3, [fp, #-124]
	add	r3, r3, #40
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L20
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mul	r3, r0, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-116]
	add	r3, r3, #82
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #92
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-20]
	and	r2, r2, r3
	ldr	r3, [fp, #-116]
	add	r3, r3, #82
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #92
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	and	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-28]
	and	r1, r3, #255
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	orr	r3, r1, r3
	and	r3, r3, #255
	bic	r3, r3, #63
	and	r3, r3, #255
	orr	r3, r2, r3
	and	r1, r3, #255
	ldr	r3, [fp, #-88]
	ldr	r2, .L20
	umull	r0, r3, r2, r3
	lsr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-124]
	add	r3, r3, #128
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #120
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L20
	umull	r1, r3, r2, r3
	lsr	r1, r3, #4
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r2, r3
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-112]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	ldr	r2, [fp, #-116]
	add	r2, r2, #5
	ldrb	r2, [r2]	@ zero_extendqisi2
	mul	r3, r2, r3
	mov	r4, r3
	ldr	r3, [fp, #-124]
	add	r3, r3, #76
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-124]
	add	r3, r3, #124
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r3, .L20+4
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	sub	r3, r1, r2
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #4]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	mov	r1, r3
	bl	weird_rol8
	mov	r2, r0
	ldr	r3, [fp, #-124]
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #110
	and	r3, r3, r2
	sub	r3, r4, r3
	ldr	r2, [fp, #-120]
	add	r2, r2, #25
	ldrb	r1, [r2]	@ zero_extendqisi2
	and	r2, r3, #255
	ldr	r3, [fp, #-120]
	add	r3, r3, #25
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L21:
	.align	2
.L20:
	.word	-858993459
	.word	-2045222521
	.size	garble, .-garble
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
