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

;  Cc1 defaults:
;  -mmemcpy

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

gcc2_compiled.:
__gnu_compiled_c:
	.code
	.align	1
	.global	ptr_copy
ptr_copy:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r10,%r12
	ret
	.align	1
	.global	ptr_delete
ptr_delete:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ret
	.align	1
	.global	ptr_equals
ptr_equals:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r10,0x0
	cmp	%r12,%r13
	jrne	__LX73		; 	xjrne	__L73
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
__LX73:				; __L73:
	ret
	.code
	.align	2
__LC0:
	.ascii	"clipcoll.$(%d)\000"
	.code
	.align	1
	.global	str_copy
str_copy:
;	.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	strdup@rm	; 	xcall	strdup
	call	strdup@rl
	cmp	%r10,0x0
	jrne	__LX75		; 	xjrne	__L75
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x0		; 	xld.w	%r10,0x0000002d		; 45
	ld.w	%r10,0x2d
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX75:				; __L75:
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
	.global	str_delete
str_delete:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	free@rm		; 	xcall	free
	call	free@rl
	ret
	.align	1
	.global	str_equals
str_equals:
;	.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
	ext	strcmp@rm	; 	xcall	strcmp
	call	strcmp@rl
	cmp	%r10,0x0
	jrne	__LX78		; 	xjrne	__L78
	ld.w	%r0,0x1		; 	xld.w	%r0,0x00000001		; 1
__LX78:				; __L78:
	ld.w	%r10,%r0
	popn	%r0
	ret
	.align	1
	.global	unk_copy
unk_copy:
;	.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
	cmp	%r12,0x0
	jreq	__LX80		; 	xjreq	__L80
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	ext	0x4		; 	xld.w	%r10,[%r10+4]
	ld.w	%r10,[%r10]
	call	%r10
__LX80:				; __L80:
	ld.w	%r10,%r0
	popn	%r0
	ret
	.align	1
	.global	unk_delete
unk_delete:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	cmp	%r12,0x0
	jreq	__LX83		; 	xjreq	__L83
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	ext	0x8		; 	xld.w	%r10,[%r10+8]
	ld.w	%r10,[%r10]
	call	%r10
__LX83:				; __L83:
	ret
	.align	1
	.global	unk_equals
unk_equals:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	cmp	%r12,0x0
	jreq	__LX88		; 	xjreq	__L88
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	ld.w	%r10,[%r10]	; 	xld.w	%r10,[%r10]
	ld.w	%r13,0x0
	call	%r10
	jp	__LX89		; 	xjp	__L89
__LX88:				; __L88:
	ld.w	%r10,%r12
__LX89:				; __L89:
	ld.w	%r1,%r10
	cmp	%r0,0x0
	jreq	__LX90		; 	xjreq	__L90
	ld.w	%r10,[%r0]	; 	xld.w	%r10,[%r0]
	ld.w	%r10,[%r10]	; 	xld.w	%r10,[%r10]
	ld.w	%r12,%r0
	ld.w	%r13,0x0
	call	%r10
	ld.w	%r0,%r10
__LX90:				; __L90:
	cmp	%r1,0x0
	jreq	__LX92		; 	xjreq	__L92
	ld.w	%r10,[%r1]	; 	xld.w	%r10,[%r1]
	ext	0x8		; 	xld.w	%r10,[%r10+8]
	ld.w	%r10,[%r10]
	ld.w	%r12,%r1
	call	%r10
__LX92:				; __L92:
	cmp	%r0,0x0
	jreq	__LX93		; 	xjreq	__L93
	ld.w	%r10,[%r0]	; 	xld.w	%r10,[%r0]
	ext	0x8		; 	xld.w	%r10,[%r10+8]
	ld.w	%r10,[%r10]
	ld.w	%r12,%r0
	call	%r10
__LX93:				; __L93:
	ld.w	%r10,0x0
	cmp	%r1,%r0
	jrne	__LX94		; 	xjrne	__L94
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
__LX94:				; __L94:
	popn	%r1
	ret
	.align	1
