Effect Graphics

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
 DUPLICATED ROUTINE Emitter_Control_Routine // Talcall's Notes are behind the double slash

#   ROUTINE: EFFECT GRAPHICS
#   Parameters:
#       r4 = (p1) Current effect phase
#       r5 = (p2) ?
#       r6 = (p3) Current effect Parameter
#       r7 = (p4) ?

801a60ac: 27bdfe00 addiu r29,r29,-0x0200
801a60b0: afb401e8 sw r20,0x01e8(r29)
801a60b4: 00e0a021 addu r20,r7,r0                   #   p4
801a60b8: afb601f0 sw r22,0x01f0(r29)
801a60bc: 0080b021 addu r22,r4,r0                   #   p1
801a60c0: 3c026666 lui r2,0x6666
801a60c4: 34426667 ori r2,r2,0x6667                 #   0.4
801a60c8: 00a20018 mult r5,r2                       #   p2 * 0.4
801a60cc: 00061040 sll r2,r6,0x01                   #   p3 * 2
801a60d0: 00461021 addu r2,r2,r6                    #   p3 * 3
801a60d4: 00021100 sll r2,r2,0x04                   #   p3 * 48
801a60d8: 00461021 addu r2,r2,r6                    #   p3 * 49
801a60dc: 3c03801c lui r3,0x801c
801a60e0: 8c63bf88 lw r3,-0x4078(r3)                #   *0x801bbf88 		// pointer to motion data
801a60e4: 00021080 sll r2,r2,0x02                   #   p3 * 196		// 
801a60e8: afb101dc sw r17,0x01dc(r29)
801a60ec: afa500d0 sw r5,0x00d0(r29)                #   p2
801a60f0: 8fb100d0 lw r17,0x00d0(r29)               #   p2
801a60f4: 24420014 addiu r2,r2,0x0014               #   (p3 * 196) + 20
801a60f8: afbf01fc sw r31,0x01fc(r29)
801a60fc: afbe01f8 sw r30,0x01f8(r29)
801a6100: afb701f4 sw r23,0x01f4(r29)
801a6104: afb501ec sw r21,0x01ec(r29)
801a6108: afb301e4 sw r19,0x01e4(r29)
801a610c: afb201e0 sw r18,0x01e0(r29)
801a6110: afb001d8 sw r16,0x01d8(r29)
801a6114: 0043b821 addu r23,r2,r3                   #   ptr23 = (p3 * 196) + 20 + *0x801bbf88
801a6118: 92e2000f lbu r2,0x000f(r23)               #   *(ptr23 + 15)
801a611c: 02204021 addu r8,r17,r0                   #   p2
801a6120: 3045000f andi r5,r2,0x000f                #   *(ptr23 + 15) & 0x0f
801a6124: 001117c3 sra r2,r17,0x1f                  #   p2 >> 31		//compiler division must account for negative. for some reason.
801a6128: 00001810 mfhi r3                          #   p2 * 0.4
801a612c: 00031983 sra r3,r3,0x06                   #   p2 / 160  ((p2 * 0.4) / 64)
801a6130: 00621823 subu r3,r3,r2                    #   p2 / 160  (negative rounded up)
801a6134: 00031080 sll r2,r3,0x02                   #   p2 / 40					// my math tells me p2 * 0.4 * / 16
801a6138: 00431021 addu r2,r2,r3                    #   p2 * (5 / 160)  ((p2 / 40) + (p2 / 160))	// p2 * 0.4 / 16 + p2 * 0.4 / 64 =  5 * p2 * 0.4 / 64
801a613c: 00021140 sll r2,r2,0x05                   #   newP2 (should == p2)				// in a perfect world, this would equal p2. however. mips 3000 does not fractional numbers.
801a6140: 01024023 subu r8,r8,r2                    #   p2x = p2 - newP2				// p2x = whatever was rounded off because of this math. made to loop every 0xA0?
801a6144: afa800d0 sw r8,0x00d0(r29)                #   p2x						// loops every 0xA0 bytes.
801a6148: 96e80002 lhu r8,0x0002(r23)               #   *(ptr23 + 2)					// effects certain things regarding effect's interaction with camera zoom?
801a614c: 24a5ffff addiu r5,r5,-0x0001              #   v5 = (*(ptr23 + 15) & 0x0f) - 1
801a6150: a7a800e8 sh r8,0x00e8(r29)                #   *(ptr23 + 2)
801a6154: 96e80006 lhu r8,0x0006(r23)               #   *(ptr23 + 6)
801a6158: 2402ffff addiu r2,r0,-0x0001              #   -1
801a615c: 10a2000c beq r5,r2,0x801a6190	     #   			// Branch if 0xf point is 0
801a6160: a7a800f0 sh r8,0x00f0(r29)                #   *(ptr23 + 6)
                                                    #   if (v5 != -1) {
801a6164: 00051080 sll r2,r5,0x02                   #       v5 * 4
801a6168: 00451021 addu r2,r2,r5                    #       v5 * 5
801a616c: 00021140 sll r2,r2,0x05                   #       v5 * 160
801a6170: 3c03801c lui r3,0x801c
801a6174: 8c63bf7c lw r3,-0x4084(r3)                #       *0x801bbf7c	// pointer to effect table, which does math on p2x from a table of values? like * 4.25, or * 6.
801a6178: 8fa800d0 lw r8,0x00d0(r29)                #       p2x
801a617c: 00431021 addu r2,r2,r3                    #       (v5 * 160) + *0x801bbf7c	// 160 bytes per table entry, might be unique per effect? does math as per r5.
801a6180: 00481021 addu r2,r2,r8                    #       (v5 * 160) + *0x801bbf7c + p2x	//shift address by p2x
801a6184: 90500004 lbu r16,0x0004(r2)               #       v16 = *((v5 * 160) + *0x801bbf7c + p2x + 4)	//arg 3 = some transformation on p2x
801a6188: 08069865 j 0x801a6194
801a618c: 00000000 nop                              #   } else {
801a6190: 00008021 addu r16,r0,r0                   #       v16 = 0	// else arg 3 = 0
                                                    #   }
801a6194: 86e400b4 lh r4,0x00b4(r23)                #   *(ptr23 + 0xb4)	// arg 1, # particles
801a6198: 86e500b6 lh r5,0x00b6(r23)                #   *(ptr23 + 0xb6)	// arg 2
801a619c: 0c06a2f8 jal 0x801a8be0                   #   result_0x1a8be0 = 0x1a8be0 (*(ptr23 + 0xb4), *(ptr23 + 0xb6), v16);       // returns (((r5 - #p) * r6) / 256) + r4. MIPS 3000 rounding applies.
801a61a0: 02003021 addu r6,r16,r0                   #   v16		// heaven forbid you just set arguments ahead of time.
801a61a4: 0222001a div r17,r2                       			// Potential divide by 0 error. always circumvented?
801a61a8: 00001810 mfhi r3                          #   p2 % result_0x1a8be0	//p2 / result (too many variables to draw a conclusive pattern)
801a61ac: 00000000 nop
801a61b0: 1460075d bne r3,r0,0x801a7f28             #   if ((p2 % result_0x1a8be0) != 0) return; // which is like for most of the possible variable space where p2 doesn't enter as 0?
801a61b4: 00000000 nop
801a61b8: 3c04801c lui r4,0x801c
801a61bc: 2484accc addiu r4,r4,-0x5334              #   0x801baccc
801a61c0: 0c00744e jal 0x8001d138                   #   Store Translation Vectors to GTE (0x801baccc);
801a61c4: 00000000 nop
801a61c8: 2405ffff addiu r5,r0,-0x0001              #   -1
801a61cc: 3c11801c lui r17,0x801c
801a61d0: 2631ad0c addiu r17,r17,-0x52f4            #   0x801bad0c
801a61d4: 02203021 addu r6,r17,r0                   #   0x801bad0c
801a61d8: 27a70028 addiu r7,r29,0x0028              #   sp + 0x28
801a61dc: 3c02801c lui r2,0x801c
801a61e0: 8c42acc8 lw r2,-0x5338(r2)                #   0x801bacc8		// Header for Miscellaneous Time data
801a61e4: 97a800f0 lhu r8,0x00f0(r29)               #   *(ptr23 + 6) 
801a61e8: 8c440000 lw r4,0x0000(r2)                 #   *0x801bacc8		// loads the first word of Misc time data
801a61ec: 00161400 sll r2,r22,0x10
801a61f0: 00021403 sra r2,r2,0x10                   #   p1
801a61f4: 00021940 sll r3,r2,0x05                   #   p1 * 32
801a61f8: 00621823 subu r3,r3,r2                    #   p1 * 31
801a61fc: 000318c0 sll r3,r3,0x03                   #   p1 * 248
801a6200: 31020410 andi r2,r8,0x0410                #   *(ptr23 + 6) & 0x0410
801a6204: 38420410 xori r2,r2,0x0410                #   *(ptr23 + 6) & 0x0410 ^ 0x0410		// ^ denotes XOR. bit mask values that aren't in the given flag set.
801a6208: 2c420001 sltiu r2,r2,0x0001               #   !(*(ptr23 + 6) & 0x0410 ^ 0x0410)	// set if no flags at all
801a620c: afa200f8 sw r2,0x00f8(r29)                #   vf8 = !(*(ptr23 + 6) & 0x0410 ^ 0x0410)	// put the signage of a presense (0) or lack of (1) flags in the 0x410 set (0x400 and 0x10)
801a6210: 3c01801c lui r1,0x801c
801a6214: 00230821 addu r1,r1,r3
801a6218: 9030f052 lbu r16,-0x0fae(r1)              #   v16 = *(0x801bf052 + (p1 * 248))			// Target counter
801a621c: 0c06a434 jal 0x801a90d0                   #   Get Effect Screen Location Data From Unit Data (*0x801bacc8 & 8, -1, 0x801bad0c, sp + 0x28);	// gets x and y location of target from...?
801a6220: 30840008 andi r4,r4,0x0008                #   *0x801bacc8 & 8
801a6224: 3c02801c lui r2,0x801c
801a6228: 9442adb0 lhu r2,-0x5250(r2)               #   *0x801badb0
801a622c: 00000000 nop
801a6230: 1440000e bne r2,r0,0x801a626c             
801a6234: 321000ff andi r16,r16,0x00ff              #   v16
                                                    #   if (*0x801badb0 == 0) {
801a6238: 3c04801c lui r4,0x801c
801a623c: 9084adb2 lbu r4,-0x524e(r4)               #       *0x801badb2                                     // (misc unit ID)
801a6240: 0c022fc7 jal 0x8008bf1c                   #       result_0x8bf1c = 0x8bf1c (*0x801badb2);     // (returns value based on unit facing?)
801a6244: 00000000 nop
801a6248: 24420001 addiu r2,r2,0x0001               #       result_0x8bf1c + 1
801a624c: 30420003 andi r2,r2,0x0003                #       (result_0x8bf1c + 1) & 3       
801a6250: 00021280 sll r2,r2,0x0a                   #       ((result_0x8bf1c + 1) & 3) * 1024
801a6254: 27a40010 addiu r4,r29,0x0010              #       sp + 0x10
801a6258: 27a50030 addiu r5,r29,0x0030              #       sp + 0x30
801a625c: a7a00014 sh r0,0x0014(r29)                #       *(sp + 0x14) = 0
801a6260: a7a00010 sh r0,0x0010(r29)                #       *(sp + 0x10) = 0
801a6264: 0c007596 jal 0x8001d658                   #       0x1d658 (sp + 0x10, sp + 0x30);
801a6268: a7a20012 sh r2,0x0012(r29)                #       *(sp + 0x12) = 0
                                                    #   }
801a626c: 02002821 addu r5,r16,r0                   #   v16   							// Target counter
801a6270: 3c02801c lui r2,0x801c
801a6274: 8c42acc8 lw r2,-0x5338(r2)                #   0x801bacc8
801a6278: 02203021 addu r6,r17,r0                   #   0x801bad0c
801a627c: 8c440000 lw r4,0x0000(r2)                 #   *0x801bacc8
801a6280: 27a70050 addiu r7,r29,0x0050              #   sp + 0x50
801a6284: 0c06a434 jal 0x801a90d0                   #   Get Effect Screen Location Data From Unit Data (*0x801bacc8 & 8, v16, 0x801bad0c, sp + 0x50);
801a6288: 30840008 andi r4,r4,0x0008                #   *0x801bacc8 & 8
801a628c: 00101080 sll r2,r16,0x02                  #   v16 * 4
801a6290: 00501021 addu r2,r2,r16                   #   v16 * 5
801a6294: 00028040 sll r16,r2,0x01                  #   v16 * 10
801a6298: 3c01801c lui r1,0x801c
801a629c: 00300821 addu r1,r1,r16
801a62a0: 9422ad10 lhu r2,-0x52f0(r1)               #   *(0x801bad10 + (v16 * 10))				// animate on miss? per target?
801a62a4: 00000000 nop
801a62a8: 1440000c bne r2,r0,0x801a62dc             #   if (*(0x801bad10 + (v16 * 10)) == 0) {			// branch if animate on miss
801a62ac: 00000000 nop
801a62b0: 3c01801c lui r1,0x801c
801a62b4: 00300821 addu r1,r1,r16
801a62b8: 9024ad12 lbu r4,-0x52ee(r1)               #       *(0x801bad12 + (v16 * 10))      // (misc unit ID)
801a62bc: 0c022fc7 jal 0x8008bf1c                   #       result_0x8bf1c = 0x8bf1c (*(0x801bad12 + (v16 * 10)));     // (returns value based on unit facing?)
801a62c0: 00000000 nop
801a62c4: 3c01801c lui r1,0x801c
801a62c8: 00300821 addu r1,r1,r16
801a62cc: 9024ad12 lbu r4,-0x52ee(r1)               #       *(0x801bad12 + (v16 * 10))      // (misc unit ID)
801a62d0: 0c023292 jal 0x8008ca48                   #       result_0x8ca48 = 0x8ca48 (*(0x801bad12 + (v16 * 10)));      // Returns pointer to coordinate data
801a62d4: 00000000 nop
801a62d8: 0040a821 addu r21,r2,r0                   #       result_0x8ca48
                                                    #   }
801a62dc: 3c04801c lui r4,0x801c
801a62e0: 8484adca lh r4,-0x5236(r4)                #   xCoord = *0x801badca
801a62e4: 3c05801c lui r5,0x801c
801a62e8: 84a5adce lh r5,-0x5232(r5)                #   yCoord = *0x801badce
801a62ec: 3c06801c lui r6,0x801c
801a62f0: 84c6adcc lh r6,-0x5234(r6)                #   zCoord = *0x801badcc
801a62f4: 0c060fed jal 0x80183fb4                   #   tile = Get Tile Data Pointer (xCoord, yCoord, zCoord);
801a62f8: 00000000 nop
801a62fc: 8ee3000c lw r3,0x000c(r23)                #   *(ptr23 + 0x0c)
801a6300: afa20148 sw r2,0x0148(r29)                #   tile
801a6304: 2402ffff addiu r2,r0,-0x0001              #   -1
801a6308: 00031d02 srl r3,r3,0x14                   #   *(ptr23 + 0x0c) >> 0x14
801a630c: 3065000f andi r5,r3,0x000f                #   (*(ptr23 + 0x0c) >> 0x14) & 0x0f
801a6310: 24a5ffff addiu r5,r5,-0x0001              #   v5 = ((*(ptr23 + 0x0c) >> 0x14) & 0x0f) - 1
801a6314: 10a2000b beq r5,r2,0x801a6344
801a6318: 00051080 sll r2,r5,0x02                   #   v5 * 4
                                                    #   if (v5 != -1) {
