	.file	"828347.c"
	.intel_syntax noprefix
	.text
	.globl	Ceor
	.bss
	.align 8
	.type	Ceor, @object
	.size	Ceor, 8
Ceor:
	.zero	8
	.globl	Csum
	.align 8
	.type	Csum, @object
	.size	Csum, 8
Csum:
	.zero	8
	.globl	Crot
	.align 8
	.type	Crot, @object
	.size	Crot, 8
Crot:
	.zero	8
	.globl	ccount
	.align 8
	.type	ccount, @object
	.size	ccount, 8
ccount:
	.zero	8
	.globl	bcount
	.align 8
	.type	bcount, @object
	.size	bcount, 8
bcount:
	.zero	8
	.globl	word
	.align 8
	.type	word, @object
	.size	word, 8
word:
	.zero	8
	.text
	.globl	encode
	.type	encode, @function
encode:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	movsx	rcx, eax
	mov	rdx, QWORD PTR Ceor[rip]
	xor	rdx, rcx
	mov	QWORD PTR Ceor[rip], rdx
	movsx	rcx, eax
	mov	rdx, QWORD PTR Csum[rip]
	add	rdx, rcx
	mov	QWORD PTR Csum[rip], rdx
	mov	rdx, QWORD PTR Csum[rip]
	add	rdx, 1
	mov	QWORD PTR Csum[rip], rdx
	mov	rdx, QWORD PTR Crot[rip]
	and	edx, 2147483648
	test	rdx, rdx
	je	.L2
	mov	rdx, QWORD PTR Crot[rip]
	add	rdx, rdx
	mov	QWORD PTR Crot[rip], rdx
	mov	rdx, QWORD PTR Crot[rip]
	add	rdx, 1
	mov	QWORD PTR Crot[rip], rdx
	jmp	.L3
.L2:
	mov	rdx, QWORD PTR Crot[rip]
	add	rdx, rdx
	mov	QWORD PTR Crot[rip], rdx
.L3:
	movsx	rcx, eax
	mov	rdx, QWORD PTR Crot[rip]
	add	rdx, rcx
	mov	QWORD PTR Crot[rip], rdx
	mov	rdx, QWORD PTR word[rip]
	sal	rdx, 8
	mov	QWORD PTR word[rip], rdx
	movsx	rdx, eax
	mov	rax, QWORD PTR word[rip]
	or	rax, rdx
	mov	QWORD PTR word[rip], rax
	mov	rax, QWORD PTR bcount[rip]
	cmp	rax, 3
	jne	.L4
	mov	rax, QWORD PTR word[rip]
	mov	rdi, rax
	mov	eax, 0
	call	wordout
	mov	QWORD PTR bcount[rip], 0
	jmp	.L5
.L4:
	mov	rax, QWORD PTR bcount[rip]
	add	rax, 1
	mov	QWORD PTR bcount[rip], rax
.L5:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	encode, .-encode
	.globl	wordout
	.type	wordout, @function
wordout:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	rbx, rdi
	test	rbx, rbx
	jne	.L7
	mov	edi, 122
	mov	eax, 0
	call	charout
	jmp	.L8
.L7:
	mov	r12d, 0
	test	rbx, rbx
	jns	.L9
	mov	r12d, 32
	sub	rbx, 1670420000
.L9:
	test	rbx, rbx
	jns	.L10
	mov	r12d, 64
	sub	rbx, 1670420000
