001a2938: 00802821 addu r5,r4,r0 temp eff. data
001a293c: 84a40006 lh r4,0x0006(r5)
001a2940: 8ca20008 lw r2,0x0008(r5) pointer & counter
001a2944: 00000000 nop
001a2948: 00823021 addu r6,r4,r2
001a294c: 90c20001 lbu r2,0x0001(r6) load arg 1
001a2950: 84c30002 lh r3,0x0002(r6) load arg 2
001a2954: 00021182 srl r2,r2,0x06 obtain arg 1
001a2958: 00021040 sll r2,r2,0x01 arg1 * 2
001a295c: 00451021 addu r2,r2,r5 temp effect data + arg1 * 2
001a2960: 84420014 lh r2,0x0014(r2) load 0x14
001a2964: 00000000 nop
001a2968: 0043102a slt r2,r2,r3
001a296c: 10400004 beq r2,r0,0x001a2980 branch when arg1's 0x14 temp effect data exceeds arg3
001a2970: 27bdfff8 addiu r29,r29,0xfff8
001a2974: 94c20004 lhu r2,0x0004(r6) load arg3
001a2978: 08068a62 j 0x001a2988
001a297c: a4a20006 sh r2,0x0006(r5) set arg3 as script counter
001a2980: 24820006 addiu r2,r4,0x0006 if not yet exceeds, increment counter by 6
001a2984: a4a20006 sh r2,0x0006(r5)
001a2988: 34020001 ori r2,r0,0x0001 return execute next instruction immediately
001a298c: 27bd0008 addiu r29,r29,0x0008
001a2990: 03e00008 jr r31
001a2994: 00000000 nop