801a631c: 00451021 addu r2,r2,r5                    #       v5 * 5
801a6320: 00021140 sll r2,r2,0x05                   #       v5 * 160
801a6324: 3c03801c lui r3,0x801c
801a6328: 8c63bf7c lw r3,-0x4084(r3)                #       *0x801bbf7c
801a632c: 8fa800d0 lw r8,0x00d0(r29)                #       p2x
801a6330: 00431021 addu r2,r2,r3                    #       (v5 * 160) + *0x801bbf7c
801a6334: 00481021 addu r2,r2,r8                    #       (v5 * 160) + *0x801bbf7c + p2x
801a6338: 90500004 lbu r16,0x0004(r2)               #       v16 = *((v5 * 160) + *0x801bbf7c + p2x + 4)
801a633c: 080698d3 j 0x801a634c
801a6340: 02003021 addu r6,r16,r0                   #       v6 = v16
                                                    #   } else {
801a6344: 00008021 addu r16,r0,r0                   #       v16 = 0
801a6348: 02003021 addu r6,r16,r0                   #       v6 = v16
                                                    #   }
801a634c: 86e400b0 lh r4,0x00b0(r23)                #   *(ptr23 + 0xb0)
801a6350: 86e500b2 lh r5,0x00b2(r23)                #   *(ptr23 + 0xb2)
801a6354: 0c06a2f8 jal 0x801a8be0                   #   result_0x1a8be0 = 0x1a8be0 (*(ptr23 + 0xb0), *(ptr23 + 0xb2));      // returns (((arg2 - arg1) * arg3) / 256) - arg1
801a6358: 00009821 addu r19,r0,r0                   #   count = 0
801a635c: 18400018 blez r2,0x801a63c0
801a6360: afa200d8 sw r2,0x00d8(r29)                #   result_0x1a8be0
                                                    #   if (result_0x1a8be0 > 0) {
801a6364: 97a800e8 lhu r8,0x00e8(r29)               #       *(ptr23 + 2) 
801a6368: 00168c00 sll r17,r22,0x10                 #       p1 << 16
801a636c: 3102f000 andi r2,r8,0xf000                #       *(ptr23 + 2) & 0xf000
801a6370: 00028400 sll r16,r2,0x10                  #       (*(ptr23 + 2) & 0xf000) << 16
801a6374: 00112403 sra r4,r17,0x10                  #       p1						// Effect phase
                                                    #       do {
801a6378: 0c06970f jal 0x801a5c3c                   #           result_0x1a5c3c = 001a5c3c - 001a5d70 (p1, (*(ptr23 + 2) & 0xf000) << 16);         // sets up effect graphics. returns temp effect data pointer?
801a637c: 00102c03 sra r5,r16,0x10									// r5 input for above; affects if effect conforms to camera zoom or some transform matrix?
801a6380: 00409021 addu r18,r2,r0                   #           result_0x1a5c3c			// temp effect data pointer?
801a6384: 97a800e8 lhu r8,0x00e8(r29)               #           *(ptr23 + 2)
801a6388: 8e440054 lw r4,0x0054(r18)                #           *(result_0x1a5c3c + 0x54)
801a638c: a648004c sh r8,0x004c(r18)                #           *(result_0x1a5c3c + 0x48) = *(ptr23 + 2)
801a6390: 97a800f0 lhu r8,0x00f0(r29)               #           *(ptr23 + 6)
801a6394: a6400050 sh r0,0x0050(r18)                #           *(result_0x1a5c3c + 0x50) = 0
801a6398: a648004e sh r8,0x004e(r18)                #           *(result_0x1a5c3c + 0x4e) = *(ptr23 + 6)
801a639c: 92e50004 lbu r5,0x0004(r23)               #           *(ptr23 + 4)
801a63a0: 92e60001 lbu r6,0x0001(r23)               #           *(ptr23 + 1)
801a63a4: 0c06a868 jal 0x801aa1a0                   #           0x1aa1a0 (*(result_0x1a5c3c + 0x54), *(ptr23 + 4), *(ptr23 + 1));       // Affects which graphics get displayed?
801a63a8: 26730001 addiu r19,r19,0x0001             #           count = count + 1
801a63ac: 8fa800d8 lw r8,0x00d8(r29)                #           result_0x1a8be0
801a63b0: 00000000 nop
801a63b4: 0268102a slt r2,r19,r8
801a63b8: 1440ffef bne r2,r0,0x801a6378
801a63bc: 00112403 sra r4,r17,0x10                  #           p1
                                                    #       } while (count < result_0x1a8be0);
                                                    #   }
801a63c0: 8ee20008 lw r2,0x0008(r23)                #   *(ptr23 + 8)
801a63c4: 00000000 nop
801a63c8: 3045000f andi r5,r2,0x000f                #   *(ptr23 + 8) & 0x0f
801a63cc: 24a5ffff addiu r5,r5,-0x0001              #   v5 = (*(ptr23 + 8) & 0x0f) - 1
801a63d0: 2402ffff addiu r2,r0,-0x0001              #   -1
801a63d4: 10a2000c beq r5,r2,0x801a6408
801a63d8: afb200e0 sw r18,0x00e0(r29)               #   *(sp + 0xe0) = result_0x1a5c3c
                                                    #    if (v5 != -1) {
801a63dc: 00051080 sll r2,r5,0x02                   #       v5 * 4
801a63e0: 00451021 addu r2,r2,r5                    #       v5 * 5
801a63e4: 00021140 sll r2,r2,0x05                   #       v5 * 120
801a63e8: 3c03801c lui r3,0x801c
801a63ec: 8c63bf7c lw r3,-0x4084(r3)                #       *0x801bbf7c
801a63f0: 8fa800d0 lw r8,0x00d0(r29)                #       p2x
801a63f4: 00431021 addu r2,r2,r3                    #       (v5 * 120) + *0x801bbf7c
801a63f8: 00481021 addu r2,r2,r8                    #       (v5 * 120) + *0x801bbf7c + p2x
801a63fc: 90500004 lbu r16,0x0004(r2)               #       v16 = *((v5 * 120) + *0x801bbf7c + p2x + 4)
801a6400: 08069904 j 0x801a6410
801a6404: 02e02021 addu r4,r23,r0                   #       ptr23
                                                    #   } else {
801a6408: 00008021 addu r16,r0,r0                   #       v16 = 0
801a640c: 02e02021 addu r4,r23,r0                   #       ptr23
                                                    #   }
801a6410: 02002821 addu r5,r16,r0                   #   v16
801a6414: 27b00058 addiu r16,r29,0x0058
801a6418: 0c06a305 jal 0x801a8c14                   #   0x1a8c14 (ptr23, v16, sp + 0x58);
801a641c: 02003021 addu r6,r16,r0                   #   sp + 0x58
801a6420: 8fa800f8 lw r8,0x00f8(r29)                #   vf8
801a6424: 00000000 nop
801a6428: 1100000d beq r8,r0,0x801a6460             #   if (vf8 != 0) {
801a642c: 00000000 nop
801a6430: 0c00742a jal 0x8001d0a8                   #       0x1d0a8 (sp + 0x30);                            // GTE related
801a6434: 27a40030 addiu r4,r29,0x0030
801a6438: 27a40010 addiu r4,r29,0x0010              #       firstInputs = sp + 0x10
801a643c: 02002821 addu r5,r16,r0                   #       sp + 0x58
801a6440: 97a20058 lhu r2,0x0058(r29)               #       *(sp + 0x58)
801a6444: 97a3005c lhu r3,0x005c(r29)               #       *(sp + 0x5c)
801a6448: 97a70060 lhu r7,0x0060(r29)               #       *(sp + 0x60)
801a644c: 27a60024 addiu r6,r29,0x0024              #       destPtr = sp + 0x24
801a6450: a7a20010 sh r2,0x0010(r29)                #       firstInputs[0] = *(sp + 0x58)
801a6454: a7a30012 sh r3,0x0012(r29)                #       firstInputs[1] = *(sp + 0x5c)
801a6458: 0c00755e jal 0x8001d578                   #       0x1d578 (firstInputs, sp + 0x58, destPtr);      // GTE related: result stored at last param address
801a645c: a7a70014 sh r7,0x0014(r29)                #       firstInputs[2] = *(sp + 0x60)
                                                    #   }
801a6460: 97a800e8 lhu r8,0x00e8(r29)               #   *(ptr23 + 2)
801a6464: 34020600 ori r2,r0,0x0600                 
801a6468: 31030e00 andi r3,r8,0x0e00                #   testValue = *(ptr23 + 2) & 0x0e00
                                                    
801a646c: 10620036 beq r3,r2,0x801a6548             #       // (testValue == 0x0600)
801a6470: 28620601 slti r2,r3,0x0601
801a6474: 10400009 beq r2,r0,0x801a649c             #       // (testValue >= 0x0601)
801a6478: 34020200 ori r2,r0,0x0200
801a647c: 10620016 beq r3,r2,0x801a64d8             #       // (testValue == 0x0200)
801a6480: 28620201 slti r2,r3,0x0201
801a6484: 14400069 bne r2,r0,0x801a662c             #       // (testValue < 0x0200)
801a6488: 34020400 ori r2,r0,0x0400
801a648c: 1062002f beq r3,r2,0x801a654c             #       // (testValue == 0x0400)
801a6490: 27a40028 addiu r4,r29,0x0028
801a6494: 0806998b j 0x801a662c                     
801a6498: 00000000 nop
801a649c: 34020a00 ori r2,r0,0x0a00
801a64a0: 10620040 beq r3,r2,0x801a65a4             #       // (testValue == 0x0a00)
801a64a4: 00000000 nop
801a64a8: 28620a01 slti r2,r3,0x0a01
801a64ac: 10400005 beq r2,r0,0x801a64c4             #       // (testValue >= 0x0a01)
801a64b0: 34020800 ori r2,r0,0x0800
801a64b4: 1062002a beq r3,r2,0x801a6560             #       // (testValue == 0x0800)
801a64b8: 00000000 nop
801a64bc: 0806998b j 0x801a662c                     
801a64c0: 00000000 nop
801a64c4: 34020c00 ori r2,r0,0x0c00                 
801a64c8: 10620046 beq r3,r2,0x801a65e4             #       // (testValue == 0x0c00)
801a64cc: 00000000 nop
801a64d0: 0806998b j 0x801a662c                     
801a64d4: 00000000 nop
                                                    #   testValue       Description
                                                    #   0x0200          Animates on targeted panel
                                                    #   0x0400          Animates on/over source unit
                                                    #   0x0600          Animates on target unit(s)?
                                                    
                                                    #   if (testValue == 0x0200) {
801a64d8: 8fa30058 lw r3,0x0058(r29)                #       *(sp + 0x58)
801a64dc: 3c04801c lui r4,0x801c
801a64e0: 8484adca lh r4,-0x5236(r4)                #       xCoord = *0x801badca
801a64e4: 8fa80148 lw r8,0x0148(r29)                #       tile
801a64e8: 2463000e addiu r3,r3,0x000e               #       *(sp + 0x58) + 14
801a64ec: 000410c0 sll r2,r4,0x03                   #       xCoord * 8
801a64f0: 00441023 subu r2,r2,r4                    #       xCoord * 7
801a64f4: 00021080 sll r2,r2,0x02                   #       xCoord * 28
801a64f8: 00621821 addu r3,r3,r2                    #       *(sp + 0x58) + 14 + (xCoord * 28)
801a64fc: afa30058 sw r3,0x0058(r29)                #       *(sp + 0x58) = *(sp + 0x58) + 14 + (xCoord * 28)
801a6500: 8fa30060 lw r3,0x0060(r29)                #       *(sp + 0x60)
801a6504: 3c04801c lui r4,0x801c
801a6508: 8484adce lh r4,-0x5232(r4)                #       yCoord = *0x801badce
801a650c: 2463000e addiu r3,r3,0x000e               #       *(sp + 0x60) + 14
801a6510: 000410c0 sll r2,r4,0x03                   #       yCoord * 8
801a6514: 00441023 subu r2,r2,r4                    #       yCoord * 7
801a6518: 00021080 sll r2,r2,0x02                   #       yCoord * 28
801a651c: 00621821 addu r3,r3,r2                    #       *(sp + 0x60) + 14 + (yCoord * 28)
801a6520: afa30060 sw r3,0x0060(r29)                #       *(sp + 0x60) = *(sp + 0x60) + 14 + (yCoord * 28)
801a6524: 91030002 lbu r3,0x0002(r8)                #       tile.height
801a6528: 00000000 nop
801a652c: 00031040 sll r2,r3,0x01                   #       tile.height * 2
801a6530: 00431021 addu r2,r2,r3                    #       tile.height * 3
801a6534: 8fa3005c lw r3,0x005c(r29)                #       *(sp + 0x5c)
801a6538: 00021080 sll r2,r2,0x02                   #       tile.height * 12
801a653c: 00621823 subu r3,r3,r2                    #       *(sp + 0x5c) - (tile.height * 12)
801a6540: 0806998b j 0x801a662c
801a6544: afa3005c sw r3,0x005c(r29)                #       *(sp + 0x5c) = *(sp + 0x5c) - (tile.height * 12)
                                                    #   } else if ((testValue == 0x0400) || (testValue == 0x0600)) {
801a6548: 27a40050 addiu r4,r29,0x0050              #       if (testValue == 0x0600) firstArg = sp + 0x50; else firstArg = sp + 0x28;
801a654c: 02002821 addu r5,r16,r0                   #       sp + 0x58
801a6550: 0c06a535 jal 0x801a94d4                   #       0x1a94d4 (firstArg, sp + 0x58, sp + 0x58);         // Adds values in first two buffers and stores them in third buffer
801a6554: 00a03021 addu r6,r5,r0                    #       sp + 0x58
801a6558: 0806998b j 0x801a662c
801a655c: 00000000 nop
                                                    #   } else if (testValue == 0x0800) {
801a6560: 12800032 beq r20,r0,0x801a662c            #       if (p4 != null) {
801a6564: 00000000 nop
801a6568: 8e82000c lw r2,0x000c(r20)                #           *(p4 + 0x0c)
801a656c: 8fa30058 lw r3,0x0058(r29)                #           *(sp + 0x58)
801a6570: 00021303 sra r2,r2,0x0c                   #           *(p4 + 0x0c) >> 12
801a6574: 00431021 addu r2,r2,r3                    #           (*(p4 + 0x0c) >> 12) + *(sp + 0x58)
801a6578: afa20058 sw r2,0x0058(r29)                #           *(sp + 0x58) = (*(p4 + 0x0c) >> 12) + *(sp + 0x58)
801a657c: 8e820010 lw r2,0x0010(r20)                #           *(p4 + 0x10)
801a6580: 8fa3005c lw r3,0x005c(r29)                #           *(sp + 0x5c)
801a6584: 00021303 sra r2,r2,0x0c                   #           *(p4 + 0x10) >> 12
801a6588: 00431021 addu r2,r2,r3                    #           (*(p4 + 0x10) >> 12) + *(sp + 0x5c)
801a658c: afa2005c sw r2,0x005c(r29)                #           *(sp + 0x5c) = (*(p4 + 0x10) >> 12) + *(sp + 0x5c)
801a6590: 8e820014 lw r2,0x0014(r20)                #           *(p4 + 0x14)
801a6594: 8fa30060 lw r3,0x0060(r29)                #           *(sp + 0x60)
801a6598: 00021303 sra r2,r2,0x0c                   #           *(p4 + 0x14) >> 12
801a659c: 0806998a j 0x801a6628                                
801a65a0: 00431021 addu r2,r2,r3                    #           (*(p4 + 0x14) >> 12) + *(sp + 0x60)
                                                    #           *(sp + 0x60) = (*(p4 + 0x14) >> 12) + *(sp + 0x60)      // (From jump location 0x1a6628)
                                                    #       }
                                                    #   } else if (testValue == 0x0a00) {
