
;  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:
	.global	stack_info
	.data
	.align	2
stack_info:
	.byte	83
	.byte	84
	.byte	65
	.byte	67
	.byte	75
	.byte	73
	.byte	78
	.byte	70
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.code
	.align	2
__LC0:
	.ascii	"\274\275\303\321\275\300\257\270\273\262\275\336\202\252"
	.ascii	"\n\216w\222\350\202\263\202\352\202\304\202\242\202\334\202"
	.ascii	"\271\202\361\201B\000"
	.align	2
__LC1:
	.ascii	"\274\275\303\321\275\300\257\270\202\252\n\217\254\202\263"
	.ascii	"\202\267\202\254\202\334\202\267\201B\000"
	.align	2
__LC2:
	.ascii	"\325\260\273\336\260\275\300\257\270\202\252\n\212m\225\333"
	.ascii	"\202\305\202\253\202\334\202\271\202\361\201B\000"
	.align	2
__LC3:
	.ascii	"\325\260\273\336\260\275\300\257\270\202\252\n\217\254\202"
	.ascii	"\263\202\267\202\254\202\334\202\267\201B\000"
	.code
	.align	1
stack_layout:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ext	stack_info+0x0@h	; 	xld.w	%r1,stack_info
	ext	stack_info+0x0@m
	ld.w	%r1,stack_info+0x0@l
; APP
	ext	_stacklen+0x0@h	; 	xld.w %r11,    _stacklen
	ext	_stacklen+0x0@m
	ld.w	%r11,_stacklen+0x0@l
	ext	_usrstacklen+0x0@h	; 	xld.w %r0, _usrstacklen
	ext	_usrstacklen+0x0@m
	ld.w	%r0,_usrstacklen+0x0@l
; NO_APP
	ext	0x3		; 	xadd	%r10,%r11,3
	add	%r10,%r11
	ld.w	%r11,%r10
	and	%r11,0x3c	; 	xand	%r11,%r11,0xfffffffc
	jrne	__LX71		; 	xjrne	__L71
	ext	__LC0+0x0@h	; 	xld.w	%r1,__LC0
	ext	__LC0+0x0@m
	ld.w	%r1,__LC0+0x0@l
	jp	__LX72		; 	xjp	__L72
__LX71:				; __L71:
	ext	__END_DEFAULT_BSS+0x3@h	; 	xld.w	%r10,__END_DEFAULT_BSS+3
	ext	__END_DEFAULT_BSS+0x3@m
	ld.w	%r10,__END_DEFAULT_BSS+0x3@l
	and	%r10,0x3c	; 	xand	%r10,%r10,0xfffffffc
	ext	stack_info+0x8@ah	; 	xld.w	[stack_info+8],%r10
	ext	stack_info+0x8@al
	ld.w	[%r8],%r10
	add	%r10,%r11
	ext	stack_info+0xc@ah	; 	xld.w	[stack_info+12],%r10
	ext	stack_info+0xc@al
	ld.w	[%r8],%r10
	ext	0xf		; 	xcmp	%r11,1023
	cmp	%r11,0x3f
	jrgt	__LX73		; 	xjrgt	__L73
	ext	__LC1+0x0@h	; 	xld.w	%r1,__LC1
	ext	__LC1+0x0@m
	ld.w	%r1,__LC1+0x0@l
	jp	__LX72		; 	xjp	__L72
__LX73:				; __L73:
	ext	0x3		; 	xadd	%r10,%r0,3
	add	%r10,%r0
	ld.w	%r0,%r10
	and	%r0,0x3c	; 	xand	%r0,%r0,0xfffffffc
	jrne	__LX74		; 	xjrne	__L74
	ext	__SIZEOF_FRAM_ADDR+0x3@h	; 	xld.w	%r10,__SIZEOF_FRAM_ADDR+3
	ext	__SIZEOF_FRAM_ADDR+0x3@m
	ld.w	%r10,__SIZEOF_FRAM_ADDR+0x3@l
	and	%r10,0x3c	; 	xand	%r10,%r10,0xfffffffc
	ext	0x40		; 	xadd	%r10,%r10,4096
	add	%r10,0x0
	ext	stack_info+0x10@ah	; 	xld.w	[stack_info+16],%r10
	ext	stack_info+0x10@al
	ld.w	[%r8],%r10
	ext	0x80		; 	xld.w	%r11,0x00002000		; 8192
	ld.w	%r11,0x0
	ext	stack_info+0x14@ah	; 	xld.w	[stack_info+20],%r11
	ext	stack_info+0x14@al
	ld.w	[%r8],%r11
	ld.w	%r0,%r11
	sub	%r0,%r10
	jp	__LX75		; 	xjp	__L75
__LX74:				; __L74:
	ld.w	%r12,%r0
	ext	malloc@rm	; 	xcall	malloc
	call	malloc@rl
	ext	stack_info+0x10@ah	; 	xld.w	[stack_info+16],%r10
	ext	stack_info+0x10@al
	ld.w	[%r8],%r10
	cmp	%r10,0x0
	jrne	__LX76		; 	xjrne	__L76
	ext	__LC2+0x0@h	; 	xld.w	%r1,__LC2
	ext	__LC2+0x0@m
	ld.w	%r1,__LC2+0x0@l
	jp	__LX72		; 	xjp	__L72
__LX76:				; __L76:
	add	%r10,%r0
	ext	stack_info+0x14@ah	; 	xld.w	[stack_info+20],%r10
	ext	stack_info+0x14@al
	ld.w	[%r8],%r10
__LX75:				; __L75:
	ext	0xf		; 	xcmp	%r0,1023
	cmp	%r0,0x3f
	jrgt	__LX77		; 	xjrgt	__L77
	ext	__LC3+0x0@h	; 	xld.w	%r1,__LC3
	ext	__LC3+0x0@m
	ld.w	%r1,__LC3+0x0@l
	jp	__LX72		; 	xjp	__L72
__LX77:				; __L77:
	ext	0x8		; 	xld.w	%r10,[%r1+8]
	ld.w	%r10,[%r1]
; APP
	ld.w %r11, %sp
; NO_APP
	cmp	%r10,%r11
	jruge	__LX79		; 	xjruge	__L79
__LX80:				; __L80:
	ld.w	[%r10],%r10	; 	xld.w	[%r10],%r10
	add	%r10,0x4	; 	xadd	%r10,%r10,4
	cmp	%r10,%r11
	jrult	__LX80		; 	xjrult	__L80
__LX79:				; __L79:
	ext	0x10		; 	xld.w	%r10,[%r1+16]
	ld.w	%r10,[%r1]
	ext	0x14		; 	xld.w	%r11,[%r1+20]
	ld.w	%r11,[%r1]
	cmp	%r10,%r11
	jruge	__LX70		; 	xjruge	__L70
__LX84:				; __L84:
	ld.w	[%r10],%r10	; 	xld.w	[%r10],%r10
	add	%r10,0x4	; 	xadd	%r10,%r10,4
	cmp	%r10,%r11
	jrult	__LX84		; 	xjrult	__L84
	jp	__LX70		; 	xjp	__L70
__LX72:				; __L72:
	ext	_def_vbuff+0x0@h	; 	xld.w	%r0,_def_vbuff
	ext	_def_vbuff+0x0@m
	ld.w	%r0,_def_vbuff+0x0@l
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	ext	0xb0		; 	xld.w	%r14,0x00002c00		; 11264
	ld.w	%r14,0x0
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	%r12,%r0
	ext	pceLCDSetBuffer@rm	; 	xcall	pceLCDSetBuffer
	call	pceLCDSetBuffer@rl
	ext	pceLCDDispStart@rm	; 	xcall	pceLCDDispStart
	call	pceLCDDispStart@rl
	ld.w	%r12,0x0
	ext	pceFontSetType@rm	; 	xcall	pceFontSetType
	call	pceFontSetType@rl
	ld.w	%r12,0x3	; 	xld.w	%r12,0x00000003		; 3
	ext	pceFontSetTxColor@rm	; 	xcall	pceFontSetTxColor
	call	pceFontSetTxColor@rl
	ld.w	%r12,0x0
	ext	pceFontSetBkColor@rm	; 	xcall	pceFontSetBkColor
	call	pceFontSetBkColor@rl
	ld.w	%r12,0x0
	ld.w	%r13,%r12
	ext	pceFontSetPos@rm	; 	xcall	pceFontSetPos
	call	pceFontSetPos@rl
	ld.w	%r12,%r1
	ext	pceFontPutStr@rm	; 	xcall	pceFontPutStr
	call	pceFontPutStr@rl
	ext	pceLCDTrans@rm	; 	xcall	pceLCDTrans
	call	pceLCDTrans@rl
__LX86:				; __L86:
	ext	pcePadGetDirect@rm	; 	xcall	pcePadGetDirect
	call	pcePadGetDirect@rl
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jrne	__LX86		; 	xjrne	__L86
__LX89:				; __L89:
	ext	pcePadGetDirect@rm	; 	xcall	pcePadGetDirect
	call	pcePadGetDirect@rl
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jreq	__LX89		; 	xjreq	__L89
__LX92:				; __L92:
	ext	pcePadGetDirect@rm	; 	xcall	pcePadGetDirect
	call	pcePadGetDirect@rl
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jrne	__LX92		; 	xjrne	__L92
; APP
	
	ext	0x600		; 		xld.w %r4, [0xC00000]	;// 強制リセット
	ext	0x0
	ld.w	%r4,[%r8]
		jp %r4
	
; NO_APP
__LX70:				; __L70:
	popn	%r1
	ret
	.code
	.align	2
__LC4:
	.ascii	"Stack Overflow!!\000"
	.code
	.align	1
stack_check:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ext	stack_info+0x8@ah	; 	xld.w	%r10,[stack_info+8]
	ext	stack_info+0x8@al
	ld.w	%r10,[%r8]
	ext	stack_info+0x8@h	; 	xld.w	%r12,stack_info+8
	ext	stack_info+0x8@m
	ld.w	%r12,stack_info+0x8@l
	ld.w	%r11,[%r10]	; 	xld.w	%r11,[%r10]
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	cmp	%r11,%r10
	jrne	__LX96		; 	xjrne	__L96
	ext	stack_info+0x10@ah	; 	xld.w	%r10,[stack_info+16]
	ext	stack_info+0x10@al
	ld.w	%r10,[%r8]
	ld.w	%r11,[%r10]	; 	xld.w	%r11,[%r10]
	ext	0x8		; 	xld.w	%r10,[%r12+8]
	ld.w	%r10,[%r12]
	cmp	%r11,%r10
	jreq	__LX95		; 	xjreq	__L95
__LX96:				; __L96:
	ext	_def_vbuff+0x0@h	; 	xld.w	%r0,_def_vbuff
	ext	_def_vbuff+0x0@m
	ld.w	%r0,_def_vbuff+0x0@l
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	ext	0xb0		; 	xld.w	%r14,0x00002c00		; 11264
	ld.w	%r14,0x0
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	%r12,%r0
	ext	pceLCDSetBuffer@rm	; 	xcall	pceLCDSetBuffer
	call	pceLCDSetBuffer@rl
	ext	pceLCDDispStart@rm	; 	xcall	pceLCDDispStart
	call	pceLCDDispStart@rl
	ld.w	%r12,0x0
	ext	pceFontSetType@rm	; 	xcall	pceFontSetType
	call	pceFontSetType@rl
	ld.w	%r12,0x3	; 	xld.w	%r12,0x00000003		; 3
	ext	pceFontSetTxColor@rm	; 	xcall	pceFontSetTxColor
	call	pceFontSetTxColor@rl
	ld.w	%r12,0x0
	ext	pceFontSetBkColor@rm	; 	xcall	pceFontSetBkColor
	call	pceFontSetBkColor@rl
	ld.w	%r12,0x0
	ld.w	%r13,%r12
	ext	pceFontSetPos@rm	; 	xcall	pceFontSetPos
	call	pceFontSetPos@rl
	ext	__LC4+0x0@h	; 	xld.w	%r12,__LC4
	ext	__LC4+0x0@m
	ld.w	%r12,__LC4+0x0@l
	ext	pceFontPutStr@rm	; 	xcall	pceFontPutStr
	call	pceFontPutStr@rl
	ext	pceLCDTrans@rm	; 	xcall	pceLCDTrans
	call	pceLCDTrans@rl
__LX97:				; __L97:
	ext	pcePadGetDirect@rm	; 	xcall	pcePadGetDirect
	call	pcePadGetDirect@rl
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jrne	__LX97		; 	xjrne	__L97
__LX100:				; __L100:
	ext	pcePadGetDirect@rm	; 	xcall	pcePadGetDirect
	call	pcePadGetDirect@rl
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jreq	__LX100		; 	xjreq	__L100
__LX103:				; __L103:
	ext	pcePadGetDirect@rm	; 	xcall	pcePadGetDirect
	call	pcePadGetDirect@rl
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	jrne	__LX103		; 	xjrne	__L103
; APP
	
	ext	0x600		; 		xld.w %r4, [0xC00000]	;// 強制リセット
	ext	0x0
	ld.w	%r4,[%r8]
		jp %r4
	
; NO_APP
__LX95:				; __L95:
	popn	%r0
	ret
	.data
	.align	2
old_pceHeapAlloc:
	.word	new_pceHeapAlloc
	.align	2
old_pceHeapFree:
	.word	new_pceHeapFree
	.align	2
old_pceHeapRealloc:
	.word	new_pceHeapRealloc
	.align	2
old_pceHeapGetMaxFreeSize:
	.word	new_pceHeapGetMaxFreeSize
	.code
	.align	1
new_pceHeapAlloc:
;	.frame	%sp,12,$31		# vars= 4, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	ld.w	%r0,%r12
	ld.w	%r12,%sp
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection
	call	pceSyncEnterCriticalSection@rl
	ext	old_pceHeapAlloc+0x0@ah	; 	xld.w	%r10,[old_pceHeapAlloc]
	ext	old_pceHeapAlloc+0x0@al
	ld.w	%r10,[%r8]
	ld.w	%r12,%r0
	call	%r10
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection
	call	pceSyncLeaveCriticalSection@rl
	ld.w	%r10,%r0
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r0
	ret
	.align	1
new_pceHeapFree:
;	.frame	%sp,12,$31		# vars= 4, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	ld.w	%r0,%r12
	ld.w	%r12,%sp
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection
	call	pceSyncEnterCriticalSection@rl
	ext	old_pceHeapFree+0x0@ah	; 	xld.w	%r10,[old_pceHeapFree]
	ext	old_pceHeapFree+0x0@al
	ld.w	%r10,[%r8]
	ld.w	%r12,%r0
	call	%r10
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection
	call	pceSyncLeaveCriticalSection@rl
	ld.w	%r10,%r0
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r0
	ret
	.align	1
new_pceHeapRealloc:
;	.frame	%sp,16,$31		# vars= 4, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	ld.w	%r0,%r12
	ld.w	%r1,%r13
	ld.w	%r12,%sp
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection
	call	pceSyncEnterCriticalSection@rl
	ext	old_pceHeapRealloc+0x0@ah	; 	xld.w	%r10,[old_pceHeapRealloc]
	ext	old_pceHeapRealloc+0x0@al
	ld.w	%r10,[%r8]
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	call	%r10
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection
	call	pceSyncLeaveCriticalSection@rl
	ld.w	%r10,%r0
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r1
	ret
	.align	1
new_pceHeapGetMaxFreeSize:
;	.frame	%sp,12,$31		# vars= 4, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	ld.w	%r12,%sp
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection
	call	pceSyncEnterCriticalSection@rl
	ext	old_pceHeapGetMaxFreeSize+0x0@ah	; 	xld.w	%r10,[old_pceHeapGetMaxFreeSize]
	ext	old_pceHeapGetMaxFreeSize+0x0@al
	ld.w	%r10,[%r8]
	call	%r10
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection
	call	pceSyncLeaveCriticalSection@rl
	ld.w	%r10,%r0
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r0
	ret
	.align	1
hook_unhook_heapman:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	0x1		; 	xld.w	%r12,0x00000070		; 112
	ld.w	%r12,0x30
	ext	old_pceHeapAlloc+0x0@ah	; 	xld.w	%r13,[old_pceHeapAlloc]
	ext	old_pceHeapAlloc+0x0@al
	ld.w	%r13,[%r8]
	ext	pceVectorSetKs@rm	; 	xcall	pceVectorSetKs
	call	pceVectorSetKs@rl
	ext	old_pceHeapAlloc+0x0@ah	; 	xld.w	[old_pceHeapAlloc],%r10
	ext	old_pceHeapAlloc+0x0@al
	ld.w	[%r8],%r10
	ext	0x1		; 	xld.w	%r12,0x00000071		; 113
	ld.w	%r12,0x31
	ext	old_pceHeapFree+0x0@ah	; 	xld.w	%r13,[old_pceHeapFree]
	ext	old_pceHeapFree+0x0@al
	ld.w	%r13,[%r8]
	ext	pceVectorSetKs@rm	; 	xcall	pceVectorSetKs
	call	pceVectorSetKs@rl
	ext	old_pceHeapFree+0x0@ah	; 	xld.w	[old_pceHeapFree],%r10
	ext	old_pceHeapFree+0x0@al
	ld.w	[%r8],%r10
	ext	0x1		; 	xld.w	%r12,0x00000072		; 114
	ld.w	%r12,0x32
	ext	old_pceHeapRealloc+0x0@ah	; 	xld.w	%r13,[old_pceHeapRealloc]
	ext	old_pceHeapRealloc+0x0@al
	ld.w	%r13,[%r8]
	ext	pceVectorSetKs@rm	; 	xcall	pceVectorSetKs
	call	pceVectorSetKs@rl
	ext	old_pceHeapRealloc+0x0@ah	; 	xld.w	[old_pceHeapRealloc],%r10
	ext	old_pceHeapRealloc+0x0@al
	ld.w	[%r8],%r10
	ext	0x1		; 	xld.w	%r12,0x00000073		; 115
	ld.w	%r12,0x33
	ext	old_pceHeapGetMaxFreeSize+0x0@ah	; 	xld.w	%r13,[old_pceHeapGetMaxFreeSize]
	ext	old_pceHeapGetMaxFreeSize+0x0@al
	ld.w	%r13,[%r8]
	ext	pceVectorSetKs@rm	; 	xcall	pceVectorSetKs
	call	pceVectorSetKs@rl
	ext	old_pceHeapGetMaxFreeSize+0x0@ah	; 	xld.w	[old_pceHeapGetMaxFreeSize],%r10
	ext	old_pceHeapGetMaxFreeSize+0x0@al
	ld.w	[%r8],%r10
	ret
; APP
	
	.code
	.align	1