.L10:
	movabs	rdx, 5928760619654363693
	mov	rax, rbx
	imul	rdx
	mov	rax, rdx
	sar	rax, 24
	mov	rdx, rbx
	sar	rdx, 63
	sub	rax, rdx
	mov	edx, eax
	mov	eax, r12d
	add	eax, edx
	add	eax, 33
	mov	edi, eax
	mov	eax, 0
	call	charout
	movabs	rdx, 5928760619654363693
	mov	rax, rbx
	imul	rdx
	mov	rax, rdx
	sar	rax, 24
	mov	rdx, rbx
	sar	rdx, 63
	sub	rax, rdx
	imul	rdx, rax, 52200625
	mov	rax, rbx
	sub	rax, rdx
	mov	rbx, rax
	movabs	rdx, -2698473677752648057
	mov	rax, rbx
	imul	rdx
	lea	rax, [rdx+rbx]
	sar	rax, 19
	mov	rdx, rbx
	sar	rdx, 63
	sub	rax, rdx
	add	eax, 33
	mov	edi, eax
	mov	eax, 0
	call	charout
	movabs	rdx, -2698473677752648057
	mov	rax, rbx
	imul	rdx
	lea	rax, [rdx+rbx]
	sar	rax, 19
	mov	rdx, rbx
	sar	rdx, 63
	sub	rax, rdx
	imul	rdx, rax, 614125
	mov	rax, rbx
	sub	rax, rdx
	mov	rbx, rax
	movabs	rdx, 5228917904907565635
	mov	rax, rbx
	imul	rdx
	mov	rax, rdx
	sar	rax, 11
	mov	rdx, rbx
	sar	rdx, 63
	sub	rax, rdx
	add	eax, 33
	mov	edi, eax
	mov	eax, 0
	call	charout
	movabs	rdx, 5228917904907565635
	mov	rax, rbx
	imul	rdx
	mov	rax, rdx
	sar	rax, 11
	mov	rdx, rbx
	sar	rdx, 63
	sub	rax, rdx
	imul	rdx, rax, 7225
	mov	rax, rbx
	sub	rax, rdx
	mov	rbx, rax
	movabs	rdx, 6944656592455360609
	mov	rax, rbx
	imul	rdx
	mov	rax, rdx
	sar	rax, 5
	mov	rdx, rbx
	sar	rdx, 63
	sub	rax, rdx
	add	eax, 33
	mov	edi, eax
	mov	eax, 0
	call	charout
	movabs	rdx, 6944656592455360609
	mov	rax, rbx
	imul	rdx
	mov	rax, rdx
	sar	rax, 5
	mov	rcx, rbx
	sar	rcx, 63
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	mov	rdx, rax
	sal	rdx, 4
	add	rax, rdx
	sub	rbx, rax
	mov	rdx, rbx
	mov	rbx, rdx
	mov	eax, ebx
	add	eax, 33
	mov	edi, eax
	mov	eax, 0
	call	charout
.L8:
	nop
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	wordout, .-wordout
	.globl	charout
	.type	charout, @function
charout:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	putchar@PLT
	mov	rax, QWORD PTR ccount[rip]
	add	rax, 1
	mov	QWORD PTR ccount[rip], rax
	mov	rax, QWORD PTR ccount[rip]
	cmp	rax, 78
	jne	.L12
	mov	edi, 10
	call	putchar@PLT
	mov	QWORD PTR ccount[rip], 0
.L12:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	charout, .-charout
	.section	.rodata
.LC0:
	.string	"bad args to %s\n"
.LC1:
	.string	"xbtoa Begin"
	.align 8
.LC2:
	.string	"\nxbtoa End N %ld %lx E %lx S %lx R %lx\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	cmp	DWORD PTR -20[rbp], 1
	je	.L14
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 2
	call	exit@PLT
.L14:
	lea	rdi, .LC1[rip]
	call	puts@PLT
	mov	ebx, 0
	jmp	.L15
.L16:
	mov	edi, r12d
	mov	eax, 0
	call	encode
	add	rbx, 1
.L15:
	call	getchar@PLT
	mov	r12d, eax
	cmp	r12d, -1
	jne	.L16
	jmp	.L17
.L18:
	mov	edi, 0
	mov	eax, 0
	call	encode
.L17:
	mov	rax, QWORD PTR bcount[rip]
	test	rax, rax
	jne	.L18
	mov	rcx, QWORD PTR Crot[rip]
	mov	rdx, QWORD PTR Csum[rip]
	mov	rax, QWORD PTR Ceor[rip]
	mov	r9, rcx
	mov	r8, rdx
	mov	rcx, rax
	mov	rdx, rbx
	mov	rsi, rbx
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE3:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"828347.c"
	.text
	.global	Ceor
	.bss
	.align	2
	.type	Ceor, %object
	.size	Ceor, 4