801a65a4: 0c0237d2 jal 0x8008df48                   #       0x8df48 (sp + 0xc0);            // Stores Map Max X, 0, Map Max Y (2-byte values) in passed buffer
801a65a8: 27a400c0 addiu r4,r29,0x00c0
801a65ac: 87a300c0 lh r3,0x00c0(r29)                #       MapMaxX
801a65b0: 87a400c4 lh r4,0x00c4(r29)                #       MapMaxY
801a65b4: 000310c0 sll r2,r3,0x03                   #       MapMaxX * 8
801a65b8: 00431023 subu r2,r2,r3                    #       MapMaxX * 7
801a65bc: 8fa30058 lw r3,0x0058(r29)                #       *(sp + 0x58)
801a65c0: 00021040 sll r2,r2,0x01                   #       MapMaxX * 14
801a65c4: 00431021 addu r2,r2,r3                    #       (MapMaxX * 14) + *(sp + 0x58)
801a65c8: afa20058 sw r2,0x0058(r29)                #       *(sp + 0x58) = (MapMaxX * 14) + *(sp + 0x58)
801a65cc: 000410c0 sll r2,r4,0x03                   #       MapMaxY * 8
801a65d0: 00441023 subu r2,r2,r4                    #       MapMaxY * 7
801a65d4: 8fa30060 lw r3,0x0060(r29)                #       *(sp + 0x60)
801a65d8: 00021040 sll r2,r2,0x01                   #       MapMaxY * 14
801a65dc: 0806998a j 0x801a6628
801a65e0: 00431021 addu r2,r2,r3                    #       (MapMaxY * 14) + *(sp + 0x60)
                                                    #        *(sp + 0x60) = (MapMaxY * 14) + *(sp + 0x60)               // (From jump location 0x1a6628)
                                                    #   } else if (testValue == 0x0c00) {
801a65e4: 87a20050 lh r2,0x0050(r29)                #       *(sp + 0x50)
801a65e8: 86a30000 lh r3,0x0000(r21)                #       *result_0x8ca48     // (Pointer to coordinate data for unit?)
801a65ec: 8fa40058 lw r4,0x0058(r29)                #       *(sp + 0x58)
801a65f0: 00431021 addu r2,r2,r3                    #       *(sp + 0x50) + *result_0x8ca48
801a65f4: 00441021 addu r2,r2,r4                    #       *(sp + 0x50) + *result_0x8ca48 + *(sp + 0x58)
801a65f8: afa20058 sw r2,0x0058(r29)                #       *(sp + 0x58) = *(sp + 0x50) + *result_0x8ca48 + *(sp + 0x58)
801a65fc: 87a20052 lh r2,0x0052(r29)                #       *(sp + 0x52)
801a6600: 86a30002 lh r3,0x0002(r21)                #       *(result_0x8ca48 + 2)
801a6604: 8fa4005c lw r4,0x005c(r29)                #       *(sp + 0x5c)
801a6608: 00431021 addu r2,r2,r3                    #       *(sp + 0x52) + *(result_0x8ca48 + 2)
801a660c: 00441021 addu r2,r2,r4                    #       *(sp + 0x52) + *(result_0x8ca48 + 2) + *(sp + 0x5c)
801a6610: afa2005c sw r2,0x005c(r29)                #       *(sp + 0x5c) = *(sp + 0x52) + *(result_0x8ca48 + 2) + *(sp + 0x5c)
801a6614: 87a20054 lh r2,0x0054(r29)                #       *(sp + 0x54)
801a6618: 86a30004 lh r3,0x0004(r21)                #       *(result_0x8ca48 + 4)
801a661c: 8fa40060 lw r4,0x0060(r29)                #       *(sp + 0x60)
801a6620: 00431021 addu r2,r2,r3                    #       *(sp + 0x54) + *(result_0x8ca48 + 4)
801a6624: 00441021 addu r2,r2,r4                    #       *(sp + 0x54) + *(result_0x8ca48 + 4) + *(sp + 0x60)
801a6628: afa20060 sw r2,0x0060(r29)                #       *(sp + 0x60) = *(sp + 0x54) + *(result_0x8ca48 + 4) + *(sp + 0x60)
                                                    #   }
801a662c: 8ee20008 lw r2,0x0008(r23)                #   v2 = *(ptr23 + 8)
801a6630: 00000000 nop
801a6634: 00021102 srl r2,r2,0x04                   #   v2 >> 4
801a6638: 3045000f andi r5,r2,0x000f                #   (v2 >> 4) & 0x0f
801a663c: 24a5ffff addiu r5,r5,-0x0001              #   v5 = ((v2 >> 4) & 0x0f) - 1
801a6640: 2402ffff addiu r2,r0,-0x0001              #   -1
801a6644: 10a2000b beq r5,r2,0x801a6674
801a6648: 00051080 sll r2,r5,0x02                   #   v5 * 4
                                                    #   if (v5 != -1) {
801a664c: 00451021 addu r2,r2,r5                    #       v5 * 5
801a6650: 00021140 sll r2,r2,0x05                   #       v5 * 120
801a6654: 3c03801c lui r3,0x801c
801a6658: 8c63bf7c lw r3,-0x4084(r3)                #       *0x801bbf7c
801a665c: 8fa800d0 lw r8,0x00d0(r29)                #       *(sp + 0xd0)
801a6660: 00431021 addu r2,r2,r3                    #       (v5 * 120) + *0x801bbf7c
801a6664: 00481021 addu r2,r2,r8                    #       (v5 * 120) + *0x801bbf7c + *(sp + 0xd0)
801a6668: 90500004 lbu r16,0x0004(r2)               #       v16 = *((v5 * 120) + *0x801bbf7c + *(sp + 0xd0) + 4)
801a666c: 0806999f j 0x801a667c
801a6670: 02e02021 addu r4,r23,r0                   #       ptr23
                                                    #   } else {
801a6674: 00008021 addu r16,r0,r0                   #       v16 = 0
801a6678: 02e02021 addu r4,r23,r0                   #       ptr23
                                                    #   }
801a667c: 02002821 addu r5,r16,r0                   #   v16
801a6680: 27b00068 addiu r16,r29,0x0068             #   sp + 0x68
801a6684: 0c06a323 jal 0x801a8c8c                   #   0x1a8c8c (ptr23, v16, sp + 0x68);
801a6688: 02003021 addu r6,r16,r0                   #   sp + 0x68
801a668c: 8fa800f8 lw r8,0x00f8(r29)                #   *(sp + 0xf8)
801a6690: 00000000 nop
801a6694: 1100000d beq r8,r0,0x801a66cc             #   if (*(sp + 0xf8) != 0) {
801a6698: 00000000 nop
801a669c: 0c00742a jal 0x8001d0a8                   #       0x1d0a8 (sp + 0x30);                            // GTE related
801a66a0: 27a40030 addiu r4,r29,0x0030              #       sp + 0x30
801a66a4: 27a40010 addiu r4,r29,0x0010              #       firstInputs = sp + 0x10
801a66a8: 02002821 addu r5,r16,r0                   #       sp + 0x68
801a66ac: 97a20068 lhu r2,0x0068(r29)               #       *(sp + 0x68)
801a66b0: 97a3006c lhu r3,0x006c(r29)               #       *(sp + 0x6c)
801a66b4: 97a70070 lhu r7,0x0070(r29)               #       *(sp + 0x70)
801a66b8: 27a60024 addiu r6,r29,0x0024              #       destPtr = sp + 0x24
801a66bc: a7a20010 sh r2,0x0010(r29)                #       firstInputs[0] = *(sp + 0x68)
801a66c0: a7a30012 sh r3,0x0012(r29)                #       firstInputs[1] = *(sp + 0x6c)
801a66c4: 0c00755e jal 0x8001d578                   #       0x1d578 (firstInputs, sp + 0x68, destPtr);      // GTE related: result stored at last param address
801a66c8: a7a70014 sh r7,0x0014(r29)                #       firstInputs[2] = *(sp + 0x70)
                                                    #   }
801a66cc: 97a800e8 lhu r8,0x00e8(r29)               #   *(ptr23 + 2)
801a66d0: 8fb200e0 lw r18,0x00e0(r29)               #   result_0x1a5c3c
801a66d4: 31020100 andi r2,r8,0x0100                #   *(ptr23 + 2) & 0x0100
801a66d8: 10400070 beq r2,r0,0x801a689c             #   if ((*(ptr23 + 2) & 0x0100) != 0) {
801a66dc: 00000000 nop
801a66e0: 8fa800d8 lw r8,0x00d8(r29)                #       *(sp + 0xd8)
801a66e4: 00000000 nop
801a66e8: 190000c8 blez r8,0x801a6a0c
801a66ec: 00009821 addu r19,r0,r0                   #       count = 0
                                                    #       if (*(sp + 0xd8) > 0) {
801a66f0: 8fa30068 lw r3,0x0068(r29)
801a66f4: 8fb00058 lw r16,0x0058(r29)
801a66f8: 00031023 subu r2,r0,r3
801a66fc: 14620004 bne r3,r2,0x801a6710
801a6700: 00000000 nop
801a6704: 02031021 addu r2,r16,r3
801a6708: 080699dc j 0x801a6770
801a670c: 00021300 sll r2,r2,0x0c
801a6710: 0043102a slt r2,r2,r3
801a6714: 1040000a beq r2,r0,0x801a6740
801a6718: 00000000 nop
801a671c: 0c0088c3 jal 0x8002230c
801a6720: 00000000 nop
801a6724: 8fa40068 lw r4,0x0068(r29)
801a6728: 00000000 nop
801a672c: 00041840 sll r3,r4,0x01
801a6730: 0043001a div r2,r3
801a6734: 00001810 mfhi r3
801a6738: 080699da j 0x801a6768
801a673c: 00641823 subu r3,r3,r4
801a6740: 0c0088c3 jal 0x8002230c
801a6744: 00000000 nop
801a6748: 8fa40068 lw r4,0x0068(r29)
801a674c: 00000000 nop
801a6750: 00041823 subu r3,r0,r4
801a6754: 00641823 subu r3,r3,r4
801a6758: 0043001a div r2,r3
801a675c: 00001810 mfhi r3
801a6760: 00000000 nop
801a6764: 00641821 addu r3,r3,r4
801a6768: 02031821 addu r3,r16,r3
801a676c: 00031300 sll r2,r3,0x0c
801a6770: ae42000c sw r2,0x000c(r18)
801a6774: 8fa3006c lw r3,0x006c(r29)
801a6778: 8fb0005c lw r16,0x005c(r29)
801a677c: 00031023 subu r2,r0,r3
801a6780: 14620004 bne r3,r2,0x801a6794
801a6784: 00000000 nop
801a6788: 02031021 addu r2,r16,r3
801a678c: 080699fd j 0x801a67f4
801a6790: 00021300 sll r2,r2,0x0c
801a6794: 0043102a slt r2,r2,r3
801a6798: 1040000a beq r2,r0,0x801a67c4
801a679c: 00000000 nop
801a67a0: 0c0088c3 jal 0x8002230c
801a67a4: 00000000 nop
801a67a8: 8fa4006c lw r4,0x006c(r29)
801a67ac: 00000000 nop
801a67b0: 00041840 sll r3,r4,0x01
801a67b4: 0043001a div r2,r3
801a67b8: 00001810 mfhi r3
801a67bc: 080699fb j 0x801a67ec
801a67c0: 00641823 subu r3,r3,r4
801a67c4: 0c0088c3 jal 0x8002230c
801a67c8: 00000000 nop
801a67cc: 8fa4006c lw r4,0x006c(r29)
801a67d0: 00000000 nop
801a67d4: 00041823 subu r3,r0,r4
801a67d8: 00641823 subu r3,r3,r4
801a67dc: 0043001a div r2,r3
801a67e0: 00001810 mfhi r3
801a67e4: 00000000 nop
801a67e8: 00641821 addu r3,r3,r4
801a67ec: 02031821 addu r3,r16,r3
801a67f0: 00031300 sll r2,r3,0x0c
801a67f4: ae420010 sw r2,0x0010(r18)
801a67f8: 8fa30070 lw r3,0x0070(r29)
801a67fc: 8fb00060 lw r16,0x0060(r29)
801a6800: 00031023 subu r2,r0,r3
801a6804: 14620004 bne r3,r2,0x801a6818
801a6808: 00000000 nop
801a680c: 02031021 addu r2,r16,r3
801a6810: 08069a1e j 0x801a6878
801a6814: 00021300 sll r2,r2,0x0c
801a6818: 0043102a slt r2,r2,r3
801a681c: 1040000a beq r2,r0,0x801a6848
801a6820: 00000000 nop
801a6824: 0c0088c3 jal 0x8002230c
801a6828: 00000000 nop
801a682c: 8fa40070 lw r4,0x0070(r29)
801a6830: 00000000 nop
801a6834: 00041840 sll r3,r4,0x01
801a6838: 0043001a div r2,r3
801a683c: 00001810 mfhi r3
801a6840: 08069a1c j 0x801a6870
801a6844: 00641823 subu r3,r3,r4
801a6848: 0c0088c3 jal 0x8002230c
801a684c: 00000000 nop
801a6850: 8fa40070 lw r4,0x0070(r29)
801a6854: 00000000 nop
801a6858: 00041823 subu r3,r0,r4
801a685c: 00641823 subu r3,r3,r4
801a6860: 0043001a div r2,r3
801a6864: 00001810 mfhi r3
801a6868: 00000000 nop
801a686c: 00641821 addu r3,r3,r4
801a6870: 02031821 addu r3,r16,r3
801a6874: 00031300 sll r2,r3,0x0c
801a6878: 26730001 addiu r19,r19,0x0001
801a687c: ae420014 sw r2,0x0014(r18)
801a6880: 8fa800d8 lw r8,0x00d8(r29)
801a6884: 8e520004 lw r18,0x0004(r18)
801a6888: 0268102a slt r2,r19,r8
801a688c: 1040005f beq r2,r0,0x801a6a0c
801a6890: 00000000 nop
801a6894: 080699bc j 0x801a66f0
801a6898: 00000000 nop
                                                    #       }
                                                    #   } else {
801a689c: 87a40068 lh r4,0x0068(r29)
801a68a0: 87a5006c lh r5,0x006c(r29)
801a68a4: 87a60070 lh r6,0x0070(r29)
801a68a8: 0c06a1cf jal 0x801a873c
801a68ac: 00009821 addu r19,r0,r0
801a68b0: 8fa800d8 lw r8,0x00d8(r29)
801a68b4: 00000000 nop
801a68b8: 19000054 blez r8,0x801a6a0c
801a68bc: 00408821 addu r17,r2,r0
801a68c0: 00111400 sll r2,r17,0x10
801a68c4: 00028403 sra r16,r2,0x10
801a68c8: 3c14801c lui r20,0x801c
801a68cc: 2694accc addiu r20,r20,-0x5334

