	.text
	.sdreg	r2
###############################################################################
# name      	 offset
# iaddr     	 0+0(r13)
# qual      	 4+0(r13)
# code      	 8+0(r13)
# class     	 12+0(r13)
# msg       	 16+0(r13)
# port      	 20+0(r13)
# args ###########################
# win       	 24+0(r13)
	.align	2
_WaitIMessage:

	mflr	r0
	stw	r0,8(r1)
	stwu	r1,-56(r1)
	stw	r13,24(r1)
	mr	r13,r1
	stw	r3,24+28(r13)
	lwz	r4,24+28(r13)
	lwz	r3,86(r4)
	stw	r3,20+28(r13)
if0:	
	lwz	r5,20+28(r13)
	bl	@_GetMsg
	stw	r3,16+28(r13)
	lwz	r0,16+28(r13)
	mr.	r0,r0
	bne	end0
repeat2:	
	lwz	r5,20+28(r13)
	bl	@_WaitPort
	lwz	r5,20+28(r13)
	bl	@_GetMsg
	stw	r3,16+28(r13)
	lwz	r0,16+28(r13)
	mr.	r0,r0
	beq	repeat2
end2:	
end0:	
	lwz	r4,16+28(r13)
	lwz	r3,20(r4)
	stw	r3,12+28(r13)
	lwz	r4,16+28(r13)
	lhz	r3,24(r4)
	stw	r3,8+28(r13)
	lwz	r4,16+28(r13)
	lhz	r3,26(r4)
	stw	r3,4+28(r13)
	lwz	r4,16+28(r13)
	lwz	r3,28(r4)
	stw	r3,0+28(r13)
	lwz	r6,16+28(r13)
	bl	@_ReplyMsg
WaitIMessageend:

	lwz	r3,12+28(r13)
	lwz	r4,8+28(r13)
	lwz	r5,4+28(r13)
	lwz	r6,0+28(r13)
WaitIMessagefinish:

	lwz	r13,24(r1)
	addi	r1,r1,56
	lwz	r0,8(r1)
	mtlr	r0
	blr

	.global	_WaitIMessage
	.type	_WaitIMessage,2
	.size	_WaitIMessage,$-_WaitIMessage
	.text
	.align	2
	.global	@_GetMsg
@_GetMsg:	mflr	r0
	stw	r0,8(r1)
	stwu	r1,-176(r1)
	li	r11,0
	stw	r11,40(r1)
	stw	r11,44(r1)
	stw	r11,48(r1)
	lwz	r0,_ExecBase(r2)
	stw	r0,32(r1)
	stw	r0,108(r1)
	li	r0,-372
	stw	r0,36(r1)
	stw	r5,84(r1)
	lwz	r3,_PowerPCBase(r2)
	addi	r4,r1,32
	lwz	r0,-298(r3)
	mtlr	r0
	blrl
	lwz	r3,52(r1)
	addi	r1,r1,176
	lwz	r0,8(r1)
	mtlr	r0
	blr
	.type	@_GetMsg,@function
	.size	@_GetMsg,$-@_GetMsg

	.text
	.align	2
	.global	@_ReplyMsg
@_ReplyMsg:
	mflr	r0
	stw	r0,8(r1)
	stwu	r1,-176(r1)
	li	r11,0
	stw	r11,40(r1)
	stw	r11,44(r1)
	stw	r11,48(r1)
	lwz	r0,_ExecBase(r2)
	stw	r0,32(r1)
	stw	r0,108(r1)
	li	r0,-378
	stw	r0,36(r1)
	stw	r6,88(r1)
	lwz	r3,_PowerPCBase(r2)
	addi	r4,r1,32
	lwz	r0,-298(r3)
	mtlr	r0
	blrl
	lwz	r3,52(r1)
	addi	r1,r1,176
	lwz	r0,8(r1)
	mtlr	r0
	blr
	.type	@_ReplyMsg,@function
	.size	@_ReplyMsg,$-@_ReplyMsg

	.text
	.align	2
	.global	@_WaitPort
@_WaitPort:
	mflr	r0
	stw	r0,8(r1)
	stwu	r1,-176(r1)
	li	r11,0
	stw	r11,40(r1)
	stw	r11,44(r1)
	stw	r11,48(r1)
	lwz	r0,_ExecBase(r2)
	stw	r0,32(r1)
	stw	r0,108(r1)
	li	r0,-384
	stw	r0,36(r1)
	stw	r5,84(r1)
	lwz	r3,_PowerPCBase(r2)
	addi	r4,r1,32
	lwz	r0,-298(r3)
	mtlr	r0
	blrl
	lwz	r3,52(r1)
	addi	r1,r1,176
	lwz	r0,8(r1)
	mtlr	r0
	blr
	.type	@_WaitPort,@function
	.size	@_WaitPort,$-@_WaitPort

	.tocd
	.extern	_PowerPCBase
	.extern	_stdin
	.extern	_stdout
	.extern	_arg
	.extern	_GfxBase
	.extern	_IntuitionBase
	.extern	_DOSBase
	.extern	_ExecBase
	.data