Ceor:
	.space	4
	.global	Csum
	.align	2
	.type	Csum, %object
	.size	Csum, 4
Csum:
	.space	4
	.global	Crot
	.align	2
	.type	Crot, %object
	.size	Crot, 4
Crot:
	.space	4
	.global	ccount
	.align	2
	.type	ccount, %object
	.size	ccount, 4
ccount:
	.space	4
	.global	bcount
	.align	2
	.type	bcount, %object
	.size	bcount, 4
bcount:
	.space	4
	.comm	word,4,4
	.text
	.align	2
	.global	encode
	.syntax unified
	.arm
	.fpu softvfp
	.type	encode, %function
encode:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r3, r0
	ldr	r2, .L6
	ldr	r2, [r2]
	eor	r2, r2, r3
	ldr	r1, .L6
	str	r2, [r1]
	ldr	r2, .L6+4
	ldr	r2, [r2]
	add	r2, r3, r2
	ldr	r1, .L6+4
	str	r2, [r1]
	ldr	r2, .L6+4
	ldr	r2, [r2]
	add	r2, r2, #1
	ldr	r1, .L6+4
	str	r2, [r1]
	ldr	r2, .L6+8
	ldr	r2, [r2]
	cmp	r2, #0
	bge	.L2
	ldr	r2, .L6+8
	ldr	r2, [r2]
	lsl	r2, r2, #1
	ldr	r1, .L6+8
	str	r2, [r1]
	ldr	r2, .L6+8
	ldr	r2, [r2]
	add	r2, r2, #1
	ldr	r1, .L6+8
	str	r2, [r1]
	b	.L3
.L2:
	ldr	r2, .L6+8
	ldr	r2, [r2]
	lsl	r2, r2, #1
	ldr	r1, .L6+8
	str	r2, [r1]
.L3:
	ldr	r2, .L6+8
	ldr	r2, [r2]
	add	r2, r3, r2
	ldr	r1, .L6+8
	str	r2, [r1]
	ldr	r2, .L6+12
	ldr	r2, [r2]
	lsl	r2, r2, #8
	ldr	r1, .L6+12
	str	r2, [r1]
	ldr	r2, .L6+12
	ldr	r2, [r2]
	orr	r3, r3, r2
	ldr	r2, .L6+12
	str	r3, [r2]
	ldr	r3, .L6+16
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L4
	ldr	r3, .L6+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	wordout
	ldr	r3, .L6+16
	mov	r2, #0
	str	r2, [r3]
	b	.L5
.L4:
	ldr	r3, .L6+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L6+16
	str	r3, [r2]
.L5:
	nop
	mov	r0, r3
	pop	{fp, pc}
.L7:
	.align	2
.L6:
	.word	Ceor
	.word	Csum
	.word	Crot
	.word	word
	.word	bcount
	.size	encode, .-encode
	.align	2
	.global	wordout
	.syntax unified
	.arm
	.fpu softvfp
	.type	wordout, %function
wordout:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	mov	r4, r0
	cmp	r4, #0
	bne	.L9
	mov	r0, #122
	bl	charout
	b	.L10
.L9:
	mov	r5, #0
	cmp	r4, #0
	bge	.L11
	mov	r5, #32
	ldr	r3, .L13
	add	r3, r4, r3
	mov	r4, r3
.L11:
	cmp	r4, #0
	bge	.L12
	mov	r5, #64
	ldr	r3, .L13
	add	r3, r4, r3
	mov	r4, r3