map_find:
;	.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	%r3,%r13
	ld.w	%r1,%r2
	ld.w	%r0,[%r1]	; 	xld.w	%r0,[%r1]
	cmp	%r0,%r1
	jreq	__LX97		; 	xjreq	__L97
__LX98:				; __L98:
	ext	0x10		; 	xld.w	%r10,[%r2+16]
	ld.w	%r10,[%r2]
	ext	0x8		; 	xld.w	%r12,[%r0+8]
	ld.w	%r12,[%r0]
	ld.w	%r13,%r3
	call	%r10
	cmp	%r10,0x0
	jreq	__LX99		; 	xjreq	__L99
	ld.w	%r12,%r0
	ext	RemoveEntryList@rm	; 	xcall	RemoveEntryList
	call	RemoveEntryList@rl
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ext	InsertHeadList@rm	; 	xcall	InsertHeadList
	call	InsertHeadList@rl
	ld.w	%r10,%r0
	jp	__LX101		; 	xjp	__L101
__LX99:				; __L99:
	ld.w	%r0,[%r0]	; 	xld.w	%r0,[%r0]
	cmp	%r0,%r1
	jrne	__LX98		; 	xjrne	__L98
__LX97:				; __L97:
	ld.w	%r10,0x0
__LX101:				; __L101:
	popn	%r3
	ret
	.align	1
	.global	map_create
map_create:
;	.frame	%sp,20,$31		# vars= 0, regs= 3/0, args= 8, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r1,%r12
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,0x1c	; 	xld.w	%r13,0x0000001c		; 28
	ext	calloc@rm	; 	xcall	calloc
	call	calloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX103		; 	xjrne	__L103
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x2		; 	xld.w	%r10,0x000000a4		; 164
	ld.w	%r10,0x24
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX103:				; __L103:
	ld.w	%r12,%r0
	ext	InitializeListHead@rm	; 	xcall	InitializeListHead
	call	InitializeListHead@rl
	ext	0x8		; 	xadd	%r12,%r0,8
	add	%r12,%r0
	ld.w	%r13,%r1
	ld.w	%r14,0x14	; 	xld.w	%r14,0x00000014		; 20
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r1
	ret
	.align	1
	.global	map_delete
map_delete:
;	.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
	call	map_clear	; 	xcall	map_clear
	ld.w	%r12,%r0
	ext	free@rm		; 	xcall	free
	call	free@rl
	popn	%r0
	ret
	.align	1
	.global	map_clear
map_clear:
;	.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
__LX106:				; __L106:
	ld.w	%r12,%r1
	ext	IsListEmpty@rm	; 	xcall	IsListEmpty
	call	IsListEmpty@rl
	cmp	%r10,0x0
	jrne	__LX107		; 	xjrne	__L107
	ld.w	%r12,%r1
	ext	RemoveHeadList@rm	; 	xcall	RemoveHeadList
	call	RemoveHeadList@rl
	ld.w	%r0,%r10
	ext	0xc		; 	xld.w	%r10,[%r1+12]
	ld.w	%r10,[%r1]
	ext	0x8		; 	xld.w	%r12,[%r0+8]
	ld.w	%r12,[%r0]
	call	%r10
	ext	0x18		; 	xld.w	%r10,[%r1+24]
	ld.w	%r10,[%r1]
	ext	0xc		; 	xld.w	%r12,[%r0+12]
	ld.w	%r12,[%r0]
	call	%r10
	ld.w	%r12,%r0
	ext	free@rm		; 	xcall	free
	call	free@rl
	jp	__LX106		; 	xjp	__L106
__LX107:				; __L107:
	popn	%r1
	ret
	.align	1
	.global	map_contains
map_contains:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	call	map_find	; 	xcall	map_find
	not	%r11,%r10
	add	%r11,1
	or	%r11,%r10
	ld.w	%r10,%r11
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	ret
	.align	1
	.global	map_put
