	.file	"173576826.c"
	.intel_syntax noprefix
	.text
	.globl	message
	.bss
	.align 32
	.type	message, @object
	.size	message, 1000
message:
	.zero	1000
	.globl	cle
	.align 4
	.type	cle, @object
	.size	cle, 4
cle:
	.zero	4
	.text
	.globl	chiffrement
	.type	chiffrement, @function
chiffrement:
.LFB0:
	.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
	jmp	.L2
.L6:
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	rax, al
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L3
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	rax, al
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L4
	mov	eax, 65
	jmp	.L5
.L4:
	mov	eax, 97
.L5:
	mov	BYTE PTR -5[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	edx, eax
	movzx	eax, BYTE PTR -5[rbp]
	sub	edx, eax
	mov	ecx, edx
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	edx, al
	mov	eax, DWORD PTR cle[rip]
	add	edx, eax
	movsx	rax, edx
	imul	rax, rax, 1321528399
	shr	rax, 32
	sar	eax, 3
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	imul	ecx, eax, 26
	mov	eax, edx
	sub	eax, ecx
	add	eax, 26
	movsx	rdx, eax
	imul	rdx, rdx, 1321528399
	shr	rdx, 32
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	imul	ecx, edx, 26
	sub	eax, ecx
	mov	edx, eax
	mov	ecx, edx
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	edx, eax
	movzx	eax, BYTE PTR -5[rbp]
	add	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	mov	BYTE PTR [rax+rdx], cl
.L3:
	add	DWORD PTR -4[rbp], 1
.L2:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L6
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	chiffrement, .-chiffrement
	.globl	dechiffrement
	.type	dechiffrement, @function
dechiffrement:
.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, 16
	mov	DWORD PTR -4[rbp], 0
	jmp	.L8
.L12:
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	rax, al
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L9
	call	__ctype_b_loc@PLT
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	rax, al
	add	rax, rax
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L10
	mov	eax, 65
	jmp	.L11
.L10:
	mov	eax, 97
.L11:
	mov	BYTE PTR -5[rbp], al
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	edx, eax
	movzx	eax, BYTE PTR -5[rbp]
	sub	edx, eax
	mov	ecx, edx
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	ecx, DWORD PTR cle[rip]
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, edx
	imul	rax, rax, 1321528399
	shr	rax, 32
	sar	eax, 3
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	imul	ecx, eax, 26
	mov	eax, edx
	sub	eax, ecx
	add	eax, 26
	movsx	rdx, eax
	imul	rdx, rdx, 1321528399
	shr	rdx, 32
	sar	edx, 3
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	imul	ecx, edx, 26
	sub	eax, ecx
	mov	edx, eax
	mov	ecx, edx
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	edx, eax
	movzx	eax, BYTE PTR -5[rbp]
	add	eax, edx
	mov	ecx, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	mov	BYTE PTR [rax+rdx], cl
.L9:
	add	DWORD PTR -4[rbp], 1
.L8:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, message[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L12
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	dechiffrement, .-dechiffrement
	.section	.rodata
.LC0:
	.string	"%[^\n]s\n"
.LC1:
	.string	"%d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rsi, message[rip]
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rsi, cle[rip]
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	call	chiffrement
	lea	rdi, message[rip]
	call	puts@PLT
	call	dechiffrement
	lea	rdi, message[rip]
	call	puts@PLT
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.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	"173576826.c"
	.text
	.comm	message,1000,4
	.comm	cle,4,4
	.align	2
	.global	chiffrement
	.syntax unified
	.arm
	.fpu softvfp
	.type	chiffrement, %function
chiffrement:
	@ 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]
	b	.L2
.L6:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, .L7
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L3
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, .L7
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L4
	mov	r3, #65
	b	.L5
.L4:
	mov	r3, #97
.L5:
	strb	r3, [fp, #-9]
	ldr	r2, .L7
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-9]
	sub	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, .L7
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r2, .L7
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L7+4
	ldr	r3, [r3]
	add	r1, r2, r3
	ldr	r3, .L7+8
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	add	r1, r2, #26
	ldr	r3, .L7+8
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	and	r1, r2, #255
	ldr	r2, .L7
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r2, .L7
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-9]
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, .L7
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
.L3:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2:
	ldr	r2, .L7
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L6
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L8:
	.align	2
.L7:
	.word	message
	.word	cle
	.word	1321528399
	.size	chiffrement, .-chiffrement
	.align	2
	.global	dechiffrement
	.syntax unified
	.arm
	.fpu softvfp
	.type	dechiffrement, %function
dechiffrement:
	@ 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]
	b	.L10
.L14:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, .L15
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L11
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r1, .L15
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L12
	mov	r3, #65
	b	.L13
.L12:
	mov	r3, #97
.L13:
	strb	r3, [fp, #-9]
	ldr	r2, .L15
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-9]
	sub	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, .L15
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r2, .L15
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L15+4
	ldr	r3, [r3]
	sub	r1, r2, r3
	ldr	r3, .L15+8
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	add	r1, r2, #26
	ldr	r3, .L15+8
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	and	r1, r2, #255
	ldr	r2, .L15
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r2, .L15
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-9]
	add	r3, r2, r3
	and	r1, r3, #255
	ldr	r2, .L15
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
.L11:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L10:
	ldr	r2, .L15
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L14
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L16:
	.align	2
.L15:
	.word	message
	.word	cle
	.word	1321528399
	.size	dechiffrement, .-dechiffrement
	.section	.rodata
	.align	2
.LC0:
	.ascii	"%[^\012]s\012\000"
	.align	2
.LC1:
	.ascii	"%d\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r1, .L19
	ldr	r0, .L19+4
	bl	__isoc99_scanf
	ldr	r1, .L19+8
	ldr	r0, .L19+12
	bl	__isoc99_scanf
	bl	chiffrement
	ldr	r0, .L19
	bl	puts
	bl	dechiffrement
	ldr	r0, .L19
	bl	puts
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	message
	.word	.LC0
	.word	cle
	.word	.LC1
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