precision_pad_proc:
	ext	precision_pad+0x0@ah	; 	xld.w	%r10, [precision_pad]		; %r10 := old_pcePadGetDirect
	ext	precision_pad+0x0@al
	ld.w	%r10,[%r8]
	call	%r10				; %r10 := pad = old_pcePadGetDirect()
	ext	precision_pad+0x4@h	; 	xld.w	%r11, precision_pad+4		; %r11 := &prev
	ext	precision_pad+0x4@m
	ld.w	%r11,precision_pad+0x4@l
	ld.ub	%r12, [%r11]+			; %r12 := prev, %r11 := &next
	ld.ub	%r13, [%r11]			; %r13 := next
	xor	%r12, %r10			; %r12 := mask = (prev ^ pad)
	and	%r10, %r12			; %r10 := (pad & mask)
	not	%r12, %r12			; %r12 := ~mask
	and	%r13, %r12			; %r13 := (next & ~mask)
	or	%r10, %r13			; %r10 := (next & ~mask) | (pad & mask)
	ld.b	[%r11], %r10			; next := (next & ~mask) | (pad & mask)
	ret					; return next

	
	.code
	.align	1
new_pcePadGetDirect:
	sub	%sp,0x1		; 	xsub	%sp, %sp, 4
	ld.w	%r12, %sp			; %r12 := &__cs__
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection	; ENTER_CS
	call	pceSyncEnterCriticalSection@rl
	call	precision_pad_proc	; 	xcall	precision_pad_proc		; %r10 := precision_pad_proc()
	ext	precision_pad+0x4@ah	; 	xld.b	[precision_pad+4], %r10		; prev := precision_pad_proc()
	ext	precision_pad+0x4@al
	ld.b	[%r8],%r10
	ld.w	%r12, %sp			; %r12 := &__cs__
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection	; LEAVE_CS
	call	pceSyncLeaveCriticalSection@rl
	ext	precision_pad+0x4@ah	; 	xld.ub	%r10, [precision_pad+4]		; %r10 := prev
	ext	precision_pad+0x4@al
	ld.ub	%r10,[%r8]
	add	%sp,0x1		; 	xadd	%sp, %sp, 4
	ret					; return prev

; NO_APP
	.align	1
precision_pad_init:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r12,0xc	; 	xld.w	%r12,0x0000000c		; 12
	ext	new_pcePadGetDirect+0x0@h	; 	xld.w	%r13,new_pcePadGetDirect
	ext	new_pcePadGetDirect+0x0@m
	ld.w	%r13,new_pcePadGetDirect+0x0@l
	ext	pceVectorSetKs@rm	; 	xcall	pceVectorSetKs
	call	pceVectorSetKs@rl
	ext	precision_pad+0x0@ah	; 	xld.w	[precision_pad],%r10
	ext	precision_pad+0x0@al
	ld.w	[%r8],%r10
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	precision_pad_proc+0x0@h	; 	xld.w	%r15,precision_pad_proc
	ext	precision_pad_proc+0x0@m
	ld.w	%r15,precision_pad_proc+0x0@l
	ext	pceTimerSetCallback@rm	; 	xcall	pceTimerSetCallback
	call	pceTimerSetCallback@rl
	ret
	.align	1
precision_pad_free:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r12,0xc	; 	xld.w	%r12,0x0000000c		; 12
	ext	precision_pad+0x0@ah	; 	xld.w	%r13,[precision_pad]
	ext	precision_pad+0x0@al
	ld.w	%r13,[%r8]
	ext	pceVectorSetKs@rm	; 	xcall	pceVectorSetKs
	call	pceVectorSetKs@rl
	ret

	.lcomm	old.84 4
	.align	1
	.global	pad_get
pad_get:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	pcePadGet@rm	; 	xcall	pcePadGet
	call	pcePadGet@rl
	ld.ub	%r5,%r10
	ext	old.84+0x0@ah	; 	xld.w	%r10,[old.84]
	ext	old.84+0x0@al
	ld.w	%r10,[%r8]
	xor	%r10,%r5
	ld.w	%r14,%r10
	and	%r14,%r5
	ext	old.84+0x0@ah	; 	xld.w	[old.84],%r5
	ext	old.84+0x0@al
	ld.w	[%r8],%r5
	ext	padinf+0x0@h	; 	xld.w	%r12,padinf
	ext	padinf+0x0@m
	ld.w	%r12,padinf+0x0@l
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ld.w	%r4,0x8		; 	xld.w	%r4,0x00000008		; 8
	ext	0x1		; 	xadd	%r15,%r12,1
	add	%r15,%r12
__LX130:				; __L130:
	ld.w	%r10,%r14
	and	%r10,%r13
	jreq	__LX133		; 	xjreq	__L133
	ld.ub	%r10,[%r15]	; 	xld.ub	%r10,[%r15]
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10
	jp	__LX134		; 	xjp	__L134
__LX133:				; __L133:
	ld.w	%r10,%r5
	and	%r10,%r13
	jreq	__LX135		; 	xjreq	__L135
	ld.ub	%r11,[%r12]	; 	xld.ub	%r11,[%r12]
	ld.ub	%r10,%r11
	cmp	%r10,0x0
	jreq	__LX134		; 	xjreq	__L134
	ext	0x1		; 	xsub	%r10,%r11,1
	sub	%r10,%r11
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10
	ld.ub	%r10,%r10
	cmp	%r10,0x0
	jrne	__LX134		; 	xjrne	__L134
	or	%r14,%r13
	ext	0x1		; 	xld.ub	%r10,[%r15+1]
	ld.ub	%r10,[%r15]
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10
	jp	__LX134		; 	xjp	__L134
__LX135:				; __L135:
	not	%r10,%r13
	and	%r14,%r10
__LX134:				; __L134:
	add	%r15,0x3	; 	xadd	%r15,%r15,3
	add	%r12,0x3	; 	xadd	%r12,%r12,3
	sll	%r13,0x1	; 	xsll	%r13,1
	sub	%r4,0x1		; 	xsub	%r4,%r4,1
	jrne	__LX130		; 	xjrne	__L130
	ld.w	%r10,%r14
	sll	%r10,0x8	; 	xsll	%r10,8
	or	%r5,%r10
	ld.w	%r10,%r5
	ret
	.align	1
	.global	pad_set_repeat
pad_set_repeat:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	padinf+0x0@h	; 	xld.w	%r15,padinf
	ext	padinf+0x0@m
	ld.w	%r15,padinf+0x0@l
	ld.w	%r5,0x1		; 	xld.w	%r5,0x00000001		; 1
	ld.w	%r4,0x8		; 	xld.w	%r4,0x00000008		; 8
	ext	0x1		; 	xadd	%r11,%r15,1
	add	%r11,%r15
__LX141:				; __L141:
	ld.w	%r10,%r12
	and	%r10,%r5
	jreq	__LX144		; 	xjreq	__L144
	ld.w	%r6,0x0
	ld.b	[%r15],%r6	; 	xld.b	[%r15],%r6
	ld.b	[%r11],%r13	; 	xld.b	[%r11],%r13
	ext	0x1		; 	xld.b	[%r11+1],%r14
	ld.b	[%r11],%r14
__LX144:				; __L144:
	add	%r11,0x3	; 	xadd	%r11,%r11,3
	add	%r15,0x3	; 	xadd	%r15,%r15,3
	sll	%r5,0x1		; 	xsll	%r5,1
	sub	%r4,0x1		; 	xsub	%r4,%r4,1
	jrne	__LX141		; 	xjrne	__L141
	ret
	.align	1
	.global	pceAppInit
pceAppInit:
;	.frame	%sp,12,$31		# vars= 4, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	ext	bugfix_pceHeapRealloc@rm	; 	xcall	bugfix_pceHeapRealloc
	call	bugfix_pceHeapRealloc@rl
	ext	hook_unhook_heapman@rm	; 	xcall	hook_unhook_heapman
	call	hook_unhook_heapman@rl
	call	precision_pad_init	; 	xcall	precision_pad_init
	ext	stack_layout@rm	; 	xcall	stack_layout
	call	stack_layout@rl
	ext	stack_info+0x1c@h	; 	xld.w	%r12,stack_info+28
	ext	stack_info+0x1c@m
	ld.w	%r12,stack_info+0x1c@l
	ext	stack_info+0x14@ah	; 	xld.w	%r10,[stack_info+20]
	ext	stack_info+0x14@al
	ld.w	%r10,[%r8]
	sub	%r10,0x4	; 	xsub	%r10,%r10,4
	ld.w	[%r12],%r10	; 	xld.w	[%r12],%r10
	ext	app_exit+0x0@h	; 	xld.w	%r11,app_exit
	ext	app_exit+0x0@m
	ld.w	%r11,app_exit+0x0@l
	ld.w	[%r10],%r11	; 	xld.w	[%r10],%r11
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	sub	%r10,0x4	; 	xsub	%r10,%r10,4
	ld.w	[%r12],%r10	; 	xld.w	[%r12],%r10
	ext	app_init+0x0@h	; 	xld.w	%r11,app_init
	ext	app_init+0x0@m
	ld.w	%r11,app_init+0x0@l
	ld.w	[%r10],%r11	; 	xld.w	[%r10],%r11
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	sub	%r10,0x10	; 	xsub	%r10,%r10,16
	ld.w	[%r12],%r10	; 	xld.w	[%r12],%r10
	ext	stderr_close@rm	; 	xcall	stderr_close
	call	stderr_close@rl
	ld.w	%r0,0x0
__LX150:				; __L150:
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	ext	pceWaveSetChAtt@rm	; 	xcall	pceWaveSetChAtt
	call	pceWaveSetChAtt@rl
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r0,0x3		; 	xcmp	%r0,3
	jrle	__LX150		; 	xjrle	__L150
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r0
	ret
	.align	1
	.global	pceAppProc
pceAppProc:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	pceTimerGetCount@rm	; 	xcall	pceTimerGetCount
	call	pceTimerGetCount@rl
	ext	apptm_wk+0x0@ah	; 	xld.w	[apptm_wk],%r10
	ext	apptm_wk+0x0@al
	ld.w	[%r8],%r10
	ext	app_proc@rm	; 	xcall	app_proc
	call	app_proc@rl
	ext	stack_check@rm	; 	xcall	stack_check
	call	stack_check@rl
	ret
	.align	1
	.global	pceAppExit
pceAppExit:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ext	exit_func+0x0@h	; 	xld.w	%r12,exit_func
	ext	exit_func+0x0@m
	ld.w	%r12,exit_func+0x0@l
	ld.w	%r0,[%r12]	; 	xld.w	%r0,[%r12]
	cmp	%r0,0x0
	jreq	__LX155		; 	xjreq	__L155
	ld.w	%r1,%r12
__LX156:				; __L156:
	ld.w	%r12,%r1
	ext	0x4		; 	xadd	%r13,%r1,4
	add	%r13,%r1
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memmove@rm	; 	xcall	memmove
	call	memmove@rl
	ld.w	%r11,0x0
	ext	exit_func+0xc@ah	; 	xld.w	[exit_func+12],%r11
	ext	exit_func+0xc@al
	ld.w	[%r8],%r11
	call	%r0
	ld.w	%r0,[%r1]	; 	xld.w	%r0,[%r1]
	cmp	%r0,0x0
	jrne	__LX156		; 	xjrne	__L156
__LX155:				; __L155:
	ext	stream_stop@rm	; 	xcall	stream_stop
	call	stream_stop@rl
	ext	pceIRStop@rm	; 	xcall	pceIRStop
	call	pceIRStop@rl
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ext	pceWaveStop@rm	; 	xcall	pceWaveStop
	call	pceWaveStop@rl
	ld.w	%r0,0x0
__LX161:				; __L161:
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	ld.w	%r14,%r13
	ld.w	%r15,%r13
	ext	pceTimerSetCallback@rm	; 	xcall	pceTimerSetCallback
	call	pceTimerSetCallback@rl
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r0,0x3		; 	xcmp	%r0,3
	jrle	__LX161		; 	xjrle	__L161
	ext	stderr_close@rm	; 	xcall	stderr_close
	call	stderr_close@rl
	ld.w	%r12,0x0
	ext	turbo@rm	; 	xcall	turbo
	call	turbo@rl
	ext	precision_pad_free@rm	; 	xcall	precision_pad_free
	call	precision_pad_free@rl
	ext	hook_unhook_heapman@rm	; 	xcall	hook_unhook_heapman
	call	hook_unhook_heapman@rl
	ext	bugfix_pceHeapRealloc@rm	; 	xcall	bugfix_pceHeapRealloc
	call	bugfix_pceHeapRealloc@rl
	popn	%r1
	ret
	.align	1
	.global	pceAppNotify
pceAppNotify:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,%r12
	ext	notify_func+0x0@ah	; 	xld.w	%r10,[notify_func]
	ext	notify_func+0x0@al
	ld.w	%r10,[%r8]
	cmp	%r10,0x0
	jreq	__LX164		; 	xjreq	__L164
	call	%r10
	cmp	%r10,0x0
	jrne	__LX171		; 	xjrne	__L171
__LX164:				; __L164:
	cmp	%r0,0x2		; 	xcmp	%r0,2
	jreq	__LX172		; 	xjreq	__L172
	cmp	%r0,0x4		; 	xcmp	%r0,4
	jrne	__LX166		; 	xjrne	__L166
	ext	_def_vbuff+0x0@h	; 	xld.w	%r12,_def_vbuff
	ext	_def_vbuff+0x0@m
	ld.w	%r12,_def_vbuff+0x0@l
	ext	pceLCDSetBuffer@rm	; 	xcall	pceLCDSetBuffer
	call	pceLCDSetBuffer@rl
__LX172:				; __L172:
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	jp	__LX171		; 	xjp	__L171
__LX166:				; __L166:
	ld.w	%r10,0x0
__LX171:				; __L171:
	popn	%r0
	ret
	.code
	.align	2
__LC5:
	.ascii	"clippce.$(%d)\000"
	.code
	.align	1
app_init:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ext	__START_FRAM_ADDR+0x0@h	; 	xld.w	%r12,__START_FRAM_ADDR
	ext	__START_FRAM_ADDR+0x0@m
	ld.w	%r12,__START_FRAM_ADDR+0x0@l
	ext	0x40		; 	xcmp	%r12,4096
	cmp	%r12,0x0
	jreq	__LX174		; 	xjreq	__L174
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x15		; 	xld.w	%r10,0x00000571		; 1393
	ld.w	%r10,0x31
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX174:				; __L174:
	ext	__SIZEOF_FRAM_ADDR+0x0@h	; 	xld.w	%r14,__SIZEOF_FRAM_ADDR
	ext	__SIZEOF_FRAM_ADDR+0x0@m
	ld.w	%r14,__SIZEOF_FRAM_ADDR+0x0@l
	cmp	%r14,%r12
	jrle	__LX175		; 	xjrle	__L175
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x15		; 	xld.w	%r10,0x00000572		; 1394
	ld.w	%r10,0x32
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX175:				; __L175:
	ext	__START_framtop_code+0x0@h	; 	xld.w	%r13,__START_framtop_code
	ext	__START_framtop_code+0x0@m
	ld.w	%r13,__START_framtop_code+0x0@l
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	main@rm		; 	xcall	main
	call	main@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
app_proc:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
; APP
	
	; システムコンテキストを退避します。
	pushn %r3
	ld.w %r4, %sp
	ext	stack_info+0x18@ah	; 	xld.w [stack_info+24], %r4	; ssp
	ext	stack_info+0x18@al
	ld.w	[%r8],%r4

	; ユーザーコンテキストを復元します。
	ext	stack_info+0x1c@ah	; 	xld.w %r4, [stack_info+28]	; usp
	ext	stack_info+0x1c@al
	ld.w	%r4,[%r8]
	ld.w %sp, %r4
	popn %r3
	
; NO_APP
	ret
	.align	1
app_exit:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
; APP
	
	; システムコンテキストを復元します。
	ext	stack_info+0x18@ah	; 	xld.w %r4, [stack_info+24]	; ssp
	ext	stack_info+0x18@al
	ld.w	%r4,[%r8]
	ld.w %sp, %r4
	popn %r3

	; 終了要求を発行します。
	ld.w %r12, %r10		; %r10には、main()からの戻り値が入っています。
	ext	pceAppReqExit@rm	; 	xcall pceAppReqExit
	call	pceAppReqExit@rl
	
; NO_APP
	ret
	.align	1
	.global	yield
yield:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
; APP
	
	; ユーザーコンテキストを退避します。
	pushn %r3
	ld.w %r4, %sp
	ext	stack_info+0x1c@ah	; 	xld.w [stack_info+28], %r4	; usp
	ext	stack_info+0x1c@al
	ld.w	[%r8],%r4

	; システムコンテキストを復元します。
	ext	stack_info+0x18@ah	; 	xld.w %r4, [stack_info+24]	; ssp
	ext	stack_info+0x18@al
	ld.w	%r4,[%r8]
	ld.w %sp, %r4
	popn %r3
	
; NO_APP
	ret
	.align	1
	.global	atexit
atexit:
;	.frame	%sp,24,$31		# vars= 0, regs= 4/0, args= 8, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r2,%r12
	ext	exit_func+0xc@h	; 	xld.w	%r12,exit_func+12
	ext	exit_func+0xc@m
	ld.w	%r12,exit_func+0xc@l
	ld.w	%r1,[%r12]	; 	xld.w	%r1,[%r12]
	cmp	%r1,0x0
	jreq	__LX180		; 	xjreq	__L180
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x18		; 	xld.w	%r10,0x00000610		; 1552
	ld.w	%r10,0x10
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX180:				; __L180:
	ext	0xc		; 	xsub	%r0,%r12,12
	sub	%r0,%r12
	sub	%r12,0x8	; 	xsub	%r12,%r12,8
	ld.w	%r13,%r0
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memmove@rm	; 	xcall	memmove
	call	memmove@rl
	ld.w	[%r0],%r2	; 	xld.w	[%r0],%r2
	ld.w	%r10,%r1
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r2
	ret
	.align	1
	.global	atnotify