map_put:
;	.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	%r1,%r12
	ld.w	%r2,%r13
	ld.w	%r3,%r14
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,0x10	; 	xld.w	%r13,0x00000010		; 16
	ext	calloc@rm	; 	xcall	calloc
	call	calloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX112		; 	xjrne	__L112
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x3		; 	xld.w	%r10,0x000000dd		; 221
	ld.w	%r10,0x1d
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX112:				; __L112:
	ext	0x8		; 	xld.w	%r10,[%r1+8]
	ld.w	%r10,[%r1]
	ld.w	%r12,%r2
	call	%r10
	ext	0x8		; 	xld.w	[%r0+8],%r10
	ld.w	[%r0],%r10
	ext	0x14		; 	xld.w	%r10,[%r1+20]
	ld.w	%r10,[%r1]
	ld.w	%r12,%r3
	call	%r10
	ext	0xc		; 	xld.w	[%r0+12],%r10
	ld.w	[%r0],%r10
	ld.w	%r12,%r1
	ld.w	%r13,%r2
	call	map_contains	; 	xcall	map_contains
	cmp	%r10,0x0
	jreq	__LX113		; 	xjreq	__L113
	ld.w	%r12,%r1
	ld.w	%r13,%r2
	call	map_remove	; 	xcall	map_remove
__LX113:				; __L113:
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	ext	InsertHeadList@rm	; 	xcall	InsertHeadList
	call	InsertHeadList@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r3
	ret
	.align	1
	.global	map_get
map_get:
;	.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	%r0,%r12
	ext	map_find@rm	; 	xcall	map_find
	call	map_find@rl
	ld.w	%r11,%r10
	cmp	%r11,0x0
	jrne	__LX115		; 	xjrne	__L115
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x3		; 	xld.w	%r10,0x000000f3		; 243
	ld.w	%r10,0x33
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX115:				; __L115:
	ext	0x14		; 	xld.w	%r10,[%r0+20]
	ld.w	%r10,[%r0]
	ext	0xc		; 	xld.w	%r12,[%r11+12]
	ld.w	%r12,[%r11]
	call	%r10
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r0
	ret
	.align	1
	.global	map_remove
map_remove:
;	.frame	%sp,20,$31		# vars= 0, regs= 3/0, args= 8, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r1,%r12
	ext	map_find@rm	; 	xcall	map_find
	call	map_find@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX117		; 	xjrne	__L117
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x4		; 	xld.w	%r10,0x00000105		; 261
	ld.w	%r10,0x5
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX117:				; __L117:
	ld.w	%r12,%r0
	ext	RemoveEntryList@rm	; 	xcall	RemoveEntryList
	call	RemoveEntryList@rl
	ext	0xc		; 	xld.w	%r10,[%r1+12]
	ld.w	%r10,[%r1]
	ext	0x8		; 	xld.w	%r12,[%r0+8]
	ld.w	%r12,[%r0]
	call	%r10
	ext	0x18		; 	xld.w	%r10,[%r1+24]
	ld.w	%r10,[%r1]
	ext	0xc		; 	xld.w	%r12,[%r0+12]
	ld.w	%r12,[%r0]
	call	%r10
	ld.w	%r12,%r0
	ext	free@rm		; 	xcall	free
	call	free@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r1
	ret
	.align	1
	.global	map_duplicate
map_duplicate:
;	.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	%r2,%r12
	ld.w	%r3,%r2
	ld.w	%r1,[%r3]	; 	xld.w	%r1,[%r3]
	ext	0x8		; 	xadd	%r12,%r3,8
	add	%r12,%r3
	ext	map_create@rm	; 	xcall	map_create
	call	map_create@rl
	ld.w	%r2,%r10
	cmp	%r1,%r3
	jreq	__LX120		; 	xjreq	__L120