801a68d0: 1200003c beq r16,r0,0x801a69c4
801a68d4: 00000000 nop
801a68d8: 0c0088c3 jal 0x8002230c
801a68dc: 00000000 nop
801a68e0: 0c0088c3 jal 0x8002230c
801a68e4: a7a20010 sh r2,0x0010(r29)
801a68e8: 0c0088c3 jal 0x8002230c
801a68ec: a7a20012 sh r2,0x0012(r29)
801a68f0: 27a40010 addiu r4,r29,0x0010
801a68f4: 02802821 addu r5,r20,r0
801a68f8: 0c007596 jal 0x8001d658
801a68fc: a7a20014 sh r2,0x0014(r29)
801a6900: 0c00742a jal 0x8001d0a8
801a6904: 02802021 addu r4,r20,r0
801a6908: 27a40010 addiu r4,r29,0x0010
801a690c: 27a50018 addiu r5,r29,0x0018
801a6910: 27a60024 addiu r6,r29,0x0024
801a6914: a7b10010 sh r17,0x0010(r29)
801a6918: a7a00014 sh r0,0x0014(r29)
801a691c: 0c00755e jal 0x8001d578
801a6920: a7a00012 sh r0,0x0012(r29)
801a6924: 8fa30018 lw r3,0x0018(r29)
801a6928: 8fa20068 lw r2,0x0068(r29)
801a692c: 00000000 nop
801a6930: 00620018 mult r3,r2
801a6934: 00001012 mflo r2
801a6938: 00000000 nop
801a693c: 00000000 nop
801a6940: 0050001a div r2,r16
801a6944: 00001012 mflo r2
801a6948: 8fa30058 lw r3,0x0058(r29)
801a694c: 00000000 nop
801a6950: 00431021 addu r2,r2,r3
801a6954: 00021300 sll r2,r2,0x0c
801a6958: ae42000c sw r2,0x000c(r18)
801a695c: 8fa3001c lw r3,0x001c(r29)
801a6960: 8fa2006c lw r2,0x006c(r29)
801a6964: 00000000 nop
801a6968: 00620018 mult r3,r2
801a696c: 00001012 mflo r2
801a6970: 00000000 nop
801a6974: 00000000 nop
801a6978: 0050001a div r2,r16
801a697c: 00001012 mflo r2
801a6980: 8fa3005c lw r3,0x005c(r29)
801a6984: 00000000 nop
801a6988: 00431021 addu r2,r2,r3
801a698c: 00021300 sll r2,r2,0x0c
801a6990: ae420010 sw r2,0x0010(r18)
801a6994: 8fa30020 lw r3,0x0020(r29)
801a6998: 8fa20070 lw r2,0x0070(r29)
801a699c: 00000000 nop
801a69a0: 00620018 mult r3,r2
801a69a4: 00001012 mflo r2
801a69a8: 00000000 nop
801a69ac: 00000000 nop
801a69b0: 0050001a div r2,r16
801a69b4: 00001012 mflo r2
801a69b8: 8fa30060 lw r3,0x0060(r29)
801a69bc: 08069a7a j 0x801a69e8
801a69c0: 00431021 addu r2,r2,r3
801a69c4: 8fa20058 lw r2,0x0058(r29)
801a69c8: 00000000 nop
801a69cc: 00021300 sll r2,r2,0x0c
801a69d0: ae42000c sw r2,0x000c(r18)
801a69d4: 8fa2005c lw r2,0x005c(r29)
801a69d8: 00000000 nop
801a69dc: 00021300 sll r2,r2,0x0c
801a69e0: ae420010 sw r2,0x0010(r18)
801a69e4: 8fa20060 lw r2,0x0060(r29)
801a69e8: 00000000 nop
801a69ec: 00021300 sll r2,r2,0x0c
801a69f0: ae420014 sw r2,0x0014(r18)
801a69f4: 26730001 addiu r19,r19,0x0001
801a69f8: 8fa800d8 lw r8,0x00d8(r29)
801a69fc: 8e520004 lw r18,0x0004(r18)
801a6a00: 0268102a slt r2,r19,r8
801a6a04: 1440ffb2 bne r2,r0,0x801a68d0
801a6a08: 00000000 nop
                                                    #   }
801a6a0c: 8ee20008 lw r2,0x0008(r23)
801a6a10: 00000000 nop
801a6a14: 00022f02 srl r5,r2,0x1c
801a6a18: 24a5ffff addiu r5,r5,-0x0001
801a6a1c: 2402ffff addiu r2,r0,-0x0001
801a6a20: 10a20014 beq r5,r2,0x801a6a74
801a6a24: 00051080 sll r2,r5,0x02
801a6a28: 00451021 addu r2,r2,r5
801a6a2c: 00021140 sll r2,r2,0x05
801a6a30: 86e4005c lh r4,0x005c(r23)
801a6a34: 3c03801c lui r3,0x801c
801a6a38: 8c63bf7c lw r3,-0x4084(r3)
801a6a3c: 8fa800d0 lw r8,0x00d0(r29)
801a6a40: 00431021 addu r2,r2,r3
801a6a44: 00481021 addu r2,r2,r8
801a6a48: 90500004 lbu r16,0x0004(r2)
801a6a4c: 86e50060 lh r5,0x0060(r23)
801a6a50: 0c06a2f8 jal 0x801a8be0
801a6a54: 02003021 addu r6,r16,r0
801a6a58: 0040a821 addu r21,r2,r0
801a6a5c: 86e4005e lh r4,0x005e(r23)
801a6a60: 86e50062 lh r5,0x0062(r23)
801a6a64: 0c06a2f8 jal 0x801a8be0
801a6a68: 02003021 addu r6,r16,r0
801a6a6c: 08069a9f j 0x801a6a7c
801a6a70: 0040f021 addu r30,r2,r0
801a6a74: 96f5005c lhu r21,0x005c(r23)
801a6a78: 96fe005e lhu r30,0x005e(r23)
801a6a7c: 8ee20008 lw r2,0x0008(r23)
801a6a80: 00000000 nop
801a6a84: 00021302 srl r2,r2,0x0c
801a6a88: 3045000f andi r5,r2,0x000f
801a6a8c: 24a5ffff addiu r5,r5,-0x0001
801a6a90: 2402ffff addiu r2,r0,-0x0001
801a6a94: 10a20019 beq r5,r2,0x801a6afc
801a6a98: 00051080 sll r2,r5,0x02
801a6a9c: 00451021 addu r2,r2,r5
801a6aa0: 00021140 sll r2,r2,0x05
801a6aa4: 86e40038 lh r4,0x0038(r23)
801a6aa8: 3c03801c lui r3,0x801c
801a6aac: 8c63bf7c lw r3,-0x4084(r3)
801a6ab0: 8fa800d0 lw r8,0x00d0(r29)
801a6ab4: 00431021 addu r2,r2,r3
801a6ab8: 00481021 addu r2,r2,r8
801a6abc: 90500004 lbu r16,0x0004(r2)
801a6ac0: 86e5003e lh r5,0x003e(r23)
801a6ac4: 0c06a2f8 jal 0x801a8be0
801a6ac8: 02003021 addu r6,r16,r0
801a6acc: afa20088 sw r2,0x0088(r29)
801a6ad0: 86e4003a lh r4,0x003a(r23)
801a6ad4: 86e50040 lh r5,0x0040(r23)
801a6ad8: 0c06a2f8 jal 0x801a8be0
801a6adc: 02003021 addu r6,r16,r0
801a6ae0: afa2008c sw r2,0x008c(r29)
801a6ae4: 86e4003c lh r4,0x003c(r23)
801a6ae8: 86e50042 lh r5,0x0042(r23)
801a6aec: 0c06a2f8 jal 0x801a8be0
801a6af0: 02003021 addu r6,r16,r0
801a6af4: 08069ad7 j 0x801a6b5c
801a6af8: afa20090 sw r2,0x0090(r29)
801a6afc: 96e20038 lhu r2,0x0038(r23)
801a6b00: 00000000 nop
801a6b04: 00021400 sll r2,r2,0x10
801a6b08: 00021c03 sra r3,r2,0x10
801a6b0c: 000217c2 srl r2,r2,0x1f
801a6b10: 00621821 addu r3,r3,r2
801a6b14: 00031843 sra r3,r3,0x01
801a6b18: afa30088 sw r3,0x0088(r29)
801a6b1c: 96e2003a lhu r2,0x003a(r23)
801a6b20: 00000000 nop
801a6b24: 00021400 sll r2,r2,0x10
801a6b28: 00021c03 sra r3,r2,0x10
801a6b2c: 000217c2 srl r2,r2,0x1f
801a6b30: 00621821 addu r3,r3,r2
801a6b34: 00031843 sra r3,r3,0x01
801a6b38: afa3008c sw r3,0x008c(r29)
801a6b3c: 96e2003c lhu r2,0x003c(r23)
801a6b40: 00000000 nop
801a6b44: 00021400 sll r2,r2,0x10
801a6b48: 00021c03 sra r3,r2,0x10
801a6b4c: 000217c2 srl r2,r2,0x1f
801a6b50: 00621821 addu r3,r3,r2
801a6b54: 00031843 sra r3,r3,0x01
801a6b58: afa30090 sw r3,0x0090(r29)
801a6b5c: 8ee20008 lw r2,0x0008(r23)
801a6b60: 00000000 nop
801a6b64: 00021202 srl r2,r2,0x08
801a6b68: 3045000f andi r5,r2,0x000f
801a6b6c: 24a5ffff addiu r5,r5,-0x0001
801a6b70: 2402ffff addiu r2,r0,-0x0001
801a6b74: 10a2000b beq r5,r2,0x801a6ba4
801a6b78: 00051080 sll r2,r5,0x02
801a6b7c: 00451021 addu r2,r2,r5
801a6b80: 00021140 sll r2,r2,0x05
801a6b84: 3c03801c lui r3,0x801c
801a6b88: 8c63bf7c lw r3,-0x4084(r3)
801a6b8c: 8fa800d0 lw r8,0x00d0(r29)
801a6b90: 00431021 addu r2,r2,r3
801a6b94: 00481021 addu r2,r2,r8
801a6b98: 90500004 lbu r16,0x0004(r2)
801a6b9c: 08069aeb j 0x801a6bac
801a6ba0: 02e02021 addu r4,r23,r0
801a6ba4: 00008021 addu r16,r0,r0
801a6ba8: 02e02021 addu r4,r23,r0
801a6bac: 02002821 addu r5,r16,r0
801a6bb0: 0c06a341 jal 0x801a8d04
801a6bb4: 27a60078 addiu r6,r29,0x0078
801a6bb8: 34020010 ori r2,r0,0x0010
801a6bbc: 97a800f0 lhu r8,0x00f0(r29)
801a6bc0: 8fb200e0 lw r18,0x00e0(r29)
801a6bc4: 31030410 andi r3,r8,0x0410
801a6bc8: 10620141 beq r3,r2,0x801a70d0
801a6bcc: 28620011 slti r2,r3,0x0011
801a6bd0: 10400005 beq r2,r0,0x801a6be8
801a6bd4: 00000000 nop
801a6bd8: 1060000a beq r3,r0,0x801a6c04
801a6bdc: 00000000 nop
801a6be0: 08069c8b j 0x801a722c
801a6be4: 00000000 nop
801a6be8: 34020400 ori r2,r0,0x0400
801a6bec: 1062018f beq r3,r2,0x801a722c
801a6bf0: 34020410 ori r2,r0,0x0410
801a6bf4: 10620094 beq r3,r2,0x801a6e48
801a6bf8: 00000000 nop
801a6bfc: 08069c8b j 0x801a722c
801a6c00: 00000000 nop
801a6c04: 8fa800d8 lw r8,0x00d8(r29)
801a6c08: 00000000 nop
801a6c0c: 19000187 blez r8,0x801a722c
801a6c10: 00009821 addu r19,r0,r0
801a6c14: 00151400 sll r2,r21,0x10
801a6c18: 0002a403 sra r20,r2,0x10
801a6c1c: 001e1400 sll r2,r30,0x10
801a6c20: 00028c03 sra r17,r2,0x10
801a6c24: 0234b023 subu r22,r17,r20

801a6c28: 8fa30088 lw r3,0x0088(r29)
801a6c2c: 8fb00078 lw r16,0x0078(r29)
801a6c30: 00031023 subu r2,r0,r3
801a6c34: 10620016 beq r3,r2,0x801a6c90
801a6c38: 0043102a slt r2,r2,r3
801a6c3c: 1040000a beq r2,r0,0x801a6c68
801a6c40: 00000000 nop
801a6c44: 0c0088c3 jal 0x8002230c
801a6c48: 00000000 nop
801a6c4c: 8fa40088 lw r4,0x0088(r29)
801a6c50: 00000000 nop
801a6c54: 00041840 sll r3,r4,0x01
801a6c58: 0043001a div r2,r3
801a6c5c: 00001810 mfhi r3
801a6c60: 08069b24 j 0x801a6c90
801a6c64: 00641823 subu r3,r3,r4
801a6c68: 0c0088c3 jal 0x8002230c
801a6c6c: 00000000 nop
801a6c70: 8fa40088 lw r4,0x0088(r29)
801a6c74: 00000000 nop
801a6c78: 00041823 subu r3,r0,r4
801a6c7c: 00641823 subu r3,r3,r4
801a6c80: 0043001a div r2,r3
801a6c84: 00001810 mfhi r3
801a6c88: 00000000 nop
801a6c8c: 00641821 addu r3,r3,r4
801a6c90: 02031021 addu r2,r16,r3
801a6c94: 8fa3008c lw r3,0x008c(r29)
801a6c98: 8fb0007c lw r16,0x007c(r29)
801a6c9c: a7a20010 sh r2,0x0010(r29)
801a6ca0: 00031023 subu r2,r0,r3
801a6ca4: 10620016 beq r3,r2,0x801a6d00
801a6ca8: 0043102a slt r2,r2,r3
801a6cac: 1040000a beq r2,r0,0x801a6cd8
801a6cb0: 00000000 nop
801a6cb4: 0c0088c3 jal 0x8002230c
801a6cb8: 00000000 nop
801a6cbc: 8fa4008c lw r4,0x008c(r29)
801a6cc0: 00000000 nop
801a6cc4: 00041840 sll r3,r4,0x01
801a6cc8: 0043001a div r2,r3
801a6ccc: 00001810 mfhi r3
801a6cd0: 08069b40 j 0x801a6d00
801a6cd4: 00641823 subu r3,r3,r4
801a6cd8: 0c0088c3 jal 0x8002230c
801a6cdc: 00000000 nop
801a6ce0: 8fa4008c lw r4,0x008c(r29)
801a6ce4: 00000000 nop
801a6ce8: 00041823 subu r3,r0,r4
801a6cec: 00641823 subu r3,r3,r4
801a6cf0: 0043001a div r2,r3
801a6cf4: 00001810 mfhi r3
801a6cf8: 00000000 nop
801a6cfc: 00641821 addu r3,r3,r4
801a6d00: 02031021 addu r2,r16,r3
801a6d04: 8fa30090 lw r3,0x0090(r29)
801a6d08: 8fb00080 lw r16,0x0080(r29)
801a6d0c: a7a20012 sh r2,0x0012(r29)
801a6d10: 00031023 subu r2,r0,r3
801a6d14: 10620016 beq r3,r2,0x801a6d70
801a6d18: 0043102a slt r2,r2,r3
801a6d1c: 1040000a beq r2,r0,0x801a6d48
801a6d20: 00000000 nop
801a6d24: 0c0088c3 jal 0x8002230c
801a6d28: 00000000 nop
801a6d2c: 8fa40090 lw r4,0x0090(r29)
801a6d30: 00000000 nop
801a6d34: 00041840 sll r3,r4,0x01
801a6d38: 0043001a div r2,r3
801a6d3c: 00001810 mfhi r3
801a6d40: 08069b5c j 0x801a6d70
801a6d44: 00641823 subu r3,r3,r4
801a6d48: 0c0088c3 jal 0x8002230c
801a6d4c: 00000000 nop
801a6d50: 8fa40090 lw r4,0x0090(r29)
801a6d54: 00000000 nop
801a6d58: 00041823 subu r3,r0,r4
801a6d5c: 00641823 subu r3,r3,r4
801a6d60: 0043001a div r2,r3
801a6d64: 00001810 mfhi r3
801a6d68: 00000000 nop
801a6d6c: 00641821 addu r3,r3,r4
801a6d70: 02031021 addu r2,r16,r3
801a6d74: 27a40010 addiu r4,r29,0x0010
801a6d78: 3c10801c lui r16,0x801c
801a6d7c: 2610accc addiu r16,r16,-0x5334
801a6d80: 02002821 addu r5,r16,r0
801a6d84: 0c007596 jal 0x8001d658
801a6d88: a7a20014 sh r2,0x0014(r29)
801a6d8c: 0c00742a jal 0x8001d0a8
801a6d90: 02002021 addu r4,r16,r0
801a6d94: a7a00014 sh r0,0x0014(r29)
801a6d98: 16910003 bne r20,r17,0x801a6da8
801a6d9c: a7a00010 sh r0,0x0010(r29)
801a6da0: 08069b7b j 0x801a6dec
801a6da4: a7b50012 sh r21,0x0012(r29)
801a6da8: 0234102a slt r2,r17,r20
801a6dac: 10400008 beq r2,r0,0x801a6dd0
801a6db0: 00000000 nop
801a6db4: 0c0088c3 jal 0x8002230c
801a6db8: 00000000 nop
801a6dbc: 02911823 subu r3,r20,r17
801a6dc0: 0043001a div r2,r3
801a6dc4: 00001810 mfhi r3
801a6dc8: 08069b7a j 0x801a6de8
801a6dcc: 03c31821 addu r3,r30,r3
801a6dd0: 0c0088c3 jal 0x8002230c
801a6dd4: 00000000 nop
801a6dd8: 0056001a div r2,r22
801a6ddc: 00001810 mfhi r3
801a6de0: 00000000 nop
801a6de4: 02a31821 addu r3,r21,r3
801a6de8: a7a30012 sh r3,0x0012(r29)
801a6dec: 27a40010 addiu r4,r29,0x0010
801a6df0: 27a50018 addiu r5,r29,0x0018
801a6df4: 0c00755e jal 0x8001d578
801a6df8: 27a60024 addiu r6,r29,0x0024
801a6dfc: 8fa20018 lw r2,0x0018(r29)
801a6e00: 00000000 nop
801a6e04: 000210c0 sll r2,r2,0x03
801a6e08: ae420018 sw r2,0x0018(r18)
801a6e0c: 8fa2001c lw r2,0x001c(r29)
801a6e10: 00000000 nop
801a6e14: 000210c0 sll r2,r2,0x03
801a6e18: ae42001c sw r2,0x001c(r18)
801a6e1c: 8fa20020 lw r2,0x0020(r29)
801a6e20: 26730001 addiu r19,r19,0x0001
801a6e24: 000210c0 sll r2,r2,0x03
801a6e28: ae420020 sw r2,0x0020(r18)
801a6e2c: 8fa800d8 lw r8,0x00d8(r29)
801a6e30: 8e520004 lw r18,0x0004(r18)
801a6e34: 0268102a slt r2,r19,r8
801a6e38: 104000fc beq r2,r0,0x801a722c
801a6e3c: 00000000 nop
801a6e40: 08069b0a j 0x801a6c28
801a6e44: 00000000 nop