atnotify:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ext	notify_func+0x0@ah	; 	xld.w	%r10,[notify_func]
	ext	notify_func+0x0@al
	ld.w	%r10,[%r8]
	cmp	%r10,0x0
	jreq	__LX182		; 	xjreq	__L182
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x18		; 	xld.w	%r10,0x00000620		; 1568
	ld.w	%r10,0x20
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX182:				; __L182:
	ext	notify_func+0x0@ah	; 	xld.w	[notify_func],%r12
	ext	notify_func+0x0@al
	ld.w	[%r8],%r12
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
turbo_CLOCK:
;	.frame	%sp,16,$31		# vars= 4, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262865]
	ext	0x2d1
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ld.ub	%r10,%r10
	srl	%r10,0x7	; 	xsrl	%r10,7
	ld.w	%r13,%r10
	xor	%r13,0x1	; 	xxor	%r13,%r13,0x00000001
	cmp	%r12,0x0
	jreq	__LX184		; 	xjreq	__L184
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
__LX184:				; __L184:
	cmp	%r13,%r12
	ext	__LX196@rm	; 	xjreq	__L196
	jreq	__LX196@rl
	cmp	%r12,0x0
	ext	__LX186@rm	; 	xjreq	__L186
	jreq	__LX186@rl
	ext	0x24		; 	xbtst	[295302],0x0
	ext	0x186
	btst	[%r8],0x0
	jrne	__LX187		; 	xjrne	__L187
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006af		; 1711
	ld.w	%r10,0x2f
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX187:				; __L187:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295302]
	ext	0x186
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xld.w	%r11,0x000000fe		; 254
	ld.w	%r11,0x3e
	and	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295302],%r10
	ext	0x186
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x24		; 	xld.uh	%r10,[295298]
	ext	0x182
	ld.uh	%r10,[%r8]
	;.set	novolatile
	ld.uh	%r10,%r10
	ext	0x5d		; 	xcmp	%r10,5999
	cmp	%r10,0x2f
	jreq	__LX188		; 	xjreq	__L188
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006b0		; 1712
	ld.w	%r10,0x30
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX188:				; __L188:
	ext	0xbb		; 	xld.w	%r10,0x00002edf		; 11999
	ld.w	%r10,0x1f
	;.set	volatile
	ext	0x24		; 	xld.h	[295298],%r10
	ext	0x182
	ld.h	[%r8],%r10
	;.set	novolatile
	ext	0x24		; 	xbset	[295302],0x0
	ext	0x186
	bset	[%r8],0x0
	ext	0x24		; 	xbtst	[295310],0x0
	ext	0x18e
	btst	[%r8],0x0
	jrne	__LX189		; 	xjrne	__L189
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006b4		; 1716
	ld.w	%r10,0x34
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX189:				; __L189:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295310]
	ext	0x18e
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295310],%r10
	ext	0x18e
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262472]
	ext	0x148
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	jreq	__LX190		; 	xjreq	__L190
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006b5		; 1717
	ld.w	%r10,0x35
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX190:				; __L190:
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262472]
	ext	0x148
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xld.w	%r12,0x000000f8		; 248
	ld.w	%r12,0x38
	and	%r10,%r12
	or	%r10,0x1	; 	xoor	%r10,%r10,0x00000001
	;.set	volatile
	ext	0x20		; 	xld.b	[262472],%r10
	ext	0x148
	ld.b	[%r8],%r10
	;.set	novolatile
	ext	0x24		; 	xbset	[295310],0x0
	ext	0x18e
	bset	[%r8],0x0
	ext	0x24		; 	xbtst	[295334],0x0
	ext	0x1a6
	btst	[%r8],0x0
	jrne	__LX191		; 	xjrne	__L191
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006b9		; 1721
	ld.w	%r10,0x39
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX191:				; __L191:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295334]
	ext	0x1a6
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295334],%r10
	ext	0x1a6
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262475]
	ext	0x14b
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	jreq	__LX192		; 	xjreq	__L192
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006ba		; 1722
	ld.w	%r10,0x3a
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX192:				; __L192:
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262475]
	ext	0x14b
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,%r12
	or	%r10,0x1	; 	xoor	%r10,%r10,0x00000001
	;.set	volatile
	ext	0x20		; 	xld.b	[262475],%r10
	ext	0x14b
	ld.b	[%r8],%r10
	;.set	novolatile
	ext	0x24		; 	xbset	[295334],0x0
	ext	0x1a6
	bset	[%r8],0x0
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295208]
	ext	0x128
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	cmp	%r10,0x4	; 	xcmp	%r10,4
	jreq	__LX193		; 	xjreq	__L193
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006be		; 1726
	ld.w	%r10,0x3e
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX193:				; __L193:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295208]
	ext	0x128
	ld.ub	%r10,[%r8]
	;.set	novolatile
	or	%r10,0x7	; 	xoor	%r10,%r10,0x00000007
	;.set	volatile
	ext	0x24		; 	xld.b	[295208],%r10
	ext	0x128
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295208]
	ext	0x128
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x0		; 	xld.w	%r11,0x00000030		; 48
	ld.w	%r11,0x30
	ld.w	%r14,%r11
	and	%r14,%r10
	ld.w	%r10,%r14
	ext	0x0		; 	xcmp	%r10,32
	cmp	%r10,0x20
	jreq	__LX194		; 	xjreq	__L194
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006bf		; 1727
	ld.w	%r10,0x3f
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX194:				; __L194:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295208]
	ext	0x128
	ld.ub	%r10,[%r8]
	;.set	novolatile
	or	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295208],%r10
	ext	0x128
	ld.b	[%r8],%r10
	;.set	novolatile
	ext	0x20		; 	xbtst	[262865],0x7
	ext	0x2d1
	btst	[%r8],0x7
	jrne	__LX195		; 	xjrne	__L195
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006c2		; 1730
	ld.w	%r10,0x2
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX195:				; __L195:
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262865]
	ext	0x2d1
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x1		; 	xand	%r10,%r10,0x0000007f
	and	%r10,0x3f
	ext	__LX207@rm	; 	xjp	__L207
	jp	__LX207@rl
__LX186:				; __L186:
	ext	0x24		; 	xbtst	[295302],0x0
	ext	0x186
	btst	[%r8],0x0
	jrne	__LX197		; 	xjrne	__L197
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006c6		; 1734
	ld.w	%r10,0x6
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX197:				; __L197:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295302]
	ext	0x186
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xld.w	%r12,0x000000fe		; 254
	ld.w	%r12,0x3e
	and	%r10,%r12
	;.set	volatile
	ext	0x24		; 	xld.b	[295302],%r10
	ext	0x186
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x24		; 	xld.uh	%r10,[295298]
	ext	0x182
	ld.uh	%r10,[%r8]
	;.set	novolatile
	ld.uh	%r10,%r10
	ext	0xbb		; 	xcmp	%r10,11999
	cmp	%r10,0x1f
	jreq	__LX198		; 	xjreq	__L198
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006c7		; 1735
	ld.w	%r10,0x7
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX198:				; __L198:
	ext	0x5d		; 	xld.w	%r10,0x0000176f		; 5999
	ld.w	%r10,0x2f
	;.set	volatile
	ext	0x24		; 	xld.h	[295298],%r10
	ext	0x182
	ld.h	[%r8],%r10
	;.set	novolatile
	ext	0x24		; 	xbset	[295302],0x0
	ext	0x186
	bset	[%r8],0x0
	ext	0x24		; 	xbtst	[295310],0x0
	ext	0x18e
	btst	[%r8],0x0
	jrne	__LX199		; 	xjrne	__L199
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006cb		; 1739
	ld.w	%r10,0xb
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX199:				; __L199:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295310]
	ext	0x18e
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,%r12
	;.set	volatile
	ext	0x24		; 	xld.b	[295310],%r10
	ext	0x18e
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262472]
	ext	0x148
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jreq	__LX200		; 	xjreq	__L200
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006cc		; 1740
	ld.w	%r10,0xc
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX200:				; __L200:
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262472]
	ext	0x148
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xld.w	%r11,0x000000f8		; 248
	ld.w	%r11,0x38
	and	%r10,%r11
	;.set	volatile
	ext	0x20		; 	xld.b	[262472],%r10
	ext	0x148
	ld.b	[%r8],%r10
	;.set	novolatile
	ext	0x24		; 	xbset	[295310],0x0
	ext	0x18e
	bset	[%r8],0x0
	ext	0x24		; 	xbtst	[295334],0x0
	ext	0x1a6
	btst	[%r8],0x0
	jrne	__LX201		; 	xjrne	__L201
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006d0		; 1744
	ld.w	%r10,0x10
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX201:				; __L201:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295334]
	ext	0x1a6
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,%r12
	;.set	volatile
	ext	0x24		; 	xld.b	[295334],%r10
	ext	0x1a6
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262475]
	ext	0x14b
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jreq	__LX202		; 	xjreq	__L202
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006d1		; 1745
	ld.w	%r10,0x11
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX202:				; __L202:
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262475]
	ext	0x14b
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,%r11
	;.set	volatile
	ext	0x20		; 	xld.b	[262475],%r10
	ext	0x14b
	ld.b	[%r8],%r10
	;.set	novolatile
	ext	0x24		; 	xbset	[295334],0x0
	ext	0x1a6
	bset	[%r8],0x0
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295208]
	ext	0x128
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	cmp	%r10,0x7	; 	xcmp	%r10,7
	jreq	__LX203		; 	xjreq	__L203
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006d5		; 1749
	ld.w	%r10,0x15
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX203:				; __L203:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295208]
	ext	0x128
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,%r11
	or	%r10,0x4	; 	xoor	%r10,%r10,0x00000004
	;.set	volatile
	ext	0x24		; 	xld.b	[295208],%r10
	ext	0x128
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x24		; 	xld.ub	%r11,[295208]
	ext	0x128
	ld.ub	%r11,[%r8]
	;.set	novolatile
	ext	0x0		; 	xld.w	%r10,0x00000030		; 48
	ld.w	%r10,0x30
	ld.w	%r14,%r10
	and	%r14,%r11
	ld.w	%r11,%r14
	ld.ub	%r10,%r10
	cmp	%r11,%r10
	jreq	__LX204		; 	xjreq	__L204
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006d6		; 1750
	ld.w	%r10,0x16
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX204:				; __L204:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295208]
	ext	0x128
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xand	%r10,%r10,0x000000cf
	and	%r10,0xf
	ext	0x0		; 	xoor	%r10,%r10,0x00000020
	or	%r10,0x20
	;.set	volatile
	ext	0x24		; 	xld.b	[295208],%r10
	ext	0x128
	ld.b	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262865]
	ext	0x2d1
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x2		; 	xld.w	%r11,0x00000080		; 128
	ld.w	%r11,0x0
	ext	0x2		; 	xand	%r10,%r10,0x00000080
	and	%r10,0x0
	jreq	__LX205		; 	xjreq	__L205
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006d9		; 1753
	ld.w	%r10,0x19
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX205:				; __L205:
	;.set	volatile
	ext	0x20		; 	xld.ub	%r10,[262865]
	ext	0x2d1
	ld.ub	%r10,[%r8]
	;.set	novolatile
	or	%r10,%r11
__LX207:				; __L207:
	;.set	volatile
	ext	0x20		; 	xld.b	[262865],%r10
	ext	0x2d1
	ld.b	[%r8],%r10
	;.set	novolatile
__LX196:				; __L196:
	ld.w	%r10,%r13
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	ret
	.align	1
turbo_FLASH_WAIT:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r13,0x0
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295206]
	ext	0x126
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jrne	__LX209		; 	xjrne	__L209
	ld.w	%r13,%r10
__LX209:				; __L209:
	cmp	%r12,0x0
	jreq	__LX210		; 	xjreq	__L210
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
__LX210:				; __L210:
	cmp	%r13,%r12
	jreq	__LX215		; 	xjreq	__L215
	ld.w	%r11,0x2	; 	xld.w	%r11,0x00000002		; 2
	cmp	%r12,0x0
	jreq	__LX212		; 	xjreq	__L212
	ld.w	%r11,0x1	; 	xld.w	%r11,0x00000001		; 1
__LX212:				; __L212:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295206]
	ext	0x126
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xand	%r10,%r10,0x000000f8
	and	%r10,0x38
	or	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295206],%r10
	ext	0x126
	ld.b	[%r8],%r10
	;.set	novolatile
__LX215:				; __L215:
	ld.w	%r10,%r13
	ret
	.align	1
turbo_SRAM_WAIT:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r13,0x0
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295210]
	ext	0x12a
	ld.ub	%r10,[%r8]
	;.set	novolatile
	and	%r10,0x7	; 	xand	%r10,%r10,0x00000007
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jrne	__LX217		; 	xjrne	__L217
	ld.w	%r13,%r10
__LX217:				; __L217:
	cmp	%r12,0x0
	jreq	__LX218		; 	xjreq	__L218
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
__LX218:				; __L218:
	cmp	%r13,%r12
	jreq	__LX223		; 	xjreq	__L223
	ld.w	%r11,0x2	; 	xld.w	%r11,0x00000002		; 2
	cmp	%r12,0x0
	jreq	__LX220		; 	xjreq	__L220
	ld.w	%r11,0x1	; 	xld.w	%r11,0x00000001		; 1
__LX220:				; __L220:
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295210]
	ext	0x12a
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xand	%r10,%r10,0x000000f8
	and	%r10,0x38
	or	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295210],%r10
	ext	0x12a
	ld.b	[%r8],%r10
	;.set	novolatile
__LX223:				; __L223:
	ld.w	%r10,%r13
	ret
	.align	1
turbo_FLASH_OUTPUT_DISABLE:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r13,0x0
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295206]
	ext	0x126
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x0		; 	xand	%r10,%r10,0x00000030
	and	%r10,0x30
	jrne	__LX225		; 	xjrne	__L225
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
__LX225:				; __L225:
	cmp	%r12,0x0
	jreq	__LX226		; 	xjreq	__L226
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
__LX226:				; __L226:
	cmp	%r13,%r12
	jreq	__LX230		; 	xjreq	__L230
	ld.w	%r11,0x0
	cmp	%r12,0x0
	jrne	__LX228		; 	xjrne	__L228
	ld.w	%r11,0x1	; 	xld.w	%r11,0x00000001		; 1
__LX228:				; __L228:
	sll	%r11,0x4	; 	xsll	%r11,4
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295206]
	ext	0x126
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xand	%r10,%r10,0x000000cf
	and	%r10,0xf
	or	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295206],%r10
	ext	0x126
	ld.b	[%r8],%r10
	;.set	novolatile
__LX230:				; __L230:
	ld.w	%r10,%r13
	ret
	.align	1
turbo_SRAM_OUTPUT_DISABLE:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r13,0x0
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295210]
	ext	0x12a
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x0		; 	xand	%r10,%r10,0x00000030
	and	%r10,0x30
	jrne	__LX232		; 	xjrne	__L232
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
__LX232:				; __L232:
	cmp	%r12,0x0
	jreq	__LX233		; 	xjreq	__L233
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
__LX233:				; __L233:
	cmp	%r13,%r12
	jreq	__LX237		; 	xjreq	__L237
	ld.w	%r11,0x0
	cmp	%r12,0x0
	jrne	__LX235		; 	xjrne	__L235
	ld.w	%r11,0x1	; 	xld.w	%r11,0x00000001		; 1
__LX235:				; __L235:
	sll	%r11,0x4	; 	xsll	%r11,4
	;.set	volatile
	ext	0x24		; 	xld.ub	%r10,[295210]
	ext	0x12a
	ld.ub	%r10,[%r8]
	;.set	novolatile
	ext	0x3		; 	xand	%r10,%r10,0x000000cf
	and	%r10,0xf
	or	%r10,%r11
	;.set	volatile
	ext	0x24		; 	xld.b	[295210],%r10
	ext	0x12a
	ld.b	[%r8],%r10
	;.set	novolatile
__LX237:				; __L237:
	ld.w	%r10,%r13
	ret
	.align	1
	.global	turbo
turbo:
;	.frame	%sp,16,$31		# vars= 4, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	ld.w	%r1,%r12
	ld.w	%r12,%sp
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection
	call	pceSyncEnterCriticalSection@rl
	ld.w	%r12,%r1
	sra	%r12,0x4	; 	xsra	%r12,4
	and	%r12,0x1	; 	xand	%r12,%r12,0x00000001
	ext	turbo_CLOCK@rm	; 	xcall	turbo_CLOCK
	call	turbo_CLOCK@rl
	ld.w	%r0,%r10
	sll	%r0,0x4		; 	xsll	%r0,4
	ld.w	%r12,%r1
	sra	%r12,0x3	; 	xsra	%r12,3
	and	%r12,0x1	; 	xand	%r12,%r12,0x00000001
	call	turbo_FLASH_OUTPUT_DISABLE	; 	xcall	turbo_FLASH_OUTPUT_DISABLE
	sll	%r10,0x3	; 	xsll	%r10,3
	or	%r0,%r10
	ld.w	%r12,%r1
	sra	%r12,0x2	; 	xsra	%r12,2
	and	%r12,0x1	; 	xand	%r12,%r12,0x00000001
	ext	turbo_FLASH_WAIT@rm	; 	xcall	turbo_FLASH_WAIT
	call	turbo_FLASH_WAIT@rl
	sll	%r10,0x2	; 	xsll	%r10,2
	or	%r0,%r10
	ld.w	%r12,%r1
	sra	%r12,0x1	; 	xsra	%r12,1
	and	%r12,0x1	; 	xand	%r12,%r12,0x00000001
	call	turbo_SRAM_OUTPUT_DISABLE	; 	xcall	turbo_SRAM_OUTPUT_DISABLE
	sll	%r10,0x1	; 	xsll	%r10,1
	or	%r0,%r10
	ld.w	%r12,%r1
	and	%r12,0x1	; 	xand	%r12,%r12,0x00000001
	call	turbo_SRAM_WAIT	; 	xcall	turbo_SRAM_WAIT
	or	%r0,%r10
	ld.w	%r12,%sp
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection
	call	pceSyncLeaveCriticalSection@rl
	ld.w	%r10,%r0
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r1
	ret
	.align	1
	.global	pceTimerAdjustPrecisionCount
pceTimerAdjustPrecisionCount:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	;.set	volatile
	ext	0x24		; 	xld.uh	%r10,[295298]
	ext	0x182
	ld.uh	%r10,[%r8]
	;.set	novolatile
	ld.uh	%r10,%r10
	ext	0x1		; 	xadd	%r15,%r10,1
	add	%r15,%r10
	ext	0x3ff		; 	xld.w	%r11,0x0000ffff		; 65535
	ld.w	%r11,0x3f
	ld.w	%r14,%r13
	and	%r14,%r11
	ld.w	%r10,%r12
	and	%r10,%r11
	sub	%r14,%r10
	ld.w	%r10,%r14
	srl	%r13,0x8	; 	xsrl	%r13,16
	srl	%r13,0x8
	srl	%r12,0x8	; 	xsrl	%r12,16
	srl	%r12,0x8
	sub	%r13,%r12
	ld.w	%r1,%r13
	and	%r1,%r11
	cmp	%r10,0x0
	jrge	__LX244		; 	xjrge	__L244
	add	%r10,%r15
	sub	%r1,0x1		; 	xsub	%r1,%r1,1
__LX244:				; __L244:
	ext	0xf		; 	xld.w	%r0,0x000003e8		; 1000
	ld.w	%r0,0x28
	mlt.w	%r10,%r0
	ld.w	%r11,%alr
	ld.w	%r12,%r11
	ld.w	%r13,%r15
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	mlt.w	%r1,%r0
	ld.w	%r1,%alr
	add	%r1,%r10
	ld.w	%r10,%r1
	popn	%r1
	ret
	.align	1
	.global	_exit
_exit:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r12,0x0
	ext	pceAppReqExit@rm	; 	xcall	pceAppReqExit
	call	pceAppReqExit@rl
	ext	yield@rm	; 	xcall	yield
	call	yield@rl
	ret
	.align	1
	.global	read
read:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1e		; 	xld.w	%r10,0x00000798		; 1944
	ld.w	%r10,0x18
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
	.global	malloc
malloc:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	pceHeapAlloc@rm	; 	xcall	pceHeapAlloc
	call	pceHeapAlloc@rl
	ret
	.align	1
	.global	free
free:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	cmp	%r12,0x0
	jreq	__LX249		; 	xjreq	__L249
	ext	pceHeapFree@rm	; 	xcall	pceHeapFree
	call	pceHeapFree@rl
	cmp	%r10,0x0
	jreq	__LX249		; 	xjreq	__L249
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1e		; 	xld.w	%r10,0x000007ae		; 1966
	ld.w	%r10,0x2e
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX249:				; __L249:
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
	.global	realloc