__LX121:				; __L121:
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,0x10	; 	xld.w	%r13,0x00000010		; 16
	ext	calloc@rm	; 	xcall	calloc
	call	calloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX122		; 	xjrne	__L122
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x4		; 	xld.w	%r10,0x00000125		; 293
	ld.w	%r10,0x25
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX122:				; __L122:
	ext	0x8		; 	xld.w	%r10,[%r2+8]
	ld.w	%r10,[%r2]
	ext	0x8		; 	xld.w	%r12,[%r1+8]
	ld.w	%r12,[%r1]
	call	%r10
	ext	0x8		; 	xld.w	[%r0+8],%r10
	ld.w	[%r0],%r10
	ext	0x14		; 	xld.w	%r10,[%r2+20]
	ld.w	%r10,[%r2]
	ext	0xc		; 	xld.w	%r12,[%r1+12]
	ld.w	%r12,[%r1]
	call	%r10
	ext	0xc		; 	xld.w	[%r0+12],%r10
	ld.w	[%r0],%r10
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ext	InsertTailList@rm	; 	xcall	InsertTailList
	call	InsertTailList@rl
	ld.w	%r1,[%r1]	; 	xld.w	%r1,[%r1]
	cmp	%r1,%r3
	jrne	__LX121		; 	xjrne	__L121
__LX120:				; __L120:
	ld.w	%r10,%r2
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r3
	ret
	.align	1
	.global	map_keys
map_keys:
;	.frame	%sp,24,$31		# vars= 8, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r1,%r12
	ld.w	%r0,[%r1]	; 	xld.w	%r0,[%r1]
	ext	0x8		; 	xld.w	%r10,[%r1+8]
	ld.w	%r10,[%r1]
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xc		; 	xld.w	%r10,[%r1+12]
	ld.w	%r10,[%r1]
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,%sp
	call	list_create	; 	xcall	list_create
	ld.w	%r2,%r10
	cmp	%r0,%r1
	jreq	__LX126		; 	xjreq	__L126
__LX127:				; __L127:
	ld.w	%r12,%r2
	ext	0x8		; 	xld.w	%r13,[%r0+8]
	ld.w	%r13,[%r0]
	ext	list_add@rm	; 	xcall	list_add
	call	list_add@rl
	ld.w	%r0,[%r0]	; 	xld.w	%r0,[%r0]
	cmp	%r0,%r1
	jrne	__LX127		; 	xjrne	__L127
__LX126:				; __L126:
	ld.w	%r10,%r2
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r2
	ret
	.align	1
	.global	map_empty
map_empty:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	IsListEmpty@rm	; 	xcall	IsListEmpty
	call	IsListEmpty@rl
	ret
	.align	1
list_get_node:
;	.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
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	cmp	%r10,%r12
	jreq	__LX132		; 	xjreq	__L132
__LX133:				; __L133:
	cmp	%r13,0x0
	jreq	__LX137		; 	xjreq	__L137
	sub	%r13,0x1	; 	xsub	%r13,%r13,1
	ld.w	%r10,[%r10]	; 	xld.w	%r10,[%r10]
	cmp	%r10,%r12
	jrne	__LX133		; 	xjrne	__L133
__LX132:				; __L132:
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x5		; 	xld.w	%r10,0x00000173		; 371
	ld.w	%r10,0x33
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX137:				; __L137:
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.align	1
	.global	list_create
list_create:
;	.frame	%sp,20,$31		# vars= 0, regs= 3/0, args= 8, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r1,%r12
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,0x10	; 	xld.w	%r13,0x00000010		; 16
	ext	calloc@rm	; 	xcall	calloc
	call	calloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX139		; 	xjrne	__L139
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x5		; 	xld.w	%r10,0x0000017e		; 382
	ld.w	%r10,0x3e
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX139:				; __L139:
	ld.w	%r12,%r0
	ext	InitializeListHead@rm	; 	xcall	InitializeListHead
	call	InitializeListHead@rl
	ld.w	%r10,[%r1]	; 	xld.w	%r10,[%r1]
	ext	0x4		; 	xld.w	%r11,[%r1+4]
	ld.w	%r11,[%r1]
	ext	0x8		; 	xld.w	[%r0+8],%r10
	ld.w	[%r0],%r10
	ext	0xc		; 	xld.w	[%r0+12],%r11
	ld.w	[%r0],%r11
	ld.w	%r10,%r0
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r1
	ret
	.align	1
	.global	list_delete
