	.file	"20079.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
.LC0:
	.string	"\n\t.align\t2"
.LC1:
	.string	"\t.global\t%s\n"
.LC2:
	.string	"\t.thumb"
.LC3:
	.string	"\t.thumb_func"
.LC4:
	.string	"\t.type\t%s, %%function\n"
.LC5:
	.string	"%s:\n"
	.text
	.type	function_header, @function
function_header:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, .LC3[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	function_header, .-function_header
	.section	.rodata
.LC6:
	.string	"\t.size\t%s, .-%s\n"
	.text
	.type	function_footer, @function
function_footer:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	function_footer, .-function_footer
	.type	is_low_reg, @function
is_low_reg:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 114
	jne	.L4
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	rdi, rax
	call	atoi@PLT
	cmp	eax, 7
	jg	.L4
	mov	eax, 1
	jmp	.L6
.L4:
	mov	eax, 0
.L6:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	is_low_reg, .-is_low_reg
	.section	.rodata
.LC7:
	.string	"\t%ss\t%s, %s\n"
.LC8:
	.string	"\t%s\t%s, %s\n"
	.text
	.type	binop, @function
binop:
.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, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	is_low_reg
	test	eax, eax
	je	.L8
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	is_low_reg
	test	eax, eax
	je	.L8
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L9
.L8:
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L9:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	binop, .-binop
	.section	.rodata
.LC9:
	.string	"\tbics\t%s, %s\n"
.LC10:
	.string	"\tbic\t%s, %s, %s\n"
	.text
	.type	bic, @function
bic:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L11
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	is_low_reg
	test	eax, eax
	je	.L11
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	is_low_reg
	test	eax, eax
	je	.L11
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L12
.L11:
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L12:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	bic, .-bic
	.section	.rodata
.LC11:
	.string	"r1"
.LC12:
	.string	"r2"
.LC13:
	.string	"r3"
.LC14:
	.string	"r4"
.LC15:
	.string	"r5"
.LC16:
	.string	"r6"
.LC17:
	.string	"r7"
.LC18:
	.string	"r8"
.LC19:
	.string	"r9"
.LC20:
	.string	"r10"
.LC21:
	.string	"fp"
.LC22:
	.string	"lr"
.LC23:
	.string	"r0"
.LC24:
	.string	"ip"
	.align 8
.LC25:
	.string	"\tpush\t{r4, r5, r6, r7, r8, r9, r10, fp, lr}"
.LC26:
	.string	"\tldr\t%s, [r0, #%d]\n"
.LC27:
	.string	"\tpush\t{r0}"
.LC28:
	.string	"\teor\t%s, %s, %s\n"
.LC29:
	.string	"eor"
.LC30:
	.string	"\tror\t%s, %s, #18\n"
.LC31:
	.string	"\teor\t%s, %s, %s, ror #9\n"
.LC32:
	.string	"\tror\t%s, %s, #21\n"
.LC33:
	.string	"\teor\t%s, %s, #%d\n"
.LC34:
	.string	"\tror\t%s, %s, #31\n"
.LC35:
	.string	"\tror\t%s, %s, #24\n"
.LC36:
	.string	"\tpop\t{r0}"
.LC37:
	.string	"\tstr\t%s, [r0, #%d]\n"
	.align 8
.LC38:
	.string	"\tpop\t{r4, r5, r6, r7, r8, r9, r10, fp, pc}"
	.text
	.type	gen_xoodoo_permute, @function
gen_xoodoo_permute:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	lea	rax, .LC11[rip]
	mov	QWORD PTR -112[rbp], rax
	lea	rax, .LC12[rip]
	mov	QWORD PTR -104[rbp], rax
	lea	rax, .LC13[rip]
	mov	QWORD PTR -96[rbp], rax
	lea	rax, .LC14[rip]
	mov	QWORD PTR -88[rbp], rax
	lea	rax, .LC15[rip]
	mov	QWORD PTR -80[rbp], rax
	lea	rax, .LC16[rip]
	mov	QWORD PTR -72[rbp], rax
	lea	rax, .LC17[rip]
	mov	QWORD PTR -64[rbp], rax
	lea	rax, .LC18[rip]
	mov	QWORD PTR -56[rbp], rax
	lea	rax, .LC19[rip]
	mov	QWORD PTR -48[rbp], rax
	lea	rax, .LC20[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, .LC21[rip]
	mov	QWORD PTR -32[rbp], rax
	lea	rax, .LC22[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, .LC23[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, .LC24[rip]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, .LC25[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 4
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, 8
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 12
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, 16
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 20
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 24
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 28
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 32
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 36
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 40
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 44
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	DWORD PTR -132[rbp], 0
	jmp	.L14
.L15:
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rcx, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, rc.0[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -112[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	bic
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	call	binop
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -40[rbp], rax
	add	DWORD PTR -132[rbp], 1
.L14:
	cmp	DWORD PTR -132[rbp], 11
	jle	.L15
	lea	rdi, .LC36[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, 0
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 4
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, 8
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 12
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, 16
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 20
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 24
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 28
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 32
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 36
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 40
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 44
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC38[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	gen_xoodoo_permute, .-gen_xoodoo_permute
	.section	.rodata
	.align 8
.LC39:
	.string	"#if defined(__ARM_ARCH_ISA_THUMB) && __ARM_ARCH == 7"
.LC40:
	.string	"\t.syntax unified"
.LC41:
	.string	"\t.text"
.LC42:
	.string	"xoodoo_permute"
.LC43:
	.string	"#endif"
	.text
	.globl	main
	.type	main, @function
main:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	lea	rdi, .LC39[rip]
	call	puts@PLT
	lea	rdi, .LC40[rip]
	call	puts@PLT
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, .LC41[rip]
	call	puts@PLT
	lea	rdi, .LC42[rip]
	call	function_header
	call	gen_xoodoo_permute
	lea	rdi, .LC42[rip]
	call	function_footer
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC43[rip]
	call	puts@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	main, .-main
	.section	.rodata
	.align 32
	.type	rc.0, @object
	.size	rc.0, 48
rc.0:
	.long	88
	.long	56
	.long	960
	.long	208
	.long	288
	.long	20
	.long	96
	.long	44
	.long	896
	.long	240
	.long	416
	.long	18
	.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	"20079.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012\011.align\0112\000"
	.align	2
.LC1:
	.ascii	"\011.global\011%s\012\000"
	.align	2
.LC2:
	.ascii	"\011.thumb\000"
	.align	2
.LC3:
	.ascii	"\011.thumb_func\000"
	.align	2
.LC4:
	.ascii	"\011.type\011%s, %%function\012\000"
	.align	2
.LC5:
	.ascii	"%s:\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	function_header, %function
function_header:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, .L2
	bl	puts
	ldr	r1, [fp, #-8]
	ldr	r0, .L2+4
	bl	printf
	ldr	r0, .L2+8
	bl	puts
	ldr	r0, .L2+12
	bl	puts
	ldr	r1, [fp, #-8]
	ldr	r0, .L2+16
	bl	printf
	ldr	r1, [fp, #-8]
	ldr	r0, .L2+20
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3:
	.align	2
.L2:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.size	function_header, .-function_header
	.section	.rodata
	.align	2
.LC6:
	.ascii	"\011.size\011%s, .-%s\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	function_footer, %function
function_footer:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, .L5
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L6:
	.align	2
.L5:
	.word	.LC6
	.size	function_footer, .-function_footer
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_low_reg, %function
is_low_reg:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #114
	bne	.L8
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	cmp	r3, #7
	bgt	.L8
	mov	r3, #1
	b	.L10
.L8:
	mov	r3, #0
.L10:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	is_low_reg, .-is_low_reg
	.section	.rodata
	.align	2
.LC7:
	.ascii	"\011%ss\011%s, %s\012\000"
	.align	2
.LC8:
	.ascii	"\011%s\011%s, %s\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binop, %function
binop:
	@ 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]
	ldr	r0, [fp, #-12]
	bl	is_low_reg
	mov	r3, r0
	cmp	r3, #0
	beq	.L12
	ldr	r0, [fp, #-16]
	bl	is_low_reg
	mov	r3, r0
	cmp	r3, #0
	beq	.L12
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, .L14
	bl	printf
	b	.L13
.L12:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, .L14+4
	bl	printf
	nop
.L13:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L15:
	.align	2
.L14:
	.word	.LC7
	.word	.LC8
	.size	binop, .-binop
	.section	.rodata
	.align	2
.LC9:
	.ascii	"\011bics\011%s, %s\012\000"
	.align	2
.LC10:
	.ascii	"\011bic\011%s, %s, %s\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bic, %function
bic:
	@ 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]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L17
	ldr	r0, [fp, #-12]
	bl	is_low_reg
	mov	r3, r0
	cmp	r3, #0
	beq	.L17
	ldr	r0, [fp, #-16]
	bl	is_low_reg
	mov	r3, r0
	cmp	r3, #0
	beq	.L17
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, .L19
	bl	printf
	b	.L18
.L17:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, .L19+4
	bl	printf
	nop
.L18:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	.LC9
	.word	.LC10
	.size	bic, .-bic
	.section	.rodata
	.align	2
.LC11:
	.ascii	"r1\000"
	.align	2
.LC12:
	.ascii	"r2\000"
	.align	2
.LC13:
	.ascii	"r3\000"
	.align	2
.LC14:
	.ascii	"r4\000"
	.align	2
.LC15:
	.ascii	"r5\000"
	.align	2
.LC16:
	.ascii	"r6\000"
	.align	2
.LC17:
	.ascii	"r7\000"
	.align	2
.LC18:
	.ascii	"r8\000"
	.align	2
.LC19:
	.ascii	"r9\000"
	.align	2
.LC20:
	.ascii	"r10\000"
	.align	2
.LC21:
	.ascii	"fp\000"
	.align	2
.LC22:
	.ascii	"lr\000"
	.align	2
.LC23:
	.ascii	"r0\000"
	.align	2
.LC24:
	.ascii	"ip\000"
	.align	2
.LC25:
	.ascii	"\011push\011{r4, r5, r6, r7, r8, r9, r10, fp, lr}\000"
	.align	2
.LC26:
	.ascii	"\011ldr\011%s, [r0, #%d]\012\000"
	.align	2
.LC27:
	.ascii	"\011push\011{r0}\000"
	.align	2
.LC28:
	.ascii	"\011eor\011%s, %s, %s\012\000"
	.align	2
.LC29:
	.ascii	"eor\000"
	.align	2
.LC30:
	.ascii	"\011ror\011%s, %s, #18\012\000"
	.align	2
.LC31:
	.ascii	"\011eor\011%s, %s, %s, ror #9\012\000"
	.align	2
.LC32:
	.ascii	"\011ror\011%s, %s, #21\012\000"
	.align	2
.LC33:
	.ascii	"\011eor\011%s, %s, #%d\012\000"
	.align	2
.LC34:
	.ascii	"\011ror\011%s, %s, #31\012\000"
	.align	2
.LC35:
	.ascii	"\011ror\011%s, %s, #24\012\000"
	.align	2
.LC36:
	.ascii	"\011pop\011{r0}\000"
	.align	2
.LC37:
	.ascii	"\011str\011%s, [r0, #%d]\012\000"
	.align	2
.LC38:
	.ascii	"\011pop\011{r4, r5, r6, r7, r8, r9, r10, fp, pc}\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_xoodoo_permute, %function
gen_xoodoo_permute:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	ldr	r3, .L24
	str	r3, [fp, #-60]
	ldr	r3, .L24+4
	str	r3, [fp, #-56]
	ldr	r3, .L24+8
	str	r3, [fp, #-52]
	ldr	r3, .L24+12
	str	r3, [fp, #-48]
	ldr	r3, .L24+16
	str	r3, [fp, #-44]
	ldr	r3, .L24+20
	str	r3, [fp, #-40]
	ldr	r3, .L24+24
	str	r3, [fp, #-36]
	ldr	r3, .L24+28
	str	r3, [fp, #-32]
	ldr	r3, .L24+32
	str	r3, [fp, #-28]
	ldr	r3, .L24+36
	str	r3, [fp, #-24]
	ldr	r3, .L24+40
	str	r3, [fp, #-20]
	ldr	r3, .L24+44
	str	r3, [fp, #-16]
	ldr	r3, .L24+48
	str	r3, [fp, #-12]
	ldr	r3, .L24+52
	str	r3, [fp, #-8]
	ldr	r0, .L24+56
	bl	puts
	ldr	r3, [fp, #-60]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-56]
	mov	r2, #4
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-52]
	mov	r2, #8
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-48]
	mov	r2, #12
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-44]
	mov	r2, #16
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-40]
	mov	r2, #20
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-36]
	mov	r2, #24
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-32]
	mov	r2, #28
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-28]
	mov	r2, #32
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-24]
	mov	r2, #36
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-20]
	mov	r2, #40
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r3, [fp, #-16]
	mov	r2, #44
	mov	r1, r3
	ldr	r0, .L24+60
	bl	printf
	ldr	r0, .L24+64
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L22
.L23:
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	ldr	r0, .L24+68
	bl	printf
	ldr	r1, [fp, #-8]
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-44]
	ldr	r0, .L24+68
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+76
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+76
	bl	printf
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r0, .L24+80
	bl	printf
	ldr	r1, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r0, .L24+80
	bl	printf
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-40]
	ldr	r0, .L24+68
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+76
	bl	printf
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r0, .L24+80
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r1, [fp, #-8]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-36]
	ldr	r0, .L24+68
	bl	printf
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+76
	bl	printf
	ldr	r1, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r0, .L24+80
	bl	printf
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, .L24+84
	bl	printf
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, .L24+84
	bl	printf
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, .L24+84
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L24+84
	bl	printf
	ldr	r1, [fp, #-60]
	ldr	r2, [fp, #-60]
	ldr	r0, .L24+88
	ldr	r3, [fp, #-72]
	ldr	r3, [r0, r3, lsl #2]
	ldr	r0, .L24+92
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-28]
	ldr	r2, [fp, #-44]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-60]
	ldr	r2, [fp, #-28]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-44]
	ldr	r2, [fp, #-60]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-24]
	ldr	r2, [fp, #-40]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-56]
	ldr	r2, [fp, #-24]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-40]
	ldr	r2, [fp, #-56]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r2, [fp, #-36]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-52]
	ldr	r2, [fp, #-20]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-36]
	ldr	r2, [fp, #-52]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-16]
	ldr	r2, [fp, #-32]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-12]
	ldr	r1, [fp, #-48]
	ldr	r2, [fp, #-16]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-32]
	ldr	r2, [fp, #-48]
	mov	r0, r3
	bl	bic
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L24+72
	bl	binop
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	mov	r1, r3
	ldr	r0, .L24+96
	bl	printf
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	mov	r1, r3
	ldr	r0, .L24+96
	bl	printf
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-36]
	mov	r1, r3
	ldr	r0, .L24+96
	bl	printf
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, .L24+96
	bl	printf
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, .L24+100
	bl	printf
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, .L24+100
	bl	printf
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, .L24+100
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L24+100
	bl	printf
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L22:
	ldr	r3, [fp, #-72]
	cmp	r3, #11
	ble	.L23
	ldr	r0, .L24+104
	bl	puts
	ldr	r3, [fp, #-60]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-56]
	mov	r2, #4
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-52]
	mov	r2, #8
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-48]
	mov	r2, #12
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-44]
	mov	r2, #16
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-40]
	mov	r2, #20
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-36]
	mov	r2, #24
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-32]
	mov	r2, #28
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-28]
	mov	r2, #32
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-24]
	mov	r2, #36
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-20]
	mov	r2, #40
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r3, [fp, #-16]
	mov	r2, #44
	mov	r1, r3
	ldr	r0, .L24+108
	bl	printf
	ldr	r0, .L24+112
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L25:
	.align	2
.L24:
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.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
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	rc.5333
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.size	gen_xoodoo_permute, .-gen_xoodoo_permute
	.section	.rodata
	.align	2
.LC39:
	.ascii	"#if defined(__ARM_ARCH_ISA_THUMB) && __ARM_ARCH == "
	.ascii	"7\000"
	.align	2
.LC40:
	.ascii	"\011.syntax unified\000"
	.align	2
.LC41:
	.ascii	"\011.text\000"
	.align	2
.LC42:
	.ascii	"xoodoo_permute\000"
	.align	2
.LC43:
	.ascii	"#endif\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
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, .L28
	bl	puts
	ldr	r0, .L28+4
	bl	puts
	ldr	r0, .L28+8
	bl	puts
	ldr	r0, .L28+12
	bl	puts
	ldr	r0, .L28+16
	bl	function_header
	bl	gen_xoodoo_permute
	ldr	r0, .L28+16
	bl	function_footer
	mov	r0, #10
	bl	putchar
	ldr	r0, .L28+20
	bl	puts
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L29:
	.align	2
.L28:
	.word	.LC39
	.word	.LC40
	.word	.LC2
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	rc.5333, %object
	.size	rc.5333, 48
rc.5333:
	.word	88
	.word	56
	.word	960
	.word	208
	.word	288
	.word	20
	.word	96
	.word	44
	.word	896
	.word	240
	.word	416
	.word	18
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
