
;  GNU C 2.7.2 [AL 1.1, MM 40] RISC NEWS-OS compiled by CC

;  Cc1 defaults:
;  -mmemcpy

;  Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1):
;  -quiet -dumpbase -O2 -Wall -o

gcc2_compiled.:
__gnu_compiled_c:
	.code
	.align	1
mp3_id3_tag_v1_read1:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r1,%r13
	ld.w	%r2,%r14
	ld.w	%r3,%r12
	ld.w	%r12,%r1
	ld.w	%r13,%r3
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x1		; 	xsub	%r10,%r2,1
	sub	%r10,%r2
	jrlt	__LX72		; 	xjrlt	__L72
	ld.w	%r0,%r10
	add	%r0,%r1
__LX74:				; __L74:
	ld.b	%r12,[%r0]	; 	xld.b	%r12,[%r0]
	ext	isspace@rm	; 	xcall	isspace
	call	isspace@rl
	cmp	%r10,0x0
	jreq	__LX72		; 	xjreq	__L72
	ld.w	%r11,0x0
	ld.b	[%r0],%r11	; 	xld.b	[%r0],%r11
	sub	%r0,0x1		; 	xsub	%r0,%r0,1
	cmp	%r0,%r1
	jrge	__LX74		; 	xjrge	__L74
__LX72:				; __L72:
	ld.w	%r10,%r3
	add	%r10,%r2
	popn	%r3
	ret
	.code
	.align	2
__LC0:
	.ascii	"TAG\000"
	.code
	.align	1
	.global	mp3_id3_tag_v1_read
mp3_id3_tag_v1_read:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r0,%r12
	ld.w	%r1,%r13
	ld.w	%r12,%r1
	ext	__LC0+0x0@h	; 	xld.w	%r13,__LC0
	ext	__LC0+0x0@m
	ld.w	%r13,__LC0+0x0@l
	ld.w	%r14,0x3	; 	xld.w	%r14,0x00000003		; 3
	ext	memcmp@rm	; 	xcall	memcmp
	call	memcmp@rl
	ld.w	%r2,%r10
	cmp	%r2,0x0
	jrne	__LX78		; 	xjrne	__L78
	ld.w	%r12,%r0
	ld.w	%r13,%r2
	ext	0x2		; 	xld.w	%r14,0x00000088		; 136
	ld.w	%r14,0x8
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	ld.w	%r14,0x3	; 	xld.w	%r14,0x00000003		; 3
	call	mp3_id3_tag_v1_read1	; 	xcall	mp3_id3_tag_v1_read1
	ld.w	%r12,%r10
	ext	0x4		; 	xadd	%r13,%r0,4
	add	%r13,%r0
	ld.w	%r14,0x1e	; 	xld.w	%r14,0x0000001e		; 30
	call	mp3_id3_tag_v1_read1	; 	xcall	mp3_id3_tag_v1_read1
	ld.w	%r12,%r10
	ext	0x23		; 	xadd	%r13,%r0,35
	add	%r13,%r0
	ld.w	%r14,0x1e	; 	xld.w	%r14,0x0000001e		; 30
	call	mp3_id3_tag_v1_read1	; 	xcall	mp3_id3_tag_v1_read1
	ld.w	%r12,%r10
	ext	0x42		; 	xadd	%r13,%r0,66
	add	%r13,%r0
	ld.w	%r14,0x1e	; 	xld.w	%r14,0x0000001e		; 30
	call	mp3_id3_tag_v1_read1	; 	xcall	mp3_id3_tag_v1_read1
	ld.w	%r12,%r10
	ext	0x61		; 	xadd	%r13,%r0,97
	add	%r13,%r0
	ld.w	%r14,0x4	; 	xld.w	%r14,0x00000004		; 4
	call	mp3_id3_tag_v1_read1	; 	xcall	mp3_id3_tag_v1_read1
	ld.w	%r12,%r10
	ext	0x66		; 	xadd	%r13,%r0,102
	add	%r13,%r0
	ld.w	%r14,0x1e	; 	xld.w	%r14,0x0000001e		; 30
	call	mp3_id3_tag_v1_read1	; 	xcall	mp3_id3_tag_v1_read1
	ld.ub	%r10,[%r10]	; 	xld.ub	%r10,[%r10]
	ext	0x86		; 	xld.h	[%r0+134],%r10
	ld.h	[%r0],%r10
	ld.w	%r10,%r2
	jp	__LX79		; 	xjp	__L79
__LX78:				; __L78:
	ld.w	%r10,0x3f	; 	xld.w	%r10,-1			; 0xffffffff
__LX79:				; __L79:
	popn	%r2
	ret
	.align	1
	.global	mp3_bitstream_open
mp3_bitstream_open:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r10,0x0
	ld.h	[%r12],%r10	; 	xld.h	[%r12],%r10
	ext	0x2		; 	xld.h	[%r12+2],%r10
	ld.h	[%r12],%r10
	ext	0x8		; 	xld.w	[%r12+8],%r13
	ld.w	[%r12],%r13
	ret
	.align	1
	.global	mp3_bitstream_skip
mp3_bitstream_skip:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.uh	%r10,[%r12]	; 	xld.uh	%r10,[%r12]
	add	%r10,%r13
	ld.h	[%r12],%r10	; 	xld.h	[%r12],%r10
	ext	0x2		; 	xld.uh	%r10,[%r12+2]
	ld.uh	%r10,[%r12]
	ld.h	%r11,%r10
	cmp	%r11,%r13
	jrge	__LX87		; 	xjrge	__L87
	sub	%r13,%r11
	ld.w	%r11,%r13
	jrge	__LX84		; 	xjrge	__L84
	ext	0x7		; 	xadd	%r11,%r13,7
	add	%r11,%r13
__LX84:				; __L84:
	sra	%r11,0x3	; 	xsra	%r11,3
	ext	0x8		; 	xld.w	%r10,[%r12+8]
	ld.w	%r10,[%r12]
	add	%r10,%r11
	ld.w	%r11,%r10
	ext	0x8		; 	xld.w	[%r12+8],%r11
	ld.w	[%r12],%r11
	and	%r13,0x7	; 	xand	%r13,%r13,0x00000007
	jreq	__LX85		; 	xjreq	__L85
	ext	0x1		; 	xadd	%r10,%r11,1
	add	%r10,%r11
	ext	0x8		; 	xld.w	[%r12+8],%r10
	ld.w	[%r12],%r10
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11]
	ext	0x4		; 	xld.w	[%r12+4],%r10
	ld.w	[%r12],%r10
	ld.w	%r10,0x8	; 	xld.w	%r10,0x00000008		; 8
__LX87:				; __L87:
	sub	%r10,%r13
	ext	0x2		; 	xld.h	[%r12+2],%r10
	ld.h	[%r12],%r10
	jp	__LX83		; 	xjp	__L83
__LX85:				; __L85:
	ld.w	%r14,0x0
	ext	0x2		; 	xld.h	[%r12+2],%r14
	ld.h	[%r12],%r14
__LX83:				; __L83:
	ret
	.align	1
	.global	mp3_read_frame_header
mp3_read_frame_header:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r13,0xc	; 	xld.w	%r13,0x0000000c		; 12
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x2		; 	xld.h	[%r0+2],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x4		; 	xld.h	[%r0+4],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x6		; 	xld.h	[%r0+6],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x4	; 	xld.w	%r13,0x00000004		; 4
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x8		; 	xld.h	[%r0+8],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0xa		; 	xld.h	[%r0+10],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0xc		; 	xld.h	[%r0+12],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0xe		; 	xld.h	[%r0+14],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x10		; 	xld.h	[%r0+16],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x12		; 	xld.h	[%r0+18],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x14		; 	xld.h	[%r0+20],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x16		; 	xld.h	[%r0+22],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x18		; 	xld.h	[%r0+24],%r10
	ld.h	[%r0],%r10
	ld.h	%r10,[%r0]	; 	xld.h	%r10,[%r0]
	ext	0x3f		; 	xcmp	%r10,4095
	cmp	%r10,0x3f
	jrne	__LX94		; 	xjrne	__L94
	ext	0x2		; 	xld.h	%r10,[%r0+2]
	ld.h	%r10,[%r0]
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jrne	__LX94		; 	xjrne	__L94
	ext	0x4		; 	xld.h	%r10,[%r0+4]
	ld.h	%r10,[%r0]
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jreq	__LX91		; 	xjreq	__L91
__LX94:				; __L94:
	ld.w	%r10,0x3f	; 	xld.w	%r10,-1			; 0xffffffff
	jp	__LX93		; 	xjp	__L93
__LX91:				; __L91:
	ext	0x6		; 	xld.h	%r10,[%r0+6]
	ld.h	%r10,[%r0]
	cmp	%r10,0x0
	jrne	__LX92		; 	xjrne	__L92
	ld.w	%r12,%r1
	ld.w	%r13,0x10	; 	xld.w	%r13,0x00000010		; 16
	ext	mp3_bitstream_skip@rm	; 	xcall	mp3_bitstream_skip
	call	mp3_bitstream_skip@rl