801a6e48: 8fa800d8 lw r8,0x00d8(r29)
801a6e4c: 00000000 nop
801a6e50: 190000f6 blez r8,0x801a722c
801a6e54: 00009821 addu r19,r0,r0
801a6e58: 00151400 sll r2,r21,0x10
801a6e5c: 0002a403 sra r20,r2,0x10
801a6e60: 001e1400 sll r2,r30,0x10
801a6e64: 00028c03 sra r17,r2,0x10
801a6e68: 02344023 subu r8,r17,r20
801a6e6c: afa80150 sw r8,0x0150(r29)
801a6e70: 27b60018 addiu r22,r29,0x0018

801a6e74: 8fa30088 lw r3,0x0088(r29)
801a6e78: 8fb00078 lw r16,0x0078(r29)
801a6e7c: 00031023 subu r2,r0,r3
801a6e80: 10620016 beq r3,r2,0x801a6edc
801a6e84: 0043102a slt r2,r2,r3
801a6e88: 1040000a beq r2,r0,0x801a6eb4
801a6e8c: 00000000 nop
801a6e90: 0c0088c3 jal 0x8002230c
801a6e94: 00000000 nop
801a6e98: 8fa40088 lw r4,0x0088(r29)
801a6e9c: 00000000 nop
801a6ea0: 00041840 sll r3,r4,0x01
801a6ea4: 0043001a div r2,r3
801a6ea8: 00001810 mfhi r3
801a6eac: 08069bb7 j 0x801a6edc
801a6eb0: 00641823 subu r3,r3,r4
801a6eb4: 0c0088c3 jal 0x8002230c
801a6eb8: 00000000 nop
801a6ebc: 8fa40088 lw r4,0x0088(r29)
801a6ec0: 00000000 nop
801a6ec4: 00041823 subu r3,r0,r4
801a6ec8: 00641823 subu r3,r3,r4
801a6ecc: 0043001a div r2,r3
801a6ed0: 00001810 mfhi r3
801a6ed4: 00000000 nop
801a6ed8: 00641821 addu r3,r3,r4
801a6edc: 02031021 addu r2,r16,r3
801a6ee0: 8fa3008c lw r3,0x008c(r29)
801a6ee4: 8fb0007c lw r16,0x007c(r29)
801a6ee8: a7a20010 sh r2,0x0010(r29)
801a6eec: 00031023 subu r2,r0,r3
801a6ef0: 10620016 beq r3,r2,0x801a6f4c
801a6ef4: 0043102a slt r2,r2,r3
801a6ef8: 1040000a beq r2,r0,0x801a6f24
801a6efc: 00000000 nop
801a6f00: 0c0088c3 jal 0x8002230c
801a6f04: 00000000 nop
801a6f08: 8fa4008c lw r4,0x008c(r29)
801a6f0c: 00000000 nop
801a6f10: 00041840 sll r3,r4,0x01
801a6f14: 0043001a div r2,r3
801a6f18: 00001810 mfhi r3
801a6f1c: 08069bd3 j 0x801a6f4c
801a6f20: 00641823 subu r3,r3,r4
801a6f24: 0c0088c3 jal 0x8002230c
801a6f28: 00000000 nop
801a6f2c: 8fa4008c lw r4,0x008c(r29)
801a6f30: 00000000 nop
801a6f34: 00041823 subu r3,r0,r4
801a6f38: 00641823 subu r3,r3,r4
801a6f3c: 0043001a div r2,r3
801a6f40: 00001810 mfhi r3
801a6f44: 00000000 nop
801a6f48: 00641821 addu r3,r3,r4
801a6f4c: 02031021 addu r2,r16,r3
801a6f50: 8fa30090 lw r3,0x0090(r29)
801a6f54: 8fb00080 lw r16,0x0080(r29)
801a6f58: a7a20012 sh r2,0x0012(r29)
801a6f5c: 00031023 subu r2,r0,r3
801a6f60: 10620016 beq r3,r2,0x801a6fbc
801a6f64: 0043102a slt r2,r2,r3
801a6f68: 1040000a beq r2,r0,0x801a6f94
801a6f6c: 00000000 nop
801a6f70: 0c0088c3 jal 0x8002230c
801a6f74: 00000000 nop
801a6f78: 8fa40090 lw r4,0x0090(r29)
801a6f7c: 00000000 nop
801a6f80: 00041840 sll r3,r4,0x01
801a6f84: 0043001a div r2,r3
801a6f88: 00001810 mfhi r3
801a6f8c: 08069bef j 0x801a6fbc
801a6f90: 00641823 subu r3,r3,r4
801a6f94: 0c0088c3 jal 0x8002230c
801a6f98: 00000000 nop
801a6f9c: 8fa40090 lw r4,0x0090(r29)
801a6fa0: 00000000 nop
801a6fa4: 00041823 subu r3,r0,r4
801a6fa8: 00641823 subu r3,r3,r4
801a6fac: 0043001a div r2,r3
801a6fb0: 00001810 mfhi r3
801a6fb4: 00000000 nop
801a6fb8: 00641821 addu r3,r3,r4
801a6fbc: 02031021 addu r2,r16,r3
801a6fc0: 27a40010 addiu r4,r29,0x0010
801a6fc4: 3c10801c lui r16,0x801c
801a6fc8: 2610accc addiu r16,r16,-0x5334
801a6fcc: 02002821 addu r5,r16,r0
801a6fd0: 0c007596 jal 0x8001d658
801a6fd4: a7a20014 sh r2,0x0014(r29)
801a6fd8: 0c00742a jal 0x8001d0a8
801a6fdc: 02002021 addu r4,r16,r0
801a6fe0: a7a00014 sh r0,0x0014(r29)
801a6fe4: 16910003 bne r20,r17,0x801a6ff4
801a6fe8: a7a00010 sh r0,0x0010(r29)
801a6fec: 08069c10 j 0x801a7040
801a6ff0: a7b50012 sh r21,0x0012(r29)
801a6ff4: 0234102a slt r2,r17,r20
801a6ff8: 10400008 beq r2,r0,0x801a701c
801a6ffc: 00000000 nop
801a7000: 0c0088c3 jal 0x8002230c
801a7004: 00000000 nop
801a7008: 02911823 subu r3,r20,r17
801a700c: 0043001a div r2,r3
801a7010: 00001810 mfhi r3
801a7014: 08069c0f j 0x801a703c
801a7018: 03c31821 addu r3,r30,r3
801a701c: 0c0088c3 jal 0x8002230c
801a7020: 00000000 nop
801a7024: 8fa80150 lw r8,0x0150(r29)
801a7028: 00000000 nop
801a702c: 0048001a div r2,r8
801a7030: 00001810 mfhi r3
801a7034: 00000000 nop
801a7038: 02a31821 addu r3,r21,r3
801a703c: a7a30012 sh r3,0x0012(r29)
801a7040: 27a40010 addiu r4,r29,0x0010
801a7044: 02c02821 addu r5,r22,r0
801a7048: 27b00024 addiu r16,r29,0x0024
801a704c: 0c00755e jal 0x8001d578
801a7050: 02003021 addu r6,r16,r0
801a7054: 0c00742a jal 0x8001d0a8
801a7058: 27a40030 addiu r4,r29,0x0030
801a705c: 27a40010 addiu r4,r29,0x0010
801a7060: 02c02821 addu r5,r22,r0
801a7064: 97a20018 lhu r2,0x0018(r29)
801a7068: 97a3001c lhu r3,0x001c(r29)
801a706c: 97a70020 lhu r7,0x0020(r29)
801a7070: 02003021 addu r6,r16,r0
801a7074: a7a20010 sh r2,0x0010(r29)
801a7078: a7a30012 sh r3,0x0012(r29)
801a707c: 0c00755e jal 0x8001d578
801a7080: a7a70014 sh r7,0x0014(r29)
801a7084: 8fa20018 lw r2,0x0018(r29)
801a7088: 00000000 nop
801a708c: 000210c0 sll r2,r2,0x03
801a7090: ae420018 sw r2,0x0018(r18)
801a7094: 8fa2001c lw r2,0x001c(r29)
801a7098: 00000000 nop
801a709c: 000210c0 sll r2,r2,0x03
801a70a0: ae42001c sw r2,0x001c(r18)
801a70a4: 8fa20020 lw r2,0x0020(r29)
801a70a8: 26730001 addiu r19,r19,0x0001
801a70ac: 000210c0 sll r2,r2,0x03
801a70b0: ae420020 sw r2,0x0020(r18)
801a70b4: 8fa800d8 lw r8,0x00d8(r29)
801a70b8: 8e520004 lw r18,0x0004(r18)
801a70bc: 0268102a slt r2,r19,r8
801a70c0: 1040005a beq r2,r0,0x801a722c
801a70c4: 00000000 nop
801a70c8: 08069b9d j 0x801a6e74
801a70cc: 00000000 nop

801a70d0: 8fa800d8 lw r8,0x00d8(r29)
801a70d4: 00000000 nop
801a70d8: 19000054 blez r8,0x801a722c
801a70dc: 00009821 addu r19,r0,r0
801a70e0: 00151400 sll r2,r21,0x10
801a70e4: 0002a403 sra r20,r2,0x10
801a70e8: 001e1400 sll r2,r30,0x10
801a70ec: 00028c03 sra r17,r2,0x10
801a70f0: 0234b023 subu r22,r17,r20

801a70f4: 8e42000c lw r2,0x000c(r18)
801a70f8: 8fa30058 lw r3,0x0058(r29)
801a70fc: 00021303 sra r2,r2,0x0c
801a7100: 00621823 subu r3,r3,r2
801a7104: afa30018 sw r3,0x0018(r29)
801a7108: 8e420010 lw r2,0x0010(r18)
801a710c: 8fa3005c lw r3,0x005c(r29)
801a7110: 00021303 sra r2,r2,0x0c
801a7114: 00621823 subu r3,r3,r2
801a7118: afa3001c sw r3,0x001c(r29)
801a711c: 8e420014 lw r2,0x0014(r18)
801a7120: 8fa30060 lw r3,0x0060(r29)
801a7124: 00021303 sra r2,r2,0x0c
801a7128: 00621823 subu r3,r3,r2
801a712c: 16910003 bne r20,r17,0x801a713c
801a7130: afa30020 sw r3,0x0020(r29)
801a7134: 08069c5f j 0x801a717c
801a7138: 02a08021 addu r16,r21,r0
801a713c: 0234102a slt r2,r17,r20
801a7140: 10400008 beq r2,r0,0x801a7164
801a7144: 00000000 nop
801a7148: 0c0088c3 jal 0x8002230c
801a714c: 00000000 nop
801a7150: 02911823 subu r3,r20,r17
801a7154: 0043001a div r2,r3
801a7158: 00001810 mfhi r3
801a715c: 08069c5f j 0x801a717c
801a7160: 03c38021 addu r16,r30,r3
801a7164: 0c0088c3 jal 0x8002230c
801a7168: 00000000 nop
801a716c: 0056001a div r2,r22
801a7170: 00001810 mfhi r3
801a7174: 00000000 nop
801a7178: 02a38021 addu r16,r21,r3
801a717c: 8fa20018 lw r2,0x0018(r29)
801a7180: 00000000 nop
801a7184: 14400009 bne r2,r0,0x801a71ac
801a7188: 27a40018 addiu r4,r29,0x0018
801a718c: 8fa2001c lw r2,0x001c(r29)
801a7190: 00000000 nop
801a7194: 14400005 bne r2,r0,0x801a71ac
801a7198: 00000000 nop
801a719c: 8fa20020 lw r2,0x0020(r29)
801a71a0: 00000000 nop
801a71a4: 10400017 beq r2,r0,0x801a7204
801a71a8: 00101400 sll r2,r16,0x10
801a71ac: 0c00701a jal 0x8001c068
801a71b0: 00802821 addu r5,r4,r0
801a71b4: 00101c00 sll r3,r16,0x10
801a71b8: 8fa20018 lw r2,0x0018(r29)
801a71bc: 00031c03 sra r3,r3,0x10
801a71c0: 00620018 mult r3,r2
801a71c4: 00001012 mflo r2
801a71c8: 00021243 sra r2,r2,0x09
801a71cc: ae420018 sw r2,0x0018(r18)
801a71d0: 8fa2001c lw r2,0x001c(r29)
801a71d4: 00000000 nop
801a71d8: 00620018 mult r3,r2
801a71dc: 00001012 mflo r2
801a71e0: 00021243 sra r2,r2,0x09
801a71e4: ae42001c sw r2,0x001c(r18)
801a71e8: 8fa20020 lw r2,0x0020(r29)
801a71ec: 00000000 nop
801a71f0: 00620018 mult r3,r2
801a71f4: 00001012 mflo r2
801a71f8: 00021243 sra r2,r2,0x09
801a71fc: 08069c85 j 0x801a7214
801a7200: ae420020 sw r2,0x0020(r18)
801a7204: 00021343 sra r2,r2,0x0d
801a7208: ae42001c sw r2,0x001c(r18)
801a720c: ae400020 sw r0,0x0020(r18)
801a7210: ae400018 sw r0,0x0018(r18)
801a7214: 26730001 addiu r19,r19,0x0001
801a7218: 8fa800d8 lw r8,0x00d8(r29)
801a721c: 8e520004 lw r18,0x0004(r18)
801a7220: 0268102a slt r2,r19,r8
801a7224: 1440ffb3 bne r2,r0,0x801a70f4
801a7228: 00000000 nop

