	.file	"516152.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
.LC0:
	.string	"%d/"
.LC1:
	.string	"'%c'"
.LC2:
	.string	"'\\%.3o'"
	.text
	.type	print_char, @function
print_char:
.LFB6:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	movzx	eax, BYTE PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, BYTE PTR -4[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	test	ax, ax
	jns	.L2
	movzx	eax, BYTE PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L4
.L2:
	movzx	eax, BYTE PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
.L4:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	print_char, .-print_char
	.section	.rodata
.LC3:
	.string	" BOGUS"
.LC4:
	.string	" isascii"
.LC5:
	.string	" isalnum"
.LC6:
	.string	" isalpha"
.LC7:
	.string	" iscntrl"
.LC8:
	.string	" isdigit"
.LC9:
	.string	" isgraph"
.LC10:
	.string	" islower"
.LC11:
	.string	" isprint"
.LC12:
	.string	" ispunct"
.LC13:
	.string	" isspace"
.LC14:
	.string	" isupper"
.LC15:
	.string	" isxdigit"
.LC16:
	.string	" isblank"
.LC17:
	.string	"; lower = "
.LC18:
	.string	"; upper = "
.LC19:
	.string	"EOF"
.LC20:
	.string	" tolower BOGUS %d;"
.LC21:
	.string	" toupper BOGUS %d;"
	.text
	.globl	main
	.type	main, @function
main:
.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	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	mov	WORD PTR -6[rbp], 0
	jmp	.L6
.L26:
	movzx	eax, WORD PTR -6[rbp]
	movzx	eax, al
	mov	edi, eax
	call	print_char
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	je	.L7
	cmp	WORD PTR -6[rbp], 96
	jbe	.L8
	cmp	WORD PTR -6[rbp], 122
	ja	.L8
.L7:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	jne	.L9
	cmp	WORD PTR -6[rbp], 96
	jbe	.L9
	cmp	WORD PTR -6[rbp], 122
	jbe	.L8
.L9:
	movzx	eax, WORD PTR -6[rbp]
	mov	edi, eax
	call	toupper@PLT
	mov	edx, eax
	cmp	WORD PTR -6[rbp], 96
	jbe	.L10
	cmp	WORD PTR -6[rbp], 122
	ja	.L10
	movzx	eax, WORD PTR -6[rbp]
	sub	eax, 32
	jmp	.L11
.L10:
	movzx	eax, WORD PTR -6[rbp]
.L11:
	cmp	eax, edx
	je	.L12
.L8:
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 6
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L12:
	movzx	eax, WORD PTR -6[rbp]
	and	eax, -128
	test	eax, eax
	jne	.L13
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC4[rip]
	call	fwrite@PLT
.L13:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L14
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC5[rip]
	call	fwrite@PLT
.L14:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L15
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
.L15:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2
	test	eax, eax
	je	.L16
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC7[rip]
	call	fwrite@PLT
.L16:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L17
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC8[rip]
	call	fwrite@PLT
.L17:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	test	ax, ax
	jns	.L18
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC9[rip]
	call	fwrite@PLT
.L18:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	je	.L19
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
.L19:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 16384
	test	eax, eax
	je	.L20
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC11[rip]
	call	fwrite@PLT
.L20:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4
	test	eax, eax
	je	.L21
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC12[rip]
	call	fwrite@PLT
.L21:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L22
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC13[rip]
	call	fwrite@PLT
.L22:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L23
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC14[rip]
	call	fwrite@PLT
.L23:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	je	.L24
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 9
	mov	esi, 1
	lea	rdi, .LC15[rip]
	call	fwrite@PLT
.L24:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -6[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1
	test	eax, eax
	je	.L25
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC16[rip]
	call	fwrite@PLT
.L25:
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 10
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	movzx	eax, WORD PTR -6[rbp]
	mov	edi, eax
	call	tolower@PLT
	movzx	eax, al
	mov	edi, eax
	call	print_char
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 10
	mov	esi, 1
	lea	rdi, .LC18[rip]
	call	fwrite@PLT
	movzx	eax, WORD PTR -6[rbp]
	mov	edi, eax
	call	toupper@PLT
	movzx	eax, al
	mov	edi, eax
	call	print_char
	mov	edi, 10
	call	putchar@PLT
	add	WORD PTR -6[rbp], 1
.L6:
	cmp	WORD PTR -6[rbp], 255
	jbe	.L26
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC19[rip]
	call	fwrite@PLT
	mov	edi, -1
	call	tolower@PLT
	cmp	eax, -1
	je	.L27
	add	DWORD PTR -4[rbp], 1
	mov	edi, -1
	call	tolower@PLT
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
.L27:
	mov	edi, -1
	call	toupper@PLT
	cmp	eax, -1
	je	.L28
	add	DWORD PTR -4[rbp], 1
	mov	edi, -1
	call	toupper@PLT
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
.L28:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L29
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC5[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L29:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1024
	test	eax, eax
	je	.L30
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L30:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2
	test	eax, eax
	je	.L31
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC7[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L31:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L32
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC8[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L32:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	test	ax, ax
	jns	.L33
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC9[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L33:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 512
	test	eax, eax
	je	.L34
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L34:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 16384
	test	eax, eax
	je	.L35
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC11[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L35:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4
	test	eax, eax
	je	.L36
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC12[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L36:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L37
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC13[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L37:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L38
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC14[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L38:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 4096
	test	eax, eax
	je	.L39
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 9
	mov	esi, 1
	lea	rdi, .LC15[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L39:
	call	__ctype_b_loc@PLT
	mov	rax, QWORD PTR [rax]
	sub	rax, 2
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 1
	test	eax, eax
	je	.L40
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC16[rip]
	call	fwrite@PLT
	add	DWORD PTR -4[rbp], 1
.L40:
	cmp	DWORD PTR -4[rbp], 0
	setne	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.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	"516152.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"%d/\000"
	.align	2
.LC1:
	.ascii	"'%c'\000"
	.align	2
.LC2:
	.ascii	"'\\%.3o'\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_char, %function
print_char:
	@ 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, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L5
	bl	printf
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	cmp	r3, #0
	bge	.L2
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L5+4
	bl	printf
	b	.L4
.L2:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L5+8
	bl	printf
.L4:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L6:
	.align	2
.L5:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	print_char, .-print_char
	.section	.rodata
	.align	2
.LC3:
	.ascii	" BOGUS\000"
	.align	2
.LC4:
	.ascii	" isascii\000"
	.align	2
.LC5:
	.ascii	" isalnum\000"
	.align	2
.LC6:
	.ascii	" isalpha\000"
	.align	2
.LC7:
	.ascii	" iscntrl\000"
	.align	2
.LC8:
	.ascii	" isdigit\000"
	.align	2
.LC9:
	.ascii	" isgraph\000"
	.align	2
.LC10:
	.ascii	" islower\000"
	.align	2
.LC11:
	.ascii	" isprint\000"
	.align	2
.LC12:
	.ascii	" ispunct\000"
	.align	2
.LC13:
	.ascii	" isspace\000"
	.align	2
.LC14:
	.ascii	" isupper\000"
	.align	2
.LC15:
	.ascii	" isxdigit\000"
	.align	2
.LC16:
	.ascii	" isblank\000"
	.align	2
.LC17:
	.ascii	"; lower = \000"
	.align	2
.LC18:
	.ascii	"; upper = \000"
	.align	2
.LC19:
	.ascii	"EOF\000"
	.align	2
.LC20:
	.ascii	" tolower BOGUS %d;\000"
	.align	2
.LC21:
	.ascii	" toupper BOGUS %d;\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ 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
	strh	r3, [fp, #-10]	@ movhi
	b	.L8
.L28:
	ldrh	r3, [fp, #-10]	@ movhi
	and	r3, r3, #255
	mov	r0, r3
	bl	print_char
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L9
	ldrh	r3, [fp, #-10]
	cmp	r3, #96
	bls	.L10
	ldrh	r3, [fp, #-10]
	cmp	r3, #122
	bhi	.L10
.L9:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	bne	.L11
	ldrh	r3, [fp, #-10]
	cmp	r3, #96
	bls	.L11
	ldrh	r3, [fp, #-10]
	cmp	r3, #122
	bls	.L10
.L11:
	ldrh	r3, [fp, #-10]
	mov	r0, r3
	bl	toupper
	mov	r2, r0
	ldrh	r3, [fp, #-10]
	cmp	r3, #96
	bls	.L12
	ldrh	r3, [fp, #-10]
	cmp	r3, #122
	bhi	.L12
	ldrh	r3, [fp, #-10]
	sub	r3, r3, #32
	b	.L13
.L12:
	ldrh	r3, [fp, #-10]
.L13:
	cmp	r3, r2
	beq	.L14
.L10:
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #6
	mov	r1, #1
	ldr	r0, .L44+4
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L14:
	ldrh	r3, [fp, #-10]
	bic	r3, r3, #127
	cmp	r3, #0
	bne	.L15
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+8
	bl	fwrite
.L15:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L16
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+12
	bl	fwrite
.L16:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L17
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+16
	bl	fwrite
.L17:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L18
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+20
	bl	fwrite
.L18:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L19
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+24
	bl	fwrite
.L19:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	cmp	r3, #0
	bge	.L20
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+28
	bl	fwrite
.L20:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L21
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+32
	bl	fwrite
.L21:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L22
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+36
	bl	fwrite
.L22:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L23
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+40
	bl	fwrite
.L23:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L24
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+44
	bl	fwrite
.L24:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L25
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+48
	bl	fwrite
.L25:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L26
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #9
	mov	r1, #1
	ldr	r0, .L44+52
	bl	fwrite
.L26:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldrh	r3, [fp, #-10]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L27
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+56
	bl	fwrite
.L27:
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #10
	mov	r1, #1
	ldr	r0, .L44+60
	bl	fwrite
	ldrh	r3, [fp, #-10]
	mov	r0, r3
	bl	tolower
	mov	r3, r0
	and	r3, r3, #255
	mov	r0, r3
	bl	print_char
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #10
	mov	r1, #1
	ldr	r0, .L44+64
	bl	fwrite
	ldrh	r3, [fp, #-10]
	mov	r0, r3
	bl	toupper
	mov	r3, r0
	and	r3, r3, #255
	mov	r0, r3
	bl	print_char
	mov	r0, #10
	bl	putchar
	ldrh	r3, [fp, #-10]	@ movhi
	add	r3, r3, #1
	strh	r3, [fp, #-10]	@ movhi
.L8:
	ldrh	r3, [fp, #-10]
	cmp	r3, #255
	bls	.L28
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L44+68
	bl	fwrite
	mvn	r0, #0
	bl	tolower
	mov	r3, r0
	cmn	r3, #1
	beq	.L29
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	mvn	r0, #0
	bl	tolower
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L44+72
	bl	printf
.L29:
	mvn	r0, #0
	bl	toupper
	mov	r3, r0
	cmn	r3, #1
	beq	.L30
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	mvn	r0, #0
	bl	toupper
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L44+76
	bl	printf
.L30:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L31
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+12
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L31:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #1024
	cmp	r3, #0
	beq	.L32
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+16
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L32:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L33
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+20
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L33:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L34
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+24
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L34:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	cmp	r3, #0
	bge	.L35
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+28
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L35:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #512
	cmp	r3, #0
	beq	.L36
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+32
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L36:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #16384
	cmp	r3, #0
	beq	.L37
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+36
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L37:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L38
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+40
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L38:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L39
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+44
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L39:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L40
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+48
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L40:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L41
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #9
	mov	r1, #1
	ldr	r0, .L44+52
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L41:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r3, [r3]
	sub	r3, r3, #2
	ldrh	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L42
	ldr	r3, .L44
	ldr	r3, [r3]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L44+56
	bl	fwrite
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L42:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L45:
	.align	2
.L44:
	.word	stdout
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