list_delete:
;	.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
	call	list_clear	; 	xcall	list_clear
	ld.w	%r12,%r0
	ext	free@rm		; 	xcall	free
	call	free@rl
	popn	%r0
	ret
	.align	1
	.global	list_clear
list_clear:
;	.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
__LX142:				; __L142:
	ld.w	%r12,%r1
	ext	IsListEmpty@rm	; 	xcall	IsListEmpty
	call	IsListEmpty@rl
	cmp	%r10,0x0
	jrne	__LX143		; 	xjrne	__L143
	ld.w	%r12,%r1
	ext	RemoveHeadList@rm	; 	xcall	RemoveHeadList
	call	RemoveHeadList@rl
	ld.w	%r0,%r10
	ext	0xc		; 	xld.w	%r10,[%r1+12]
	ld.w	%r10,[%r1]
	ext	0x8		; 	xld.w	%r12,[%r0+8]
	ld.w	%r12,[%r0]
	call	%r10
	ld.w	%r12,%r0
	ext	free@rm		; 	xcall	free
	call	free@rl
	jp	__LX142		; 	xjp	__L142
__LX143:				; __L143:
	popn	%r1
	ret
	.align	1
	.global	list_size
list_size:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ld.w	%r11,[%r12]	; 	xld.w	%r11,[%r12]
	ld.w	%r10,0x0
	cmp	%r11,%r12
	jreq	__LX147		; 	xjreq	__L147
__LX148:				; __L148:
	add	%r10,0x1	; 	xadd	%r10,%r10,1
	ld.w	%r11,[%r11]	; 	xld.w	%r11,[%r11]
	cmp	%r11,%r12
	jrne	__LX148		; 	xjrne	__L148
__LX147:				; __L147:
	ret
	.align	1
	.global	list_set
list_set:
;	.frame	%sp,16,$31		# vars= 0, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	ld.w	%r0,%r12
	ld.w	%r1,%r13
	ld.w	%r2,%r14
	call	list_remove	; 	xcall	list_remove
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ld.w	%r14,%r2
	call	list_insert	; 	xcall	list_insert
	popn	%r2
	ret
	.align	1
	.global	list_get
list_get:
;	.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
	call	list_get_node	; 	xcall	list_get_node
	ext	0x8		; 	xld.w	%r11,[%r0+8]
	ld.w	%r11,[%r0]
	ext	0x8		; 	xld.w	%r12,[%r10+8]
	ld.w	%r12,[%r10]
	call	%r11
	popn	%r0
	ret
	.align	1
	.global	list_add
list_add:
;	.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,%r13
	call	list_size	; 	xcall	list_size
	ld.w	%r12,%r0
	ld.w	%r13,%r10
	ld.w	%r14,%r1
	call	list_insert	; 	xcall	list_insert
	popn	%r1
	ret
	.align	1
	.global	list_insert
list_insert:
;	.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	%r0,%r13
	ld.w	[%sp+0x2],%r14	; 	xld.w	[%sp+8],%r14
	call	list_size	; 	xcall	list_size
	cmp	%r0,%r10
	jrne	__LX154		; 	xjrne	__L154
	ld.w	%r1,%r2
	jp	__LX155		; 	xjp	__L155
__LX154:				; __L154:
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ext	list_get_node@rm	; 	xcall	list_get_node
	call	list_get_node@rl
	ld.w	%r1,%r10