__LX92:				; __L92:
	ld.w	%r10,0x0
__LX93:				; __L93:
	popn	%r1
	ret
	.align	1
	.global	mp3_read_granule_info
mp3_read_granule_info:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r13,0xc	; 	xld.w	%r13,0x0000000c		; 12
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x9	; 	xld.w	%r13,0x00000009		; 9
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x2		; 	xld.h	[%r0+2],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x8	; 	xld.w	%r13,0x00000008		; 8
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x4		; 	xld.h	[%r0+4],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x4	; 	xld.w	%r13,0x00000004		; 4
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x6		; 	xld.h	[%r0+6],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x8		; 	xld.h	[%r0+8],%r10
	ld.h	[%r0],%r10
	ld.h	%r10,%r10
	cmp	%r10,0x0
	jrne	__LX96		; 	xjrne	__L96
	ld.w	%r11,0x0
	ext	0xa		; 	xld.h	[%r0+10],%r11
	ld.h	[%r0],%r11
	ld.w	%r12,%r1
	ld.w	%r13,0x5	; 	xld.w	%r13,0x00000005		; 5
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0xe		; 	xld.h	[%r0+14],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x5	; 	xld.w	%r13,0x00000005		; 5
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x10		; 	xld.h	[%r0+16],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x5	; 	xld.w	%r13,0x00000005		; 5
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x12		; 	xld.h	[%r0+18],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x4	; 	xld.w	%r13,0x00000004		; 4
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x1a		; 	xld.h	[%r0+26],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x3	; 	xld.w	%r13,0x00000003		; 3
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	jp	__LX100		; 	xjp	__L100
__LX96:				; __L96:
	ld.w	%r12,%r1
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0xa		; 	xld.h	[%r0+10],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0xc		; 	xld.h	[%r0+12],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x5	; 	xld.w	%r13,0x00000005		; 5
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0xe		; 	xld.h	[%r0+14],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x5	; 	xld.w	%r13,0x00000005		; 5
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x10		; 	xld.h	[%r0+16],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x3	; 	xld.w	%r13,0x00000003		; 3
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x14		; 	xld.h	[%r0+20],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x3	; 	xld.w	%r13,0x00000003		; 3
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x16		; 	xld.h	[%r0+22],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x3	; 	xld.w	%r13,0x00000003		; 3
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x18		; 	xld.h	[%r0+24],%r10
	ld.h	[%r0],%r10
	ext	0xa		; 	xld.h	%r10,[%r0+10]
	ld.h	%r10,[%r0]
	cmp	%r10,0x2	; 	xcmp	%r10,2
	jrne	__LX98		; 	xjrne	__L98
	ext	0xc		; 	xld.h	%r10,[%r0+12]
	ld.h	%r10,[%r0]
	cmp	%r10,0x0
	jrne	__LX98		; 	xjrne	__L98
	ld.w	%r10,0x8	; 	xld.w	%r10,0x00000008		; 8
	ext	0x1a		; 	xld.h	[%r0+26],%r10
	ld.h	[%r0],%r10
	ld.w	%r10,0xc	; 	xld.w	%r10,0x0000000c		; 12
	jp	__LX100		; 	xjp	__L100
__LX98:				; __L98:
	ld.w	%r10,0x7	; 	xld.w	%r10,0x00000007		; 7
	ext	0x1a		; 	xld.h	[%r0+26],%r10
	ld.h	[%r0],%r10
	ld.w	%r10,0xd	; 	xld.w	%r10,0x0000000d		; 13
__LX100:				; __L100:
	ext	0x1c		; 	xld.h	[%r0+28],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x1e		; 	xld.h	[%r0+30],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x20		; 	xld.h	[%r0+32],%r10
	ld.h	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ext	0x22		; 	xld.h	[%r0+34],%r10
	ld.h	[%r0],%r10
	popn	%r1
	ret
	.align	1
	.global	mp3_read_side_info
mp3_read_side_info:
;	.frame	%sp,32,$31		# vars= 12, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	[%sp+0x0],%r12	; 	xld.w	[%sp],%r12
	ld.w	[%sp+0x1],%r13	; 	xld.w	[%sp+4],%r13
	ld.w	[%sp+0x2],%r14	; 	xld.w	[%sp+8],%r14
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,0x9	; 	xld.w	%r13,0x00000009		; 9
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.w	%r11,[%sp+0x1]	; 	xld.w	%r11,[%sp+4]
	ld.h	[%r11],%r10	; 	xld.h	[%r11],%r10
	ld.w	%r11,[%sp+0x2]	; 	xld.w	%r11,[%sp+8]
	cmp	%r11,0x1	; 	xcmp	%r11,1
	jreq	__LX103		; 	xjreq	__L103
	cmp	%r11,0x2	; 	xcmp	%r11,2
	jreq	__LX104		; 	xjreq	__L104
	jp	__LX102		; 	xjp	__L102
__LX103:				; __L103:
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,0x5	; 	xld.w	%r13,0x00000005		; 5
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.w	%r11,[%sp+0x1]	; 	xld.w	%r11,[%sp+4]
	ext	0x2		; 	xld.h	[%r11+2],%r10
	ld.h	[%r11],%r10
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,0x4	; 	xld.w	%r13,0x00000004		; 4
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.w	%r11,[%sp+0x1]	; 	xld.w	%r11,[%sp+4]
	ext	0x4		; 	xld.h	[%r11+4],%r10
	ld.h	[%r11],%r10
	jp	__LX102		; 	xjp	__L102
__LX104:				; __L104:
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,0x3	; 	xld.w	%r13,0x00000003		; 3
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.w	%r11,[%sp+0x1]	; 	xld.w	%r11,[%sp+4]
	ext	0x2		; 	xld.h	[%r11+2],%r10
	ld.h	[%r11],%r10
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,0x4	; 	xld.w	%r13,0x00000004		; 4
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.w	%r11,[%sp+0x1]	; 	xld.w	%r11,[%sp+4]
	ext	0x4		; 	xld.h	[%r11+4],%r10
	ld.h	[%r11],%r10
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,0x4	; 	xld.w	%r13,0x00000004		; 4
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.w	%r11,[%sp+0x1]	; 	xld.w	%r11,[%sp+4]
	ext	0x6		; 	xld.h	[%r11+6],%r10
	ld.h	[%r11],%r10
__LX102:				; __L102:
	ld.w	%r3,0x0
	ld.w	%r2,0x8		; 	xld.w	%r2,0x00000008		; 8
__LX110:				; __L110:
	ld.w	%r0,0x0
	ld.w	%r11,[%sp+0x2]	; 	xld.w	%r11,[%sp+8]
	cmp	%r0,%r11
	jrge	__LX109		; 	xjrge	__L109
	ld.w	%r1,[%sp+0x1]	; 	xld.w	%r1,[%sp+4]
	add	%r1,%r2
__LX114:				; __L114:
	ext	0x0		; 	xld.w	%r10,0x00000024		; 36
	ld.w	%r10,0x24
	mlt.w	%r0,%r10
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,%r1
	ld.w	%r11,%alr
	add	%r13,%r11
	ext	mp3_read_granule_info@rm	; 	xcall	mp3_read_granule_info
	call	mp3_read_granule_info@rl
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	ld.w	%r11,[%sp+0x2]	; 	xld.w	%r11,[%sp+8]
	cmp	%r0,%r11
	jrlt	__LX114		; 	xjrlt	__L114
__LX109:				; __L109:
	ext	0x1		; 	xadd	%r2,%r2,72
	add	%r2,0x8
	add	%r3,0x1		; 	xadd	%r3,%r3,1
	cmp	%r3,0x1		; 	xcmp	%r3,1
	jrle	__LX110		; 	xjrle	__L110
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	mp3_read_scalefactor
mp3_read_scalefactor:
;	.frame	%sp,32,$31		# vars= 12, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r3,%r12
	ld.w	[%sp+0x0],%r14	; 	xld.w	[%sp],%r14
	ld.w	[%sp+0x1],%r15	; 	xld.w	[%sp+4],%r15
	ext	0x6		; 	xld.h	%r10,[%r13+6]
	ld.h	%r10,[%r13]
	sll	%r10,0x2	; 	xsll	%r10,2
	ext	mp3_scalefactor_compress_table+0x0@h	; 	xld.h	%r2,[%r10+mp3_scalefactor_compress_table]
	ext	mp3_scalefactor_compress_table+0x0@m
	ld.w	%r9,mp3_scalefactor_compress_table+0x0@l
	add	%r9,%r10
	ld.h	%r2,[%r9]
	ext	mp3_scalefactor_compress_table+0x2@h	; 	xld.h	%r10,[%r10+mp3_scalefactor_compress_table+2]
	ext	mp3_scalefactor_compress_table+0x2@m
	ld.w	%r9,mp3_scalefactor_compress_table+0x2@l
	add	%r9,%r10
	ld.h	%r10,[%r9]
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ext	0xa		; 	xld.h	%r10,[%r13+10]
	ld.h	%r10,[%r13]
	cmp	%r10,0x2	; 	xcmp	%r10,2
	jrne	__LX118		; 	xjrne	__L118
	ext	0xc		; 	xld.h	%r13,[%r13+12]
	ld.h	%r13,[%r13]
	cmp	%r13,0x0
	jreq	__LX119		; 	xjreq	__L119
	ld.w	%r1,0x0
	ld.w	%r0,[%sp+0x0]	; 	xld.w	%r0,[%sp]