realloc:
;	.frame	%sp,24,$31		# vars= 0, regs= 4/0, args= 8, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r0,%r12
	ld.w	%r1,%r13
	cmp	%r1,0x0
	jrne	__LX252		; 	xjrne	__L252
	call	free		; 	xcall	free
	ld.w	%r10,%r1
	jp	__LX259		; 	xjp	__L259
__LX252:				; __L252:
	cmp	%r0,0x0
	jrne	__LX253		; 	xjrne	__L253
	ld.w	%r12,%r1
	call	malloc		; 	xcall	malloc
	jp	__LX259		; 	xjp	__L259
__LX253:				; __L253:
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	pceHeapRealloc@rm	; 	xcall	pceHeapRealloc
	call	pceHeapRealloc@rl
	cmp	%r10,0x0
	jrne	__LX254		; 	xjrne	__L254
	ld.w	%r10,%r0
	jp	__LX259		; 	xjp	__L259
__LX254:				; __L254:
	ld.w	%r12,%r1
	call	malloc		; 	xcall	malloc
	ld.w	%r2,%r10
	cmp	%r2,0x0
	jreq	__LX259		; 	xjreq	__L259
	ext	0x8		; 	xsub	%r11,%r0,8
	sub	%r11,%r0
	ld.uh	%r10,[%r11]	; 	xld.uh	%r10,[%r11]
	ext	0x290		; 	xcmp	%r10,42033
	cmp	%r10,0x31
	jreq	__LX256		; 	xjreq	__L256
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x20		; 	xld.w	%r10,0x00000811		; 2065
	ld.w	%r10,0x11
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX256:				; __L256:
	ext	0x4		; 	xld.w	%r10,[%r11+4]
	ld.w	%r10,[%r11]
	ld.w	%r11,%r10
	sub	%r11,%r0
	ld.w	%r10,%r1
	cmp	%r11,%r10
	jruge	__LX257		; 	xjruge	__L257
	ld.w	%r10,%r11
__LX257:				; __L257:
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ld.w	%r14,%r10
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	call	free		; 	xcall	free
	ld.w	%r10,%r2
__LX259:				; __L259:
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r2
	ret
	.align	1
	.global	calloc
calloc:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	mlt.w	%r12,%r13
	ld.w	%r1,%alr
	ld.w	%r12,%r1
	call	malloc		; 	xcall	malloc
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jreq	__LX261		; 	xjreq	__L261
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	ld.w	%r14,%r1
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
__LX261:				; __L261:
	ld.w	%r10,%r0
	popn	%r1
	ret
	.code
	.align	2
__LC6:
	.ascii	"\000"
	.data
	.align	2
ssave.135:
	.word	__LC6
	.code
	.align	1
	.global	strtok
strtok:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r13
	ld.w	%r0,%r12
	cmp	%r0,0x0
	jrne	__LX263		; 	xjrne	__L263
	ext	ssave.135+0x0@ah	; 	xld.w	%r0,[ssave.135]
	ext	ssave.135+0x0@al
	ld.w	%r0,[%r8]
__LX263:				; __L263:
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	strspn@rm	; 	xcall	strspn
	call	strspn@rl
	add	%r0,%r10
	ld.b	%r11,[%r0]	; 	xld.b	%r11,[%r0]
	cmp	%r11,0x0
	jrne	__LX264		; 	xjrne	__L264
	ext	__LC6+0x0@h	; 	xld.w	%r10,__LC6
	ext	__LC6+0x0@m
	ld.w	%r10,__LC6+0x0@l
	ext	ssave.135+0x0@ah	; 	xld.w	[ssave.135],%r10
	ext	ssave.135+0x0@al
	ld.w	[%r8],%r10
	ld.w	%r10,%r11
	jp	__LX266		; 	xjp	__L266
__LX264:				; __L264:
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	strcspn@rm	; 	xcall	strcspn
	call	strcspn@rl
	ld.w	%r11,%r0
	add	%r11,%r10
	ld.b	%r10,[%r11]	; 	xld.b	%r10,[%r11]
	cmp	%r10,0x0
	jreq	__LX265		; 	xjreq	__L265
	ld.w	%r14,0x0
	ld.b	[%r11],%r14	; 	xld.b	[%r11],%r14
	add	%r11,0x1	; 	xadd	%r11,%r11,1
__LX265:				; __L265:
	ext	ssave.135+0x0@ah	; 	xld.w	[ssave.135],%r11
	ext	ssave.135+0x0@al
	ld.w	[%r8],%r11
	ld.w	%r10,%r0
__LX266:				; __L266:
	popn	%r1
	ret
	.align	1
	.global	strstr
strstr:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r1,%r12
	ld.w	%r3,%r13
	ext	strlen@rm	; 	xcall	strlen
	call	strlen@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r3
	ext	strlen@rm	; 	xcall	strlen
	call	strlen@rl
	ld.w	%r2,%r10
	sub	%r0,%r2
	jrlt	__LX269		; 	xjrlt	__L269
__LX270:				; __L270:
	ld.w	%r12,%r1
	ld.w	%r13,%r3
	ld.w	%r14,%r2
	ext	memcmp@rm	; 	xcall	memcmp
	call	memcmp@rl
	cmp	%r10,0x0
	jrne	__LX271		; 	xjrne	__L271
	ld.w	%r10,%r1
	jp	__LX273		; 	xjp	__L273
__LX271:				; __L271:
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	sub	%r0,0x1		; 	xsub	%r0,%r0,1
	jrge	__LX270		; 	xjrge	__L270
__LX269:				; __L269:
	ld.w	%r10,0x0
__LX273:				; __L273:
	popn	%r3
	ret
	.align	1
	.global	pow
pow:
;	.frame	%sp,40,$31		# vars= 12, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x5		; 	xsub	%sp,%sp,20
	ld.w	%r2,%r12
	ld.w	%r3,%r13
	ld.w	[%sp+0x2],%r14	; 	xld.w	[%sp+8],%r14
	ld.w	[%sp+0x3],%r15	; 	xld.w	[%sp+12],%r15
	ld.w	%r0,0x0
	ld.w	%r1,0x0
	ld.w	%r14,%r0
	ld.w	%r15,%r1
	ext	__fcmpd@rm	; 	xcall	__fcmpd
	call	__fcmpd@rl
	jrle	__LX275		; 	xjrle	__L275
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ext	log@rm		; 	xcall	log
	call	log@rl
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,[%sp+0x3]	; 	xld.w	%r13,[%sp+12]
	ld.w	%r14,%r10
	ld.w	%r15,%r11
	ext	__muldf3@rm	; 	xcall	__muldf3
	call	__muldf3@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	ext	exp@rm		; 	xcall	exp
	call	exp@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	jp	__LX276		; 	xjp	__L276
__LX275:				; __L275:
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ld.w	%r14,%r0
	ld.w	%r15,%r1
	ext	__fcmpd@rm	; 	xcall	__fcmpd
	call	__fcmpd@rl
	jrge	__LX277		; 	xjrge	__L277
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,[%sp+0x3]	; 	xld.w	%r13,[%sp+12]
	ext	__fixdfsi@rm	; 	xcall	__fixdfsi
	call	__fixdfsi@rl
	ld.w	[%sp+0x4],%r10	; 	xld.w	[%sp+16],%r10
	ld.w	%r12,[%sp+0x4]	; 	xld.w	%r12,[%sp+16]
	ext	__floatsidf@rm	; 	xcall	__floatsidf
	call	__floatsidf@rl
	ld.w	%r0,%r10
	ld.w	%r1,%r11
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ld.w	%r14,[%sp+0x2]	; 	xld.w	%r14,[%sp+8]
	ld.w	%r15,[%sp+0x3]	; 	xld.w	%r15,[%sp+12]
	ext	__fcmpd@rm	; 	xcall	__fcmpd
	call	__fcmpd@rl
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ld.w	%r5,[%sp+0x3]	; 	xld.w	%r5,[%sp+12]
	jreq	__LX278		; 	xjreq	__L278
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x23		; 	xld.w	%r10,0x000008c0		; 2240
	ld.w	%r10,0x0
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX278:				; __L278:
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ext	__negdf2@rm	; 	xcall	__negdf2
	call	__negdf2@rl
	ld.w	%r2,%r10
	ld.w	%r3,%r11
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ext	log@rm		; 	xcall	log
	call	log@rl
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,[%sp+0x3]	; 	xld.w	%r13,[%sp+12]
	ld.w	%r14,%r10
	ld.w	%r15,%r11
	ext	__muldf3@rm	; 	xcall	__muldf3
	call	__muldf3@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	ext	exp@rm		; 	xcall	exp
	call	exp@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	ld.w	%r10,[%sp+0x4]	; 	xld.w	%r10,[%sp+16]
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001
	jreq	__LX276		; 	xjreq	__L276
	ext	__negdf2@rm	; 	xcall	__negdf2
	call	__negdf2@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r11
	jp	__LX276		; 	xjp	__L276
__LX277:				; __L277:
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,[%sp+0x3]	; 	xld.w	%r13,[%sp+12]
	ld.w	%r14,%r0
	ld.w	%r15,%r1
	ext	__fcmpd@rm	; 	xcall	__fcmpd
	call	__fcmpd@rl
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ld.w	%r5,[%sp+0x3]	; 	xld.w	%r5,[%sp+12]
	jrle	__LX281		; 	xjrle	__L281
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	jp	__LX276		; 	xjp	__L276
__LX281:				; __L281:
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,[%sp+0x3]	; 	xld.w	%r13,[%sp+12]
	ld.w	%r14,%r0
	ld.w	%r15,%r1
	ext	__fcmpd@rm	; 	xcall	__fcmpd
	call	__fcmpd@rl
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ld.w	%r5,[%sp+0x3]	; 	xld.w	%r5,[%sp+12]
	jrge	__LX283		; 	xjrge	__L283
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x23		; 	xld.w	%r10,0x000008d0		; 2256
	ld.w	%r10,0x10
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX283:				; __L283:
	ld.w	%r12,0x0	; 	xld.w	%r12,0x00000000		; double 1.00000000000000000000e0
	ext	0x7fe		; 	xld.w	%r13,0x3ff00000		;
	ext	0x0
	ld.w	%r13,0x0
__LX276:				; __L276:
	ld.w	%r10,%r12
	ld.w	%r11,%r13
	add	%sp,0x5		; 	xadd	%sp,%sp,20
	popn	%r3
	ret
	.align	1
	.global	strdup
strdup:
;	.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
	ext	strlen@rm	; 	xcall	strlen
	call	strlen@rl
	ext	0x1		; 	xadd	%r12,%r10,1
	add	%r12,%r10
	ext	malloc@rm	; 	xcall	malloc
	call	malloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jreq	__LX286		; 	xjreq	__L286
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	strcpy@rm	; 	xcall	strcpy
	call	strcpy@rl
__LX286:				; __L286:
	ld.w	%r10,%r0
	popn	%r1
	ret
	.align	1
	.global	strcasecmp
strcasecmp:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r2,%r12
	ld.w	%r1,%r13
	ext	0x3		; 	xld.w	%r3,0x000000ff		; 255
	ld.w	%r3,0x3f
__LX288:				; __L288:
	ld.b	%r12,[%r2]	; 	xld.b	%r12,[%r2]
	add	%r2,0x1		; 	xadd	%r2,%r2,1
	and	%r12,%r3
	ext	tolower@rm	; 	xcall	tolower
	call	tolower@rl
	ld.w	%r0,%r10
	ld.b	%r12,[%r1]	; 	xld.b	%r12,[%r1]
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	and	%r12,%r3
	ext	tolower@rm	; 	xcall	tolower
	call	tolower@rl
	cmp	%r0,0x0
	jreq	__LX289		; 	xjreq	__L289
	cmp	%r0,%r10
	jreq	__LX288		; 	xjreq	__L288
__LX289:				; __L289:
	sub	%r0,%r10
	ld.w	%r10,%r0
	popn	%r3
	ret
	.align	1
	.global	strncasecmp
strncasecmp:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r3,%r12
	ld.w	%r2,%r13
	ld.w	%r1,%r14
__LX294:				; __L294:
	sub	%r1,0x1		; 	xsub	%r1,%r1,1
	cmp	%r1,0x3f	; 	xcmp	%r1,-1
	jrne	__LX297		; 	xjrne	__L297
	ld.w	%r10,0x0
	jp	__LX300		; 	xjp	__L300
__LX297:				; __L297:
	ld.b	%r12,[%r3]	; 	xld.b	%r12,[%r3]
	add	%r3,0x1		; 	xadd	%r3,%r3,1
	ext	0x3		; 	xand	%r12,%r12,0x000000ff
	and	%r12,0x3f
	ext	tolower@rm	; 	xcall	tolower
	call	tolower@rl
	ld.w	%r0,%r10
	ld.b	%r12,[%r2]	; 	xld.b	%r12,[%r2]
	add	%r2,0x1		; 	xadd	%r2,%r2,1
	ext	0x3		; 	xand	%r12,%r12,0x000000ff
	and	%r12,0x3f
	ext	tolower@rm	; 	xcall	tolower
	call	tolower@rl
	cmp	%r0,0x0
	jreq	__LX295		; 	xjreq	__L295
	cmp	%r0,%r10
	jreq	__LX294		; 	xjreq	__L294
__LX295:				; __L295:
	sub	%r0,%r10
	ld.w	%r10,%r0
__LX300:				; __L300:
	popn	%r3
	ret
	.align	1
	.global	ismbblead
ismbblead:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.ub	%r12,%r12
	ld.w	%r11,0x0
	ext	0x81		; 	xsub	%r10,%r12,129
	sub	%r10,%r12
	cmp	%r10,0x1e	; 	xcmp	%r10,30
	jrule	__LX303		; 	xjrule	__L303
	ext	0xe0		; 	xsub	%r10,%r12,224
	sub	%r10,%r12
	cmp	%r10,0x1c	; 	xcmp	%r10,28
	jrugt	__LX302		; 	xjrugt	__L302
__LX303:				; __L303:
	ld.w	%r11,0x1	; 	xld.w	%r11,0x00000001		; 1
__LX302:				; __L302:
	ld.w	%r10,%r11
	ret
	.align	1
	.global	ismbbtrail
ismbbtrail:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.ub	%r12,%r12
	ld.w	%r11,0x0
	ext	0x40		; 	xsub	%r10,%r12,64
	sub	%r10,%r12
	ext	0x0		; 	xcmp	%r10,62
	cmp	%r10,0x3e
	jrule	__LX306		; 	xjrule	__L306
	ext	0x80		; 	xsub	%r10,%r12,128
	sub	%r10,%r12
	ext	0x1		; 	xcmp	%r10,124
	cmp	%r10,0x3c
	jrugt	__LX305		; 	xjrugt	__L305
__LX306:				; __L306:
	ld.w	%r11,0x1	; 	xld.w	%r11,0x00000001		; 1
__LX305:				; __L305:
	ld.w	%r10,%r11
	ret
	.align	1
	.global	iscsym
iscsym:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r12
	ld.w	%r1,0x0
	ext	isalnum@rm	; 	xcall	isalnum
	call	isalnum@rl
	cmp	%r10,0x0
	jrne	__LX309		; 	xjrne	__L309
	ext	0x1		; 	xcmp	%r0,95
	cmp	%r0,0x1f
	jrne	__LX308		; 	xjrne	__L308
__LX309:				; __L309:
	ld.w	%r1,0x1		; 	xld.w	%r1,0x00000001		; 1
__LX308:				; __L308:
	ld.w	%r10,%r1
	popn	%r1
	ret
	.align	1
	.global	iscsymf
iscsymf:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r12
	ld.w	%r1,0x0
	ext	isalpha@rm	; 	xcall	isalpha
	call	isalpha@rl
	cmp	%r10,0x0
	jrne	__LX312		; 	xjrne	__L312
	ext	0x1		; 	xcmp	%r0,95
	cmp	%r0,0x1f
	jrne	__LX311		; 	xjrne	__L311
__LX312:				; __L312:
	ld.w	%r1,0x1		; 	xld.w	%r1,0x00000001		; 1
__LX311:				; __L311:
	ld.w	%r10,%r1
	popn	%r1
	ret
	.align	1
	.global	lfind
lfind:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ld.w	%r3,%r12
	ld.w	%r1,%r13
	ld.w	%r2,%r15
	ld.w	%r0,[%r14]	; 	xld.w	%r0,[%r14]
	cmp	%r0,0x0
	jreq	__LX315		; 	xjreq	__L315
__LX316:				; __L316:
	ld.w	%r12,%r3
	ld.w	%r13,%r1
	ld.w	%r11,[%sp+0x5]	; 	xld.w	%r11,[%sp+20]
	call	%r11
	cmp	%r10,0x0
	jrne	__LX317		; 	xjrne	__L317
	ld.w	%r10,%r1
	jp	__LX319		; 	xjp	__L319
__LX317:				; __L317:
	add	%r1,%r2
	sub	%r0,0x1		; 	xsub	%r0,%r0,1
	jrne	__LX316		; 	xjrne	__L316
__LX315:				; __L315:
	ld.w	%r10,0x0
__LX319:				; __L319:
	popn	%r3
	ret
	.align	1
	.global	lsearch
lsearch:
;	.frame	%sp,24,$31		# vars= 0, regs= 5/0, args= 4, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1		; 	xsub	%sp,%sp,4
	ld.w	%r3,%r12
	ld.w	%r2,%r13
	ld.w	%r0,%r14
	ld.w	%r1,%r15
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	call	lfind		; 	xcall	lfind
	cmp	%r10,0x0
	jrne	__LX321		; 	xjrne	__L321
	ld.w	%r11,[%r0]	; 	xld.w	%r11,[%r0]
	ext	0x1		; 	xadd	%r10,%r11,1
	add	%r10,%r11
	ld.w	[%r0],%r10	; 	xld.w	[%r0],%r10
	mlt.w	%r11,%r1
	ld.w	%r0,%r2
	ld.w	%r4,%alr
	add	%r0,%r4
	ld.w	%r12,%r0
	ld.w	%r13,%r3
	ld.w	%r14,%r1
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
__LX321:				; __L321:
	add	%sp,0x1		; 	xadd	%sp,%sp,4
	popn	%r3
	ret
; APP
	
		.code
		.align		1
		.global		strupr
		.global		strlwr
strupr:
	ext	toupper+0x0@h	; 		xld.w		%r13, toupper		;// %r13 := fn = toupper
	ext	toupper+0x0@m
	ld.w	%r13,toupper+0x0@l
		jp		strupr_strlwr
strlwr:
	ext	tolower+0x0@h	; 		xld.w		%r13, tolower		;// %r13 := fn = tolower
	ext	tolower+0x0@m
	ld.w	%r13,tolower+0x0@l
strupr_strlwr:
		pushn		%r2
		ld.w		%r0, %r12		;// %r0  := string
		ld.w		%r1, %r12		;// %r1  := p
		ld.w		%r2, %r13		;// %r2  := fn
strupr_strlwr_LOOP:					;// for(;;) {
		ld.b		%r12, [%r1]		;//   %r12 := c = *p
		cmp		%r12, 0			;//   if(!c)
		jreq		strupr_strlwr_RET	;//     break
		call		%r2			;//   %r10 := c = fn(c)
		ld.b		[%r1]+, %r10		;//   *p++ := c
		jp		strupr_strlwr_LOOP	;// }