.L12:
	ldr	r3, .L13+4
	smull	r2, r3, r4, r3
	add	r3, r3, r4
	asr	r2, r3, #25
	asr	r3, r4, #31
	sub	r3, r2, r3
	add	r3, r5, r3
	add	r3, r3, #33
	mov	r0, r3
	bl	charout
	ldr	r3, .L13+4
	smull	r2, r3, r4, r3
	add	r3, r3, r4
	asr	r2, r3, #25
	asr	r3, r4, #31
	sub	r3, r2, r3
	ldr	r2, .L13+8
	mul	r3, r2, r3
	sub	r3, r4, r3
	mov	r4, r3
	ldr	r3, .L13+12
	smull	r2, r3, r4, r3
	asr	r2, r3, #18
	asr	r3, r4, #31
	sub	r3, r2, r3
	add	r3, r3, #33
	mov	r0, r3
	bl	charout
	ldr	r3, .L13+12
	smull	r2, r3, r4, r3
	asr	r2, r3, #18
	asr	r3, r4, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #4
	add	r3, r3, r2
	lsl	r2, r3, #4
	add	r3, r3, r2
	lsl	r2, r3, #4
	add	r3, r3, r2
	sub	r3, r4, r3
	mov	r4, r3
	ldr	r3, .L13+16
	smull	r2, r3, r4, r3
	add	r3, r3, r4
	asr	r2, r3, #12
	asr	r3, r4, #31
	sub	r3, r2, r3
	add	r3, r3, #33
	mov	r0, r3
	bl	charout
	ldr	r3, .L13+16
	smull	r2, r3, r4, r3
	add	r3, r3, r4
	asr	r2, r3, #12
	asr	r3, r4, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r1, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r3, r4, r3
	mov	r4, r3
	ldr	r3, .L13+20
	smull	r2, r3, r4, r3
	asr	r2, r3, #5
	asr	r3, r4, #31
	sub	r3, r2, r3
	add	r3, r3, #33
	mov	r0, r3
	bl	charout
	ldr	r3, .L13+20
	smull	r2, r3, r4, r3
	asr	r2, r3, #5
	asr	r3, r4, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #4
	add	r3, r3, r2
	sub	r3, r4, r3
	mov	r4, r3
	add	r3, r4, #33
	mov	r0, r3
	bl	charout
.L10:
	nop
	mov	r0, r3
	pop	{r4, r5, fp, pc}
.L14:
	.align	2
.L13:
	.word	-1670420000
	.word	-1534172993
	.word	52200625
	.word	1833339967
	.word	-1860062653
	.word	1616928865
	.size	wordout, .-wordout
	.align	2
	.global	charout
	.syntax unified
	.arm
	.fpu softvfp
	.type	charout, %function
charout:
	@ 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, [fp, #-8]
	bl	putchar
	ldr	r3, .L17
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L17
	str	r3, [r2]
	ldr	r3, .L17
	ldr	r3, [r3]
	cmp	r3, #78
	bne	.L16
	mov	r0, #10
	bl	putchar
	ldr	r3, .L17
	mov	r2, #0
	str	r2, [r3]
.L16:
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L18:
	.align	2
.L17:
	.word	ccount
	.size	charout, .-charout
	.section	.rodata
	.align	2
.LC0:
	.ascii	"bad args to %s\012\000"
	.align	2
.LC1:
	.ascii	"xbtoa Begin\000"
	.align	2
.LC2:
	.ascii	"\012xbtoa End N %ld %lx E %lx S %lx R %lx\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	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	beq	.L20
	ldr	r3, .L25
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L25+4
	bl	fprintf
	mov	r0, #2
	bl	exit
.L20:
	ldr	r0, .L25+8
	bl	puts
	mov	r4, #0
	b	.L21
.L22:
	mov	r0, r5
	bl	encode
	add	r4, r4, #1
.L21:
	bl	getchar
	mov	r5, r0
	cmn	r5, #1
	bne	.L22
	b	.L23
.L24:
	mov	r0, #0
	bl	encode
.L23:
	ldr	r3, .L25+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L24
	ldr	r3, .L25+16
	ldr	r1, [r3]
	ldr	r3, .L25+20
	ldr	r3, [r3]
	ldr	r2, .L25+24
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r1
	mov	r2, r4
	mov	r1, r4
	ldr	r0, .L25+28
	bl	printf
	mov	r0, #0
	bl	exit
.L26:
	.align	2
.L25:
	.word	stderr
	.word	.LC0
	.word	.LC1
	.word	bcount
	.word	Ceor
	.word	Csum
	.word	Crot
	.word	.LC2
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