801a722c: 8ee2000c lw r2,0x000c(r23)
801a7230: 00000000 nop
801a7234: 3045000f andi r5,r2,0x000f
801a7238: 24a5ffff addiu r5,r5,-0x0001
801a723c: 2402ffff addiu r2,r0,-0x0001
801a7240: 10a2000b beq r5,r2,0x801a7270
801a7244: 00051080 sll r2,r5,0x02
801a7248: 00451021 addu r2,r2,r5
801a724c: 00021140 sll r2,r2,0x05
801a7250: 3c03801c lui r3,0x801c
801a7254: 8c63bf7c lw r3,-0x4084(r3)
801a7258: 8fa800d0 lw r8,0x00d0(r29)
801a725c: 00431021 addu r2,r2,r3
801a7260: 00481021 addu r2,r2,r8
801a7264: 90500004 lbu r16,0x0004(r2)
801a7268: 08069c9d j 0x801a7274
801a726c: 00000000 nop
801a7270: 00008021 addu r16,r0,r0
801a7274: 86e40064 lh r4,0x0064(r23)
801a7278: 86e50070 lh r5,0x0070(r23)
801a727c: 0c06a2f8 jal 0x801a8be0
801a7280: 02003021 addu r6,r16,r0
801a7284: a7a20098 sh r2,0x0098(r29)
801a7288: 86e40066 lh r4,0x0066(r23)
801a728c: 86e50072 lh r5,0x0072(r23)
801a7290: 0c06a2f8 jal 0x801a8be0
801a7294: 02003021 addu r6,r16,r0
801a7298: a7a200a0 sh r2,0x00a0(r29)
801a729c: 86e40068 lh r4,0x0068(r23)
801a72a0: 86e50074 lh r5,0x0074(r23)
801a72a4: 0c06a2f8 jal 0x801a8be0
801a72a8: 02003021 addu r6,r16,r0
801a72ac: a7a2009a sh r2,0x009a(r29)
801a72b0: 86e4006a lh r4,0x006a(r23)
801a72b4: 86e50076 lh r5,0x0076(r23)
801a72b8: 0c06a2f8 jal 0x801a8be0
801a72bc: 02003021 addu r6,r16,r0
801a72c0: a7a200a2 sh r2,0x00a2(r29)
801a72c4: 86e4006c lh r4,0x006c(r23)
801a72c8: 86e50078 lh r5,0x0078(r23)
801a72cc: 0c06a2f8 jal 0x801a8be0
801a72d0: 02003021 addu r6,r16,r0
801a72d4: a7a2009c sh r2,0x009c(r29)
801a72d8: 86e4006e lh r4,0x006e(r23)
801a72dc: 86e5007a lh r5,0x007a(r23)
801a72e0: 0c06a2f8 jal 0x801a8be0
801a72e4: 02003021 addu r6,r16,r0
801a72e8: 8fa800f8 lw r8,0x00f8(r29)
801a72ec: 00000000 nop
801a72f0: 11000019 beq r8,r0,0x801a7358
801a72f4: a7a200a4 sh r2,0x00a4(r29)
801a72f8: 0c00742a jal 0x8001d0a8
801a72fc: 27a40030 addiu r4,r29,0x0030
801a7300: 27a40098 addiu r4,r29,0x0098
801a7304: 27b00018 addiu r16,r29,0x0018
801a7308: 02002821 addu r5,r16,r0
801a730c: 27b10024 addiu r17,r29,0x0024
801a7310: 0c00755e jal 0x8001d578
801a7314: 02203021 addu r6,r17,r0
801a7318: 27a400a0 addiu r4,r29,0x00a0
801a731c: 02002821 addu r5,r16,r0
801a7320: 97a20018 lhu r2,0x0018(r29)
801a7324: 97a3001c lhu r3,0x001c(r29)
801a7328: 97a70020 lhu r7,0x0020(r29)
801a732c: 02203021 addu r6,r17,r0
801a7330: a7a20098 sh r2,0x0098(r29)
801a7334: a7a3009a sh r3,0x009a(r29)
801a7338: 0c00755e jal 0x8001d578
801a733c: a7a7009c sh r7,0x009c(r29)
801a7340: 97a20018 lhu r2,0x0018(r29)
801a7344: 97a3001c lhu r3,0x001c(r29)
801a7348: 97a40020 lhu r4,0x0020(r29)
801a734c: a7a200a0 sh r2,0x00a0(r29)
801a7350: a7a300a2 sh r3,0x00a2(r29)
801a7354: a7a400a4 sh r4,0x00a4(r29)
801a7358: 8ee2000c lw r2,0x000c(r23)
801a735c: 00000000 nop
801a7360: 00021102 srl r2,r2,0x04
801a7364: 3045000f andi r5,r2,0x000f
801a7368: 24a5ffff addiu r5,r5,-0x0001
801a736c: 2402ffff addiu r2,r0,-0x0001
801a7370: 10a2000b beq r5,r2,0x801a73a0
801a7374: 00051080 sll r2,r5,0x02
801a7378: 00451021 addu r2,r2,r5
801a737c: 00021140 sll r2,r2,0x05
801a7380: 3c03801c lui r3,0x801c
801a7384: 8c63bf7c lw r3,-0x4084(r3)
801a7388: 8fa800d0 lw r8,0x00d0(r29)
801a738c: 00431021 addu r2,r2,r3
801a7390: 00481021 addu r2,r2,r8
801a7394: 90500004 lbu r16,0x0004(r2)
801a7398: 08069ce9 j 0x801a73a4
801a739c: 00000000 nop
801a73a0: 00008021 addu r16,r0,r0
801a73a4: 86e4007c lh r4,0x007c(r23)
801a73a8: 86e50088 lh r5,0x0088(r23)
801a73ac: 0c06a2f8 jal 0x801a8be0
801a73b0: 02003021 addu r6,r16,r0
801a73b4: a7a200a8 sh r2,0x00a8(r29)
801a73b8: 86e4007e lh r4,0x007e(r23)
801a73bc: 86e5008a lh r5,0x008a(r23)
801a73c0: 0c06a2f8 jal 0x801a8be0
801a73c4: 02003021 addu r6,r16,r0
801a73c8: a7a200b0 sh r2,0x00b0(r29)
801a73cc: 86e40080 lh r4,0x0080(r23)
801a73d0: 86e5008c lh r5,0x008c(r23)
801a73d4: 0c06a2f8 jal 0x801a8be0
801a73d8: 02003021 addu r6,r16,r0
801a73dc: a7a200aa sh r2,0x00aa(r29)
801a73e0: 86e40082 lh r4,0x0082(r23)
801a73e4: 86e5008e lh r5,0x008e(r23)
801a73e8: 0c06a2f8 jal 0x801a8be0
801a73ec: 02003021 addu r6,r16,r0
801a73f0: a7a200b2 sh r2,0x00b2(r29)
801a73f4: 86e40084 lh r4,0x0084(r23)
801a73f8: 86e50090 lh r5,0x0090(r23)
801a73fc: 0c06a2f8 jal 0x801a8be0
801a7400: 02003021 addu r6,r16,r0
801a7404: a7a200ac sh r2,0x00ac(r29)
801a7408: 86e40086 lh r4,0x0086(r23)
801a740c: 86e50092 lh r5,0x0092(r23)
801a7410: 0c06a2f8 jal 0x801a8be0
801a7414: 02003021 addu r6,r16,r0
801a7418: 8fa800f8 lw r8,0x00f8(r29)
801a741c: 00000000 nop
801a7420: 11000017 beq r8,r0,0x801a7480
801a7424: a7a200b4 sh r2,0x00b4(r29)
801a7428: 27a400a8 addiu r4,r29,0x00a8
801a742c: 27b00018 addiu r16,r29,0x0018
801a7430: 02002821 addu r5,r16,r0
801a7434: 27b10024 addiu r17,r29,0x0024
801a7438: 0c00755e jal 0x8001d578
801a743c: 02203021 addu r6,r17,r0
801a7440: 27a400b0 addiu r4,r29,0x00b0
801a7444: 02002821 addu r5,r16,r0
801a7448: 97a20018 lhu r2,0x0018(r29)
801a744c: 97a3001c lhu r3,0x001c(r29)
801a7450: 97a70020 lhu r7,0x0020(r29)
801a7454: 02203021 addu r6,r17,r0
801a7458: a7a200a8 sh r2,0x00a8(r29)
801a745c: a7a300aa sh r3,0x00aa(r29)
801a7460: 0c00755e jal 0x8001d578
801a7464: a7a700ac sh r7,0x00ac(r29)
801a7468: 97a20018 lhu r2,0x0018(r29)
801a746c: 97a3001c lhu r3,0x001c(r29)
801a7470: 97a40020 lhu r4,0x0020(r29)
801a7474: a7a200b0 sh r2,0x00b0(r29)
801a7478: a7a300b2 sh r3,0x00b2(r29)
801a747c: a7a400b4 sh r4,0x00b4(r29)
801a7480: 8fa800d8 lw r8,0x00d8(r29)
801a7484: 8fb200e0 lw r18,0x00e0(r29)
801a7488: 19000097 blez r8,0x801a76e8
801a748c: 00009821 addu r19,r0,r0

801a7490: 87a30098 lh r3,0x0098(r29)
801a7494: 87a200a0 lh r2,0x00a0(r29)
801a7498: 00000000 nop
801a749c: 10620013 beq r3,r2,0x801a74ec
801a74a0: 0043102a slt r2,r2,r3
801a74a4: 10400007 beq r2,r0,0x801a74c4
801a74a8: 00000000 nop
801a74ac: 0c0088c3 jal 0x8002230c
801a74b0: 00000000 nop
801a74b4: 87a30098 lh r3,0x0098(r29)
801a74b8: 87a400a0 lh r4,0x00a0(r29)
801a74bc: 08069d37 j 0x801a74dc
801a74c0: 00641823 subu r3,r3,r4
801a74c4: 0c0088c3 jal 0x8002230c
801a74c8: 00000000 nop
801a74cc: 87a300a0 lh r3,0x00a0(r29)
801a74d0: 87a40098 lh r4,0x0098(r29)
801a74d4: 00000000 nop
801a74d8: 00641823 subu r3,r3,r4
801a74dc: 0043001a div r2,r3
801a74e0: 00001810 mfhi r3
801a74e4: 00000000 nop
801a74e8: 00641821 addu r3,r3,r4
801a74ec: ae430024 sw r3,0x0024(r18)
801a74f0: 87a3009a lh r3,0x009a(r29)
801a74f4: 87a200a2 lh r2,0x00a2(r29)
801a74f8: 00000000 nop
801a74fc: 10620013 beq r3,r2,0x801a754c
801a7500: 0043102a slt r2,r2,r3
801a7504: 10400007 beq r2,r0,0x801a7524
801a7508: 00000000 nop
801a750c: 0c0088c3 jal 0x8002230c
801a7510: 00000000 nop
801a7514: 87a3009a lh r3,0x009a(r29)
801a7518: 87a400a2 lh r4,0x00a2(r29)
801a751c: 08069d4f j 0x801a753c
801a7520: 00641823 subu r3,r3,r4
801a7524: 0c0088c3 jal 0x8002230c
801a7528: 00000000 nop
801a752c: 87a300a2 lh r3,0x00a2(r29)
801a7530: 87a4009a lh r4,0x009a(r29)
801a7534: 00000000 nop
801a7538: 00641823 subu r3,r3,r4
801a753c: 0043001a div r2,r3
801a7540: 00001810 mfhi r3
801a7544: 00000000 nop
801a7548: 00641821 addu r3,r3,r4
801a754c: ae430028 sw r3,0x0028(r18)
801a7550: 87a3009c lh r3,0x009c(r29)
801a7554: 87a200a4 lh r2,0x00a4(r29)
801a7558: 00000000 nop
801a755c: 10620013 beq r3,r2,0x801a75ac
801a7560: 0043102a slt r2,r2,r3
801a7564: 10400007 beq r2,r0,0x801a7584
801a7568: 00000000 nop
801a756c: 0c0088c3 jal 0x8002230c
801a7570: 00000000 nop
801a7574: 87a3009c lh r3,0x009c(r29)
801a7578: 87a400a4 lh r4,0x00a4(r29)
801a757c: 08069d67 j 0x801a759c
801a7580: 00641823 subu r3,r3,r4
801a7584: 0c0088c3 jal 0x8002230c
801a7588: 00000000 nop
801a758c: 87a300a4 lh r3,0x00a4(r29)
801a7590: 87a4009c lh r4,0x009c(r29)
801a7594: 00000000 nop
801a7598: 00641823 subu r3,r3,r4
801a759c: 0043001a div r2,r3
801a75a0: 00001810 mfhi r3
801a75a4: 00000000 nop
801a75a8: 00641821 addu r3,r3,r4
801a75ac: ae43002c sw r3,0x002c(r18)
801a75b0: 87a300a8 lh r3,0x00a8(r29)
801a75b4: 87a200b0 lh r2,0x00b0(r29)
801a75b8: 00000000 nop
801a75bc: 10620013 beq r3,r2,0x801a760c
801a75c0: 0043102a slt r2,r2,r3
801a75c4: 10400007 beq r2,r0,0x801a75e4
801a75c8: 00000000 nop
801a75cc: 0c0088c3 jal 0x8002230c
801a75d0: 00000000 nop
801a75d4: 87a300a8 lh r3,0x00a8(r29)
801a75d8: 87a400b0 lh r4,0x00b0(r29)
801a75dc: 08069d7f j 0x801a75fc
801a75e0: 00641823 subu r3,r3,r4
801a75e4: 0c0088c3 jal 0x8002230c
801a75e8: 00000000 nop
801a75ec: 87a300b0 lh r3,0x00b0(r29)
801a75f0: 87a400a8 lh r4,0x00a8(r29)
801a75f4: 00000000 nop
801a75f8: 00641823 subu r3,r3,r4
801a75fc: 0043001a div r2,r3
801a7600: 00001810 mfhi r3
801a7604: 00000000 nop
801a7608: 00641821 addu r3,r3,r4
801a760c: ae430030 sw r3,0x0030(r18)
801a7610: 87a300aa lh r3,0x00aa(r29)
801a7614: 87a200b2 lh r2,0x00b2(r29)
801a7618: 00000000 nop
801a761c: 10620013 beq r3,r2,0x801a766c
801a7620: 0043102a slt r2,r2,r3
801a7624: 10400007 beq r2,r0,0x801a7644
801a7628: 00000000 nop
801a762c: 0c0088c3 jal 0x8002230c
801a7630: 00000000 nop
801a7634: 87a300aa lh r3,0x00aa(r29)
801a7638: 87a400b2 lh r4,0x00b2(r29)
801a763c: 08069d97 j 0x801a765c
801a7640: 00641823 subu r3,r3,r4
801a7644: 0c0088c3 jal 0x8002230c
801a7648: 00000000 nop
801a764c: 87a300b2 lh r3,0x00b2(r29)
801a7650: 87a400aa lh r4,0x00aa(r29)
801a7654: 00000000 nop
801a7658: 00641823 subu r3,r3,r4
801a765c: 0043001a div r2,r3
801a7660: 00001810 mfhi r3
801a7664: 00000000 nop
801a7668: 00641821 addu r3,r3,r4
801a766c: ae430034 sw r3,0x0034(r18)
801a7670: 87a300ac lh r3,0x00ac(r29)
801a7674: 87a200b4 lh r2,0x00b4(r29)
801a7678: 00000000 nop
801a767c: 10620013 beq r3,r2,0x801a76cc
801a7680: 0043102a slt r2,r2,r3
801a7684: 10400007 beq r2,r0,0x801a76a4
801a7688: 00000000 nop
801a768c: 0c0088c3 jal 0x8002230c
801a7690: 00000000 nop
801a7694: 87a300ac lh r3,0x00ac(r29)
801a7698: 87a400b4 lh r4,0x00b4(r29)
801a769c: 08069daf j 0x801a76bc
801a76a0: 00641823 subu r3,r3,r4
801a76a4: 0c0088c3 jal 0x8002230c
801a76a8: 00000000 nop
801a76ac: 87a300b4 lh r3,0x00b4(r29)
801a76b0: 87a400ac lh r4,0x00ac(r29)
801a76b4: 00000000 nop
801a76b8: 00641823 subu r3,r3,r4
801a76bc: 0043001a div r2,r3
801a76c0: 00001810 mfhi r3
801a76c4: 00000000 nop
801a76c8: 00641821 addu r3,r3,r4
801a76cc: 26730001 addiu r19,r19,0x0001
801a76d0: ae430038 sw r3,0x0038(r18)
801a76d4: 8fa800d8 lw r8,0x00d8(r29)
801a76d8: 8e520004 lw r18,0x0004(r18)
801a76dc: 0268102a slt r2,r19,r8
801a76e0: 1440ff6b bne r2,r0,0x801a7490
801a76e4: 00000000 nop