strupr_strlwr_RET:
		ld.w		%r10, %r0		;// %r10 := string
		popn		%r2
		ret

; NO_APP
	.align	1
	.global	splitpath
splitpath:
;	.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	%r4,%r12
	ld.w	%r5,%r13
	ld.w	%r6,%r14
	ld.w	[%sp+0x0],%r15	; 	xld.w	[%sp],%r15
	ld.b	%r10,[%r4]	; 	xld.b	%r10,[%r4]
	cmp	%r10,0x0
	jreq	__LX323		; 	xjreq	__L323
	ext	0x1		; 	xld.b	%r10,[%r4+1]
	ld.b	%r10,[%r4]
	ext	0x0		; 	xcmp	%r10,58
	cmp	%r10,0x3a
	jrne	__LX323		; 	xjrne	__L323
	cmp	%r5,0x0
	jreq	__LX324		; 	xjreq	__L324
	ld.w	[%sp+0x2],%r5	; 	xld.w	[%sp+8],%r5
	ld.w	%r10,%r4
	ld.b	%r12,[%r10]+
	ld.b	%r13,[%r10]+
	ld.b	[%r5]+,%r12
	ld.b	[%r5]+,%r13
	ld.w	%r11,0x0
	ext	0x2		; 	xld.b	[%r5+2],%r11
	ld.b	[%r5],%r11
__LX324:				; __L324:
	add	%r4,0x2		; 	xadd	%r4,%r4,2
	jp	__LX325		; 	xjp	__L325
__LX323:				; __L323:
	cmp	%r5,0x0
	jreq	__LX325		; 	xjreq	__L325
	ld.w	%r7,0x0
	ld.b	[%r5],%r7	; 	xld.b	[%r5],%r7
__LX325:				; __L325:
	ld.w	%r2,0x0
	ld.w	%r3,%r2
	ld.w	%r1,%r4
	ld.b	%r10,[%r4]	; 	xld.b	%r10,[%r4]
	cmp	%r10,0x0
	jreq	__LX328		; 	xjreq	__L328
	ext	0x0		; 	xld.w	%r13,0x0000002f		; 47
	ld.w	%r13,0x2f
	ext	0x1		; 	xld.w	%r12,0x0000005c		; 92
	ld.w	%r12,0x1c
	ext	0x0		; 	xld.w	%r5,0x0000002e		; 46
	ld.w	%r5,0x2e
__LX330:				; __L330:
	ld.b	%r10,[%r1]	; 	xld.b	%r10,[%r1]
	cmp	%r10,%r13
	jreq	__LX332		; 	xjreq	__L332
	cmp	%r10,%r12
	jrne	__LX331		; 	xjrne	__L331
__LX332:				; __L332:
	ext	0x1		; 	xadd	%r3,%r1,1
	add	%r3,%r1
	jp	__LX329		; 	xjp	__L329
__LX331:				; __L331:
	cmp	%r10,%r5
	jrne	__LX329		; 	xjrne	__L329
	ld.w	%r2,%r1
__LX329:				; __L329:
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ld.b	%r10,[%r1]	; 	xld.b	%r10,[%r1]
	cmp	%r10,0x0
	jrne	__LX330		; 	xjrne	__L330
__LX328:				; __L328:
	cmp	%r3,0x0
	jreq	__LX336		; 	xjreq	__L336
	cmp	%r6,0x0
	jreq	__LX337		; 	xjreq	__L337
	ld.w	%r0,%r3
	sub	%r0,%r4
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255
	ld.w	%r10,0x3f
	cmp	%r0,%r10
	jrle	__LX338		; 	xjrle	__L338
	ld.w	%r0,%r10
__LX338:				; __L338:
	ld.w	%r12,%r6
	ld.w	%r13,%r4
	ld.w	%r14,%r0
	ld.w	[%sp+0x1],%r6	; 	xld.w	[%sp+4],%r6
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r6,[%sp+0x1]	; 	xld.w	%r6,[%sp+4]
	ld.w	%r10,%r6
	add	%r10,%r0
	ld.w	%r11,0x0
	ld.b	[%r10],%r11	; 	xld.b	[%r10],%r11
__LX337:				; __L337:
	ld.w	%r4,%r3
	jp	__LX339		; 	xjp	__L339
__LX336:				; __L336:
	cmp	%r6,0x0
	jreq	__LX339		; 	xjreq	__L339
	ld.w	%r7,0x0
	ld.b	[%r6],%r7	; 	xld.b	[%r6],%r7
__LX339:				; __L339:
	cmp	%r2,%r4
	jrult	__LX341		; 	xjrult	__L341
	ld.w	%r11,[%sp+0x0]	; 	xld.w	%r11,[%sp]
	cmp	%r11,0x0
	jreq	__LX342		; 	xjreq	__L342
	ld.w	%r0,%r2
	sub	%r0,%r4
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255
	ld.w	%r10,0x3f
	cmp	%r0,%r10
	jrle	__LX343		; 	xjrle	__L343
	ld.w	%r0,%r10
__LX343:				; __L343:
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,%r4
	ld.w	%r14,%r0
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,[%sp+0x0]	; 	xld.w	%r10,[%sp]
	add	%r10,%r0
	ld.w	%r7,0x0
	ld.b	[%r10],%r7	; 	xld.b	[%r10],%r7
__LX342:				; __L342:
	ld.w	%r11,[%sp+0x8]	; 	xld.w	%r11,[%sp+32]
	cmp	%r11,0x0
	jreq	__LX346		; 	xjreq	__L346
	ld.w	%r0,%r1
	sub	%r0,%r2
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255
	ld.w	%r10,0x3f
	cmp	%r0,%r10
	jrle	__LX345		; 	xjrle	__L345
	ld.w	%r0,%r10
__LX345:				; __L345:
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%r2
	ld.w	%r14,%r0
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,[%sp+0x8]	; 	xld.w	%r10,[%sp+32]
	add	%r10,%r0
	ld.w	%r7,0x0
	ld.b	[%r10],%r7	; 	xld.b	[%r10],%r7
	jp	__LX346		; 	xjp	__L346
__LX341:				; __L341:
	ld.w	%r11,[%sp+0x0]	; 	xld.w	%r11,[%sp]
	cmp	%r11,0x0
	jreq	__LX347		; 	xjreq	__L347
	ld.w	%r0,%r1
	sub	%r0,%r4
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255
	ld.w	%r10,0x3f
	cmp	%r0,%r10
	jrle	__LX348		; 	xjrle	__L348
	ld.w	%r0,%r10
__LX348:				; __L348:
	ld.w	%r12,[%sp+0x0]	; 	xld.w	%r12,[%sp]
	ld.w	%r13,%r4
	ld.w	%r14,%r0
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,[%sp+0x0]	; 	xld.w	%r10,[%sp]
	add	%r10,%r0
	ld.w	%r7,0x0
	ld.b	[%r10],%r7	; 	xld.b	[%r10],%r7
__LX347:				; __L347:
	ld.w	%r11,[%sp+0x8]	; 	xld.w	%r11,[%sp+32]
	cmp	%r11,0x0
	jreq	__LX346		; 	xjreq	__L346
	ld.w	%r7,0x0
	ld.b	[%r11],%r7	; 	xld.b	[%r11],%r7
__LX346:				; __L346:
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	makepath
makepath:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r4,[%sp+0x1]	; 	xld.w	%r4,[%sp+4]
	ext	0x103		; 	xadd	%r5,%r12,259
	add	%r5,%r12
	cmp	%r13,0x0
	jreq	__LX351		; 	xjreq	__L351
	ld.ub	%r13,[%r13]	; 	xld.ub	%r13,[%r13]
	ld.b	%r10,%r13
	cmp	%r10,0x0
	jreq	__LX351		; 	xjreq	__L351
	ld.b	[%r12],%r13	; 	xld.b	[%r12],%r13
	add	%r12,0x1	; 	xadd	%r12,%r12,1
	ext	0x0		; 	xld.w	%r10,0x0000003a		; 58
	ld.w	%r10,0x3a
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10
	add	%r12,0x1	; 	xadd	%r12,%r12,1
__LX351:				; __L351:
	cmp	%r14,0x0
	jreq	__LX352		; 	xjreq	__L352
	ld.b	%r10,[%r14]	; 	xld.b	%r10,[%r14]
	cmp	%r10,0x0
	jreq	__LX352		; 	xjreq	__L352
__LX353:				; __L353:
	ld.ub	%r10,[%r14]	; 	xld.ub	%r10,[%r14]
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10
	add	%r14,0x1	; 	xadd	%r14,%r14,1
	add	%r12,0x1	; 	xadd	%r12,%r12,1
	cmp	%r12,%r5
	jreq	__LX357		; 	xjreq	__L357
	ld.b	%r10,[%r14]	; 	xld.b	%r10,[%r14]
	cmp	%r10,0x0
	jrne	__LX353		; 	xjrne	__L353
	ext	0x1		; 	xsub	%r10,%r12,1
	sub	%r10,%r12
	ld.b	%r11,[%r10]	; 	xld.b	%r11,[%r10]
	ext	0x0		; 	xcmp	%r11,47
	cmp	%r11,0x2f
	jreq	__LX352		; 	xjreq	__L352
	ext	0x1		; 	xld.w	%r13,0x0000005c		; 92
	ld.w	%r13,0x1c
	ld.b	%r10,%r13
	cmp	%r11,%r10
	jreq	__LX352		; 	xjreq	__L352
	ld.b	[%r12],%r13	; 	xld.b	[%r12],%r13
	add	%r12,0x1	; 	xadd	%r12,%r12,1
	cmp	%r12,%r5
	jreq	__LX357		; 	xjreq	__L357
__LX352:				; __L352:
	cmp	%r15,0x0
	jreq	__LX361		; 	xjreq	__L361
	jp	__LX375		; 	xjp	__L375
__LX364:				; __L364:
	ld.b	[%r12],%r11	; 	xld.b	[%r12],%r11
	add	%r15,0x1	; 	xadd	%r15,%r15,1
	add	%r12,0x1	; 	xadd	%r12,%r12,1
	cmp	%r12,%r5
	jreq	__LX357		; 	xjreq	__L357
__LX375:				; __L375:
	ld.ub	%r11,[%r15]	; 	xld.ub	%r11,[%r15]
	ld.b	%r10,%r11
	cmp	%r10,0x0
	jrne	__LX364		; 	xjrne	__L364
__LX361:				; __L361:
	cmp	%r4,0x0
	jreq	__LX357		; 	xjreq	__L357
	ext	0x0		; 	xld.w	%r13,0x0000002e		; 46
	ld.w	%r13,0x2e
	ld.b	%r11,[%r4]	; 	xld.b	%r11,[%r4]
	ld.b	%r10,%r13
	cmp	%r11,%r10
	jreq	__LX368		; 	xjreq	__L368
	ld.b	[%r12],%r13	; 	xld.b	[%r12],%r13
	add	%r12,0x1	; 	xadd	%r12,%r12,1
	cmp	%r12,%r5
	jreq	__LX357		; 	xjreq	__L357
__LX368:				; __L368:
	cmp	%r11,0x0
	jreq	__LX357		; 	xjreq	__L357
__LX372:				; __L372:
	ld.ub	%r10,[%r4]	; 	xld.ub	%r10,[%r4]
	ld.b	[%r12],%r10	; 	xld.b	[%r12],%r10
	add	%r4,0x1		; 	xadd	%r4,%r4,1
	add	%r12,0x1	; 	xadd	%r12,%r12,1
	cmp	%r12,%r5
	jreq	__LX357		; 	xjreq	__L357
	ld.b	%r10,[%r4]	; 	xld.b	%r10,[%r4]
	cmp	%r10,0x0
	jrne	__LX372		; 	xjrne	__L372
__LX357:				; __L357:
	ld.w	%r6,0x0
	ld.b	[%r12],%r6	; 	xld.b	[%r12],%r6
	ret
; APP
	
	.code
	.align	1
	.global	get_psr
get_psr:
	ret.d
	ld.w	%r10, %psr	; *delay*

	
	.code
	.align	1
	.global	set_psr
set_psr:
	ret.d
	ld.w	%psr, %r12	; *delay*

; NO_APP
	.align	1
	.global	usleep
usleep:
;	.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
	ext	pceTimerGetPrecisionCount@rm	; 	xcall	pceTimerGetPrecisionCount
	call	pceTimerGetPrecisionCount@rl
	ld.w	%r0,%r10
__LX377:				; __L377:
	ext	pceTimerGetPrecisionCount@rm	; 	xcall	pceTimerGetPrecisionCount
	call	pceTimerGetPrecisionCount@rl
	ld.w	%r12,%r0
	ld.w	%r13,%r10
	ext	pceTimerAdjustPrecisionCount@rm	; 	xcall	pceTimerAdjustPrecisionCount
	call	pceTimerAdjustPrecisionCount@rl
	cmp	%r10,%r1
	jrult	__LX377		; 	xjrult	__L377
	popn	%r1
	ret
; APP
	
	.code
	.align	1
	.global	render_object
render_object:
	;  %r12    = render
	;  %r13    =     dx
	;  %r14    =     dy
	;  %r15    =     sx
	; [%sp+ 0] = (retp)( 7: 0)
	; [%sp+ 1] = (retp)(15: 8)
	; [%sp+ 2] = (retp)(23:16)
	; [%sp+ 3] = (retp)(31:24)
	; [%sp+ 4] =     sy( 7: 0)
	; [%sp+ 5] =     sy(15: 8)
	; [%sp+ 6] =     sy(23:16)
	; [%sp+ 7] =     sy(31:24)
	; [%sp+ 8] =      w( 7: 0)
	; [%sp+ 9] =      w(15: 8)
	; [%sp+10] =      w(23:16)
	; [%sp+11] =      w(31:24)
	; [%sp+12] =      h( 7: 0)
	; [%sp+13] =      h(15: 8)
	; [%sp+14] =      h(23:16)
	; [%sp+15] =      h(31:24)
	; [%sp+16] =  param( 7: 0)
	; [%sp+17] =  param(15: 8)
	; [%sp+18] =  param(23:16)
	; [%sp+19] =  param(31:24)
	ld.w	%r9,%sp		; 	xbtst	[%sp+17],2
	add	%r9,0x11
	btst	[%r9],0x2
	jreq	_render_object	; 	xjreq	_render_object
	jp	_render_mask	; 	xjp	_render_mask

; NO_APP
	.align	1
_render_object_ERR:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x30		; 	xld.w	%r10,0x00000c0a		; 3082
	ld.w	%r10,0xa
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
; APP
	
	.code
	.align	1
_render_object:
	;// %r12     = render
	;// %r13     = dx
	;// %r14     = dy
	;// %r15     = sx
	;// [%sp+ 4] = sy
	;// [%sp+ 8] = w
	;// [%sp+12] = h
	;// [%sp+16] = param
	ld.w	%r4, [%r12]+		; %r4 = render->surface
	ld.h	%r5, [%r12]+		; %r5 = render->left
	ld.h	%r6, [%r12]+		; %r6 = render->top
	ld.h	%r7, [%r12]+		; %r7 = render->right
;//{{高速化
;//	ld.h	%r10, [%r12]+		; %r10 = render->bottom
;//	xld.w	%r11, [%r12+8]		; %r11 = render->context
;//↓「ld.h %rd,[%rb]+」(2サイクル)を「ld.h %rd,[%rb]」(1サイクル)に変更し、1サイクル分高速化しました。
;//↓後続の「xld.w %rd,[%rb+imm]」において、%rbとimmが個別にwordアライメントされていなくても、
;//↓(%rb+imm)の実効アドレスがwordアライメントされていれば正しく動作する性質を利用しています。
	ld.h	%r10, [%r12]		; %r10 = render->bottom
	ext	0xa		; 	xld.w	%r11, [%r12+10]		; %r11 = render->context
	ld.w	%r11,[%r12]
;//}}高速化
	ext	0x30		; 	xld.w	%r11, [%r11+48]		; %r11 = render->context->texture
	ld.w	%r11,[%r11]
	cmp	%r11,0x0	; 	xcmp	%r11, 0
	jreq	_render_object_ERR	; 	xjreq	_render_object_ERR	; テクスチャ指定必須
	;// DRAW_OBJECT {
	;// 	PIECE_VRAM*	dest;	; + 0,4
	;// 	short		dx;	; + 4,2
	;// 	short		dy;	; + 6,2
	;// 	short		dw;	; + 8,2
	;// 	short		dh;	; +10,2
	;// 	PIECE_BMP*	src;	; +12,4
	;// 	short		sx;	; +16,2
	;// 	short		sy;	; +18,2
	;// 	RECTP {
	;//	 unsigned char	left;	; +20,1
	;//	 unsigned char	top;	; +21,1
	;//	 unsigned char	right;	; +22,1
	;//	 unsigned char	bottom;	; +23,1
	;//	} clip;
	;// 	BYTE		disp;	; +24,1
	;// 	BYTE		param;	; +25,1
	;// 	BYTE		type;	; +26,1
	;// 	BYTE		layer;	; +27,1
	;// };				; =28
	sub	%sp,0x7		; 	xsub	%sp, %sp, 28
	;// %r4      = render->surface
	;// %r5      = render->left
	;// %r6      = render->top
	;// %r7      = render->right
	;// %r10     = render->bottom
	;// %r11     = render->context->texture
	;// %r13     = dx
	;// %r14     = dy
	;// %r15     = sx
	;// [%sp+ 0] = obj
	;// [%sp+32] = sy
	;// [%sp+36] = w
	;// [%sp+40] = h
	;// [%sp+44] = param
	;//--- 転送先設定 ---
	ld.w	[%sp+0x0],%r4	; 	xld.w	[%sp+ 0], %r4		; obj.dest = render->surface
	ld.h	[%sp+0x2],%r13	; 	xld.h	[%sp+ 4], %r13		; obj.dx = dx
	ld.h	[%sp+0x3],%r14	; 	xld.h	[%sp+ 6], %r14		; obj.dx = dy
	ld.h	%r4,[%sp+0x10]	; 	xld.h	%r4,  [%sp+32]		; %r4 = sy
	ld.h	%r12,[%sp+0x12]	; 	xld.h	%r12, [%sp+36]		; %r12 = w
	ld.h	%r13,[%sp+0x14]	; 	xld.h	%r13, [%sp+40]		; %r13 = h
	ld.ub	%r14,[%sp+0x2c]	; 	xld.ub	%r14, [%sp+44]		; %r14 = param (bit8よりも上の独自拡張部分は取得せずに、確実に0とします)
	ld.h	[%sp+0x4],%r12	; 	xld.h	[%sp+ 8], %r12		; obj.dw = w
	ld.h	[%sp+0x5],%r13	; 	xld.h	[%sp+10], %r13		; obj.dh = h
	;// %r4     = sy
	;// %r5     = render->left
	;// %r6     = render->top
	;// %r7     = render->right
	;// %r10    = render->bottom
	;// %r11    = render->context->texture
	;// %r14    = param
	;// %r15    = sx
	;// [%sp+0] = obj
	;//--- 転送元設定 ---
	ld.w	[%sp+0x3],%r11	; 	xld.w	[%sp+12], %r11		; obj.src = render->context->texture
	ld.h	[%sp+0x8],%r15	; 	xld.h	[%sp+16], %r15		; obj.sx = sx
	ld.h	[%sp+0x9],%r4	; 	xld.h	[%sp+18], %r4		; obj.sy = sy
	ld.b	[%sp+0x14],%r5	; 	xld.b	[%sp+20], %r5		; obj.clip.left = render->left
	ld.b	[%sp+0x15],%r6	; 	xld.b	[%sp+21], %r6		; obj.clip.top = render->top
	ld.b	[%sp+0x16],%r7	; 	xld.b	[%sp+22], %r7		; obj.clip.right = render->right
	ld.b	[%sp+0x17],%r10	; 	xld.b	[%sp+23], %r10		; obj.clip.bottom = render->bottom
	;// %r14    = param
	;// [%sp+0] = obj
	;//--- その他設定 ---
	sll	%r14,0x8	; 	xsll	%r14, 8			; %r14 = (0<<24)|(0<<16)|(param<<8)|0
	ld.w	[%sp+0x6],%r14	; 	xld.w	[%sp+24], %r14		; obj.disp = 0(=dummy), obj.param = param, obj.type = 0(=TYPE_BMP), obj.layer = 0(=dummy)
	;// [%sp+0] = obj
	;//--- 描画 ---
	ext	pceLCDDrawObject@rm	; 	xcall	pceLCDDrawObject	; pceLCDDrawObject(obj) (objは5byte以上の構造体なので、スタック渡しです)
	call	pceLCDDrawObject@rl
	add	%sp,0x7		; 	xadd	%sp, %sp, 28
	ret