__LX120:				; __L120:
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x7		; 	xcmp	%r1,7
	jrle	__LX120		; 	xjrle	__L120
	ld.w	%r1,0x3		; 	xld.w	%r1,0x00000003		; 3
	ld.w	%r0,[%sp+0x0]	; 	xld.w	%r0,[%sp]
	add	%r0,0x3e	; 	xadd	%r0,%r0,62
__LX124:				; __L124:
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x5		; 	xcmp	%r1,5
	jrle	__LX124		; 	xjrle	__L124
	jp	__LX133		; 	xjp	__L133
__LX119:				; __L119:
	ld.w	%r1,%r13
	ld.w	%r0,[%sp+0x0]	; 	xld.w	%r0,[%sp]
	add	%r0,0x2c	; 	xadd	%r0,%r0,44
__LX129:				; __L129:
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x5		; 	xcmp	%r1,5
	jrle	__LX129		; 	xjrle	__L129
__LX133:				; __L133:
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x2]	; 	xld.w	%r13,[%sp+8]
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x2]	; 	xld.w	%r13,[%sp+8]
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x2]	; 	xld.w	%r13,[%sp+8]
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0xb		; 	xcmp	%r1,11
	jrle	__LX133		; 	xjrle	__L133
	ld.w	%r11,0x0
	ld.h	[%r0],%r11	; 	xld.h	[%r0],%r11
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	ld.w	%r4,0x0
	ld.h	[%r0],%r4	; 	xld.h	[%r0],%r4
	ext	0x2		; 	xld.h	[%r0+2],%r11
	ld.h	[%r0],%r11
	jp	__LX137		; 	xjp	__L137
__LX118:				; __L118:
	ld.w	%r13,[%sp+0x1]	; 	xld.w	%r13,[%sp+4]
	and	%r13,0x8	; 	xand	%r13,%r13,0x00000008
	jrne	__LX138		; 	xjrne	__L138
	ld.w	%r1,%r13
	ld.w	%r0,[%sp+0x0]	; 	xld.w	%r0,[%sp]
__LX142:				; __L142:
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x5		; 	xcmp	%r1,5
	jrle	__LX142		; 	xjrle	__L142
__LX138:				; __L138:
	ld.w	%r10,[%sp+0x1]	; 	xld.w	%r10,[%sp+4]
	and	%r10,0x4	; 	xand	%r10,%r10,0x00000004
	jrne	__LX144		; 	xjrne	__L144
	ld.w	%r1,0x6		; 	xld.w	%r1,0x00000006		; 6
	ld.w	%r0,[%sp+0x0]	; 	xld.w	%r0,[%sp]
	add	%r0,0xc		; 	xadd	%r0,%r0,12
__LX148:				; __L148:
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0xa		; 	xcmp	%r1,10
	jrle	__LX148		; 	xjrle	__L148
__LX144:				; __L144:
	ld.w	%r10,[%sp+0x1]	; 	xld.w	%r10,[%sp+4]
	and	%r10,0x2	; 	xand	%r10,%r10,0x00000002
	jrne	__LX150		; 	xjrne	__L150
	ld.w	%r1,0xb		; 	xld.w	%r1,0x0000000b		; 11
	ld.w	%r0,[%sp+0x0]	; 	xld.w	%r0,[%sp]
	add	%r0,0x16	; 	xadd	%r0,%r0,22
__LX154:				; __L154:
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x2]	; 	xld.w	%r13,[%sp+8]
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0xf		; 	xcmp	%r1,15
	jrle	__LX154		; 	xjrle	__L154
__LX150:				; __L150:
	ld.w	%r10,[%sp+0x1]	; 	xld.w	%r10,[%sp+4]
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001
	jrne	__LX156		; 	xjrne	__L156
	ld.w	%r1,0x10	; 	xld.w	%r1,0x00000010		; 16
	ld.w	%r0,[%sp+0x0]	; 	xld.w	%r0,[%sp]
	add	%r0,0x20	; 	xadd	%r0,%r0,32
__LX160:				; __L160:
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x2]	; 	xld.w	%r13,[%sp+8]
	ext	mp3_bitstream_get@rm	; 	xcall	mp3_bitstream_get
	call	mp3_bitstream_get@rl
	ld.h	[%r0],%r10	; 	xld.h	[%r0],%r10
	add	%r0,0x2		; 	xadd	%r0,%r0,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x14	; 	xcmp	%r1,20
	jrle	__LX160		; 	xjrle	__L160
__LX156:				; __L156:
	ld.w	%r11,0x0
	ld.w	%r4,[%sp+0x0]	; 	xld.w	%r4,[%sp]
	ext	0x2a		; 	xld.h	[%r4+42],%r11
	ld.h	[%r4],%r11
__LX137:				; __L137:
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	mp3_huffman_decode
mp3_huffman_decode:
;	.frame	%sp,36,$31		# vars= 12, regs= 5/0, args= 4, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	[%sp+0x1],%r12	; 	xld.w	[%sp+4],%r12
	ld.w	[%sp+0x2],%r14	; 	xld.w	[%sp+8],%r14
	ld.w	%r2,%r15
	ext	0xa		; 	xld.h	%r10,[%r14+10]
	ld.h	%r10,[%r14]
	cmp	%r10,0x2	; 	xcmp	%r10,2
	jrne	__LX163		; 	xjrne	__L163
	ext	0x0		; 	xld.w	%r4,0x00000024		; 36
	ld.w	%r4,0x24
	ld.w	[%sp+0x3],%r4	; 	xld.w	[%sp+12],%r4
	ext	0x9		; 	xld.w	%r1,0x00000240		; 576
	ld.w	%r1,0x0
	jp	__LX164		; 	xjp	__L164
__LX163:				; __L163:
	ext	0xa		; 	xld.h	%r12,[%r13+10]
	ld.h	%r12,[%r13]
	ext	0x1		; 	xld.w	%r10,0x0000005c		; 92
	ld.w	%r10,0x1c
	mlt.w	%r12,%r10
	ld.w	%r12,%alr
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	0x1a		; 	xld.h	%r13,[%r4+26]
	ld.h	%r13,[%r4]
	ext	mp3_scalefactor_band_index_table+0x2@h	; 	xld.w	%r11,mp3_scalefactor_band_index_table+2
	ext	mp3_scalefactor_band_index_table+0x2@m
	ld.w	%r11,mp3_scalefactor_band_index_table+0x2@l
	ld.w	%r10,%r13
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r10,%r11
	add	%r10,%r12
	ld.h	%r10,[%r10]	; 	xld.h	%r10,[%r10]
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ext	0x1c		; 	xld.h	%r10,[%r4+28]
	ld.h	%r10,[%r4]
	add	%r11,0x2	; 	xadd	%r11,%r11,2
	add	%r10,%r13
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r10,%r11
	add	%r10,%r12
	ld.h	%r1,[%r10]	; 	xld.h	%r1,[%r10]
__LX164:				; __L164:
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	0x2		; 	xld.h	%r10,[%r4+2]
	ld.h	%r10,[%r4]
	ld.w	%r3,%r10
	sll	%r3,0x1		; 	xsll	%r3,1
	ld.w	%r4,[%sp+0x3]	; 	xld.w	%r4,[%sp+12]
	cmp	%r4,%r3
	jrle	__LX165		; 	xjrle	__L165
	ld.w	[%sp+0x3],%r3	; 	xld.w	[%sp+12],%r3
__LX165:				; __L165:
	cmp	%r1,%r3
	jrle	__LX166		; 	xjrle	__L166
	ld.w	%r1,%r3