801a76e8: 96e2000a lhu r2,0x000a(r23)
801a76ec: 00000000 nop
801a76f0: 3045000f andi r5,r2,0x000f
801a76f4: 24a5ffff addiu r5,r5,-0x0001
801a76f8: 2402ffff addiu r2,r0,-0x0001
801a76fc: 10a2000b beq r5,r2,0x801a772c
801a7700: 00051080 sll r2,r5,0x02
801a7704: 00451021 addu r2,r2,r5
801a7708: 00021140 sll r2,r2,0x05
801a770c: 3c03801c lui r3,0x801c
801a7710: 8c63bf7c lw r3,-0x4084(r3)
801a7714: 8fa800d0 lw r8,0x00d0(r29)
801a7718: 00431021 addu r2,r2,r3
801a771c: 00481021 addu r2,r2,r8
801a7720: 90500004 lbu r16,0x0004(r2)
801a7724: 08069dcc j 0x801a7730
801a7728: 00000000 nop
801a772c: 00008021 addu r16,r0,r0
801a7730: 86e40044 lh r4,0x0044(r23)
801a7734: 86e50048 lh r5,0x0048(r23)
801a7738: 0c06a2f8 jal 0x801a8be0
801a773c: 02003021 addu r6,r16,r0
801a7740: 86e40046 lh r4,0x0046(r23)
801a7744: 86e5004a lh r5,0x004a(r23)
801a7748: 02003021 addu r6,r16,r0
801a774c: 0c06a2f8 jal 0x801a8be0
801a7750: a7a20100 sh r2,0x0100(r29)
801a7754: 8ee30008 lw r3,0x0008(r23)
801a7758: a7a20108 sh r2,0x0108(r29)
801a775c: 2402ffff addiu r2,r0,-0x0001
801a7760: 00031d02 srl r3,r3,0x14
801a7764: 3065000f andi r5,r3,0x000f
801a7768: 24a5ffff addiu r5,r5,-0x0001
801a776c: 10a2000b beq r5,r2,0x801a779c
801a7770: 00051080 sll r2,r5,0x02
801a7774: 00451021 addu r2,r2,r5
801a7778: 00021140 sll r2,r2,0x05
801a777c: 3c03801c lui r3,0x801c
801a7780: 8c63bf7c lw r3,-0x4084(r3)
801a7784: 8fa800d0 lw r8,0x00d0(r29)
801a7788: 00431021 addu r2,r2,r3
801a778c: 00481021 addu r2,r2,r8
801a7790: 90500004 lbu r16,0x0004(r2)
801a7794: 08069de8 j 0x801a77a0
801a7798: 00000000 nop
801a779c: 00008021 addu r16,r0,r0
801a77a0: 86e4004c lh r4,0x004c(r23)
801a77a4: 86e50050 lh r5,0x0050(r23)
801a77a8: 0c06a2f8 jal 0x801a8be0
801a77ac: 02003021 addu r6,r16,r0
801a77b0: 86e4004e lh r4,0x004e(r23)
801a77b4: 86e50052 lh r5,0x0052(r23)
801a77b8: 0c06a2f8 jal 0x801a8be0
801a77bc: 02003021 addu r6,r16,r0
801a77c0: 92e2000b lbu r2,0x000b(r23)
801a77c4: 00000000 nop
801a77c8: 3045000f andi r5,r2,0x000f
801a77cc: 24a5ffff addiu r5,r5,-0x0001
801a77d0: 2402ffff addiu r2,r0,-0x0001
801a77d4: 10a2000b beq r5,r2,0x801a7804
801a77d8: 00051080 sll r2,r5,0x02
801a77dc: 00451021 addu r2,r2,r5
801a77e0: 00021140 sll r2,r2,0x05
801a77e4: 3c03801c lui r3,0x801c
801a77e8: 8c63bf7c lw r3,-0x4084(r3)
801a77ec: 8fa800d0 lw r8,0x00d0(r29)
801a77f0: 00431021 addu r2,r2,r3
801a77f4: 00481021 addu r2,r2,r8
801a77f8: 90500004 lbu r16,0x0004(r2)
801a77fc: 08069e02 j 0x801a7808
801a7800: 00000000 nop
801a7804: 00008021 addu r16,r0,r0
801a7808: 86e40054 lh r4,0x0054(r23)
801a780c: 86e50058 lh r5,0x0058(r23)
801a7810: 0c06a2f8 jal 0x801a8be0
801a7814: 02003021 addu r6,r16,r0
801a7818: 86e40056 lh r4,0x0056(r23)
801a781c: 86e5005a lh r5,0x005a(r23)
801a7820: 02003021 addu r6,r16,r0
801a7824: 0c06a2f8 jal 0x801a8be0
801a7828: a7a20110 sh r2,0x0110(r29)
801a782c: 8ee3000c lw r3,0x000c(r23)
801a7830: a7a20118 sh r2,0x0118(r29)
801a7834: 2402ffff addiu r2,r0,-0x0001
801a7838: 00031a02 srl r3,r3,0x08
801a783c: 3065000f andi r5,r3,0x000f
801a7840: 24a5ffff addiu r5,r5,-0x0001
801a7844: 10a2000b beq r5,r2,0x801a7874
801a7848: 00051080 sll r2,r5,0x02
801a784c: 00451021 addu r2,r2,r5
801a7850: 00021140 sll r2,r2,0x05
801a7854: 3c03801c lui r3,0x801c
801a7858: 8c63bf7c lw r3,-0x4084(r3)
801a785c: 8fa800d0 lw r8,0x00d0(r29)
801a7860: 00431021 addu r2,r2,r3
801a7864: 00481021 addu r2,r2,r8
801a7868: 90500004 lbu r16,0x0004(r2)
801a786c: 08069e1e j 0x801a7878
801a7870: 00000000 nop
801a7874: 00008021 addu r16,r0,r0
801a7878: 86e40094 lh r4,0x0094(r23)
801a787c: 86e50098 lh r5,0x0098(r23)
801a7880: 8fb200e0 lw r18,0x00e0(r29)
801a7884: 0c06a2f8 jal 0x801a8be0
801a7888: 02003021 addu r6,r16,r0
801a788c: 86e40096 lh r4,0x0096(r23)
801a7890: 86e5009a lh r5,0x009a(r23)
801a7894: 02003021 addu r6,r16,r0
801a7898: 0c06a2f8 jal 0x801a8be0
801a789c: a7a20120 sh r2,0x0120(r29)
801a78a0: 8fa800d8 lw r8,0x00d8(r29)
801a78a4: 00009821 addu r19,r0,r0
801a78a8: 1900006a blez r8,0x801a7a54
801a78ac: a7a20128 sh r2,0x0128(r29)
801a78b0: 97a80100 lhu r8,0x0100(r29)
801a78b4: 00000000 nop
801a78b8: 00081400 sll r2,r8,0x10
801a78bc: 97a80108 lhu r8,0x0108(r29)
801a78c0: 0002f403 sra r30,r2,0x10
801a78c4: 00081400 sll r2,r8,0x10
801a78c8: 0002b403 sra r22,r2,0x10
801a78cc: 02de4023 subu r8,r22,r30
801a78d0: afa80158 sw r8,0x0158(r29)
801a78d4: 97a80110 lhu r8,0x0110(r29)
801a78d8: 00000000 nop
801a78dc: 00081400 sll r2,r8,0x10
801a78e0: 97a80118 lhu r8,0x0118(r29)
801a78e4: 0002ac03 sra r21,r2,0x10
801a78e8: 00081400 sll r2,r8,0x10
801a78ec: 0002a403 sra r20,r2,0x10
801a78f0: 02954023 subu r8,r20,r21
801a78f4: afa80160 sw r8,0x0160(r29)

801a78f8: 17d60004 bne r30,r22,0x801a790c
801a78fc: 02de102a slt r2,r22,r30
801a7900: 97a80100 lhu r8,0x0100(r29)
801a7904: 08069e57 j 0x801a795c
801a7908: a6480008 sh r8,0x0008(r18)
801a790c: 10400009 beq r2,r0,0x801a7934
801a7910: 00000000 nop
801a7914: 0c0088c3 jal 0x8002230c
801a7918: 00000000 nop
801a791c: 03d61823 subu r3,r30,r22
801a7920: 0043001a div r2,r3
801a7924: 00001810 mfhi r3
801a7928: 97a80108 lhu r8,0x0108(r29)
801a792c: 08069e56 j 0x801a7958
801a7930: 01031821 addu r3,r8,r3
801a7934: 0c0088c3 jal 0x8002230c
801a7938: 00000000 nop
801a793c: 8fa80158 lw r8,0x0158(r29)
801a7940: 00000000 nop
801a7944: 0048001a div r2,r8
801a7948: 00001810 mfhi r3
801a794c: 97a80100 lhu r8,0x0100(r29)
801a7950: 00000000 nop
801a7954: 01031821 addu r3,r8,r3
801a7958: a6430008 sh r3,0x0008(r18)
801a795c: 16b40004 bne r21,r20,0x801a7970
801a7960: 0295102a slt r2,r20,r21
801a7964: 97a80110 lhu r8,0x0110(r29)
801a7968: 08069e70 j 0x801a79c0
801a796c: a648000a sh r8,0x000a(r18)
801a7970: 10400009 beq r2,r0,0x801a7998
801a7974: 00000000 nop
801a7978: 0c0088c3 jal 0x8002230c
801a797c: 00000000 nop
801a7980: 02b41823 subu r3,r21,r20
801a7984: 0043001a div r2,r3
801a7988: 00001810 mfhi r3
801a798c: 97a80118 lhu r8,0x0118(r29)
801a7990: 08069e6f j 0x801a79bc
801a7994: 01031821 addu r3,r8,r3
801a7998: 0c0088c3 jal 0x8002230c
801a799c: 00000000 nop
801a79a0: 8fa80160 lw r8,0x0160(r29)
801a79a4: 00000000 nop
801a79a8: 0048001a div r2,r8
801a79ac: 00001810 mfhi r3
801a79b0: 97a80110 lhu r8,0x0110(r29)
801a79b4: 00000000 nop
801a79b8: 01031821 addu r3,r8,r3
801a79bc: a643000a sh r3,0x000a(r18)
801a79c0: 97a80120 lhu r8,0x0120(r29)
801a79c4: 00000000 nop
801a79c8: 00081400 sll r2,r8,0x10
801a79cc: 97a80128 lhu r8,0x0128(r29)
801a79d0: 00028c03 sra r17,r2,0x10
801a79d4: 00081400 sll r2,r8,0x10
801a79d8: 00028403 sra r16,r2,0x10
801a79dc: 16300004 bne r17,r16,0x801a79f0
801a79e0: 0211102a slt r2,r16,r17
801a79e4: 97a80120 lhu r8,0x0120(r29)
801a79e8: 08069e8f j 0x801a7a3c
801a79ec: a6480042 sh r8,0x0042(r18)
801a79f0: 10400009 beq r2,r0,0x801a7a18
801a79f4: 00000000 nop
801a79f8: 0c0088c3 jal 0x8002230c
801a79fc: 00000000 nop
801a7a00: 02301823 subu r3,r17,r16
801a7a04: 0043001a div r2,r3
801a7a08: 00001810 mfhi r3
801a7a0c: 97a80128 lhu r8,0x0128(r29)
801a7a10: 08069e8e j 0x801a7a38
801a7a14: 01031821 addu r3,r8,r3
801a7a18: 0c0088c3 jal 0x8002230c
801a7a1c: 00000000 nop
801a7a20: 02111823 subu r3,r16,r17
801a7a24: 0043001a div r2,r3
801a7a28: 00001810 mfhi r3
801a7a2c: 97a80120 lhu r8,0x0120(r29)
801a7a30: 00000000 nop
801a7a34: 01031821 addu r3,r8,r3
801a7a38: a6430042 sh r3,0x0042(r18)
801a7a3c: 26730001 addiu r19,r19,0x0001
801a7a40: 8fa800d8 lw r8,0x00d8(r29)
801a7a44: 8e520004 lw r18,0x0004(r18)
801a7a48: 0268102a slt r2,r19,r8
801a7a4c: 1440ffaa bne r2,r0,0x801a78f8
801a7a50: 00000000 nop

801a7a54: 8ee2000c lw r2,0x000c(r23)
801a7a58: 00000000 nop
801a7a5c: 00021302 srl r2,r2,0x0c
801a7a60: 3045000f andi r5,r2,0x000f
801a7a64: 24a5ffff addiu r5,r5,-0x0001
801a7a68: 2402ffff addiu r2,r0,-0x0001
801a7a6c: 10a2000b beq r5,r2,0x801a7a9c
801a7a70: 00051080 sll r2,r5,0x02
801a7a74: 00451021 addu r2,r2,r5
801a7a78: 00021140 sll r2,r2,0x05
801a7a7c: 3c03801c lui r3,0x801c
801a7a80: 8c63bf7c lw r3,-0x4084(r3)
801a7a84: 8fa800d0 lw r8,0x00d0(r29)
801a7a88: 00431021 addu r2,r2,r3
801a7a8c: 00481021 addu r2,r2,r8
801a7a90: 90500004 lbu r16,0x0004(r2)
801a7a94: 08069ea8 j 0x801a7aa0
801a7a98: 00000000 nop
801a7a9c: 00008021 addu r16,r0,r0
801a7aa0: 86e4009c lh r4,0x009c(r23)
801a7aa4: 86e500a2 lh r5,0x00a2(r23)
801a7aa8: 8fb200e0 lw r18,0x00e0(r29)
801a7aac: 0c06a2f8 jal 0x801a8be0
801a7ab0: 02003021 addu r6,r16,r0
801a7ab4: a7a200b8 sh r2,0x00b8(r29)
801a7ab8: 86e4009e lh r4,0x009e(r23)
801a7abc: 86e500a4 lh r5,0x00a4(r23)
801a7ac0: 0c06a2f8 jal 0x801a8be0
801a7ac4: 02003021 addu r6,r16,r0
801a7ac8: a7a200ba sh r2,0x00ba(r29)
801a7acc: 86e400a0 lh r4,0x00a0(r23)
801a7ad0: 86e500a6 lh r5,0x00a6(r23)
801a7ad4: 0c06a2f8 jal 0x801a8be0
801a7ad8: 02003021 addu r6,r16,r0
801a7adc: 97a800e8 lhu r8,0x00e8(r29)
801a7ae0: a7a200bc sh r2,0x00bc(r29)
801a7ae4: 34020040 ori r2,r0,0x0040
801a7ae8: 310300e0 andi r3,r8,0x00e0
801a7aec: 1062002b beq r3,r2,0x801a7b9c
801a7af0: 28620041 slti r2,r3,0x0041
801a7af4: 10400007 beq r2,r0,0x801a7b14
801a7af8: 00000000 nop
801a7afc: 10600013 beq r3,r0,0x801a7b4c
801a7b00: 34020020 ori r2,r0,0x0020
801a7b04: 10620011 beq r3,r2,0x801a7b4c
801a7b08: 00000000 nop
801a7b0c: 08069f66 j 0x801a7d98
801a7b10: 00000000 nop
801a7b14: 34020080 ori r2,r0,0x0080
801a7b18: 1062005a beq r3,r2,0x801a7c84
801a7b1c: 28620081 slti r2,r3,0x0081
801a7b20: 10400005 beq r2,r0,0x801a7b38
801a7b24: 34020060 ori r2,r0,0x0060
801a7b28: 1062003c beq r3,r2,0x801a7c1c
801a7b2c: 00000000 nop
801a7b30: 08069f66 j 0x801a7d98
801a7b34: 00000000 nop
801a7b38: 340200a0 ori r2,r0,0x00a0
801a7b3c: 1062006b beq r3,r2,0x801a7cec
801a7b40: 00009821 addu r19,r0,r0
801a7b44: 08069f66 j 0x801a7d98
801a7b48: 00000000 nop
801a7b4c: 8fa800d8 lw r8,0x00d8(r29)
801a7b50: 00000000 nop
801a7b54: 19000090 blez r8,0x801a7d98
801a7b58: 00009821 addu r19,r0,r0