; NO_APP
	.align	1
_render_mask:
;	.frame	%sp,80,$31		# vars= 44, regs= 5/0, args= 16, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0xf		; 	xsub	%sp,%sp,60
	ld.w	[%sp+0xb],%r12	; 	xld.w	[%sp+44],%r12
	ld.w	[%sp+0xc],%r13	; 	xld.w	[%sp+48],%r13
	ld.w	[%sp+0xd],%r14	; 	xld.w	[%sp+52],%r14
	ld.w	[%sp+0xe],%r15	; 	xld.w	[%sp+56],%r15
	ld.w	%r1,[%sp+0x17]	; 	xld.w	%r1,[%sp+92]
	ext	0x14		; 	xld.w	%r10,[%r12+20]
	ld.w	%r10,[%r12]
	ext	0x30		; 	xld.w	%r2,[%r10+48]
	ld.w	%r2,[%r10]
	cmp	%r2,0x0
	jrne	__LX383		; 	xjrne	__L383
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x31		; 	xld.w	%r10,0x00000c79		; 3193
	ld.w	%r10,0x39
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX383:				; __L383:
	ld.w	%r10,%r1
	sra	%r10,0x8	; 	xsra	%r10,8
	ld.w	%r3,%r10
	and	%r3,0x3		; 	xand	%r3,%r3,0x00000003
	ld.ub	%r1,%r1
	ext	0x8		; 	xld.ub	%r10,[%r2+8]
	ld.ub	%r10,[%r2]
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jrne	__LX384		; 	xjrne	__L384
	ld.w	%r12,%r1
	and	%r12,0x7	; 	xand	%r12,%r12,0x00000007
	ld.w	%r10,%r1
	sra	%r10,0x3	; 	xsra	%r10,3
	ld.w	%r11,%r10
	and	%r11,0x7	; 	xand	%r11,%r11,0x00000007
	cmp	%r12,0x4	; 	xcmp	%r12,4
	jreq	__LX385		; 	xjreq	__L385
	ld.w	%r12,%r3
__LX385:				; __L385:
	cmp	%r11,0x4	; 	xcmp	%r11,4
	jreq	__LX386		; 	xjreq	__L386
	ld.w	%r11,%r3
__LX386:				; __L386:
	ld.w	%r4,[%sp+0x14]	; 	xld.w	%r4,[%sp+80]
	ld.w	[%sp+0x0],%r4	; 	xld.w	[%sp],%r4
	ld.w	%r4,[%sp+0x15]	; 	xld.w	%r4,[%sp+84]
	ld.w	[%sp+0x1],%r4	; 	xld.w	[%sp+4],%r4
	ld.w	%r4,[%sp+0x16]	; 	xld.w	%r4,[%sp+88]
	ld.w	[%sp+0x2],%r4	; 	xld.w	[%sp+8],%r4
	ld.w	%r10,%r1
	ext	0x3		; 	xand	%r10,%r10,0x000000c0
	and	%r10,0x0
	sll	%r11,0x3	; 	xsll	%r11,3
	or	%r12,%r11
	ld.w	%r11,%r12
	or	%r10,%r11
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r12,[%sp+0xb]	; 	xld.w	%r12,[%sp+44]
	ld.w	%r13,[%sp+0xc]	; 	xld.w	%r13,[%sp+48]
	ld.w	%r14,[%sp+0xd]	; 	xld.w	%r14,[%sp+52]
	ld.w	%r15,[%sp+0xe]	; 	xld.w	%r15,[%sp+56]
	call	_render_object	; 	xcall	_render_object
	jp	__LX387		; 	xjp	__L387
__LX384:				; __L384:
	ext	0x9		; 	xld.ub	%r10,[%r2+9]
	ld.ub	%r10,[%r2]
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jrne	__LX388		; 	xjrne	__L388
	ld.w	%r0,%sp		; 	xadd	%r0,%sp,16
	add	%r0,0x10
	ld.w	%r12,%r0
	ld.w	%r13,%r2
	ld.w	%r14,0x1c	; 	xld.w	%r14,0x0000001c		; 28
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	ld.b	[%sp+0x18],%r10	; 	xld.b	[%sp+24],%r10
	ld.w	%r4,0x0
	ld.b	[%sp+0x19],%r4	; 	xld.b	[%sp+25],%r4
	ld.w	%r10,[%sp+0xa]	; 	xld.w	%r10,[%sp+40]
	ld.w	[%sp+0x9],%r10	; 	xld.w	[%sp+36],%r10
	ld.w	%r4,[%sp+0xb]	; 	xld.w	%r4,[%sp+44]
	ext	0x14		; 	xld.w	%r10,[%r4+20]
	ld.w	%r10,[%r4]
	ext	0x30		; 	xld.w	[%r10+48],%r0
	ld.w	[%r10],%r0
	ld.w	%r4,[%sp+0x14]	; 	xld.w	%r4,[%sp+80]
	ld.w	[%sp+0x0],%r4	; 	xld.w	[%sp],%r4
	ld.w	%r4,[%sp+0x15]	; 	xld.w	%r4,[%sp+84]
	ld.w	[%sp+0x1],%r4	; 	xld.w	[%sp+4],%r4
	ld.w	%r4,[%sp+0x16]	; 	xld.w	%r4,[%sp+88]
	ld.w	[%sp+0x2],%r4	; 	xld.w	[%sp+8],%r4
	ld.w	%r10,%r1
	ext	0x3		; 	xand	%r10,%r10,0x000000c0
	and	%r10,0x0
	ext	0x0		; 	xoor	%r10,%r10,0x00000020
	or	%r10,0x20
	or	%r10,%r3
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r12,[%sp+0xb]	; 	xld.w	%r12,[%sp+44]
	ld.w	%r13,[%sp+0xc]	; 	xld.w	%r13,[%sp+48]
	ld.w	%r14,[%sp+0xd]	; 	xld.w	%r14,[%sp+52]
	ld.w	%r15,[%sp+0xe]	; 	xld.w	%r15,[%sp+56]
	ext	_render_object@rm	; 	xcall	_render_object
	call	_render_object@rl
	ld.w	%r4,[%sp+0xb]	; 	xld.w	%r4,[%sp+44]
	ext	0x14		; 	xld.w	%r10,[%r4+20]
	ld.w	%r10,[%r4]
	ext	0x30		; 	xld.w	[%r10+48],%r2
	ld.w	[%r10],%r2
	jp	__LX387		; 	xjp	__L387
__LX388:				; __L388:
	ld.w	%r4,[%sp+0x16]	; 	xld.w	%r4,[%sp+88]
	ld.w	[%sp+0x0],%r4	; 	xld.w	[%sp],%r4
	ld.w	[%sp+0x1],%r3	; 	xld.w	[%sp+4],%r3
	ld.w	%r12,[%sp+0xb]	; 	xld.w	%r12,[%sp+44]
	ld.w	%r13,[%sp+0xc]	; 	xld.w	%r13,[%sp+48]
	ld.w	%r14,[%sp+0xd]	; 	xld.w	%r14,[%sp+52]
	ld.w	%r15,[%sp+0x15]	; 	xld.w	%r15,[%sp+84]
	ext	render_rectangle_fill@rm	; 	xcall	render_rectangle_fill
	call	render_rectangle_fill@rl
__LX387:				; __L387:
	add	%sp,0xf		; 	xadd	%sp,%sp,60
	popn	%r3
	ret
	.global	render_font_size
	.code
	.align	2
render_font_size:
	.byte	5
	.byte	10
	.byte	8
	.byte	16
	.byte	4
	.byte	6
	.global	render_font_framed_param
	.align	2
render_font_framed_param:
	.byte	0x80
	.byte	0x82
	.byte	0x88
	.byte	0x8a
	.byte	0x41
	.byte	0x44
	.byte	0x46
	.byte	0x49
	.byte	0x5
	.code
	.align	1
	.global	render_string
render_string:
;	.frame	%sp,64,$31		# vars= 36, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0xb		; 	xsub	%sp,%sp,44
	ld.w	[%sp+0x2],%r12	; 	xld.w	[%sp+8],%r12
	ld.w	%r1,%r13
	ld.w	%r2,%r14
	ld.w	%r0,%r15
	ld.w	%r3,[%sp+0x10]	; 	xld.w	%r3,[%sp+64]
	ld.w	%r6,0x0
	ld.w	%r7,%r3
	srl	%r7,0x7		; 	xsrl	%r7,7
	xor	%r7,0x1		; 	xxor	%r7,%r7,0x00000001
	and	%r7,0x1		; 	xand	%r7,%r7,0x00000001
	ext	0x1		; 	xand	%r3,%r3,0x0000007f
	and	%r3,0x3f
	cmp	%r3,0x2		; 	xcmp	%r3,2
	jrule	__LX391		; 	xjrule	__L391
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x33		; 	xld.w	%r10,0x00000cd9		; 3289
	ld.w	%r10,0x19
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX391:				; __L391:
	ld.w	%r10,%r3
	sll	%r10,0x1	; 	xsll	%r10,1
	ext	render_font_size+0x1@h	; 	xld.ub	%r10,[%r10+render_font_size+1]
	ext	render_font_size+0x1@m
	ld.w	%r9,render_font_size+0x1@l
	add	%r9,%r10
	ld.ub	%r10,[%r9]
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r5,%r1
	ld.w	[%sp+0x4],%r5	; 	xld.w	[%sp+16],%r5
	ld.w	[%sp+0xa],%r2	; 	xld.w	[%sp+40],%r2
	ld.w	%r4,[%sp+0xa]	; 	xld.w	%r4,[%sp+40]
	ld.w	[%sp+0x5],%r4	; 	xld.w	[%sp+20],%r4
	jp	__LX392		; 	xjp	__L392
__LX394:				; __L394:
	ext	0x7f		; 	xadd	%r10,%r11,127
	add	%r10,%r11
	ld.ub	%r10,%r10
	cmp	%r10,0x1e	; 	xcmp	%r10,30
	jrule	__LX396		; 	xjrule	__L396
	ext	0x20		; 	xadd	%r10,%r11,32
	add	%r10,%r11
	ld.ub	%r10,%r10
	cmp	%r10,0x1c	; 	xcmp	%r10,28
	jrugt	__LX395		; 	xjrugt	__L395
__LX396:				; __L396:
	ld.ub	%r12,[%r0]	; 	xld.ub	%r12,[%r0]
	ld.ub	%r10,%r12
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r10,0x0
	jreq	__LX393		; 	xjreq	__L393
	ld.ub	%r10,%r11
	sll	%r10,0x8	; 	xsll	%r10,8
	ld.ub	%r11,%r12
	ld.w	%r4,%r11
	or	%r4,%r10
	ld.w	%r10,%r4
	jp	__LX398		; 	xjp	__L398
__LX395:				; __L395:
	cmp	%r7,0x0
	jreq	__LX399		; 	xjreq	__L399
	ld.ub	%r12,%r11
	cmp	%r12,0xd	; 	xcmp	%r12,13
	jreq	__LX401		; 	xjreq	__L401
	cmp	%r12,0xa	; 	xcmp	%r12,10
	jrne	__LX399		; 	xjrne	__L399
__LX401:				; __L401:
	ld.ub	%r10,%r6
	cmp	%r10,0x0
	jrne	__LX402		; 	xjrne	__L402
	ld.w	%r6,%r11
__LX402:				; __L402:
	ld.ub	%r10,%r6
	cmp	%r12,%r10
	jrne	__LX392		; 	xjrne	__L392
	ld.w	%r1,[%sp+0x4]	; 	xld.w	%r1,[%sp+16]
	ld.w	%r4,[%sp+0x3]	; 	xld.w	%r4,[%sp+12]
	add	%r2,%r4
	jp	__LX392		; 	xjp	__L392
__LX399:				; __L399:
	ld.ub	%r10,%r11
__LX398:				; __L398:
	ld.uh	%r15,%r10
	ld.w	[%sp+0x0],%r3	; 	xld.w	[%sp],%r3
	ld.w	%r4,[%sp+0x11]	; 	xld.w	%r4,[%sp+68]
	ld.w	[%sp+0x1],%r4	; 	xld.w	[%sp+4],%r4
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,%r1
	ld.w	%r14,%r2
	ld.w	[%sp+0x7],%r5	; 	xld.w	[%sp+28],%r5
	ld.w	[%sp+0x8],%r6	; 	xld.w	[%sp+32],%r6
	ld.w	[%sp+0x9],%r7	; 	xld.w	[%sp+36],%r7
	ext	render_font@rm	; 	xcall	render_font
	call	render_font@rl
	ld.w	%r11,%r10
	ld.ub	%r10,%r11
	ld.uh	%r10,%r10
	add	%r1,%r10
	ld.w	%r5,[%sp+0x7]	; 	xld.w	%r5,[%sp+28]
	ld.w	%r6,[%sp+0x8]	; 	xld.w	%r6,[%sp+32]
	ld.w	%r7,[%sp+0x9]	; 	xld.w	%r7,[%sp+36]
	cmp	%r1,%r5
	jrle	__LX405		; 	xjrle	__L405
	ld.w	%r5,%r1
__LX405:				; __L405:
	ld.uh	%r10,%r11
	srl	%r10,0x8	; 	xsrl	%r10,8
	ld.w	%r4,%r2
	add	%r4,%r10
	ld.w	%r10,%r4
	ld.w	%r4,[%sp+0xa]	; 	xld.w	%r4,[%sp+40]
	cmp	%r10,%r4
	jrle	__LX392		; 	xjrle	__L392
	ld.w	[%sp+0xa],%r10	; 	xld.w	[%sp+40],%r10
__LX392:				; __L392:
	ld.ub	%r11,[%r0]	; 	xld.ub	%r11,[%r0]
	ld.ub	%r10,%r11
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r10,0x0
	jrne	__LX394		; 	xjrne	__L394
__LX393:				; __L393:
	ld.w	%r10,[%sp+0xa]	; 	xld.w	%r10,[%sp+40]
	ld.w	%r4,[%sp+0x5]	; 	xld.w	%r4,[%sp+20]
	sub	%r10,%r4
	sll	%r10,0x8	; 	xsll	%r10,16
	sll	%r10,0x8
	ld.w	%r11,%r5
	ld.w	%r4,[%sp+0x4]	; 	xld.w	%r4,[%sp+16]
	sub	%r11,%r4
	or	%r10,%r11
	add	%sp,0xb		; 	xadd	%sp,%sp,44
	popn	%r3
	ret
	.align	1
	.global	render_printf
render_printf:
;	.frame	%sp,28,$31		# vars= 0, regs= 5/0, args= 8, 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
	ld.w	%r0,%r14
	ld.w	%r1,%r15
	ext	_def_vbuff+0x0@h	; 	xld.w	%r12,_def_vbuff
	ext	_def_vbuff+0x0@m
	ld.w	%r12,_def_vbuff+0x0@l
	ld.w	%r13,[%sp+0x8]	; 	xld.w	%r13,[%sp+32]
	ld.w	%r14,%sp	; 	xadd	%r14,%sp,36
	add	%r14,0x24
	ext	vsprintf@rm	; 	xcall	vsprintf
	call	vsprintf@rl
	ld.w	[%sp+0x0],%r1	; 	xld.w	[%sp],%r1
	ld.w	%r11,[%sp+0x7]	; 	xld.w	%r11,[%sp+28]
	ld.w	[%sp+0x1],%r11	; 	xld.w	[%sp+4],%r11
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ld.w	%r14,%r0
	ext	_def_vbuff+0x0@h	; 	xld.w	%r15,_def_vbuff
	ext	_def_vbuff+0x0@m
	ld.w	%r15,_def_vbuff+0x0@l
	ext	render_string@rm	; 	xcall	render_string
	call	render_string@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r3
	ret
	.align	1
	.global	render_font_framed
render_font_framed:
;	.frame	%sp,32,$31		# vars= 4, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	[%sp+0x2],%r12	; 	xld.w	[%sp+8],%r12
	ld.w	%r3,%r13
	ld.w	%r2,%r14
	ld.w	%r1,%r15
	ext	render_font_framed_param+0x0@h	; 	xld.w	%r0,render_font_framed_param
	ext	render_font_framed_param+0x0@m
	ld.w	%r0,render_font_framed_param+0x0@l
__LX413:				; __L413:
	ld.ub	%r10,[%r0]	; 	xld.ub	%r10,[%r0]
	ld.w	%r13,%r10
	and	%r13,0x3	; 	xand	%r13,%r13,0x00000003
	ld.w	%r14,%r10
	srl	%r14,0x2	; 	xsrl	%r14,2
	and	%r14,0x3	; 	xand	%r14,%r14,0x00000003
	ld.w	%r4,[%sp+0x8]	; 	xld.w	%r4,[%sp+32]
	ld.w	[%sp+0x0],%r4	; 	xld.w	[%sp],%r4
	srl	%r10,0x4	; 	xsrl	%r10,4
	ld.w	%r4,[%sp+0x9]	; 	xld.w	%r4,[%sp+36]
	ld.w	%r9,%r10	; 	xsra	%r4,%r10
	and	%r9,0x1f
	cmp	%r9,0x8
	jrle	4
	sra	%r4,0x8
	jp.d	-3
	sub	%r9,0x8
	sra	%r4,%r9
	ld.w	%r10,%r4
	and	%r10,0xf	; 	xand	%r10,%r10,0x0000000f
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r4,%r3
	add	%r4,%r13
	ld.w	%r13,%r4
	ld.w	%r4,%r2
	add	%r4,%r14
	ld.w	%r14,%r4
	ld.uh	%r15,%r1
	ext	render_font@rm	; 	xcall	render_font
	call	render_font@rl
	ld.uh	%r11,%r10
	cmp	%r11,0x0
	jrne	__LX412		; 	xjrne	__L412
	ld.w	%r10,%r11
	jp	__LX416		; 	xjp	__L416