__LX166:				; __L166:
	ld.w	%r0,[%sp+0x3]	; 	xld.w	%r0,[%sp+12]
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	0xe		; 	xld.h	%r13,[%r4+14]
	ld.h	%r13,[%r4]
	ld.w	%r12,[%sp+0x1]	; 	xld.w	%r12,[%sp+4]
	ld.w	%r14,%r0
	ld.w	%r15,%r2
	ext	mp3_huffman_decode_bigvalue@rm	; 	xcall	mp3_huffman_decode_bigvalue
	call	mp3_huffman_decode_bigvalue@rl
	ld.w	%r10,%r0
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r2,%r10
	sub	%r1,%r0
	ld.w	%r0,%r1
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	0x10		; 	xld.h	%r13,[%r4+16]
	ld.h	%r13,[%r4]
	ld.w	%r12,[%sp+0x1]	; 	xld.w	%r12,[%sp+4]
	ld.w	%r14,%r0
	ld.w	%r15,%r2
	ext	mp3_huffman_decode_bigvalue@rm	; 	xcall	mp3_huffman_decode_bigvalue
	call	mp3_huffman_decode_bigvalue@rl
	ld.w	%r1,[%sp+0x3]	; 	xld.w	%r1,[%sp+12]
	add	%r1,%r0
	ld.w	%r10,%r0
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r2,%r10
	ld.w	%r0,%r3
	sub	%r0,%r1
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	0x12		; 	xld.h	%r13,[%r4+18]
	ld.h	%r13,[%r4]
	ld.w	%r12,[%sp+0x1]	; 	xld.w	%r12,[%sp+4]
	ld.w	%r14,%r0
	ld.w	%r15,%r2
	ext	mp3_huffman_decode_bigvalue@rm	; 	xcall	mp3_huffman_decode_bigvalue
	call	mp3_huffman_decode_bigvalue@rl
	add	%r1,%r0
	ld.w	%r10,%r0
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r2,%r10
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	0x22		; 	xld.h	%r13,[%r4+34]
	ld.h	%r13,[%r4]
	ext	0x9		; 	xld.w	%r14,0x00000240		; 576
	ld.w	%r14,0x0
	ld.h	%r10,[%r4]	; 	xld.h	%r10,[%r4]
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x1]	; 	xld.w	%r12,[%sp+4]
	sub	%r14,%r1
	ld.w	%r15,%r2
	ext	mp3_huffman_decode_count1@rm	; 	xcall	mp3_huffman_decode_count1
	call	mp3_huffman_decode_count1@rl
	ld.w	%r0,%r10
	add	%r1,%r0
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r2,%r10
	ld.w	%r0,%r1
	ext	0x8		; 	xld.w	%r10,0x0000023f		; 575
	ld.w	%r10,0x3f
	cmp	%r0,%r10
	jrgt	__LX168		; 	xjrgt	__L168
__LX169:				; __L169:
	ld.w	%r4,0x0
	ld.h	[%r2],%r4	; 	xld.h	[%r2],%r4
	add	%r2,0x2		; 	xadd	%r2,%r2,2
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,%r10
	jrle	__LX169		; 	xjrle	__L169
__LX168:				; __L168:
	ld.w	%r10,%r0
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r3
	ret
	.align	1
	.global	mp3_requantize_short
mp3_requantize_short:
;	.frame	%sp,28,$31		# vars= 8, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	[%sp+0x1],%r15	; 	xld.w	[%sp+4],%r15
	ld.w	%r4,[%sp+0x7]	; 	xld.w	%r4,[%sp+28]
	ext	0xa		; 	xld.h	%r11,[%r12+10]
	ld.h	%r11,[%r12]
	ext	0x1		; 	xld.w	%r10,0x0000005c		; 92
	ld.w	%r10,0x1c
	mlt.w	%r11,%r10
	ext	mp3_scalefactor_band_index_table+0x30@h	; 	xld.w	%r10,mp3_scalefactor_band_index_table+48
	ext	mp3_scalefactor_band_index_table+0x30@m
	ld.w	%r10,mp3_scalefactor_band_index_table+0x30@l
	ld.w	%r15,%alr
	add	%r15,%r10
	add	%r14,0x2c	; 	xadd	%r14,%r14,44
	ld.w	%r7,0x0
	ext	0x12		; 	xld.w	%r10,0x00000480		; 1152
	ld.w	%r10,0x0
	mlt.w	%r11,%r10
	ext	mp3_reorder_read_index_table+0x0@h	; 	xld.w	%r10,mp3_reorder_read_index_table
	ext	mp3_reorder_read_index_table+0x0@m
	ld.w	%r10,mp3_reorder_read_index_table+0x0@l
	ld.w	%r6,%alr
	add	%r6,%r10
	ext	0x4		; 	xld.h	%r10,[%r13+4]
	ld.h	%r10,[%r13]
	sll	%r10,0x2	; 	xsll	%r10,2
	ext	mp3_gain_table+0x0@h	; 	xld.w	%r10,[%r10+mp3_gain_table]
	ext	mp3_gain_table+0x0@m
	ld.w	%r9,mp3_gain_table+0x0@l
	add	%r9,%r10
	ld.w	%r10,[%r9]
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r0,%r7
	ext	mp3_pow1_3_table+0x0@h	; 	xld.w	%r3,mp3_pow1_3_table
	ext	mp3_pow1_3_table+0x0@m
	ld.w	%r3,mp3_pow1_3_table+0x0@l
__LX175:				; __L175:
	ld.w	%r5,0x0
__LX179:				; __L179:
	ld.w	%r13,0x0
	ld.w	%r12,%r14
__LX183:				; __L183:
	ld.h	%r10,[%r6]	; 	xld.h	%r10,[%r6]
	sll	%r10,0x1	; 	xsll	%r10,1
	ld.w	%r1,[%sp+0x1]	; 	xld.w	%r1,[%sp+4]
	add	%r10,%r1
	add	%r6,0x2		; 	xadd	%r6,%r6,2
	ld.h	%r11,[%r10]	; 	xld.h	%r11,[%r10]
	ld.w	%r10,%r11
	cmp	%r11,0x0
	jrge	__LX184		; 	xjrge	__L184
	not	%r10,%r11
	add	%r10,1
__LX184:				; __L184:
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r10,%r3
	ld.h	%r10,[%r10]	; 	xld.h	%r10,[%r10]
	mlt.w	%r11,%r10
	ld.w	%r2,%alr
	ld.w	%r1,[%sp+0x0]	; 	xld.w	%r1,[%sp]
	mlt.w	%r2,%r1
	ld.h	%r10,[%r12]	; 	xld.h	%r10,[%r12]
	ld.w	%r11,%r10
	srl	%r11,0x8	; 	xsrl	%r11,31
	srl	%r11,0x8
	srl	%r11,0x8
	srl	%r11,0x7
	add	%r10,%r11
	sra	%r10,0x1	; 	xsra	%r10,1
	add	%r10,0xe	; 	xadd	%r10,%r10,14
	ld.w	%r2,%alr
	ld.w	%r9,%r10	; 	xsra	%r2,%r10
	and	%r9,0x1f
	cmp	%r9,0x8
	jrle	4
	sra	%r2,0x8
	jp.d	-3
	sub	%r9,0x8
	sra	%r2,%r9
	ld.w	%r10,%r2
	ld.h	[%r4],%r10	; 	xld.h	[%r4],%r10
	add	%r4,0xc		; 	xadd	%r4,%r4,12
	add	%r12,0x2	; 	xadd	%r12,%r12,2
	add	%r13,0x1	; 	xadd	%r13,%r13,1
	cmp	%r13,0x2	; 	xcmp	%r13,2
	jrle	__LX183		; 	xjrle	__L183
	sub	%r4,0x22	; 	xsub	%r4,%r4,34
	add	%r7,0x1		; 	xadd	%r7,%r7,1
	ld.h	%r10,[%r15]	; 	xld.h	%r10,[%r15]
	cmp	%r7,%r10
	jrne	__LX178		; 	xjrne	__L178
	add	%r15,0x2	; 	xadd	%r15,%r15,2
	add	%r14,0x6	; 	xadd	%r14,%r14,6
__LX178:				; __L178:
	add	%r5,0x1		; 	xadd	%r5,%r5,1
	cmp	%r5,0x5		; 	xcmp	%r5,5
	jrle	__LX179		; 	xjrle	__L179
	add	%r4,0x18	; 	xadd	%r4,%r4,24
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r0,0x1f	; 	xcmp	%r0,31
	jrle	__LX175		; 	xjrle	__L175
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r3
	ret
; APP
	
	.code
	.align 1
	.global mp3_imdct_short
mp3_imdct_short:
	;
	ext	0x0		; 	xld.w %r7, 32				; k = MP3_SUBBAND_COUNT
	ld.w	%r7,0x20