801a7b5c: 97a200b8 lhu r2,0x00b8(r29)
801a7b60: 00000000 nop
801a7b64: a642003c sh r2,0x003c(r18)
801a7b68: 97a200ba lhu r2,0x00ba(r29)
801a7b6c: 00000000 nop
801a7b70: a642003e sh r2,0x003e(r18)
801a7b74: 97a200bc lhu r2,0x00bc(r29)
801a7b78: 26730001 addiu r19,r19,0x0001
801a7b7c: a6420040 sh r2,0x0040(r18)
801a7b80: 8fa800d8 lw r8,0x00d8(r29)
801a7b84: 8e520004 lw r18,0x0004(r18)
801a7b88: 0268102a slt r2,r19,r8
801a7b8c: 10400082 beq r2,r0,0x801a7d98
801a7b90: 00000000 nop
801a7b94: 08069ed7 j 0x801a7b5c
801a7b98: 00000000 nop

801a7b9c: 0c0237d2 jal 0x8008df48
801a7ba0: 27a400c0 addiu r4,r29,0x00c0
801a7ba4: 8fa800d8 lw r8,0x00d8(r29)
801a7ba8: 00000000 nop
801a7bac: 1900007a blez r8,0x801a7d98
801a7bb0: 00009821 addu r19,r0,r0

801a7bb4: 87a300c0 lh r3,0x00c0(r29)
801a7bb8: 00000000 nop
801a7bbc: 000310c0 sll r2,r3,0x03
801a7bc0: 00431023 subu r2,r2,r3
801a7bc4: 97a300b8 lhu r3,0x00b8(r29)
801a7bc8: 00021040 sll r2,r2,0x01
801a7bcc: 00431021 addu r2,r2,r3
801a7bd0: a642003c sh r2,0x003c(r18)
801a7bd4: 87a300c4 lh r3,0x00c4(r29)
801a7bd8: 00000000 nop
801a7bdc: 000310c0 sll r2,r3,0x03
801a7be0: 00431023 subu r2,r2,r3
801a7be4: 97a300bc lhu r3,0x00bc(r29)
801a7be8: 00021040 sll r2,r2,0x01
801a7bec: 00431021 addu r2,r2,r3
801a7bf0: a6420040 sh r2,0x0040(r18)
801a7bf4: 97a200ba lhu r2,0x00ba(r29)
801a7bf8: 26730001 addiu r19,r19,0x0001
801a7bfc: a642003e sh r2,0x003e(r18)
801a7c00: 8fa800d8 lw r8,0x00d8(r29)
801a7c04: 8e520004 lw r18,0x0004(r18)
801a7c08: 0268102a slt r2,r19,r8
801a7c0c: 10400062 beq r2,r0,0x801a7d98
801a7c10: 00000000 nop
801a7c14: 08069eed j 0x801a7bb4
801a7c18: 00000000 nop

801a7c1c: 8fa800d8 lw r8,0x00d8(r29)
801a7c20: 00000000 nop
801a7c24: 1900005c blez r8,0x801a7d98
801a7c28: 00009821 addu r19,r0,r0

801a7c2c: 97a20028 lhu r2,0x0028(r29)
801a7c30: 97a300b8 lhu r3,0x00b8(r29)
801a7c34: 00000000 nop
801a7c38: 00431021 addu r2,r2,r3
801a7c3c: a642003c sh r2,0x003c(r18)
801a7c40: 97a2002a lhu r2,0x002a(r29)
801a7c44: 97a300ba lhu r3,0x00ba(r29)
801a7c48: 00000000 nop
801a7c4c: 00431021 addu r2,r2,r3
801a7c50: a642003e sh r2,0x003e(r18)
801a7c54: 97a2002c lhu r2,0x002c(r29)
801a7c58: 97a300bc lhu r3,0x00bc(r29)
801a7c5c: 26730001 addiu r19,r19,0x0001
801a7c60: 00431021 addu r2,r2,r3
801a7c64: a6420040 sh r2,0x0040(r18)
801a7c68: 8fa800d8 lw r8,0x00d8(r29)
801a7c6c: 8e520004 lw r18,0x0004(r18)
801a7c70: 0268102a slt r2,r19,r8
801a7c74: 10400048 beq r2,r0,0x801a7d98
801a7c78: 00000000 nop
801a7c7c: 08069f0b j 0x801a7c2c
801a7c80: 00000000 nop

801a7c84: 8fa800d8 lw r8,0x00d8(r29)
801a7c88: 00000000 nop
801a7c8c: 19000042 blez r8,0x801a7d98
801a7c90: 00009821 addu r19,r0,r0

801a7c94: 97a20050 lhu r2,0x0050(r29)
801a7c98: 97a300b8 lhu r3,0x00b8(r29)
801a7c9c: 00000000 nop
801a7ca0: 00431021 addu r2,r2,r3
801a7ca4: a642003c sh r2,0x003c(r18)
801a7ca8: 97a20052 lhu r2,0x0052(r29)
801a7cac: 97a300ba lhu r3,0x00ba(r29)
801a7cb0: 00000000 nop
801a7cb4: 00431021 addu r2,r2,r3
801a7cb8: a642003e sh r2,0x003e(r18)
801a7cbc: 97a20054 lhu r2,0x0054(r29)
801a7cc0: 97a300bc lhu r3,0x00bc(r29)
801a7cc4: 26730001 addiu r19,r19,0x0001
801a7cc8: 00431021 addu r2,r2,r3
801a7ccc: a6420040 sh r2,0x0040(r18)
801a7cd0: 8fa800d8 lw r8,0x00d8(r29)
801a7cd4: 8e520004 lw r18,0x0004(r18)
801a7cd8: 0268102a slt r2,r19,r8
801a7cdc: 1040002e beq r2,r0,0x801a7d98
801a7ce0: 00000000 nop
801a7ce4: 08069f25 j 0x801a7c94
801a7ce8: 00000000 nop

801a7cec: 3c03801c lui r3,0x801c
801a7cf0: 8463adca lh r3,-0x5236(r3)
801a7cf4: 8fa80148 lw r8,0x0148(r29)
801a7cf8: 000310c0 sll r2,r3,0x03
801a7cfc: 00431023 subu r2,r2,r3
801a7d00: 00021080 sll r2,r2,0x02
801a7d04: 3c03801c lui r3,0x801c
801a7d08: 8463adce lh r3,-0x5232(r3)
801a7d0c: 2442000e addiu r2,r2,0x000e
801a7d10: a7a200c8 sh r2,0x00c8(r29)
801a7d14: 000310c0 sll r2,r3,0x03
801a7d18: 00431023 subu r2,r2,r3
801a7d1c: 00021080 sll r2,r2,0x02
801a7d20: 2442000e addiu r2,r2,0x000e
801a7d24: a7a200cc sh r2,0x00cc(r29)
801a7d28: 91030002 lbu r3,0x0002(r8)
801a7d2c: 8fa800d8 lw r8,0x00d8(r29)
801a7d30: 00031040 sll r2,r3,0x01
801a7d34: 00431021 addu r2,r2,r3
801a7d38: 00021080 sll r2,r2,0x02
801a7d3c: 00021023 subu r2,r0,r2
801a7d40: 19000015 blez r8,0x801a7d98
801a7d44: a7a200ca sh r2,0x00ca(r29)

801a7d48: 97a200c8 lhu r2,0x00c8(r29)
801a7d4c: 97a300b8 lhu r3,0x00b8(r29)
801a7d50: 00000000 nop
801a7d54: 00431021 addu r2,r2,r3
801a7d58: a642003c sh r2,0x003c(r18)
801a7d5c: 97a200ca lhu r2,0x00ca(r29)
801a7d60: 97a300ba lhu r3,0x00ba(r29)
801a7d64: 00000000 nop
801a7d68: 00431021 addu r2,r2,r3
801a7d6c: a642003e sh r2,0x003e(r18)
801a7d70: 97a200cc lhu r2,0x00cc(r29)
801a7d74: 97a300bc lhu r3,0x00bc(r29)
801a7d78: 26730001 addiu r19,r19,0x0001
801a7d7c: 00431021 addu r2,r2,r3
801a7d80: a6420040 sh r2,0x0040(r18)
801a7d84: 8fa800d8 lw r8,0x00d8(r29)
801a7d88: 8e520004 lw r18,0x0004(r18)
801a7d8c: 0268102a slt r2,r19,r8
801a7d90: 1440ffed bne r2,r0,0x801a7d48
801a7d94: 00000000 nop

801a7d98: 8ee2000c lw r2,0x000c(r23)
801a7d9c: 00000000 nop
801a7da0: 00021702 srl r2,r2,0x1c
801a7da4: 30450003 andi r5,r2,0x0003
801a7da8: 24a5ffff addiu r5,r5,-0x0001
801a7dac: 2402ffff addiu r2,r0,-0x0001
801a7db0: 10a2000b beq r5,r2,0x801a7de0
801a7db4: 00051080 sll r2,r5,0x02
801a7db8: 00451021 addu r2,r2,r5
801a7dbc: 00021140 sll r2,r2,0x05
801a7dc0: 3c03801c lui r3,0x801c
801a7dc4: 8c63bf7c lw r3,-0x4084(r3)
801a7dc8: 8fa800d0 lw r8,0x00d0(r29)
801a7dcc: 00431021 addu r2,r2,r3
801a7dd0: 00481021 addu r2,r2,r8
801a7dd4: 90500004 lbu r16,0x0004(r2)
801a7dd8: 08069f79 j 0x801a7de4
801a7ddc: 00000000 nop
801a7de0: 00008021 addu r16,r0,r0
801a7de4: 86e400b8 lh r4,0x00b8(r23)
801a7de8: 86e500bc lh r5,0x00bc(r23)
801a7dec: 0c06a2f8 jal 0x801a8be0
801a7df0: 02003021 addu r6,r16,r0
801a7df4: 02003021 addu r6,r16,r0
801a7df8: 86e400ba lh r4,0x00ba(r23)
801a7dfc: 86e500be lh r5,0x00be(r23)
801a7e00: 0c06a2f8 jal 0x801a8be0
801a7e04: 0040a821 addu r21,r2,r0
801a7e08: 8ee3000c lw r3,0x000c(r23)
801a7e0c: 0040b021 addu r22,r2,r0
801a7e10: 00034782 srl r8,r3,0x1e
801a7e14: a7a80130 sh r8,0x0130(r29)
801a7e18: 00009821 addu r19,r0,r0
801a7e1c: 8fb200e0 lw r18,0x00e0(r29)
801a7e20: 92e20010 lbu r2,0x0010(r23)
801a7e24: 8ee30010 lw r3,0x0010(r23)
801a7e28: 8fa800d8 lw r8,0x00d8(r29)
801a7e2c: 3042000f andi r2,r2,0x000f
801a7e30: a3a20138 sb r2,0x0138(r29)
801a7e34: 00031102 srl r2,r3,0x04
801a7e38: 3042000f andi r2,r2,0x000f
801a7e3c: 00031a02 srl r3,r3,0x08
801a7e40: 307e000f andi r30,r3,0x000f
801a7e44: 19000038 blez r8,0x801a7f28
801a7e48: a3a20140 sb r2,0x0140(r29)
801a7e4c: 00151400 sll r2,r21,0x10
801a7e50: 00028c03 sra r17,r2,0x10
801a7e54: 00161400 sll r2,r22,0x10
801a7e58: 00028403 sra r16,r2,0x10
801a7e5c: 0211a023 subu r20,r16,r17

801a7e60: 16300003 bne r17,r16,0x801a7e70
801a7e64: 0211102a slt r2,r16,r17
801a7e68: 08069fac j 0x801a7eb0
801a7e6c: a655004a sh r21,0x004a(r18)
801a7e70: 10400008 beq r2,r0,0x801a7e94
801a7e74: 00000000 nop
801a7e78: 0c0088c3 jal 0x8002230c
801a7e7c: 00000000 nop
801a7e80: 02301823 subu r3,r17,r16
801a7e84: 0043001a div r2,r3
801a7e88: 00001810 mfhi r3
801a7e8c: 08069fab j 0x801a7eac
801a7e90: 02c31821 addu r3,r22,r3
801a7e94: 0c0088c3 jal 0x8002230c
801a7e98: 00000000 nop
801a7e9c: 0054001a div r2,r20
801a7ea0: 00001810 mfhi r3
801a7ea4: 00000000 nop
801a7ea8: 02a31821 addu r3,r21,r3
801a7eac: a643004a sh r3,0x004a(r18)
801a7eb0: 93a80130 lbu r8,0x0130(r29)
801a7eb4: 00000000 nop
801a7eb8: a2480045 sb r8,0x0045(r18)
801a7ebc: 93a80138 lbu r8,0x0138(r29)
801a7ec0: 00000000 nop
801a7ec4: a2480046 sb r8,0x0046(r18)
801a7ec8: 93a80140 lbu r8,0x0140(r29)
801a7ecc: a25e0048 sb r30,0x0048(r18)
801a7ed0: a2480047 sb r8,0x0047(r18)
801a7ed4: 97a800f0 lhu r8,0x00f0(r29)
801a7ed8: 00000000 nop
801a7edc: 31020003 andi r2,r8,0x0003
801a7ee0: 10400007 beq r2,r0,0x801a7f00
801a7ee4: 3102000c andi r2,r8,0x000c
801a7ee8: 92e200c0 lbu r2,0x00c0(r23)
801a7eec: 00000000 nop
801a7ef0: a2420052 sb r2,0x0052(r18)
801a7ef4: 97a800f0 lhu r8,0x00f0(r29)
801a7ef8: 00000000 nop
801a7efc: 3102000c andi r2,r8,0x000c
801a7f00: 10400004 beq r2,r0,0x801a7f14
801a7f04: 26730001 addiu r19,r19,0x0001
801a7f08: 92e200c1 lbu r2,0x00c1(r23)
801a7f0c: 00000000 nop
801a7f10: a2420053 sb r2,0x0053(r18)
801a7f14: 8fa800d8 lw r8,0x00d8(r29)
801a7f18: 8e520004 lw r18,0x0004(r18)
801a7f1c: 0268102a slt r2,r19,r8
801a7f20: 1440ffcf bne r2,r0,0x801a7e60
801a7f24: 00000000 nop

801a7f28: 8fbf01fc lw r31,0x01fc(r29)
801a7f2c: 8fbe01f8 lw r30,0x01f8(r29)
801a7f30: 8fb701f4 lw r23,0x01f4(r29)
801a7f34: 8fb601f0 lw r22,0x01f0(r29)
801a7f38: 8fb501ec lw r21,0x01ec(r29)
801a7f3c: 8fb401e8 lw r20,0x01e8(r29)
801a7f40: 8fb301e4 lw r19,0x01e4(r29)
801a7f44: 8fb201e0 lw r18,0x01e0(r29)
801a7f48: 8fb101dc lw r17,0x01dc(r29)
801a7f4c: 8fb001d8 lw r16,0x01d8(r29)
801a7f50: 27bd0200 addiu r29,r29,0x0200
801a7f54: 03e00008 jr r31
801a7f58: 00000000 nop