__LX412:				; __L412:
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	ext	render_font_framed_param+0x8@h	; 	xld.w	%r10,render_font_framed_param+8
	ext	render_font_framed_param+0x8@m
	ld.w	%r10,render_font_framed_param+0x8@l
	cmp	%r0,%r10
	jrle	__LX413		; 	xjrle	__L413
	ext	0x202		; 	xadd	%r10,%r11,514
	add	%r10,%r11
	ld.uh	%r10,%r10
__LX416:				; __L416:
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	render_string_framed
render_string_framed:
;	.frame	%sp,32,$31		# vars= 4, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	[%sp+0x2],%r12	; 	xld.w	[%sp+8],%r12
	ld.w	%r3,%r13
	ld.w	%r2,%r14
	ld.w	%r1,%r15
	ext	render_font_framed_param+0x0@h	; 	xld.w	%r0,render_font_framed_param
	ext	render_font_framed_param+0x0@m
	ld.w	%r0,render_font_framed_param+0x0@l
__LX421:				; __L421:
	ld.ub	%r10,[%r0]	; 	xld.ub	%r10,[%r0]
	ld.w	%r13,%r10
	and	%r13,0x3	; 	xand	%r13,%r13,0x00000003
	ld.w	%r14,%r10
	srl	%r14,0x2	; 	xsrl	%r14,2
	and	%r14,0x3	; 	xand	%r14,%r14,0x00000003
	ld.w	%r4,[%sp+0x8]	; 	xld.w	%r4,[%sp+32]
	ld.w	[%sp+0x0],%r4	; 	xld.w	[%sp],%r4
	srl	%r10,0x4	; 	xsrl	%r10,4
	ld.w	%r4,[%sp+0x9]	; 	xld.w	%r4,[%sp+36]
	ld.w	%r9,%r10	; 	xsra	%r4,%r10
	and	%r9,0x1f
	cmp	%r9,0x8
	jrle	4
	sra	%r4,0x8
	jp.d	-3
	sub	%r9,0x8
	sra	%r4,%r9
	ld.w	%r10,%r4
	and	%r10,0xf	; 	xand	%r10,%r10,0x0000000f
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r4,%r3
	add	%r4,%r13
	ld.w	%r13,%r4
	ld.w	%r4,%r2
	add	%r4,%r14
	ld.w	%r14,%r4
	ld.w	%r15,%r1
	ext	render_string@rm	; 	xcall	render_string
	call	render_string@rl
	ld.w	%r11,%r10
	cmp	%r11,0x0
	jreq	__LX424		; 	xjreq	__L424
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	ext	render_font_framed_param+0x8@h	; 	xld.w	%r10,render_font_framed_param+8
	ext	render_font_framed_param+0x8@m
	ld.w	%r10,render_font_framed_param+0x8@l
	cmp	%r0,%r10
	jrle	__LX421		; 	xjrle	__L421
	ext	0x10		; 	xadd	%r10,%r11,131074
	ext	0x2
	add	%r10,%r11
__LX424:				; __L424:
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	render_printf_framed
render_printf_framed:
;	.frame	%sp,28,$31		# vars= 0, regs= 5/0, args= 8, 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
	ld.w	%r0,%r14
	ld.w	%r1,%r15
	ext	_def_vbuff+0x0@h	; 	xld.w	%r12,_def_vbuff
	ext	_def_vbuff+0x0@m
	ld.w	%r12,_def_vbuff+0x0@l
	ld.w	%r13,[%sp+0x8]	; 	xld.w	%r13,[%sp+32]
	ld.w	%r14,%sp	; 	xadd	%r14,%sp,36
	add	%r14,0x24
	ext	vsprintf@rm	; 	xcall	vsprintf
	call	vsprintf@rl
	ld.w	[%sp+0x0],%r1	; 	xld.w	[%sp],%r1
	ld.w	%r11,[%sp+0x7]	; 	xld.w	%r11,[%sp+28]
	ld.w	[%sp+0x1],%r11	; 	xld.w	[%sp+4],%r11
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ld.w	%r14,%r0
	ext	_def_vbuff+0x0@h	; 	xld.w	%r15,_def_vbuff
	ext	_def_vbuff+0x0@m
	ld.w	%r15,_def_vbuff+0x0@l
	call	render_string_framed	; 	xcall	render_string_framed
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r3
	ret
	.align	1
sound_endproc:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r13,%r12
	ext	0x4		; 	xsub	%r12,%r13,4
	sub	%r12,%r13
	ext	0x14		; 	xld.w	%r10,[%r13+20]
	ld.w	%r10,[%r13]
	cmp	%r10,0x0
	jrlt	__LX428		; 	xjrlt	__L428
	sub	%r10,0x1	; 	xsub	%r10,%r10,1
	ext	0x14		; 	xld.w	[%r13+20],%r10
	ld.w	[%r13],%r10
	jreq	__LX427		; 	xjreq	__L427
__LX428:				; __L428:
	ld.w	%r12,[%r12]	; 	xld.w	%r12,[%r12]
	ext	pceWaveDataOut@rm	; 	xcall	pceWaveDataOut
	call	pceWaveDataOut@rl
__LX427:				; __L427:
	ret
	.code
	.align	2
__LC7:
	.ascii	"MCPP\000"
	.code
	.align	1
	.global	sound_play
sound_play:
;	.frame	%sp,32,$31		# vars= 4, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r2,%r12
	ld.w	%r3,%r13
	ld.w	[%sp+0x2],%r14	; 	xld.w	[%sp+8],%r14
	call	sound_stop	; 	xcall	sound_stop
	ld.w	%r11,[%sp+0x2]	; 	xld.w	%r11,[%sp+8]
	cmp	%r11,0x0
	jreq	__LX429		; 	xjreq	__L429
	ld.w	%r12,%r3
	ext	__LC7+0x0@h	; 	xld.w	%r13,__LC7
	ext	__LC7+0x0@m
	ld.w	%r13,__LC7+0x0@l
	ld.w	%r14,0x4	; 	xld.w	%r14,0x00000004		; 4
	ext	memcmp@rm	; 	xcall	memcmp
	call	memcmp@rl
	cmp	%r10,0x0
	jreq	__LX431		; 	xjreq	__L431
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x37		; 	xld.w	%r10,0x00000dec		; 3564
	ld.w	%r10,0x2c
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX431:				; __L431:
	ld.w	%r10,0x1c	; 	xld.w	%r10,0x0000001c		; 28
	mlt.w	%r2,%r10
	ext	sound_info+0x0@h	; 	xld.w	%r0,sound_info
	ext	sound_info+0x0@m
	ld.w	%r0,sound_info+0x0@l
	ld.w	%r11,%alr
	add	%r11,%r0
	ld.w	%r0,%r11
	ld.w	[%r0],%r2	; 	xld.w	[%r0],%r2
	ext	0x4		; 	xadd	%r1,%r0,4
	add	%r1,%r0
	ld.w	%r12,%r1
	ext	0x8		; 	xadd	%r13,%r3,8
	add	%r13,%r3
	ld.w	%r14,0x14	; 	xld.w	%r14,0x00000014		; 20
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x1c		; 	xadd	%r10,%r3,28
	add	%r10,%r3
	ext	0x8		; 	xld.w	[%r0+8],%r10
	ld.w	[%r0],%r10
	ext	sound_endproc+0x0@h	; 	xld.w	%r10,sound_endproc
	ext	sound_endproc+0x0@m
	ld.w	%r10,sound_endproc+0x0@l
	ext	0x14		; 	xld.w	[%r0+20],%r10
	ld.w	[%r0],%r10
	ld.w	%r11,[%sp+0x2]	; 	xld.w	%r11,[%sp+8]
	ext	0x18		; 	xld.w	[%r0+24],%r11
	ld.w	[%r0],%r11
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ext	pceWaveDataOut@rm	; 	xcall	pceWaveDataOut
	call	pceWaveDataOut@rl
__LX429:				; __L429:
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	sound_stop
sound_stop:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	cmp	%r12,0x3	; 	xcmp	%r12,3
	jrule	__LX433		; 	xjrule	__L433
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x38		; 	xld.w	%r10,0x00000e05		; 3589
	ld.w	%r10,0x5
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX433:				; __L433:
	ext	pceWaveAbort@rm	; 	xcall	pceWaveAbort
	call	pceWaveAbort@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
	.global	sound_stat
sound_stat:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	cmp	%r12,0x3	; 	xcmp	%r12,3
	jrule	__LX435		; 	xjrule	__L435
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x38		; 	xld.w	%r10,0x00000e0e		; 3598
	ld.w	%r10,0xe
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX435:				; __L435:
	ext	pceWaveCheckBuffs@rm	; 	xcall	pceWaveCheckBuffs
	call	pceWaveCheckBuffs@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
	.global	stream_play
stream_play:
;	.frame	%sp,32,$31		# vars= 4, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	[%sp+0x2],%r12	; 	xld.w	[%sp+8],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ext	stream_stop@rm	; 	xcall	stream_stop
	call	stream_stop@rl
	ext	stream_info+0x0@h	; 	xld.w	%r12,stream_info
	ext	stream_info+0x0@m
	ld.w	%r12,stream_info+0x0@l
	ld.w	%r13,0x0
	ext	0x1		; 	xld.w	%r14,0x00000048		; 72
	ld.w	%r14,0x8
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	%r10,[%sp+0x2]	; 	xld.w	%r10,[%sp+8]
	ext	0x0		; 	xand	%r10,%r10,0x0000003f
	and	%r10,0x3f
	jreq	__LX437		; 	xjreq	__L437
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x3a		; 	xld.w	%r10,0x00000e92		; 3730
	ld.w	%r10,0x12
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX437:				; __L437:
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	stream_info+0x10@ah	; 	xld.w	[stream_info+16],%r4
	ext	stream_info+0x10@al
	ld.w	[%r8],%r4
	ext	stream_info+0x3c@ah	; 	xld.w	[stream_info+60],%r0
	ext	stream_info+0x3c@al
	ld.w	[%r8],%r0
	ext	stream_info+0x40@ah	; 	xld.w	[stream_info+64],%r1
	ext	stream_info+0x40@al
	ld.w	[%r8],%r1
	cmp	%r2,0x0
	jreq	__LX438		; 	xjreq	__L438
	ext	0x8		; 	xld.w	%r12,0x00000200		; 512
	ld.w	%r12,0x0
	ext	malloc@rm	; 	xcall	malloc
	call	malloc@rl
	ext	stream_info+0x44@ah	; 	xld.w	[stream_info+68],%r10
	ext	stream_info+0x44@al
	ld.w	[%r8],%r10
	cmp	%r10,0x0
	jrne	__LX438		; 	xjrne	__L438
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x3a		; 	xld.w	%r10,0x00000e9a		; 3738
	ld.w	%r10,0x1a
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX438:				; __L438:
	ld.w	%r3,0x0
	ext	stream_info+0x0@h	; 	xld.w	%r2,stream_info
	ext	stream_info+0x0@m
	ld.w	%r2,stream_info+0x0@l
	add	%r2,0x14	; 	xadd	%r2,%r2,20
	ext	0xc		; 	xadd	%r1,%r2,12
	add	%r1,%r2
	ext	stream_info+0x0@h	; 	xld.w	%r0,stream_info
	ext	stream_info+0x0@m
	ld.w	%r0,stream_info+0x0@l
	add	%r0,0x18	; 	xadd	%r0,%r0,24
__LX443:				; __L443:
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	ext	0x1		; 	xld.b	[%r2+1],%r10
	ld.b	[%r2],%r10
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	sll	%r12,0x1	; 	xsll	%r12,1
	ext	malloc@rm	; 	xcall	malloc
	call	malloc@rl
	ld.w	[%r0],%r10	; 	xld.w	[%r0],%r10
	cmp	%r10,0x0
	jrne	__LX444		; 	xjrne	__L444
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x3a		; 	xld.w	%r10,0x00000ea0		; 3744
	ld.w	%r10,0x20
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX444:				; __L444:
	ld.w	%r4,[%sp+0x2]	; 	xld.w	%r4,[%sp+8]
	ext	0x4		; 	xld.w	[%r0+4],%r4
	ld.w	[%r0],%r4
	ext	0x1		; 	xadd	%r12,%r3,1
	add	%r12,%r3
	ld.w	%r10,%r12
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	ld.w	%r4,%r12
	add	%r4,%r10
	ld.w	%r10,%r4
	and	%r10,0x3e	; 	xand	%r10,%r10,0xfffffffe
	ld.w	%r4,%r12
	sub	%r4,%r10
	ld.w	%r10,%r4
	ld.w	%r11,0x14	; 	xld.w	%r11,0x00000014		; 20
	mlt.w	%r10,%r11
	ld.w	%r10,%alr
	add	%r10,0x14	; 	xadd	%r10,%r10,20
	ext	stream_info+0x0@h	; 	xld.w	%r4,stream_info
	ext	stream_info+0x0@m
	ld.w	%r4,stream_info+0x0@l
	add	%r4,%r10
	ld.w	%r10,%r4
	ld.w	[%r1],%r10	; 	xld.w	[%r1],%r10
	ext	stream_endproc+0x0@h	; 	xld.w	%r10,stream_endproc
	ext	stream_endproc+0x0@m
	ld.w	%r10,stream_endproc+0x0@l
	ext	0x4		; 	xld.w	[%r1+4],%r10
	ld.w	[%r1],%r10
	ld.w	%r3,%r12
	add	%r1,0x14	; 	xadd	%r1,%r1,20
	add	%r0,0x14	; 	xadd	%r0,%r0,20
	add	%r2,0x14	; 	xadd	%r2,%r2,20
	cmp	%r3,0x1		; 	xcmp	%r3,1
	jrle	__LX443		; 	xjrle	__L443
	ld.w	%r10,0x2	; 	xld.w	%r10,0x00000002		; 2
	;.set	volatile
	ext	stream_info+0x8@ah	; 	xld.w	[stream_info+8],%r10
	ext	stream_info+0x8@al
	ld.w	[%r8],%r10
	;.set	novolatile
	call	stream_fill	; 	xcall	stream_fill
; APP
	ld.w %r9,%psr
	and %r9,0xffffffef
	ld.w %psr,%r9
; NO_APP
	ld.w	%r12,0x17	; 	xld.w	%r12,0x00000017		; 23
	ext	stream_isr+0x0@h	; 	xld.w	%r13,stream_isr
	ext	stream_isr+0x0@m
	ld.w	%r13,stream_isr+0x0@l
	ext	pceVectorSetTrap@rm	; 	xcall	pceVectorSetTrap
	call	pceVectorSetTrap@rl
	ext	stream_info+0x0@ah	; 	xld.w	[stream_info],%r10
	ext	stream_info+0x0@al
	ld.w	[%r8],%r10
	ld.w	%r12,0x0
	ext	stream_info+0x0@h	; 	xld.w	%r13,stream_info
	ext	stream_info+0x0@m
	ld.w	%r13,stream_info+0x0@l
	add	%r13,0x14	; 	xadd	%r13,%r13,20
	ext	pceWaveDataOut@rm	; 	xcall	pceWaveDataOut
	call	pceWaveDataOut@rl
; APP
	ld.w %r9,%psr
	or %r9,0x10
	ld.w %psr,%r9
; NO_APP
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	stream_stop
stream_stop:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ext	stream_info+0x0@h	; 	xld.w	%r2,stream_info
	ext	stream_info+0x0@m
	ld.w	%r2,stream_info+0x0@l
	call	stream_stat	; 	xcall	stream_stat
	cmp	%r10,0x0
	jreq	__LX446		; 	xjreq	__L446
; APP
	ld.w %r9,%psr
	and %r9,0xffffffef
	ld.w %psr,%r9
; NO_APP
	ld.w	%r12,0x0
	ext	pceWaveAbort@rm	; 	xcall	pceWaveAbort
	call	pceWaveAbort@rl
	ld.w	%r12,0x17	; 	xld.w	%r12,0x00000017		; 23
	ld.w	%r13,[%r2]	; 	xld.w	%r13,[%r2]
	ext	pceVectorSetTrap@rm	; 	xcall	pceVectorSetTrap
	call	pceVectorSetTrap@rl
	ld.w	%r11,0x0
	ld.w	[%r2],%r11	; 	xld.w	[%r2],%r11
; APP
	ld.w %r9,%psr
	or %r9,0x10
	ld.w %psr,%r9
; NO_APP
	ld.w	%r1,0x0
	ext	0x14		; 	xadd	%r0,%r2,20
	add	%r0,%r2
__LX451:				; __L451:
	ext	0x4		; 	xld.w	%r12,[%r0+4]
	ld.w	%r12,[%r0]
	ext	free@rm		; 	xcall	free
	call	free@rl
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	add	%r0,0x14	; 	xadd	%r0,%r0,20
	cmp	%r1,0x1		; 	xcmp	%r1,1
	jrle	__LX451		; 	xjrle	__L451
	ext	0x44		; 	xld.w	%r12,[%r2+68]
	ld.w	%r12,[%r2]
	ext	free@rm		; 	xcall	free
	call	free@rl
__LX446:				; __L446:
	popn	%r2
	ret
	.align	1
	.global	stream_stat
stream_stat:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	stream_info+0x0@ah	; 	xld.w	%r11,[stream_info]
	ext	stream_info+0x0@al
	ld.w	%r11,[%r8]
	not	%r10,%r11
	add	%r10,1
	or	%r10,%r11
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	ret
; APP
	
	.code
	.align	1
	.global stream_isr
stream_isr:
	;// [%sp+0]:psr
	;// [%sp+1]:pc
	pushn %r1
	;// [%sp+0]:r0
	;// [%sp+1]:r1
	;// [%sp+2]:psr
	;// [%sp+3]:pc
	ld.w %r0, [%sp+2]		;// psr
	ext	stream_isr_busy_ret+0x0@h	; 	xld.w %r1, stream_isr_busy_ret
	ext	stream_isr_busy_ret+0x0@m
	ld.w	%r1,stream_isr_busy_ret+0x0@l
	ext	stream_info+0x4@ah	; 	xbtst [stream_info+4], 0	;// stream_info.busy ?
	ext	stream_info+0x4@al
	btst	[%r8],0x0
	jrne	stream_isr_busy	; 	xjrne stream_isr_busy
	ext	stream_info+0x4@ah	; 	xbset [stream_info+4], 0	;// stream_info.busy <- 1
	ext	stream_info+0x4@al
	bset	[%r8],0x0
	ext	stream_isr_ret+0x0@h	; 	xld.w %r1, stream_isr_ret
	ext	stream_isr_ret+0x0@m
	ld.w	%r1,stream_isr_ret+0x0@l
stream_isr_busy:
	sub %sp, 2
	ld.w [%sp+0], %r0		;// psr ... 長期間の割り込み禁止によるミキシング中断を防ぐため、old_isrからのiret時に割り込み発生直前の%psrを復元します。
	ld.w [%sp+1], %r1		;// stream_isr_ret or stream_isr_busy_ret
	;// [%sp+0]:psr
	;// [%sp+1]:stream_isr_ret or stream_isr_busy_ret
	;// [%sp+2]:r0
	;// [%sp+3]:r1
	;// [%sp+4]:psr
	;// [%sp+5]:pc
	ext	stream_info+0x0@ah	; 	xld.w %r1, [stream_info+0]	;// old_isr
	ext	stream_info+0x0@al
	ld.w	%r1,[%r8]
	jp %r1