__LX155:				; __L155:
	ext	0x4		; 	xld.w	%r3,[%r1+4]
	ld.w	%r3,[%r1]
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,0xc	; 	xld.w	%r13,0x0000000c		; 12
	ext	calloc@rm	; 	xcall	calloc
	call	calloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX156		; 	xjrne	__L156
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x7		; 	xld.w	%r10,0x000001ea		; 490
	ld.w	%r10,0x2a
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX156:				; __L156:
	ext	0x8		; 	xld.w	%r10,[%r2+8]
	ld.w	%r10,[%r2]
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	call	%r10
	ext	0x8		; 	xld.w	[%r0+8],%r10
	ld.w	[%r0],%r10
	ld.w	[%r0],%r1	; 	xld.w	[%r0],%r1
	ext	0x4		; 	xld.w	[%r0+4],%r3
	ld.w	[%r0],%r3
	ext	0x4		; 	xld.w	[%r1+4],%r0
	ld.w	[%r1],%r0
	ld.w	[%r3],%r0	; 	xld.w	[%r3],%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r3
	ret
	.align	1
	.global	list_remove
list_remove:
;	.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
	ext	list_get_node@rm	; 	xcall	list_get_node
	call	list_get_node@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r1
	ext	RemoveEntryList@rm	; 	xcall	RemoveEntryList
	call	RemoveEntryList@rl
	ext	0xc		; 	xld.w	%r10,[%r0+12]
	ld.w	%r10,[%r0]
	ext	0x8		; 	xld.w	%r12,[%r1+8]
	ld.w	%r12,[%r1]
	call	%r10
	ld.w	%r12,%r1
	ext	free@rm		; 	xcall	free
	call	free@rl
	popn	%r1
	ret
	.align	1
	.global	list_duplicate
list_duplicate:
;	.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	%r2,%r12
	ld.w	%r3,%r2
	ld.w	%r1,[%r3]	; 	xld.w	%r1,[%r3]
	ext	0x8		; 	xadd	%r12,%r3,8
	add	%r12,%r3
	ext	list_create@rm	; 	xcall	list_create
	call	list_create@rl
	ld.w	%r2,%r10
	cmp	%r1,%r3
	jreq	__LX160		; 	xjreq	__L160
__LX161:				; __L161:
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,0xc	; 	xld.w	%r13,0x0000000c		; 12
	ext	calloc@rm	; 	xcall	calloc
	call	calloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX162		; 	xjrne	__L162
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x8		; 	xld.w	%r10,0x00000219		; 537
	ld.w	%r10,0x19
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX162:				; __L162:
	ext	0x8		; 	xld.w	%r10,[%r2+8]
	ld.w	%r10,[%r2]
	ext	0x8		; 	xld.w	%r12,[%r1+8]
	ld.w	%r12,[%r1]
	call	%r10
	ext	0x8		; 	xld.w	[%r0+8],%r10
	ld.w	[%r0],%r10
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ext	InsertTailList@rm	; 	xcall	InsertTailList
	call	InsertTailList@rl
	ld.w	%r1,[%r1]	; 	xld.w	%r1,[%r1]
	cmp	%r1,%r3
	jrne	__LX161		; 	xjrne	__L161
__LX160:				; __L160:
	ld.w	%r10,%r2
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r3
	ret
	.align	1
	.global	list_empty
list_empty:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	IsListEmpty@rm	; 	xcall	IsListEmpty
	call	IsListEmpty@rl
	ret
	.align	1
	.global	pool_alloc
