	.file	"34513668.c"
	.intel_syntax noprefix
	.text
	.globl	myrnd
	.type	myrnd, @function
myrnd:
.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, DWORD PTR s.0[rip]
	imul	eax, eax, 1103515245
	mov	DWORD PTR s.0[rip], eax
	mov	eax, DWORD PTR s.0[rip]
	add	eax, 12345
	mov	DWORD PTR s.0[rip], eax
	mov	eax, DWORD PTR s.0[rip]
	shr	eax, 16
	and	eax, 2047
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	myrnd, .-myrnd
	.globl	sA
	.bss
	.align 4
	.type	sA, @object
	.size	sA, 4
sA:
	.zero	4
	.text
	.globl	retmeA
	.type	retmeA, @function
retmeA:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	retmeA, .-retmeA
	.globl	fn1A
	.type	fn1A, @function
fn1A:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sA[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -2[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -2[rbp], ax
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	retmeA
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	fn1A, .-fn1A
	.globl	fn2A
	.type	fn2A, @function
fn2A:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sA[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -2[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -2[rbp], ax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -2[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -2[rbp], ax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	fn2A, .-fn2A
	.globl	retitA
	.type	retitA, @function
retitA:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sA[rip+2]
	shr	ax
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	retitA, .-retitA
	.globl	fn3A
	.type	fn3A, @function
fn3A:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sA[rip+2]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sA[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sA[rip+2], ax
	call	retitA
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	fn3A, .-fn3A
	.globl	testA
	.type	testA, @function
testA:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	lea	rax, sA[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L14
.L15:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -28[rbp], 1
.L14:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, 3
	jbe	.L15
	movzx	eax, WORD PTR sA[rip+2]
	or	eax, -2
	mov	WORD PTR sA[rip+2], ax
	movzx	eax, WORD PTR sA[rip+2]
	shr	ax
	movzx	eax, ax
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	call	myrnd
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sA[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sA[rip+2], ax
	mov	eax, DWORD PTR sA[rip]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fn1A
	mov	DWORD PTR -12[rbp], eax
	movzx	eax, BYTE PTR -32[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sA[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L16
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 7
	mov	edx, eax
	and	dx, 1023
	mov	eax, DWORD PTR sA[rip]
	shr	eax, 7
	and	ax, 1023
	cmp	dx, ax
	jne	.L16
	movzx	eax, WORD PTR -30[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sA[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L16
	movzx	eax, BYTE PTR -32[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sA[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L16
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	and	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -12[rbp], eax
	je	.L17
.L16:
	call	abort@PLT
.L17:
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	call	myrnd
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sA[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sA[rip+2], ax
	mov	eax, DWORD PTR sA[rip]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fn2A
	mov	DWORD PTR -12[rbp], eax
	movzx	eax, BYTE PTR -32[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sA[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L18
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 7
	mov	edx, eax
	and	dx, 1023
	mov	eax, DWORD PTR sA[rip]
	shr	eax, 7
	and	ax, 1023
	cmp	dx, ax
	jne	.L18
	movzx	eax, WORD PTR -30[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sA[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L18
	movzx	eax, BYTE PTR -32[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sA[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L18
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	and	eax, DWORD PTR -24[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -12[rbp], eax
	je	.L19
.L18:
	call	abort@PLT
.L19:
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	call	myrnd
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sA[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sA[rip+2], ax
	mov	eax, DWORD PTR sA[rip]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fn3A
	mov	DWORD PTR -12[rbp], eax
	movzx	eax, BYTE PTR -32[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sA[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L20
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 7
	mov	edx, eax
	and	dx, 1023
	mov	eax, DWORD PTR sA[rip]
	shr	eax, 7
	and	ax, 1023
	cmp	dx, ax
	jne	.L20
	movzx	eax, WORD PTR sA[rip+2]
	shr	ax
	movzx	eax, ax
	cmp	DWORD PTR -12[rbp], eax
	jne	.L20
	movzx	eax, BYTE PTR -32[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sA[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L20
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	and	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -12[rbp], eax
	je	.L22
.L20:
	call	abort@PLT
.L22:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	testA, .-testA
	.globl	sB
	.bss
	.align 8
	.type	sB, @object
	.size	sB, 8
sB:
	.zero	8
	.text
	.globl	retmeB
	.type	retmeB, @function
retmeB:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	retmeB, .-retmeB
	.globl	fn1B
	.type	fn1B, @function
fn1B:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sB[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -6[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -6[rbp], ax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	retmeB
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	fn1B, .-fn1B
	.globl	fn2B
	.type	fn2B, @function
fn2B:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sB[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -6[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -6[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	fn2B, .-fn2B
	.globl	retitB
	.type	retitB, @function
retitB:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sB[rip+2]
	shr	ax
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	retitB, .-retitB
	.globl	fn3B
	.type	fn3B, @function
fn3B:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sB[rip+2]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sB[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sB[rip+2], ax
	call	retitB
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	fn3B, .-fn3B
	.globl	testB
	.type	testB, @function
testB:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sB[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L34
.L35:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
.L34:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 7
	jbe	.L35
	movzx	eax, WORD PTR sB[rip+2]
	or	eax, -2
	mov	WORD PTR sB[rip+2], ax
	movzx	eax, WORD PTR sB[rip+2]
	shr	ax
	movzx	eax, ax
	mov	DWORD PTR -32[rbp], eax
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sB[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sB[rip+2], ax
	mov	rax, QWORD PTR sB[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn1B
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sB[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L36
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sB[rip]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L36
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sB[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L36
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR sB[rip+4]
	cmp	edx, eax
	jne	.L36
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L37
.L36:
	call	abort@PLT
.L37:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sB[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sB[rip+2], ax
	mov	rax, QWORD PTR sB[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn2B
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sB[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L38
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sB[rip]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L38
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sB[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L38
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR sB[rip+4]
	cmp	edx, eax
	jne	.L38
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L39
.L38:
	call	abort@PLT
.L39:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sB[rip+2]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sB[rip+2], ax
	mov	rax, QWORD PTR sB[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn3B
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sB[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L40
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sB[rip]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L40
	movzx	eax, WORD PTR sB[rip+2]
	shr	ax
	movzx	eax, ax
	cmp	DWORD PTR -20[rbp], eax
	jne	.L40
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR sB[rip+4]
	cmp	edx, eax
	jne	.L40
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L42
.L40:
	call	abort@PLT
.L42:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	testB, .-testB
	.globl	sC
	.bss
	.align 8
	.type	sC, @object
	.size	sC, 8
sC:
	.zero	8
	.text
	.globl	retmeC
	.type	retmeC, @function
retmeC:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	retmeC, .-retmeC
	.globl	fn1C
	.type	fn1C, @function
fn1C:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sC[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -2[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -2[rbp], ax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	retmeC
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	fn1C, .-fn1C
	.globl	fn2C
	.type	fn2C, @function
fn2C:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sC[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -2[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -2[rbp], ax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR -2[rbp]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR -2[rbp], ax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	fn2C, .-fn2C
	.globl	retitC
	.type	retitC, @function
retitC:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sC[rip+6]
	shr	ax
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	retitC, .-retitC
	.globl	fn3C
	.type	fn3C, @function
fn3C:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sC[rip+6]
	shr	ax
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sC[rip+6]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sC[rip+6], ax
	call	retitC
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	fn3C, .-fn3C
	.globl	testC
	.type	testC, @function
testC:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sC[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L54
.L55:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
.L54:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 7
	jbe	.L55
	movzx	eax, WORD PTR sC[rip+6]
	or	eax, -2
	mov	WORD PTR sC[rip+6], ax
	movzx	eax, WORD PTR sC[rip+6]
	shr	ax
	movzx	eax, ax
	mov	DWORD PTR -32[rbp], eax
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sC[rip+6]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sC[rip+6], ax
	mov	rax, QWORD PTR sC[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn1C
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sC[rip+4]
	and	eax, 63
	cmp	dl, al
	jne	.L56
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sC[rip+4]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L56
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sC[rip+6]
	shr	ax
	cmp	dx, ax
	jne	.L56
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR sC[rip]
	cmp	edx, eax
	jne	.L56
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L57
.L56:
	call	abort@PLT
.L57:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sC[rip+6]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sC[rip+6], ax
	mov	rax, QWORD PTR sC[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn2C
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sC[rip+4]
	and	eax, 63
	cmp	dl, al
	jne	.L58
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sC[rip+4]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L58
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sC[rip+6]
	shr	ax
	cmp	dx, ax
	jne	.L58
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR sC[rip]
	cmp	edx, eax
	jne	.L58
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L59
.L58:
	call	abort@PLT
.L59:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	ax, 32767
	lea	edx, [rax+rax]
	movzx	eax, WORD PTR sC[rip+6]
	and	eax, 1
	or	eax, edx
	mov	WORD PTR sC[rip+6], ax
	mov	rax, QWORD PTR sC[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn3C
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sC[rip+4]
	and	eax, 63
	cmp	dl, al
	jne	.L60
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sC[rip+4]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L60
	movzx	eax, WORD PTR sC[rip+6]
	shr	ax
	movzx	eax, ax
	cmp	DWORD PTR -20[rbp], eax
	jne	.L60
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR sC[rip]
	cmp	edx, eax
	jne	.L60
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L62
.L60:
	call	abort@PLT
.L62:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	testC, .-testC
	.globl	sD
	.bss
	.align 8
	.type	sD, @object
	.size	sD, 8
sD:
	.zero	8
	.text
	.globl	retmeD
	.type	retmeD, @function
retmeD:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	retmeD, .-retmeD
	.globl	fn1D
	.type	fn1D, @function
fn1D:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sD[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	retmeD
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	fn1D, .-fn1D
	.globl	fn2D
	.type	fn2D, @function
fn2D:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sD[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	ecx, eax
	movsx	rax, ecx
	imul	rax, rax, -2004318071
	shr	rax, 32
	add	eax, ecx
	sar	eax, 3
	mov	edx, ecx
	sar	edx, 31
	sub	eax, edx
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	fn2D, .-fn2D
	.globl	retitD
	.type	retitD, @function
retitD:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR sD[rip+4]
	shr	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	retitD, .-retitD
	.globl	fn3D
	.type	fn3D, @function
fn3D:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR sD[rip+4]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sD[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sD[rip+4], eax
	call	retitD
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	fn3D, .-fn3D
	.globl	testD
	.type	testD, @function
testD:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sD[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L74
.L75:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
.L74:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 7
	jbe	.L75
	mov	eax, DWORD PTR sD[rip+4]
	or	eax, -8
	mov	DWORD PTR sD[rip+4], eax
	mov	eax, DWORD PTR sD[rip+4]
	shr	eax, 3
	mov	DWORD PTR -32[rbp], eax
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sD[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sD[rip+4], eax
	mov	rax, QWORD PTR sD[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn1D
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 6
	mov	edx, eax
	and	edx, 63
	movzx	eax, WORD PTR sD[rip]
	shr	ax, 6
	and	eax, 63
	cmp	dl, al
	jne	.L76
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sD[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L76
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sD[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L76
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sD[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L76
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L77
.L76:
	call	abort@PLT
.L77:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sD[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sD[rip+4], eax
	mov	rax, QWORD PTR sD[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn2D
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 6
	mov	edx, eax
	and	edx, 63
	movzx	eax, WORD PTR sD[rip]
	shr	ax, 6
	and	eax, 63
	cmp	dl, al
	jne	.L78
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sD[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L78
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sD[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L78
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sD[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L78
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L79
.L78:
	call	abort@PLT
.L79:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sD[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sD[rip+4], eax
	mov	rax, QWORD PTR sD[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn3D
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 6
	mov	edx, eax
	and	edx, 63
	movzx	eax, WORD PTR sD[rip]
	shr	ax, 6
	and	eax, 63
	cmp	dl, al
	jne	.L80
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sD[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L80
	mov	eax, DWORD PTR sD[rip+4]
	shr	eax, 3
	cmp	DWORD PTR -20[rbp], eax
	jne	.L80
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sD[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L80
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L82
.L80:
	call	abort@PLT
.L82:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	testD, .-testD
	.globl	sE
	.bss
	.align 16
	.type	sE, @object
	.size	sE, 16
sE:
	.zero	16
	.text
	.globl	retmeE
	.type	retmeE, @function
retmeE:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	retmeE, .-retmeE
	.globl	fn1E
	.type	fn1E, @function
fn1E:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sE[rip]
	mov	rdx, QWORD PTR sE[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeE
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	fn1E, .-fn1E
	.globl	fn2E
	.type	fn2E, @function
fn2E:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sE[rip]
	mov	rdx, QWORD PTR sE[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	ecx, eax
	movsx	rax, ecx
	imul	rax, rax, -2004318071
	shr	rax, 32
	add	eax, ecx
	sar	eax, 3
	mov	edx, ecx
	sar	edx, 31
	sub	eax, edx
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	fn2E, .-fn2E
	.globl	retitE
	.type	retitE, @function
retitE:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR sE[rip+12]
	shr	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	retitE, .-retitE
	.globl	fn3E
	.type	fn3E, @function
fn3E:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR sE[rip+12]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sE[rip+12]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sE[rip+12], eax
	call	retitE
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	fn3E, .-fn3E
	.globl	testE
	.type	testE, @function
testE:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sE[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L94
.L95:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L94:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L95
	mov	eax, DWORD PTR sE[rip+12]
	or	eax, -8
	mov	DWORD PTR sE[rip+12], eax
	mov	eax, DWORD PTR sE[rip+12]
	shr	eax, 3
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sE[rip+12]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sE[rip+12], eax
	mov	rax, QWORD PTR sE[rip]
	mov	rdx, QWORD PTR sE[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1E
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sE[rip+8]
	and	ax, 4095
	cmp	dx, ax
	jne	.L96
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sE[rip+8]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L96
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sE[rip+12]
	shr	eax, 3
	cmp	edx, eax
	jne	.L96
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR sE[rip]
	cmp	rdx, rax
	jne	.L96
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L97
.L96:
	call	abort@PLT
.L97:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sE[rip+12]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sE[rip+12], eax
	mov	rax, QWORD PTR sE[rip]
	mov	rdx, QWORD PTR sE[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2E
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sE[rip+8]
	and	ax, 4095
	cmp	dx, ax
	jne	.L98
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sE[rip+8]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L98
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sE[rip+12]
	shr	eax, 3
	cmp	edx, eax
	jne	.L98
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR sE[rip]
	cmp	rdx, rax
	jne	.L98
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L99
.L98:
	call	abort@PLT
.L99:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sE[rip+12]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sE[rip+12], eax
	mov	rax, QWORD PTR sE[rip]
	mov	rdx, QWORD PTR sE[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3E
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sE[rip+8]
	and	ax, 4095
	cmp	dx, ax
	jne	.L100
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sE[rip+8]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L100
	mov	eax, DWORD PTR sE[rip+12]
	shr	eax, 3
	cmp	DWORD PTR -28[rbp], eax
	jne	.L100
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR sE[rip]
	cmp	rdx, rax
	jne	.L100
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L102
.L100:
	call	abort@PLT
.L102:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	testE, .-testE
	.globl	sF
	.bss
	.align 16
	.type	sF, @object
	.size	sF, 16
sF:
	.zero	16
	.text
	.globl	retmeF
	.type	retmeF, @function
retmeF:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	retmeF, .-retmeF
	.globl	fn1F
	.type	fn1F, @function
fn1F:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sF[rip]
	mov	rdx, QWORD PTR sF[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeF
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	fn1F, .-fn1F
	.globl	fn2F
	.type	fn2F, @function
fn2F:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sF[rip]
	mov	rdx, QWORD PTR sF[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	ecx, eax
	movsx	rax, ecx
	imul	rax, rax, -2004318071
	shr	rax, 32
	add	eax, ecx
	sar	eax, 3
	mov	edx, ecx
	sar	edx, 31
	sub	eax, edx
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	fn2F, .-fn2F
	.globl	retitF
	.type	retitF, @function
retitF:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR sF[rip+4]
	shr	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	retitF, .-retitF
	.globl	fn3F
	.type	fn3F, @function
fn3F:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR sF[rip+4]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sF[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sF[rip+4], eax
	call	retitF
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	fn3F, .-fn3F
	.globl	testF
	.type	testF, @function
testF:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sF[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L114
.L115:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L114:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L115
	mov	eax, DWORD PTR sF[rip+4]
	or	eax, -8
	mov	DWORD PTR sF[rip+4], eax
	mov	eax, DWORD PTR sF[rip+4]
	shr	eax, 3
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sF[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sF[rip+4], eax
	mov	rax, QWORD PTR sF[rip]
	mov	rdx, QWORD PTR sF[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1F
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sF[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L116
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sF[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L116
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sF[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L116
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sF[rip+8]
	cmp	rdx, rax
	jne	.L116
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L117
.L116:
	call	abort@PLT
.L117:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sF[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sF[rip+4], eax
	mov	rax, QWORD PTR sF[rip]
	mov	rdx, QWORD PTR sF[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2F
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sF[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L118
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sF[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L118
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sF[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L118
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sF[rip+8]
	cmp	rdx, rax
	jne	.L118
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L119
.L118:
	call	abort@PLT
.L119:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 536870911
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR sF[rip+4]
	and	eax, 7
	or	eax, edx
	mov	DWORD PTR sF[rip+4], eax
	mov	rax, QWORD PTR sF[rip]
	mov	rdx, QWORD PTR sF[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3F
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sF[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L120
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sF[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L120
	mov	eax, DWORD PTR sF[rip+4]
	shr	eax, 3
	cmp	DWORD PTR -28[rbp], eax
	jne	.L120
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sF[rip+8]
	cmp	rdx, rax
	jne	.L120
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L122
.L120:
	call	abort@PLT
.L122:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	testF, .-testF
	.globl	sG
	.bss
	.align 16
	.type	sG, @object
	.size	sG, 16
sG:
	.zero	16
	.text
	.globl	retmeG
	.type	retmeG, @function
retmeG:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	retmeG, .-retmeG
	.globl	fn1G
	.type	fn1G, @function
fn1G:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sG[rip]
	mov	rdx, QWORD PTR sG[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR -13[rbp]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR -13[rbp], al
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeG
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	fn1G, .-fn1G
	.globl	fn2G
	.type	fn2G, @function
fn2G:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sG[rip]
	mov	rdx, QWORD PTR sG[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR -13[rbp]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR -13[rbp], al
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR -13[rbp]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR -13[rbp], al
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	fn2G, .-fn2G
	.globl	retitG
	.type	retitG, @function
retitG:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sG[rip+3]
	shr	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	retitG, .-retitG
	.globl	fn3G
	.type	fn3G, @function
fn3G:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sG[rip+3]
	shr	al
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sG[rip+3]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sG[rip+3], al
	call	retitG
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	fn3G, .-fn3G
	.globl	testG
	.type	testG, @function
testG:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sG[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L134
.L135:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L134:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L135
	movzx	eax, BYTE PTR sG[rip+3]
	or	eax, -2
	mov	BYTE PTR sG[rip+3], al
	movzx	eax, BYTE PTR sG[rip+3]
	shr	al
	movzx	eax, al
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sG[rip+3]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sG[rip+3], al
	mov	rax, QWORD PTR sG[rip]
	mov	rdx, QWORD PTR sG[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1G
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sG[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L136
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sG[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L136
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sG[rip+3]
	shr	al
	cmp	dl, al
	jne	.L136
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sG[rip+8]
	cmp	rdx, rax
	jne	.L136
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L137
.L136:
	call	abort@PLT
.L137:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sG[rip+3]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sG[rip+3], al
	mov	rax, QWORD PTR sG[rip]
	mov	rdx, QWORD PTR sG[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2G
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sG[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L138
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sG[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L138
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sG[rip+3]
	shr	al
	cmp	dl, al
	jne	.L138
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sG[rip+8]
	cmp	rdx, rax
	jne	.L138
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L139
.L138:
	call	abort@PLT
.L139:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sG[rip+3]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sG[rip+3], al
	mov	rax, QWORD PTR sG[rip]
	mov	rdx, QWORD PTR sG[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3G
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sG[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L140
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sG[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L140
	movzx	eax, BYTE PTR sG[rip+3]
	shr	al
	movzx	eax, al
	cmp	DWORD PTR -28[rbp], eax
	jne	.L140
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sG[rip+8]
	cmp	rdx, rax
	jne	.L140
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L142
.L140:
	call	abort@PLT
.L142:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	testG, .-testG
	.globl	sH
	.bss
	.align 16
	.type	sH, @object
	.size	sH, 16
sH:
	.zero	16
	.text
	.globl	retmeH
	.type	retmeH, @function
retmeH:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	retmeH, .-retmeH
	.globl	fn1H
	.type	fn1H, @function
fn1H:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sH[rip]
	mov	rdx, QWORD PTR sH[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR -14[rbp]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR -14[rbp], ax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeH
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	fn1H, .-fn1H
	.globl	fn2H
	.type	fn2H, @function
fn2H:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sH[rip]
	mov	rdx, QWORD PTR sH[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR -14[rbp]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR -14[rbp], ax
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR -14[rbp]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR -14[rbp], ax
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	fn2H, .-fn2H
	.globl	retitH
	.type	retitH, @function
retitH:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sH[rip+2]
	shr	ax, 7
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	retitH, .-retitH
	.globl	fn3H
	.type	fn3H, @function
fn3H:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sH[rip+2]
	shr	ax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip+2]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sH[rip+2], ax
	call	retitH
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	fn3H, .-fn3H
	.globl	testH
	.type	testH, @function
testH:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sH[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L154
.L155:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L154:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L155
	movzx	eax, WORD PTR sH[rip+2]
	or	eax, -128
	mov	WORD PTR sH[rip+2], ax
	movzx	eax, WORD PTR sH[rip+2]
	shr	ax, 7
	movzx	eax, ax
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip+2]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sH[rip+2], ax
	mov	rax, QWORD PTR sH[rip]
	mov	rdx, QWORD PTR sH[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1H
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L156
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sH[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L156
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L156
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sH[rip+8]
	cmp	rdx, rax
	jne	.L156
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L157
.L156:
	call	abort@PLT
.L157:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip+2]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sH[rip+2], ax
	mov	rax, QWORD PTR sH[rip]
	mov	rdx, QWORD PTR sH[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2H
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L158
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sH[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L158
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L158
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sH[rip+8]
	cmp	rdx, rax
	jne	.L158
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L159
.L158:
	call	abort@PLT
.L159:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip+2]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sH[rip+2], ax
	mov	rax, QWORD PTR sH[rip]
	mov	rdx, QWORD PTR sH[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3H
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sH[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L160
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sH[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L160
	movzx	eax, WORD PTR sH[rip+2]
	shr	ax, 7
	movzx	eax, ax
	cmp	DWORD PTR -28[rbp], eax
	jne	.L160
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sH[rip+8]
	cmp	rdx, rax
	jne	.L160
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L162
.L160:
	call	abort@PLT
.L162:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	testH, .-testH
	.globl	sI
	.bss
	.align 16
	.type	sI, @object
	.size	sI, 16
sI:
	.zero	16
	.text
	.globl	retmeI
	.type	retmeI, @function
retmeI:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	retmeI, .-retmeI
	.globl	fn1I
	.type	fn1I, @function
fn1I:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sI[rip]
	mov	rdx, QWORD PTR sI[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeI
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	fn1I, .-fn1I
	.globl	fn2I
	.type	fn2I, @function
fn2I:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sI[rip]
	mov	rdx, QWORD PTR sI[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	fn2I, .-fn2I
	.globl	retitI
	.type	retitI, @function
retitI:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sI[rip]
	shr	ax, 7
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	retitI, .-retitI
	.globl	fn3I
	.type	fn3I, @function
fn3I:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sI[rip]
	shr	ax, 7
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sI[rip]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sI[rip], ax
	call	retitI
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	fn3I, .-fn3I
	.globl	testI
	.type	testI, @function
testI:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sI[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L174
.L175:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L174:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L175
	movzx	eax, WORD PTR sI[rip]
	or	eax, -128
	mov	WORD PTR sI[rip], ax
	movzx	eax, WORD PTR sI[rip]
	shr	ax, 7
	movzx	eax, ax
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sI[rip]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sI[rip], ax
	mov	rax, QWORD PTR sI[rip]
	mov	rdx, QWORD PTR sI[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1I
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sI[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L176
	movzx	eax, BYTE PTR -16[rbp]
	shr	al
	mov	edx, eax
	and	edx, 63
	movzx	eax, BYTE PTR sI[rip]
	shr	al
	and	eax, 63
	cmp	dl, al
	jne	.L176
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sI[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L176
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sI[rip+8]
	cmp	rdx, rax
	jne	.L176
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L177
.L176:
	call	abort@PLT
.L177:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sI[rip]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sI[rip], ax
	mov	rax, QWORD PTR sI[rip]
	mov	rdx, QWORD PTR sI[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2I
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sI[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L178
	movzx	eax, BYTE PTR -16[rbp]
	shr	al
	mov	edx, eax
	and	edx, 63
	movzx	eax, BYTE PTR sI[rip]
	shr	al
	and	eax, 63
	cmp	dl, al
	jne	.L178
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sI[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L178
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sI[rip+8]
	cmp	rdx, rax
	jne	.L178
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L179
.L178:
	call	abort@PLT
.L179:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 511
	sal	eax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sI[rip]
	and	eax, 127
	or	eax, edx
	mov	WORD PTR sI[rip], ax
	mov	rax, QWORD PTR sI[rip]
	mov	rdx, QWORD PTR sI[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3I
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sI[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L180
	movzx	eax, BYTE PTR -16[rbp]
	shr	al
	mov	edx, eax
	and	edx, 63
	movzx	eax, BYTE PTR sI[rip]
	shr	al
	and	eax, 63
	cmp	dl, al
	jne	.L180
	movzx	eax, WORD PTR sI[rip]
	shr	ax, 7
	movzx	eax, ax
	cmp	DWORD PTR -28[rbp], eax
	jne	.L180
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sI[rip+8]
	cmp	rdx, rax
	jne	.L180
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L182
.L180:
	call	abort@PLT
.L182:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	testI, .-testI
	.globl	sJ
	.bss
	.align 2
	.type	sJ, @object
	.size	sJ, 4
sJ:
	.zero	4
	.text
	.globl	retmeJ
	.type	retmeJ, @function
retmeJ:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	retmeJ, .-retmeJ
	.globl	fn1J
	.type	fn1J, @function
fn1J:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sJ[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -3[rbp]
	shr	al
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR -3[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	retmeJ
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -3[rbp]
	shr	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	fn1J, .-fn1J
	.globl	fn2J
	.type	fn2J, @function
fn2J:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sJ[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -3[rbp]
	shr	al
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR -3[rbp], al
	movzx	eax, BYTE PTR -3[rbp]
	shr	al
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR -3[rbp], al
	movzx	eax, BYTE PTR -3[rbp]
	shr	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	fn2J, .-fn2J
	.globl	retitJ
	.type	retitJ, @function
retitJ:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sJ[rip+1]
	shr	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	retitJ, .-retitJ
	.globl	fn3J
	.type	fn3J, @function
fn3J:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sJ[rip+1]
	shr	al
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sJ[rip+1]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sJ[rip+1], al
	call	retitJ
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	fn3J, .-fn3J
	.globl	testJ
	.type	testJ, @function
testJ:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	lea	rax, sJ[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L194
.L195:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -32[rbp], 1
.L194:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, 3
	jbe	.L195
	movzx	eax, BYTE PTR sJ[rip+1]
	or	eax, -2
	mov	BYTE PTR sJ[rip+1], al
	movzx	eax, BYTE PTR sJ[rip+1]
	shr	al
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sJ[rip+1]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sJ[rip+1], al
	mov	eax, DWORD PTR sJ[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn1J
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -12[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sJ[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L196
	movzx	eax, WORD PTR -12[rbp]
	shr	ax
	mov	edx, eax
	and	dh, -1
	movzx	eax, WORD PTR sJ[rip]
	shr	ax
	and	ah, -1
	cmp	dl, al
	jne	.L196
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sJ[rip+1]
	shr	al
	cmp	dl, al
	jne	.L196
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sJ[rip+2]
	cmp	dx, ax
	jne	.L196
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L197
.L196:
	call	abort@PLT
.L197:
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sJ[rip+1]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sJ[rip+1], al
	mov	eax, DWORD PTR sJ[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn2J
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -12[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sJ[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L198
	movzx	eax, WORD PTR -12[rbp]
	shr	ax
	mov	edx, eax
	and	dh, -1
	movzx	eax, WORD PTR sJ[rip]
	shr	ax
	and	ah, -1
	cmp	dl, al
	jne	.L198
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sJ[rip+1]
	shr	al
	cmp	dl, al
	jne	.L198
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sJ[rip+2]
	cmp	dx, ax
	jne	.L198
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L199
.L198:
	call	abort@PLT
.L199:
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 127
	lea	edx, [rax+rax]
	movzx	eax, BYTE PTR sJ[rip+1]
	and	eax, 1
	or	eax, edx
	mov	BYTE PTR sJ[rip+1], al
	mov	eax, DWORD PTR sJ[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn3J
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -12[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sJ[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L200
	movzx	eax, WORD PTR -12[rbp]
	shr	ax
	mov	edx, eax
	and	dh, -1
	movzx	eax, WORD PTR sJ[rip]
	shr	ax
	and	ah, -1
	cmp	dl, al
	jne	.L200
	movzx	eax, BYTE PTR sJ[rip+1]
	shr	al
	movzx	eax, al
	cmp	DWORD PTR -16[rbp], eax
	jne	.L200
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sJ[rip+2]
	cmp	dx, ax
	jne	.L200
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L202
.L200:
	call	abort@PLT
.L202:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	testJ, .-testJ
	.globl	sK
	.bss
	.align 4
	.type	sK, @object
	.size	sK, 4
sK:
	.zero	4
	.text
	.globl	retmeK
	.type	retmeK, @function
retmeK:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	retmeK, .-retmeK
	.globl	fn1K
	.type	fn1K, @function
fn1K:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sK[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	retmeK
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	fn1K, .-fn1K
	.globl	fn2K
	.type	fn2K, @function
fn2K:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sK[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	fn2K, .-fn2K
	.globl	retitK
	.type	retitK, @function
retitK:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sK[rip]
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	retitK, .-retitK
	.globl	fn3K
	.type	fn3K, @function
fn3K:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sK[rip]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sK[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sK[rip], al
	call	retitK
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	fn3K, .-fn3K
	.globl	testK
	.type	testK, @function
testK:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	lea	rax, sK[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L214
.L215:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -28[rbp], 1
.L214:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, 3
	jbe	.L215
	movzx	eax, BYTE PTR sK[rip]
	or	eax, 63
	mov	BYTE PTR sK[rip], al
	movzx	eax, BYTE PTR sK[rip]
	and	eax, 63
	movzx	eax, al
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	call	myrnd
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sK[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sK[rip], al
	mov	eax, DWORD PTR sK[rip]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fn1K
	mov	DWORD PTR -12[rbp], eax
	movzx	eax, WORD PTR -30[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sK[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L216
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 7
	mov	edx, eax
	and	dx, 1023
	mov	eax, DWORD PTR sK[rip]
	shr	eax, 7
	and	ax, 1023
	cmp	dx, ax
	jne	.L216
	movzx	eax, BYTE PTR -32[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sK[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L216
	movzx	eax, BYTE PTR -32[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sK[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L216
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	and	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -12[rbp], eax
	je	.L217
.L216:
	call	abort@PLT
.L217:
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	call	myrnd
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sK[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sK[rip], al
	mov	eax, DWORD PTR sK[rip]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fn2K
	mov	DWORD PTR -12[rbp], eax
	movzx	eax, WORD PTR -30[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sK[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L218
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 7
	mov	edx, eax
	and	dx, 1023
	mov	eax, DWORD PTR sK[rip]
	shr	eax, 7
	and	ax, 1023
	cmp	dx, ax
	jne	.L218
	movzx	eax, BYTE PTR -32[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sK[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L218
	movzx	eax, BYTE PTR -32[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sK[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L218
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	and	eax, DWORD PTR -24[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -12[rbp], eax
	je	.L219
.L218:
	call	abort@PLT
.L219:
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	call	myrnd
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sK[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sK[rip], al
	mov	eax, DWORD PTR sK[rip]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fn3K
	mov	DWORD PTR -12[rbp], eax
	movzx	eax, WORD PTR -30[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sK[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L220
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 7
	mov	edx, eax
	and	dx, 1023
	mov	eax, DWORD PTR sK[rip]
	shr	eax, 7
	and	ax, 1023
	cmp	dx, ax
	jne	.L220
	movzx	eax, BYTE PTR sK[rip]
	and	eax, 63
	movzx	eax, al
	cmp	DWORD PTR -12[rbp], eax
	jne	.L220
	movzx	eax, BYTE PTR -32[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sK[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L220
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	and	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -12[rbp], eax
	je	.L222
.L220:
	call	abort@PLT
.L222:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	testK, .-testK
	.globl	sL
	.bss
	.align 8
	.type	sL, @object
	.size	sL, 8
sL:
	.zero	8
	.text
	.globl	retmeL
	.type	retmeL, @function
retmeL:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	retmeL, .-retmeL
	.globl	fn1L
	.type	fn1L, @function
fn1L:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sL[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -8[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	retmeL
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	fn1L, .-fn1L
	.globl	fn2L
	.type	fn2L, @function
fn2L:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sL[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -8[rbp], al
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -8[rbp], al
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	fn2L, .-fn2L
	.globl	retitL
	.type	retitL, @function
retitL:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sL[rip]
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	retitL, .-retitL
	.globl	fn3L
	.type	fn3L, @function
fn3L:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sL[rip]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sL[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sL[rip], al
	call	retitL
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	fn3L, .-fn3L
	.globl	testL
	.type	testL, @function
testL:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sL[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L234
.L235:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
.L234:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 7
	jbe	.L235
	movzx	eax, BYTE PTR sL[rip]
	or	eax, 63
	mov	BYTE PTR sL[rip], al
	movzx	eax, BYTE PTR sL[rip]
	and	eax, 63
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sL[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sL[rip], al
	mov	rax, QWORD PTR sL[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn1L
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sL[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L236
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sL[rip]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L236
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sL[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L236
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR sL[rip+4]
	cmp	edx, eax
	jne	.L236
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L237
.L236:
	call	abort@PLT
.L237:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sL[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sL[rip], al
	mov	rax, QWORD PTR sL[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn2L
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sL[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L238
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sL[rip]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L238
	movzx	eax, BYTE PTR -8[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sL[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L238
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR sL[rip+4]
	cmp	edx, eax
	jne	.L238
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L239
.L238:
	call	abort@PLT
.L239:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sL[rip]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sL[rip], al
	mov	rax, QWORD PTR sL[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn3L
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -6[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sL[rip+2]
	shr	ax
	cmp	dx, ax
	jne	.L240
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sL[rip]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L240
	movzx	eax, BYTE PTR sL[rip]
	and	eax, 63
	movzx	eax, al
	cmp	DWORD PTR -20[rbp], eax
	jne	.L240
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR sL[rip+4]
	cmp	edx, eax
	jne	.L240
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L242
.L240:
	call	abort@PLT
.L242:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	testL, .-testL
	.globl	sM
	.bss
	.align 8
	.type	sM, @object
	.size	sM, 8
sM:
	.zero	8
	.text
	.globl	retmeM
	.type	retmeM, @function
retmeM:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	retmeM, .-retmeM
	.globl	fn1M
	.type	fn1M, @function
fn1M:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sM[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	retmeM
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	fn1M, .-fn1M
	.globl	fn2M
	.type	fn2M, @function
fn2M:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sM[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	fn2M, .-fn2M
	.globl	retitM
	.type	retitM, @function
retitM:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	retitM, .-retitM
	.globl	fn3M
	.type	fn3M, @function
fn3M:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sM[rip+4], al
	call	retitM
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	fn3M, .-fn3M
	.globl	testM
	.type	testM, @function
testM:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sM[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L254
.L255:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
.L254:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 7
	jbe	.L255
	movzx	eax, BYTE PTR sM[rip+4]
	or	eax, 63
	mov	BYTE PTR sM[rip+4], al
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, 63
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sM[rip+4], al
	mov	rax, QWORD PTR sM[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn1M
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sM[rip+6]
	shr	ax
	cmp	dx, ax
	jne	.L256
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sM[rip+4]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L256
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, 63
	cmp	dl, al
	jne	.L256
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR sM[rip]
	cmp	edx, eax
	jne	.L256
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L257
.L256:
	call	abort@PLT
.L257:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sM[rip+4], al
	mov	rax, QWORD PTR sM[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn2M
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sM[rip+6]
	shr	ax
	cmp	dx, ax
	jne	.L258
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sM[rip+4]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L258
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, 63
	cmp	dl, al
	jne	.L258
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR sM[rip]
	cmp	edx, eax
	jne	.L258
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L259
.L258:
	call	abort@PLT
.L259:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, -64
	or	eax, edx
	mov	BYTE PTR sM[rip+4], al
	mov	rax, QWORD PTR sM[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn3M
	mov	DWORD PTR -20[rbp], eax
	movzx	eax, WORD PTR -2[rbp]
	shr	ax
	mov	edx, eax
	movzx	eax, WORD PTR sM[rip+6]
	shr	ax
	cmp	dx, ax
	jne	.L260
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sM[rip+4]
	shr	eax, 6
	and	ax, 2047
	cmp	dx, ax
	jne	.L260
	movzx	eax, BYTE PTR sM[rip+4]
	and	eax, 63
	movzx	eax, al
	cmp	DWORD PTR -20[rbp], eax
	jne	.L260
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR sM[rip]
	cmp	edx, eax
	jne	.L260
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L262
.L260:
	call	abort@PLT
.L262:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	testM, .-testM
	.globl	sN
	.bss
	.align 8
	.type	sN, @object
	.size	sN, 8
sN:
	.zero	8
	.text
	.globl	retmeN
	.type	retmeN, @function
retmeN:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	retmeN, .-retmeN
	.globl	fn1N
	.type	fn1N, @function
fn1N:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sN[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -8[rbp]
	shr	ax, 6
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	movzx	eax, al
	and	eax, 63
	sal	eax, 6
	mov	edx, eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, -4033
	or	eax, edx
	mov	WORD PTR -8[rbp], ax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	retmeN
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -8[rbp]
	shr	ax, 6
	and	eax, 63
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	fn1N, .-fn1N
	.globl	fn2N
	.type	fn2N, @function
fn2N:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sN[rip]
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR -8[rbp]
	shr	ax, 6
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 63
	movzx	eax, al
	and	eax, 63
	sal	eax, 6
	mov	edx, eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, -4033
	or	eax, edx
	mov	WORD PTR -8[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	shr	ax, 6
	and	eax, 63
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 63
	movzx	eax, al
	and	eax, 63
	sal	eax, 6
	mov	edx, eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, -4033
	or	eax, edx
	mov	WORD PTR -8[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	shr	ax, 6
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	fn2N, .-fn2N
	.globl	retitN
	.type	retitN, @function
retitN:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sN[rip]
	shr	ax, 6
	and	eax, 63
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	retitN, .-retitN
	.globl	fn3N
	.type	fn3N, @function
fn3N:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sN[rip]
	shr	ax, 6
	and	eax, 63
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 63
	movzx	eax, al
	and	eax, 63
	sal	eax, 6
	mov	edx, eax
	movzx	eax, WORD PTR sN[rip]
	and	ax, -4033
	or	eax, edx
	mov	WORD PTR sN[rip], ax
	call	retitN
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	fn3N, .-fn3N
	.globl	testN
	.type	testN, @function
testN:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sN[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L274
.L275:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
.L274:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, 7
	jbe	.L275
	movzx	eax, WORD PTR sN[rip]
	or	ax, 4032
	mov	WORD PTR sN[rip], ax
	movzx	eax, WORD PTR sN[rip]
	shr	ax, 6
	and	eax, 63
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	movzx	eax, al
	and	eax, 63
	sal	eax, 6
	mov	edx, eax
	movzx	eax, WORD PTR sN[rip]
	and	ax, -4033
	or	eax, edx
	mov	WORD PTR sN[rip], ax
	mov	rax, QWORD PTR sN[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn1N
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sN[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L276
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sN[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L276
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 6
	mov	edx, eax
	and	edx, 63
	movzx	eax, WORD PTR sN[rip]
	shr	ax, 6
	and	eax, 63
	cmp	dl, al
	jne	.L276
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sN[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L276
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L277
.L276:
	call	abort@PLT
.L277:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	movzx	eax, al
	and	eax, 63
	sal	eax, 6
	mov	edx, eax
	movzx	eax, WORD PTR sN[rip]
	and	ax, -4033
	or	eax, edx
	mov	WORD PTR sN[rip], ax
	mov	rax, QWORD PTR sN[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn2N
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sN[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L278
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sN[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L278
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 6
	mov	edx, eax
	and	edx, 63
	movzx	eax, WORD PTR sN[rip]
	shr	ax, 6
	and	eax, 63
	cmp	dl, al
	jne	.L278
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sN[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L278
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L279
.L278:
	call	abort@PLT
.L279:
	call	myrnd
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 63
	movzx	eax, al
	and	eax, 63
	sal	eax, 6
	mov	edx, eax
	movzx	eax, WORD PTR sN[rip]
	and	ax, -4033
	or	eax, edx
	mov	WORD PTR sN[rip], ax
	mov	rax, QWORD PTR sN[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	fn3N
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sN[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L280
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sN[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L280
	movzx	eax, WORD PTR sN[rip]
	shr	ax, 6
	and	eax, 63
	movzx	eax, al
	cmp	DWORD PTR -20[rbp], eax
	jne	.L280
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sN[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L280
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	and	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -20[rbp], eax
	je	.L282
.L280:
	call	abort@PLT
.L282:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	testN, .-testN
	.globl	sO
	.bss
	.align 16
	.type	sO, @object
	.size	sO, 16
sO:
	.zero	16
	.text
	.globl	retmeO
	.type	retmeO, @function
retmeO:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	retmeO, .-retmeO
	.globl	fn1O
	.type	fn1O, @function
fn1O:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sO[rip]
	mov	rdx, QWORD PTR sO[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -8[rbp], ax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeO
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	fn1O, .-fn1O
	.globl	fn2O
	.type	fn2O, @function
fn2O:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sO[rip]
	mov	rdx, QWORD PTR sO[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -8[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -8[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	fn2O, .-fn2O
	.globl	retitO
	.type	retitO, @function
retitO:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	retitO, .-retitO
	.globl	fn3O
	.type	fn3O, @function
fn3O:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sO[rip+8], ax
	call	retitO
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	fn3O, .-fn3O
	.globl	testO
	.type	testO, @function
testO:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sO[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L294
.L295:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L294:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L295
	movzx	eax, WORD PTR sO[rip+8]
	or	ax, 4095
	mov	WORD PTR sO[rip+8], ax
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, 4095
	movzx	eax, ax
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sO[rip+8], ax
	mov	rax, QWORD PTR sO[rip]
	mov	rdx, QWORD PTR sO[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1O
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sO[rip+12]
	shr	eax, 3
	cmp	edx, eax
	jne	.L296
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sO[rip+8]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L296
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, 4095
	cmp	dx, ax
	jne	.L296
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR sO[rip]
	cmp	rdx, rax
	jne	.L296
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L297
.L296:
	call	abort@PLT
.L297:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sO[rip+8], ax
	mov	rax, QWORD PTR sO[rip]
	mov	rdx, QWORD PTR sO[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2O
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sO[rip+12]
	shr	eax, 3
	cmp	edx, eax
	jne	.L298
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sO[rip+8]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L298
	movzx	eax, WORD PTR -8[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, 4095
	cmp	dx, ax
	jne	.L298
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR sO[rip]
	cmp	rdx, rax
	jne	.L298
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L299
.L298:
	call	abort@PLT
.L299:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sO[rip+8], ax
	mov	rax, QWORD PTR sO[rip]
	mov	rdx, QWORD PTR sO[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3O
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sO[rip+12]
	shr	eax, 3
	cmp	edx, eax
	jne	.L300
	mov	rax, QWORD PTR -8[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sO[rip+8]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L300
	movzx	eax, WORD PTR sO[rip+8]
	and	ax, 4095
	movzx	eax, ax
	cmp	DWORD PTR -28[rbp], eax
	jne	.L300
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR sO[rip]
	cmp	rdx, rax
	jne	.L300
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L302
.L300:
	call	abort@PLT
.L302:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	testO, .-testO
	.globl	sP
	.bss
	.align 16
	.type	sP, @object
	.size	sP, 16
sP:
	.zero	16
	.text
	.globl	retmeP
	.type	retmeP, @function
retmeP:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	retmeP, .-retmeP
	.globl	fn1P
	.type	fn1P, @function
fn1P:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sP[rip]
	mov	rdx, QWORD PTR sP[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeP
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	fn1P, .-fn1P
	.globl	fn2P
	.type	fn2P, @function
fn2P:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sP[rip]
	mov	rdx, QWORD PTR sP[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	fn2P, .-fn2P
	.globl	retitP
	.type	retitP, @function
retitP:
.LFB94:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sP[rip]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	retitP, .-retitP
	.globl	fn3P
	.type	fn3P, @function
fn3P:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sP[rip]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sP[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sP[rip], ax
	call	retitP
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	fn3P, .-fn3P
	.globl	testP
	.type	testP, @function
testP:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sP[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L314
.L315:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L314:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L315
	movzx	eax, WORD PTR sP[rip]
	or	ax, 4095
	mov	WORD PTR sP[rip], ax
	movzx	eax, WORD PTR sP[rip]
	and	ax, 4095
	movzx	eax, ax
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sP[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sP[rip], ax
	mov	rax, QWORD PTR sP[rip]
	mov	rdx, QWORD PTR sP[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1P
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sP[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L316
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sP[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L316
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sP[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L316
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sP[rip+8]
	cmp	rdx, rax
	jne	.L316
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L317
.L316:
	call	abort@PLT
.L317:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sP[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sP[rip], ax
	mov	rax, QWORD PTR sP[rip]
	mov	rdx, QWORD PTR sP[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2P
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sP[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L318
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sP[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L318
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sP[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L318
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sP[rip+8]
	cmp	rdx, rax
	jne	.L318
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L319
.L318:
	call	abort@PLT
.L319:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sP[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sP[rip], ax
	mov	rax, QWORD PTR sP[rip]
	mov	rdx, QWORD PTR sP[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3P
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR sP[rip+4]
	shr	eax, 3
	cmp	edx, eax
	jne	.L320
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 12
	mov	edx, eax
	and	edx, 8388607
	mov	rax, QWORD PTR sP[rip]
	shr	rax, 12
	and	eax, 8388607
	cmp	edx, eax
	jne	.L320
	movzx	eax, WORD PTR sP[rip]
	and	ax, 4095
	movzx	eax, ax
	cmp	DWORD PTR -28[rbp], eax
	jne	.L320
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sP[rip+8]
	cmp	rdx, rax
	jne	.L320
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L322
.L320:
	call	abort@PLT
.L322:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	testP, .-testP
	.globl	sQ
	.bss
	.align 16
	.type	sQ, @object
	.size	sQ, 16
sQ:
	.zero	16
	.text
	.globl	retmeQ
	.type	retmeQ, @function
retmeQ:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	retmeQ, .-retmeQ
	.globl	fn1Q
	.type	fn1Q, @function
fn1Q:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sQ[rip]
	mov	rdx, QWORD PTR sQ[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeQ
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	fn1Q, .-fn1Q
	.globl	fn2Q
	.type	fn2Q, @function
fn2Q:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sQ[rip]
	mov	rdx, QWORD PTR sQ[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	fn2Q, .-fn2Q
	.globl	retitQ
	.type	retitQ, @function
retitQ:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sQ[rip]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	retitQ, .-retitQ
	.globl	fn3Q
	.type	fn3Q, @function
fn3Q:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sQ[rip]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sQ[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sQ[rip], ax
	call	retitQ
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	fn3Q, .-fn3Q
	.globl	testQ
	.type	testQ, @function
testQ:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sQ[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L334
.L335:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L334:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L335
	movzx	eax, WORD PTR sQ[rip]
	or	ax, 4095
	mov	WORD PTR sQ[rip], ax
	movzx	eax, WORD PTR sQ[rip]
	and	ax, 4095
	movzx	eax, ax
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sQ[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sQ[rip], ax
	mov	rax, QWORD PTR sQ[rip]
	mov	rdx, QWORD PTR sQ[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1Q
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sQ[rip+3]
	shr	al
	cmp	dl, al
	jne	.L336
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sQ[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L336
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sQ[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L336
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sQ[rip+8]
	cmp	rdx, rax
	jne	.L336
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L337
.L336:
	call	abort@PLT
.L337:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sQ[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sQ[rip], ax
	mov	rax, QWORD PTR sQ[rip]
	mov	rdx, QWORD PTR sQ[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2Q
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sQ[rip+3]
	shr	al
	cmp	dl, al
	jne	.L338
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sQ[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L338
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sQ[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L338
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sQ[rip+8]
	cmp	rdx, rax
	jne	.L338
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L339
.L338:
	call	abort@PLT
.L339:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sQ[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sQ[rip], ax
	mov	rax, QWORD PTR sQ[rip]
	mov	rdx, QWORD PTR sQ[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3Q
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sQ[rip+3]
	shr	al
	cmp	dl, al
	jne	.L340
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sQ[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L340
	movzx	eax, WORD PTR sQ[rip]
	and	ax, 4095
	movzx	eax, ax
	cmp	DWORD PTR -28[rbp], eax
	jne	.L340
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sQ[rip+8]
	cmp	rdx, rax
	jne	.L340
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L342
.L340:
	call	abort@PLT
.L342:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	testQ, .-testQ
	.globl	sR
	.bss
	.align 16
	.type	sR, @object
	.size	sR, 16
sR:
	.zero	16
	.text
	.globl	retmeR
	.type	retmeR, @function
retmeR:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	retmeR, .-retmeR
	.globl	fn1R
	.type	fn1R, @function
fn1R:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sR[rip]
	mov	rdx, QWORD PTR sR[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeR
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	fn1R, .-fn1R
	.globl	fn2R
	.type	fn2R, @function
fn2R:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sR[rip]
	mov	rdx, QWORD PTR sR[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	fn2R, .-fn2R
	.globl	retitR
	.type	retitR, @function
retitR:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sR[rip]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	retitR, .-retitR
	.globl	fn3R
	.type	fn3R, @function
fn3R:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sR[rip]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sR[rip], ax
	call	retitR
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	fn3R, .-fn3R
	.globl	testR
	.type	testR, @function
testR:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sR[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L354
.L355:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L354:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L355
	movzx	eax, WORD PTR sR[rip]
	or	ax, 4095
	mov	WORD PTR sR[rip], ax
	movzx	eax, WORD PTR sR[rip]
	and	ax, 4095
	movzx	eax, ax
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sR[rip], ax
	mov	rax, QWORD PTR sR[rip]
	mov	rdx, QWORD PTR sR[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1R
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L356
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sR[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L356
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L356
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sR[rip+8]
	cmp	rdx, rax
	jne	.L356
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L357
.L356:
	call	abort@PLT
.L357:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sR[rip], ax
	mov	rax, QWORD PTR sR[rip]
	mov	rdx, QWORD PTR sR[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2R
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L358
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sR[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L358
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L358
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sR[rip+8]
	cmp	rdx, rax
	jne	.L358
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L359
.L358:
	call	abort@PLT
.L359:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sR[rip], ax
	mov	rax, QWORD PTR sR[rip]
	mov	rdx, QWORD PTR sR[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3R
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sR[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L360
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sR[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L360
	movzx	eax, WORD PTR sR[rip]
	and	ax, 4095
	movzx	eax, ax
	cmp	DWORD PTR -28[rbp], eax
	jne	.L360
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sR[rip+8]
	cmp	rdx, rax
	jne	.L360
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L362
.L360:
	call	abort@PLT
.L362:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	testR, .-testR
	.globl	sS
	.bss
	.align 16
	.type	sS, @object
	.size	sS, 16
sS:
	.zero	16
	.text
	.globl	retmeS
	.type	retmeS, @function
retmeS:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	retmeS, .-retmeS
	.globl	fn1S
	.type	fn1S, @function
fn1S:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sS[rip]
	mov	rdx, QWORD PTR sS[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -16[rbp], al
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeS
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	fn1S, .-fn1S
	.globl	fn2S
	.type	fn2S, @function
fn2S:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sS[rip]
	mov	rdx, QWORD PTR sS[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -16[rbp], al
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -16[rbp], al
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	fn2S, .-fn2S
	.globl	retitS
	.type	retitS, @function
retitS:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sS[rip]
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	retitS, .-retitS
	.globl	fn3S
	.type	fn3S, @function
fn3S:
.LFB113:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sS[rip]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sS[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sS[rip], al
	call	retitS
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	fn3S, .-fn3S
	.globl	testS
	.type	testS, @function
testS:
.LFB114:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sS[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L374
.L375:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L374:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L375
	movzx	eax, BYTE PTR sS[rip]
	or	eax, 1
	mov	BYTE PTR sS[rip], al
	movzx	eax, BYTE PTR sS[rip]
	and	eax, 1
	movzx	eax, al
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sS[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sS[rip], al
	mov	rax, QWORD PTR sS[rip]
	mov	rdx, QWORD PTR sS[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1S
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sS[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L376
	movzx	eax, BYTE PTR -16[rbp]
	shr	al
	mov	edx, eax
	and	edx, 63
	movzx	eax, BYTE PTR sS[rip]
	shr	al
	and	eax, 63
	cmp	dl, al
	jne	.L376
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sS[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L376
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sS[rip+8]
	cmp	rdx, rax
	jne	.L376
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L377
.L376:
	call	abort@PLT
.L377:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sS[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sS[rip], al
	mov	rax, QWORD PTR sS[rip]
	mov	rdx, QWORD PTR sS[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2S
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sS[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L378
	movzx	eax, BYTE PTR -16[rbp]
	shr	al
	mov	edx, eax
	and	edx, 63
	movzx	eax, BYTE PTR sS[rip]
	shr	al
	and	eax, 63
	cmp	dl, al
	jne	.L378
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sS[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L378
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sS[rip+8]
	cmp	rdx, rax
	jne	.L378
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L379
.L378:
	call	abort@PLT
.L379:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sS[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sS[rip], al
	mov	rax, QWORD PTR sS[rip]
	mov	rdx, QWORD PTR sS[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3S
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sS[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L380
	movzx	eax, BYTE PTR -16[rbp]
	shr	al
	mov	edx, eax
	and	edx, 63
	movzx	eax, BYTE PTR sS[rip]
	shr	al
	and	eax, 63
	cmp	dl, al
	jne	.L380
	movzx	eax, BYTE PTR sS[rip]
	and	eax, 1
	movzx	eax, al
	cmp	DWORD PTR -28[rbp], eax
	jne	.L380
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sS[rip+8]
	cmp	rdx, rax
	jne	.L380
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L382
.L380:
	call	abort@PLT
.L382:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	testS, .-testS
	.globl	sT
	.bss
	.align 2
	.type	sT, @object
	.size	sT, 4
sT:
	.zero	4
	.text
	.globl	retmeT
	.type	retmeT, @function
retmeT:
.LFB115:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	retmeT, .-retmeT
	.globl	fn1T
	.type	fn1T, @function
fn1T:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sT[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	retmeT
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 1
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	fn1T, .-fn1T
	.globl	fn2T
	.type	fn2T, @function
fn2T:
.LFB117:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sT[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 1
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -4[rbp], al
	movzx	eax, BYTE PTR -4[rbp]
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	fn2T, .-fn2T
	.globl	retitT
	.type	retitT, @function
retitT:
.LFB118:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sT[rip]
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	retitT, .-retitT
	.globl	fn3T
	.type	fn3T, @function
fn3T:
.LFB119:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sT[rip]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sT[rip], al
	call	retitT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	fn3T, .-fn3T
	.globl	testT
	.type	testT, @function
testT:
.LFB120:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	lea	rax, sT[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L394
.L395:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -32[rbp], 1
.L394:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, 3
	jbe	.L395
	movzx	eax, BYTE PTR sT[rip]
	or	eax, 1
	mov	BYTE PTR sT[rip], al
	movzx	eax, BYTE PTR sT[rip]
	and	eax, 1
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sT[rip], al
	mov	eax, DWORD PTR sT[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn1T
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip+1]
	shr	al
	cmp	dl, al
	jne	.L396
	movzx	eax, WORD PTR -12[rbp]
	shr	ax
	mov	edx, eax
	and	dh, -1
	movzx	eax, WORD PTR sT[rip]
	shr	ax
	and	ah, -1
	cmp	dl, al
	jne	.L396
	movzx	eax, BYTE PTR -12[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L396
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sT[rip+2]
	cmp	dx, ax
	jne	.L396
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L397
.L396:
	call	abort@PLT
.L397:
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sT[rip], al
	mov	eax, DWORD PTR sT[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn2T
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip+1]
	shr	al
	cmp	dl, al
	jne	.L398
	movzx	eax, WORD PTR -12[rbp]
	shr	ax
	mov	edx, eax
	and	dh, -1
	movzx	eax, WORD PTR sT[rip]
	shr	ax
	and	ah, -1
	cmp	dl, al
	jne	.L398
	movzx	eax, BYTE PTR -12[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip]
	and	eax, 1
	cmp	dl, al
	jne	.L398
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sT[rip+2]
	cmp	dx, ax
	jne	.L398
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L399
.L398:
	call	abort@PLT
.L399:
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sT[rip], al
	mov	eax, DWORD PTR sT[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn3T
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sT[rip+1]
	shr	al
	cmp	dl, al
	jne	.L400
	movzx	eax, WORD PTR -12[rbp]
	shr	ax
	mov	edx, eax
	and	dh, -1
	movzx	eax, WORD PTR sT[rip]
	shr	ax
	and	ah, -1
	cmp	dl, al
	jne	.L400
	movzx	eax, BYTE PTR sT[rip]
	and	eax, 1
	movzx	eax, al
	cmp	DWORD PTR -16[rbp], eax
	jne	.L400
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sT[rip+2]
	cmp	dx, ax
	jne	.L400
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L402
.L400:
	call	abort@PLT
.L402:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	testT, .-testT
	.globl	sU
	.bss
	.align 16
	.type	sU, @object
	.size	sU, 16
sU:
	.zero	16
	.text
	.globl	retmeU
	.type	retmeU, @function
retmeU:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rdi
	mov	rcx, rsi
	mov	rdx, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	retmeU, .-retmeU
	.globl	fn1U
	.type	fn1U, @function
fn1U:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sU[rip]
	mov	rdx, QWORD PTR sU[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -16[rbp]
	shr	al, 6
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	sal	eax, 6
	mov	edx, eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, -65
	or	eax, edx
	mov	BYTE PTR -16[rbp], al
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rdx
	mov	rsi, rax
	call	retmeU
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -16[rbp]
	shr	al, 6
	and	eax, 1
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	fn1U, .-fn1U
	.globl	fn2U
	.type	fn2U, @function
fn2U:
.LFB123:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	rax, QWORD PTR sU[rip]
	mov	rdx, QWORD PTR sU[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, BYTE PTR -16[rbp]
	shr	al, 6
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	sal	eax, 6
	mov	edx, eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, -65
	or	eax, edx
	mov	BYTE PTR -16[rbp], al
	movzx	eax, BYTE PTR -16[rbp]
	shr	al, 6
	and	eax, 1
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 1
	and	eax, 1
	sal	eax, 6
	mov	edx, eax
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, -65
	or	eax, edx
	mov	BYTE PTR -16[rbp], al
	movzx	eax, BYTE PTR -16[rbp]
	shr	al, 6
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	fn2U, .-fn2U
	.globl	retitU
	.type	retitU, @function
retitU:
.LFB124:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sU[rip]
	shr	al, 6
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	retitU, .-retitU
	.globl	fn3U
	.type	fn3U, @function
fn3U:
.LFB125:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sU[rip]
	shr	al, 6
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	sal	eax, 6
	mov	edx, eax
	movzx	eax, BYTE PTR sU[rip]
	and	eax, -65
	or	eax, edx
	mov	BYTE PTR sU[rip], al
	call	retitU
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	fn3U, .-fn3U
	.globl	testU
	.type	testU, @function
testU:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	lea	rax, sU[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L414
.L415:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -44[rbp], 1
.L414:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 15
	jbe	.L415
	movzx	eax, BYTE PTR sU[rip]
	or	eax, 64
	mov	BYTE PTR sU[rip], al
	movzx	eax, BYTE PTR sU[rip]
	shr	al, 6
	and	eax, 1
	movzx	eax, al
	mov	DWORD PTR -40[rbp], eax
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	and	eax, 1
	sal	eax, 6
	mov	edx, eax
	movzx	eax, BYTE PTR sU[rip]
	and	eax, -65
	or	eax, edx
	mov	BYTE PTR sU[rip], al
	mov	rax, QWORD PTR sU[rip]
	mov	rdx, QWORD PTR sU[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn1U
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sU[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L416
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sU[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L416
	movzx	eax, BYTE PTR -16[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sU[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L416
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sU[rip+8]
	cmp	rdx, rax
	jne	.L416
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L417
.L416:
	call	abort@PLT
.L417:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	and	eax, 1
	sal	eax, 6
	mov	edx, eax
	movzx	eax, BYTE PTR sU[rip]
	and	eax, -65
	or	eax, edx
	mov	BYTE PTR sU[rip], al
	mov	rax, QWORD PTR sU[rip]
	mov	rdx, QWORD PTR sU[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn2U
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sU[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L418
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sU[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L418
	movzx	eax, BYTE PTR -16[rbp]
	shr	al, 6
	mov	edx, eax
	and	edx, 1
	movzx	eax, BYTE PTR sU[rip]
	shr	al, 6
	and	eax, 1
	cmp	dl, al
	jne	.L418
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sU[rip+8]
	cmp	rdx, rax
	jne	.L418
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L419
.L418:
	call	abort@PLT
.L419:
	call	myrnd
	mov	DWORD PTR -36[rbp], eax
	call	myrnd
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	and	eax, 1
	sal	eax, 6
	mov	edx, eax
	movzx	eax, BYTE PTR sU[rip]
	and	eax, -65
	or	eax, edx
	mov	BYTE PTR sU[rip], al
	mov	rax, QWORD PTR sU[rip]
	mov	rdx, QWORD PTR sU[rip+8]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fn3U
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -16[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sU[rip]
	shr	ax, 7
	cmp	dx, ax
	jne	.L420
	movzx	eax, BYTE PTR -16[rbp]
	and	eax, 63
	mov	edx, eax
	movzx	eax, BYTE PTR sU[rip]
	and	eax, 63
	cmp	dl, al
	jne	.L420
	movzx	eax, BYTE PTR sU[rip]
	shr	al, 6
	and	eax, 1
	movzx	eax, al
	cmp	DWORD PTR -28[rbp], eax
	jne	.L420
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR sU[rip+8]
	cmp	rdx, rax
	jne	.L420
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	and	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -28[rbp], eax
	je	.L422
.L420:
	call	abort@PLT
.L422:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	testU, .-testU
	.globl	sV
	.bss
	.align 2
	.type	sV, @object
	.size	sV, 4
sV:
	.zero	4
	.text
	.globl	retmeV
	.type	retmeV, @function
retmeV:
.LFB127:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	retmeV, .-retmeV
	.globl	fn1V
	.type	fn1V, @function
fn1V:
.LFB128:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sV[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -3[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	retmeV
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	fn1V, .-fn1V
	.globl	fn2V
	.type	fn2V, @function
fn2V:
.LFB129:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR sV[rip]
	mov	DWORD PTR -4[rbp], eax
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -3[rbp], al
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	movzx	eax, al
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	mov	edx, ecx
	sal	edx, 4
	sub	edx, ecx
	sub	eax, edx
	mov	ecx, eax
	mov	eax, ecx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR -3[rbp], al
	movzx	eax, BYTE PTR -3[rbp]
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	fn2V, .-fn2V
	.globl	retitV
	.type	retitV, @function
retitV:
.LFB130:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, 1
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	retitV, .-retitV
	.globl	fn3V
	.type	fn3V, @function
fn3V:
.LFB131:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sV[rip+1], al
	call	retitV
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE131:
	.size	fn3V, .-fn3V
	.globl	testV
	.type	testV, @function
testV:
.LFB132:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	lea	rax, sV[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L434
.L435:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -32[rbp], 1
.L434:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, 3
	jbe	.L435
	movzx	eax, BYTE PTR sV[rip+1]
	or	eax, 1
	mov	BYTE PTR sV[rip+1], al
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, 1
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sV[rip+1], al
	mov	eax, DWORD PTR sV[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn1V
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	shr	al
	cmp	dl, al
	jne	.L436
	movzx	edx, BYTE PTR -12[rbp]
	movzx	eax, BYTE PTR sV[rip]
	cmp	dl, al
	jne	.L436
	movzx	eax, BYTE PTR -11[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, 1
	cmp	dl, al
	jne	.L436
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sV[rip+2]
	cmp	dx, ax
	jne	.L436
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L437
.L436:
	call	abort@PLT
.L437:
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sV[rip+1], al
	mov	eax, DWORD PTR sV[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn2V
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	shr	al
	cmp	dl, al
	jne	.L438
	movzx	edx, BYTE PTR -12[rbp]
	movzx	eax, BYTE PTR sV[rip]
	cmp	dl, al
	jne	.L438
	movzx	eax, BYTE PTR -11[rbp]
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, 1
	cmp	dl, al
	jne	.L438
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sV[rip+2]
	cmp	dx, ax
	jne	.L438
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L439
.L438:
	call	abort@PLT
.L439:
	call	myrnd
	mov	DWORD PTR -24[rbp], eax
	call	myrnd
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
	and	eax, 1
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, -2
	or	eax, edx
	mov	BYTE PTR sV[rip+1], al
	mov	eax, DWORD PTR sV[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	fn3V
	mov	DWORD PTR -16[rbp], eax
	movzx	eax, BYTE PTR -11[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sV[rip+1]
	shr	al
	cmp	dl, al
	jne	.L440
	movzx	edx, BYTE PTR -12[rbp]
	movzx	eax, BYTE PTR sV[rip]
	cmp	dl, al
	jne	.L440
	movzx	eax, BYTE PTR sV[rip+1]
	and	eax, 1
	movzx	eax, al
	cmp	DWORD PTR -16[rbp], eax
	jne	.L440
	movzx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR sV[rip+2]
	cmp	dx, ax
	jne	.L440
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	and	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -16[rbp], eax
	je	.L442
.L440:
	call	abort@PLT
.L442:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE132:
	.size	testV, .-testV
	.globl	sW
	.bss
	.align 32
	.type	sW, @object
	.size	sW, 32
sW:
	.zero	32
	.text
	.globl	retmeW
	.type	retmeW, @function
retmeW:
.LFB133:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rbp]
	mov	rdx, QWORD PTR 24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR 32[rbp]
	mov	rdx, QWORD PTR 40[rbp]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE133:
	.size	retmeW, .-retmeW
	.globl	fn1W
	.type	fn1W, @function
fn1W:
.LFB134:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR sW[rip]
	mov	rdx, QWORD PTR sW[rip+8]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR sW[rip+16]
	mov	rdx, QWORD PTR sW[rip+24]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -32[rbp], ax
	lea	rax, -48[rbp]
	push	QWORD PTR -24[rbp]
	push	QWORD PTR -32[rbp]
	push	QWORD PTR -40[rbp]
	push	QWORD PTR -48[rbp]
	mov	rdi, rax
	call	retmeW
	add	rsp, 32
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	movzx	eax, ax
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L447
	call	__stack_chk_fail@PLT
.L447:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE134:
	.size	fn1W, .-fn1W
	.globl	fn2W
	.type	fn2W, @function
fn2W:
.LFB135:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR sW[rip]
	mov	rdx, QWORD PTR sW[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sW[rip+16]
	mov	rdx, QWORD PTR sW[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -16[rbp], ax
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	fn2W, .-fn2W
	.globl	retitW
	.type	retitW, @function
retitW:
.LFB136:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE136:
	.size	retitW, .-retitW
	.globl	fn3W
	.type	fn3W, @function
fn3W:
.LFB137:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sW[rip+16], ax
	call	retitW
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE137:
	.size	fn3W, .-fn3W
	.globl	testW
	.type	testW, @function
testW:
.LFB138:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	lea	rax, sW[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L455
.L456:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -60[rbp], 1
.L455:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, 31
	jbe	.L456
	fld	TBYTE PTR .LC0[rip]
	fstp	TBYTE PTR sW[rip]
	movzx	eax, WORD PTR sW[rip+16]
	or	ax, 4095
	mov	WORD PTR sW[rip+16], ax
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, 4095
	movzx	eax, ax
	mov	DWORD PTR -56[rbp], eax
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sW[rip+16], ax
	mov	rax, QWORD PTR sW[rip]
	mov	rdx, QWORD PTR sW[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sW[rip+16]
	mov	rdx, QWORD PTR sW[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn1W
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sW[rip+19]
	shr	al
	cmp	dl, al
	jne	.L457
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sW[rip+16]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L457
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, 4095
	cmp	dx, ax
	jne	.L457
	fld	TBYTE PTR -32[rbp]
	fld	TBYTE PTR sW[rip]
	fucomi	st, st(1)
	jp	.L464
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L457
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L458
	jmp	.L457
.L464:
	fstp	st(0)
	fstp	st(0)
.L457:
	call	abort@PLT
.L458:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sW[rip+16], ax
	mov	rax, QWORD PTR sW[rip]
	mov	rdx, QWORD PTR sW[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sW[rip+16]
	mov	rdx, QWORD PTR sW[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn2W
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sW[rip+19]
	shr	al
	cmp	dl, al
	jne	.L459
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sW[rip+16]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L459
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, 4095
	cmp	dx, ax
	jne	.L459
	fld	TBYTE PTR -32[rbp]
	fld	TBYTE PTR sW[rip]
	fucomi	st, st(1)
	jp	.L465
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L459
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L460
	jmp	.L459
.L465:
	fstp	st(0)
	fstp	st(0)
.L459:
	call	abort@PLT
.L460:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sW[rip+16], ax
	mov	rax, QWORD PTR sW[rip]
	mov	rdx, QWORD PTR sW[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sW[rip+16]
	mov	rdx, QWORD PTR sW[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn3W
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, BYTE PTR -13[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sW[rip+19]
	shr	al
	cmp	dl, al
	jne	.L461
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sW[rip+16]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L461
	movzx	eax, WORD PTR sW[rip+16]
	and	ax, 4095
	movzx	eax, ax
	cmp	DWORD PTR -44[rbp], eax
	jne	.L461
	fld	TBYTE PTR -32[rbp]
	fld	TBYTE PTR sW[rip]
	fucomi	st, st(1)
	jp	.L466
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L461
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L463
	jmp	.L461
.L466:
	fstp	st(0)
	fstp	st(0)
.L461:
	call	abort@PLT
.L463:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE138:
	.size	testW, .-testW
	.globl	sX
	.bss
	.align 32
	.type	sX, @object
	.size	sX, 32
sX:
	.zero	32
	.text
	.globl	retmeX
	.type	retmeX, @function
retmeX:
.LFB139:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rbp]
	mov	rdx, QWORD PTR 24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR 32[rbp]
	mov	rdx, QWORD PTR 40[rbp]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE139:
	.size	retmeX, .-retmeX
	.globl	fn1X
	.type	fn1X, @function
fn1X:
.LFB140:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR sX[rip]
	mov	rdx, QWORD PTR sX[rip+8]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR sX[rip+16]
	mov	rdx, QWORD PTR sX[rip+24]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, WORD PTR -48[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -48[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -48[rbp], ax
	lea	rax, -48[rbp]
	push	QWORD PTR -24[rbp]
	push	QWORD PTR -32[rbp]
	push	QWORD PTR -40[rbp]
	push	QWORD PTR -48[rbp]
	mov	rdi, rax
	call	retmeX
	add	rsp, 32
	movzx	eax, WORD PTR -48[rbp]
	and	ax, 4095
	movzx	eax, ax
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L471
	call	__stack_chk_fail@PLT
.L471:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE140:
	.size	fn1X, .-fn1X
	.globl	fn2X
	.type	fn2X, @function
fn2X:
.LFB141:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR sX[rip]
	mov	rdx, QWORD PTR sX[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sX[rip+16]
	mov	rdx, QWORD PTR sX[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -32[rbp], ax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -32[rbp], ax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE141:
	.size	fn2X, .-fn2X
	.globl	retitX
	.type	retitX, @function
retitX:
.LFB142:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sX[rip]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE142:
	.size	retitX, .-retitX
	.globl	fn3X
	.type	fn3X, @function
fn3X:
.LFB143:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sX[rip]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sX[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sX[rip], ax
	call	retitX
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE143:
	.size	fn3X, .-fn3X
	.globl	testX
	.type	testX, @function
testX:
.LFB144:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	lea	rax, sX[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L479
.L480:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -60[rbp], 1
.L479:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, 31
	jbe	.L480
	fld	TBYTE PTR .LC0[rip]
	fstp	TBYTE PTR sX[rip+16]
	movzx	eax, WORD PTR sX[rip]
	or	ax, 4095
	mov	WORD PTR sX[rip], ax
	movzx	eax, WORD PTR sX[rip]
	and	ax, 4095
	movzx	eax, ax
	mov	DWORD PTR -56[rbp], eax
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sX[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sX[rip], ax
	mov	rax, QWORD PTR sX[rip]
	mov	rdx, QWORD PTR sX[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sX[rip+16]
	mov	rdx, QWORD PTR sX[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn1X
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, BYTE PTR -29[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sX[rip+3]
	shr	al
	cmp	dl, al
	jne	.L481
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sX[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L481
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sX[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L481
	fld	TBYTE PTR -16[rbp]
	fld	TBYTE PTR sX[rip+16]
	fucomi	st, st(1)
	jp	.L488
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L481
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L482
	jmp	.L481
.L488:
	fstp	st(0)
	fstp	st(0)
.L481:
	call	abort@PLT
.L482:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sX[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sX[rip], ax
	mov	rax, QWORD PTR sX[rip]
	mov	rdx, QWORD PTR sX[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sX[rip+16]
	mov	rdx, QWORD PTR sX[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn2X
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, BYTE PTR -29[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sX[rip+3]
	shr	al
	cmp	dl, al
	jne	.L483
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sX[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L483
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sX[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L483
	fld	TBYTE PTR -16[rbp]
	fld	TBYTE PTR sX[rip+16]
	fucomi	st, st(1)
	jp	.L489
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L483
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L484
	jmp	.L483
.L489:
	fstp	st(0)
	fstp	st(0)
.L483:
	call	abort@PLT
.L484:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sX[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sX[rip], ax
	mov	rax, QWORD PTR sX[rip]
	mov	rdx, QWORD PTR sX[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sX[rip+16]
	mov	rdx, QWORD PTR sX[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn3X
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, BYTE PTR -29[rbp]
	shr	al
	mov	edx, eax
	movzx	eax, BYTE PTR sX[rip+3]
	shr	al
	cmp	dl, al
	jne	.L485
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 8191
	mov	eax, DWORD PTR sX[rip]
	shr	eax, 12
	and	ax, 8191
	cmp	dx, ax
	jne	.L485
	movzx	eax, WORD PTR sX[rip]
	and	ax, 4095
	movzx	eax, ax
	cmp	DWORD PTR -44[rbp], eax
	jne	.L485
	fld	TBYTE PTR -16[rbp]
	fld	TBYTE PTR sX[rip+16]
	fucomi	st, st(1)
	jp	.L490
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L485
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L487
	jmp	.L485
.L490:
	fstp	st(0)
	fstp	st(0)
.L485:
	call	abort@PLT
.L487:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE144:
	.size	testX, .-testX
	.globl	sY
	.bss
	.align 32
	.type	sY, @object
	.size	sY, 32
sY:
	.zero	32
	.text
	.globl	retmeY
	.type	retmeY, @function
retmeY:
.LFB145:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rbp]
	mov	rdx, QWORD PTR 24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR 32[rbp]
	mov	rdx, QWORD PTR 40[rbp]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE145:
	.size	retmeY, .-retmeY
	.globl	fn1Y
	.type	fn1Y, @function
fn1Y:
.LFB146:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR sY[rip]
	mov	rdx, QWORD PTR sY[rip+8]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR sY[rip+16]
	mov	rdx, QWORD PTR sY[rip+24]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, WORD PTR -48[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -48[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -48[rbp], ax
	lea	rax, -48[rbp]
	push	QWORD PTR -24[rbp]
	push	QWORD PTR -32[rbp]
	push	QWORD PTR -40[rbp]
	push	QWORD PTR -48[rbp]
	mov	rdi, rax
	call	retmeY
	add	rsp, 32
	movzx	eax, WORD PTR -48[rbp]
	and	ax, 4095
	movzx	eax, ax
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L495
	call	__stack_chk_fail@PLT
.L495:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE146:
	.size	fn1Y, .-fn1Y
	.globl	fn2Y
	.type	fn2Y, @function
fn2Y:
.LFB147:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR sY[rip]
	mov	rdx, QWORD PTR sY[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sY[rip+16]
	mov	rdx, QWORD PTR sY[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -32[rbp], ax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR -32[rbp], ax
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE147:
	.size	fn2Y, .-fn2Y
	.globl	retitY
	.type	retitY, @function
retitY:
.LFB148:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sY[rip]
	and	ax, 4095
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE148:
	.size	retitY, .-retitY
	.globl	fn3Y
	.type	fn3Y, @function
fn3Y:
.LFB149:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sY[rip]
	and	ax, 4095
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sY[rip], ax
	call	retitY
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE149:
	.size	fn3Y, .-fn3Y
	.globl	testY
	.type	testY, @function
testY:
.LFB150:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	lea	rax, sY[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L503
.L504:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -60[rbp], 1
.L503:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, 31
	jbe	.L504
	fld	TBYTE PTR .LC0[rip]
	fstp	TBYTE PTR sY[rip+16]
	movzx	eax, WORD PTR sY[rip]
	or	ax, 4095
	mov	WORD PTR sY[rip], ax
	movzx	eax, WORD PTR sY[rip]
	and	ax, 4095
	movzx	eax, ax
	mov	DWORD PTR -56[rbp], eax
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sY[rip], ax
	mov	rax, QWORD PTR sY[rip]
	mov	rdx, QWORD PTR sY[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sY[rip+16]
	mov	rdx, QWORD PTR sY[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn1Y
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, WORD PTR -30[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L505
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sY[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L505
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L505
	fld	TBYTE PTR -16[rbp]
	fld	TBYTE PTR sY[rip+16]
	fucomi	st, st(1)
	jp	.L512
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L505
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L506
	jmp	.L505
.L512:
	fstp	st(0)
	fstp	st(0)
.L505:
	call	abort@PLT
.L506:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sY[rip], ax
	mov	rax, QWORD PTR sY[rip]
	mov	rdx, QWORD PTR sY[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sY[rip+16]
	mov	rdx, QWORD PTR sY[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn2Y
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, WORD PTR -30[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L507
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sY[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L507
	movzx	eax, WORD PTR -32[rbp]
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip]
	and	ax, 4095
	cmp	dx, ax
	jne	.L507
	fld	TBYTE PTR -16[rbp]
	fld	TBYTE PTR sY[rip+16]
	fucomi	st, st(1)
	jp	.L513
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L507
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L508
	jmp	.L507
.L513:
	fstp	st(0)
	fstp	st(0)
.L507:
	call	abort@PLT
.L508:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	and	ax, 4095
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip]
	and	ax, -4096
	or	eax, edx
	mov	WORD PTR sY[rip], ax
	mov	rax, QWORD PTR sY[rip]
	mov	rdx, QWORD PTR sY[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sY[rip+16]
	mov	rdx, QWORD PTR sY[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn3Y
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, WORD PTR -30[rbp]
	shr	ax, 7
	mov	edx, eax
	movzx	eax, WORD PTR sY[rip+2]
	shr	ax, 7
	cmp	dx, ax
	jne	.L509
	mov	eax, DWORD PTR -32[rbp]
	shr	eax, 12
	mov	edx, eax
	and	dx, 2047
	mov	eax, DWORD PTR sY[rip]
	shr	eax, 12
	and	ax, 2047
	cmp	dx, ax
	jne	.L509
	movzx	eax, WORD PTR sY[rip]
	and	ax, 4095
	movzx	eax, ax
	cmp	DWORD PTR -44[rbp], eax
	jne	.L509
	fld	TBYTE PTR -16[rbp]
	fld	TBYTE PTR sY[rip+16]
	fucomi	st, st(1)
	jp	.L514
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L509
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L511
	jmp	.L509
.L514:
	fstp	st(0)
	fstp	st(0)
.L509:
	call	abort@PLT
.L511:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE150:
	.size	testY, .-testY
	.globl	sZ
	.bss
	.align 32
	.type	sZ, @object
	.size	sZ, 32
sZ:
	.zero	32
	.text
	.globl	retmeZ
	.type	retmeZ, @function
retmeZ:
.LFB151:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rbp]
	mov	rdx, QWORD PTR 24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR 32[rbp]
	mov	rdx, QWORD PTR 40[rbp]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE151:
	.size	retmeZ, .-retmeZ
	.globl	fn1Z
	.type	fn1Z, @function
fn1Z:
.LFB152:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR sZ[rip]
	mov	rdx, QWORD PTR sZ[rip+8]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR sZ[rip+16]
	mov	rdx, QWORD PTR sZ[rip+24]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, WORD PTR -30[rbp]
	shr	ax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	and	ax, 4095
	sal	eax, 4
	mov	edx, eax
	movzx	eax, WORD PTR -30[rbp]
	and	eax, 15
	or	eax, edx
	mov	WORD PTR -30[rbp], ax
	lea	rax, -48[rbp]
	push	QWORD PTR -24[rbp]
	push	QWORD PTR -32[rbp]
	push	QWORD PTR -40[rbp]
	push	QWORD PTR -48[rbp]
	mov	rdi, rax
	call	retmeZ
	add	rsp, 32
	movzx	eax, WORD PTR -30[rbp]
	shr	ax, 4
	movzx	eax, ax
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L519
	call	__stack_chk_fail@PLT
.L519:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE152:
	.size	fn1Z, .-fn1Z
	.globl	fn2Z
	.type	fn2Z, @function
fn2Z:
.LFB153:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR sZ[rip]
	mov	rdx, QWORD PTR sZ[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sZ[rip+16]
	mov	rdx, QWORD PTR sZ[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	and	ax, 4095
	sal	eax, 4
	mov	edx, eax
	movzx	eax, WORD PTR -14[rbp]
	and	eax, 15
	or	eax, edx
	mov	WORD PTR -14[rbp], ax
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 4
	movzx	eax, ax
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 4
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	and	ax, 4095
	sal	eax, 4
	mov	edx, eax
	movzx	eax, WORD PTR -14[rbp]
	and	eax, 15
	or	eax, edx
	mov	WORD PTR -14[rbp], ax
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 4
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE153:
	.size	fn2Z, .-fn2Z
	.globl	retitZ
	.type	retitZ, @function
retitZ:
.LFB154:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, WORD PTR sZ[rip+18]
	shr	ax, 4
	movzx	eax, ax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE154:
	.size	retitZ, .-retitZ
	.globl	fn3Z
	.type	fn3Z, @function
fn3Z:
.LFB155:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, WORD PTR sZ[rip+18]
	shr	ax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	and	ax, 4095
	sal	eax, 4
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+18]
	and	eax, 15
	or	eax, edx
	mov	WORD PTR sZ[rip+18], ax
	call	retitZ
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE155:
	.size	fn3Z, .-fn3Z
	.globl	testZ
	.type	testZ, @function
testZ:
.LFB156:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	lea	rax, sZ[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L527
.L528:
	call	myrnd
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -60[rbp], 1
.L527:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, 31
	jbe	.L528
	fld	TBYTE PTR .LC0[rip]
	fstp	TBYTE PTR sZ[rip]
	movzx	eax, WORD PTR sZ[rip+18]
	or	eax, -16
	mov	WORD PTR sZ[rip+18], ax
	movzx	eax, WORD PTR sZ[rip+18]
	shr	ax, 4
	movzx	eax, ax
	mov	DWORD PTR -56[rbp], eax
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	sal	eax, 4
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+18]
	and	eax, 15
	or	eax, edx
	mov	WORD PTR sZ[rip+18], ax
	mov	rax, QWORD PTR sZ[rip]
	mov	rdx, QWORD PTR sZ[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sZ[rip+16]
	mov	rdx, QWORD PTR sZ[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn1Z
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 13
	mov	edx, eax
	and	edx, 127
	mov	eax, DWORD PTR sZ[rip+16]
	shr	eax, 13
	and	eax, 127
	cmp	dl, al
	jne	.L529
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 8191
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+16]
	and	ax, 8191
	cmp	dx, ax
	jne	.L529
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 4
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+18]
	shr	ax, 4
	cmp	dx, ax
	jne	.L529
	fld	TBYTE PTR -32[rbp]
	fld	TBYTE PTR sZ[rip]
	fucomi	st, st(1)
	jp	.L536
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L529
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L530
	jmp	.L529
.L536:
	fstp	st(0)
	fstp	st(0)
.L529:
	call	abort@PLT
.L530:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	sal	eax, 4
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+18]
	and	eax, 15
	or	eax, edx
	mov	WORD PTR sZ[rip+18], ax
	mov	rax, QWORD PTR sZ[rip]
	mov	rdx, QWORD PTR sZ[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sZ[rip+16]
	mov	rdx, QWORD PTR sZ[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn2Z
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 13
	mov	edx, eax
	and	edx, 127
	mov	eax, DWORD PTR sZ[rip+16]
	shr	eax, 13
	and	eax, 127
	cmp	dl, al
	jne	.L531
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 8191
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+16]
	and	ax, 8191
	cmp	dx, ax
	jne	.L531
	movzx	eax, WORD PTR -14[rbp]
	shr	ax, 4
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+18]
	shr	ax, 4
	cmp	dx, ax
	jne	.L531
	fld	TBYTE PTR -32[rbp]
	fld	TBYTE PTR sZ[rip]
	fucomi	st, st(1)
	jp	.L537
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L531
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	mov	ecx, eax
	mov	edx, ecx
	mov	eax, 2290649225
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 3
	mov	edx, eax
	sal	edx, 4
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L532
	jmp	.L531
.L537:
	fstp	st(0)
	fstp	st(0)
.L531:
	call	abort@PLT
.L532:
	call	myrnd
	mov	DWORD PTR -52[rbp], eax
	call	myrnd
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	ax, 4095
	sal	eax, 4
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+18]
	and	eax, 15
	or	eax, edx
	mov	WORD PTR sZ[rip+18], ax
	mov	rax, QWORD PTR sZ[rip]
	mov	rdx, QWORD PTR sZ[rip+8]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR sZ[rip+16]
	mov	rdx, QWORD PTR sZ[rip+24]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	fn3Z
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	shr	eax, 13
	mov	edx, eax
	and	edx, 127
	mov	eax, DWORD PTR sZ[rip+16]
	shr	eax, 13
	and	eax, 127
	cmp	dl, al
	jne	.L533
	movzx	eax, WORD PTR -16[rbp]
	and	ax, 8191
	mov	edx, eax
	movzx	eax, WORD PTR sZ[rip+16]
	and	ax, 8191
	cmp	dx, ax
	jne	.L533
	movzx	eax, WORD PTR sZ[rip+18]
	shr	ax, 4
	movzx	eax, ax
	cmp	DWORD PTR -44[rbp], eax
	jne	.L533
	fld	TBYTE PTR -32[rbp]
	fld	TBYTE PTR sZ[rip]
	fucomi	st, st(1)
	jp	.L538
	fcomip	st, st(1)
	fstp	st(0)
	jne	.L533
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	and	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	je	.L535
	jmp	.L533
.L538:
	fstp	st(0)
	fstp	st(0)
.L533:
	call	abort@PLT
.L535:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE156:
	.size	testZ, .-testZ
	.globl	main
	.type	main, @function
main:
.LFB157:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	testA
	call	testB
	call	testC
	call	testD
	call	testE
	call	testF
	call	testG
	call	testH
	call	testI
	call	testJ
	call	testK
	call	testL
	call	testM
	call	testN
	call	testO
	call	testP
	call	testQ
	call	testR
	call	testS
	call	testT
	call	testU
	call	testV
	call	testW
	call	testX
	call	testY
	call	testZ
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE157:
	.size	main, .-main
	.data
	.align 4
	.type	s.0, @object
	.size	s.0, 4
s.0:
	.long	1388815473
	.section	.rodata
	.align 16
.LC0:
	.long	0
	.long	-1476395008
	.long	16385
	.long	0
	.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	"34513668.c"
	.text
	.align	2
	.global	myrnd
	.syntax unified
	.arm
	.fpu softvfp
	.type	myrnd, %function
myrnd:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L3
	ldr	r3, [r3]
	ldr	r2, .L3+4
	mul	r3, r2, r3
	ldr	r2, .L3
	str	r3, [r2]
	ldr	r3, .L3
	ldr	r3, [r3]
	add	r3, r3, #12288
	add	r3, r3, #57
	ldr	r2, .L3
	str	r3, [r2]
	ldr	r3, .L3
	ldr	r3, [r3]
	lsr	r3, r3, #16
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L4:
	.align	2
.L3:
	.word	s.4201
	.word	1103515245
	.size	myrnd, .-myrnd
	.comm	sA,4,4
	.align	2
	.global	retmeA
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeA, %function
retmeA:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeA, .-retmeA
	.align	2
	.global	fn1A
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1A, %function
fn1A:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L9
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-6]	@ movhi
	ldr	r3, .L9+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-6]	@ movhi
	ldr	r0, [fp, #-8]
	bl	retmeA
	mov	r3, r0
	str	r3, [fp, #-8]
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	sA
	.word	32767
	.size	fn1A, .-fn1A
	.align	2
	.global	fn2A
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2A, %function
fn2A:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L13
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-6]	@ movhi
	ldr	r3, .L13+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-6]	@ movhi
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L13+8
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-6]	@ movhi
	ldr	r3, .L13+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-6]	@ movhi
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L14:
	.align	2
.L13:
	.word	sA
	.word	32767
	.word	-2004318071
	.size	fn2A, .-fn2A
	.align	2
	.global	retitA
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitA, %function
retitA:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L17
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L18:
	.align	2
.L17:
	.word	sA
	.size	retitA, .-retitA
	.align	2
	.global	fn3A
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3A, %function
fn3A:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L21
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L21
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L21+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	bl	retitA
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L22:
	.align	2
.L21:
	.word	sA
	.word	32767
	.size	fn3A, .-fn3A
	.align	2
	.global	testA
	.syntax unified
	.arm
	.fpu softvfp
	.type	testA, %function
testA:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L33
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L24
.L25:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L24:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bls	.L25
	ldr	r2, .L33
	ldrh	r3, [r2, #2]	@ movhi
	orr	r3, r3, #65280
	orr	r3, r3, #254
	strh	r3, [r2, #2]	@ movhi
	ldr	r3, .L33
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-20]
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L33
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L33+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r3, .L33
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	fn1A
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-32]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L33
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L26
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L33
	ldr	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L26
	ldrh	r3, [fp, #-30]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L33
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L26
	ldrb	r3, [fp, #-32]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L26
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L27
.L26:
	bl	abort
.L27:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L33
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L33+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r3, .L33
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	fn2A
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-32]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L33
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L28
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L33
	ldr	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L28
	ldrh	r3, [fp, #-30]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L33
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L28
	ldrb	r3, [fp, #-32]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L28
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r1, r2, r3
	ldr	r3, .L33+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L29
.L28:
	bl	abort
.L29:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L33
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L33+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r3, .L33
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	fn3A
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-32]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L33
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L30
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L33
	ldr	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L30
	ldr	r3, .L33
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L30
	ldrb	r3, [fp, #-32]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L33
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L30
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L32
.L30:
	bl	abort
.L32:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L34:
	.align	2
.L33:
	.word	sA
	.word	32767
	.word	-2004318071
	.size	testA, .-testA
	.comm	sB,8,4
	.align	2
	.global	retmeB
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeB, %function
retmeB:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	sub	r3, fp, #16
	stm	r3, {r1, r2}
	ldr	r3, [fp, #-8]
	mov	r2, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeB, .-retmeB
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1B
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1B, %function
fn1B:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L40
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L40+4
	sub	r3, fp, #16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrh	r3, [fp, #-14]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-14]	@ movhi
	ldr	r3, .L40+8
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-14]	@ movhi
	sub	r0, fp, #16
	sub	r3, fp, #16
	ldm	r3, {r1, r2}
	bl	retmeB
	ldrh	r3, [fp, #-14]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L40
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L39
	bl	__stack_chk_fail
.L39:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	.LC0
	.word	sB
	.word	32767
	.size	fn1B, .-fn1B
	.align	2
	.global	fn2B
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2B, %function
fn2B:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r2, .L44
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-10]	@ movhi
	ldr	r3, .L44+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L44+8
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-10]	@ movhi
	ldr	r3, .L44+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L45:
	.align	2
.L44:
	.word	sB
	.word	32767
	.word	-2004318071
	.size	fn2B, .-fn2B
	.align	2
	.global	retitB
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitB, %function
retitB:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L48
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L49:
	.align	2
.L48:
	.word	sB
	.size	retitB, .-retitB
	.align	2
	.global	fn3B
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3B, %function
fn3B:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L52
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L52
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L52+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	bl	retitB
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L53:
	.align	2
.L52:
	.word	sB
	.word	32767
	.size	fn3B, .-fn3B
	.align	2
	.global	testB
	.syntax unified
	.arm
	.fpu softvfp
	.type	testB, %function
testB:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L64
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L55
.L56:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L55:
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	bls	.L56
	ldr	r2, .L64
	ldrh	r3, [r2, #2]	@ movhi
	orr	r3, r3, #65280
	orr	r3, r3, #254
	strh	r3, [r2, #2]	@ movhi
	ldr	r3, .L64
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-28]
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L64
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L64+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r2, .L64
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn1B
	str	r0, [fp, #-16]
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L64
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L57
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L64
	ldr	r3, [r3]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L57
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L64
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L57
	ldr	r2, [fp, #-8]
	ldr	r3, .L64
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L57
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L58
.L57:
	bl	abort
.L58:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L64
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L64+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r2, .L64
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn2B
	str	r0, [fp, #-16]
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L64
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L59
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L64
	ldr	r3, [r3]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L59
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L64
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L59
	ldr	r2, [fp, #-8]
	ldr	r3, .L64
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L59
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r1, r2, r3
	ldr	r3, .L64+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L60
.L59:
	bl	abort
.L60:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L64
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L64+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r2, .L64
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn3B
	str	r0, [fp, #-16]
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L64
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L61
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L64
	ldr	r3, [r3]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L61
	ldr	r3, .L64
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L61
	ldr	r2, [fp, #-8]
	ldr	r3, .L64
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L61
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L63
.L61:
	bl	abort
.L63:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L65:
	.align	2
.L64:
	.word	sB
	.word	32767
	.word	-2004318071
	.size	testB, .-testB
	.comm	sC,8,4
	.align	2
	.global	retmeC
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeC, %function
retmeC:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	sub	r3, fp, #16
	stm	r3, {r1, r2}
	ldr	r3, [fp, #-8]
	mov	r2, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeC, .-retmeC
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1C
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1C, %function
fn1C:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L71
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L71+4
	sub	r3, fp, #16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-10]	@ movhi
	ldr	r3, .L71+8
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-10]	@ movhi
	sub	r0, fp, #16
	sub	r3, fp, #16
	ldm	r3, {r1, r2}
	bl	retmeC
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L71
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L70
	bl	__stack_chk_fail
.L70:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L72:
	.align	2
.L71:
	.word	.LC1
	.word	sC
	.word	32767
	.size	fn1C, .-fn1C
	.align	2
	.global	fn2C
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2C, %function
fn2C:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r2, .L75
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-6]	@ movhi
	ldr	r3, .L75+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-6]	@ movhi
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L75+8
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-6]	@ movhi
	ldr	r3, .L75+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-6]	@ movhi
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L76:
	.align	2
.L75:
	.word	sC
	.word	32767
	.word	-2004318071
	.size	fn2C, .-fn2C
	.align	2
	.global	retitC
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitC, %function
retitC:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L79
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L80:
	.align	2
.L79:
	.word	sC
	.size	retitC, .-retitC
	.align	2
	.global	fn3C
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3C, %function
fn3C:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L83
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L83
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L83+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	bl	retitC
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L84:
	.align	2
.L83:
	.word	sC
	.word	32767
	.size	fn3C, .-fn3C
	.align	2
	.global	testC
	.syntax unified
	.arm
	.fpu softvfp
	.type	testC, %function
testC:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L95
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L86
.L87:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L86:
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	bls	.L87
	ldr	r2, .L95
	ldrh	r3, [r2, #6]	@ movhi
	orr	r3, r3, #65280
	orr	r3, r3, #254
	strh	r3, [r2, #6]	@ movhi
	ldr	r3, .L95
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-28]
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L95
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L95+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r2, .L95
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn1C
	str	r0, [fp, #-16]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L95
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L88
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L95
	ldr	r3, [r3, #4]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L88
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L95
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L88
	ldr	r2, [fp, #-12]
	ldr	r3, .L95
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L88
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L89
.L88:
	bl	abort
.L89:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L95
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L95+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r2, .L95
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn2C
	str	r0, [fp, #-16]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L95
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L90
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L95
	ldr	r3, [r3, #4]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L90
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L95
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L90
	ldr	r2, [fp, #-12]
	ldr	r3, .L95
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L90
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r1, r2, r3
	ldr	r3, .L95+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L91
.L90:
	bl	abort
.L91:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L95
	ldrh	r1, [r0, #6]	@ movhi
	ldr	r3, .L95+4
	and	r2, r2, r3
	lsl	r3, r3, #1
	bic	r3, r1, r3
	lsl	r2, r2, #1
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #6]	@ movhi
	ldr	r2, .L95
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn3C
	str	r0, [fp, #-16]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L95
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L92
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L95
	ldr	r3, [r3, #4]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L92
	ldr	r3, .L95
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L92
	ldr	r2, [fp, #-12]
	ldr	r3, .L95
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L92
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L94
.L92:
	bl	abort
.L94:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L96:
	.align	2
.L95:
	.word	sC
	.word	32767
	.word	-2004318071
	.size	testC, .-testC
	.comm	sD,8,8
	.align	2
	.global	retmeD
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeD, %function
retmeD:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeD, .-retmeD
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1D
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1D, %function
fn1D:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L102
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L102+4
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r3, [fp, #-16]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	sub	r1, fp, #20
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	retmeD
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	ldr	r2, .L102
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L101
	bl	__stack_chk_fail
.L101:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L103:
	.align	2
.L102:
	.word	.LC2
	.word	sD
	.size	fn1D, .-fn1D
	.align	2
	.global	fn2D
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2D, %function
fn2D:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L106
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r3, [fp, #-8]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #3
	mov	r1, r3
	ldr	r3, .L106+4
	smull	r2, r3, r1, r3
	add	r3, r3, r1
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	bic	r2, r2, #-536870912
	ldr	r3, [fp, #-8]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L107:
	.align	2
.L106:
	.word	sD
	.word	-2004318071
	.size	fn2D, .-fn2D
	.align	2
	.global	retitD
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitD, %function
retitD:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L110
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L111:
	.align	2
.L110:
	.word	sD
	.size	retitD, .-retitD
	.align	2
	.global	fn3D
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3D, %function
fn3D:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L114
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r1, .L114
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	bl	retitD
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L115:
	.align	2
.L114:
	.word	sD
	.size	fn3D, .-fn3D
	.align	2
	.global	testD
	.syntax unified
	.arm
	.fpu softvfp
	.type	testD, %function
testD:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L126
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L117
.L118:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L117:
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	bls	.L118
	ldr	r2, .L126
	ldr	r3, [r2, #4]
	mvn	r3, r3, lsl #29
	mvn	r3, r3, lsr #29
	str	r3, [r2, #4]
	ldr	r3, .L126
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	str	r3, [fp, #-28]
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	bic	r2, r3, #-536870912
	ldr	r1, .L126
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	ldr	r3, .L126
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	fn1D
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L126
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L119
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L126
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L119
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L126
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L119
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L126
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L119
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L120
.L119:
	bl	abort
.L120:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	bic	r2, r3, #-536870912
	ldr	r1, .L126
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	ldr	r3, .L126
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	fn2D
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L126
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L121
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L126
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L121
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L126
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L121
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L126
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L121
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r1, r2, r3
	ldr	r3, .L126+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L122
.L121:
	bl	abort
.L122:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	bic	r2, r3, #-536870912
	ldr	r1, .L126
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	ldr	r3, .L126
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	fn3D
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L126
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L123
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L126
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L123
	ldr	r3, .L126
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L123
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L126
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L123
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L125
.L123:
	bl	abort
.L125:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L127:
	.align	2
.L126:
	.word	sD
	.word	-2004318071
	.size	testD, .-testD
	.comm	sE,16,8
	.align	2
	.global	retmeE
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeE, %function
retmeE:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeE, .-retmeE
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1E
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1E, %function
fn1E:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L133
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L133+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r3, [fp, #-16]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeE
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	ldr	r2, .L133
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L132
	bl	__stack_chk_fail
.L132:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L134:
	.align	2
.L133:
	.word	.LC3
	.word	sE
	.size	fn1E, .-fn1E
	.align	2
	.global	fn2E
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2E, %function
fn2E:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L137
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r3, [fp, #-8]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #3
	mov	r1, r3
	ldr	r3, .L137+4
	smull	r2, r3, r1, r3
	add	r3, r3, r1
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	bic	r2, r2, #-536870912
	ldr	r3, [fp, #-8]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L138:
	.align	2
.L137:
	.word	sE
	.word	-2004318071
	.size	fn2E, .-fn2E
	.align	2
	.global	retitE
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitE, %function
retitE:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L141
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L142:
	.align	2
.L141:
	.word	sE
	.size	retitE, .-retitE
	.align	2
	.global	fn3E
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3E, %function
fn3E:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L145
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r1, .L145
	ldr	r3, [r1, #12]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #12]
	bl	retitE
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L146:
	.align	2
.L145:
	.word	sE
	.size	fn3E, .-fn3E
	.align	2
	.global	testE
	.syntax unified
	.arm
	.fpu softvfp
	.type	testE, %function
testE:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L157
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L148
.L149:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L148:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L149
	ldr	r2, .L157
	ldr	r3, [r2, #12]
	mvn	r3, r3, lsl #29
	mvn	r3, r3, lsr #29
	str	r3, [r2, #12]
	ldr	r3, .L157
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	bic	r2, r3, #-536870912
	ldr	r1, .L157
	ldr	r3, [r1, #12]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #12]
	ldr	r3, .L157
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1E
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L157
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L150
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L157
	ldr	r2, [r3, #8]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L150
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L157
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L150
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L157
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L150
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L151
.L150:
	bl	abort
.L151:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	bic	r2, r3, #-536870912
	ldr	r1, .L157
	ldr	r3, [r1, #12]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #12]
	ldr	r3, .L157
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2E
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L157
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L152
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L157
	ldr	r2, [r3, #8]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L152
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L157
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L152
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L157
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L152
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L157+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L153
.L152:
	bl	abort
.L153:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	bic	r2, r3, #-536870912
	ldr	r1, .L157
	ldr	r3, [r1, #12]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #12]
	ldr	r3, .L157
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3E
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L157
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L154
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L157
	ldr	r2, [r3, #8]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L154
	ldr	r3, .L157
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L154
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L157
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L154
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L156
.L154:
	bl	abort
.L156:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L158:
	.align	2
.L157:
	.word	sE
	.word	-2004318071
	.size	testE, .-testE
	.comm	sF,16,8
	.align	2
	.global	retmeF
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeF, %function
retmeF:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeF, .-retmeF
	.section	.rodata
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1F
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1F, %function
fn1F:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L164
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L164+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r3, [fp, #-24]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-24]
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeF
	ldr	r3, [fp, #-24]
	lsr	r3, r3, #3
	ldr	r2, .L164
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L163
	bl	__stack_chk_fail
.L163:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L165:
	.align	2
.L164:
	.word	.LC4
	.word	sF
	.size	fn1F, .-fn1F
	.align	2
	.global	fn2F
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2F, %function
fn2F:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L168
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r3, [fp, #-16]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	mov	r1, r3
	ldr	r3, .L168+4
	smull	r2, r3, r1, r3
	add	r3, r3, r1
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	bic	r2, r2, #-536870912
	ldr	r3, [fp, #-16]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L169:
	.align	2
.L168:
	.word	sF
	.word	-2004318071
	.size	fn2F, .-fn2F
	.align	2
	.global	retitF
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitF, %function
retitF:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L172
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L173:
	.align	2
.L172:
	.word	sF
	.size	retitF, .-retitF
	.align	2
	.global	fn3F
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3F, %function
fn3F:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L176
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	bic	r2, r3, #-536870912
	ldr	r1, .L176
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	bl	retitF
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L177:
	.align	2
.L176:
	.word	sF
	.size	fn3F, .-fn3F
	.align	2
	.global	testF
	.syntax unified
	.arm
	.fpu softvfp
	.type	testF, %function
testF:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L188
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L179
.L180:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L179:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L180
	ldr	r2, .L188
	ldr	r3, [r2, #4]
	mvn	r3, r3, lsl #29
	mvn	r3, r3, lsr #29
	str	r3, [r2, #4]
	ldr	r3, .L188
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	bic	r2, r3, #-536870912
	ldr	r1, .L188
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	ldr	r3, .L188
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1F
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L188
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L181
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-16]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L188
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L181
	ldr	r3, [fp, #-16]
	lsr	r2, r3, #3
	ldr	r3, .L188
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L181
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L188
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L181
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L182
.L181:
	bl	abort
.L182:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	bic	r2, r3, #-536870912
	ldr	r1, .L188
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	ldr	r3, .L188
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2F
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L188
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L183
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-16]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L188
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L183
	ldr	r3, [fp, #-16]
	lsr	r2, r3, #3
	ldr	r3, .L188
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L183
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L188
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L183
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L188+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L184
.L183:
	bl	abort
.L184:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	bic	r2, r3, #-536870912
	ldr	r1, .L188
	ldr	r3, [r1, #4]
	bic	r2, r2, #-536870912
	and	r3, r3, #7
	lsl	r2, r2, #3
	orr	r3, r2, r3
	str	r3, [r1, #4]
	ldr	r3, .L188
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3F
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L188
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L185
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-16]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L188
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L185
	ldr	r3, .L188
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L185
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L188
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L185
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L187
.L185:
	bl	abort
.L187:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L189:
	.align	2
.L188:
	.word	sF
	.word	-2004318071
	.size	testF, .-testF
	.comm	sG,16,8
	.align	2
	.global	retmeG
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeG, %function
retmeG:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeG, .-retmeG
	.section	.rodata
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1G
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1G, %function
fn1G:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L195
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L195+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-32]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	ldrb	r2, [fp, #-25]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-25]
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeG
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, .L195
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L194
	bl	__stack_chk_fail
.L194:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L196:
	.align	2
.L195:
	.word	.LC5
	.word	sG
	.size	fn1G, .-fn1G
	.align	2
	.global	fn2G
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2G, %function
fn2G:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L199
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	ldrb	r2, [fp, #-17]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-17]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L199+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #127
	and	r3, r3, #255
	ldrb	r2, [fp, #-17]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-17]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L200:
	.align	2
.L199:
	.word	sG
	.word	-2004318071
	.size	fn2G, .-fn2G
	.align	2
	.global	retitG
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitG, %function
retitG:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L203
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L204:
	.align	2
.L203:
	.word	sG
	.size	retitG, .-retitG
	.align	2
	.global	fn3G
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3G, %function
fn3G:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L207
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L207
	ldrb	r2, [r1, #3]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #3]
	bl	retitG
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L208:
	.align	2
.L207:
	.word	sG
	.size	fn3G, .-fn3G
	.align	2
	.global	testG
	.syntax unified
	.arm
	.fpu softvfp
	.type	testG, %function
testG:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L219
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L210
.L211:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L210:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L211
	ldr	r2, .L219
	ldrb	r3, [r2, #3]
	orr	r3, r3, #254
	strb	r3, [r2, #3]
	ldr	r3, .L219
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L219
	ldrb	r2, [r1, #3]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #3]
	ldr	r3, .L219
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1G
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L219
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L212
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L219
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L212
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L219
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L212
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L219
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L212
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L213
.L212:
	bl	abort
.L213:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L219
	ldrb	r2, [r1, #3]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #3]
	ldr	r3, .L219
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2G
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L219
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L214
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L219
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L214
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L219
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L214
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L219
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L214
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L219+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L215
.L214:
	bl	abort
.L215:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L219
	ldrb	r2, [r1, #3]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #3]
	ldr	r3, .L219
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3G
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L219
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L216
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L219
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L216
	ldr	r3, .L219
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L216
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L219
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L216
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L218
.L216:
	bl	abort
.L218:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L220:
	.align	2
.L219:
	.word	sG
	.word	-2004318071
	.size	testG, .-testG
	.comm	sH,16,8
	.align	2
	.global	retmeH
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeH, %function
retmeH:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeH, .-retmeH
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1H
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1H, %function
fn1H:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L226
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L226+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-26]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-26]	@ movhi
	ldr	r3, .L226+8
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-26]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeH
	ldrh	r3, [fp, #-26]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L226
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L225
	bl	__stack_chk_fail
.L225:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L227:
	.align	2
.L226:
	.word	.LC6
	.word	sH
	.word	511
	.size	fn1H, .-fn1H
	.align	2
	.global	fn2H
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2H, %function
fn2H:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L230
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-18]	@ movhi
	ldr	r3, .L230+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-18]	@ movhi
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L230+8
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-18]	@ movhi
	ldr	r3, .L230+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-18]	@ movhi
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L231:
	.align	2
.L230:
	.word	sH
	.word	511
	.word	-2004318071
	.size	fn2H, .-fn2H
	.align	2
	.global	retitH
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitH, %function
retitH:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L234
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L235:
	.align	2
.L234:
	.word	sH
	.size	retitH, .-retitH
	.align	2
	.global	fn3H
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3H, %function
fn3H:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L238
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L238
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L238+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	bl	retitH
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L239:
	.align	2
.L238:
	.word	sH
	.word	511
	.size	fn3H, .-fn3H
	.align	2
	.global	testH
	.syntax unified
	.arm
	.fpu softvfp
	.type	testH, %function
testH:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L250
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L241
.L242:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L241:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L242
	ldr	r2, .L250
	ldrh	r3, [r2, #2]	@ movhi
	orr	r3, r3, #65280
	orr	r3, r3, #128
	strh	r3, [r2, #2]	@ movhi
	ldr	r3, .L250
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L250
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L250+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r3, .L250
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1H
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L243
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L243
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L243
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L250
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L243
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L244
.L243:
	bl	abort
.L244:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L250
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L250+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r3, .L250
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2H
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L245
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L245
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L245
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L250
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L245
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L250+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L246
.L245:
	bl	abort
.L246:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L250
	ldrh	r1, [r0, #2]	@ movhi
	ldr	r3, .L250+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #2]	@ movhi
	ldr	r3, .L250
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3H
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L247
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L250
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L247
	ldr	r3, .L250
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L247
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L250
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L247
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L249
.L247:
	bl	abort
.L249:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L251:
	.align	2
.L250:
	.word	sH
	.word	511
	.word	-2004318071
	.size	testH, .-testH
	.comm	sI,16,8
	.align	2
	.global	retmeI
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeI, %function
retmeI:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeI, .-retmeI
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1I
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1I, %function
fn1I:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L257
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L257+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-28]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-28]	@ movhi
	ldr	r3, .L257+8
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-28]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeI
	ldrh	r3, [fp, #-28]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L257
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L256
	bl	__stack_chk_fail
.L256:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L258:
	.align	2
.L257:
	.word	.LC7
	.word	sI
	.word	511
	.size	fn1I, .-fn1I
	.align	2
	.global	fn2I
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2I, %function
fn2I:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L261
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-20]	@ movhi
	ldr	r3, .L261+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L261+8
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-20]	@ movhi
	ldr	r3, .L261+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L262:
	.align	2
.L261:
	.word	sI
	.word	511
	.word	-2004318071
	.size	fn2I, .-fn2I
	.align	2
	.global	retitI
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitI, %function
retitI:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L265
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L266:
	.align	2
.L265:
	.word	sI
	.size	retitI, .-retitI
	.align	2
	.global	fn3I
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3I, %function
fn3I:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L269
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L269
	ldrh	r1, [r0]	@ movhi
	ldr	r3, .L269+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0]	@ movhi
	bl	retitI
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L270:
	.align	2
.L269:
	.word	sI
	.word	511
	.size	fn3I, .-fn3I
	.align	2
	.global	testI
	.syntax unified
	.arm
	.fpu softvfp
	.type	testI, %function
testI:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L281
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L272
.L273:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L272:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L273
	ldr	r2, .L281
	ldrh	r3, [r2]	@ movhi
	orr	r3, r3, #65280
	orr	r3, r3, #128
	strh	r3, [r2]	@ movhi
	ldr	r3, .L281
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L281
	ldrh	r1, [r0]	@ movhi
	ldr	r3, .L281+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0]	@ movhi
	ldr	r3, .L281
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1I
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L281
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L274
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L281
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L274
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L281
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L274
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L281
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L274
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L275
.L274:
	bl	abort
.L275:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L281
	ldrh	r1, [r0]	@ movhi
	ldr	r3, .L281+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0]	@ movhi
	ldr	r3, .L281
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2I
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L281
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L276
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L281
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L276
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L281
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L276
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L281
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L276
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L281+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L277
.L276:
	bl	abort
.L277:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #23
	lsr	r3, r3, #23
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L281
	ldrh	r1, [r0]	@ movhi
	ldr	r3, .L281+4
	and	r2, r2, r3
	lsl	r3, r3, #7
	bic	r3, r1, r3
	lsl	r2, r2, #7
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0]	@ movhi
	ldr	r3, .L281
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3I
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L281
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L278
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L281
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L278
	ldr	r3, .L281
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L278
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L281
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L278
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L280
.L278:
	bl	abort
.L280:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L282:
	.align	2
.L281:
	.word	sI
	.word	511
	.word	-2004318071
	.size	testI, .-testI
	.comm	sJ,4,4
	.align	2
	.global	retmeJ
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeJ, %function
retmeJ:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	mov	r3, #0
	ldrh	r2, [fp, #-8]
	lsl	r2, r2, #16
	lsr	r3, r3, #16
	orr	r3, r3, r2
	ror	r3, r3, #16
	ldrh	r2, [fp, #-6]
	lsl	r2, r2, #16
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r3, r2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeJ, .-retmeJ
	.align	2
	.global	fn1J
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1J, %function
fn1J:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r2, .L287
	sub	r3, fp, #8
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrb	r3, [fp, #-7]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	ldrb	r2, [fp, #-7]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-7]
	ldr	r0, [fp, #-8]
	bl	retmeJ
	mov	r3, r0
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-7]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L288:
	.align	2
.L287:
	.word	sJ
	.size	fn1J, .-fn1J
	.align	2
	.global	fn2J
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2J, %function
fn2J:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r2, .L291
	sub	r3, fp, #8
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrb	r3, [fp, #-7]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	ldrb	r2, [fp, #-7]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-7]
	ldrb	r3, [fp, #-7]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L291+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #127
	and	r3, r3, #255
	ldrb	r2, [fp, #-7]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-7]
	ldrb	r3, [fp, #-7]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L292:
	.align	2
.L291:
	.word	sJ
	.word	-2004318071
	.size	fn2J, .-fn2J
	.align	2
	.global	retitJ
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitJ, %function
retitJ:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L295
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L296:
	.align	2
.L295:
	.word	sJ
	.size	retitJ, .-retitJ
	.align	2
	.global	fn3J
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3J, %function
fn3J:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L299
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L299
	ldrb	r2, [r1, #1]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #1]
	bl	retitJ
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L300:
	.align	2
.L299:
	.word	sJ
	.size	fn3J, .-fn3J
	.align	2
	.global	testJ
	.syntax unified
	.arm
	.fpu softvfp
	.type	testJ, %function
testJ:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L311
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L302
.L303:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L302:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bls	.L303
	ldr	r2, .L311
	ldrb	r3, [r2, #1]
	orr	r3, r3, #254
	strb	r3, [r2, #1]
	ldr	r3, .L311
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	str	r3, [fp, #-20]
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L311
	ldrb	r2, [r1, #1]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #1]
	ldr	r2, .L311
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn1J
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-32]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L304
	ldrh	r3, [fp, #-32]
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrh	r3, [r3]
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L304
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L304
	ldrh	r2, [fp, #-30]
	ldr	r3, .L311
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L304
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L305
.L304:
	bl	abort
.L305:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L311
	ldrb	r2, [r1, #1]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #1]
	ldr	r2, .L311
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn2J
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-32]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L306
	ldrh	r3, [fp, #-32]
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrh	r3, [r3]
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L306
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L306
	ldrh	r2, [fp, #-30]
	ldr	r3, .L311
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L306
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r1, r2, r3
	ldr	r3, .L311+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L307
.L306:
	bl	abort
.L307:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #127
	and	r3, r3, #255
	ldr	r1, .L311
	ldrb	r2, [r1, #1]
	and	r3, r3, #127
	bic	r2, r2, #254
	lsl	r3, r3, #1
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1, #1]
	ldr	r2, .L311
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn3J
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-32]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L308
	ldrh	r3, [fp, #-32]
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L311
	ldrh	r3, [r3]
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L308
	ldr	r3, .L311
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L308
	ldrh	r2, [fp, #-30]
	ldr	r3, .L311
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L308
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L310
.L308:
	bl	abort
.L310:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L312:
	.align	2
.L311:
	.word	sJ
	.word	-2004318071
	.size	testJ, .-testJ
	.comm	sK,4,4
	.align	2
	.global	retmeK
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeK, %function
retmeK:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeK, .-retmeK
	.align	2
	.global	fn1K
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1K, %function
fn1K:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L317
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	retmeK
	mov	r3, r0
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L318:
	.align	2
.L317:
	.word	sK
	.size	fn1K, .-fn1K
	.align	2
	.global	fn2K
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2K, %function
fn2K:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L321
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L321+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L322:
	.align	2
.L321:
	.word	sK
	.word	-2004318071
	.size	fn2K, .-fn2K
	.align	2
	.global	retitK
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitK, %function
retitK:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L325
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L326:
	.align	2
.L325:
	.word	sK
	.size	retitK, .-retitK
	.align	2
	.global	fn3K
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3K, %function
fn3K:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L329
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L329
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	bl	retitK
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L330:
	.align	2
.L329:
	.word	sK
	.size	fn3K, .-fn3K
	.align	2
	.global	testK
	.syntax unified
	.arm
	.fpu softvfp
	.type	testK, %function
testK:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L341
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L332
.L333:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L332:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bls	.L333
	ldr	r2, .L341
	ldrb	r3, [r2]
	orr	r3, r3, #63
	strb	r3, [r2]
	ldr	r3, .L341
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	str	r3, [fp, #-20]
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L341
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r3, .L341
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	fn1K
	str	r0, [fp, #-8]
	ldrh	r3, [fp, #-30]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L341
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L334
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L341
	ldr	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L334
	ldrb	r3, [fp, #-32]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L341
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L334
	ldrb	r3, [fp, #-32]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L341
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L334
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L335
.L334:
	bl	abort
.L335:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L341
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r3, .L341
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	fn2K
	str	r0, [fp, #-8]
	ldrh	r3, [fp, #-30]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L341
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L336
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L341
	ldr	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L336
	ldrb	r3, [fp, #-32]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L341
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L336
	ldrb	r3, [fp, #-32]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L341
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L336
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r1, r2, r3
	ldr	r3, .L341+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L337
.L336:
	bl	abort
.L337:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L341
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r3, .L341
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-12]
	bl	fn3K
	str	r0, [fp, #-8]
	ldrh	r3, [fp, #-30]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L341
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L338
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L341
	ldr	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #22
	lsr	r3, r3, #22
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L338
	ldr	r3, .L341
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L338
	ldrb	r3, [fp, #-32]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L341
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L338
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L340
.L338:
	bl	abort
.L340:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L342:
	.align	2
.L341:
	.word	sK
	.word	-2004318071
	.size	testK, .-testK
	.comm	sL,8,4
	.align	2
	.global	retmeL
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeL, %function
retmeL:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	sub	r3, fp, #16
	stm	r3, {r1, r2}
	ldr	r3, [fp, #-8]
	mov	r2, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeL, .-retmeL
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1L
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1L, %function
fn1L:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L348
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L348+4
	sub	r3, fp, #16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrb	r3, [fp, #-16]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-16]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-16]
	sub	r0, fp, #16
	sub	r3, fp, #16
	ldm	r3, {r1, r2}
	bl	retmeL
	ldrb	r3, [fp, #-16]
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, .L348
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L347
	bl	__stack_chk_fail
.L347:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L349:
	.align	2
.L348:
	.word	.LC8
	.word	sL
	.size	fn1L, .-fn1L
	.align	2
	.global	fn2L
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2L, %function
fn2L:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r2, .L352
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-12]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-12]
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L352+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-12]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-12]
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L353:
	.align	2
.L352:
	.word	sL
	.word	-2004318071
	.size	fn2L, .-fn2L
	.align	2
	.global	retitL
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitL, %function
retitL:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L356
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L357:
	.align	2
.L356:
	.word	sL
	.size	retitL, .-retitL
	.align	2
	.global	fn3L
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3L, %function
fn3L:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L360
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L360
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	bl	retitL
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L361:
	.align	2
.L360:
	.word	sL
	.size	fn3L, .-fn3L
	.align	2
	.global	testL
	.syntax unified
	.arm
	.fpu softvfp
	.type	testL, %function
testL:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L372
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L363
.L364:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L363:
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	bls	.L364
	ldr	r2, .L372
	ldrb	r3, [r2]
	orr	r3, r3, #63
	strb	r3, [r2]
	ldr	r3, .L372
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	str	r3, [fp, #-28]
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L372
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r2, .L372
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn1L
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L372
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L365
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L372
	ldr	r3, [r3]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L365
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L372
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L365
	ldr	r2, [fp, #-8]
	ldr	r3, .L372
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L365
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L366
.L365:
	bl	abort
.L366:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L372
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r2, .L372
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn2L
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L372
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L367
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L372
	ldr	r3, [r3]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L367
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L372
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L367
	ldr	r2, [fp, #-8]
	ldr	r3, .L372
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L367
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r1, r2, r3
	ldr	r3, .L372+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L368
.L367:
	bl	abort
.L368:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L372
	ldrb	r3, [r2]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r2, .L372
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn3L
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L372
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L369
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L372
	ldr	r3, [r3]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L369
	ldr	r3, .L372
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L369
	ldr	r2, [fp, #-8]
	ldr	r3, .L372
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L369
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L371
.L369:
	bl	abort
.L371:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L373:
	.align	2
.L372:
	.word	sL
	.word	-2004318071
	.size	testL, .-testL
	.comm	sM,8,4
	.align	2
	.global	retmeM
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeM, %function
retmeM:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	sub	r3, fp, #16
	stm	r3, {r1, r2}
	ldr	r3, [fp, #-8]
	mov	r2, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeM, .-retmeM
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1M
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1M, %function
fn1M:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L379
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L379+4
	sub	r3, fp, #16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-12]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-12]
	sub	r0, fp, #16
	sub	r3, fp, #16
	ldm	r3, {r1, r2}
	bl	retmeM
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, .L379
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L378
	bl	__stack_chk_fail
.L378:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L380:
	.align	2
.L379:
	.word	.LC9
	.word	sM
	.size	fn1M, .-fn1M
	.align	2
	.global	fn2M
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2M, %function
fn2M:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r2, .L383
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L383+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #63
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #63
	bic	r3, r3, #63
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L384:
	.align	2
.L383:
	.word	sM
	.word	-2004318071
	.size	fn2M, .-fn2M
	.align	2
	.global	retitM
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitM, %function
retitM:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L387
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L388:
	.align	2
.L387:
	.word	sM
	.size	retitM, .-retitM
	.align	2
	.global	fn3M
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3M, %function
fn3M:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L391
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L391
	ldrb	r3, [r2, #4]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2, #4]
	bl	retitM
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L392:
	.align	2
.L391:
	.word	sM
	.size	fn3M, .-fn3M
	.align	2
	.global	testM
	.syntax unified
	.arm
	.fpu softvfp
	.type	testM, %function
testM:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L403
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L394
.L395:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L394:
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	bls	.L395
	ldr	r2, .L403
	ldrb	r3, [r2, #4]
	orr	r3, r3, #63
	strb	r3, [r2, #4]
	ldr	r3, .L403
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	str	r3, [fp, #-28]
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L403
	ldrb	r3, [r2, #4]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2, #4]
	ldr	r2, .L403
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn1M
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L403
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L396
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L403
	ldr	r3, [r3, #4]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L396
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L403
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L396
	ldr	r2, [fp, #-12]
	ldr	r3, .L403
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L396
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L397
.L396:
	bl	abort
.L397:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L403
	ldrb	r3, [r2, #4]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2, #4]
	ldr	r2, .L403
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn2M
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L403
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L398
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L403
	ldr	r3, [r3, #4]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L398
	ldrb	r3, [fp, #-8]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L403
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L398
	ldr	r2, [fp, #-12]
	ldr	r3, .L403
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L398
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r1, r2, r3
	ldr	r3, .L403+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L399
.L398:
	bl	abort
.L399:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r1, r3, #255
	ldr	r2, .L403
	ldrb	r3, [r2, #4]
	and	r1, r1, #63
	bic	r3, r3, #63
	orr	r3, r1, r3
	strb	r3, [r2, #4]
	ldr	r2, .L403
	sub	r3, fp, #12
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r0, [fp, #-20]
	bl	fn3M
	str	r0, [fp, #-16]
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L403
	ldrh	r3, [r3, #6]
	lsr	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L400
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L403
	ldr	r3, [r3, #4]
	lsr	r3, r3, #6
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L400
	ldr	r3, .L403
	ldrb	r3, [r3, #4]
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L400
	ldr	r2, [fp, #-12]
	ldr	r3, .L403
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L400
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L402
.L400:
	bl	abort
.L402:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L404:
	.align	2
.L403:
	.word	sM
	.word	-2004318071
	.size	testM, .-testM
	.comm	sN,8,8
	.align	2
	.global	retmeN
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeN, %function
retmeN:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeN, .-retmeN
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1N
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1N, %function
fn1N:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L410
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L410+4
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldrh	r2, [fp, #-20]	@ movhi
	and	r3, r3, #63
	bic	r2, r2, #4032
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [fp, #-20]	@ movhi
	sub	r1, fp, #20
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	retmeN
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, .L410
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L409
	bl	__stack_chk_fail
.L409:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L411:
	.align	2
.L410:
	.word	.LC10
	.word	sN
	.size	fn1N, .-fn1N
	.align	2
	.global	fn2N
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2N, %function
fn2N:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L414
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldrh	r2, [fp, #-12]	@ movhi
	and	r3, r3, #63
	bic	r2, r2, #4032
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L414+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #63
	and	r3, r3, #255
	ldrh	r2, [fp, #-12]	@ movhi
	and	r3, r3, #63
	bic	r2, r2, #4032
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L415:
	.align	2
.L414:
	.word	sN
	.word	-2004318071
	.size	fn2N, .-fn2N
	.align	2
	.global	retitN
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitN, %function
retitN:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L418
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L419:
	.align	2
.L418:
	.word	sN
	.size	retitN, .-retitN
	.align	2
	.global	fn3N
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3N, %function
fn3N:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L422
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r1, .L422
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #63
	bic	r2, r2, #4032
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	bl	retitN
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L423:
	.align	2
.L422:
	.word	sN
	.size	fn3N, .-fn3N
	.align	2
	.global	testN
	.syntax unified
	.arm
	.fpu softvfp
	.type	testN, %function
testN:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L434
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L425
.L426:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L425:
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	bls	.L426
	ldr	r2, .L434
	ldrh	r3, [r2]	@ movhi
	orr	r3, r3, #4032
	strh	r3, [r2]	@ movhi
	ldr	r3, .L434
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	str	r3, [fp, #-28]
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r1, .L434
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #63
	bic	r2, r2, #4032
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, .L434
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	fn1N
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L434
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L427
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L434
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L427
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L434
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L427
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L434
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L427
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L428
.L427:
	bl	abort
.L428:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r1, .L434
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #63
	bic	r2, r2, #4032
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, .L434
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	fn2N
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L434
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L429
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L434
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L429
	ldrh	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L434
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L429
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L434
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L429
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r1, r2, r3
	ldr	r3, .L434+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L430
.L429:
	bl	abort
.L430:
	bl	myrnd
	str	r0, [fp, #-24]
	bl	myrnd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r1, .L434
	ldrh	r2, [r1]	@ movhi
	and	r3, r3, #63
	bic	r2, r2, #4032
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3	@ movhi
	strh	r2, [r1]	@ movhi
	ldr	r3, .L434
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	fn3N
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L434
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L431
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L434
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L431
	ldr	r3, .L434
	ldrh	r3, [r3]
	lsr	r3, r3, #6
	and	r3, r3, #63
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L431
	ldrb	r3, [fp, #-12]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L434
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L431
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	and	r3, r3, r2
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L433
.L431:
	bl	abort
.L433:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L435:
	.align	2
.L434:
	.word	sN
	.word	-2004318071
	.size	testN, .-testN
	.comm	sO,16,8
	.align	2
	.global	retmeO
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeO, %function
retmeO:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeO, .-retmeO
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1O
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1O, %function
fn1O:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L441
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L441+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeO
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L441
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L440
	bl	__stack_chk_fail
.L440:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L442:
	.align	2
.L441:
	.word	.LC11
	.word	sO
	.size	fn1O, .-fn1O
	.align	2
	.global	fn2O
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2O, %function
fn2O:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L445
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L445+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L446:
	.align	2
.L445:
	.word	sO
	.word	-2004318071
	.size	fn2O, .-fn2O
	.align	2
	.global	retitO
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitO, %function
retitO:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L449
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L450:
	.align	2
.L449:
	.word	sO
	.size	retitO, .-retitO
	.align	2
	.global	fn3O
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3O, %function
fn3O:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L453
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L453
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	bl	retitO
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L454:
	.align	2
.L453:
	.word	sO
	.size	fn3O, .-fn3O
	.align	2
	.global	testO
	.syntax unified
	.arm
	.fpu softvfp
	.type	testO, %function
testO:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L465
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L456
.L457:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L456:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L457
	ldr	r2, .L465
	ldrh	r3, [r2, #8]	@ movhi
	mvn	r3, r3, lsr #12
	mvn	r3, r3, lsl #12
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L465
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L465
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L465
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1O
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L465
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L458
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L465
	ldr	r2, [r3, #8]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L458
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L465
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L458
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L465
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L458
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L459
.L458:
	bl	abort
.L459:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L465
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L465
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2O
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L465
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L460
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L465
	ldr	r2, [r3, #8]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L460
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L465
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L460
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L465
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L460
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L465+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L461
.L460:
	bl	abort
.L461:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L465
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L465
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3O
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-8]
	lsr	r2, r3, #3
	ldr	r3, .L465
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L462
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-8]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L465
	ldr	r2, [r3, #8]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L462
	ldr	r3, .L465
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L462
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L465
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L462
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L464
.L462:
	bl	abort
.L464:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L466:
	.align	2
.L465:
	.word	sO
	.word	-2004318071
	.size	testO, .-testO
	.comm	sP,16,8
	.align	2
	.global	retmeP
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeP, %function
retmeP:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeP, .-retmeP
	.section	.rodata
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1P
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1P, %function
fn1P:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L472
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L472+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-28]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeP
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L472
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L471
	bl	__stack_chk_fail
.L471:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L473:
	.align	2
.L472:
	.word	.LC12
	.word	sP
	.size	fn1P, .-fn1P
	.align	2
	.global	fn2P
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2P, %function
fn2P:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L476
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L476+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L477:
	.align	2
.L476:
	.word	sP
	.word	-2004318071
	.size	fn2P, .-fn2P
	.align	2
	.global	retitP
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitP, %function
retitP:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L480
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L481:
	.align	2
.L480:
	.word	sP
	.size	retitP, .-retitP
	.align	2
	.global	fn3P
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3P, %function
fn3P:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L484
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L484
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	bl	retitP
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L485:
	.align	2
.L484:
	.word	sP
	.size	fn3P, .-fn3P
	.align	2
	.global	testP
	.syntax unified
	.arm
	.fpu softvfp
	.type	testP, %function
testP:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L496
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L487
.L488:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L487:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L488
	ldr	r2, .L496
	ldrh	r3, [r2]	@ movhi
	mvn	r3, r3, lsr #12
	mvn	r3, r3, lsl #12
	strh	r3, [r2]	@ movhi
	ldr	r3, .L496
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L496
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L496
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1P
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-16]
	lsr	r2, r3, #3
	ldr	r3, .L496
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L489
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-16]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L496
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L489
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L496
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L489
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L496
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L489
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L490
.L489:
	bl	abort
.L490:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L496
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L496
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2P
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-16]
	lsr	r2, r3, #3
	ldr	r3, .L496
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L491
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-16]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L496
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L491
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L496
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L491
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L496
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L491
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L496+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L492
.L491:
	bl	abort
.L492:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L496
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L496
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3P
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-16]
	lsr	r2, r3, #3
	ldr	r3, .L496
	ldr	r3, [r3, #4]
	lsr	r3, r3, #3
	cmp	r2, r3
	bne	.L493
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	ldrb	r2, [fp, #-16]	@ zero_extendqisi2
	and	r2, r2, #7
	lsl	r2, r2, #20
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r3, .L496
	ldr	r2, [r3]
	lsr	r2, r2, #12
	ldrb	r3, [r3, #4]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #20
	orr	r3, r3, r2
	cmp	r1, r3
	bne	.L493
	ldr	r3, .L496
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L493
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L496
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L493
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L495
.L493:
	bl	abort
.L495:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L497:
	.align	2
.L496:
	.word	sP
	.word	-2004318071
	.size	testP, .-testP
	.comm	sQ,16,8
	.align	2
	.global	retmeQ
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeQ, %function
retmeQ:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeQ, .-retmeQ
	.section	.rodata
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1Q
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1Q, %function
fn1Q:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L503
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L503+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-28]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeQ
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L503
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L502
	bl	__stack_chk_fail
.L502:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L504:
	.align	2
.L503:
	.word	.LC13
	.word	sQ
	.size	fn1Q, .-fn1Q
	.align	2
	.global	fn2Q
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2Q, %function
fn2Q:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L507
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L507+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L508:
	.align	2
.L507:
	.word	sQ
	.word	-2004318071
	.size	fn2Q, .-fn2Q
	.align	2
	.global	retitQ
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitQ, %function
retitQ:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L511
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L512:
	.align	2
.L511:
	.word	sQ
	.size	retitQ, .-retitQ
	.align	2
	.global	fn3Q
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3Q, %function
fn3Q:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L515
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L515
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	bl	retitQ
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L516:
	.align	2
.L515:
	.word	sQ
	.size	fn3Q, .-fn3Q
	.align	2
	.global	testQ
	.syntax unified
	.arm
	.fpu softvfp
	.type	testQ, %function
testQ:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L527
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L518
.L519:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L518:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L519
	ldr	r2, .L527
	ldrh	r3, [r2]	@ movhi
	mvn	r3, r3, lsr #12
	mvn	r3, r3, lsl #12
	strh	r3, [r2]	@ movhi
	ldr	r3, .L527
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L527
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L527
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1Q
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L527
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L520
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L527
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L520
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L527
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L520
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L527
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L520
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L521
.L520:
	bl	abort
.L521:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L527
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L527
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2Q
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L527
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L522
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L527
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L522
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L527
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L522
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L527
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L522
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L527+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L523
.L522:
	bl	abort
.L523:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L527
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L527
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3Q
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L527
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L524
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L527
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L524
	ldr	r3, .L527
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L524
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L527
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L524
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L526
.L524:
	bl	abort
.L526:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L528:
	.align	2
.L527:
	.word	sQ
	.word	-2004318071
	.size	testQ, .-testQ
	.comm	sR,16,8
	.align	2
	.global	retmeR
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeR, %function
retmeR:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeR, .-retmeR
	.section	.rodata
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1R
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1R, %function
fn1R:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L534
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L534+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-28]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeR
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L534
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L533
	bl	__stack_chk_fail
.L533:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L535:
	.align	2
.L534:
	.word	.LC14
	.word	sR
	.size	fn1R, .-fn1R
	.align	2
	.global	fn2R
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2R, %function
fn2R:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L538
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L538+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L539:
	.align	2
.L538:
	.word	sR
	.word	-2004318071
	.size	fn2R, .-fn2R
	.align	2
	.global	retitR
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitR, %function
retitR:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L542
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L543:
	.align	2
.L542:
	.word	sR
	.size	retitR, .-retitR
	.align	2
	.global	fn3R
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3R, %function
fn3R:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L546
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L546
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	bl	retitR
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L547:
	.align	2
.L546:
	.word	sR
	.size	fn3R, .-fn3R
	.align	2
	.global	testR
	.syntax unified
	.arm
	.fpu softvfp
	.type	testR, %function
testR:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L558
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L549
.L550:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L549:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L550
	ldr	r2, .L558
	ldrh	r3, [r2]	@ movhi
	mvn	r3, r3, lsr #12
	mvn	r3, r3, lsl #12
	strh	r3, [r2]	@ movhi
	ldr	r3, .L558
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L558
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L558
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1R
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L551
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L551
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L551
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L558
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L551
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L552
.L551:
	bl	abort
.L552:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L558
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L558
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2R
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L553
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L553
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L553
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L558
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L553
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L558+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L554
.L553:
	bl	abort
.L554:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L558
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L558
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3R
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L555
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L558
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L555
	ldr	r3, .L558
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L555
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L558
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L555
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L557
.L555:
	bl	abort
.L557:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L559:
	.align	2
.L558:
	.word	sR
	.word	-2004318071
	.size	testR, .-testR
	.comm	sS,16,8
	.align	2
	.global	retmeS
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeS, %function
retmeS:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeS, .-retmeS
	.section	.rodata
	.align	2
.LC15:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1S
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1S, %function
fn1S:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L565
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L565+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrb	r3, [fp, #-28]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-32]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-28]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-28]
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeS
	ldrb	r3, [fp, #-28]
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, .L565
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L564
	bl	__stack_chk_fail
.L564:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L566:
	.align	2
.L565:
	.word	.LC15
	.word	sS
	.size	fn1S, .-fn1S
	.align	2
	.global	fn2S
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2S, %function
fn2S:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L569
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-20]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-20]
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L569+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-20]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-20]
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L570:
	.align	2
.L569:
	.word	sS
	.word	-2004318071
	.size	fn2S, .-fn2S
	.align	2
	.global	retitS
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitS, %function
retitS:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L573
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L574:
	.align	2
.L573:
	.word	sS
	.size	retitS, .-retitS
	.align	2
	.global	fn3S
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3S, %function
fn3S:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L577
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L577
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	bl	retitS
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L578:
	.align	2
.L577:
	.word	sS
	.size	fn3S, .-fn3S
	.align	2
	.global	testS
	.syntax unified
	.arm
	.fpu softvfp
	.type	testS, %function
testS:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L589
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L580
.L581:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L580:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L581
	ldr	r2, .L589
	ldrb	r3, [r2]
	orr	r3, r3, #1
	strb	r3, [r2]
	ldr	r3, .L589
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L589
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r3, .L589
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1S
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L589
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L582
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L589
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L582
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L589
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L582
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L589
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L582
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L583
.L582:
	bl	abort
.L583:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L589
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r3, .L589
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2S
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L589
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L584
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L589
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L584
	ldrb	r3, [fp, #-20]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L589
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L584
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L589
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L584
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L589+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L585
.L584:
	bl	abort
.L585:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L589
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r3, .L589
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3S
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L589
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L586
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L589
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L586
	ldr	r3, .L589
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L586
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L589
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L586
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L588
.L586:
	bl	abort
.L588:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L590:
	.align	2
.L589:
	.word	sS
	.word	-2004318071
	.size	testS, .-testS
	.comm	sT,4,4
	.align	2
	.global	retmeT
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeT, %function
retmeT:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	mov	r3, #0
	ldrh	r2, [fp, #-8]
	lsl	r2, r2, #16
	lsr	r3, r3, #16
	orr	r3, r3, r2
	ror	r3, r3, #16
	ldrh	r2, [fp, #-6]
	lsl	r2, r2, #16
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r3, r2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeT, .-retmeT
	.align	2
	.global	fn1T
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1T, %function
fn1T:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r2, .L595
	sub	r3, fp, #8
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrb	r3, [fp, #-8]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	retmeT
	mov	r3, r0
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L596:
	.align	2
.L595:
	.word	sT
	.size	fn1T, .-fn1T
	.align	2
	.global	fn2T
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2T, %function
fn2T:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r2, .L599
	sub	r3, fp, #8
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrb	r3, [fp, #-8]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L599+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-8]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-8]
	ldrb	r3, [fp, #-8]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L600:
	.align	2
.L599:
	.word	sT
	.word	-2004318071
	.size	fn2T, .-fn2T
	.align	2
	.global	retitT
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitT, %function
retitT:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L603
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L604:
	.align	2
.L603:
	.word	sT
	.size	retitT, .-retitT
	.align	2
	.global	fn3T
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3T, %function
fn3T:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L607
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L607
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	bl	retitT
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L608:
	.align	2
.L607:
	.word	sT
	.size	fn3T, .-fn3T
	.align	2
	.global	testT
	.syntax unified
	.arm
	.fpu softvfp
	.type	testT, %function
testT:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L619
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L610
.L611:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L610:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bls	.L611
	ldr	r2, .L619
	ldrb	r3, [r2]
	orr	r3, r3, #1
	strb	r3, [r2]
	ldr	r3, .L619
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	str	r3, [fp, #-20]
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L619
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r2, .L619
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn1T
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L612
	ldrh	r3, [fp, #-32]
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrh	r3, [r3]
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L612
	ldrb	r3, [fp, #-32]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L612
	ldrh	r2, [fp, #-30]
	ldr	r3, .L619
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L612
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L613
.L612:
	bl	abort
.L613:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L619
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r2, .L619
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn2T
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L614
	ldrh	r3, [fp, #-32]
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrh	r3, [r3]
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L614
	ldrb	r3, [fp, #-32]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L614
	ldrh	r2, [fp, #-30]
	ldr	r3, .L619
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L614
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r1, r2, r3
	ldr	r3, .L619+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L615
.L614:
	bl	abort
.L615:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L619
	ldrb	r3, [r2]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2]
	ldr	r2, .L619
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn3T
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L616
	ldrh	r3, [fp, #-32]
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L619
	ldrh	r3, [r3]
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L616
	ldr	r3, .L619
	ldrb	r3, [r3]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L616
	ldrh	r2, [fp, #-30]
	ldr	r3, .L619
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L616
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L618
.L616:
	bl	abort
.L618:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L620:
	.align	2
.L619:
	.word	sT
	.word	-2004318071
	.size	testT, .-testT
	.comm	sU,16,8
	.align	2
	.global	retmeU
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeU, %function
retmeU:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeU, .-retmeU
	.section	.rodata
	.align	2
.LC16:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1U
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1U, %function
fn1U:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L626
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L626+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-32]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r3, r3, #255
	ldrb	r2, [fp, #-28]
	and	r3, r3, #1
	bic	r2, r2, #64
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-28]
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeU
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r2, .L626
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L625
	bl	__stack_chk_fail
.L625:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L627:
	.align	2
.L626:
	.word	.LC16
	.word	sU
	.size	fn1U, .-fn1U
	.align	2
	.global	fn2U
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2U, %function
fn2U:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L630
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r3, r3, #255
	ldrb	r2, [fp, #-20]
	and	r3, r3, #1
	bic	r2, r2, #64
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-20]
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L630+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #1
	and	r3, r3, #255
	ldrb	r2, [fp, #-20]
	and	r3, r3, #1
	bic	r2, r2, #64
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [fp, #-20]
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L631:
	.align	2
.L630:
	.word	sU
	.word	-2004318071
	.size	fn2U, .-fn2U
	.align	2
	.global	retitU
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitU, %function
retitU:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L634
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L635:
	.align	2
.L634:
	.word	sU
	.size	retitU, .-retitU
	.align	2
	.global	fn3U
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3U, %function
fn3U:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L638
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r1, .L638
	ldrb	r2, [r1]
	and	r3, r3, #1
	bic	r2, r2, #64
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1]
	bl	retitU
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L639:
	.align	2
.L638:
	.word	sU
	.size	fn3U, .-fn3U
	.align	2
	.global	testU
	.syntax unified
	.arm
	.fpu softvfp
	.type	testU, %function
testU:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L650
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L641
.L642:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L641:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L642
	ldr	r2, .L650
	ldrb	r3, [r2]
	orr	r3, r3, #64
	strb	r3, [r2]
	ldr	r3, .L650
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r1, .L650
	ldrb	r2, [r1]
	and	r3, r3, #1
	bic	r2, r2, #64
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1]
	ldr	r3, .L650
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1U
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L650
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L643
	ldrb	r3, [fp, #-20]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L650
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L643
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L650
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L643
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L650
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L643
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L644
.L643:
	bl	abort
.L644:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r1, .L650
	ldrb	r2, [r1]
	and	r3, r3, #1
	bic	r2, r2, #64
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1]
	ldr	r3, .L650
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2U
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L650
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L645
	ldrb	r3, [fp, #-20]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L650
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L645
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L650
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L645
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L650
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L645
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L650+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L646
.L645:
	bl	abort
.L646:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	and	r3, r3, #255
	ldr	r1, .L650
	ldrb	r2, [r1]
	and	r3, r3, #1
	bic	r2, r2, #64
	lsl	r3, r3, #6
	orr	r3, r3, r2
	mov	r2, r3
	strb	r2, [r1]
	ldr	r3, .L650
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3U
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-20]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L650
	ldrh	r3, [r3]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L647
	ldrb	r3, [fp, #-20]
	and	r3, r3, #63
	and	r2, r3, #255
	ldr	r3, .L650
	ldrb	r3, [r3]
	and	r3, r3, #63
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L647
	ldr	r3, .L650
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #6
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L647
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L650
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L647
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L649
.L647:
	bl	abort
.L649:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L651:
	.align	2
.L650:
	.word	sU
	.word	-2004318071
	.size	testU, .-testU
	.comm	sV,4,4
	.align	2
	.global	retmeV
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeV, %function
retmeV:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	mov	r3, #0
	ldrh	r2, [fp, #-8]
	lsl	r2, r2, #16
	lsr	r3, r3, #16
	orr	r3, r3, r2
	ror	r3, r3, #16
	ldrh	r2, [fp, #-6]
	lsl	r2, r2, #16
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	orr	r3, r3, r2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	retmeV, .-retmeV
	.align	2
	.global	fn1V
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1V, %function
fn1V:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r2, .L656
	sub	r3, fp, #8
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrb	r3, [fp, #-7]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-7]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-7]
	ldr	r0, [fp, #-8]
	bl	retmeV
	mov	r3, r0
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-7]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L657:
	.align	2
.L656:
	.word	sV
	.size	fn1V, .-fn1V
	.align	2
	.global	fn2V
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2V, %function
fn2V:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r2, .L660
	sub	r3, fp, #8
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrb	r3, [fp, #-7]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-16]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-7]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-7]
	ldrb	r3, [fp, #-7]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L660+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1
	and	r3, r3, #1
	and	r2, r3, #255
	ldrb	r3, [fp, #-7]
	and	r2, r2, #1
	bic	r3, r3, #1
	orr	r3, r2, r3
	strb	r3, [fp, #-7]
	ldrb	r3, [fp, #-7]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L661:
	.align	2
.L660:
	.word	sV
	.word	-2004318071
	.size	fn2V, .-fn2V
	.align	2
	.global	retitV
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitV, %function
retitV:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L664
	ldrb	r3, [r3, #1]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L665:
	.align	2
.L664:
	.word	sV
	.size	retitV, .-retitV
	.align	2
	.global	fn3V
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3V, %function
fn3V:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L668
	ldrb	r3, [r3, #1]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #255
	add	r3, r2, r3
	and	r3, r3, #255
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L668
	ldrb	r3, [r2, #1]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2, #1]
	bl	retitV
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L669:
	.align	2
.L668:
	.word	sV
	.size	fn3V, .-fn3V
	.align	2
	.global	testV
	.syntax unified
	.arm
	.fpu softvfp
	.type	testV, %function
testV:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L680
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L671
.L672:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L671:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bls	.L672
	ldr	r2, .L680
	ldrb	r3, [r2, #1]
	orr	r3, r3, #1
	strb	r3, [r2, #1]
	ldr	r3, .L680
	ldrb	r3, [r3, #1]
	and	r3, r3, #1
	and	r3, r3, #255
	str	r3, [fp, #-20]
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L680
	ldrb	r3, [r2, #1]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2, #1]
	ldr	r2, .L680
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn1V
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L680
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L673
	ldrb	r2, [fp, #-32]	@ zero_extendqisi2
	ldr	r3, .L680
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L673
	ldrb	r3, [fp, #-31]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L680
	ldrb	r3, [r3, #1]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L673
	ldrh	r2, [fp, #-30]
	ldr	r3, .L680
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L673
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L674
.L673:
	bl	abort
.L674:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L680
	ldrb	r3, [r2, #1]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2, #1]
	ldr	r2, .L680
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn2V
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L680
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L675
	ldrb	r2, [fp, #-32]	@ zero_extendqisi2
	ldr	r3, .L680
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L675
	ldrb	r3, [fp, #-31]
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L680
	ldrb	r3, [r3, #1]
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L675
	ldrh	r2, [fp, #-30]
	ldr	r3, .L680
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L675
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r1, r2, r3
	ldr	r3, .L680+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L676
.L675:
	bl	abort
.L676:
	bl	myrnd
	str	r0, [fp, #-16]
	bl	myrnd
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	and	r1, r3, #255
	ldr	r2, .L680
	ldrb	r3, [r2, #1]
	and	r1, r1, #1
	bic	r3, r3, #1
	orr	r3, r1, r3
	strb	r3, [r2, #1]
	ldr	r2, .L680
	sub	r3, fp, #32
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	fn3V
	str	r0, [fp, #-8]
	ldrb	r3, [fp, #-31]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L680
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L677
	ldrb	r2, [fp, #-32]	@ zero_extendqisi2
	ldr	r3, .L680
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L677
	ldr	r3, .L680
	ldrb	r3, [r3, #1]
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L677
	ldrh	r2, [fp, #-30]
	ldr	r3, .L680
	ldrh	r3, [r3, #2]
	cmp	r2, r3
	bne	.L677
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	and	r3, r3, r2
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L679
.L677:
	bl	abort
.L679:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L681:
	.align	2
.L680:
	.word	sV
	.word	-2004318071
	.size	testV, .-testV
	.comm	sW,16,8
	.align	2
	.global	retmeW
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeW, %function
retmeW:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeW, .-retmeW
	.section	.rodata
	.align	2
.LC17:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1W
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1W, %function
fn1W:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L687
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L687+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeW
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L687
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L686
	bl	__stack_chk_fail
.L686:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L688:
	.align	2
.L687:
	.word	.LC17
	.word	sW
	.size	fn1W, .-fn1W
	.align	2
	.global	fn2W
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2W, %function
fn2W:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L691
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L691+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L692:
	.align	2
.L691:
	.word	sW
	.word	-2004318071
	.size	fn2W, .-fn2W
	.align	2
	.global	retitW
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitW, %function
retitW:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L695
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L696:
	.align	2
.L695:
	.word	sW
	.size	retitW, .-retitW
	.align	2
	.global	fn3W
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3W, %function
fn3W:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L699
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L699
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	bl	retitW
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L700:
	.align	2
.L699:
	.word	sW
	.size	fn3W, .-fn3W
	.global	__aeabi_dcmpeq
	.align	2
	.global	testW
	.syntax unified
	.arm
	.fpu softvfp
	.type	testW, %function
testW:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L711
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L702
.L703:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L702:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L703
	ldr	r1, .L711
	mov	r2, #0
	ldr	r3, .L711+4
	stm	r1, {r2-r3}
	ldr	r2, .L711
	ldrh	r3, [r2, #8]	@ movhi
	mvn	r3, r3, lsr #12
	mvn	r3, r3, lsl #12
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L711
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L711
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L711
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1W
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L711
	ldrb	r3, [r3, #11]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L704
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L711
	ldr	r3, [r3, #8]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L704
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L711
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L704
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L711
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L704
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L705
.L704:
	bl	abort
.L705:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L711
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L711
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2W
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L711
	ldrb	r3, [r3, #11]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L706
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L711
	ldr	r3, [r3, #8]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L706
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L711
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L706
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L711
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L706
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L711+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L707
.L706:
	bl	abort
.L707:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L711
	ldrh	r3, [r2, #8]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2, #8]	@ movhi
	ldr	r3, .L711
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3W
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L711
	ldrb	r3, [r3, #11]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L708
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L711
	ldr	r3, [r3, #8]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L708
	ldr	r3, .L711
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L708
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L711
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L708
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L710
.L708:
	bl	abort
.L710:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L712:
	.align	2
.L711:
	.word	sW
	.word	1075118080
	.word	-2004318071
	.size	testW, .-testW
	.comm	sX,16,8
	.align	2
	.global	retmeX
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeX, %function
retmeX:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeX, .-retmeX
	.section	.rodata
	.align	2
.LC18:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1X
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1X, %function
fn1X:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L718
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L718+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-28]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeX
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L718
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L717
	bl	__stack_chk_fail
.L717:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L719:
	.align	2
.L718:
	.word	.LC18
	.word	sX
	.size	fn1X, .-fn1X
	.align	2
	.global	fn2X
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2X, %function
fn2X:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L722
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L722+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L723:
	.align	2
.L722:
	.word	sX
	.word	-2004318071
	.size	fn2X, .-fn2X
	.align	2
	.global	retitX
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitX, %function
retitX:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L726
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L727:
	.align	2
.L726:
	.word	sX
	.size	retitX, .-retitX
	.align	2
	.global	fn3X
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3X, %function
fn3X:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L730
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L730
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	bl	retitX
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L731:
	.align	2
.L730:
	.word	sX
	.size	fn3X, .-fn3X
	.align	2
	.global	testX
	.syntax unified
	.arm
	.fpu softvfp
	.type	testX, %function
testX:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L742
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L733
.L734:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L733:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L734
	ldr	r1, .L742
	mov	r2, #0
	ldr	r3, .L742+4
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r2, .L742
	ldrh	r3, [r2]	@ movhi
	mvn	r3, r3, lsr #12
	mvn	r3, r3, lsl #12
	strh	r3, [r2]	@ movhi
	ldr	r3, .L742
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L742
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L742
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1X
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L742
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L735
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L742
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L735
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L742
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L735
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L742
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L735
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L736
.L735:
	bl	abort
.L736:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L742
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L742
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2X
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L742
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L737
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L742
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L737
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L742
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L737
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L742
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L737
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L742+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L738
.L737:
	bl	abort
.L738:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L742
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L742
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3X
	str	r0, [fp, #-24]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L742
	ldrb	r3, [r3, #3]	@ zero_extendqisi2
	lsr	r3, r3, #1
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L739
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L742
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L739
	ldr	r3, .L742
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L739
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L742
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L739
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L741
.L739:
	bl	abort
.L741:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L743:
	.align	2
.L742:
	.word	sX
	.word	1075118080
	.word	-2004318071
	.size	testX, .-testX
	.comm	sY,16,8
	.align	2
	.global	retmeY
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeY, %function
retmeY:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeY, .-retmeY
	.section	.rodata
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1Y
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1Y, %function
fn1Y:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L749
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L749+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-28]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeY
	ldrh	r3, [fp, #-28]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L749
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L748
	bl	__stack_chk_fail
.L748:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L750:
	.align	2
.L749:
	.word	.LC19
	.word	sY
	.size	fn1Y, .-fn1Y
	.align	2
	.global	fn2Y
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2Y, %function
fn2Y:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L753
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L753+4
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r2, r2, #20
	lsr	r3, r3, #12
	orr	r3, r3, r2
	ror	r3, r3, #20
	strh	r3, [fp, #-20]	@ movhi
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L754:
	.align	2
.L753:
	.word	sY
	.word	-2004318071
	.size	fn2Y, .-fn2Y
	.align	2
	.global	retitY
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitY, %function
retitY:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L757
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L758:
	.align	2
.L757:
	.word	sY
	.size	retitY, .-retitY
	.align	2
	.global	fn3Y
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3Y, %function
fn3Y:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L761
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L761
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	bl	retitY
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L762:
	.align	2
.L761:
	.word	sY
	.size	fn3Y, .-fn3Y
	.align	2
	.global	testY
	.syntax unified
	.arm
	.fpu softvfp
	.type	testY, %function
testY:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L773
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L764
.L765:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L764:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L765
	ldr	r1, .L773
	mov	r2, #0
	ldr	r3, .L773+4
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r2, .L773
	ldrh	r3, [r2]	@ movhi
	mvn	r3, r3, lsr #12
	mvn	r3, r3, lsl #12
	strh	r3, [r2]	@ movhi
	ldr	r3, .L773
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L773
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L773
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1Y
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L766
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L766
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L766
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L773
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L766
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L767
.L766:
	bl	abort
.L767:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L773
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L773
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2Y
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L768
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L768
	ldrh	r3, [fp, #-20]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L768
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L773
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L768
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L773+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L769
.L768:
	bl	abort
.L769:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r1, r3, #16
	ldr	r2, .L773
	ldrh	r3, [r2]	@ movhi
	lsl	r1, r1, #20
	lsr	r3, r3, #12
	orr	r3, r3, r1
	ror	r3, r3, #20
	strh	r3, [r2]	@ movhi
	ldr	r3, .L773
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3Y
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldrh	r3, [r3, #2]
	lsr	r3, r3, #7
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L770
	ldr	r3, [fp, #-20]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L773
	ldr	r3, [r3]
	lsr	r3, r3, #12
	lsl	r3, r3, #21
	lsr	r3, r3, #21
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L770
	ldr	r3, .L773
	ldrh	r3, [r3]	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L770
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	ldr	r3, .L773
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L770
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L772
.L770:
	bl	abort
.L772:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L774:
	.align	2
.L773:
	.word	sY
	.word	1075118080
	.word	-2004318071
	.size	testY, .-testY
	.comm	sZ,16,8
	.align	2
	.global	retmeZ
	.syntax unified
	.arm
	.fpu softvfp
	.type	retmeZ, %function
retmeZ:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
	.size	retmeZ, .-retmeZ
	.section	.rodata
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	fn1Z
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn1Z, %function
fn1Z:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	ldr	r3, .L780
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L780+4
	sub	ip, fp, #28
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-18]	@ movhi
	ldr	r3, .L780+8
	and	r2, r2, r3
	lsl	r3, r3, #4
	bic	r3, r1, r3
	lsl	r2, r2, #4
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-18]	@ movhi
	sub	ip, fp, #28
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	mov	r0, ip
	bl	retmeZ
	ldrh	r3, [fp, #-18]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, .L780
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L779
	bl	__stack_chk_fail
.L779:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L781:
	.align	2
.L780:
	.word	.LC20
	.word	sZ
	.word	4095
	.size	fn1Z, .-fn1Z
	.align	2
	.global	fn2Z
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn2Z, %function
fn2Z:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L784
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-10]	@ movhi
	ldr	r3, .L784+4
	and	r2, r2, r3
	lsl	r3, r3, #4
	bic	r3, r1, r3
	lsl	r2, r2, #4
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, .L784+8
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #3
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	sub	r1, r2, r3
	mov	r3, r1	@ movhi
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r1, [fp, #-10]	@ movhi
	ldr	r3, .L784+4
	and	r2, r2, r3
	lsl	r3, r3, #4
	bic	r3, r1, r3
	lsl	r2, r2, #4
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L785:
	.align	2
.L784:
	.word	sZ
	.word	4095
	.word	-2004318071
	.size	fn2Z, .-fn2Z
	.align	2
	.global	retitZ
	.syntax unified
	.arm
	.fpu softvfp
	.type	retitZ, %function
retitZ:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L788
	ldrh	r3, [r3, #10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L789:
	.align	2
.L788:
	.word	sZ
	.size	retitZ, .-retitZ
	.align	2
	.global	fn3Z
	.syntax unified
	.arm
	.fpu softvfp
	.type	fn3Z, %function
fn3Z:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L792
	ldrh	r3, [r3, #10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L792
	ldrh	r1, [r0, #10]	@ movhi
	ldr	r3, .L792+4
	and	r2, r2, r3
	lsl	r3, r3, #4
	bic	r3, r1, r3
	lsl	r2, r2, #4
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #10]	@ movhi
	bl	retitZ
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L793:
	.align	2
.L792:
	.word	sZ
	.word	4095
	.size	fn3Z, .-fn3Z
	.align	2
	.global	testZ
	.syntax unified
	.arm
	.fpu softvfp
	.type	testZ, %function
testZ:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L804
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L795
.L796:
	bl	myrnd
	mov	r1, r0
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	and	r2, r1, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L795:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bls	.L796
	ldr	r1, .L804
	mov	r2, #0
	ldr	r3, .L804+4
	stm	r1, {r2-r3}
	ldr	r2, .L804
	ldrh	r3, [r2, #10]	@ movhi
	orr	r3, r3, #65280
	orr	r3, r3, #240
	strh	r3, [r2, #10]	@ movhi
	ldr	r3, .L804
	ldrh	r3, [r3, #10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-36]
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L804
	ldrh	r1, [r0, #10]	@ movhi
	ldr	r3, .L804+8
	and	r2, r2, r3
	lsl	r3, r3, #4
	bic	r3, r1, r3
	lsl	r2, r2, #4
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #10]	@ movhi
	ldr	r3, .L804
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn1Z
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #13
	and	r3, r3, #127
	and	r2, r3, #255
	ldr	r3, .L804
	ldr	r3, [r3, #8]
	lsr	r3, r3, #13
	and	r3, r3, #127
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L797
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L804
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L797
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L804
	ldrh	r3, [r3, #10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L797
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L804
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L797
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L798
.L797:
	bl	abort
.L798:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L804
	ldrh	r1, [r0, #10]	@ movhi
	ldr	r3, .L804+8
	and	r2, r2, r3
	lsl	r3, r3, #4
	bic	r3, r1, r3
	lsl	r2, r2, #4
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #10]	@ movhi
	ldr	r3, .L804
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn2Z
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #13
	and	r3, r3, #127
	and	r2, r3, #255
	ldr	r3, .L804
	ldr	r3, [r3, #8]
	lsr	r3, r3, #13
	and	r3, r3, #127
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L799
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L804
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L799
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L804
	ldrh	r3, [r3, #10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L799
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L804
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L799
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r1, r2, r3
	ldr	r3, .L804+12
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L800
.L799:
	bl	abort
.L800:
	bl	myrnd
	str	r0, [fp, #-32]
	bl	myrnd
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #20
	lsr	r3, r3, #20
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L804
	ldrh	r1, [r0, #10]	@ movhi
	ldr	r3, .L804+8
	and	r2, r2, r3
	lsl	r3, r3, #4
	bic	r3, r1, r3
	lsl	r2, r2, #4
	orr	r3, r2, r3
	mov	r1, r3	@ movhi
	strh	r1, [r0, #10]	@ movhi
	ldr	r3, .L804
	sub	ip, fp, #20
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-28]
	bl	fn3Z
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #13
	and	r3, r3, #127
	and	r2, r3, #255
	ldr	r3, .L804
	ldr	r3, [r3, #8]
	lsr	r3, r3, #13
	and	r3, r3, #127
	and	r3, r3, #255
	cmp	r2, r3
	bne	.L801
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L804
	ldrh	r3, [r3, #8]	@ movhi
	lsl	r3, r3, #19
	lsr	r3, r3, #19
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r2, r3
	bne	.L801
	ldr	r3, .L804
	ldrh	r3, [r3, #10]
	lsr	r3, r3, #4
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L801
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	ldr	r3, .L804
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L801
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	and	r3, r3, r2
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L803
.L801:
	bl	abort
.L803:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L805:
	.align	2
.L804:
	.word	sZ
	.word	1075118080
	.word	4095
	.word	-2004318071
	.size	testZ, .-testZ
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	testA
	bl	testB
	bl	testC
	bl	testD
	bl	testE
	bl	testF
	bl	testG
	bl	testH
	bl	testI
	bl	testJ
	bl	testK
	bl	testL
	bl	testM
	bl	testN
	bl	testO
	bl	testP
	bl	testQ
	bl	testR
	bl	testS
	bl	testT
	bl	testU
	bl	testV
	bl	testW
	bl	testX
	bl	testY
	bl	testZ
	mov	r0, #0
	bl	exit
	.size	main, .-main
	.data
	.align	2
	.type	s.4201, %object
	.size	s.4201, 4
s.4201:
	.word	1388815473
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