stream_isr_ret:				;// busy=0(初回割り込み)ならば、old_isrからの戻り位置はここです。上の処理で既にbusy=1にしてあります。
	;// ★old_isrからのiret時に割り込み直前の%psrを復元しているので、これ以降は割り込み許可状態です★
	;// [%sp+0]:r0
	;// [%sp+1]:r1
	;// [%sp+2]:psr
	;// [%sp+3]:pc
	ld.w %r0, %alr
	ld.w %r1, %ahr
	pushn %r15
	call	stream_fill	; 	xcall stream_fill
	popn %r15
	ld.w %ahr, %r1
	ld.w %alr, %r0
	;// [%sp+0]:r0
	;// [%sp+1]:r1
	;// [%sp+2]:psr
	;// [%sp+3]:pc
	ext	stream_info+0x4@ah	; 	xbclr [stream_info+4], 0	;// stream_info.busy <- 0
	ext	stream_info+0x4@al
	bclr	[%r8],0x0
stream_isr_busy_ret:			;// busy=1(多重割り込み)ならば、old_isrからの戻り位置はここです。
	;// [%sp+0]:r0
	;// [%sp+1]:r1
	;// [%sp+2]:psr
	;// [%sp+3]:pc
	popn %r1
	;// [%sp+0]:psr			;// old_isrからのiret時に既に%psrを復元しているので、同じ%psrを二度復元することになりますが、問題ありません。
	;// [%sp+1]:pc
	reti

; NO_APP
	.align	1
stream_fill:
;	.frame	%sp,20,$31		# vars= 0, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	ext	stream_info+0x0@h	; 	xld.w	%r1,stream_info
	ext	stream_info+0x0@m
	ld.w	%r1,stream_info+0x0@l
	;.set	volatile
	ext	stream_info+0x8@ah	; 	xld.w	%r10,[stream_info+8]
	ext	stream_info+0x8@al
	ld.w	%r10,[%r8]
	;.set	novolatile
	cmp	%r10,0x0
	jreq	__LX457		; 	xjreq	__L457
	ext	0x8		; 	xadd	%r3,%r1,8
	add	%r3,%r1
__LX458:				; __L458:
	ext	0xc		; 	xld.w	%r11,[%r1+12]
	ld.w	%r11,[%r1]
	ld.w	%r10,0x14	; 	xld.w	%r10,0x00000014		; 20
	mlt.w	%r11,%r10
	ld.w	%r10,%r1
	ld.w	%r15,%alr
	add	%r10,%r15
	ext	0x18		; 	xld.w	%r2,[%r10+24]
	ld.w	%r2,[%r10]
	ext	0x44		; 	xld.w	%r12,[%r1+68]
	ld.w	%r12,[%r1]
	cmp	%r12,0x0
	jreq	__LX459		; 	xjreq	__L459
	ext	0x38		; 	xld.w	%r13,0x00000e00		; 3584
	ld.w	%r13,0x0
	ext	0x8		; 	xld.w	%r14,0x00000200		; 512
	ld.w	%r14,0x0
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x3c		; 	xld.w	%r12,[%r1+60]
	ld.w	%r12,[%r1]
	ld.w	%r13,%r2
	ext	0x40		; 	xld.w	%r14,[%r1+64]
	ld.w	%r14,[%r1]
	call	stack_switch_FRAM4	; 	xcall	stack_switch_FRAM4
	ld.w	%r0,%r10
	ext	0x38		; 	xld.w	%r12,0x00000e00		; 3584
	ld.w	%r12,0x0
	ext	0x44		; 	xld.w	%r13,[%r1+68]
	ld.w	%r13,[%r1]
	ext	0x8		; 	xld.w	%r14,0x00000200		; 512
	ld.w	%r14,0x0
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	jp	__LX460		; 	xjp	__L460
__LX459:				; __L459:
	ext	0x3c		; 	xld.w	%r10,[%r1+60]
	ld.w	%r10,[%r1]
	ld.w	%r12,%r2
	ext	0x40		; 	xld.w	%r13,[%r1+64]
	ld.w	%r13,[%r1]
	call	%r10
	ld.w	%r0,%r10
__LX460:				; __L460:
	cmp	%r0,0x0
	jreq	__LX461		; 	xjreq	__L461
	ext	0x10		; 	xld.w	%r14,[%r1+16]
	ld.w	%r14,[%r1]
	ld.w	%r12,%r2
	ld.w	%r13,0x0
	sll	%r14,0x1	; 	xsll	%r14,1
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
__LX461:				; __L461:
	ext	0xc		; 	xld.w	%r10,[%r1+12]
	ld.w	%r10,[%r1]
	add	%r10,0x1	; 	xadd	%r10,%r10,1
	ext	0xc		; 	xld.w	[%r1+12],%r10
	ld.w	[%r1],%r10
	cmp	%r10,0x2	; 	xcmp	%r10,2
	jrne	__LX462		; 	xjrne	__L462
	ld.w	%r15,0x0
	ext	0xc		; 	xld.w	[%r1+12],%r15
	ld.w	[%r1],%r15
__LX462:				; __L462:
	ld.w	%r12,%r3
	ld.w	%r13,0x3f	; 	xld.w	%r13,-1			; 0xffffffff
	ext	pceSyncSafetyAddition@rm	; 	xcall	pceSyncSafetyAddition
	call	pceSyncSafetyAddition@rl
	;.set	volatile
	ld.w	%r10,[%r3]	; 	xld.w	%r10,[%r3]
	;.set	novolatile
	cmp	%r10,0x0
	jrne	__LX458		; 	xjrne	__L458
__LX457:				; __L457:
	popn	%r3
	ret
	.align	1
stream_endproc:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	;.set	volatile
	ext	stream_info+0x8@ah	; 	xld.w	%r10,[stream_info+8]
	ext	stream_info+0x8@al
	ld.w	%r10,[%r8]
	;.set	novolatile
	add	%r10,0x1	; 	xadd	%r10,%r10,1
	;.set	volatile
	ext	stream_info+0x8@ah	; 	xld.w	[stream_info+8],%r10
	ext	stream_info+0x8@al
	ld.w	[%r8],%r10
	;.set	novolatile
	;.set	volatile
	ext	stream_info+0x8@ah	; 	xld.w	%r10,[stream_info+8]
	ext	stream_info+0x8@al
	ld.w	%r10,[%r8]
	;.set	novolatile
	ret
; APP
	
	.code
	.align	1
	.global stack_switch
stack_switch:
	pushn %r0
	ld.w %r0, %sp		;// スタック退避
	ld.w %sp, %r12		;// スタック切替
	ld.w %r12, %r14		;//
	call.d %r13		;// result = fn(arg1,arg2)
	ld.w %r13, %r15		;// *delay*
	ld.w %sp, %r0		;// スタック復元
	popn %r0
	ret

; NO_APP
	.align	1
	.global	stack_switch_FRAM4
stack_switch_FRAM4:
;	.frame	%sp,16,$31		# vars= 0, regs= 2/0, args= 8, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r10,%r12
	ld.w	%r11,%r13
	ld.w	%r15,%r14
	ext	0x38		; 	xld.w	%r0,0x00000e00		; 3584
	ld.w	%r0,0x0
	ld.w	[%r0],%r0	; 	xld.w	[%r0],%r0
	ext	0x40		; 	xld.w	%r12,0x00001000		; 4096
	ld.w	%r12,0x0
	ld.w	%r13,%r10
	ld.w	%r14,%r11
	call	stack_switch	; 	xcall	stack_switch
	ld.w	%r11,%r10
	ld.w	%r10,[%r0]	; 	xld.w	%r10,[%r0]
	cmp	%r10,%r0
	jreq	__LX466		; 	xjreq	__L466
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x40		; 	xld.w	%r10,0x00001024		; 4132
	ld.w	%r10,0x24
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX466:				; __L466:
	ld.w	%r10,%r11
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r0
	ret
	.align	1
	.global	file_address
file_address:
;	.frame	%sp,36,$31		# vars= 16, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r10,%r12
	ld.w	%r3,%r13
	ld.w	%r12,%sp
	ld.w	%r13,%r10
	ld.w	%r14,0x1	; 	xld.w	%r14,0x00000001		; 1
	ext	pceFileOpen@rm	; 	xcall	pceFileOpen
	call	pceFileOpen@rl
	cmp	%r10,0x0
	jreq	__LX468		; 	xjreq	__L468
	ld.w	%r10,0x0
	jp	__LX478		; 	xjp	__L478
__LX479:				; __L479:
	ld.w	%r12,%sp
	ext	pceFileClose@rm	; 	xcall	pceFileClose
	call	pceFileClose@rl
	ld.w	%r10,0x0
	jp	__LX478		; 	xjp	__L478
__LX468:				; __L468:
	ld.w	%r1,%r10
	ld.w	%r0,%r1
	ld.w	%r10,[%sp+0x2]	; 	xld.w	%r10,[%sp+8]
	cmp	%r1,%r10
	jruge	__LX470		; 	xjruge	__L470
	ext	0x40		; 	xld.w	%r2,0x00001000		; 4096
	ld.w	%r2,0x0
__LX472:				; __L472:
	ld.w	%r14,%r0
	cmp	%r0,0x0
	jrge	__LX473		; 	xjrge	__L473
	ext	0xfff		; 	xadd	%r14,%r0,4095
	add	%r14,%r0
__LX473:				; __L473:
	ld.w	%r12,%sp
	ld.w	%r13,0x0
	sra	%r14,0x8	; 	xsra	%r14,12
	sra	%r14,0x4
	ld.w	%r15,%r2
	ext	pceFileReadSct@rm	; 	xcall	pceFileReadSct
	call	pceFileReadSct@rl
	cmp	%r0,0x0
	jreq	__LX474		; 	xjreq	__L474
	ld.w	%r11,%r1
	add	%r11,%r2
	ld.w	%r10,[%sp+0x1]	; 	xld.w	%r10,[%sp+4]
	cmp	%r10,%r11
	jrne	__LX479		; 	xjrne	__L479
__LX474:				; __L474:
	ld.w	%r1,[%sp+0x1]	; 	xld.w	%r1,[%sp+4]
	ext	0x40		; 	xadd	%r0,%r0,4096
	add	%r0,0x0
	ld.w	%r10,[%sp+0x2]	; 	xld.w	%r10,[%sp+8]
	cmp	%r0,%r10
	jrult	__LX472		; 	xjrult	__L472
__LX470:				; __L470:
	ld.w	%r12,%sp
	ld.w	%r13,0x0
	ld.w	%r14,%r13
	ext	0x40		; 	xld.w	%r15,0x00001000		; 4096
	ld.w	%r15,0x0
	ext	pceFileReadSct@rm	; 	xcall	pceFileReadSct
	call	pceFileReadSct@rl
	ld.w	%r1,[%sp+0x1]	; 	xld.w	%r1,[%sp+4]
	cmp	%r3,0x0
	jreq	__LX477		; 	xjreq	__L477
	ld.w	%r10,[%sp+0x2]	; 	xld.w	%r10,[%sp+8]
	ld.w	[%r3],%r10	; 	xld.w	[%r3],%r10
__LX477:				; __L477:
	ld.w	%r12,%sp
	ext	pceFileClose@rm	; 	xcall	pceFileClose
	call	pceFileClose@rl
	ld.w	%r10,%r1
__LX478:				; __L478:
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r3
	ret
	.align	1
timer_proc:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r0,0x0
__LX484:				; __L484:
	ld.w	%r11,%r0
	sll	%r11,0x4	; 	xsll	%r11,4
	ext	timers+0x0@h	; 	xld.w	%r10,timers
	ext	timers+0x0@m
	ld.w	%r10,timers+0x0@l
	add	%r11,%r10
	ld.w	%r10,[%r11]	; 	xld.w	%r10,[%r11]
	cmp	%r10,0x0
	jreq	__LX483		; 	xjreq	__L483
	sub	%r10,0x1	; 	xsub	%r10,%r10,1
	ld.w	[%r11],%r10	; 	xld.w	[%r11],%r10
	jrne	__LX483		; 	xjrne	__L483
	ext	0x4		; 	xld.w	%r10,[%r11+4]
	ld.w	%r10,[%r11]
	ld.w	[%r11],%r10	; 	xld.w	[%r11],%r10
	ext	0x8		; 	xld.w	%r10,[%r11+8]
	ld.w	%r10,[%r11]
	ext	0xc		; 	xld.w	%r12,[%r11+12]
	ld.w	%r12,[%r11]
	call	%r10
__LX483:				; __L483:
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r0,0xf		; 	xcmp	%r0,15
	jrle	__LX484		; 	xjrle	__L484
	popn	%r0
	ret
	.align	1
	.global	timer_start
timer_start:
;	.frame	%sp,32,$31		# vars= 4, regs= 5/0, args= 8, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r1,%r12
	ld.w	%r2,%r13
	ld.w	%r3,%r14
	cmp	%r1,0x0
	jrle	__LX489		; 	xjrle	__L489
	cmp	%r2,0x0
	jrne	__LX488		; 	xjrne	__L488
__LX489:				; __L489:
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x45		; 	xld.w	%r10,0x0000114b		; 4427
	ld.w	%r10,0xb
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX488:				; __L488:
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,8
	add	%r12,0x8
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection
	call	pceSyncEnterCriticalSection@rl
	ld.w	%r0,0x0
	ext	timers+0x0@h	; 	xld.w	%r10,timers
	ext	timers+0x0@m
	ld.w	%r10,timers+0x0@l
__LX496:				; __L496:
	ld.w	%r11,%r10
	ld.w	%r10,[%r11]	; 	xld.w	%r10,[%r11]
	cmp	%r10,0x0
	jreq	__LX494		; 	xjreq	__L494
	ext	0x10		; 	xadd	%r10,%r11,16
	add	%r10,%r11
	add	%r0,0x1		; 	xadd	%r0,%r0,1
	cmp	%r0,0xf		; 	xcmp	%r0,15
	jrle	__LX496		; 	xjrle	__L496
__LX494:				; __L494:
	cmp	%r0,0x10	; 	xcmp	%r0,16
	jrne	__LX499		; 	xjrne	__L499
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x45		; 	xld.w	%r10,0x00001158		; 4440
	ld.w	%r10,0x18
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX499:				; __L499:
	ext	0x4		; 	xld.w	[%r11+4],%r1
	ld.w	[%r11],%r1
	ld.w	[%r11],%r1	; 	xld.w	[%r11],%r1
	ext	0x8		; 	xld.w	[%r11+8],%r2
	ld.w	[%r11],%r2
	ext	0xc		; 	xld.w	[%r11+12],%r3
	ld.w	[%r11],%r3
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,8
	add	%r12,0x8
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection
	call	pceSyncLeaveCriticalSection@rl
	ld.w	%r12,0x0
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ld.w	%r14,0x1	; 	xld.w	%r14,0x00000001		; 1
	ext	timer_proc+0x0@h	; 	xld.w	%r15,timer_proc
	ext	timer_proc+0x0@m
	ld.w	%r15,timer_proc+0x0@l
	ext	pceTimerSetCallback@rm	; 	xcall	pceTimerSetCallback
	call	pceTimerSetCallback@rl
	ext	0x1		; 	xadd	%r10,%r0,1
	add	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	timer_stop
timer_stop:
;	.frame	%sp,20,$31		# vars= 4, regs= 2/0, args= 8, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ext	0x1		; 	xsub	%r11,%r12,1
	sub	%r11,%r12
	cmp	%r11,0xf	; 	xcmp	%r11,15
	jrule	__LX502		; 	xjrule	__L502
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x45		; 	xld.w	%r10,0x00001172		; 4466
	ld.w	%r10,0x32
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX502:				; __L502:
	sll	%r11,0x4	; 	xsll	%r11,4
	ext	timers+0x0@h	; 	xld.w	%r10,timers
	ext	timers+0x0@m
	ld.w	%r10,timers+0x0@l
	ld.w	%r0,%r11
	add	%r0,%r10
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,8
	add	%r12,0x8
	ext	pceSyncEnterCriticalSection@rm	; 	xcall	pceSyncEnterCriticalSection
	call	pceSyncEnterCriticalSection@rl
	ld.w	%r10,[%r0]	; 	xld.w	%r10,[%r0]
	cmp	%r10,0x0
	jrne	__LX506		; 	xjrne	__L506
	ext	__LC5+0x0@h	; 	xld.w	%r10,__LC5
	ext	__LC5+0x0@m
	ld.w	%r10,__LC5+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x45		; 	xld.w	%r10,0x00001179		; 4473
	ld.w	%r10,0x39
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX506:				; __L506:
	ld.w	%r13,0x0
	ld.w	[%r0],%r13	; 	xld.w	[%r0],%r13
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,8
	add	%r12,0x8
	ext	pceSyncLeaveCriticalSection@rm	; 	xcall	pceSyncLeaveCriticalSection
	call	pceSyncLeaveCriticalSection@rl
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r0
	ret
	.data
	.align	2
bug_pceHeapRealloc:
	.word	fix_pceHeapRealloc
	.code
	.align	1
fix_pceHeapRealloc:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	0x8		; 	xsub	%r10,%r12,8
	sub	%r10,%r12
	ext	0x4		; 	xld.w	%r10,[%r10+4]
	ld.w	%r10,[%r10]
	sub	%r10,%r12
	cmp	%r13,%r10
	jrule	__LX509		; 	xjrule	__L509
	add	%r10,0x8	; 	xadd	%r10,%r10,8
	cmp	%r13,%r10
	jruge	__LX509		; 	xjruge	__L509
	ld.w	%r13,%r10
__LX509:				; __L509:
	ext	bug_pceHeapRealloc+0x0@ah	; 	xld.w	%r10,[bug_pceHeapRealloc]
	ext	bug_pceHeapRealloc+0x0@al
	ld.w	%r10,[%r8]
	call	%r10
	ret
	.align	1
bugfix_pceHeapRealloc:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	0x1		; 	xld.w	%r12,0x00000072		; 114
	ld.w	%r12,0x32
	ext	bug_pceHeapRealloc+0x0@ah	; 	xld.w	%r13,[bug_pceHeapRealloc]
	ext	bug_pceHeapRealloc+0x0@al
	ld.w	%r13,[%r8]
	ext	pceVectorSetKs@rm	; 	xcall	pceVectorSetKs
	call	pceVectorSetKs@rl
	ext	bug_pceHeapRealloc+0x0@ah	; 	xld.w	[bug_pceHeapRealloc],%r10
	ext	bug_pceHeapRealloc+0x0@al
	ld.w	[%r8],%r10
	ret

	.comm	errno 4

	.comm	apptm_wk 4

	.lcomm	exit_func 16

	.lcomm	notify_func 4

	.lcomm	precision_pad 8

	.lcomm	padinf 24

	.lcomm	sound_info 112

	.lcomm	stream_info 72

	.lcomm	timers 256

