	.file	"407427.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 8
	.type	g_pcADPCMIndex, @object
	.size	g_pcADPCMIndex, 8
g_pcADPCMIndex:
	.ascii	"\377\377\377\377\002\004\006\b"
	.align 32
	.type	g_pusADPCMStep, @object
	.size	g_pusADPCMStep, 178
g_pusADPCMStep:
	.value	7
	.value	8
	.value	9
	.value	10
	.value	11
	.value	12
	.value	13
	.value	14
	.value	16
	.value	17
	.value	19
	.value	21
	.value	23
	.value	25
	.value	28
	.value	31
	.value	34
	.value	37
	.value	41
	.value	45
	.value	50
	.value	55
	.value	60
	.value	66
	.value	73
	.value	80
	.value	88
	.value	97
	.value	107
	.value	118
	.value	130
	.value	143
	.value	157
	.value	173
	.value	190
	.value	209
	.value	230
	.value	253
	.value	279
	.value	307
	.value	337
	.value	371
	.value	408
	.value	449
	.value	494
	.value	544
	.value	598
	.value	658
	.value	724
	.value	796
	.value	876
	.value	963
	.value	1060
	.value	1166
	.value	1282
	.value	1411
	.value	1552
	.value	1707
	.value	1878
	.value	2066
	.value	2272
	.value	2499
	.value	2749
	.value	3024
	.value	3327
	.value	3660
	.value	4026
	.value	4428
	.value	4871
	.value	5358
	.value	5894
	.value	6484
	.value	7132
	.value	7845
	.value	8630
	.value	9493
	.value	10442
	.value	11487
	.value	12635
	.value	13899
	.value	15289
	.value	16818
	.value	18500
	.value	20350
	.value	22385
	.value	24623
	.value	27086
	.value	29794
	.value	32767
	.local	g_lStepIndex
	.comm	g_lStepIndex,8,8
	.local	g_sPreviousOutput
	.comm	g_sPreviousOutput,2,2
	.text
	.type	ADPCMInit, @function
