	.file	"976520.c"
	.intel_syntax noprefix
	.text
	.local	current_locale
	.comm	current_locale,8,8
	.section	.rodata
	.align 8
.LC0:
	.string	"%s: btowc('%c') failed, returned L'\\x%x' instead of L'\\x%x'\n"
	.text
	.type	ok_test, @function
ok_test:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	btowc@PLT
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	je	.L2
	mov	rax, QWORD PTR current_locale[rip]
	mov	esi, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -4[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	r8d, esi
	mov	rsi, rax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L3
.L2:
	mov	eax, 0
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	ok_test, .-ok_test
	.section	.rodata
	.align 8
.LC1:
	.string	"%s: btowc('%c') succeded, returned L'\\x%x' instead of WEOF\n"
	.text
	.type	fail_test, @function
fail_test:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	btowc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L5
	mov	rax, QWORD PTR current_locale[rip]
	mov	ecx, DWORD PTR -4[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	rsi, rax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L6
.L5:
	mov	eax, 0
.L6:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	fail_test, .-fail_test
	.section	.rodata
	.align 8
.LC2:
	.string	"%s: btowc(EOF) returned L'\\x%x', not WEOF\n"
	.text
	.type	eof_test, @function
eof_test:
.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	edi, -1
	call	btowc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L8
	mov	rax, QWORD PTR current_locale[rip]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
.L8:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	eof_test, .-eof_test
	.section	.rodata
.LC3:
	.string	"WEOF=0x%08x\n"
.LC4:
	.string	"WCHAR_MIN=0x%08lx\n"
.LC5:
	.string	"WCHAR_MAX=0x%08lx\n"
.LC6:
	.string	"C"
.LC7:
	.string	"cannot set locale \"C\""
.LC8:
	.string	"locale '%s' ok\n"
.LC9:
	.string	"en_US.ANSI_X3.4-1968"
	.align 8
.LC10:
	.string	"cannot set locale \"en_US.ANSI_X3.4-1968\""
.LC11:
	.string	"de_DE.ISO-8859-1"
	.align 8
.LC12:
	.string	"cannot set locale \"de_DE.ISO-8859-1\""
.LC13:
	.string	"de_DE.UTF-8"
	.align 8
.LC14:
	.string	"cannot set locale \"de_DE.UTF-8\""
.LC15:
	.string	"hr_HR.ISO-8859-2"
	.align 8
.LC16:
	.string	"cannot set locale \"hr_HR.ISO-8859-2\""
.LC17:
	.string	"all OK"
	.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
	sub	rsp, 48
	mov	DWORD PTR -44[rbp], 0
	mov	esi, -1
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, -2147483648
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 2147483647
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, .LC6[rip]
	mov	edi, 6
	call	setlocale@PLT
	mov	QWORD PTR current_locale[rip], rax
	mov	rax, QWORD PTR current_locale[rip]
	test	rax, rax
	jne	.L11
	lea	rdi, .LC7[rip]
	call	puts@PLT
	mov	DWORD PTR -44[rbp], 1
	jmp	.L12
.L11:
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -40[rbp], 0
	jmp	.L13
.L14:
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ok_test
	or	DWORD PTR -36[rbp], eax
	add	DWORD PTR -40[rbp], 1
.L13:
	cmp	DWORD PTR -40[rbp], 127
	jle	.L14
	mov	DWORD PTR -40[rbp], 128
	jmp	.L15
.L16:
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	fail_test
	or	DWORD PTR -36[rbp], eax
	add	DWORD PTR -40[rbp], 1
.L15:
	cmp	DWORD PTR -40[rbp], 255
	jle	.L16
	call	eof_test
	or	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	or	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jne	.L12
	mov	rax, QWORD PTR current_locale[rip]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
.L12:
	lea	rsi, .LC9[rip]
	mov	edi, 6
	call	setlocale@PLT
	mov	QWORD PTR current_locale[rip], rax
	mov	rax, QWORD PTR current_locale[rip]
	test	rax, rax
	jne	.L17
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	DWORD PTR -44[rbp], 1
	jmp	.L18
.L17:
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	jmp	.L19
.L20:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ok_test
	or	DWORD PTR -28[rbp], eax
	add	DWORD PTR -32[rbp], 1
.L19:
	cmp	DWORD PTR -32[rbp], 127
	jle	.L20
	mov	DWORD PTR -32[rbp], 128
	jmp	.L21
.L22:
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	fail_test
	or	DWORD PTR -28[rbp], eax
	add	DWORD PTR -32[rbp], 1
.L21:
	cmp	DWORD PTR -32[rbp], 255
	jle	.L22
	call	eof_test
	or	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	or	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L18
	mov	rax, QWORD PTR current_locale[rip]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
.L18:
	lea	rsi, .LC11[rip]
	mov	edi, 6
	call	setlocale@PLT
	mov	QWORD PTR current_locale[rip], rax
	mov	rax, QWORD PTR current_locale[rip]
	test	rax, rax
	jne	.L23
	lea	rdi, .LC12[rip]
	call	puts@PLT
	mov	DWORD PTR -44[rbp], 1
	jmp	.L24
.L23:
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	jmp	.L25
.L26:
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ok_test
	or	DWORD PTR -20[rbp], eax
	add	DWORD PTR -24[rbp], 1
.L25:
	cmp	DWORD PTR -24[rbp], 255
	jle	.L26
	call	eof_test
	or	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	or	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L24
	mov	rax, QWORD PTR current_locale[rip]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
.L24:
	lea	rsi, .LC13[rip]
	mov	edi, 6
	call	setlocale@PLT
	mov	QWORD PTR current_locale[rip], rax
	mov	rax, QWORD PTR current_locale[rip]
	test	rax, rax
	jne	.L27
	lea	rdi, .LC14[rip]
	call	puts@PLT
	mov	DWORD PTR -44[rbp], 1
	jmp	.L28
.L27:
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L29
.L30:
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ok_test
	or	DWORD PTR -12[rbp], eax
	add	DWORD PTR -16[rbp], 1
.L29:
	cmp	DWORD PTR -16[rbp], 127
	jle	.L30
	mov	DWORD PTR -16[rbp], 128
	jmp	.L31
.L32:
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	fail_test
	or	DWORD PTR -12[rbp], eax
	add	DWORD PTR -16[rbp], 1
.L31:
	cmp	DWORD PTR -16[rbp], 255
	jle	.L32
	call	eof_test
	or	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	or	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L28
	mov	rax, QWORD PTR current_locale[rip]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
.L28:
	lea	rsi, .LC15[rip]
	mov	edi, 6
	call	setlocale@PLT
	mov	QWORD PTR current_locale[rip], rax
	mov	rax, QWORD PTR current_locale[rip]
	test	rax, rax
	jne	.L33
	lea	rdi, .LC16[rip]
	call	puts@PLT
	mov	DWORD PTR -44[rbp], 1
	jmp	.L34
.L33:
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L35
.L36:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ok_test
	or	DWORD PTR -4[rbp], eax
	add	DWORD PTR -8[rbp], 1
.L35:
	cmp	DWORD PTR -8[rbp], 160
	jle	.L36
	mov	DWORD PTR -8[rbp], 161
	jmp	.L37
.L38:
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 161
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, upper_half.0[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ok_test
	or	DWORD PTR -4[rbp], eax
	add	DWORD PTR -8[rbp], 1
.L37:
	cmp	DWORD PTR -8[rbp], 255
	jle	.L38
	call	eof_test
	or	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	or	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L34
	mov	rax, QWORD PTR current_locale[rip]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
.L34:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L39
	lea	rdi, .LC17[rip]
	call	puts@PLT
.L39:
	mov	eax, DWORD PTR -44[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	main, .-main
	.section	.rodata
	.align 32
	.type	upper_half.0, @object
	.size	upper_half.0, 380
upper_half.0:
	.long	260
	.long	728
	.long	321
	.long	164
	.long	317
	.long	346
	.long	167
	.long	168
	.long	352
	.long	350
	.long	356
	.long	377
	.long	173
	.long	381
	.long	379
	.long	176
	.long	261
	.long	731
	.long	322
	.long	180
	.long	318
	.long	347
	.long	711
	.long	184
	.long	353
	.long	351
	.long	357
	.long	378
	.long	733
	.long	382
	.long	380
	.long	340
	.long	193
	.long	194
	.long	258
	.long	196
	.long	313
	.long	262
	.long	199
	.long	268
	.long	201
	.long	280
	.long	203
	.long	282
	.long	205
	.long	206
	.long	270
	.long	272
	.long	323
	.long	327
	.long	211
	.long	212
	.long	336
	.long	214
	.long	215
	.long	344
	.long	366
	.long	218
	.long	368
	.long	220
	.long	221
	.long	354
	.long	223
	.long	341
	.long	225
	.long	226
	.long	259
	.long	228
	.long	314
	.long	263
	.long	231
	.long	269
	.long	233
	.long	281
	.long	235
	.long	283
	.long	237
	.long	238
	.long	271
	.long	273
	.long	324
	.long	328
	.long	243
	.long	244
	.long	337
	.long	246
	.long	247
	.long	345
	.long	367
	.long	250
	.long	369
	.long	252
	.long	253
	.long	355
	.long	729
	.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	"976520.c"
	.text
	.local	current_locale
	.comm	current_locale,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"%s: btowc('%c') failed, returned L'\\x%x' instead o"
	.ascii	"f L'\\x%x'\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ok_test, %function
ok_test:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	btowc
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L2
	ldr	r3, .L4
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r0, .L4+4
	bl	printf
	mov	r3, #1
	b	.L3
.L2:
	mov	r3, #0
.L3:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5:
	.align	2
.L4:
	.word	current_locale
	.word	.LC0
	.size	ok_test, .-ok_test
	.section	.rodata
	.align	2
.LC1:
	.ascii	"%s: btowc('%c') succeded, returned L'\\x%x' instead"
	.ascii	" of WEOF\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fail_test, %function
fail_test:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	btowc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L7
	ldr	r3, .L9
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r0, .L9+4
	bl	printf
	mov	r3, #1
	b	.L8
.L7:
	mov	r3, #0
.L8:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	current_locale
	.word	.LC1
	.size	fail_test, .-fail_test
	.section	.rodata
	.align	2
.LC2:
	.ascii	"%s: btowc(EOF) returned L'\\x%x', not WEOF\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	eof_test, %function
eof_test:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mvn	r0, #0
	bl	btowc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L12
	ldr	r3, .L14
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L14+4
	bl	printf
.L12:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L15:
	.align	2
.L14:
	.word	current_locale
	.word	.LC2
	.size	eof_test, .-eof_test
	.section	.rodata
	.align	2
.LC3:
	.ascii	"WEOF=0x%08x\012\000"
	.align	2
.LC4:
	.ascii	"WCHAR_MIN=0x%08lx\012\000"
	.align	2
.LC5:
	.ascii	"WCHAR_MAX=0x%08lx\012\000"
	.align	2
.LC6:
	.ascii	"C\000"
	.align	2
.LC7:
	.ascii	"cannot set locale \"C\"\000"
	.align	2
.LC8:
	.ascii	"locale '%s' ok\012\000"
	.align	2
.LC9:
	.ascii	"en_US.ANSI_X3.4-1968\000"
	.align	2
.LC10:
	.ascii	"cannot set locale \"en_US.ANSI_X3.4-1968\"\000"
	.align	2
.LC11:
	.ascii	"de_DE.ISO-8859-1\000"
	.align	2
.LC12:
	.ascii	"cannot set locale \"de_DE.ISO-8859-1\"\000"
	.align	2
.LC13:
	.ascii	"de_DE.UTF-8\000"
	.align	2
.LC14:
	.ascii	"cannot set locale \"de_DE.UTF-8\"\000"
	.align	2
.LC15:
	.ascii	"hr_HR.ISO-8859-2\000"
	.align	2
.LC16:
	.ascii	"cannot set locale \"hr_HR.ISO-8859-2\"\000"
	.align	2
.LC17:
	.ascii	"all OK\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	mov	r3, #0
	str	r3, [fp, #-48]
	mvn	r1, #0
	ldr	r0, .L47
	bl	printf
	mov	r1, #0
	ldr	r0, .L47+4
	bl	printf
	mvn	r1, #0
	ldr	r0, .L47+8
	bl	printf
	ldr	r1, .L47+12
	mov	r0, #6
	bl	setlocale
	mov	r3, r0
	ldr	r2, .L47+16
	str	r3, [r2]
	ldr	r3, .L47+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L17
	ldr	r0, .L47+20
	bl	puts
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L18
.L17:
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L19
.L20:
	ldr	r3, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-44]
	bl	ok_test
	mov	r2, r0
	ldr	r3, [fp, #-40]
	orr	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L19:
	ldr	r3, [fp, #-44]
	cmp	r3, #127
	ble	.L20
	mov	r3, #128
	str	r3, [fp, #-44]
	b	.L21
.L22:
	ldr	r0, [fp, #-44]
	bl	fail_test
	mov	r2, r0
	ldr	r3, [fp, #-40]
	orr	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L21:
	ldr	r3, [fp, #-44]
	cmp	r3, #255
	ble	.L22
	bl	eof_test
	mov	r2, r0
	ldr	r3, [fp, #-40]
	orr	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-40]
	orr	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L18
	ldr	r3, .L47+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L47+24
	bl	printf
.L18:
	ldr	r1, .L47+28
	mov	r0, #6
	bl	setlocale
	mov	r3, r0
	ldr	r2, .L47+16
	str	r3, [r2]
	ldr	r3, .L47+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L23
	ldr	r0, .L47+32
	bl	puts
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L24
.L23:
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L25
.L26:
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	ok_test
	mov	r2, r0
	ldr	r3, [fp, #-32]
	orr	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L25:
	ldr	r3, [fp, #-36]
	cmp	r3, #127
	ble	.L26
	mov	r3, #128
	str	r3, [fp, #-36]
	b	.L27
.L28:
	ldr	r0, [fp, #-36]
	bl	fail_test
	mov	r2, r0
	ldr	r3, [fp, #-32]
	orr	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L27:
	ldr	r3, [fp, #-36]
	cmp	r3, #255
	ble	.L28
	bl	eof_test
	mov	r2, r0
	ldr	r3, [fp, #-32]
	orr	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	orr	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L24
	ldr	r3, .L47+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L47+24
	bl	printf
.L24:
	ldr	r1, .L47+36
	mov	r0, #6
	bl	setlocale
	mov	r3, r0
	ldr	r2, .L47+16
	str	r3, [r2]
	ldr	r3, .L47+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L29
	ldr	r0, .L47+40
	bl	puts
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L30
.L29:
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L31
.L32:
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ok_test
	mov	r2, r0
	ldr	r3, [fp, #-24]
	orr	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L31:
	ldr	r3, [fp, #-28]
	cmp	r3, #255
	ble	.L32
	bl	eof_test
	mov	r2, r0
	ldr	r3, [fp, #-24]
	orr	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-24]
	orr	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L30
	ldr	r3, .L47+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L47+24
	bl	printf
.L30:
	ldr	r1, .L47+44
	mov	r0, #6
	bl	setlocale
	mov	r3, r0
	ldr	r2, .L47+16
	str	r3, [r2]
	ldr	r3, .L47+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L33
	ldr	r0, .L47+48
	bl	puts
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L34
.L33:
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L35
.L36:
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	ok_test
	mov	r2, r0
	ldr	r3, [fp, #-16]
	orr	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L35:
	ldr	r3, [fp, #-20]
	cmp	r3, #127
	ble	.L36
	mov	r3, #128
	str	r3, [fp, #-20]
	b	.L37
.L38:
	ldr	r0, [fp, #-20]
	bl	fail_test
	mov	r2, r0
	ldr	r3, [fp, #-16]
	orr	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L37:
	ldr	r3, [fp, #-20]
	cmp	r3, #255
	ble	.L38
	bl	eof_test
	mov	r2, r0
	ldr	r3, [fp, #-16]
	orr	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-16]
	orr	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L34
	ldr	r3, .L47+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L47+24
	bl	printf
.L34:
	ldr	r1, .L47+52
	mov	r0, #6
	bl	setlocale
	mov	r3, r0
	ldr	r2, .L47+16
	str	r3, [r2]
	ldr	r3, .L47+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L39
	ldr	r0, .L47+56
	bl	puts
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L40
.L39:
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L41
.L42:
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	ok_test
	mov	r2, r0
	ldr	r3, [fp, #-8]
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L41:
	ldr	r3, [fp, #-12]
	cmp	r3, #160
	ble	.L42
	mov	r3, #161
	str	r3, [fp, #-12]
	b	.L43
.L44:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #161
	ldr	r2, .L47+60
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	ok_test
	mov	r2, r0
	ldr	r3, [fp, #-8]
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L43:
	ldr	r3, [fp, #-12]
	cmp	r3, #255
	ble	.L44
	bl	eof_test
	mov	r2, r0
	ldr	r3, [fp, #-8]
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-8]
	orr	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L40
	ldr	r3, .L47+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L47+24
	bl	printf
.L40:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L45
	ldr	r0, .L47+64
	bl	puts
.L45:
	ldr	r3, [fp, #-48]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L48:
	.align	2
.L47:
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	current_locale
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	upper_half.4984
	.word	.LC17
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	upper_half.4984, %object
	.size	upper_half.4984, 380
upper_half.4984:
	.word	260
	.word	728
	.word	321
	.word	164
	.word	317
	.word	346
	.word	167
	.word	168
	.word	352
	.word	350
	.word	356
	.word	377
	.word	173
	.word	381
	.word	379
	.word	176
	.word	261
	.word	731
	.word	322
	.word	180
	.word	318
	.word	347
	.word	711
	.word	184
	.word	353
	.word	351
	.word	357
	.word	378
	.word	733
	.word	382
	.word	380
	.word	340
	.word	193
	.word	194
	.word	258
	.word	196
	.word	313
	.word	262
	.word	199
	.word	268
	.word	201
	.word	280
	.word	203
	.word	282
	.word	205
	.word	206
	.word	270
	.word	272
	.word	323
	.word	327
	.word	211
	.word	212
	.word	336
	.word	214
	.word	215
	.word	344
	.word	366
	.word	218
	.word	368
	.word	220
	.word	221
	.word	354
	.word	223
	.word	341
	.word	225
	.word	226
	.word	259
	.word	228
	.word	314
	.word	263
	.word	231
	.word	269
	.word	233
	.word	281
	.word	235
	.word	283
	.word	237
	.word	238
	.word	271
	.word	273
	.word	324
	.word	328
	.word	243
	.word	244
	.word	337
	.word	246
	.word	247
	.word	345
	.word	367
	.word	250
	.word	369
	.word	252
	.word	253
	.word	355
	.word	729
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
