	.file	"483399.c"
	.intel_syntax noprefix
	.text
	.globl	i
	.bss
	.align 4
	.type	i, @object
	.size	i, 4
i:
	.zero	4
	.globl	key_table
	.align 32
	.type	key_table, @object
	.size	key_table, 2560
key_table:
	.zero	2560
	.globl	mask_table
	.align 16
	.type	mask_table, @object
	.size	mask_table, 16
mask_table:
	.zero	16
	.globl	key_length
	.data
	.type	key_length, @object
	.size	key_length, 1
key_length:
	.byte	6
	.globl	master_key
	.align 32
	.type	master_key, @object
	.size	master_key, 70
master_key:
	.string	"YB\200\347\022+"
	.zero	63
	.globl	the_data
	.bss
	.align 8
	.type	the_data, @object
	.size	the_data, 8
the_data:
	.zero	8
	.text
	.globl	initialize_key_table
	.type	initialize_key_table, @function
initialize_key_table:
.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, 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -160[rbp], 1
	mov	DWORD PTR -156[rbp], 3
	mov	DWORD PTR -152[rbp], 5
	mov	DWORD PTR -148[rbp], 7
	mov	DWORD PTR -144[rbp], 11
	mov	DWORD PTR -140[rbp], 13
	mov	DWORD PTR -136[rbp], 17
	mov	DWORD PTR -132[rbp], 19
	mov	DWORD PTR -128[rbp], 23
	mov	DWORD PTR -124[rbp], 29
	mov	DWORD PTR -120[rbp], 31
	mov	DWORD PTR -116[rbp], 37
	mov	DWORD PTR -112[rbp], 41
	mov	DWORD PTR -108[rbp], 43
	mov	DWORD PTR -104[rbp], 47
	mov	DWORD PTR -100[rbp], 53
	mov	DWORD PTR -96[rbp], 59
	mov	DWORD PTR -92[rbp], 61
	mov	DWORD PTR -88[rbp], 67
	mov	DWORD PTR -84[rbp], 71
	mov	DWORD PTR -80[rbp], 73
	mov	DWORD PTR -76[rbp], 79
	mov	DWORD PTR -72[rbp], 83
	mov	DWORD PTR -68[rbp], 89
	mov	DWORD PTR -64[rbp], 97
	mov	DWORD PTR -60[rbp], 101
	mov	DWORD PTR -56[rbp], 103
	mov	DWORD PTR -52[rbp], 107
	mov	DWORD PTR -48[rbp], 109
	mov	DWORD PTR -44[rbp], 113
	mov	DWORD PTR -40[rbp], 127
	mov	DWORD PTR -36[rbp], 131
	mov	DWORD PTR -32[rbp], 137
	mov	DWORD PTR -28[rbp], 139
	mov	DWORD PTR -24[rbp], 149
	mov	DWORD PTR -176[rbp], 1
	jmp	.L2