ADPCMInit:
.LFB0:
	.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 g_lStepIndex[rip], 0
	mov	WORD PTR g_sPreviousOutput[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	ADPCMInit, .-ADPCMInit
	.type	ADPCMDecode, @function
ADPCMDecode:
.LFB1:
	.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
	mov	BYTE PTR -20[rbp], al
	movsx	eax, BYTE PTR -20[rbp]
	and	eax, 7
	add	eax, eax
	lea	ecx, 1[rax]
	mov	rax, QWORD PTR g_lStepIndex[rip]
	lea	rdx, [rax+rax]
	lea	rax, g_pusADPCMStep[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	imul	eax, ecx
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	cdqe
	mov	QWORD PTR -8[rbp], rax
	movsx	eax, BYTE PTR -20[rbp]
	and	eax, 8
	test	eax, eax
	je	.L3
	movzx	eax, WORD PTR g_sPreviousOutput[rip]
	movsx	rax, ax
	sub	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], -32768
	jge	.L4
	mov	QWORD PTR -8[rbp], -32768
	jmp	.L4
.L3:
	movzx	eax, WORD PTR g_sPreviousOutput[rip]
	movsx	rax, ax
	add	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 32767
	jle	.L4
	mov	QWORD PTR -8[rbp], 32767
.L4:
	mov	rax, QWORD PTR -8[rbp]
	mov	WORD PTR g_sPreviousOutput[rip], ax
	movsx	eax, BYTE PTR -20[rbp]
	and	eax, 7
	cdqe
	lea	rdx, g_pcADPCMIndex[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	rdx, al
	mov	rax, QWORD PTR g_lStepIndex[rip]
	add	rax, rdx
	mov	QWORD PTR g_lStepIndex[rip], rax
	mov	rax, QWORD PTR g_lStepIndex[rip]
	test	rax, rax
	jns	.L5
	mov	QWORD PTR g_lStepIndex[rip], 0
.L5:
	mov	rax, QWORD PTR g_lStepIndex[rip]
	cmp	rax, 88
	jle	.L6
	mov	QWORD PTR g_lStepIndex[rip], 88
.L6:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	ADPCMDecode, .-ADPCMDecode
	.type	ADPCMEncode, @function
ADPCMEncode:
.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, 40
	mov	eax, edi
	mov	WORD PTR -36[rbp], ax
	movsx	eax, WORD PTR -36[rbp]
	movzx	edx, WORD PTR g_sPreviousOutput[rip]
	movsx	edx, dx
	sub	eax, edx
	cdqe
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jns	.L9
	mov	QWORD PTR -8[rbp], 1
	neg	QWORD PTR -24[rbp]
	jmp	.L10
.L9:
	mov	QWORD PTR -8[rbp], 0
.L10:
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 2
	mov	rdx, QWORD PTR g_lStepIndex[rip]
	lea	rcx, [rdx+rdx]
	lea	rdx, g_pusADPCMStep[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movzx	esi, dx
	cqo
	idiv	rsi
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 7
	jle	.L11
	mov	QWORD PTR -16[rbp], 7
.L11:
	cmp	QWORD PTR -8[rbp], 0
	je	.L12
	or	QWORD PTR -16[rbp], 8
.L12:
	mov	rax, QWORD PTR -16[rbp]
	movsx	eax, al
	mov	edi, eax
	call	ADPCMDecode
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	ADPCMEncode, .-ADPCMEncode
	.section	.rodata
	.align 8
.LC0:
	.string	"Usage: %s [OPTION]... [INPUT FILE]\n"
	.align 8
.LC1:
	.string	"Converts a raw 16-bit, mono PCM input file to a C array with PCM or ADPCM.\n"
.LC2:
	.string	"Options are:\n"
	.align 8
.LC3:
	.string	"  -a            Encode to 4-bit IMA ADPCM\n"
	.align 8
.LC4:
	.string	"  -c COUNT      Maximum number of output bytes\n"
	.align 8
.LC5:
	.string	"  -n NAME       Specify the name of the C array\n"
	.align 8
.LC6:
	.string	"  -o FILENAME   Specify the name of the output file\n"
	.align 8
.LC7:
	.string	"  -p            Encode to 8-bit PCM\n"
	.align 8
.LC8:
	.string	"  -s SKIP       Number of initial input samples to skip\n"
	.align 8
.LC9:
	.string	"If the input filename is not specified, standard input will be used.\n"
	.align 8
.LC10:
	.string	"If the output filename is not specified, standard output will be used.\n"
.LC11:
	.string	"Version 10636\n"
	.align 8
.LC12:
	.string	"Report bugs to <support_lmi@ti.com>.\n"
	.text
	.globl	Usage
	.type	Usage, @function
Usage:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 75
	mov	esi, 1
	lea	rdi, .LC1[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 42
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 47
	mov	esi, 1
	lea	rdi, .LC4[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 48
	mov	esi, 1
	lea	rdi, .LC5[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 52
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 36
	mov	esi, 1
	lea	rdi, .LC7[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 56
	mov	esi, 1
	lea	rdi, .LC8[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 69
	mov	esi, 1
	lea	rdi, .LC9[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 71
	mov	esi, 1
	lea	rdi, .LC10[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC11[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 37
	mov	esi, 1
	lea	rdi, .LC12[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	Usage, .-Usage
	.section	.rodata
.LC13:
	.string	"g_pucAudioData"
	.align 8
.LC14:
	.string	"Try `%s -h' for more information.\n"
.LC15:
	.string	"?ac:hn:o:ps:"
	.align 8
.LC16:
	.string	"%s: An output mode must be specified!\n"
	.align 8
.LC17:
	.string	"%s: Too many arguments specified!\n"
.LC18:
	.string	"rb"
	.align 8
.LC19:
	.string	"%s: Unable to open input file '%s'!\n"
.LC20:
	.string	"%s: Unable to open stdin!\n"
.LC21:
	.string	"wb"
	.align 8
.LC22:
	.string	"%s: Unable to create output file '%s'!\n"
.LC23:
	.string	"w"
.LC24:
	.string	"%s: Unable to open stdout!\n"
	.align 8
.LC25:
	.string	"// AUTOMATICALLY GENERATED FILE -- DO NOT EDIT!\n"
.LC26:
	.string	"const unsigned char %s[] =\n"
.LC27:
	.string	"{\n"
.LC28:
	.string	"    0x%02lx,"
.LC29:
	.string	" 0x%02lx,\n"
.LC30:
	.string	" 0x%02lx,"
.LC31:
	.string	"};\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -64[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	lea	rax, .LC13[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -80[rbp], 0
	mov	QWORD PTR -88[rbp], 2147483647
	mov	QWORD PTR -96[rbp], 0
	jmp	.L16
.L27:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 63
	cmp	rax, 52
	ja	.L17
	lea	rdx, 0[0+rax*4]
	lea	rax, .L19[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L19[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L19:
	.long	.L23-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L25-.L19
	.long	.L17-.L19
	.long	.L24-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L23-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L22-.L19
	.long	.L21-.L19
	.long	.L20-.L19
	.long	.L17-.L19
	.long	.L17-.L19
	.long	.L18-.L19
	.text
.L25:
	mov	QWORD PTR -96[rbp], 2
	jmp	.L16
.L24:
	mov	rax, QWORD PTR optarg[rip]
	mov	rdi, rax
	mov	eax, 0
	call	atoi@PLT
	cdqe
	mov	QWORD PTR -88[rbp], rax
	jmp	.L16
.L23:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Usage
	mov	eax, 1
	jmp	.L51
.L22:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L16
.L21:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L16
.L20:
	mov	QWORD PTR -96[rbp], 1
	jmp	.L16
.L18:
	mov	rax, QWORD PTR optarg[rip]
	mov	rdi, rax
	mov	eax, 0
	call	atoi@PLT
	cdqe
	mov	QWORD PTR -80[rbp], rax
	jmp	.L16
.L17:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L51
.L16:
	mov	rcx, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR -100[rbp]
	lea	rdx, .LC15[rip]
	mov	rsi, rcx
	mov	edi, eax
	call	getopt@PLT
	cdqe
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], -1
	jne	.L27
	cmp	QWORD PTR -96[rbp], 0
	jne	.L28
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Usage
	mov	eax, 1
	jmp	.L51
.L28:
	mov	eax, DWORD PTR optind[rip]
	cmp	DWORD PTR -100[rbp], eax
	je	.L29
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR optind[rip]
	cmp	edx, eax
	je	.L29
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Usage
	mov	eax, 1
	jmp	.L51
.L29:
	mov	eax, DWORD PTR optind[rip]
	cmp	DWORD PTR -100[rbp], eax
	jle	.L30
	mov	eax, DWORD PTR optind[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
.L30:
	cmp	QWORD PTR -64[rbp], 0
	je	.L31
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L32
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rsi, rax
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, rdx
	mov	rdx, rsi
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L51
.L31:
	lea	rsi, .LC18[rip]
	mov	edi, 0
	call	fdopen@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L32
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L51
.L32:
	cmp	QWORD PTR -56[rbp], 0
	je	.L33
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L35
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rsi, rax
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, rdx
	mov	rdx, rsi
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L51
.L33:
	lea	rsi, .LC23[rip]
	mov	edi, 1
	call	fdopen@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L35
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__xpg_basename@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, 1
	jmp	.L51
.L36:
	mov	rdx, QWORD PTR -40[rbp]
	lea	rax, -16[rbp]
	mov	rcx, rdx
	mov	edx, 2
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	sub	QWORD PTR -80[rbp], 1
.L35:
	cmp	QWORD PTR -80[rbp], 0
	jne	.L36
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rax
	mov	edx, 48
	mov	esi, 1
	lea	rdi, .LC25[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	cmp	QWORD PTR -96[rbp], 1
	jne	.L37
	mov	QWORD PTR -72[rbp], 0
	jmp	.L38
.L43:
	movzx	eax, WORD PTR -16[rbp]
	movsx	rax, ax
	add	rax, 32768
	lea	rdx, 255[rax]
	test	rax, rax
	cmovs	rax, rdx
	sar	rax, 8
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L39
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L40
.L39:
	cmp	QWORD PTR -72[rbp], 11
	jne	.L41
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC29[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	QWORD PTR -72[rbp], -1
	jmp	.L40
.L41:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L40:
	sub	QWORD PTR -88[rbp], 1
	add	QWORD PTR -72[rbp], 1
.L38:
	mov	rdx, QWORD PTR -40[rbp]
	lea	rax, -16[rbp]
	mov	rcx, rdx
	mov	edx, 2
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	cmp	rax, 2
	jne	.L42
	cmp	QWORD PTR -88[rbp], 0
	jne	.L43
.L42:
	cmp	QWORD PTR -72[rbp], 0
	je	.L44
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	jmp	.L44
.L37:
	cmp	QWORD PTR -96[rbp], 2
	jne	.L44
	call	ADPCMInit
	mov	QWORD PTR -72[rbp], 0
	jmp	.L45
.L50:
	movzx	eax, WORD PTR -16[rbp]
	cwde
	mov	edi, eax
	call	ADPCMEncode
	movsx	eax, al
	sal	eax, 4
	cdqe
	mov	QWORD PTR -24[rbp], rax
	movzx	eax, WORD PTR -14[rbp]
	cwde
	mov	edi, eax
	call	ADPCMEncode
	movsx	rax, al
	or	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L46
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L47
.L46:
	cmp	QWORD PTR -72[rbp], 11
	jne	.L48
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC29[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	QWORD PTR -72[rbp], -1
	jmp	.L47
.L48:
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L47:
	sub	QWORD PTR -88[rbp], 1
	add	QWORD PTR -72[rbp], 1
.L45:
	mov	rdx, QWORD PTR -40[rbp]
	lea	rax, -16[rbp]
	mov	rcx, rdx
	mov	edx, 4
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	cmp	rax, 4
	jne	.L49
	cmp	QWORD PTR -88[rbp], 0
	jne	.L50
.L49:
	cmp	QWORD PTR -72[rbp], 0
	je	.L44
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
.L44:
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC31[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
.L51:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L52
	call	__stack_chk_fail@PLT
.L52:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.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	"407427.c"
	.text
	.section	.rodata
	.align	2
	.type	g_pcADPCMIndex, %object
	.size	g_pcADPCMIndex, 8
g_pcADPCMIndex:
	.ascii	"\377\377\377\377\002\004\006\010"
	.align	2
	.type	g_pusADPCMStep, %object
	.size	g_pusADPCMStep, 178
g_pusADPCMStep:
	.short	7
	.short	8
	.short	9
	.short	10
	.short	11
	.short	12
	.short	13
	.short	14
	.short	16
	.short	17
	.short	19
	.short	21
	.short	23
	.short	25
	.short	28
	.short	31
	.short	34
	.short	37
	.short	41
	.short	45
	.short	50
	.short	55
	.short	60
	.short	66
	.short	73
	.short	80
	.short	88
	.short	97
	.short	107
	.short	118
	.short	130
	.short	143
	.short	157
	.short	173
	.short	190
	.short	209
	.short	230
	.short	253
	.short	279
	.short	307
	.short	337
	.short	371
	.short	408
	.short	449
	.short	494
	.short	544
	.short	598
	.short	658
	.short	724
	.short	796
	.short	876
	.short	963
	.short	1060
	.short	1166
	.short	1282
	.short	1411
	.short	1552
	.short	1707
	.short	1878
	.short	2066
	.short	2272
	.short	2499
	.short	2749
	.short	3024
	.short	3327
	.short	3660
	.short	4026
	.short	4428
	.short	4871
	.short	5358
	.short	5894
	.short	6484
	.short	7132
	.short	7845
	.short	8630
	.short	9493
	.short	10442
	.short	11487
	.short	12635
	.short	13899
	.short	15289
	.short	16818
	.short	18500
	.short	20350
	.short	22385
	.short	24623
	.short	27086
	.short	29794
	.short	32767
	.local	g_lStepIndex
	.comm	g_lStepIndex,4,4
	.local	g_sPreviousOutput
	.comm	g_sPreviousOutput,2,2
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ADPCMInit, %function
ADPCMInit:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L2
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L2+4
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L3:
	.align	2
.L2:
	.word	g_lStepIndex
	.word	g_sPreviousOutput
	.size	ADPCMInit, .-ADPCMInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ADPCMDecode, %function
ADPCMDecode:
	@ 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
	mov	r3, r0
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #1
	add	r3, r3, #1
	ldr	r2, .L10
	ldr	r2, [r2]
	ldr	r1, .L10+4
	lsl	r2, r2, #1
	add	r2, r1, r2
	ldrh	r2, [r2]
	mul	r3, r2, r3
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-8]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L5
	ldr	r3, .L10+8
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #32768
	bge	.L6
	ldr	r3, .L10+12
	str	r3, [fp, #-8]
	b	.L6
.L5:
	ldr	r3, .L10+8
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #32768
	blt	.L6
	ldr	r3, .L10+16
	str	r3, [fp, #-8]
.L6:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	ldr	r2, .L10+8
	strh	r3, [r2]	@ movhi
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	and	r3, r3, #7
	ldr	r2, .L10+20
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L10
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L10
	str	r3, [r2]
	ldr	r3, .L10
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L7
	ldr	r3, .L10
	mov	r2, #0
	str	r2, [r3]
.L7:
	ldr	r3, .L10
	ldr	r3, [r3]
	cmp	r3, #88
	ble	.L8
	ldr	r3, .L10
	mov	r2, #88
	str	r2, [r3]
.L8:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L11:
	.align	2
.L10:
	.word	g_lStepIndex
	.word	g_pusADPCMStep
	.word	g_sPreviousOutput
	.word	-32768
	.word	32767
	.word	g_pcADPCMIndex
	.size	ADPCMDecode, .-ADPCMDecode
	.global	__aeabi_idiv
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ADPCMEncode, %function
ADPCMEncode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	mov	r3, r0
	strh	r3, [fp, #-22]	@ movhi
	ldrsh	r3, [fp, #-22]
	ldr	r2, .L18
	ldrsh	r2, [r2]
	sub	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L13
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #0
	str	r3, [fp, #-16]
	b	.L14
.L13:
	mov	r3, #0
	str	r3, [fp, #-8]
.L14:
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #2
	ldr	r3, .L18+4
	ldr	r3, [r3]
	ldr	r1, .L18+8
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrh	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	ble	.L15
	mov	r3, #7
	str	r3, [fp, #-12]
.L15:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L16
	ldr	r3, [fp, #-12]
	orr	r3, r3, #8
	str	r3, [fp, #-12]
.L16:
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	mov	r0, r3
	bl	ADPCMDecode
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L19:
	.align	2
.L18:
	.word	g_sPreviousOutput
	.word	g_lStepIndex
	.word	g_pusADPCMStep
	.size	ADPCMEncode, .-ADPCMEncode
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Usage: %s [OPTION]... [INPUT FILE]\012\000"
	.align	2
.LC1:
	.ascii	"Converts a raw 16-bit, mono PCM input file to a C a"
	.ascii	"rray with PCM or ADPCM.\012\000"
	.align	2
.LC2:
	.ascii	"Options are:\012\000"
	.align	2
.LC3:
	.ascii	"  -a            Encode to 4-bit IMA ADPCM\012\000"
	.align	2
.LC4:
	.ascii	"  -c COUNT      Maximum number of output bytes\012\000"
	.align	2
.LC5:
	.ascii	"  -n NAME       Specify the name of the C array\012"
	.ascii	"\000"
	.align	2
.LC6:
	.ascii	"  -o FILENAME   Specify the name of the output file"
	.ascii	"\012\000"
	.align	2
.LC7:
	.ascii	"  -p            Encode to 8-bit PCM\012\000"
	.align	2
.LC8:
	.ascii	"  -s SKIP       Number of initial input samples to "
	.ascii	"skip\012\000"
	.align	2
.LC9:
	.ascii	"If the input filename is not specified, standard in"
	.ascii	"put will be used.\012\000"
	.align	2
.LC10:
	.ascii	"If the output filename is not specified, standard o"
	.ascii	"utput will be used.\012\000"
	.align	2
.LC11:
	.ascii	"Version 10636\012\000"
	.align	2
.LC12:
	.ascii	"Report bugs to <support_lmi@ti.com>.\012\000"
	.text
	.align	2
	.global	Usage
	.syntax unified
	.arm
	.fpu softvfp
	.type	Usage, %function
Usage:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, .L21
	ldr	r4, [r3]
	ldr	r0, [fp, #-16]
	bl	__xpg_basename
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L21+4
	mov	r0, r4
	bl	fprintf
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #75
	mov	r1, #1
	ldr	r0, .L21+8
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L21+12
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #42
	mov	r1, #1
	ldr	r0, .L21+16
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #47
	mov	r1, #1
	ldr	r0, .L21+20
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #48
	mov	r1, #1
	ldr	r0, .L21+24
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #52
	mov	r1, #1
	ldr	r0, .L21+28
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #36
	mov	r1, #1
	ldr	r0, .L21+32
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #56
	mov	r1, #1
	ldr	r0, .L21+36
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #69
	mov	r1, #1
	ldr	r0, .L21+40
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #71
	mov	r1, #1
	ldr	r0, .L21+44
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L21+48
	bl	fwrite
	ldr	r3, .L21
	ldr	r3, [r3]
	mov	r2, #37
	mov	r1, #1
	ldr	r0, .L21+52
	bl	fwrite
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L22:
	.align	2
.L21:
	.word	stderr
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.size	Usage, .-Usage
	.section	.rodata
	.align	2
.LC13:
	.ascii	"g_pucAudioData\000"
	.align	2
.LC14:
	.ascii	"Try `%s -h' for more information.\012\000"
	.align	2
.LC15:
	.ascii	"?ac:hn:o:ps:\000"
	.align	2
.LC16:
	.ascii	"%s: An output mode must be specified!\012\000"
	.align	2
.LC17:
	.ascii	"%s: Too many arguments specified!\012\000"
	.align	2
.LC18:
	.ascii	"rb\000"
	.align	2
.LC19:
	.ascii	"%s: Unable to open input file '%s'!\012\000"
	.align	2
.LC20:
	.ascii	"%s: Unable to open stdin!\012\000"
	.align	2
.LC21:
	.ascii	"wb\000"
	.align	2
.LC22:
	.ascii	"%s: Unable to create output file '%s'!\012\000"
	.align	2
.LC23:
	.ascii	"w\000"
	.align	2
.LC24:
	.ascii	"%s: Unable to open stdout!\012\000"
	.align	2
.LC25:
	.ascii	"// AUTOMATICALLY GENERATED FILE -- DO NOT EDIT!\012"
	.ascii	"\000"
	.align	2
.LC26:
	.ascii	"const unsigned char %s[] =\012\000"
	.align	2
.LC27:
	.ascii	"{\012\000"
	.align	2
.LC28:
	.ascii	"    0x%02lx,\000"
	.align	2
.LC29:
	.ascii	" 0x%02lx,\012\000"
	.align	2
.LC30:
	.ascii	" 0x%02lx,\000"
	.align	2
.LC31:
	.ascii	"};\012\000"
	.align	2
.LC32:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #68
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L61
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, .L61+4
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-56]
	mvn	r3, #-2147483648
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-64]
	b	.L24
.L35:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #63
	cmp	r3, #52
	ldrls	pc, [pc, r3, asl #2]
	b	.L25
.L27:
	.word	.L31
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L33
	.word	.L25
	.word	.L32
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L31
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L25
	.word	.L30
	.word	.L29
	.word	.L28
	.word	.L25
	.word	.L25
	.word	.L26
.L33:
	mov	r3, #2
	str	r3, [fp, #-64]
	b	.L24
.L32:
	ldr	r3, .L61+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-60]
	b	.L24
.L31:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Usage
	mov	r3, #1
	b	.L59
.L30:
	ldr	r3, .L61+8
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	b	.L24
.L29:
	ldr	r3, .L61+8
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	b	.L24
.L28:
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L24
.L26:
	ldr	r3, .L61+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-56]
	b	.L24
.L25:
	ldr	r3, .L61+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__xpg_basename
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L61+16
	mov	r0, r4
	bl	fprintf
	mov	r3, #1
	b	.L59
.L24:
	ldr	r2, .L61+20
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	bl	getopt
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	bne	.L35
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L36
	ldr	r3, .L61+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__xpg_basename
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L61+24
	mov	r0, r4
	bl	fprintf
	ldr	r3, .L61+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Usage
	mov	r3, #1
	b	.L59
.L36:
	ldr	r3, .L61+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	beq	.L37
	ldr	r3, [fp, #-72]
	sub	r2, r3, #1
	ldr	r3, .L61+28
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L37
	ldr	r3, .L61+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__xpg_basename
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L61+32
	mov	r0, r4
	bl	fprintf
	ldr	r3, .L61+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Usage
	mov	r3, #1
	b	.L59
.L37:
	ldr	r3, .L61+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	ble	.L38
	ldr	r3, .L61+28
	ldr	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-48]
.L38:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L39
	ldr	r1, .L61+36
	ldr	r0, [fp, #-48]
	bl	fopen
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L40
	ldr	r3, .L61+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__xpg_basename
	mov	r2, r0
	ldr	r3, [fp, #-48]
	ldr	r1, .L61+40
	mov	r0, r4
	bl	fprintf
	mov	r3, #1
	b	.L59
.L39:
	ldr	r1, .L61+36
	mov	r0, #0
	bl	fdopen
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L40
	ldr	r3, .L61+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__xpg_basename
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L61+44
	mov	r0, r4
	bl	fprintf
	mov	r3, #1
	b	.L59
.L40:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L41
	ldr	r1, .L61+48
	ldr	r0, [fp, #-44]
	bl	fopen
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L43
	ldr	r3, .L61+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__xpg_basename
	mov	r2, r0
	ldr	r3, [fp, #-44]
	ldr	r1, .L61+52
	mov	r0, r4
	bl	fprintf
	mov	r3, #1
	b	.L59
.L41:
	ldr	r1, .L61+56
	mov	r0, #1
	bl	fdopen
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L43
	ldr	r3, .L61+12
	ldr	r4, [r3]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__xpg_basename
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L61+60
	mov	r0, r4
	bl	fprintf
	mov	r3, #1
	b	.L59
.L44:
	sub	r0, fp, #24
	ldr	r3, [fp, #-36]
	mov	r2, #2
	mov	r1, #1
	bl	fread
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
.L43:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L44
	ldr	r3, [fp, #-32]
	mov	r2, #48
	mov	r1, #1
	ldr	r0, .L61+64
	bl	fwrite
	ldr	r1, [fp, #-32]
	mov	r0, #10
	bl	fputc
	ldr	r2, [fp, #-40]
	ldr	r1, .L61+68
	ldr	r0, [fp, #-32]
	bl	fprintf
	ldr	r3, [fp, #-32]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L61+72
	bl	fwrite
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	bne	.L45
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L46
.L51:
	ldrsh	r3, [fp, #-24]
	add	r3, r3, #32768
	add	r2, r3, #255
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #8
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L47
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, .L61+76
	ldr	r0, [fp, #-32]
	bl	fprintf
	b	.L48
.L47:
	ldr	r3, [fp, #-52]
	cmp	r3, #11
	bne	.L49
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, .L61+80
	ldr	r0, [fp, #-32]
	bl	fprintf
	mvn	r3, #0
	str	r3, [fp, #-52]
	b	.L48
.L49:
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, .L61+84
	ldr	r0, [fp, #-32]
	bl	fprintf
.L48:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L46:
	sub	r0, fp, #24
	ldr	r3, [fp, #-36]
	mov	r2, #2
	mov	r1, #1
	bl	fread
	mov	r3, r0
	cmp	r3, #2
	bne	.L50
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L51
.L50:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L52
	ldr	r1, [fp, #-32]
	mov	r0, #10
	bl	fputc
	b	.L52
.L45:
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	bne	.L52
	bl	ADPCMInit
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L53
.L58:
	ldrsh	r3, [fp, #-24]
	mov	r0, r3
	bl	ADPCMEncode
	mov	r3, r0
	lsl	r3, r3, #4
	str	r3, [fp, #-28]
	ldrsh	r3, [fp, #-22]
	mov	r0, r3
	bl	ADPCMEncode
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	orr	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L54
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, .L61+76
	ldr	r0, [fp, #-32]
	bl	fprintf
	b	.L55
.L54:
	ldr	r3, [fp, #-52]
	cmp	r3, #11
	bne	.L56
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, .L61+80
	ldr	r0, [fp, #-32]
	bl	fprintf
	mvn	r3, #0
	str	r3, [fp, #-52]
	b	.L55
.L56:
	ldr	r3, [fp, #-28]
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, .L61+84
	ldr	r0, [fp, #-32]
	bl	fprintf
.L55:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L53:
	sub	r0, fp, #24
	ldr	r3, [fp, #-36]
	mov	r2, #4
	mov	r1, #1
	bl	fread
	mov	r3, r0
	cmp	r3, #4
	bne	.L57
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L58
.L57:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L52
	ldr	r1, [fp, #-32]
	mov	r0, #10
	bl	fputc
.L52:
	ldr	r3, [fp, #-32]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L61+88
	bl	fwrite
	ldr	r0, [fp, #-32]
	bl	fclose
	ldr	r0, [fp, #-36]
	bl	fclose
	mov	r3, #0
.L59:
	ldr	r2, .L61
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L60
	bl	__stack_chk_fail
.L60:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L62:
	.align	2
.L61:
	.word	.LC32
	.word	.LC13
	.word	optarg
	.word	stderr
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	optind
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