mp3_imdct_short_L10:
	;
	; |=`=|
	;
	ld.w	%r6,0x6		; 	xld.w %r6, 6				; i = MP3_SHORT_IMDCT_SIZE
mp3_imdct_short_L20:
	ld.h %r10, [%r14]+			; sum = *save++
	;
	ld.w	%r15,0x1	; 	xld.w %r15, 1				; if(k & i & 1) sum = -sum
	and %r15, %r7
	and %r15, %r6
	jreq	mp3_imdct_short_L30	; 	xjreq mp3_imdct_short_L30
	not %r10, %r10
	add	%r10,0x1	; 	xadd %r10, %r10, 1
mp3_imdct_short_L30:
	ld.h [%r13], %r10			; *out = sum
	ext	0x1		; 	xadd %r13, %r13, 64			; out += MP3_SUBBAND_COUNT * sizeof(short)
	add	%r13,0x0
	;
	sub	%r6,0x1		; 	xsub %r6, %r6, 1
	jrne	mp3_imdct_short_L20	; 	xjrne mp3_imdct_short_L20
	;
	; |=a=|
	;
	ext	mp3_imdct_short_matrix+0x0@h	; 	xld.w %r11, mp3_imdct_short_matrix	; m = mp3_imdct_short_matrix
	ext	mp3_imdct_short_matrix+0x0@m
	ld.w	%r11,mp3_imdct_short_matrix+0x0@l
	ld.w	%r6,0x6		; 	xld.w %r6, 6				; i = MP3_SHORT_IMDCT_SIZE
mp3_imdct_short_L40:
	ld.w %alr, %r8				; τέέ
	ld.w	%r10,0x6	; 	xld.w %r10, 6				; MP3_SHORT_IMDCT_SIZE
	mac %r10	
	ld.w %r10, %alr				; sum >>= 14
	sra	%r10,0x8	; 	xsra %r10, 14
	sra	%r10,0x6
	ld.h %r15, [%r14]+			; sum += *save++
	add %r10, %r15
	;
	ld.w	%r15,0x1	; 	xld.w %r15, 1				; if(k & i & 1) sum = -sum
	and %r15, %r7
	and %r15, %r6
	jreq	mp3_imdct_short_L50	; 	xjreq mp3_imdct_short_L50
	not %r10, %r10
	add	%r10,0x1	; 	xadd %r10, %r10, 1
mp3_imdct_short_L50:
	ld.h [%r13], %r10			; *out = sum
	ext	0x1		; 	xadd %r13, %r13, 64			; out += MP3_SUBBAND_COUNT * sizeof(short)
	add	%r13,0x0
	sub	%r12,0xc	; 	xsub %r12, %r12, 12			; in -= MP3_SHORT_IMDCT_SIZE * sizeof(short)
	;
	sub	%r6,0x1		; 	xsub %r6, %r6, 1
	jrne	mp3_imdct_short_L40	; 	xjrne mp3_imdct_short_L40
	;
	; |=b=|
	;
	ld.w	%r6,0x6		; 	xld.w %r6, 6				; i = MP3_SHORT_IMDCT_SIZE
mp3_imdct_short_L60:
	ld.w %alr, %r8				; τέέ
	ld.w	%r10,0x6	; 	xld.w %r10, 6				; MP3_SHORT_IMDCT_SIZE
	mac %r10	
	ext	0x1		; 	xsub %r11, %r11, 84			; m -= (MP3_SHORT_IMDCT_SIZE * MP3_SHORT_IMDCT_SIZE + MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	sub	%r11,0x14
	; (%alrp±)				; τέέ
	ld.w	%r10,0x6	; 	xld.w %r10, 6				; MP3_SHORT_IMDCT_SIZE
	mac %r10	
	ld.w %r10, %alr				; sum >>= 14
	sra	%r10,0x8	; 	xsra %r10, 14
	sra	%r10,0x6
	ld.h %r15, [%r14]+			; sum += *save++
	add %r10, %r15
	;
	ld.w	%r15,0x1	; 	xld.w %r15, 1				; if(k & i & 1) sum = -sum
	and %r15, %r7
	and %r15, %r6
	jreq	mp3_imdct_short_L70	; 	xjreq mp3_imdct_short_L70
	not %r10, %r10
	add	%r10,0x1	; 	xadd %r10, %r10, 1
mp3_imdct_short_L70:
	ld.h [%r13], %r10			; *out = sum
	ext	0x1		; 	xadd %r13, %r13, 64			; out += MP3_SUBBAND_COUNT * sizeof(short)
	add	%r13,0x0
	ext	0x1		; 	xadd %r11, %r11, 72			; m += (MP3_SHORT_IMDCT_SIZE * MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	add	%r11,0x8
	sub	%r12,0x18	; 	xsub %r12, %r12, 24			; in -= (MP3_SHORT_IMDCT_SIZE + MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	;
	sub	%r6,0x1		; 	xsub %r6, %r6, 1
	jrne	mp3_imdct_short_L60	; 	xjrne mp3_imdct_short_L60
	;
	ext	0x1		; 	xsub %r11, %r11, 72			; m -= (MP3_SHORT_IMDCT_SIZE * MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	sub	%r11,0x8
	add	%r12,0xc	; 	xadd %r12, %r12, 12			; in += MP3_SHORT_IMDCT_SIZE * sizeof(short)
	ext	0x11		; 	xsub %r13, %r13, 1150			; out -= (MP3_GRANULE_SIZE - 1) * sizeof(short)
	sub	%r13,0x3e
	sub	%r14,0x24	; 	xsub %r14, %r14, 36			; save -= MP3_SUBBAND_SIZE * sizeof(short)
	;
	; |=c=|
	;
	ld.w	%r6,0x6		; 	xld.w %r6, 6				; i = MP3_SHORT_IMDCT_SIZE
mp3_imdct_short_L80:
	ld.w %alr, %r8				; τέέ
	ld.w	%r10,0x6	; 	xld.w %r10, 6				; MP3_SHORT_IMDCT_SIZE
	mac %r10	
	ext	0x1		; 	xsub %r11, %r11, 84			; m -= (MP3_SHORT_IMDCT_SIZE * MP3_SHORT_IMDCT_SIZE + MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	sub	%r11,0x14
	; (%alrp±)				; τέέ
	ld.w	%r10,0x6	; 	xld.w %r10, 6				; MP3_SHORT_IMDCT_SIZE
	mac %r10	
	ld.w %r10, %alr				; sum >>= 14
	sra	%r10,0x8	; 	xsra %r10, 14
	sra	%r10,0x6
	ld.h [%r14]+, %r10			; *save++ = sum
	ext	0x1		; 	xadd %r11, %r11, 72			; m += (MP3_SHORT_IMDCT_SIZE * MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	add	%r11,0x8
	sub	%r12,0x18	; 	xsub %r12, %r12, 24			; in -= (MP3_SHORT_IMDCT_SIZE + MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	;
	sub	%r6,0x1		; 	xsub %r6, %r6, 1
	jrne	mp3_imdct_short_L80	; 	xjrne mp3_imdct_short_L80
	;
	ext	0x1		; 	xsub %r11, %r11, 72			; m -= (MP3_SHORT_IMDCT_SIZE * MP3_SHORT_IMDCT_SIZE) * sizeof(short)
	sub	%r11,0x8
	add	%r12,0xc	; 	xadd %r12, %r12, 12			; in += MP3_SHORT_IMDCT_SIZE * sizeof(short)
	;
	; |=d=|
	;
	ld.w	%r6,0x6		; 	xld.w %r6, 6				; i = MP3_SHORT_IMDCT_SIZE
mp3_imdct_short_L90:
	ld.w %alr, %r8				; τέέ
	ld.w	%r10,0x6	; 	xld.w %r10, 6				; MP3_SHORT_IMDCT_SIZE
	mac %r10	
	ld.w %r10, %alr				; sum >>= 14
	sra	%r10,0x8	; 	xsra %r10, 14
	sra	%r10,0x6
	ld.h [%r14]+, %r10			; *save++ = sum
	sub	%r12,0xc	; 	xsub %r12, %r12, 12			; in -= MP3_SHORT_IMDCT_SIZE * sizeof(short)
	;
	sub	%r6,0x1		; 	xsub %r6, %r6, 1
	jrne	mp3_imdct_short_L90	; 	xjrne mp3_imdct_short_L90
	;
	add	%r12,0xc	; 	xadd %r12, %r12, 12			; in += MP3_SHORT_IMDCT_SIZE * sizeof(short)
	;
	; |=e=|
	;
	ld.w	%r6,0x6		; 	xld.w %r6, 6				; i = MP3_SHORT_IMDCT_SIZE
mp3_imdct_short_L100:
	ld.h [%r14]+, %r8			; *save++ = 0
	;
	sub	%r6,0x1		; 	xsub %r6, %r6, 1
	jrne	mp3_imdct_short_L100	; 	xjrne mp3_imdct_short_L100
	;
	sub	%r7,0x1		; 	xsub %r7, %r7, 1
	jrne	mp3_imdct_short_L10	; 	xjrne mp3_imdct_short_L10
	;
	ret

; NO_APP
	.align	1
	.global	mp3_init
mp3_init:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r2,%r14
	ld.w	%r13,0x0
	ext	0x96		; 	xld.w	%r14,0x000025a0		; 9632
	ld.w	%r14,0x20
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	[%r1],%r0	; 	xld.w	[%r1],%r0
	add	%r0,%r2
	ext	0x4		; 	xld.w	[%r1+4],%r0
	ld.w	[%r1],%r0
	ext	0x1f06		; 	xld.w	%r10,-16000			; 0xffffc180
	ld.w	%r10,0x0
	ext	0x14		; 	xld.w	[%r1+20],%r10
	ld.w	[%r1],%r10
	ld.w	%r12,%r1
	call	mp3_decode_frame	; 	xcall	mp3_decode_frame
	not	%r11,%r10
	add	%r11,1
	or	%r11,%r10
	ld.w	%r10,%r11
	sra	%r10,0x8	; 	xsra	%r10,31
	sra	%r10,0x8
	sra	%r10,0x8
	sra	%r10,0x7
	popn	%r2
	ret
	.align	1
	.global	mp3_stream_callback
mp3_stream_callback:
;	.frame	%sp,28,$31		# vars= 8, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r3,%r12
	ld.w	%r2,%r13
	ext	0x280		; 	xadd	%r14,%r3,640
	add	%r14,%r3
	ld.w	[%sp+0x0],%r14	; 	xld.w	[%sp],%r14
	ext	0x8		; 	xld.w	%r12,[%r2+8]
	ld.w	%r12,[%r2]
	ext	0xc		; 	xld.w	%r11,[%r2+12]
	ld.w	%r11,[%r2]
	ext	0x10		; 	xld.w	%r0,[%r2+16]
	ld.w	%r0,[%r2]
	ext	0x14		; 	xld.w	%r1,[%r2+20]
	ld.w	%r1,[%r2]
	ext	0x18		; 	xadd	%r14,%r2,24
	add	%r14,%r2
	ld.w	[%sp+0x1],%r14	; 	xld.w	[%sp+4],%r14
	jp	__LX207		; 	xjp	__L207
__LX195:				; __L195:
	ld.w	%r10,%r0
	sll	%r10,0x1	; 	xsll	%r10,1
	ld.w	%r14,[%sp+0x1]	; 	xld.w	%r14,[%sp+4]
	add	%r10,%r14
	ld.uh	%r10,[%r10]	; 	xld.uh	%r10,[%r10]
	ld.h	[%r3],%r10	; 	xld.h	[%r3],%r10
	add	%r3,0x2		; 	xadd	%r3,%r3,2
	add	%r1,%r12
	jrlt	__LX208		; 	xjrlt	__L208
__LX198:				; __L198:
	ext	0xfa		; 	xsub	%r1,%r1,16000
	sub	%r1,0x0
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r1,0x0
	jrge	__LX198		; 	xjrge	__L198
	jp	__LX208		; 	xjp	__L208
__LX202:				; __L202:
	sub	%r0,%r11
	ld.w	%r12,%r2
	call	mp3_decode_frame	; 	xcall	mp3_decode_frame
	cmp	%r10,0x0
	jreq	__LX203		; 	xjreq	__L203
	ld.w	%r10,0x3f	; 	xld.w	%r10,-1			; 0xffffffff
	jp	__LX206		; 	xjp	__L206
__LX203:				; __L203:
	ext	0x8		; 	xld.w	%r12,[%r2+8]
	ld.w	%r12,[%r2]
	ext	0xc		; 	xld.w	%r11,[%r2+12]
	ld.w	%r11,[%r2]
__LX208:				; __L208:
	cmp	%r0,%r11
	jrge	__LX202		; 	xjrge	__L202
__LX207:				; __L207:
	ld.w	%r14,[%sp+0x0]	; 	xld.w	%r14,[%sp]
	cmp	%r3,%r14
	jrult	__LX195		; 	xjrult	__L195
	ext	0x10		; 	xld.w	[%r2+16],%r0
	ld.w	[%r2],%r0
	ext	0x14		; 	xld.w	[%r2+20],%r1
	ld.w	[%r2],%r1
	ld.w	%r10,0x0
__LX206:				; __L206:
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r3
	ret
	.data
	.align	2
buf1.90:
	.word	7040
	.align	2
buf2.91:
	.word	5888
	.code
	.align	2
__LC1:
	.ascii	"clipmp3.$(%d)\000"
	.code
	.align	1
	.global	mp3_decode_frame
mp3_decode_frame:
;	.frame	%sp,396,$31		# vars= 368, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x5e	; 	xsub	%sp,%sp,376
	ld.w	%r2,%r12
	ext	buf2.91+0x0@ah	; 	xld.w	%r11,[buf2.91]
	ext	buf2.91+0x0@al
	ld.w	%r11,[%r8]
	ext	__END_FRAM_ADDR+0x0@h	; 	xld.w	%r10,__END_FRAM_ADDR
	ext	__END_FRAM_ADDR+0x0@m
	ld.w	%r10,__END_FRAM_ADDR+0x0@l
	cmp	%r11,%r10
	jrge	__LX210		; 	xjrge	__L210
	ext	__LC1+0x0@h	; 	xld.w	%r10,__LC1
	ext	__LC1+0x0@m
	ld.w	%r10,__LC1+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xc		; 	xld.w	%r10,0x00000333		; 819
	ld.w	%r10,0x33
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX210:				; __L210:
	ext	0x4		; 	xld.w	%r10,[%r2+4]
	ld.w	%r10,[%r2]
	ext	0x1		; 	xsub	%r13,%r10,1
	sub	%r13,%r10
	ext	0x3		; 	xld.w	%r14,0x000000ff		; 255
	ld.w	%r14,0x3f
	ext	0x3		; 	xld.w	%r12,0x000000f0		; 240
	ld.w	%r12,0x30
__LX211:				; __L211:
	ld.w	%r11,[%r2]	; 	xld.w	%r11,[%r2]
	cmp	%r11,%r13
	jruge	__LX240		; 	xjruge	__L240
	ld.ub	%r10,[%r11]	; 	xld.ub	%r10,[%r11]
	cmp	%r10,%r14
	jrne	__LX215		; 	xjrne	__L215
	ext	0x1		; 	xld.ub	%r10,[%r11+1]
	ld.ub	%r10,[%r11]
	and	%r10,%r12
	cmp	%r10,%r12
	jreq	__LX212		; 	xjreq	__L212
__LX215:				; __L215:
	ext	0x1		; 	xadd	%r10,%r11,1
	add	%r10,%r11
	ld.w	[%r2],%r10	; 	xld.w	[%r2],%r10
	jp	__LX211		; 	xjp	__L211
__LX212:				; __L212:
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,8
	add	%r12,0x8
	ld.w	%r13,[%r2]	; 	xld.w	%r13,[%r2]
	ext	mp3_bitstream_open@rm	; 	xcall	mp3_bitstream_open
	call	mp3_bitstream_open@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,8
	add	%r12,0x8
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,32
	add	%r13,0x20
	ext	mp3_read_frame_header@rm	; 	xcall	mp3_read_frame_header
	call	mp3_read_frame_header@rl
	ext	0x5		; 	xld.w	[%sp+356],%r10
	ld.w	[%sp+0x24],%r10
	cmp	%r10,0x0
	jreq	__LX216		; 	xjreq	__L216
__LX240:				; __L240:
	ld.w	%r10,0x3f	; 	xld.w	%r10,-1			; 0xffffffff
	ext	__LX238@rm	; 	xjp	__L238
	jp	__LX238@rl
__LX216:				; __L216:
	ld.h	%r10,[%sp+0x14]	; 	xld.h	%r10,[%sp+40]
	sll	%r10,0x2	; 	xsll	%r10,2
	ext	mp3_bitrate_table+0x0@h	; 	xld.w	%r12,[%r10+mp3_bitrate_table]
	ext	mp3_bitrate_table+0x0@m
	ld.w	%r9,mp3_bitrate_table+0x0@l
	add	%r9,%r10
	ld.w	%r12,[%r9]
	ld.h	%r10,[%sp+0x15]	; 	xld.h	%r10,[%sp+42]
	sll	%r10,0x2	; 	xsll	%r10,2
	ext	mp3_sampling_frequency_table+0x0@h	; 	xld.w	%r13,[%r10+mp3_sampling_frequency_table]
	ext	mp3_sampling_frequency_table+0x0@m
	ld.w	%r9,mp3_sampling_frequency_table+0x0@l
	add	%r9,%r10
	ld.w	%r13,[%r9]
	ld.h	%r10,[%sp+0x18]	; 	xld.h	%r10,[%sp+48]
	ld.w	%r4,0x2		; 	xld.w	%r4,0x00000002		; 2
	ext	0x5		; 	xld.w	[%sp+340],%r4
	ld.w	[%sp+0x14],%r4
	cmp	%r10,0x3	; 	xcmp	%r10,3
	jrne	__LX217		; 	xjrne	__L217
	ld.w	%r5,0x1		; 	xld.w	%r5,0x00000001		; 1
	ext	0x5		; 	xld.w	[%sp+340],%r5
	ld.w	[%sp+0x14],%r5
__LX217:				; __L217:
	ext	0x2		; 	xld.w	%r10,0x00000090		; 144
	ld.w	%r10,0x10
	mlt.w	%r12,%r10
	ld.w	%r12,%alr
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.h	%r11,[%sp+0x16]	; 	xld.h	%r11,[%sp+44]
	add	%r10,%r11
	ext	0x5		; 	xld.w	[%sp+344],%r10
	ld.w	[%sp+0x18],%r10
	ld.w	%r3,%sp		; 	xadd	%r3,%sp,8
	add	%r3,0x8
	ld.w	%r12,%r3
	ext	0x34		; 	xadd	%r13,%r3,52
	add	%r13,%r3
	ext	0x5		; 	xld.w	%r14,[%sp+340]
	ld.w	%r14,[%sp+0x14]
	ext	mp3_read_side_info@rm	; 	xcall	mp3_read_side_info
	call	mp3_read_side_info@rl
	ld.w	%r10,[%sp+0x4]	; 	xld.w	%r10,[%sp+16]
	ld.w	%r11,[%r2]	; 	xld.w	%r11,[%r2]
	sub	%r10,%r11
	ext	0x5		; 	xld.w	%r1,[%sp+344]
	ld.w	%r1,[%sp+0x18]
	sub	%r1,%r10
	ext	0x1918		; 	xld.w	%r13,[%r2+6424]
	ld.w	%r13,[%r2]
	ld.w	%r10,%r13
	add	%r10,%r1
	ext	0x40		; 	xcmp	%r10,4096
	cmp	%r10,0x0
	jrule	__LX219		; 	xjrule	__L219
	ext	0x24		; 	xld.w	%r12,0x00000918		; 2328
	ld.w	%r12,0x18
	ld.h	%r14,[%sp+0x1e]	; 	xld.h	%r14,[%sp+60]
	sub	%r13,%r14
	add	%r13,%r12
	ld.w	%r4,%r2
	add	%r4,%r12
	ld.w	%r12,%r4
	ld.w	%r5,%r2
	add	%r5,%r13
	ld.w	%r13,%r5
	ext	memmove@rm	; 	xcall	memmove
	call	memmove@rl
	ld.h	%r10,[%sp+0x1e]	; 	xld.h	%r10,[%sp+60]
	ext	0x1918		; 	xld.w	[%r2+6424],%r10
	ld.w	[%r2],%r10
__LX219:				; __L219:
	ext	0x1918		; 	xld.w	%r12,[%r2+6424]
	ld.w	%r12,[%r2]
	add	%r12,%r2
	ext	0x24		; 	xld.w	%r0,0x00000918		; 2328
	ld.w	%r0,0x18
	add	%r12,%r0
	ld.w	%r13,[%sp+0x4]	; 	xld.w	%r13,[%sp+16]
	ld.w	%r14,%r1
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x1918		; 	xld.w	%r13,[%r2+6424]
	ld.w	%r13,[%r2]
	ld.h	%r10,[%sp+0x1e]	; 	xld.h	%r10,[%sp+60]
	sub	%r13,%r10
	add	%r13,%r0
	ld.w	%r12,%r3
	ld.w	%r4,%r2
	add	%r4,%r13
	ld.w	%r13,%r4
	ext	mp3_bitstream_open@rm	; 	xcall	mp3_bitstream_open
	call	mp3_bitstream_open@rl
	ext	0x1918		; 	xld.w	%r10,[%r2+6424]
	ld.w	%r10,[%r2]
	add	%r10,%r1
	ext	0x1918		; 	xld.w	[%r2+6424],%r10
	ld.w	[%r2],%r10
	ld.h	%r10,[%sp+0x15]	; 	xld.h	%r10,[%sp+42]
	sll	%r10,0x3	; 	xsll	%r10,3
	ext	mp3_sampling_frequency_convert_table+0x0@h	; 	xld.w	%r11,mp3_sampling_frequency_convert_table
	ext	mp3_sampling_frequency_convert_table+0x0@m
	ld.w	%r11,mp3_sampling_frequency_convert_table+0x0@l
	add	%r10,%r11
	ext	0x5		; 	xld.w	[%sp+336],%r10
	ld.w	[%sp+0x10],%r10
	ext	0x18		; 	xadd	%r5,%r2,24
	add	%r5,%r2
	ext	0x5		; 	xld.w	[%sp+352],%r5
	ld.w	[%sp+0x20],%r5
	ext	0x5		; 	xld.w	%r4,[%sp+356]
	ld.w	%r4,[%sp+0x24]
	ext	0x5		; 	xld.w	[%sp+348],%r4
	ld.w	[%sp+0x1c],%r4
	ext	0x5		; 	xld.w	[%sp+372],%r3
	ld.w	[%sp+0x34],%r3
	ld.w	%r5,%sp		; 	xadd	%r5,%sp,60
	add	%r5,0x3c
	ext	0x5		; 	xld.w	[%sp+360],%r5
	ld.w	[%sp+0x28],%r5
	ld.w	%r4,%sp		; 	xadd	%r4,%sp,20
	add	%r4,0x14
	ext	0x5		; 	xld.w	[%sp+364],%r4
	ld.w	[%sp+0x2c],%r4
__LX223:				; __L223:
	ld.w	%r3,0x0
	ext	0x5		; 	xld.w	%r5,[%sp+340]
	ld.w	%r5,[%sp+0x14]
	cmp	%r3,%r5
	ext	__LX222@rm	; 	xjrge	__L222
	jrge	__LX222@rl
	ld.w	%r4,%sp		; 	xadd	%r4,%sp,32
	add	%r4,0x20
	ext	0x5		; 	xld.w	[%sp+368],%r4
	ld.w	[%sp+0x30],%r4
__LX227:				; __L227:
	ext	0x1		; 	xld.w	%r10,0x00000048		; 72
	ld.w	%r10,0x8
	ext	0x5		; 	xld.w	%r5,[%sp+348]
	ld.w	%r5,[%sp+0x1c]
	mlt.w	%r5,%r10
	ld.w	%r11,%alr
	add	%r11,0x8	; 	xadd	%r11,%r11,8
	ext	0x5		; 	xld.w	%r4,[%sp+360]
	ld.w	%r4,[%sp+0x28]
	add	%r4,%r11
	ld.w	%r11,%r4
	ext	0x0		; 	xld.w	%r10,0x00000024		; 36
	ld.w	%r10,0x24
	mlt.w	%r3,%r10
	ld.w	%r1,%r11
	ld.w	%r5,%alr
	add	%r1,%r5
	cmp	%r3,0x0
	ext	__LX228@rm	; 	xjrne	__L228
	jrne	__LX228@rl
	ext	0x5		; 	xld.w	%r12,[%sp+364]
	ld.w	%r12,[%sp+0x2c]
	ext	0x5		; 	xld.w	%r13,[%sp+372]
	ld.w	%r13,[%sp+0x34]
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r4,0x0
	ld.h	[%sp+0xa],%r4	; 	xld.h	[%sp+20],%r4
	ld.w	%r14,%sp	; 	xadd	%r14,%sp,212
	ext	0x3
	add	%r14,0x14
	ext	0x5		; 	xld.w	%r5,[%sp+348]
	ld.w	%r5,[%sp+0x1c]
	cmp	%r5,0x0
	jreq	__LX229		; 	xjreq	__L229
	ld.h	%r15,[%sp+0x20]	; 	xld.h	%r15,[%sp+64]
	jp	__LX230		; 	xjp	__L230
__LX229:				; __L229:
	ext	0x5		; 	xld.w	%r15,[%sp+348]
	ld.w	%r15,[%sp+0x1c]
__LX230:				; __L230:
	ext	0x5		; 	xld.w	%r12,[%sp+364]
	ld.w	%r12,[%sp+0x2c]
	ld.w	%r13,%r1
	ext	mp3_read_scalefactor@rm	; 	xcall	mp3_read_scalefactor
	call	mp3_read_scalefactor@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,20
	add	%r12,0x14
	ext	0x5		; 	xld.w	%r13,[%sp+368]
	ld.w	%r13,[%sp+0x30]
	ld.w	%r14,%r1
	ext	buf1.90+0x0@ah	; 	xld.w	%r15,[buf1.90]
	ext	buf1.90+0x0@al
	ld.w	%r15,[%r8]
	ext	mp3_huffman_decode@rm	; 	xcall	mp3_huffman_decode
	call	mp3_huffman_decode@rl
	ld.w	%r11,%r10
	ext	0xa		; 	xld.h	%r10,[%r1+10]
	ld.h	%r10,[%r1]
	cmp	%r10,0x2	; 	xcmp	%r10,2
	jrne	__LX231		; 	xjrne	__L231
	ext	0xc		; 	xld.h	%r10,[%r1+12]
	ld.h	%r10,[%r1]
	cmp	%r10,0x0
	jreq	__LX232		; 	xjreq	__L232
	ext	buf1.90+0x0@ah	; 	xld.w	%r12,[buf1.90]
	ext	buf1.90+0x0@al
	ld.w	%r12,[%r8]
	ld.w	%r13,0x0
	ld.w	%r14,0x4	; 	xld.w	%r14,0x00000004		; 4
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	jp	__LX234		; 	xjp	__L234
__LX232:				; __L232:
	ext	buf1.90+0x0@ah	; 	xld.w	%r15,[buf1.90]
	ext	buf1.90+0x0@al
	ld.w	%r15,[%r8]
	ext	buf2.91+0x0@ah	; 	xld.w	%r10,[buf2.91]
	ext	buf2.91+0x0@al
	ld.w	%r10,[%r8]
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x5		; 	xld.w	%r12,[%sp+368]
	ld.w	%r12,[%sp+0x30]
	ld.w	%r13,%r1
	ext	0x5		; 	xld.w	%r14,[%sp+372]
	ld.w	%r14,[%sp+0x34]
	ext	0x3		; 	xadd	%r14,%r14,204
	add	%r14,0xc
	ext	mp3_requantize_short@rm	; 	xcall	mp3_requantize_short
	call	mp3_requantize_short@rl
	ext	buf2.91+0x0@ah	; 	xld.w	%r12,[buf2.91]
	ext	buf2.91+0x0@al
	ld.w	%r12,[%r8]
	ext	buf1.90+0x0@ah	; 	xld.w	%r13,[buf1.90]
	ext	buf1.90+0x0@al
	ld.w	%r13,[%r8]
	ext	0x191c		; 	xadd	%r14,%r2,6428
	add	%r14,%r2
	ext	mp3_imdct_short@rm	; 	xcall	mp3_imdct_short
	call	mp3_imdct_short@rl
	jp	__LX234		; 	xjp	__L234
__LX231:				; __L231:
	ext	0x1f		; 	xadd	%r0,%r11,31
	add	%r0,%r11
	jrge	__LX235		; 	xjrge	__L235
	add	%r0,0x1f	; 	xadd	%r0,%r0,31
__LX235:				; __L235:
	sra	%r0,0x5		; 	xsra	%r0,5
	ext	buf1.90+0x0@ah	; 	xld.w	%r15,[buf1.90]
	ext	buf1.90+0x0@al
	ld.w	%r15,[%r8]
	ext	buf2.91+0x0@ah	; 	xld.w	%r10,[buf2.91]
	ext	buf2.91+0x0@al
	ld.w	%r10,[%r8]
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	[%sp+0x1],%r11	; 	xld.w	[%sp+4],%r11
	ext	0x5		; 	xld.w	%r12,[%sp+368]
	ld.w	%r12,[%sp+0x30]
	ld.w	%r13,%r1
	ext	0x5		; 	xld.w	%r14,[%sp+372]
	ld.w	%r14,[%sp+0x34]
	ext	0x3		; 	xadd	%r14,%r14,204
	add	%r14,0xc
	ext	mp3_requantize_long@rm	; 	xcall	mp3_requantize_long
	call	mp3_requantize_long@rl
	ext	buf2.91+0x0@ah	; 	xld.w	%r12,[buf2.91]
	ext	buf2.91+0x0@al
	ld.w	%r12,[%r8]
	ld.w	%r13,%r0
	ext	mp3_antialias@rm	; 	xcall	mp3_antialias
	call	mp3_antialias@rl
	ext	buf2.91+0x0@ah	; 	xld.w	%r12,[buf2.91]
	ext	buf2.91+0x0@al
	ld.w	%r12,[%r8]
	ext	buf1.90+0x0@ah	; 	xld.w	%r13,[buf1.90]
	ext	buf1.90+0x0@al
	ld.w	%r13,[%r8]
	ext	0x191c		; 	xadd	%r14,%r2,6428
	add	%r14,%r2
	ld.w	%r15,%r0
	ext	mp3_imdct_long@rm	; 	xcall	mp3_imdct_long
	call	mp3_imdct_long@rl
__LX234:				; __L234:
	ext	buf1.90+0x0@ah	; 	xld.w	%r12,[buf1.90]
	ext	buf1.90+0x0@al
	ld.w	%r12,[%r8]
	ext	0x1		; 	xld.w	%r15,[%r2+9628]
	ext	0x59c
	ld.w	%r15,[%r2]
	ext	0x5		; 	xld.w	%r4,[%sp+336]
	ld.w	%r4,[%sp+0x10]
	ld.w	[%sp+0x0],%r4	; 	xld.w	[%sp],%r4
	ext	0x5		; 	xld.w	%r13,[%sp+352]
	ld.w	%r13,[%sp+0x20]
	ext	0x1d9c		; 	xadd	%r14,%r2,7580
	add	%r14,%r2
	ext	mp3_subband_synthesys@rm	; 	xcall	mp3_subband_synthesys
	call	mp3_subband_synthesys@rl
	ext	0x1		; 	xld.w	[%r2+9628],%r10
	ext	0x59c
	ld.w	[%r2],%r10
	ext	0x5		; 	xld.w	%r5,[%sp+336]
	ld.w	%r5,[%sp+0x10]
	ext	0x4		; 	xld.h	%r11,[%r5+4]
	ld.h	%r11,[%r5]
	ext	0x0		; 	xld.w	%r10,0x00000024		; 36
	ld.w	%r10,0x24
	mlt.w	%r11,%r10
	ext	0x5		; 	xld.w	%r4,[%sp+352]
	ld.w	%r4,[%sp+0x20]
	ld.w	%r5,%alr
	add	%r4,%r5
	ext	0x5		; 	xld.w	[%sp+352],%r4
	ld.w	[%sp+0x20],%r4
__LX228:				; __L228:
	ld.h	%r13,[%r1]	; 	xld.h	%r13,[%r1]
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,8
	add	%r12,0x8
	ext	mp3_bitstream_skip@rm	; 	xcall	mp3_bitstream_skip
	call	mp3_bitstream_skip@rl
	add	%r3,0x1		; 	xadd	%r3,%r3,1
	ext	0x5		; 	xld.w	%r4,[%sp+340]
	ld.w	%r4,[%sp+0x14]
	cmp	%r3,%r4
	ext	__LX227@rm	; 	xjrlt	__L227
	jrlt	__LX227@rl
__LX222:				; __L222:
	ext	0x5		; 	xld.w	%r5,[%sp+348]
	ld.w	%r5,[%sp+0x1c]
	add	%r5,0x1		; 	xadd	%r5,%r5,1
	ext	0x5		; 	xld.w	[%sp+348],%r5
	ld.w	[%sp+0x1c],%r5
	cmp	%r5,0x1		; 	xcmp	%r5,1
	ext	__LX223@rm	; 	xjrle	__L223
	jrle	__LX223@rl
	ext	0x5		; 	xld.w	%r4,[%sp+336]
	ld.w	%r4,[%sp+0x10]
	ext	0x6		; 	xld.uh	%r10,[%r4+6]
	ld.uh	%r10,[%r4]
	ext	0x8		; 	xld.w	[%r2+8],%r10
	ld.w	[%r2],%r10
	ext	0x4		; 	xld.h	%r11,[%r4+4]
	ld.h	%r11,[%r4]
	ext	0x0		; 	xld.w	%r10,0x00000024		; 36
	ld.w	%r10,0x24
	mlt.w	%r11,%r10
	ld.w	%r5,%alr
	ext	0xc		; 	xld.w	[%r2+12],%r5
	ld.w	[%r2],%r5
	ld.w	%r10,[%r2]	; 	xld.w	%r10,[%r2]
	ext	0x5		; 	xld.w	%r4,[%sp+344]
	ld.w	%r4,[%sp+0x18]
	add	%r10,%r4
	ld.w	[%r2],%r10	; 	xld.w	[%r2],%r10
	ld.w	%r10,0x0
__LX238:				; __L238:
	add	%sp,0x5e	; 	xadd	%sp,%sp,376
	popn	%r3
	ret

	.lcomm	mp3.94 9632
	.align	1
	.global	mp3_play
mp3_play:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r0,%r12
	ld.w	%r1,%r13
	ld.w	%r12,0x3f	; 	xld.w	%r12,-1			; 0xffffffff
	ext	turbo@rm	; 	xcall	turbo
	call	turbo@rl
	call	mp3_stop	; 	xcall	mp3_stop
	ext	mp3.94+0x0@h	; 	xld.w	%r2,mp3.94
	ext	mp3.94+0x0@m
	ld.w	%r2,mp3.94+0x0@l
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ld.w	%r14,%r1
	ext	mp3_init@rm	; 	xcall	mp3_init
	call	mp3_init@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX242		; 	xjrne	__L242
	ext	0x5		; 	xld.w	%r12,0x00000140		; 320
	ld.w	%r12,0x0
	ext	mp3_stream_callback+0x0@h	; 	xld.w	%r13,mp3_stream_callback
	ext	mp3_stream_callback+0x0@m
	ld.w	%r13,mp3_stream_callback+0x0@l
	ld.w	%r14,%r2
	ld.w	%r15,%r0
	ext	stream_play@rm	; 	xcall	stream_play
	call	stream_play@rl
	ld.w	%r10,%r0
	jp	__LX243		; 	xjp	__L243
__LX242:				; __L242:
	ld.w	%r10,0x3f	; 	xld.w	%r10,-1			; 0xffffffff
__LX243:				; __L243:
	popn	%r2
	ret
	.align	1
	.global	mp3_stop
mp3_stop:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	stream_stop@rm	; 	xcall	stream_stop
	call	stream_stop@rl
	ret

