	.text
	.sdreg	r2
	.align	2
_WaitIMessage:
###############################################################################
# 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)
	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	r3,20+28(r13)
	bl	_GetMsg	# GetMsg
	stw	r3,16+28(r13)
	lwz	r0,16+28(r13)
	mr.	r0,r0
	bne	end0
repeat2:
	lwz	r3,20+28(r13)
	bl	_WaitPort	# WaitPort
	lwz	r3,20+28(r13)
	bl	_GetMsg	# 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	r3,16+28(r13)
	bl	_ReplyMsg	# 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
WaitIMessage_local:
	.global	@_WaitIMessage_local
	.extern	_GetMsg
	.extern	_ReplyMsg
	.extern	_WaitPort
	.tocd
	.extern	_PowerPCBase
	.extern	_stdin
	.extern	_stdout
	.extern	_arg
	.extern	_GfxBase
	.extern	_IntuitionBase
	.extern	_DOSBase
	.extern	_ExecBase
	.data
