	.file	"28968.c"
	.intel_syntax noprefix
	.text
	.globl	KeccakRoundConstants
	.bss
	.align 16
	.type	KeccakRoundConstants, @object
	.size	KeccakRoundConstants, 18
KeccakRoundConstants:
	.zero	18
	.globl	KeccakRhoOffsets
	.align 32
	.type	KeccakRhoOffsets, @object
	.size	KeccakRhoOffsets, 100
KeccakRhoOffsets:
	.zero	100
	.text
	.globl	assert_2
	.type	assert_2, @function
assert_2:
.LFB0:
	.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	QWORD PTR -16[rbp], rsi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	assert_2, .-assert_2
	.globl	KeccakP200_InitializeRoundConstants
	.type	KeccakP200_InitializeRoundConstants, @function
KeccakP200_InitializeRoundConstants:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	BYTE PTR -21[rbp], 1
	mov	DWORD PTR -20[rbp], 0
	jmp	.L3
.L7:
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, KeccakRoundConstants[rip]
	mov	BYTE PTR [rax+rdx], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L4
.L6:
	mov	eax, DWORD PTR -16[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	sub	eax, 1
	mov	DWORD PTR -12[rbp], eax
	lea	rax, -21[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	LFSR86540
	test	eax, eax
	je	.L5
	cmp	DWORD PTR -12[rbp], 7
	ja	.L5
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, KeccakRoundConstants[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	mov	ecx, edx
	xor	ecx, eax
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, KeccakRoundConstants[rip]
	mov	BYTE PTR [rax+rdx], cl
.L5:
	add	DWORD PTR -16[rbp], 1
.L4:
	cmp	DWORD PTR -16[rbp], 6
	jbe	.L6
	add	DWORD PTR -20[rbp], 1
.L3:
	cmp	DWORD PTR -20[rbp], 17
	jbe	.L7
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L8
	call	__stack_chk_fail@PLT
.L8:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	KeccakP200_InitializeRoundConstants, .-KeccakP200_InitializeRoundConstants
	.globl	KeccakP200_InitializeRhoOffsets
	.type	KeccakP200_InitializeRhoOffsets, @function
KeccakP200_InitializeRhoOffsets:
.LFB2:
	.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 KeccakRhoOffsets[rip], 0
	mov	DWORD PTR -20[rbp], 1
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L10
.L11:
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 2
	imul	eax, edx
	shr	eax
	mov	edi, eax
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -16[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	and	edi, 7
	mov	ecx, edi
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, KeccakRhoOffsets[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	sub	edx, eax
	mov	DWORD PTR -8[rbp], edx
	mov	eax, DWORD PTR -20[rbp]
	lea	ecx, [rax+rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	ecx, eax
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	DWORD PTR -4[rbp], edx
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -16[rbp], eax
	add	DWORD PTR -12[rbp], 1
.L10:
	cmp	DWORD PTR -12[rbp], 23
	jbe	.L11
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	KeccakP200_InitializeRhoOffsets, .-KeccakP200_InitializeRhoOffsets
	.globl	LFSR86540
	.type	LFSR86540, @function
LFSR86540:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L13
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, eax
	xor	eax, 113
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L14
.L13:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
.L14:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	LFSR86540, .-LFSR86540
	.section	.rodata
.LC0:
	.string	"%s:"
.LC1:
	.string	" %02x"
	.text
	.type	displayByteString, @function
displayByteString:
.LFB4:
	.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L17
.L18:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -4[rbp], 1
.L17:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jb	.L18
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	displayByteString, .-displayByteString
	.globl	KeccakP200_Initialize
	.type	KeccakP200_Initialize, @function
KeccakP200_Initialize:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 25
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	KeccakP200_Initialize, .-KeccakP200_Initialize
	.globl	KeccakP200_StaticInitialize
	.type	KeccakP200_StaticInitialize, @function
KeccakP200_StaticInitialize:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	KeccakP200_InitializeRoundConstants
	mov	eax, 0
	call	KeccakP200_InitializeRhoOffsets
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	KeccakP200_StaticInitialize, .-KeccakP200_StaticInitialize
	.section	.rodata
.LC2:
	.string	"the_stack_data/28968.c"
.LC3:
	.string	"offset < 25"
.LC4:
	.string	"offset+length <= 25"
	.text
	.globl	KeccakP200_OverwriteBytes
	.type	KeccakP200_OverwriteBytes, @function
KeccakP200_OverwriteBytes:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	DWORD PTR -24[rbp], ecx
	cmp	DWORD PTR -20[rbp], 24
	jbe	.L22
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 123
	lea	rsi, .LC2[rip]
	lea	rdi, .LC3[rip]
	call	__assert_fail@PLT
.L22:
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	cmp	eax, 25
	jbe	.L23
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 124
	lea	rsi, .LC2[rip]
	lea	rdi, .LC4[rip]
	call	__assert_fail@PLT
.L23:
	mov	edx, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	KeccakP200_OverwriteBytes, .-KeccakP200_OverwriteBytes
	.globl	Ket_StateOverwrite
	.type	Ket_StateOverwrite, @function
Ket_StateOverwrite:
.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, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -16[rbp], ecx
	mov	ecx, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	KeccakP200_OverwriteBytes
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	Ket_StateOverwrite, .-Ket_StateOverwrite
	.globl	KeccakP200_AddByte
	.type	KeccakP200_AddByte, @function
KeccakP200_AddByte:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -16[rbp], edx
	mov	BYTE PTR -12[rbp], al
	cmp	DWORD PTR -16[rbp], 24
	jbe	.L26
	lea	rcx, __PRETTY_FUNCTION__.2[rip]
	mov	edx, 135
	lea	rsi, .LC2[rip]
	lea	rdi, .LC3[rip]
	call	__assert_fail@PLT
.L26:
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	ecx, DWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	xor	al, BYTE PTR -12[rbp]
	mov	BYTE PTR [rdx], al
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	KeccakP200_AddByte, .-KeccakP200_AddByte
	.type	fromWordsToBytes, @function
fromWordsToBytes:
.LFB10:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -8[rbp], 0
	jmp	.L28
.L31:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L29
.L30:
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 3
	mov	ecx, eax
	sar	edx, cl
	mov	ecx, edx
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -4[rbp], 1
.L29:
	cmp	DWORD PTR -4[rbp], 0
	je	.L30
	add	DWORD PTR -8[rbp], 1
.L28:
	cmp	DWORD PTR -8[rbp], 24
	jbe	.L31
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	fromWordsToBytes, .-fromWordsToBytes
	.type	fromBytesToWords, @function
fromBytesToWords:
.LFB11:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -8[rbp], 0
	jmp	.L33
.L36:
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L34
.L35:
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	esi, eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 3
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	or	esi, eax
	mov	ecx, esi
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -4[rbp], 1
.L34:
	cmp	DWORD PTR -4[rbp], 0
	je	.L35
	add	DWORD PTR -8[rbp], 1
.L33:
	cmp	DWORD PTR -8[rbp], 24
	jbe	.L36
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	fromBytesToWords, .-fromBytesToWords
	.globl	theta
	.type	theta, @function
theta:
.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
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L38
.L41:
	mov	eax, DWORD PTR -28[rbp]
	mov	BYTE PTR -18[rbp+rax], 0
	mov	DWORD PTR -24[rbp], 0
	jmp	.L39
.L40:
	mov	eax, DWORD PTR -28[rbp]
	movzx	edi, BYTE PTR -18[rbp+rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -24[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	xor	edi, eax
	mov	edx, edi
	mov	eax, DWORD PTR -28[rbp]
	mov	BYTE PTR -18[rbp+rax], dl
	add	DWORD PTR -24[rbp], 1
.L39:
	cmp	DWORD PTR -24[rbp], 4
	jbe	.L40
	add	DWORD PTR -28[rbp], 1
.L38:
	cmp	DWORD PTR -28[rbp], 4
	jbe	.L41
	mov	DWORD PTR -28[rbp], 0
	jmp	.L42
.L43:
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, 1[rax]
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	edx, eax
	shr	edx, 2
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	eax, edx
	movzx	eax, BYTE PTR -18[rbp+rax]
	movzx	eax, al
	add	eax, eax
	mov	esi, eax
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, 1[rax]
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	edx, eax
	shr	edx, 2
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	eax, edx
	movzx	eax, BYTE PTR -18[rbp+rax]
	shr	al, 7
	xor	esi, eax
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, 4[rax]
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	edx, eax
	shr	edx, 2
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	eax, edx
	movzx	eax, BYTE PTR -18[rbp+rax]
	xor	eax, esi
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	mov	BYTE PTR -13[rbp+rax], dl
	add	DWORD PTR -28[rbp], 1
.L42:
	cmp	DWORD PTR -28[rbp], 4
	jbe	.L43
	mov	DWORD PTR -28[rbp], 0
	jmp	.L44
.L47:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L45
.L46:
	mov	ecx, DWORD PTR -28[rbp]
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	edx, eax
	shr	edx, 2
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	esi, DWORD PTR -24[rbp]
	mov	ecx, esi
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	shr	eax, 2
	mov	ecx, eax
	sal	ecx, 2
	add	ecx, eax
	mov	eax, esi
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 2
	add	ecx, eax
	add	ecx, edx
	mov	esi, ecx
	mov	rcx, QWORD PTR -40[rbp]
	add	rcx, rsi
	movzx	edi, BYTE PTR [rcx]
	mov	ecx, DWORD PTR -28[rbp]
	movzx	esi, BYTE PTR -13[rbp+rcx]
	mov	ecx, eax
	sal	ecx, 2
	add	eax, ecx
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	xor	edi, esi
	mov	edx, edi
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -24[rbp], 1
.L45:
	cmp	DWORD PTR -24[rbp], 4
	jbe	.L46
	add	DWORD PTR -28[rbp], 1
.L44:
	cmp	DWORD PTR -28[rbp], 4
	jbe	.L47
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L48
	call	__stack_chk_fail@PLT
.L48:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	theta, .-theta
	.globl	rho
	.type	rho, @function
rho:
.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 -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 0
	jmp	.L50
.L55:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L51
.L54:
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -4[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, KeccakRhoOffsets[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L52
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -4[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edi, al
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -4[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, KeccakRhoOffsets[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ecx, eax
	sal	edi, cl
	mov	eax, edi
	mov	r8d, eax
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -4[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	edi, al
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -4[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, KeccakRhoOffsets[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, 8
	sub	eax, edx
	mov	ecx, eax
	sar	edi, cl
	mov	eax, edi
	xor	eax, r8d
	mov	esi, eax
	jmp	.L53
.L52:
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -4[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	esi, BYTE PTR [rax]
.L53:
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	edi, DWORD PTR -4[rbp]
	mov	edx, edi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, edi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], sil
	add	DWORD PTR -4[rbp], 1
.L51:
	cmp	DWORD PTR -4[rbp], 4
	jbe	.L54
	add	DWORD PTR -8[rbp], 1
.L50:
	cmp	DWORD PTR -8[rbp], 4
	jbe	.L55
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	rho, .-rho
	.globl	pi
	.type	pi, @function
pi:
.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, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -56[rbp], 0
	jmp	.L57
.L60:
	mov	DWORD PTR -52[rbp], 0
	jmp	.L58
.L59:
	mov	edx, DWORD PTR -56[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -52[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rdi, [rdx+rax]
	mov	edx, DWORD PTR -56[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -52[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	lea	edx, [rcx+rax]
	movzx	eax, BYTE PTR [rdi]
	mov	edx, edx
	mov	BYTE PTR -48[rbp+rdx], al
	add	DWORD PTR -52[rbp], 1
.L58:
	cmp	DWORD PTR -52[rbp], 4
	jbe	.L59
	add	DWORD PTR -56[rbp], 1
.L57:
	cmp	DWORD PTR -56[rbp], 4
	jbe	.L60
	mov	DWORD PTR -56[rbp], 0
	jmp	.L61
.L64:
	mov	DWORD PTR -52[rbp], 0
	jmp	.L62
.L63:
	mov	edx, DWORD PTR -56[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -52[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	lea	edi, [rcx+rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR -56[rbp]
	lea	esi, [rax+rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	esi, eax
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	eax, edi
	movzx	eax, BYTE PTR -48[rbp+rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -52[rbp], 1
.L62:
	cmp	DWORD PTR -52[rbp], 4
	jbe	.L63
	add	DWORD PTR -56[rbp], 1
.L61:
	cmp	DWORD PTR -56[rbp], 4
	jbe	.L64
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L65
	call	__stack_chk_fail@PLT
.L65:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	pi, .-pi
	.globl	chi
	.type	chi, @function
chi:
.LFB15:
	.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
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L67
.L72:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L68
.L69:
	mov	edx, DWORD PTR -24[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -20[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	r8d, eax
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 1[rax]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -20[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	not	eax
	mov	edi, eax
	mov	eax, DWORD PTR -24[rbp]
	lea	edx, 2[rax]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -20[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	eax, edi
	xor	eax, r8d
	mov	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	mov	BYTE PTR -13[rbp+rax], dl
	add	DWORD PTR -24[rbp], 1
.L68:
	cmp	DWORD PTR -24[rbp], 4
	jbe	.L69
	mov	DWORD PTR -24[rbp], 0
	jmp	.L70
.L71:
	mov	edx, DWORD PTR -24[rbp]
	mov	ecx, edx
	mov	eax, 3435973837
	imul	rax, rcx
	shr	rax, 32
	mov	ecx, eax
	shr	ecx, 2
	mov	eax, ecx
	sal	eax, 2
	add	eax, ecx
	mov	ecx, edx
	sub	ecx, eax
	mov	esi, DWORD PTR -20[rbp]
	mov	edx, esi
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 2
	mov	edx, eax
	sal	edx, 2
	add	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	sal	edx, 2
	add	eax, edx
	add	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -24[rbp]
	movzx	eax, BYTE PTR -13[rbp+rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -24[rbp], 1
.L70:
	cmp	DWORD PTR -24[rbp], 4
	jbe	.L71
	add	DWORD PTR -20[rbp], 1
.L67:
	cmp	DWORD PTR -20[rbp], 4
	jbe	.L72
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L73
	call	__stack_chk_fail@PLT
.L73:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	chi, .-chi
	.globl	iota
	.type	iota, @function
iota:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	movzx	ecx, BYTE PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	lea	rdx, KeccakRoundConstants[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	iota, .-iota
	.globl	KeccakP200Round
	.type	KeccakP200Round, @function
KeccakP200Round:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	theta
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rho
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	chi
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	iota
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	KeccakP200Round, .-KeccakP200Round
	.globl	KeccakP200OnWords
	.type	KeccakP200OnWords, @function
KeccakP200OnWords:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, 18
	sub	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L77
.L78:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	KeccakP200Round
	add	DWORD PTR -4[rbp], 1
.L77:
	cmp	DWORD PTR -4[rbp], 17
	jbe	.L78
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	KeccakP200OnWords, .-KeccakP200OnWords
	.globl	KeccakP200_Permute_Nrounds
	.type	KeccakP200_Permute_Nrounds, @function
KeccakP200_Permute_Nrounds:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	KeccakP200OnWords
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	KeccakP200_Permute_Nrounds, .-KeccakP200_Permute_Nrounds
	.globl	Ketje_Initialize
	.type	Ketje_Initialize, @function
Ketje_Initialize:
.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, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	QWORD PTR -64[rbp], rcx
	mov	DWORD PTR -56[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 16
	and	eax, -8
	mov	DWORD PTR -16[rbp], eax
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	add	eax, 2
	cmp	eax, 200
	jbe	.L81
	mov	eax, 1
	jmp	.L87
.L81:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	eax, 0
	call	KeccakP200_StaticInitialize
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	KeccakP200_Initialize
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 3
	add	eax, 2
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -9[rbp]
	mov	ecx, 1
	mov	esi, 0
	mov	rdi, rax
	call	Ket_StateOverwrite
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 3
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	Ket_StateOverwrite
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 7
	test	eax, eax
	jne	.L83
	mov	BYTE PTR -9[rbp], 1
	jmp	.L84
.L83:
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 7
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	BYTE PTR -20[rbp], al
	movzx	eax, BYTE PTR -20[rbp]
	sub	eax, 1
	mov	BYTE PTR -19[rbp], al
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	al, BYTE PTR -19[rbp]
	or	al, BYTE PTR -20[rbp]
	mov	BYTE PTR -9[rbp], al
.L84:
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 3
	lea	esi, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -9[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Ket_StateOverwrite
	mov	eax, DWORD PTR -56[rbp]
	shr	eax, 3
	mov	ecx, eax
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 3
	lea	esi, 2[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Ket_StateOverwrite
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 7
	test	eax, eax
	jne	.L85
	mov	BYTE PTR -9[rbp], 1
	jmp	.L86
.L85:
	mov	eax, DWORD PTR -56[rbp]
	and	eax, 7
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	BYTE PTR -18[rbp], al
	movzx	eax, BYTE PTR -18[rbp]
	sub	eax, 1
	mov	BYTE PTR -17[rbp], al
	mov	eax, DWORD PTR -56[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	and	al, BYTE PTR -17[rbp]
	or	al, BYTE PTR -18[rbp]
	mov	BYTE PTR -9[rbp], al
.L86:
	mov	eax, DWORD PTR -52[rbp]
	shr	eax, 3
	mov	edx, eax
	mov	eax, DWORD PTR -56[rbp]
	shr	eax, 3
	add	eax, edx
	lea	esi, 2[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, -9[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Ket_StateOverwrite
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 24
	mov	esi, 128
	mov	rdi, rax
	call	KeccakP200_AddByte
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 12
	mov	rdi, rax
	call	KeccakP200_Permute_Nrounds
	mov	eax, 0
.L87:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L88
	call	__stack_chk_fail@PLT
.L88:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	Ketje_Initialize, .-Ketje_Initialize
	.globl	generateSimpleRawMaterial
	.type	generateSimpleRawMaterial, @function
generateSimpleRawMaterial:
.LFB21:
	.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 -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, edx
	mov	DWORD PTR -36[rbp], ecx
	mov	BYTE PTR -32[rbp], al
	mov	DWORD PTR -8[rbp], 0
	jmp	.L90
.L91:
	movzx	eax, BYTE PTR -32[rbp]
	mov	edx, DWORD PTR -8[rbp]
	imul	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -28[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -36[rbp]
	lea	ecx, [rdx+rax]
	mov	edx, ecx
	mov	eax, 2155905153
	imul	rax, rdx
	shr	rax, 32
	shr	eax, 7
	mov	edx, eax
	sal	edx, 8
	sub	edx, eax
	mov	eax, ecx
	sub	eax, edx
	mov	BYTE PTR -9[rbp], al
	mov	edx, DWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -9[rbp]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -8[rbp], 1
.L90:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jb	.L91
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	generateSimpleRawMaterial, .-generateSimpleRawMaterial
	.globl	myMin
	.type	myMin, @function
myMin:
.LFB22:
	.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	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	cmp	DWORD PTR -8[rbp], eax
	cmovbe	eax, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	myMin, .-myMin
	.globl	Ket_Step
	.type	Ket_Step, @function
Ket_Step:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, edx
	mov	BYTE PTR -16[rbp], al
	movzx	ecx, BYTE PTR -16[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	KeccakP200_AddByte
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 2
	mov	esi, 8
	mov	rdi, rax
	call	KeccakP200_AddByte
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	KeccakP200_Permute_Nrounds
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	Ket_Step, .-Ket_Step
	.globl	Ket_FeedAssociatedDataBlocks
	.type	Ket_FeedAssociatedDataBlocks, @function
Ket_FeedAssociatedDataBlocks:
.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, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
.L96:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	KeccakP200_AddByte
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	ecx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	KeccakP200_AddByte
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 4
	mov	esi, 2
	mov	rdi, rax
	call	Ket_Step
	sub	DWORD PTR -20[rbp], 1
	cmp	DWORD PTR -20[rbp], 0
	jne	.L96
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	Ket_FeedAssociatedDataBlocks, .-Ket_FeedAssociatedDataBlocks
	.globl	Ketje_FeedAssociatedData
	.type	Ketje_FeedAssociatedData, @function
Ketje_FeedAssociatedData:
.LFB25:
	.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, 1
	test	eax, eax
	jne	.L98
	mov	eax, 1
	jmp	.L99
.L98:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	cmp	eax, 2
	jbe	.L104
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L101
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	eax, edx
	sub	eax, 2
	mov	DWORD PTR -36[rbp], eax
	jmp	.L102
.L103:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rdx], ecx
	mov	rdx, QWORD PTR -32[rbp]
	lea	rcx, 1[rdx]
	mov	QWORD PTR -32[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	movzx	esi, dl
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, eax
	mov	rdi, rcx
	call	KeccakP200_AddByte
.L102:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, 2
	jne	.L103
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 4
	mov	esi, 2
	mov	rdi, rax
	call	Ket_Step
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], 0
.L101:
	cmp	DWORD PTR -36[rbp], 2
	jbe	.L104
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	and	eax, -2
	sub	eax, 2
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Ket_FeedAssociatedDataBlocks
	mov	eax, DWORD PTR -4[rbp]
	sub	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	add	QWORD PTR -32[rbp], rax
	jmp	.L104
.L105:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rdx], ecx
	mov	rdx, QWORD PTR -32[rbp]
	lea	rcx, 1[rdx]
	mov	QWORD PTR -32[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	movzx	esi, dl
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, eax
	mov	rdi, rcx
	call	KeccakP200_AddByte
.L104:
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -36[rbp], edx
	test	eax, eax
	jne	.L105
	mov	eax, 0
.L99:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	Ketje_FeedAssociatedData, .-Ketje_FeedAssociatedData
	.globl	KeccakP200_AddBytes
	.type	KeccakP200_AddBytes, @function
KeccakP200_AddBytes:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	cmp	DWORD PTR -36[rbp], 24
	jbe	.L107
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 374
	lea	rsi, .LC2[rip]
	lea	rdi, .LC3[rip]
	call	__assert_fail@PLT
.L107:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, edx
	cmp	eax, 25
	jbe	.L108
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 375
	lea	rsi, .LC2[rip]
	lea	rdi, .LC4[rip]
	call	__assert_fail@PLT
.L108:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L109
.L110:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	esi, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, esi
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -4[rbp], 1
.L109:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jb	.L110
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	KeccakP200_AddBytes, .-KeccakP200_AddBytes
	.globl	KeccakP200_ExtractBytes
	.type	KeccakP200_ExtractBytes, @function
KeccakP200_ExtractBytes:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	DWORD PTR -24[rbp], ecx
	cmp	DWORD PTR -20[rbp], 24
	jbe	.L112
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 384
	lea	rsi, .LC2[rip]
	lea	rdi, .LC3[rip]
	call	__assert_fail@PLT
.L112:
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	cmp	eax, 25
	jbe	.L113
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 385
	lea	rsi, .LC2[rip]
	lea	rdi, .LC4[rip]
	call	__assert_fail@PLT
.L113:
	mov	edx, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	KeccakP200_ExtractBytes, .-KeccakP200_ExtractBytes
	.globl	Ket_WrapBlocks
	.type	Ket_WrapBlocks, @function
Ket_WrapBlocks:
.LFB28:
	.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	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -20[rbp], 0
	mov	BYTE PTR -13[rbp], 15
	jmp	.L115
.L116:
	lea	rsi, -12[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 2
	mov	edx, 0
	mov	rdi, rax
	call	KeccakP200_ExtractBytes
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 1[rax]
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	esi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR -12[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	xor	esi, ecx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	esi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR -11[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	mov	edx, esi
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -20[rbp], 2
	lea	rsi, -10[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 2
	mov	edx, 0
	mov	rdi, rax
	call	KeccakP200_AddBytes
	lea	rsi, -13[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 1
	mov	edx, 2
	mov	rdi, rax
	call	KeccakP200_AddBytes
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	KeccakP200_Permute_Nrounds
.L115:
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -60[rbp], edx
	test	eax, eax
	jne	.L116
	mov	eax, DWORD PTR -20[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L118
	call	__stack_chk_fail@PLT
.L118:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	Ket_WrapBlocks, .-Ket_WrapBlocks
	.globl	Ket_StateExtractByte
	.type	Ket_StateExtractByte, @function
Ket_StateExtractByte:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edx, DWORD PTR -28[rbp]
	lea	rsi, -9[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	KeccakP200_ExtractBytes
	movzx	eax, BYTE PTR -9[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L121
	call	__stack_chk_fail@PLT
.L121:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	Ket_StateExtractByte, .-Ket_StateExtractByte
	.globl	Ketje_WrapPlaintext
	.type	Ketje_WrapPlaintext, @function
Ketje_WrapPlaintext:
.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	DWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, 1
	test	eax, eax
	je	.L123
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 6
	mov	esi, ecx
	mov	rdi, rax
	call	Ket_Step
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], 2
.L123:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, 2
	test	eax, eax
	jne	.L124
	mov	eax, 1
	jmp	.L125
.L124:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, edx
	cmp	eax, 2
	jbe	.L130
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L127
	jmp	.L128
.L129:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Ket_StateExtractByte
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -40[rbp], rcx
	xor	dl, BYTE PTR -9[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rdx], ecx
	movzx	esi, BYTE PTR -9[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, eax
	mov	rdi, rcx
	call	KeccakP200_AddByte
	sub	DWORD PTR -44[rbp], 1
.L128:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, 1
	jbe	.L129
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 7
	mov	esi, 2
	mov	rdi, rax
	call	Ket_Step
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], 0
.L127:
	cmp	DWORD PTR -44[rbp], 2
	jbe	.L130
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	and	eax, -2
	sub	eax, 2
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Ket_WrapBlocks
	add	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sub	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	add	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -4[rbp]
	add	QWORD PTR -40[rbp], rax
	jmp	.L130
.L131:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Ket_StateExtractByte
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -40[rbp], rcx
	xor	dl, BYTE PTR -9[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rdx], ecx
	movzx	esi, BYTE PTR -9[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, eax
	mov	rdi, rcx
	call	KeccakP200_AddByte
.L130:
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -44[rbp], edx
	test	eax, eax
	jne	.L131
	mov	eax, DWORD PTR -8[rbp]
.L125:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	Ketje_WrapPlaintext, .-Ketje_WrapPlaintext
	.globl	Ket_UnwrapBlocks
	.type	Ket_UnwrapBlocks, @function
Ket_UnwrapBlocks:
.LFB31:
	.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	BYTE PTR -11[rbp], 15
	jmp	.L133
.L134:
	lea	rsi, -10[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 2
	mov	edx, 0
	mov	rdi, rax
	call	KeccakP200_ExtractBytes
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	esi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR -10[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	xor	esi, ecx
	mov	edx, esi
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -10[rbp], al
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	movzx	esi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR -9[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	edx, esi
	xor	edx, ecx
	mov	BYTE PTR [rax], dl
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
	lea	rsi, -10[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 2
	mov	edx, 0
	mov	rdi, rax
	call	KeccakP200_AddBytes
	lea	rsi, -11[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 1
	mov	edx, 2
	mov	rdi, rax
	call	KeccakP200_AddBytes
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	KeccakP200_Permute_Nrounds
.L133:
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -44[rbp], edx
	test	eax, eax
	jne	.L134
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L135
	call	__stack_chk_fail@PLT
.L135:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	Ket_UnwrapBlocks, .-Ket_UnwrapBlocks
	.globl	Ketje_UnwrapCiphertext
	.type	Ketje_UnwrapCiphertext, @function
Ketje_UnwrapCiphertext:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, 1
	test	eax, eax
	je	.L137
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 6
	mov	esi, ecx
	mov	rdi, rax
	call	Ket_Step
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], 4
.L137:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, 4
	test	eax, eax
	jne	.L138
	mov	eax, 1
	jmp	.L139
.L138:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	cmp	eax, 2
	jbe	.L144
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L141
	jmp	.L142
.L143:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	ebx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Ket_StateExtractByte
	xor	eax, ebx
	mov	BYTE PTR -21[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	edx, BYTE PTR -21[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rdx], ecx
	movzx	esi, BYTE PTR -21[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, eax
	mov	rdi, rcx
	call	KeccakP200_AddByte
	sub	DWORD PTR -60[rbp], 1
.L142:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, 1
	jbe	.L143
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 7
	mov	esi, 2
	mov	rdi, rax
	call	Ket_Step
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], 0
.L141:
	cmp	DWORD PTR -60[rbp], 2
	jbe	.L144
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	and	eax, -2
	sub	eax, 2
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	shr	eax
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Ket_UnwrapBlocks
	mov	eax, DWORD PTR -20[rbp]
	sub	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	add	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -20[rbp]
	add	QWORD PTR -48[rbp], rax
	jmp	.L144
.L145:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	ebx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Ket_StateExtractByte
	xor	eax, ebx
	mov	BYTE PTR -21[rbp], al
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -56[rbp], rdx
	movzx	edx, BYTE PTR -21[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rdx], ecx
	movzx	esi, BYTE PTR -21[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, eax
	mov	rdi, rcx
	call	KeccakP200_AddByte
.L144:
	mov	eax, DWORD PTR -60[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -60[rbp], edx
	test	eax, eax
	jne	.L145
	mov	eax, 0
.L139:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	Ketje_UnwrapCiphertext, .-Ketje_UnwrapCiphertext
	.globl	Ketje_GetTag
	.type	Ketje_GetTag, @function
Ketje_GetTag:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, 6
	test	eax, eax
	jne	.L147
	mov	eax, 1
	jmp	.L148
.L147:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	KeccakP200_AddByte
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	mov	esi, 8
	mov	rdi, rax
	call	KeccakP200_AddByte
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	KeccakP200_Permute_Nrounds
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	DWORD PTR -24[rbp], 2
	cmp	DWORD PTR -52[rbp], 1
	ja	.L149
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -24[rbp], eax
.L149:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L150
.L151:
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR -48[rbp]
	lea	rdx, 1[rbx]
	mov	QWORD PTR -48[rbp], rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Ket_StateExtractByte
	mov	BYTE PTR [rbx], al
	add	DWORD PTR -20[rbp], 1
.L150:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jb	.L151
	mov	eax, DWORD PTR -24[rbp]
	sub	DWORD PTR -52[rbp], eax
	jmp	.L152
.L156:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	Ket_Step
	mov	DWORD PTR -24[rbp], 2
	cmp	DWORD PTR -52[rbp], 1
	ja	.L153
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -24[rbp], eax
.L153:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L154
.L155:
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR -48[rbp]
	lea	rdx, 1[rbx]
	mov	QWORD PTR -48[rbp], rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Ket_StateExtractByte
	mov	BYTE PTR [rbx], al
	add	DWORD PTR -20[rbp], 1
.L154:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jb	.L155
	mov	eax, DWORD PTR -24[rbp]
	sub	DWORD PTR -52[rbp], eax
.L152:
	cmp	DWORD PTR -52[rbp], 0
	jne	.L156
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], 1
	mov	eax, 0
.L148:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	Ketje_GetTag, .-Ketje_GetTag
	.section	.rodata
.LC5:
	.string	"%x "
	.text
	.globl	print_state
	.type	print_state, @function
print_state:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L158
.L159:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L158:
	cmp	DWORD PTR -4[rbp], 24
	jle	.L159
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	print_state, .-print_state
	.globl	print_in_hex_len
	.type	print_in_hex_len, @function
print_in_hex_len:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L161
.L162:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L161:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L162
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	print_in_hex_len, .-print_in_hex_len
	.section	.rodata
.LC6:
	.string	"w"
.LC7:
	.string	"dynamic_test_ref_Jr.txt"
.LC8:
	.string	"***\n"
	.align 8
.LC9:
	.string	"initialize with key of %u bits, nonce of %u bits:\n"
.LC10:
	.string	"key"
.LC11:
	.string	"nonce"
.LC12:
	.string	"soma: %d\n"
.LC13:
	.string	"tag1: "
.LC14:
	.string	"tag2: "
.LC15:
	.string	"associated data"
.LC16:
	.string	"plaintext"
.LC17:
	.string	"ciphertext"
.LC18:
	.string	"tag 1"
.LC19:
	.string	"tag 2"
	.align 8
.LC20:
	.string	"Log wrote to dynamic_test_ref_Jr.txt"
	.text
	.globl	dynamic_test
	.type	dynamic_test, @function
dynamic_test:
.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, 1920
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1916[rbp], 0
	mov	DWORD PTR -1900[rbp], 176
	lea	rsi, .LC6[rip]
	lea	rdi, .LC7[rip]
	call	fopen@PLT
	mov	QWORD PTR -1880[rbp], rax
	mov	eax, DWORD PTR -1900[rbp]
	mov	DWORD PTR -1916[rbp], eax
	jmp	.L164
.L180:
	mov	eax, DWORD PTR -1900[rbp]
	sub	eax, DWORD PTR -1916[rbp]
	mov	DWORD PTR -1896[rbp], eax
	mov	eax, DWORD PTR -1896[rbp]
	mov	DWORD PTR -1912[rbp], eax
	jmp	.L165
.L175:
	lea	rax, -1872[rbp]
	mov	edx, 36
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -1824[rbp]
	mov	edx, 36
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -1744[rbp]
	mov	edx, 50
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	lea	rax, -1680[rbp]
	mov	edx, 50
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -1916[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -1892[rbp], eax
	mov	eax, DWORD PTR -1912[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -1888[rbp], eax
	mov	eax, DWORD PTR -1912[rbp]
	add	eax, 18
	movzx	edx, al
	mov	esi, DWORD PTR -1892[rbp]
	lea	rax, -1744[rbp]
	mov	ecx, 200
	mov	rdi, rax
	call	generateSimpleRawMaterial
	mov	eax, DWORD PTR -1916[rbp]
	add	eax, 35
	movzx	edx, al
	mov	esi, DWORD PTR -1888[rbp]
	lea	rax, -1680[rbp]
	mov	ecx, 200
	mov	rdi, rax
	call	generateSimpleRawMaterial
	mov	edi, DWORD PTR -1912[rbp]
	mov	edx, DWORD PTR -1916[rbp]
	lea	rcx, -1680[rbp]
	lea	rsi, -1744[rbp]
	lea	rax, -1872[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	Ketje_Initialize
	mov	edi, DWORD PTR -1912[rbp]
	mov	edx, DWORD PTR -1916[rbp]
	lea	rcx, -1680[rbp]
	lea	rsi, -1744[rbp]
	lea	rax, -1824[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	Ketje_Initialize
	mov	rax, QWORD PTR -1880[rbp]
	mov	rcx, rax
	mov	edx, 4
	mov	esi, 1
	lea	rdi, .LC8[rip]
	call	fwrite@PLT
	mov	ecx, DWORD PTR -1912[rbp]
	mov	edx, DWORD PTR -1916[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -1916[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	ecx, eax
	lea	rdx, -1744[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	displayByteString
	mov	eax, DWORD PTR -1912[rbp]
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	ecx, eax
	lea	rdx, -1680[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	displayByteString
	mov	rax, QWORD PTR -1880[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	DWORD PTR -1908[rbp], 12
	jmp	.L166
.L170:
	mov	eax, 24
	sub	eax, DWORD PTR -1908[rbp]
	mov	DWORD PTR -1904[rbp], eax
	jmp	.L167
.L169:
	mov	eax, DWORD PTR -1904[rbp]
	add	eax, 52
	movzx	edx, al
	mov	esi, DWORD PTR -1908[rbp]
	lea	rax, -1616[rbp]
	mov	ecx, 3
	mov	rdi, rax
	call	generateSimpleRawMaterial
	mov	eax, DWORD PTR -1908[rbp]
	add	eax, 69
	movzx	edx, al
	mov	esi, DWORD PTR -1904[rbp]
	lea	rax, -1216[rbp]
	mov	ecx, 4
	mov	rdi, rax
	call	generateSimpleRawMaterial
	mov	edx, DWORD PTR -1908[rbp]
	lea	rcx, -1616[rbp]
	lea	rax, -1872[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Ketje_FeedAssociatedData
	mov	edx, DWORD PTR -1908[rbp]
	lea	rcx, -1616[rbp]
	lea	rax, -1824[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Ketje_FeedAssociatedData
	mov	ecx, DWORD PTR -1904[rbp]
	lea	rdx, -816[rbp]
	lea	rsi, -1216[rbp]
	lea	rax, -1872[rbp]
	mov	rdi, rax
	call	Ketje_WrapPlaintext
	mov	DWORD PTR -1884[rbp], eax
	mov	ecx, DWORD PTR -1884[rbp]
	lea	rdx, -416[rbp]
	lea	rsi, -816[rbp]
	lea	rax, -1824[rbp]
	mov	rdi, rax
	call	Ketje_UnwrapCiphertext
	lea	rcx, -1776[rbp]
	lea	rax, -1872[rbp]
	mov	edx, 16
	mov	rsi, rcx
	mov	rdi, rax
	call	Ketje_GetTag
	lea	rcx, -1760[rbp]
	lea	rax, -1824[rbp]
	mov	edx, 16
	mov	rsi, rcx
	mov	rdi, rax
	call	Ketje_GetTag
	lea	rcx, -1760[rbp]
	lea	rax, -1776[rbp]
	mov	edx, 16
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	je	.L168
	mov	edx, DWORD PTR -1908[rbp]
	mov	eax, DWORD PTR -1904[rbp]
	add	eax, edx
	mov	esi, eax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -1776[rbp]
	mov	esi, 16
	mov	rdi, rax
	call	print_in_hex_len
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -1760[rbp]
	mov	esi, 16
	mov	rdi, rax
	call	print_in_hex_len
	mov	edi, 10
	call	putchar@PLT
.L168:
	mov	ecx, DWORD PTR -1908[rbp]
	lea	rdx, -1616[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	displayByteString
	mov	ecx, DWORD PTR -1904[rbp]
	lea	rdx, -1216[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	displayByteString
	mov	ecx, DWORD PTR -1884[rbp]
	lea	rdx, -816[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	call	displayByteString
	lea	rdx, -1776[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	mov	ecx, 16
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	displayByteString
	lea	rdx, -1760[rbp]
	mov	rax, QWORD PTR -1880[rbp]
	mov	ecx, 16
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	displayByteString
	mov	rax, QWORD PTR -1880[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	sub	DWORD PTR -1904[rbp], 1
.L167:
	cmp	DWORD PTR -1904[rbp], 0
	jne	.L169
	add	DWORD PTR -1908[rbp], 1
.L166:
	cmp	DWORD PTR -1908[rbp], 19
	jbe	.L170
	cmp	DWORD PTR -1912[rbp], 128
	jle	.L171
	mov	eax, 160
	jmp	.L172
.L171:
	mov	eax, 64
.L172:
	sub	DWORD PTR -1912[rbp], eax
.L165:
	cmp	DWORD PTR -1916[rbp], 111
	jle	.L173
	mov	eax, DWORD PTR -1896[rbp]
	jmp	.L174
.L173:
	mov	eax, 0
.L174:
	cmp	eax, DWORD PTR -1912[rbp]
	jle	.L175
	cmp	DWORD PTR -1916[rbp], 200
	jg	.L176
	cmp	DWORD PTR -1916[rbp], 128
	jle	.L177
	mov	eax, 24
	jmp	.L179
.L177:
	mov	eax, 16
	jmp	.L179
.L176:
	mov	eax, 96
.L179:
	sub	DWORD PTR -1916[rbp], eax
.L164:
	cmp	DWORD PTR -1916[rbp], 95
	jg	.L180
	mov	rax, QWORD PTR -1880[rbp]
	mov	rdi, rax
	call	fclose@PLT
	lea	rdi, .LC20[rip]
	call	puts@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L181
	call	__stack_chk_fail@PLT
.L181:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	dynamic_test, .-dynamic_test
	.globl	enabled
	.bss
	.align 4
	.type	enabled, @object
	.size	enabled, 4
enabled:
	.zero	4
	.text
	.globl	get_cycles
	.type	get_cycles, @function
get_cycles:
.LFB37:
	.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], 0
	mov	eax, DWORD PTR enabled[rip]
	test	eax, eax
	jne	.L183
	mov	eax, 17
#APP
# 693 "the_stack_data/28968.c" 1
	mcr p15, 0, eax, c9, c12, 0
# 0 "" 2
#NO_APP
	mov	eax, -2147483633
#APP
# 694 "the_stack_data/28968.c" 1
	mcr p15, 0, eax, c9, c12, 1
# 0 "" 2
#NO_APP
	mov	eax, -2147483633
#APP
# 695 "the_stack_data/28968.c" 1
	mcr p15, 0, eax, c9, c12, 3
# 0 "" 2
#NO_APP
	mov	DWORD PTR enabled[rip], 1
.L183:
#APP
# 698 "the_stack_data/28968.c" 1
	mrc p15, 0, eax, c9, c13, 0
# 0 "" 2
#NO_APP
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	get_cycles, .-get_cycles
	.section	.rodata
.LC21:
	.string	"%u\n"
	.text
	.globl	main
	.type	main, @function
main:
.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, 16
	mov	DWORD PTR -4[rbp], 0
	call	get_cycles
	mov	DWORD PTR -4[rbp], eax
	mov	eax, 0
	call	dynamic_test
	call	get_cycles
	sub	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	main, .-main
	.section	.rodata
	.align 16
	.type	__PRETTY_FUNCTION__.3, @object
	.size	__PRETTY_FUNCTION__.3, 26
__PRETTY_FUNCTION__.3:
	.string	"KeccakP200_OverwriteBytes"
	.align 16
	.type	__PRETTY_FUNCTION__.2, @object
	.size	__PRETTY_FUNCTION__.2, 19
__PRETTY_FUNCTION__.2:
	.string	"KeccakP200_AddByte"
	.align 16
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 20
__PRETTY_FUNCTION__.1:
	.string	"KeccakP200_AddBytes"
	.align 16
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 24
__PRETTY_FUNCTION__.0:
	.string	"KeccakP200_ExtractBytes"
	.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	"28968.c"
	.text
	.comm	KeccakRoundConstants,18,4
	.comm	KeccakRhoOffsets,100,4
	.align	2
	.global	assert_2
	.syntax unified
	.arm
	.fpu softvfp
	.type	assert_2, %function
assert_2:
	@ 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]
	str	r1, [fp, #-12]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	assert_2, .-assert_2
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	KeccakP200_InitializeRoundConstants
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_InitializeRoundConstants, %function
KeccakP200_InitializeRoundConstants:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L9
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	strb	r3, [fp, #-21]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L3
.L7:
	ldr	r2, .L9+4
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L4
.L6:
	mov	r2, #1
	ldr	r3, [fp, #-16]
	lsl	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	sub	r3, fp, #21
	mov	r0, r3
	bl	LFSR86540
	mov	r3, r0
	cmp	r3, #0
	beq	.L5
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	bhi	.L5
	ldr	r2, .L9+4
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	mov	r1, #1
	ldr	r3, [fp, #-12]
	lsl	r3, r1, r3
	and	r3, r3, #255
	eor	r3, r3, r2
	and	r1, r3, #255
	ldr	r2, .L9+4
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
.L5:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L4:
	ldr	r3, [fp, #-16]
	cmp	r3, #6
	bls	.L6
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L3:
	ldr	r3, [fp, #-20]
	cmp	r3, #17
	bls	.L7
	nop
	ldr	r3, .L9
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L8
	bl	__stack_chk_fail
.L8:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	.LC0
	.word	KeccakRoundConstants
	.size	KeccakP200_InitializeRoundConstants, .-KeccakP200_InitializeRoundConstants
	.align	2
	.global	KeccakP200_InitializeRhoOffsets
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_InitializeRhoOffsets, %function
KeccakP200_InitializeRhoOffsets:
	@ 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
	ldr	r3, .L14
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L12
.L13:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r2, r2, #2
	mul	r3, r2, r3
	lsr	ip, r3, #1
	ldr	r2, [fp, #-24]
	ldr	r3, .L14+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-20]
	ldr	r3, .L14+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	and	r2, ip, #7
	ldr	r1, .L14
	str	r2, [r1, r3, lsl #2]
	ldr	r2, [fp, #-20]
	ldr	r3, .L14+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	lsl	r1, r3, #1
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r1, r3
	ldr	r3, .L14+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L12:
	ldr	r3, [fp, #-16]
	cmp	r3, #23
	bls	.L13
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L15:
	.align	2
.L14:
	.word	KeccakRhoOffsets
	.word	-858993459
	.size	KeccakP200_InitializeRhoOffsets, .-KeccakP200_InitializeRhoOffsets
	.align	2
	.global	LFSR86540
	.syntax unified
	.arm
	.fpu softvfp
	.type	LFSR86540, %function
LFSR86540:
	@ 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]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L17
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, #113
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
	b	.L18
.L17:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
.L18:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	LFSR86540, .-LFSR86540
	.section	.rodata
	.align	2
.LC1:
	.ascii	"%s:\000"
	.align	2
.LC2:
	.ascii	" %02x\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	displayByteString, %function
displayByteString:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	ldr	r1, .L23
	ldr	r0, [fp, #-16]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L21
.L22:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L23+4
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L21:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L22
	ldr	r1, [fp, #-16]
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L24:
	.align	2
.L23:
	.word	.LC1
	.word	.LC2
	.size	displayByteString, .-displayByteString
	.align	2
	.global	KeccakP200_Initialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_Initialize, %function
KeccakP200_Initialize:
	@ 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]
	mov	r2, #25
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	KeccakP200_Initialize, .-KeccakP200_Initialize
	.align	2
	.global	KeccakP200_StaticInitialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_StaticInitialize, %function
KeccakP200_StaticInitialize:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	KeccakP200_InitializeRoundConstants
	bl	KeccakP200_InitializeRhoOffsets
	nop
	pop	{fp, pc}
	.size	KeccakP200_StaticInitialize, .-KeccakP200_StaticInitialize
	.section	.rodata
	.align	2
.LC3:
	.ascii	"the_stack_data/28968.c\000"
	.align	2
.LC4:
	.ascii	"offset < 25\000"
	.align	2
.LC5:
	.ascii	"offset+length <= 25\000"
	.text
	.align	2
	.global	KeccakP200_OverwriteBytes
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_OverwriteBytes, %function
KeccakP200_OverwriteBytes:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #24
	bls	.L28
	ldr	r3, .L30
	mov	r2, #123
	ldr	r1, .L30+4
	ldr	r0, .L30+8
	bl	__assert_fail
.L28:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	cmp	r3, #25
	bls	.L29
	ldr	r3, .L30
	mov	r2, #124
	ldr	r1, .L30+4
	ldr	r0, .L30+12
	bl	__assert_fail
.L29:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	memcpy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L31:
	.align	2
.L30:
	.word	__PRETTY_FUNCTION__.4860
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.size	KeccakP200_OverwriteBytes, .-KeccakP200_OverwriteBytes
	.align	2
	.global	Ket_StateOverwrite
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ket_StateOverwrite, %function
Ket_StateOverwrite:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	KeccakP200_OverwriteBytes
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Ket_StateOverwrite, .-Ket_StateOverwrite
	.align	2
	.global	KeccakP200_AddByte
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_AddByte, %function
KeccakP200_AddByte:
	@ 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, #-8]
	mov	r3, r1
	str	r2, [fp, #-16]
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-16]
	cmp	r3, #24
	bls	.L34
	ldr	r3, .L35
	mov	r2, #135
	ldr	r1, .L35+4
	ldr	r0, .L35+8
	bl	__assert_fail
.L34:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r2, [fp, #-9]
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L36:
	.align	2
.L35:
	.word	__PRETTY_FUNCTION__.4872
	.word	.LC3
	.word	.LC4
	.size	KeccakP200_AddByte, .-KeccakP200_AddByte
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fromWordsToBytes, %function
fromWordsToBytes:
	@ 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]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L38
.L41:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L39
.L40:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	asr	r2, r2, r3
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L39:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L40
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L38:
	ldr	r3, [fp, #-12]
	cmp	r3, #24
	bls	.L41
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fromWordsToBytes, .-fromWordsToBytes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fromBytesToWords, %function
fromBytesToWords:
	@ 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]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L43
.L46:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L44
.L45:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	lsl	r3, r1, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r1, r3
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L44:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L45
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L43:
	ldr	r3, [fp, #-12]
	cmp	r3, #24
	bls	.L46
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	fromBytesToWords, .-fromBytesToWords
	.section	.rodata
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	theta
	.syntax unified
	.arm
	.fpu softvfp
	.type	theta, %function
theta:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, .L59
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L48
.L51:
	sub	r2, fp, #24
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L49
.L50:
	sub	r2, fp, #24
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-32]
	ldr	r3, .L59+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-28]
	ldr	r3, .L59+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, ip
	and	r1, r3, #255
	sub	r2, fp, #24
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L49:
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bls	.L50
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L48:
	ldr	r3, [fp, #-32]
	cmp	r3, #4
	bls	.L51
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L52
.L53:
	ldr	r3, [fp, #-32]
	add	r1, r3, #1
	ldr	r3, .L59+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	sub	r3, fp, #4
	add	r3, r3, r2
	ldrb	r3, [r3, #-20]	@ zero_extendqisi2
	lsl	r3, r3, #1
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-32]
	add	r1, r3, #1
	ldr	r3, .L59+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	sub	r3, fp, #4
	add	r3, r3, r2
	ldrb	r3, [r3, #-20]	@ zero_extendqisi2
	lsr	r3, r3, #7
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r0, r3, #24
	ldr	r3, [fp, #-32]
	add	r1, r3, #4
	ldr	r3, .L59+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	sub	r3, fp, #4
	add	r3, r3, r2
	ldrb	r3, [r3, #-20]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, r0
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r1, r3, #255
	sub	r2, fp, #16
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L52:
	ldr	r3, [fp, #-32]
	cmp	r3, #4
	bls	.L53
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L54
.L57:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L55
.L56:
	ldr	r1, [fp, #-32]
	ldr	r3, .L59+4
	umull	r2, r3, r1, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r0, [fp, #-28]
	ldr	r3, .L59+4
	umull	r1, r3, r0, r3
	lsr	r3, r3, #2
	mov	r1, r3
	lsl	r1, r1, #2
	add	r1, r1, r3
	sub	r3, r0, r1
	mov	r1, r3
	lsl	r1, r1, #2
	add	r1, r1, r3
	add	r1, r2, r1
	ldr	r0, [fp, #-40]
	add	r1, r0, r1
	ldrb	ip, [r1]	@ zero_extendqisi2
	sub	r0, fp, #16
	ldr	r1, [fp, #-32]
	add	r1, r0, r1
	ldrb	r0, [r1]	@ zero_extendqisi2
	mov	r1, r3
	lsl	r1, r1, #2
	add	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	eor	r2, ip, r0
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L55:
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bls	.L56
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L54:
	ldr	r3, [fp, #-32]
	cmp	r3, #4
	bls	.L57
	nop
	ldr	r3, .L59
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L58
	bl	__stack_chk_fail
.L58:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L60:
	.align	2
.L59:
	.word	.LC6
	.word	-858993459
	.size	theta, .-theta
	.align	2
	.global	rho
	.syntax unified
	.arm
	.fpu softvfp
	.type	rho, %function
rho:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L62
.L67:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L63
.L66:
	ldr	r2, [fp, #-12]
	ldr	r3, .L68
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-8]
	ldr	r3, .L68
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L68+4
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L64
	ldr	r2, [fp, #-12]
	ldr	r3, .L68
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-8]
	ldr	r3, .L68
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	ip, r3
	ldr	r2, [fp, #-12]
	ldr	r3, .L68
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-8]
	ldr	r3, .L68
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L68+4
	ldr	r3, [r2, r3, lsl #2]
	lsl	r3, ip, r3
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r2, [fp, #-12]
	ldr	r3, .L68
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-8]
	ldr	r3, .L68
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	lr, r3
	ldr	r2, [fp, #-12]
	ldr	r3, .L68
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-8]
	ldr	r3, .L68
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L68+4
	ldr	r3, [r2, r3, lsl #2]
	rsb	r3, r3, #8
	asr	r3, lr, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, ip
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	ip, r3, #255
	b	.L65
.L64:
	ldr	r2, [fp, #-12]
	ldr	r3, .L68
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-8]
	ldr	r3, .L68
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	ip, [r3]	@ zero_extendqisi2
.L65:
	ldr	r2, [fp, #-12]
	ldr	r3, .L68
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-8]
	ldr	r3, .L68
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, ip
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L63:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bls	.L66
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L62:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bls	.L67
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L69:
	.align	2
.L68:
	.word	-858993459
	.word	KeccakRhoOffsets
	.size	rho, .-rho
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	pi
	.syntax unified
	.arm
	.fpu softvfp
	.type	pi, %function
pi:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L80
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L71
.L74:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L72
.L73:
	ldr	r2, [fp, #-44]
	ldr	r3, .L80+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-40]
	ldr	r3, .L80+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-48]
	add	ip, r2, r3
	ldr	r2, [fp, #-44]
	ldr	r3, .L80+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-40]
	ldr	r3, .L80+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldrb	r2, [ip]	@ zero_extendqisi2
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L72:
	ldr	r3, [fp, #-40]
	cmp	r3, #4
	bls	.L73
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L71:
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	bls	.L74
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L75
.L78:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L76
.L77:
	ldr	r2, [fp, #-44]
	ldr	r3, .L80+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-40]
	ldr	r3, .L80+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	ip, r1, r3
	ldr	r2, [fp, #-40]
	ldr	r3, .L80+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r3, [fp, #-44]
	lsl	r0, r3, #1
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r0, r0, r3
	ldr	r3, .L80+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	sub	r2, fp, #4
	add	r2, r2, ip
	ldrb	r2, [r2, #-32]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L76:
	ldr	r3, [fp, #-40]
	cmp	r3, #4
	bls	.L77
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L75:
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	bls	.L78
	nop
	ldr	r3, .L80
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L79
	bl	__stack_chk_fail
.L79:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L81:
	.align	2
.L80:
	.word	.LC7
	.word	-858993459
	.size	pi, .-pi
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	chi
	.syntax unified
	.arm
	.fpu softvfp
	.type	chi, %function
chi:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, .L90
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L83
.L88:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L84
.L85:
	ldr	r2, [fp, #-24]
	ldr	r3, .L90+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-20]
	ldr	r3, .L90+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	ip, r3, #24
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	ldr	r3, .L90+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-20]
	ldr	r3, .L90+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	mvn	r3, r3
	lsl	r3, r3, #24
	asr	lr, r3, #24
	ldr	r3, [fp, #-24]
	add	r2, r3, #2
	ldr	r3, .L90+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-20]
	ldr	r3, .L90+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r3, r3, lr
	lsl	r3, r3, #24
	asr	r3, r3, #24
	eor	r3, r3, ip
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r1, r3, #255
	sub	r2, fp, #16
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L84:
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	bls	.L85
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L86
.L87:
	ldr	r2, [fp, #-24]
	ldr	r3, .L90+4
	umull	r1, r3, r2, r3
	lsr	r1, r3, #2
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	sub	r1, r2, r3
	ldr	r0, [fp, #-20]
	ldr	r3, .L90+4
	umull	r2, r3, r0, r3
	lsr	r2, r3, #2
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r0, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	sub	r1, fp, #16
	ldr	r2, [fp, #-24]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L86:
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	bls	.L87
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L83:
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	bls	.L88
	nop
	ldr	r3, .L90
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L89
	bl	__stack_chk_fail
.L89:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L91:
	.align	2
.L90:
	.word	.LC8
	.word	-858993459
	.size	chi, .-chi
	.align	2
	.global	iota
	.syntax unified
	.arm
	.fpu softvfp
	.type	iota, %function
iota:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, .L93
	ldr	r3, [fp, #-12]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L94:
	.align	2
.L93:
	.word	KeccakRoundConstants
	.size	iota, .-iota
	.align	2
	.global	KeccakP200Round
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200Round, %function
KeccakP200Round:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	theta
	ldr	r0, [fp, #-8]
	bl	rho
	ldr	r0, [fp, #-8]
	bl	pi
	ldr	r0, [fp, #-8]
	bl	chi
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	iota
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	KeccakP200Round, .-KeccakP200Round
	.align	2
	.global	KeccakP200OnWords
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200OnWords, %function
KeccakP200OnWords:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	rsb	r3, r3, #18
	str	r3, [fp, #-8]
	b	.L97
.L98:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	KeccakP200Round
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L97:
	ldr	r3, [fp, #-8]
	cmp	r3, #17
	bls	.L98
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	KeccakP200OnWords, .-KeccakP200OnWords
	.align	2
	.global	KeccakP200_Permute_Nrounds
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_Permute_Nrounds, %function
KeccakP200_Permute_Nrounds:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	KeccakP200OnWords
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	KeccakP200_Permute_Nrounds, .-KeccakP200_Permute_Nrounds
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Ketje_Initialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ketje_Initialize, %function
Ketje_Initialize:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L109
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	bic	r3, r3, #7
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	add	r3, r3, #2
	cmp	r3, #200
	bls	.L101
	mov	r3, #1
	b	.L107
.L101:
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #28]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #32]
	bl	KeccakP200_StaticInitialize
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	KeccakP200_Initialize
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #3
	and	r3, r3, #255
	add	r3, r3, #2
	and	r3, r3, #255
	strb	r3, [fp, #-12]
	ldr	r0, [fp, #-24]
	sub	r2, fp, #12
	mov	r3, #1
	mov	r1, #0
	bl	Ket_StateOverwrite
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #3
	ldr	r2, [fp, #-28]
	mov	r1, #1
	bl	Ket_StateOverwrite
	ldr	r3, [fp, #-32]
	and	r3, r3, #7
	cmp	r3, #0
	bne	.L103
	mov	r3, #1
	strb	r3, [fp, #-12]
	b	.L104
.L103:
	ldr	r3, [fp, #-32]
	and	r3, r3, #7
	mov	r2, #1
	lsl	r3, r2, r3
	strb	r3, [fp, #-20]
	ldrb	r3, [fp, #-20]
	sub	r3, r3, #1
	strb	r3, [fp, #-19]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-19]
	and	r3, r3, r2
	and	r2, r3, #255
	ldrb	r3, [fp, #-20]
	orr	r3, r2, r3
	and	r3, r3, #255
	strb	r3, [fp, #-12]
.L104:
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #3
	add	r1, r3, #1
	sub	r2, fp, #12
	mov	r3, #1
	bl	Ket_StateOverwrite
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-32]
	lsr	r3, r3, #3
	add	r1, r3, #2
	ldr	r3, [fp, #4]
	lsr	r3, r3, #3
	ldr	r2, [fp, #-36]
	bl	Ket_StateOverwrite
	ldr	r3, [fp, #4]
	and	r3, r3, #7
	cmp	r3, #0
	bne	.L105
	mov	r3, #1
	strb	r3, [fp, #-12]
	b	.L106
.L105:
	ldr	r3, [fp, #4]
	and	r3, r3, #7
	mov	r2, #1
	lsl	r3, r2, r3
	strb	r3, [fp, #-18]
	ldrb	r3, [fp, #-18]
	sub	r3, r3, #1
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #4]
	lsr	r3, r3, #3
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-17]
	and	r3, r3, r2
	and	r2, r3, #255
	ldrb	r3, [fp, #-18]
	orr	r3, r2, r3
	and	r3, r3, #255
	strb	r3, [fp, #-12]
.L106:
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #3
	ldr	r3, [fp, #4]
	lsr	r3, r3, #3
	add	r3, r2, r3
	add	r1, r3, #2
	sub	r2, fp, #12
	mov	r3, #1
	bl	Ket_StateOverwrite
	ldr	r3, [fp, #-24]
	mov	r2, #24
	mov	r1, #128
	mov	r0, r3
	bl	KeccakP200_AddByte
	ldr	r3, [fp, #-24]
	mov	r1, #12
	mov	r0, r3
	bl	KeccakP200_Permute_Nrounds
	mov	r3, #0
.L107:
	ldr	r2, .L109
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L108
	bl	__stack_chk_fail
.L108:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L110:
	.align	2
.L109:
	.word	.LC9
	.size	Ketje_Initialize, .-Ketje_Initialize
	.align	2
	.global	generateSimpleRawMaterial
	.syntax unified
	.arm
	.fpu softvfp
	.type	generateSimpleRawMaterial, %function
generateSimpleRawMaterial:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r3, [fp, #-36]
	mov	r3, r2
	strb	r3, [fp, #-29]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L112
.L113:
	ldrb	r2, [fp, #-29]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	mul	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	add	r1, r2, r3
	ldr	r3, .L114
	umull	r2, r3, r1, r3
	lsr	r2, r3, #7
	mov	r3, r2
	lsl	r3, r3, #8
	sub	r3, r3, r2
	sub	r2, r1, r3
	mov	r3, r2
	strb	r3, [fp, #-13]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r2, [fp, #-13]
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L112:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L113
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L115:
	.align	2
.L114:
	.word	-2139062143
	.size	generateSimpleRawMaterial, .-generateSimpleRawMaterial
	.align	2
	.global	myMin
	.syntax unified
	.arm
	.fpu softvfp
	.type	myMin, %function
myMin:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	myMin, .-myMin
	.align	2
	.global	Ket_Step
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ket_Step, %function
Ket_Step:
	@ 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, #-8]
	str	r1, [fp, #-12]
	mov	r3, r2
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	KeccakP200_AddByte
	mov	r2, #2
	mov	r1, #8
	ldr	r0, [fp, #-8]
	bl	KeccakP200_AddByte
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	KeccakP200_Permute_Nrounds
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Ket_Step, .-Ket_Step
	.align	2
	.global	Ket_FeedAssociatedDataBlocks
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ket_FeedAssociatedDataBlocks, %function
Ket_FeedAssociatedDataBlocks:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
.L120:
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	KeccakP200_AddByte
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	KeccakP200_AddByte
	mov	r2, #4
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	Ket_Step
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L120
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Ket_FeedAssociatedDataBlocks, .-Ket_FeedAssociatedDataBlocks
	.align	2
	.global	Ketje_FeedAssociatedData
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ketje_FeedAssociatedData, %function
Ketje_FeedAssociatedData:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L122
	mov	r3, #1
	b	.L123
.L122:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	cmp	r3, #2
	bls	.L128
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L125
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	sub	r3, r3, #2
	str	r3, [fp, #-24]
	b	.L126
.L127:
	ldr	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-16]
	str	r1, [r2, #32]
	mov	r2, r3
	mov	r1, ip
	bl	KeccakP200_AddByte
.L126:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	cmp	r3, #2
	bne	.L127
	ldr	r3, [fp, #-16]
	mov	r2, #4
	mov	r1, #2
	mov	r0, r3
	bl	Ket_Step
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #32]
.L125:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bls	.L128
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	bic	r3, r3, #1
	sub	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-20]
	bl	Ket_FeedAssociatedDataBlocks
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	b	.L128
.L129:
	ldr	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldrb	ip, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-16]
	str	r1, [r2, #32]
	mov	r2, r3
	mov	r1, ip
	bl	KeccakP200_AddByte
.L128:
	ldr	r3, [fp, #-24]
	sub	r2, r3, #1
	str	r2, [fp, #-24]
	cmp	r3, #0
	bne	.L129
	mov	r3, #0
.L123:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Ketje_FeedAssociatedData, .-Ketje_FeedAssociatedData
	.align	2
	.global	KeccakP200_AddBytes
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_AddBytes, %function
KeccakP200_AddBytes:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #24
	bls	.L131
	ldr	r3, .L135
	ldr	r2, .L135+4
	ldr	r1, .L135+8
	ldr	r0, .L135+12
	bl	__assert_fail
.L131:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	cmp	r3, #25
	bls	.L132
	ldr	r3, .L135
	ldr	r2, .L135+16
	ldr	r1, .L135+8
	ldr	r0, .L135+20
	bl	__assert_fail
.L132:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L133
.L134:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r0, r3
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L133:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L134
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L136:
	.align	2
.L135:
	.word	__PRETTY_FUNCTION__.5043
	.word	374
	.word	.LC3
	.word	.LC4
	.word	375
	.word	.LC5
	.size	KeccakP200_AddBytes, .-KeccakP200_AddBytes
	.align	2
	.global	KeccakP200_ExtractBytes
	.syntax unified
	.arm
	.fpu softvfp
	.type	KeccakP200_ExtractBytes, %function
KeccakP200_ExtractBytes:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #24
	bls	.L138
	ldr	r3, .L140
	mov	r2, #384
	ldr	r1, .L140+4
	ldr	r0, .L140+8
	bl	__assert_fail
.L138:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	cmp	r3, #25
	bls	.L139
	ldr	r3, .L140
	ldr	r2, .L140+12
	ldr	r1, .L140+4
	ldr	r0, .L140+16
	bl	__assert_fail
.L139:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	memcpy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L141:
	.align	2
.L140:
	.word	__PRETTY_FUNCTION__.5053
	.word	.LC3
	.word	.LC4
	.word	385
	.word	.LC5
	.size	KeccakP200_ExtractBytes, .-KeccakP200_ExtractBytes
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Ket_WrapBlocks
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ket_WrapBlocks, %function
Ket_WrapBlocks:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L147
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #15
	strb	r3, [fp, #-20]
	b	.L143
.L144:
	sub	r1, fp, #16
	mov	r3, #2
	mov	r2, #0
	ldr	r0, [fp, #-32]
	bl	KeccakP200_ExtractBytes
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3, #1]	@ zero_extendqisi2
	strb	r3, [fp, #-11]
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	str	r2, [fp, #-36]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-16]	@ zero_extendqisi2
	ldr	r3, [fp, #-40]
	add	r0, r3, #1
	str	r0, [fp, #-40]
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	str	r2, [fp, #-36]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-15]	@ zero_extendqisi2
	ldr	r3, [fp, #-40]
	add	r0, r3, #1
	str	r0, [fp, #-40]
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	str	r3, [fp, #-24]
	sub	r1, fp, #12
	mov	r3, #2
	mov	r2, #0
	ldr	r0, [fp, #-32]
	bl	KeccakP200_AddBytes
	sub	r1, fp, #20
	mov	r3, #1
	mov	r2, #2
	ldr	r0, [fp, #-32]
	bl	KeccakP200_AddBytes
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	KeccakP200_Permute_Nrounds
.L143:
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	cmp	r3, #0
	bne	.L144
	ldr	r3, [fp, #-24]
	ldr	r2, .L147
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L146
	bl	__stack_chk_fail
.L146:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L148:
	.align	2
.L147:
	.word	.LC10
	.size	Ket_WrapBlocks, .-Ket_WrapBlocks
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Ket_StateExtractByte
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ket_StateExtractByte, %function
Ket_StateExtractByte:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L152
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r1, fp, #12
	mov	r3, #1
	ldr	r2, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	KeccakP200_ExtractBytes
	ldrb	r3, [fp, #-12]	@ zero_extendqisi2
	ldr	r2, .L152
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L151
	bl	__stack_chk_fail
.L151:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L153:
	.align	2
.L152:
	.word	.LC11
	.size	Ket_StateExtractByte, .-Ket_StateExtractByte
	.align	2
	.global	Ketje_WrapPlaintext
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ketje_WrapPlaintext, %function
Ketje_WrapPlaintext:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L155
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	mov	r2, #6
	mov	r1, r3
	bl	Ket_Step
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	mov	r2, #2
	str	r2, [r3, #28]
.L155:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L156
	mov	r3, #1
	b	.L157
.L156:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	cmp	r3, #2
	bls	.L162
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L159
	b	.L160
.L161:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	mov	r1, r3
	mov	r0, r2
	bl	Ket_StateExtractByte
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r2, [fp, #-13]
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-24]
	str	r1, [r2, #32]
	ldrb	r1, [fp, #-13]	@ zero_extendqisi2
	mov	r2, r3
	bl	KeccakP200_AddByte
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
.L160:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	bls	.L161
	ldr	r3, [fp, #-24]
	mov	r2, #7
	mov	r1, #2
	mov	r0, r3
	bl	Ket_Step
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #32]
.L159:
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bls	.L162
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	bic	r3, r3, #1
	sub	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #1
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	bl	Ket_WrapBlocks
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	b	.L162
.L163:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	mov	r1, r3
	mov	r0, r2
	bl	Ket_StateExtractByte
	mov	r3, r0
	mov	r1, r3
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r2, [fp, #-13]
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-24]
	str	r1, [r2, #32]
	ldrb	r1, [fp, #-13]	@ zero_extendqisi2
	mov	r2, r3
	bl	KeccakP200_AddByte
.L162:
	ldr	r3, [fp, #-36]
	sub	r2, r3, #1
	str	r2, [fp, #-36]
	cmp	r3, #0
	bne	.L163
	ldr	r3, [fp, #-12]
.L157:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Ketje_WrapPlaintext, .-Ketje_WrapPlaintext
	.section	.rodata
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Ket_UnwrapBlocks
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ket_UnwrapBlocks, %function
Ket_UnwrapBlocks:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L168
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #15
	strb	r3, [fp, #-16]
	b	.L165
.L166:
	sub	r1, fp, #12
	mov	r3, #2
	mov	r2, #0
	ldr	r0, [fp, #-24]
	bl	KeccakP200_ExtractBytes
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-12]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	add	r0, r3, #1
	str	r0, [fp, #-32]
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-11]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	add	r0, r3, #1
	str	r0, [fp, #-32]
	eor	r2, r2, r1
	and	r2, r2, #255
	strb	r2, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-11]
	sub	r1, fp, #12
	mov	r3, #2
	mov	r2, #0
	ldr	r0, [fp, #-24]
	bl	KeccakP200_AddBytes
	sub	r1, fp, #16
	mov	r3, #1
	mov	r2, #2
	ldr	r0, [fp, #-24]
	bl	KeccakP200_AddBytes
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	KeccakP200_Permute_Nrounds
.L165:
	ldr	r3, [fp, #-36]
	sub	r2, r3, #1
	str	r2, [fp, #-36]
	cmp	r3, #0
	bne	.L166
	nop
	ldr	r3, .L168
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L167
	bl	__stack_chk_fail
.L167:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L169:
	.align	2
.L168:
	.word	.LC12
	.size	Ket_UnwrapBlocks, .-Ket_UnwrapBlocks
	.align	2
	.global	Ketje_UnwrapCiphertext
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ketje_UnwrapCiphertext, %function
Ketje_UnwrapCiphertext:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L171
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	mov	r2, #6
	mov	r1, r3
	bl	Ket_Step
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-24]
	mov	r2, #4
	str	r2, [r3, #28]
.L171:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	and	r3, r3, #4
	cmp	r3, #0
	bne	.L172
	mov	r3, #1
	b	.L173
.L172:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	cmp	r3, #2
	bls	.L178
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L175
	b	.L176
.L177:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r4, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	mov	r1, r3
	mov	r0, r2
	bl	Ket_StateExtractByte
	mov	r3, r0
	eor	r3, r3, r4
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-24]
	str	r1, [r2, #32]
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r2, r3
	bl	KeccakP200_AddByte
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
.L176:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	bls	.L177
	ldr	r3, [fp, #-24]
	mov	r2, #7
	mov	r1, #2
	mov	r0, r3
	bl	Ket_Step
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #32]
.L175:
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bls	.L178
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	bic	r3, r3, #1
	sub	r3, r3, #2
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #1
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	bl	Ket_UnwrapBlocks
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	b	.L178
.L179:
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	ldrb	r4, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	mov	r1, r3
	mov	r0, r2
	bl	Ket_StateExtractByte
	mov	r3, r0
	eor	r3, r3, r4
	strb	r3, [fp, #-17]
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldrb	r2, [fp, #-17]
	strb	r2, [r3]
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-24]
	str	r1, [r2, #32]
	ldrb	r1, [fp, #-17]	@ zero_extendqisi2
	mov	r2, r3
	bl	KeccakP200_AddByte
.L178:
	ldr	r3, [fp, #-36]
	sub	r2, r3, #1
	str	r2, [fp, #-36]
	cmp	r3, #0
	bne	.L179
	mov	r3, #0
.L173:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	Ketje_UnwrapCiphertext, .-Ketje_UnwrapCiphertext
	.align	2
	.global	Ketje_GetTag
	.syntax unified
	.arm
	.fpu softvfp
	.type	Ketje_GetTag, %function
Ketje_GetTag:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	and	r3, r3, #6
	cmp	r3, #0
	bne	.L181
	mov	r3, #1
	b	.L182
.L181:
	ldr	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	mov	r2, r3
	mov	r1, #5
	bl	KeccakP200_AddByte
	ldr	r3, [fp, #-24]
	mov	r2, #2
	mov	r1, #8
	mov	r0, r3
	bl	KeccakP200_AddByte
	ldr	r3, [fp, #-24]
	mov	r1, #6
	mov	r0, r3
	bl	KeccakP200_Permute_Nrounds
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #32]
	mov	r3, #2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bhi	.L183
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
.L183:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L184
.L185:
	ldr	r2, [fp, #-24]
	ldr	r4, [fp, #-28]
	add	r3, r4, #1
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-16]
	mov	r0, r2
	bl	Ket_StateExtractByte
	mov	r3, r0
	strb	r3, [r4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L184:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L185
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	b	.L186
.L190:
	ldr	r3, [fp, #-24]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	Ket_Step
	mov	r3, #2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bhi	.L187
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
.L187:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L188
.L189:
	ldr	r2, [fp, #-24]
	ldr	r4, [fp, #-28]
	add	r3, r4, #1
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-16]
	mov	r0, r2
	bl	Ket_StateExtractByte
	mov	r3, r0
	strb	r3, [r4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L188:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L189
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
.L186:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L190
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #28]
	mov	r3, #0
.L182:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	Ketje_GetTag, .-Ketje_GetTag
	.section	.rodata
	.align	2
.LC13:
	.ascii	"%x \000"
	.text
	.align	2
	.global	print_state
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_state, %function
print_state:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L192
.L193:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L194
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L192:
	ldr	r3, [fp, #-8]
	cmp	r3, #24
	ble	.L193
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L195:
	.align	2
.L194:
	.word	.LC13
	.size	print_state, .-print_state
	.align	2
	.global	print_in_hex_len
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_in_hex_len, %function
print_in_hex_len:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L197
.L198:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L199
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L197:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L198
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L200:
	.align	2
.L199:
	.word	.LC13
	.size	print_in_hex_len, .-print_in_hex_len
	.section	.rodata
	.align	2
.LC14:
	.ascii	"w\000"
	.align	2
.LC15:
	.ascii	"dynamic_test_ref_Jr.txt\000"
	.align	2
.LC16:
	.ascii	"***\012\000"
	.align	2
.LC17:
	.ascii	"initialize with key of %u bits, nonce of %u bits:\012"
	.ascii	"\000"
	.align	2
.LC18:
	.ascii	"key\000"
	.align	2
.LC19:
	.ascii	"nonce\000"
	.align	2
.LC20:
	.ascii	"soma: %d\012\000"
	.align	2
.LC21:
	.ascii	"tag1: \000"
	.align	2
.LC22:
	.ascii	"tag2: \000"
	.align	2
.LC23:
	.ascii	"associated data\000"
	.align	2
.LC24:
	.ascii	"plaintext\000"
	.align	2
.LC25:
	.ascii	"ciphertext\000"
	.align	2
.LC26:
	.ascii	"tag 1\000"
	.align	2
.LC27:
	.ascii	"tag 2\000"
	.align	2
.LC28:
	.ascii	"Log wrote to dynamic_test_ref_Jr.txt\000"
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dynamic_test
	.syntax unified
	.arm
	.fpu softvfp
	.type	dynamic_test, %function
dynamic_test:
	@ args = 0, pretend = 0, frame = 1856
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1856
	sub	sp, sp, #8
	ldr	r3, .L220
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1856]
	mov	r3, #176
	str	r3, [fp, #-1840]
	ldr	r1, .L220+4
	ldr	r0, .L220+8
	bl	fopen
	str	r0, [fp, #-1836]
	ldr	r3, [fp, #-1840]
	str	r3, [fp, #-1856]
	b	.L202
.L218:
	ldr	r2, [fp, #-1840]
	ldr	r3, [fp, #-1856]
	sub	r3, r2, r3
	str	r3, [fp, #-1832]
	ldr	r3, [fp, #-1832]
	str	r3, [fp, #-1852]
	b	.L203
.L213:
	sub	r3, fp, #1808
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #36
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #1776
	sub	r3, r3, #4
	mov	r2, #36
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #1696
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #50
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #1648
	sub	r3, r3, #4
	sub	r3, r3, #8
	mov	r2, #50
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-1856]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-1828]
	ldr	r3, [fp, #-1852]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-1824]
	ldr	r3, [fp, #-1852]
	and	r3, r3, #255
	add	r3, r3, #18
	and	r2, r3, #255
	sub	r0, fp, #1696
	sub	r0, r0, #4
	sub	r0, r0, #12
	mov	r3, #200
	ldr	r1, [fp, #-1828]
	bl	generateSimpleRawMaterial
	ldr	r3, [fp, #-1856]
	and	r3, r3, #255
	add	r3, r3, #35
	and	r2, r3, #255
	sub	r0, fp, #1648
	sub	r0, r0, #4
	sub	r0, r0, #8
	mov	r3, #200
	ldr	r1, [fp, #-1824]
	bl	generateSimpleRawMaterial
	ldr	ip, [fp, #-1856]
	ldr	r2, [fp, #-1852]
	sub	r3, fp, #1648
	sub	r3, r3, #4
	sub	r3, r3, #8
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #4
	str	r2, [sp]
	mov	r2, ip
	bl	Ketje_Initialize
	ldr	ip, [fp, #-1856]
	ldr	r2, [fp, #-1852]
	sub	r3, fp, #1648
	sub	r3, r3, #4
	sub	r3, r3, #8
	sub	r1, fp, #1696
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r0, fp, #1776
	sub	r0, r0, #4
	str	r2, [sp]
	mov	r2, ip
	bl	Ketje_Initialize
	ldr	r3, [fp, #-1836]
	mov	r2, #4
	mov	r1, #1
	ldr	r0, .L220+12
	bl	fwrite
	ldr	r3, [fp, #-1852]
	ldr	r2, [fp, #-1856]
	ldr	r1, .L220+16
	ldr	r0, [fp, #-1836]
	bl	fprintf
	ldr	r3, [fp, #-1856]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	sub	r2, fp, #1696
	sub	r2, r2, #4
	sub	r2, r2, #12
	ldr	r1, .L220+20
	ldr	r0, [fp, #-1836]
	bl	displayByteString
	ldr	r3, [fp, #-1852]
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	sub	r2, fp, #1648
	sub	r2, r2, #4
	sub	r2, r2, #8
	ldr	r1, .L220+24
	ldr	r0, [fp, #-1836]
	bl	displayByteString
	ldr	r1, [fp, #-1836]
	mov	r0, #10
	bl	fputc
	mov	r3, #12
	str	r3, [fp, #-1848]
	b	.L204
.L208:
	ldr	r3, [fp, #-1848]
	rsb	r3, r3, #24
	str	r3, [fp, #-1844]
	b	.L205
.L207:
	ldr	r3, [fp, #-1844]
	and	r3, r3, #255
	add	r3, r3, #52
	and	r2, r3, #255
	sub	r0, fp, #1600
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	r3, #3
	ldr	r1, [fp, #-1848]
	bl	generateSimpleRawMaterial
	ldr	r3, [fp, #-1848]
	and	r3, r3, #255
	add	r3, r3, #69
	and	r2, r3, #255
	sub	r0, fp, #1200
	sub	r0, r0, #4
	sub	r0, r0, #4
	mov	r3, #4
	ldr	r1, [fp, #-1844]
	bl	generateSimpleRawMaterial
	sub	r1, fp, #1600
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r3, fp, #1808
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-1848]
	mov	r0, r3
	bl	Ketje_FeedAssociatedData
	sub	r3, fp, #1600
	sub	r3, r3, #4
	sub	r3, r3, #4
	sub	r0, fp, #1776
	sub	r0, r0, #4
	ldr	r2, [fp, #-1848]
	mov	r1, r3
	bl	Ketje_FeedAssociatedData
	sub	r2, fp, #808
	sub	r1, fp, #1200
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r0, fp, #1808
	sub	r0, r0, #4
	sub	r0, r0, #4
	ldr	r3, [fp, #-1844]
	bl	Ketje_WrapPlaintext
	str	r0, [fp, #-1820]
	sub	r2, fp, #408
	sub	r1, fp, #808
	sub	r0, fp, #1776
	sub	r0, r0, #4
	ldr	r3, [fp, #-1820]
	bl	Ketje_UnwrapCiphertext
	sub	r1, fp, #1728
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r3, fp, #1808
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #16
	mov	r0, r3
	bl	Ketje_GetTag
	sub	r3, fp, #1712
	sub	r3, r3, #4
	sub	r3, r3, #12
	sub	r0, fp, #1776
	sub	r0, r0, #4
	mov	r2, #16
	mov	r1, r3
	bl	Ketje_GetTag
	sub	r1, fp, #1712
	sub	r1, r1, #4
	sub	r1, r1, #12
	sub	r3, fp, #1728
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #16
	mov	r0, r3
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L206
	ldr	r2, [fp, #-1848]
	ldr	r3, [fp, #-1844]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, .L220+28
	bl	printf
	ldr	r0, .L220+32
	bl	printf
	sub	r3, fp, #1728
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r1, #16
	mov	r0, r3
	bl	print_in_hex_len
	ldr	r0, .L220+36
	bl	printf
	sub	r3, fp, #1712
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r1, #16
	mov	r0, r3
	bl	print_in_hex_len
	mov	r0, #10
	bl	putchar
.L206:
	sub	r2, fp, #1600
	sub	r2, r2, #4
	sub	r2, r2, #4
	ldr	r3, [fp, #-1848]
	ldr	r1, .L220+40
	ldr	r0, [fp, #-1836]
	bl	displayByteString
	sub	r2, fp, #1200
	sub	r2, r2, #4
	sub	r2, r2, #4
	ldr	r3, [fp, #-1844]
	ldr	r1, .L220+44
	ldr	r0, [fp, #-1836]
	bl	displayByteString
	sub	r2, fp, #808
	ldr	r3, [fp, #-1820]
	ldr	r1, .L220+48
	ldr	r0, [fp, #-1836]
	bl	displayByteString
	sub	r2, fp, #1728
	sub	r2, r2, #4
	sub	r2, r2, #12
	mov	r3, #16
	ldr	r1, .L220+52
	ldr	r0, [fp, #-1836]
	bl	displayByteString
	sub	r2, fp, #1712
	sub	r2, r2, #4
	sub	r2, r2, #12
	mov	r3, #16
	ldr	r1, .L220+56
	ldr	r0, [fp, #-1836]
	bl	displayByteString
	ldr	r1, [fp, #-1836]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-1844]
	sub	r3, r3, #1
	str	r3, [fp, #-1844]
.L205:
	ldr	r3, [fp, #-1844]
	cmp	r3, #0
	bne	.L207
	ldr	r3, [fp, #-1848]
	add	r3, r3, #1
	str	r3, [fp, #-1848]
.L204:
	ldr	r3, [fp, #-1848]
	cmp	r3, #19
	bls	.L208
	ldr	r3, [fp, #-1852]
	cmp	r3, #128
	ble	.L209
	mov	r3, #160
	b	.L210
.L209:
	mov	r3, #64
.L210:
	ldr	r2, [fp, #-1852]
	sub	r3, r2, r3
	str	r3, [fp, #-1852]
.L203:
	ldr	r3, [fp, #-1856]
	cmp	r3, #111
	ble	.L211
	ldr	r3, [fp, #-1832]
	b	.L212
.L211:
	mov	r3, #0
.L212:
	ldr	r2, [fp, #-1852]
	cmp	r3, r2
	ble	.L213
	ldr	r3, [fp, #-1856]
	cmp	r3, #200
	bgt	.L214
	ldr	r3, [fp, #-1856]
	cmp	r3, #128
	ble	.L215
	mov	r3, #24
	b	.L217
.L215:
	mov	r3, #16
	b	.L217
.L214:
	mov	r3, #96
.L217:
	ldr	r2, [fp, #-1856]
	sub	r3, r2, r3
	str	r3, [fp, #-1856]
.L202:
	ldr	r3, [fp, #-1856]
	cmp	r3, #95
	bgt	.L218
	ldr	r0, [fp, #-1836]
	bl	fclose
	ldr	r0, .L220+60
	bl	puts
	nop
	ldr	r3, .L220
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L219
	bl	__stack_chk_fail
.L219:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L221:
	.align	2
.L220:
	.word	.LC29
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.size	dynamic_test, .-dynamic_test
	.global	enabled
	.bss
	.align	2
	.type	enabled, %object
	.size	enabled, 4
enabled:
	.space	4
	.text
	.align	2
	.global	get_cycles
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_cycles, %function
get_cycles:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L225
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L223
	mov	r3, #17
	.syntax divided
@ 693 "the_stack_data/28968.c" 1
	mcr p15, 0, r3, c9, c12, 0
@ 0 "" 2
	.arm
	.syntax unified
	mov	r3, #-2147483633
	.syntax divided
@ 694 "the_stack_data/28968.c" 1
	mcr p15, 0, r3, c9, c12, 1
@ 0 "" 2
	.arm
	.syntax unified
	mov	r3, #-2147483633
	.syntax divided
@ 695 "the_stack_data/28968.c" 1
	mcr p15, 0, r3, c9, c12, 3
@ 0 "" 2
	.arm
	.syntax unified
	ldr	r3, .L225
	mov	r2, #1
	str	r2, [r3]
.L223:
	.syntax divided
@ 698 "the_stack_data/28968.c" 1
	mrc p15, 0, r3, c9, c13, 0
@ 0 "" 2
	.arm
	.syntax unified
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L226:
	.align	2
.L225:
	.word	enabled
	.size	get_cycles, .-get_cycles
	.section	.rodata
	.align	2
.LC30:
	.ascii	"%u\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	bl	get_cycles
	str	r0, [fp, #-8]
	bl	dynamic_test
	bl	get_cycles
	mov	r2, r0
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, .L229
	bl	printf
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L230:
	.align	2
.L229:
	.word	.LC30
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.4860, %object
	.size	__PRETTY_FUNCTION__.4860, 26
__PRETTY_FUNCTION__.4860:
	.ascii	"KeccakP200_OverwriteBytes\000"
	.align	2
	.type	__PRETTY_FUNCTION__.4872, %object
	.size	__PRETTY_FUNCTION__.4872, 19
__PRETTY_FUNCTION__.4872:
	.ascii	"KeccakP200_AddByte\000"
	.align	2
	.type	__PRETTY_FUNCTION__.5043, %object
	.size	__PRETTY_FUNCTION__.5043, 20
__PRETTY_FUNCTION__.5043:
	.ascii	"KeccakP200_AddBytes\000"
	.align	2
	.type	__PRETTY_FUNCTION__.5053, %object
	.size	__PRETTY_FUNCTION__.5053, 24
__PRETTY_FUNCTION__.5053:
	.ascii	"KeccakP200_ExtractBytes\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