.L10:
	movzx	eax, BYTE PTR key_length[rip]
	movzx	eax, al
	cmp	DWORD PTR -176[rbp], eax
	je	.L3
	mov	eax, DWORD PTR -176[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, master_key[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -168[rbp], al
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, master_key[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -167[rbp], al
	jmp	.L4
.L3:
	mov	eax, DWORD PTR -176[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, master_key[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -168[rbp], al
	movzx	eax, BYTE PTR master_key[rip]
	mov	BYTE PTR -167[rbp], al
.L4:
	mov	eax, DWORD PTR -168[rbp]
	mov	edi, eax
	call	srand@PLT
	mov	DWORD PTR -180[rbp], 0
	mov	DWORD PTR -172[rbp], 0
	jmp	.L5
.L9:
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	mov	edx, DWORD PTR -160[rbp+rax*4]
	mov	eax, DWORD PTR -180[rbp]
	add	eax, edx
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 2559
	jle	.L6
	sub	DWORD PTR -180[rbp], 2560
.L6:
	call	rand@PLT
	mov	DWORD PTR -164[rbp], eax
	movzx	edx, BYTE PTR -164[rbp]
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rcx, key_table[rip]
	mov	BYTE PTR [rax+rcx], dl
	cmp	DWORD PTR -180[rbp], 2558
	je	.L7
	mov	eax, DWORD PTR -180[rbp]
	add	eax, 1
	movzx	edx, BYTE PTR -163[rbp]
	cdqe
	lea	rcx, key_table[rip]
	mov	BYTE PTR [rax+rcx], dl
	jmp	.L8
.L7:
	movzx	eax, BYTE PTR -163[rbp]
	mov	BYTE PTR key_table[rip], al
.L8:
	add	DWORD PTR -172[rbp], 1
.L5:
	cmp	DWORD PTR -172[rbp], 2559
	jle	.L9
	add	DWORD PTR -176[rbp], 1
.L2:
	movzx	eax, BYTE PTR key_length[rip]
	movzx	eax, al
	cmp	DWORD PTR -176[rbp], eax
	jle	.L10
	mov	eax, 0
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	initialize_key_table, .-initialize_key_table
	.globl	create_mask_table
	.type	create_mask_table, @function
create_mask_table:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rax, mask_table[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L14
.L15:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, mask_table[rip]
	mov	BYTE PTR [rax+rdx], 0
	add	DWORD PTR -16[rbp], 1
.L14:
	cmp	DWORD PTR -16[rbp], 15
	jle	.L15
	mov	DWORD PTR -16[rbp], 0
	jmp	.L16
.L18:
	mov	rax, QWORD PTR -8[rbp]
	movzx	ecx, BYTE PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, key_table[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -8[rbp], 1
	add	DWORD PTR -12[rbp], 1
	cmp	DWORD PTR -12[rbp], 16
	jne	.L17
	mov	DWORD PTR -12[rbp], 0
	lea	rax, mask_table[rip]
	mov	QWORD PTR -8[rbp], rax
.L17:
	add	DWORD PTR -16[rbp], 1
.L16:
	cmp	DWORD PTR -16[rbp], 2559
	jle	.L18
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	create_mask_table, .-create_mask_table
	.globl	encrypt_data
	.type	encrypt_data, @function
encrypt_data:
.LFB8:
	.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 -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -8[rbp], rax
	lea	rax, mask_table[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L21
.L25:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	xor	eax, edx
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	sal	DWORD PTR -28[rbp], 3
	add	QWORD PTR -8[rbp], 1
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L22
.L24:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	je	.L23
	mov	rax, QWORD PTR -16[rbp]
	movzx	ecx, BYTE PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	lea	rdx, key_table[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
.L23:
	add	QWORD PTR -16[rbp], 1
	add	DWORD PTR -32[rbp], 1
.L22:
	cmp	DWORD PTR -32[rbp], 7
	jle	.L24
	add	DWORD PTR -36[rbp], 1
.L21:
	cmp	DWORD PTR -36[rbp], 7
	jle	.L25
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L26
.L30:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	xor	eax, edx
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	sal	DWORD PTR -28[rbp], 3
	add	QWORD PTR -8[rbp], 1
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L27
.L29:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	je	.L28
	mov	rax, QWORD PTR -16[rbp]
	movzx	ecx, BYTE PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	lea	rdx, key_table[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
.L28:
	add	QWORD PTR -16[rbp], 1
	add	DWORD PTR -32[rbp], 1
.L27:
	cmp	DWORD PTR -32[rbp], 7
	jle	.L29
	add	DWORD PTR -36[rbp], 1
.L26:
	cmp	DWORD PTR -36[rbp], 7
	jle	.L30
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	encrypt_data, .-encrypt_data
	.globl	decrypt_data
	.type	decrypt_data, @function
decrypt_data:
.LFB9:
	.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 -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 7
	mov	QWORD PTR -8[rbp], rax
	lea	rax, mask_table[rip+15]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -36[rbp], 7
	jmp	.L33
.L37:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	xor	eax, edx
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	sal	DWORD PTR -28[rbp], 3
	sub	QWORD PTR -8[rbp], 1
	sub	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L34
.L36:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	je	.L35
	mov	rax, QWORD PTR -16[rbp]
	movzx	ecx, BYTE PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	lea	rdx, key_table[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
.L35:
	add	QWORD PTR -16[rbp], 1
	add	DWORD PTR -32[rbp], 1
.L34:
	cmp	DWORD PTR -32[rbp], 7
	jle	.L36
	sub	DWORD PTR -36[rbp], 1
.L33:
	cmp	DWORD PTR -36[rbp], 0
	jns	.L37
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 7
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -36[rbp], 7
	jmp	.L38
.L42:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	xor	eax, edx
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	sal	DWORD PTR -28[rbp], 3
	sub	QWORD PTR -8[rbp], 1
	sub	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L39
.L41:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	je	.L40
	mov	rax, QWORD PTR -16[rbp]
	movzx	ecx, BYTE PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	lea	rdx, key_table[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	xor	ecx, eax
	mov	edx, ecx
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
.L40:
	add	QWORD PTR -16[rbp], 1
	add	DWORD PTR -32[rbp], 1
.L39:
	cmp	DWORD PTR -32[rbp], 7
	jle	.L41
	sub	DWORD PTR -36[rbp], 1
.L38:
	cmp	DWORD PTR -36[rbp], 0
	jns	.L42
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	decrypt_data, .-decrypt_data
	.globl	main
	.type	main, @function
main:
.LFB10:
	.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	initialize_key_table
	mov	eax, 0
	call	create_mask_table
	lea	rdi, the_data[rip]
	mov	eax, 0
	call	encrypt_data
	lea	rdi, the_data[rip]
	mov	eax, 0
	call	decrypt_data
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.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	"483399.c"
	.text
	.comm	i,4,4
	.comm	key_table,2560,4
	.comm	mask_table,16,4
	.global	key_length
	.data
	.type	key_length, %object
	.size	key_length, 1
key_length:
	.byte	6
	.global	master_key
	.align	2
	.type	master_key, %object
	.size	master_key, 70
master_key:
	.ascii	"YB\200\347\022+\000"
	.space	63
	.comm	the_data,8,4
	.section	.rodata
	.align	2
.LC0:
	.word	1
	.word	3
	.word	5
	.word	7
	.word	11
	.word	13
	.word	17
	.word	19
	.word	23
	.word	29
	.word	31
	.word	37
	.word	41
	.word	43
	.word	47
	.word	53
	.word	59
	.word	61
	.word	67
	.word	71
	.word	73
	.word	79
	.word	83
	.word	89
	.word	97
	.word	101
	.word	103
	.word	107
	.word	109
	.word	113
	.word	127
	.word	131
	.word	137
	.word	139
	.word	149
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	initialize_key_table
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialize_key_table, %function
initialize_key_table:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	ldr	r3, .L13
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L13+4
	sub	r3, fp, #148
	mov	r1, r2
	mov	r2, #140
	mov	r0, r3
	bl	memcpy
	mov	r3, #1
	str	r3, [fp, #-164]
	b	.L2
.L10:
	ldr	r3, .L13+8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-164]
	cmp	r3, r2
	beq	.L3
	ldr	r3, [fp, #-164]
	sub	r3, r3, #1
	ldr	r2, .L13+12
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	strb	r3, [fp, #-156]
	ldr	r2, .L13+12
	ldr	r3, [fp, #-164]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-155]
	b	.L4
.L3:
	ldr	r3, [fp, #-164]
	sub	r3, r3, #1
	ldr	r2, .L13+12
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	strb	r3, [fp, #-156]
	ldr	r3, .L13+12
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [fp, #-155]
.L4:
	ldr	r3, [fp, #-156]
	mov	r0, r3
	bl	srand
	mov	r3, #0
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-160]
	b	.L5
.L9:
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-144]
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmp	r3, #2560
	blt	.L6
	ldr	r3, [fp, #-168]
	sub	r3, r3, #2560
	str	r3, [fp, #-168]
.L6:
	bl	rand
	mov	r3, r0
	str	r3, [fp, #-152]
	ldrb	r1, [fp, #-152]	@ zero_extendqisi2
	ldr	r2, .L13+16
	ldr	r3, [fp, #-168]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-168]
	ldr	r2, .L13+20
	cmp	r3, r2
	beq	.L7
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	ldrb	r1, [fp, #-151]	@ zero_extendqisi2
	ldr	r2, .L13+16
	strb	r1, [r2, r3]
	b	.L8
.L7:
	ldrb	r2, [fp, #-151]	@ zero_extendqisi2
	ldr	r3, .L13+16
	strb	r2, [r3]
.L8:
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	str	r3, [fp, #-160]
.L5:
	ldr	r3, [fp, #-160]
	cmp	r3, #2560
	blt	.L9
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
.L2:
	ldr	r3, .L13+8
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-164]
	cmp	r3, r2
	ble	.L10
	mov	r3, #0
	ldr	r2, .L13
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L12
	bl	__stack_chk_fail
.L12:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L14:
	.align	2
.L13:
	.word	.LC1
	.word	.LC0
	.word	key_length
	.word	master_key
	.word	key_table
	.word	2558
	.size	initialize_key_table, .-initialize_key_table
	.align	2
	.global	create_mask_table
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_mask_table, %function
create_mask_table:
	@ 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
	ldr	r3, .L22
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L16
.L17:
	ldr	r2, .L22
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L16:
	ldr	r3, [fp, #-16]
	cmp	r3, #15
	ble	.L17
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L18
.L20:
	ldr	r3, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, .L22+4
	ldr	r3, [fp, #-16]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #16
	bne	.L19
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L22
	str	r3, [fp, #-8]
.L19:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L18:
	ldr	r3, [fp, #-16]
	cmp	r3, #2560
	blt	.L20
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L23:
	.align	2
.L22:
	.word	mask_table
	.word	key_table
	.size	create_mask_table, .-create_mask_table
	.align	2
	.global	encrypt_data
	.syntax unified
	.arm
	.fpu softvfp
	.type	encrypt_data, %function
encrypt_data:
	@ 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, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	ldr	r3, .L36
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L25
.L29:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L26
.L28:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L27
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	ldr	r1, .L36+4
	ldrb	r3, [r1, r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
.L27:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L26:
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	ble	.L28
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L25:
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	ble	.L29
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L30
.L34:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L31
.L33:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L32
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	ldr	r1, .L36+4
	ldrb	r3, [r1, r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
.L32:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L31:
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	ble	.L33
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L30:
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	ble	.L34
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L37:
	.align	2
.L36:
	.word	mask_table
	.word	key_table
	.size	encrypt_data, .-encrypt_data
	.align	2
	.global	decrypt_data
	.syntax unified
	.arm
	.fpu softvfp
	.type	decrypt_data, %function
decrypt_data:
	@ 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, #-32]
	ldr	r3, [fp, #-32]
	add	r3, r3, #7
	str	r3, [fp, #-12]
	ldr	r3, .L50
	str	r3, [fp, #-20]
	mov	r3, #7
	str	r3, [fp, #-28]
	b	.L39
.L43:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L40
.L42:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L41
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	ldr	r1, .L50+4
	ldrb	r3, [r1, r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
.L41:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L40:
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	ble	.L42
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L39:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bge	.L43
	ldr	r3, [fp, #-32]
	add	r3, r3, #7
	str	r3, [fp, #-12]
	mov	r3, #7
	str	r3, [fp, #-28]
	b	.L44
.L48:
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L45
.L47:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L46
	ldr	r3, [fp, #-16]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	ldr	r1, .L50+4
	ldrb	r3, [r1, r3]	@ zero_extendqisi2
	eor	r3, r3, r2
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
.L46:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L45:
	ldr	r3, [fp, #-24]
	cmp	r3, #7
	ble	.L47
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L44:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bge	.L48
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L51:
	.align	2
.L50:
	.word	mask_table+15
	.word	key_table
	.size	decrypt_data, .-decrypt_data
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	initialize_key_table
	bl	create_mask_table
	ldr	r0, .L54
	bl	encrypt_data
	ldr	r0, .L54
	bl	decrypt_data
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
.L55:
	.align	2
.L54:
	.word	the_data
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