pool_alloc:
;	.frame	%sp,20,$31		# vars= 0, regs= 3/0, args= 8, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r1,%r12
	ext	0xc		; 	xld.w	%r10,[%r1+12]
	ld.w	%r10,[%r1]
	ext	0x989		; 	xld.w	%r11,0x4c4f4f50		; 1280266064
	ext	0x1d3d
	ld.w	%r11,0x10
	cmp	%r10,%r11
	jreq	__LX166		; 	xjreq	__L166
	ld.w	%r10,[%r1]	; 	xld.w	%r10,[%r1]
	cmp	%r10,0x0
	jrgt	__LX167		; 	xjrgt	__L167
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xa		; 	xld.w	%r10,0x00000282		; 642
	ld.w	%r10,0x2
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX167:				; __L167:
	ext	0xc		; 	xld.w	[%r1+12],%r11
	ld.w	[%r1],%r11
	ext	0x10		; 	xadd	%r12,%r1,16
	add	%r12,%r1
	ext	InitializeListHead@rm	; 	xcall	InitializeListHead
	call	InitializeListHead@rl
	ext	0x18		; 	xadd	%r12,%r1,24
	add	%r12,%r1
	ext	InitializeListHead@rm	; 	xcall	InitializeListHead
	call	InitializeListHead@rl
__LX166:				; __L166:
	ext	0x18		; 	xadd	%r0,%r1,24
	add	%r0,%r1
	ld.w	%r12,%r0
	ext	IsListEmpty@rm	; 	xcall	IsListEmpty
	call	IsListEmpty@rl
	cmp	%r10,0x0
	jreq	__LX168		; 	xjreq	__L168
	ld.w	%r12,[%r1]	; 	xld.w	%r12,[%r1]
	add	%r12,0x10	; 	xadd	%r12,%r12,16
	ext	malloc@rm	; 	xcall	malloc
	call	malloc@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX169		; 	xjrne	__L169
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xa		; 	xld.w	%r10,0x00000292		; 658
	ld.w	%r10,0x12
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX169:				; __L169:
	ext	0x8		; 	xld.w	[%r0+8],%r1
	ld.w	[%r0],%r1
	jp	__LX170		; 	xjp	__L170
__LX168:				; __L168:
	ld.w	%r12,%r0
	ext	RemoveHeadList@rm	; 	xcall	RemoveHeadList
	call	RemoveHeadList@rl
	ld.w	%r0,%r10
	ext	0x8		; 	xld.w	%r10,[%r0+8]
	ld.w	%r10,[%r0]
	cmp	%r10,%r1
	jreq	__LX170		; 	xjreq	__L170
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xa		; 	xld.w	%r10,0x0000029c		; 668
	ld.w	%r10,0x1c
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX170:				; __L170:
	ext	0x10		; 	xadd	%r12,%r1,16
	add	%r12,%r1
	ld.w	%r13,%r0
	ext	InsertHeadList@rm	; 	xcall	InsertHeadList
	call	InsertHeadList@rl
	ld.w	%r10,0x1	; 	xld.w	%r10,0x00000001		; 1
	ext	0xc		; 	xld.w	[%r0+12],%r10
	ld.w	[%r0],%r10
	ext	0x10		; 	xadd	%r12,%r0,16
	add	%r12,%r0
	ld.w	%r13,0x0
	ld.w	%r14,[%r1]	; 	xld.w	%r14,[%r1]
	ext	memset@rm	; 	xcall	memset
	call	memset@rl
	ld.w	%r0,%r10
	ext	0x4		; 	xld.w	%r10,[%r1+4]
	ld.w	%r10,[%r1]
	cmp	%r10,0x0
	jreq	__LX172		; 	xjreq	__L172
	ld.w	%r12,%r0
	call	%r10
__LX172:				; __L172:
	ld.w	%r10,%r0
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r1
	ret
	.align	1
	.global	pool_free
pool_free:
;	.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
	cmp	%r12,0x0
	jreq	__LX173		; 	xjreq	__L173
	ext	0x10		; 	xsub	%r0,%r12,16
	sub	%r0,%r12
	ext	0x8		; 	xld.w	%r2,[%r0+8]
	ld.w	%r2,[%r0]
	ext	0xc		; 	xld.w	%r10,[%r2+12]
	ld.w	%r10,[%r2]
	ext	0x989		; 	xcmp	%r10,1280266064
	ext	0x1d3d
	cmp	%r10,0x10
	jreq	__LX175		; 	xjreq	__L175
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xb		; 	xld.w	%r10,0x000002d4		; 724
	ld.w	%r10,0x14
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX175:				; __L175:
	ext	0xc		; 	xld.w	%r10,[%r0+12]
	ld.w	%r10,[%r0]
	sub	%r10,0x1	; 	xsub	%r10,%r10,1
	ext	0xc		; 	xld.w	[%r0+12],%r10
	ld.w	[%r0],%r10
	jrge	__LX176		; 	xjrge	__L176
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xb		; 	xld.w	%r10,0x000002db		; 731
	ld.w	%r10,0x1b
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX176:				; __L176:
	cmp	%r10,0x0
	jrne	__LX173		; 	xjrne	__L173
	ext	0x8		; 	xld.w	%r10,[%r2+8]
	ld.w	%r10,[%r2]
	cmp	%r10,0x0
	jreq	__LX178		; 	xjreq	__L178
	call	%r10
__LX178:				; __L178:
	ld.w	%r12,%r0
	ext	RemoveEntryList@rm	; 	xcall	RemoveEntryList
	call	RemoveEntryList@rl
	ext	0x18		; 	xadd	%r1,%r2,24
	add	%r1,%r2
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	ext	InsertTailList@rm	; 	xcall	InsertTailList
	call	InsertTailList@rl
	ext	0x10		; 	xadd	%r12,%r2,16
	add	%r12,%r2
	ext	IsListEmpty@rm	; 	xcall	IsListEmpty
	call	IsListEmpty@rl
	cmp	%r10,0x0
	jreq	__LX173		; 	xjreq	__L173
__LX180:				; __L180:
	ld.w	%r12,%r1
	ext	IsListEmpty@rm	; 	xcall	IsListEmpty
	call	IsListEmpty@rl
	cmp	%r10,0x0
	jrne	__LX173		; 	xjrne	__L173
	ld.w	%r12,%r1
	ext	RemoveHeadList@rm	; 	xcall	RemoveHeadList
	call	RemoveHeadList@rl
	ld.w	%r0,%r10
	ext	0x8		; 	xld.w	%r10,[%r0+8]
	ld.w	%r10,[%r0]
	cmp	%r10,%r2
	jreq	__LX183		; 	xjreq	__L183
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xb		; 	xld.w	%r10,0x000002f6		; 758
	ld.w	%r10,0x36
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX183:				; __L183:
	ld.w	%r12,%r0
	ext	free@rm		; 	xcall	free
	call	free@rl
	jp	__LX180		; 	xjp	__L180
__LX173:				; __L173:
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	popn	%r2
	ret
	.align	1
	.global	pool_lock
pool_lock:
;	.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	__LX184		; 	xjreq	__L184
	sub	%r12,0x10	; 	xsub	%r12,%r12,16
	ext	0x8		; 	xld.w	%r10,[%r12+8]
	ld.w	%r10,[%r12]
	ext	0xc		; 	xld.w	%r10,[%r10+12]
	ld.w	%r10,[%r10]
	ext	0x989		; 	xcmp	%r10,1280266064
	ext	0x1d3d
	cmp	%r10,0x10
	jreq	__LX186		; 	xjreq	__L186
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xc		; 	xld.w	%r10,0x00000311		; 785
	ld.w	%r10,0x11
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX186:				; __L186:
	ext	0xc		; 	xld.w	%r10,[%r12+12]
	ld.w	%r10,[%r12]
	add	%r10,0x1	; 	xadd	%r10,%r10,1
	ext	0xc		; 	xld.w	[%r12+12],%r10
	ld.w	[%r12],%r10
	cmp	%r10,0x1	; 	xcmp	%r10,1
	jrgt	__LX184		; 	xjrgt	__L184
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0xc		; 	xld.w	%r10,0x0000031f		; 799
	ld.w	%r10,0x1f
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX184:				; __L184:
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
