[*] Binary protection state of libmove_inf.so

  
  	No RELRO       No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   Symbols


[*] Function strcat tear down of libmove_inf.so

    ; assembly                                                                           | /* r2dec pseudo code output */
                                                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0x7fa0 */
                                                                                         | #include <stdint.h>
                                                                                         |  
    ; (fcn) method.IVSMove.update_mhi_move_t__move_param_output_t__unsigned_char_ ()     | void method_IVSMove_update_mhi_move_t_move_param_output_t_unsigned_char_ () {
                                                                                         |     /* IVSMove::update_mhi(move_t*, move_param_output_t*, unsigned char*) */
    0x00007fa0 lui gp, 2                                                                 |     
    0x00007fa4 addiu gp, gp, -0x1b20                                                     |     
    0x00007fa8 addu gp, gp, t9                                                           |     gp += t9;
    0x00007fac addiu sp, sp, -0x348                                                      |     
    0x00007fb0 lw v0, 0xc4(a0)                                                           |     v0 = *((a0 + 49));
    0x00007fb4 sw s0, 0x318(sp)                                                          |     *(var_318h) = s0;
    0x00007fb8 move s0, a0                                                               |     s0 = a0;
    0x00007fbc lw a0, 0xc0(a0)                                                           |     a0 = *((a0 + 48));
    0x00007fc0 lui v1, 0xb6db                                                            |     v1 = 0xb6db6db7;
    0x00007fc4 addiu v1, v1, 0x6db7                                                      |     
    0x00007fc8 subu a0, v0, a0                                                           |     __asm ("subu a0, v0, a0");
    0x00007fcc sra a0, a0, 3                                                             |     a0 >>= 3;
    0x00007fd0 mul v1, a0, v1                                                            |     __asm ("mul v1, a0, v1");
    0x00007fd4 lw a0, 0xcc(s0)                                                           |     a0 = *((s0 + 51));
    0x00007fd8 sw gp, 0x28(sp)                                                           |     *(var_28h) = gp;
    0x00007fdc sw ra, 0x33c(sp)                                                          |     *(var_33ch) = ra;
    0x00007fe0 addiu a0, a0, -1                                                          |     a0 += -1;
    0x00007fe4 sw fp, 0x338(sp)                                                          |     *(var_338h) = fp;
    0x00007fe8 sw s7, 0x334(sp)                                                          |     *(var_334h) = s7;
    0x00007fec sw s6, 0x330(sp)                                                          |     *(var_330h) = s6;
    0x00007ff0 sw s5, 0x32c(sp)                                                          |     *(var_32ch) = s5;
    0x00007ff4 sw s4, 0x328(sp)                                                          |     *(var_328h) = s4;
    0x00007ff8 sw s3, 0x324(sp)                                                          |     *(var_324h) = s3;
    0x00007ffc sw s2, 0x320(sp)                                                          |     *(var_320h) = s2;
    0x00008000 sw s1, 0x31c(sp)                                                          |     *(var_31ch) = s1;
    0x00008004 sdc1 f20, 0x340(sp)                                                       |     __asm ("sdc1 f20, 0x340(sp)");
    0x00008008 slt v1, v1, a0                                                            |     v1 = (v1 < a0) ? 1 : 0;
    0x0000800c sw a2, 0x350(sp)                                                          |     *(arg_350h) = a2;
                                                                                         |     if (v1 != 0) {
    0x00008010 beqz v1, 0x80fc                                                           |         
    0x00008014 lw v1, 0xc8(s0)                                                           |         v1 = *((s0 + 50));
    0x00008018 addiu a2, s0, 0x10c                                                       |         a2 = s0 + 0x10c;
                                                                                         |         if (v0 == v1) {
    0x0000801c beq v0, v1, 0x887c                                                        |             goto label_104;
                                                                                         |         }
    0x00008020 addiu a1, v0, 8                                                           |         a1 = v0 + 8;
                                                                                         |         if (v0 != 0) {
    0x00008024 beqz v0, 0x80c0                                                           |             
    0x00008028 lw t7, 0x10c(s0)                                                          |             t7 = *((s0 + 67));
    0x0000802c lw t6, 0x110(s0)                                                          |             t6 = *((s0 + 68));
    0x00008030 lw t5, 0x114(s0)                                                          |             t5 = *(s0);
    0x00008034 lw t4, 0x118(s0)                                                          |             t4 = *((s0 + 70));
    0x00008038 lw t3, 0x11c(s0)                                                          |             t3 = *((s0 + 71));
    0x0000803c lw v1, 0x120(s0)                                                          |             v1 = *(s0);
    0x00008040 lw t2, 0x124(s0)                                                          |             t2 = *(s0);
    0x00008044 lw t1, 0x128(s0)                                                          |             t1 = *(s0);
    0x00008048 lw t0, 0x12c(s0)                                                          |             t0 = *(s0);
    0x0000804c lw a3, 0x130(s0)                                                          |             a3 = *((s0 + 76));
    0x00008050 addiu a0, v0, 0x30                                                        |             a0 = v0 + 0x30;
    0x00008054 sw t7, (v0)                                                               |             *(v0) = t7;
    0x00008058 sw t6, 4(v0)                                                              |             *((v0 + 1)) = t6;
    0x0000805c sw t5, 8(v0)                                                              |             *((v0 + 2)) = t5;
    0x00008060 sw t4, 0xc(v0)                                                            |             *((v0 + 3)) = t4;
    0x00008064 sw t3, 0x10(v0)                                                           |             *((v0 + 4)) = t3;
    0x00008068 sw v1, 0x14(v0)                                                           |             *((v0 + 5)) = v1;
    0x0000806c sw t2, 0x18(v0)                                                           |             *((v0 + 6)) = t2;
    0x00008070 sw t1, 0x1c(v0)                                                           |             *((v0 + 7)) = t1;
    0x00008074 sw t0, 0x20(v0)                                                           |             *((v0 + 8)) = t0;
    0x00008078 sw a3, 0x24(v0)                                                           |             *((v0 + 9)) = a3;
    0x0000807c sw a1, 0x28(v0)                                                           |             *((v0 + 10)) = a1;
    0x00008080 sw a0, 0x2c(v0)                                                           |             *((v0 + 11)) = a0;
    0x00008084 sw zero, 0x34(v0)                                                         |             *((v0 + 13)) = 0;
    0x00008088 sw zero, 0x30(v0)                                                         |             *((v0 + 12)) = 0;
                                                                                         |             if (v1 != 0) {
    0x0000808c beqz v1, 0x809c                                                           |                 
    0x00008090 lw a0, (v1)                                                               |                 a0 = *(v1);
    0x00008094 addiu a0, a0, 1                                                           |                 a0++;
    0x00008098 sw a0, (v1)                                                               |                 *(v1) = a0;
                                                                                         |             }
    0x0000809c lw v1, 0x110(s0)                                                          |             v1 = *((s0 + 68));
    0x000080a0 slti v1, v1, 3                                                            |             v1 = (v1 < 3) ? 1 : 0;
    0x000080a4 lw t9, -0x7ef4(gp)                                                        |             t9 = *(gp);
                                                                                         |             if (v1 == 0) {
    0x000080a8 beqz v1, 0x8724                                                           |                 goto label_105;
                                                                                         |             }
    0x000080ac lw v1, 0x138(s0)                                                          |             v1 = *(s0);
    0x000080b0 lw a0, (v1)                                                               |             a0 = *(v1);
    0x000080b4 sw a0, 0x30(v0)                                                           |             *((v0 + 12)) = a0;
    0x000080b8 lw v1, 4(v1)                                                              |             v1 = *((v1 + 1));
    0x000080bc sw v1, 0x34(v0)                                                           |             *((v0 + 13)) = v1;
                                                                                         |         }
                                                                                         | label_3:
    0x000080c0 addiu v0, v0, 0x38                                                        |         v0 += 0x38;
    0x000080c4 sw v0, 0xc4(s0)                                                           |         *((s0 + 49)) = v0;
                                                                                         | label_21:
    0x000080c8 lw ra, 0x33c(sp)                                                          |         ra = *(var_33ch);
    0x000080cc lw fp, 0x338(sp)                                                          |         fp = *(var_338h);
    0x000080d0 lw s7, 0x334(sp)                                                          |         s7 = *(var_334h);
    0x000080d4 lw s6, 0x330(sp)                                                          |         s6 = *(var_330h);
    0x000080d8 lw s5, 0x32c(sp)                                                          |         s5 = *(var_32ch);
    0x000080dc lw s4, 0x328(sp)                                                          |         s4 = *(var_328h);
    0x000080e0 lw s3, 0x324(sp)                                                          |         s3 = *(var_324h);
    0x000080e4 lw s2, 0x320(sp)                                                          |         s2 = *(var_320h);
    0x000080e8 lw s1, 0x31c(sp)                                                          |         s1 = *(var_31ch);
    0x000080ec lw s0, 0x318(sp)                                                          |         s0 = *(var_318h);
    0x000080f0 ldc1 f20, 0x340(sp)                                                       |         __asm ("ldc1 f20, (var_340h)");
    0x000080f4 addiu sp, sp, 0x348                                                       |         
    0x000080f8 jr ra                                                                     |         return v0;
                                                                                         |     }
    0x000080fc lw v1, 0xc8(s0)                                                           |     v1 = *((s0 + 50));
    0x00008100 addiu s3, s0, 0xc0                                                        |     s3 = s0 + 0xc0;
    0x00008104 sw s3, 0x310(sp)                                                          |     *(var_310h) = s3;
    0x00008108 addiu a2, s0, 0x10c                                                       |     a2 = s0 + 0x10c;
                                                                                         |     if (v0 == v1) {
    0x0000810c beq v0, v1, 0x8864                                                        |         goto label_106;
                                                                                         |     }
    0x00008110 addiu a1, v0, 8                                                           |     a1 = v0 + 8;
                                                                                         |     if (v0 != 0) {
    0x00008114 beqz v0, 0x81b0                                                           |         
    0x00008118 lw t7, 0x10c(s0)                                                          |         t7 = *((s0 + 67));
    0x0000811c lw t6, 0x110(s0)                                                          |         t6 = *((s0 + 68));
    0x00008120 lw t5, 0x114(s0)                                                          |         t5 = *(s0);
    0x00008124 lw t4, 0x118(s0)                                                          |         t4 = *((s0 + 70));
    0x00008128 lw t3, 0x11c(s0)                                                          |         t3 = *((s0 + 71));
    0x0000812c lw v1, 0x120(s0)                                                          |         v1 = *(s0);
    0x00008130 lw t2, 0x124(s0)                                                          |         t2 = *(s0);
    0x00008134 lw t1, 0x128(s0)                                                          |         t1 = *(s0);
    0x00008138 lw t0, 0x12c(s0)                                                          |         t0 = *(s0);
    0x0000813c lw a3, 0x130(s0)                                                          |         a3 = *((s0 + 76));
    0x00008140 addiu a0, v0, 0x30                                                        |         a0 = v0 + 0x30;
    0x00008144 sw t7, (v0)                                                               |         *(v0) = t7;
    0x00008148 sw t6, 4(v0)                                                              |         *((v0 + 1)) = t6;
    0x0000814c sw t5, 8(v0)                                                              |         *((v0 + 2)) = t5;
    0x00008150 sw t4, 0xc(v0)                                                            |         *((v0 + 3)) = t4;
    0x00008154 sw t3, 0x10(v0)                                                           |         *((v0 + 4)) = t3;
    0x00008158 sw v1, 0x14(v0)                                                           |         *((v0 + 5)) = v1;
    0x0000815c sw t2, 0x18(v0)                                                           |         *((v0 + 6)) = t2;
    0x00008160 sw t1, 0x1c(v0)                                                           |         *((v0 + 7)) = t1;
    0x00008164 sw t0, 0x20(v0)                                                           |         *((v0 + 8)) = t0;
    0x00008168 sw a3, 0x24(v0)                                                           |         *((v0 + 9)) = a3;
    0x0000816c sw a1, 0x28(v0)                                                           |         *((v0 + 10)) = a1;
    0x00008170 sw a0, 0x2c(v0)                                                           |         *((v0 + 11)) = a0;
    0x00008174 sw zero, 0x34(v0)                                                         |         *((v0 + 13)) = 0;
    0x00008178 sw zero, 0x30(v0)                                                         |         *((v0 + 12)) = 0;
                                                                                         |         if (v1 != 0) {
    0x0000817c beqz v1, 0x818c                                                           |             
    0x00008180 lw a0, (v1)                                                               |             a0 = *(v1);
    0x00008184 addiu a0, a0, 1                                                           |             a0++;
    0x00008188 sw a0, (v1)                                                               |             *(v1) = a0;
                                                                                         |         }
    0x0000818c lw v1, 0x110(s0)                                                          |         v1 = *((s0 + 68));
    0x00008190 slti v1, v1, 3                                                            |         v1 = (v1 < 3) ? 1 : 0;
    0x00008194 lw t9, -0x7ef4(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (v1 == 0) {
    0x00008198 beqz v1, 0x8708                                                           |             goto label_107;
                                                                                         |         }
    0x0000819c lw v1, 0x138(s0)                                                          |         v1 = *(s0);
    0x000081a0 lw a0, (v1)                                                               |         a0 = *(v1);
    0x000081a4 sw a0, 0x30(v0)                                                           |         *((v0 + 12)) = a0;
    0x000081a8 lw v1, 4(v1)                                                              |         v1 = *((v1 + 1));
    0x000081ac sw v1, 0x34(v0)                                                           |         *((v0 + 13)) = v1;
                                                                                         |     }
                                                                                         | label_2:
    0x000081b0 addiu v0, v0, 0x38                                                        |     v0 += 0x38;
    0x000081b4 sw v0, 0xc4(s0)                                                           |     *((s0 + 49)) = v0;
                                                                                         | label_6:
    0x000081b8 lbu v0, 0x104(s0)                                                         |     v0 = *((s0 + 260));
    0x000081bc sw zero, 0x2c0(sp)                                                        |     *(var_2c0h) = 0;
    0x000081c0 sw zero, 0x2c4(sp)                                                        |     *(var_2c4h) = 0;
    0x000081c4 sw zero, 0x2c8(sp)                                                        |     *(var_2c8h) = 0;
                                                                                         |     if (v0 != 0) {
    0x000081c8 beqz v0, 0x81fc                                                           |         
    0x000081cc lw v0, -0x7f80(gp)                                                        |         v0 = *(gp);
    0x000081d0 lw a1, 0x108(s0)                                                          |         a1 = *(s0);
    0x000081d4 lbu v1, (v0)                                                              |         v1 = *(v0);
    0x000081d8 addiu a1, a1, -1                                                          |         a1 += -1;
                                                                                         |         if (v1 == 0) {
    0x000081dc beqz v1, 0x86f0                                                           |             goto label_108;
                                                                                         |         }
    0x000081e0 lw v1, -0x7ed8(gp)                                                        |         v1 = *(gp);
    0x000081e4 lw a0, (v1)                                                               |         a0 = *(v1);
    0x000081e8 addiu a0, a0, -1                                                          |         a0 += -1;
                                                                                         |         if (a0 != 0) {
    0x000081ec bnez a0, 0x9530                                                           |             goto label_109;
                                                                                         |         }
    0x000081f0 sb zero, (v0)                                                             |         *(v0) = 0;
    0x000081f4 lw v0, -0x7ec8(gp)                                                        |         v0 = *(gp);
    0x000081f8 sw a1, (v0)                                                               |         *(v0) = a1;
                                                                                         |     }
                                                                                         | label_1:
    0x000081fc lw v1, 0xcc(s0)                                                           |     v1 = *((s0 + 51));
    0x00008200 lw v0, 0xc0(s0)                                                           |     v0 = *((s0 + 48));
    0x00008204 addiu s5, sp, 0x1b0                                                       |     s5 = sp + 0x1b0;
    0x00008208 addiu v1, v1, -1                                                          |     v1 += -1;
    0x0000820c sll a0, v1, 3                                                             |     a0 = v1 << 3;
    0x00008210 sll v1, v1, 6                                                             |     v1 <<= 6;
    0x00008214 subu a1, v1, a0                                                           |     __asm ("subu a1, v1, a0");
    0x00008218 addu a1, v0, a1                                                           |     a1 = v0 + a1;
    0x0000821c lw a0, 0x24(a1)                                                           |     a0 = *((a1 + 9));
    0x00008220 lw t5, (a1)                                                               |     t5 = *(a1);
    0x00008224 lw t4, 4(a1)                                                              |     t4 = *((a1 + 1));
    0x00008228 lw t3, 8(a1)                                                              |     t3 = *((a1 + 2));
    0x0000822c lw t2, 0xc(a1)                                                            |     t2 = *((a1 + 3));
    0x00008230 lw t1, 0x10(a1)                                                           |     t1 = *((a1 + 4));
    0x00008234 lw v1, 0x14(a1)                                                           |     v1 = *((a1 + 5));
    0x00008238 lw t0, 0x18(a1)                                                           |     t0 = *((a1 + 6));
    0x0000823c lw a3, 0x1c(a1)                                                           |     a3 = *((a1 + 7));
    0x00008240 lw a2, 0x20(a1)                                                           |     a2 = *((a1 + 8));
    0x00008244 sw a0, 0x1a4(sp)                                                          |     *(var_1a4h) = a0;
    0x00008248 addiu a0, sp, 0x188                                                       |     a0 = sp + aav.0x00000188;
    0x0000824c sw s5, 0x2f0(sp)                                                          |     *(var_2f0h) = s5;
    0x00008250 sw t5, 0x180(sp)                                                          |     *(var_180h) = t5;
    0x00008254 sw t4, 0x184(sp)                                                          |     *(var_184h) = t4;
    0x00008258 sw t3, 0x188(sp)                                                          |     *(var_188h) = t3;
    0x0000825c sw t2, 0x18c(sp)                                                          |     *(var_18ch) = t2;
    0x00008260 sw t1, 0x190(sp)                                                          |     *(var_190h) = t1;
    0x00008264 sw v1, 0x194(sp)                                                          |     *(var_194h) = v1;
    0x00008268 sw t0, 0x198(sp)                                                          |     *(var_198h) = t0;
    0x0000826c sw a3, 0x19c(sp)                                                          |     *(var_19ch) = a3;
    0x00008270 sw a2, 0x1a0(sp)                                                          |     *(var_1a0h) = a2;
    0x00008274 sw a0, 0x1a8(sp)                                                          |     *(var_1a8h) = a0;
    0x00008278 sw s5, 0x1ac(sp)                                                          |     *(var_1ach) = s5;
    0x0000827c sw zero, 0x1b4(sp)                                                        |     *(var_1b4h) = 0;
    0x00008280 sw zero, 0x1b0(sp)                                                        |     *(var_1b0h) = 0;
                                                                                         |     if (v1 != 0) {
    0x00008284 beqz v1, 0x8294                                                           |         
    0x00008288 lw a0, (v1)                                                               |         a0 = *(v1);
    0x0000828c addiu a0, a0, 1                                                           |         a0++;
    0x00008290 sw a0, (v1)                                                               |         *(v1) = a0;
                                                                                         |     }
    0x00008294 lw v1, 4(a1)                                                              |     v1 = *((a1 + 1));
    0x00008298 slti v1, v1, 3                                                            |     v1 = (v1 < 3) ? 1 : 0;
    0x0000829c addiu s7, sp, 0x180                                                       |     s7 = sp + 0x180;
                                                                                         |     if (v1 != 0) {
    0x000082a0 beqz v1, 0x82c0                                                           |         
    0x000082a4 lw v1, 0x2c(a1)                                                           |         v1 = *((a1 + 11));
    0x000082a8 sw s7, 0x304(sp)                                                          |         *(var_304h) = s7;
    0x000082ac lw a0, (v1)                                                               |         a0 = *(v1);
    0x000082b0 sw a0, 0x1b0(sp)                                                          |         *(var_1b0h) = a0;
    0x000082b4 lw v1, 4(v1)                                                              |         v1 = *((v1 + 1));
    0x000082b8 sw v1, 0x1b4(sp)                                                          |         *(var_1b4h) = v1;
    0x000082bc b 0x82e4                                                                  |         
                                                                                         |     } else {
    0x000082c0 lw t9, -0x7ef4(gp)                                                        |         t9 = *(gp);
    0x000082c4 addiu s3, sp, 0x180                                                       |         s3 = sp + 0x180;
    0x000082c8 sw s3, 0x304(sp)                                                          |         *(var_304h) = s3;
    0x000082cc move a0, s3                                                               |         a0 = s3;
    0x000082d0 sw zero, 0x184(sp)                                                        |         *(var_184h) = 0;
    0x000082d4 addiu s1, sp, 0x2c0                                                       |         s1 = sp + aav.0x000002c0;
    0x000082d8 jalr t9                                                                   |         t9 ();
    0x000082dc lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x000082e0 lw v0, 0xc0(s0)                                                           |         v0 = *((s0 + 48));
                                                                                         |     }
    0x000082e4 lw a0, 0x24(v0)                                                           |     a0 = *((v0 + 9));
    0x000082e8 lw t4, (v0)                                                               |     t4 = *(v0);
    0x000082ec lw t3, 4(v0)                                                              |     t3 = *((v0 + 1));
    0x000082f0 lw t2, 8(v0)                                                              |     t2 = *((v0 + 2));
    0x000082f4 lw t1, 0xc(v0)                                                            |     t1 = *((v0 + 3));
    0x000082f8 lw t0, 0x10(v0)                                                           |     t0 = *((v0 + 4));
    0x000082fc lw v1, 0x14(v0)                                                           |     v1 = *((v0 + 5));
    0x00008300 lw a3, 0x18(v0)                                                           |     a3 = *((v0 + 6));
    0x00008304 lw a2, 0x1c(v0)                                                           |     a2 = *((v0 + 7));
    0x00008308 lw a1, 0x20(v0)                                                           |     a1 = *((v0 + 8));
    0x0000830c addiu s4, sp, 0x178                                                       |     s4 = sp + 0x178;
    0x00008310 sw a0, 0x16c(sp)                                                          |     *(var_16ch) = a0;
    0x00008314 addiu a0, sp, 0x150                                                       |     a0 = sp + aav.0x00000150;
    0x00008318 sw s4, 0x2ec(sp)                                                          |     *(var_2ech) = s4;
    0x0000831c sw t4, 0x148(sp)                                                          |     *(var_148h) = t4;
    0x00008320 sw t3, 0x14c(sp)                                                          |     *(var_14ch) = t3;
    0x00008324 sw t2, 0x150(sp)                                                          |     *(var_150h) = t2;
    0x00008328 sw t1, 0x154(sp)                                                          |     *(var_154h) = t1;
    0x0000832c sw t0, 0x158(sp)                                                          |     *(var_158h) = t0;
    0x00008330 sw v1, 0x15c(sp)                                                          |     *(var_15ch) = v1;
    0x00008334 sw a3, 0x160(sp)                                                          |     *(var_160h) = a3;
    0x00008338 sw a2, 0x164(sp)                                                          |     *(var_164h) = a2;
    0x0000833c sw a1, 0x168(sp)                                                          |     *(var_168h) = a1;
    0x00008340 sw a0, 0x170(sp)                                                          |     *(var_170h) = a0;
    0x00008344 sw s4, 0x174(sp)                                                          |     *(var_174h) = s4;
    0x00008348 sw zero, 0x17c(sp)                                                        |     *(var_17ch) = 0;
    0x0000834c sw zero, 0x178(sp)                                                        |     *(var_178h) = 0;
                                                                                         |     if (v1 != 0) {
    0x00008350 beqz v1, 0x8360                                                           |         
    0x00008354 lw a0, (v1)                                                               |         a0 = *(v1);
    0x00008358 addiu a0, a0, 1                                                           |         a0++;
    0x0000835c sw a0, (v1)                                                               |         *(v1) = a0;
                                                                                         |     }
    0x00008360 lw v1, 4(v0)                                                              |     v1 = *((v0 + 1));
    0x00008364 slti v1, v1, 3                                                            |     v1 = (v1 < 3) ? 1 : 0;
    0x00008368 addiu s5, sp, 0x148                                                       |     s5 = sp + 0x148;
                                                                                         |     if (v1 == 0) {
    0x0000836c beqz v1, 0x9498                                                           |         goto label_110;
                                                                                         |     }
    0x00008370 lw v0, 0x2c(v0)                                                           |     v0 = *((v0 + 11));
    0x00008374 sw s5, 0x300(sp)                                                          |     *(var_300h) = s5;
    0x00008378 lw v1, (v0)                                                               |     v1 = *(v0);
    0x0000837c sw v1, 0x178(sp)                                                          |     *(var_178h) = v1;
    0x00008380 lw v0, 4(v0)                                                              |     v0 = *((v0 + 1));
    0x00008384 sw v0, 0x17c(sp)                                                          |     *(var_17ch) = v0;
                                                                                         | label_18:
    0x00008388 lw v0, 0xdc(s0)                                                           |     v0 = *((s0 + 55));
    0x0000838c addiu v1, zero, 2                                                         |     v1 = 2;
    0x00008390 addiu s4, sp, 0x228                                                       |     s4 = sp + 0x228;
                                                                                         |     if (v0 == v1) {
    0x00008394 beq v0, v1, 0x88c0                                                        |         goto label_111;
                                                                                         |     }
    0x00008398 slti v0, v0, 3                                                            |     v0 = (v0 < 3) ? 1 : 0;
    0x0000839c lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x000083a0 move a0, s4                                                               |     a0 = s4;
    0x000083a4 lw a1, 0x304(sp)                                                          |     a1 = *(var_304h);
                                                                                         |     if (v0 == 0) {
    0x000083a8 beqz v0, 0xc820                                                           |         goto label_112;
                                                                                         |     }
    0x000083ac jalr t9                                                                   |     t9 ();
    0x000083b0 nop                                                                       |     
    0x000083b4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000083b8 lw a1, 0x300(sp)                                                          |     a1 = *(var_300h);
    0x000083bc lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x000083c0 addiu s2, sp, 0x214                                                       |     s2 = sp + 0x214;
    0x000083c4 move a0, s2                                                               |     a0 = s2;
    0x000083c8 jalr t9                                                                   |     t9 ();
    0x000083cc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000083d0 lw t9, -0x7e80(gp)                                                        |     t9 = *(gp);
    0x000083d4 addiu s1, sp, 0x200                                                       |     s1 = sp + 0x200;
    0x000083d8 move a0, s1                                                               |     a0 = s1;
    0x000083dc move a1, s0                                                               |     a1 = s0;
    0x000083e0 jalr t9                                                                   |     t9 ();
    0x000083e4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000083e8 addiu v0, sp, 0x70                                                        |     v0 = sp + 0x70;
    0x000083ec lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x000083f0 addiu s6, sp, 0x98                                                        |     s6 = sp + 0x98;
    0x000083f4 addiu s3, sp, 0x1ec                                                       |     s3 = sp + 0x1ec;
    0x000083f8 sw v0, 0x90(sp)                                                           |     *(var_90h) = v0;
    0x000083fc lui v0, 0x42ff                                                            |     v0 = 0x42ff0000;
    0x00008400 sw s6, 0x94(sp)                                                           |     *(var_94h) = s6;
    0x00008404 sw zero, 0x9c(sp)                                                         |     *(var_9ch) = 0;
    0x00008408 sw zero, 0x98(sp)                                                         |     *(var_98h) = 0;
    0x0000840c move a0, s3                                                               |     a0 = s3;
    0x00008410 addiu a1, sp, 0x68                                                        |     a1 = sp + 0x68;
    0x00008414 sw v0, 0x68(sp)                                                           |     *(var_68h) = v0;
    0x00008418 sw zero, 0x74(sp)                                                         |     *(var_74h) = 0;
    0x0000841c sw zero, 0x70(sp)                                                         |     *(var_70h) = 0;
    0x00008420 sw zero, 0x6c(sp)                                                         |     *(var_6ch) = 0;
    0x00008424 sw zero, 0x88(sp)                                                         |     *(var_88h) = 0;
    0x00008428 sw zero, 0x84(sp)                                                         |     *(var_84h) = 0;
    0x0000842c sw zero, 0x80(sp)                                                         |     *(var_80h) = 0;
    0x00008430 sw zero, 0x78(sp)                                                         |     *(var_78h) = 0;
    0x00008434 sw zero, 0x7c(sp)                                                         |     *(var_7ch) = 0;
    0x00008438 sw zero, 0x8c(sp)                                                         |     *(var_8ch) = 0;
    0x0000843c lw s7, 0x100(s0)                                                          |     s7 = *((s0 + 64));
    0x00008440 jalr t9                                                                   |     t9 ();
    0x00008444 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008448 lw t9, -0x7ec4(gp)                                                        |     t9 = *(gp);
    0x0000844c addiu v1, zero, 1                                                         |     v1 = 1;
    0x00008450 addiu v0, zero, -1                                                        |     v0 = -1;
    0x00008454 addiu s5, sp, 0x2cc                                                       |     s5 = sp + 0x2cc;
    0x00008458 sw v1, 0x10(sp)                                                           |     *(var_10h) = v1;
    0x0000845c sw zero, 0x14(sp)                                                         |     *(var_14h) = 0;
    0x00008460 sw v1, 0x18(sp)                                                           |     *(var_18h) = v1;
    0x00008464 sw s3, 0x1c(sp)                                                           |     *(var_1ch) = s3;
    0x00008468 sw s5, 0x20(sp)                                                           |     *(var_20h) = s5;
    0x0000846c move a0, s4                                                               |     a0 = s4;
    0x00008470 move a1, s2                                                               |     a1 = s2;
    0x00008474 move a2, s1                                                               |     a2 = s1;
    0x00008478 move a3, s7                                                               |     a3 = s7;
    0x0000847c sw v0, 0x2cc(sp)                                                          |     *(var_2cch) = v0;
    0x00008480 sw v0, 0x2d0(sp)                                                          |     *(var_2d0h) = v0;
    0x00008484 jalr t9                                                                   |     t9 ();
    0x00008488 lw v0, 0x7c(sp)                                                           |     v0 = *(var_7ch);
    0x0000848c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (v0 != 0) {
    0x00008490 beqz v0, 0x84ac                                                           |         
    0x00008494 lw v1, (v0)                                                               |         v1 = *(v0);
    0x00008498 addiu a0, v1, -1                                                          |         a0 = v1 + -1;
    0x0000849c sw a0, (v0)                                                               |         *(v0) = a0;
    0x000084a0 addiu v0, zero, 1                                                         |         v0 = 1;
    0x000084a4 lw t9, -0x7f5c(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (v1 == v0) {
    0x000084a8 beq v1, v0, 0xc7e0                                                        |             goto label_113;
                                                                                         |         }
                                                                                         |     }
                                                                                         | label_102:
    0x000084ac lw v0, 0x6c(sp)                                                           |     v0 = *(var_6ch);
    0x000084b0 sw zero, 0x88(sp)                                                         |     *(var_88h) = 0;
    0x000084b4 sw zero, 0x84(sp)                                                         |     *(var_84h) = 0;
    0x000084b8 sw zero, 0x80(sp)                                                         |     *(var_80h) = 0;
    0x000084bc sw zero, 0x78(sp)                                                         |     *(var_78h) = 0;
                                                                                         |     if (v0 <= 0) {
    0x000084c0 blez v0, 0x84e4                                                           |         goto label_114;
                                                                                         |     }
    0x000084c4 lw v1, 0x90(sp)                                                           |     v1 = *(var_90h);
    0x000084c8 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x000084cc sw zero, (v1)                                                             |         *(v1) = 0;
    0x000084d0 lw a0, 0x6c(sp)                                                           |         a0 = *(var_6ch);
    0x000084d4 addiu v0, v0, 1                                                           |         v0++;
    0x000084d8 slt a0, v0, a0                                                            |         a0 = (v0 < a0) ? 1 : 0;
    0x000084dc addiu v1, v1, 4                                                           |         v1 += 4;
    0x000084e0 bnez a0, 0x84cc                                                           |         
                                                                                         |     } while (a0 != 0);
                                                                                         | label_114:
    0x000084e4 lw a0, 0x94(sp)                                                           |     a0 = *(var_94h);
    0x000084e8 sw zero, 0x7c(sp)                                                         |     *(var_7ch) = 0;
                                                                                         |     if (a0 != s6) {
    0x000084ec beq a0, s6, 0x8500                                                        |         
    0x000084f0 lw t9, -0x7f94(gp)                                                        |         t9 = *(gp);
    0x000084f4 jalr t9                                                                   |         t9 ();
    0x000084f8 nop                                                                       |         
    0x000084fc lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
                                                                                         | label_103:
    0x00008500 lw t9, -0x7e80(gp)                                                        |     t9 = *(gp);
    0x00008504 addiu s2, s0, 0x38                                                        |     s2 = s0 + 0x38;
    0x00008508 move a0, s1                                                               |     a0 = s1;
    0x0000850c move a1, s2                                                               |     a1 = s2;
    0x00008510 jalr t9                                                                   |     t9 ();
    0x00008514 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008518 lw t9, -0x7fb4(gp)                                                        |     t9 = *(gp);
    0x0000851c move a0, s0                                                               |     a0 = s0;
    0x00008520 move a1, s1                                                               |     a1 = s1;
    0x00008524 jalr t9                                                                   |     t9 ();
    0x00008528 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000852c lw t9, -0x7e80(gp)                                                        |     t9 = *(gp);
    0x00008530 move a0, s1                                                               |     a0 = s1;
    0x00008534 move a1, s2                                                               |     a1 = s2;
    0x00008538 jalr t9                                                                   |     t9 ();
    0x0000853c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008540 lw t9, -0x7fc0(gp)                                                        |     t9 = *(gp);
    0x00008544 sw s5, 0x10(sp)                                                           |     *(var_10h) = s5;
    0x00008548 move a0, s1                                                               |     a0 = s1;
    0x0000854c addiu a1, s0, 0xd0                                                        |     a1 = s0 + 0xd0;
    0x00008550 move a2, zero                                                             |     a2 = 0;
    0x00008554 addiu a3, zero, 2                                                         |     a3 = 2;
    0x00008558 sw zero, 0x2cc(sp)                                                        |     *(var_2cch) = 0;
    0x0000855c sw zero, 0x2d0(sp)                                                        |     *(var_2d0h) = 0;
    0x00008560 jalr t9                                                                   |     t9 ();
    0x00008564 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008568 lw s5, 0xd4(s0)                                                           |     s5 = *((s0 + 53));
    0x0000856c lw s1, 0xd0(s0)                                                           |     s1 = *((s0 + 52));
    0x00008570 sw zero, 0x29c(sp)                                                        |     *(var_29ch) = 0;
    0x00008574 sw zero, 0x2a0(sp)                                                        |     *(var_2a0h) = 0;
    0x00008578 subu v0, s5, s1                                                           |     __asm ("subu v0, s5, s1");
    0x0000857c sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00008580 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x00008584 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x00008588 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x0000858c addu v0, v0, v1                                                           |     v0 += v1;
    0x00008590 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x00008594 addu v0, v0, v1                                                           |     v0 += v1;
    0x00008598 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x0000859c addu v0, v0, v1                                                           |     v0 += v1;
    0x000085a0 sw zero, 0x2a4(sp)                                                        |     *(var_2a4h) = 0;
                                                                                         |     if (v0 == 0) {
    0x000085a4 beqz v0, 0x9010                                                           |         goto label_115;
                                                                                         |     }
    0x000085a8 lw v0, -0x7fd4(gp)                                                        |     v0 = *((gp - 8181));
    0x000085ac addiu s5, sp, 0x29c                                                       |     s5 = sp + 0x29c;
    0x000085b0 move s4, zero                                                             |     s4 = 0;
    0x000085b4 move s2, zero                                                             |     s2 = 0;
    0x000085b8 ldc1 f20, -0x28a0(v0)                                                     |     __asm ("ldc1 f20, -0x28a0(v0)");
    0x000085bc sw s5, 0x2f8(sp)                                                          |     *(var_2f8h) = s5;
    0x000085c0 b 0x86c0                                                                  |     
                                                                                         |     while (s5 != 0) {
    0x000085c4 lui v0, 0x2000                                                            |         v0 = 0x20000000;
    0x000085c8 sltu v0, s5, v0                                                           |         v0 = (s5 < v0) ? 1 : 0;
    0x000085cc lw t9, -0x7f38(gp)                                                        |         t9 = sym.imp.operator_new_unsigned_int_;
                                                                                         |         if (v0 == 0) {
    0x000085d0 beqz v0, 0xc7d4                                                           |             goto label_116;
                                                                                         |         }
    0x000085d4 sll s5, s5, 3                                                             |         s5 <<= 3;
    0x000085d8 move a0, s5                                                               |         a0 = s5;
    0x000085dc jalr t9                                                                   |         t9 ();
    0x000085e0 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x000085e4 move v1, v0                                                               |         v1 = v0;
                                                                                         | label_0:
    0x000085e8 sw v1, 0x290(sp)                                                          |         *(var_290h) = v1;
    0x000085ec sw v1, 0x294(sp)                                                          |         *(var_294h) = v1;
    0x000085f0 lw a1, (s1)                                                               |         a1 = *(s1);
    0x000085f4 lw v0, 4(s1)                                                              |         v0 = *((s1 + 1));
    0x000085f8 addu s5, v1, s5                                                           |         s5 = v1 + s5;
    0x000085fc sw s5, 0x298(sp)                                                          |         *(var_298h) = s5;
    0x00008600 subu v0, v0, a1                                                           |         __asm ("subu v0, v0, a1");
    0x00008604 sra v0, v0, 3                                                             |         v0 >>= 3;
    0x00008608 move s1, zero                                                             |         s1 = 0;
                                                                                         |         if (v0 != 0) {
    0x0000860c beqz v0, 0x862c                                                           |             
    0x00008610 lw t9, -0x7f10(gp)                                                        |             t9 = sym.imp.memmove;
    0x00008614 sll s1, v0, 3                                                             |             s1 = v0 << 3;
    0x00008618 move a0, v1                                                               |             a0 = v1;
    0x0000861c move a2, s1                                                               |             a2 = s1;
    0x00008620 jalr t9                                                                   |             t9 ();
    0x00008624 lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
    0x00008628 move v1, v0                                                               |             v1 = v0;
                                                                                         |         }
    0x0000862c lw t9, -0x7f54(gp)                                                        |         t9 = *(gp);
    0x00008630 addu v1, v1, s1                                                           |         v1 += s1;
    0x00008634 addiu a0, sp, 0x250                                                       |         a0 = sp + 0x250;
    0x00008638 addiu a1, sp, 0x290                                                       |         a1 = sp + aav.0x00000290;
    0x0000863c sw v1, 0x294(sp)                                                          |         *(var_294h) = v1;
    0x00008640 jalr t9                                                                   |         t9 ();
    0x00008644 lw a0, 0x290(sp)                                                          |         a0 = *(var_290h);
    0x00008648 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |         if (a0 != 0) {
    0x0000864c beqz a0, 0x8660                                                           |             
    0x00008650 lw t9, -0x7ea8(gp)                                                        |             t9 = sym.imp.operator_delete_void_;
    0x00008654 jalr t9                                                                   |             t9 ();
    0x00008658 nop                                                                       |             
    0x0000865c lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
                                                                                         |         }
    0x00008660 lw v0, 0x258(sp)                                                          |         v0 = *(var_258h);
    0x00008664 slti v0, v0, 8                                                            |         v0 = (v0 < 8) ? 1 : 0;
    0x00008668 lw v0, 0x25c(sp)                                                          |         v0 = *(var_25ch);
                                                                                         |         if (v0 == 0) {
    0x0000866c bnez v0, 0x867c                                                           |             
    0x00008670 slti v0, v0, 8                                                            |             v0 = (v0 < 8) ? 1 : 0;
    0x00008674 lw t9, -0x7ed4(gp)                                                        |             t9 = *(gp);
                                                                                         |             if (v0 == 0) {
    0x00008678 beqz v0, 0x873c                                                           |                 goto label_117;
                                                                                         |             }
                                                                                         |         }
                                                                                         | label_4:
    0x0000867c lw s5, 0xd4(s0)                                                           |         s5 = *((s0 + 53));
    0x00008680 lw s1, 0xd0(s0)                                                           |         s1 = *((s0 + 52));
    0x00008684 addiu s2, s2, 1                                                           |         s2++;
    0x00008688 subu v0, s5, s1                                                           |         __asm ("subu v0, s5, s1");
    0x0000868c sra v0, v0, 2                                                             |         v0 >>= 2;
    0x00008690 sll v1, v0, 2                                                             |         v1 = v0 << 2;
    0x00008694 addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x00008698 sll v1, v0, 4                                                             |         v1 = v0 << 4;
    0x0000869c addu v0, v0, v1                                                           |         v0 += v1;
    0x000086a0 sll v1, v0, 8                                                             |         v1 = v0 << 8;
    0x000086a4 addu v0, v0, v1                                                           |         v0 += v1;
    0x000086a8 sll v1, v0, 0x10                                                          |         v1 = v0 << 0x10;
    0x000086ac addu v0, v0, v1                                                           |         v0 += v1;
    0x000086b0 negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x000086b4 sltu v0, s2, v0                                                           |         v0 = (s2 < v0) ? 1 : 0;
    0x000086b8 addiu s4, s4, 0xc                                                         |         s4 += 0xc;
                                                                                         |         if (v0 == 0) {
    0x000086bc beqz v0, 0x9018                                                           |             goto label_118;
                                                                                         |         }
    0x000086c0 addu s1, s1, s4                                                           |         s1 += s4;
    0x000086c4 lw s5, 4(s1)                                                              |         s5 = *((s1 + 1));
    0x000086c8 lw v0, (s1)                                                               |         v0 = *(s1);
    0x000086cc sw zero, 0x294(sp)                                                        |         *(var_294h) = 0;
    0x000086d0 sw zero, 0x290(sp)                                                        |         *(var_290h) = 0;
    0x000086d4 subu s5, s5, v0                                                           |         __asm ("subu s5, s5, v0");
    0x000086d8 sra s5, s5, 3                                                             |         s5 >>= 3;
    0x000086dc sw zero, 0x298(sp)                                                        |         *(var_298h) = 0;
    0x000086e0 bnez s5, 0x85c4                                                           |         
                                                                                         |     }
    0x000086e4 move s5, zero                                                             |     s5 = 0;
    0x000086e8 move v1, zero                                                             |     v1 = 0;
    0x000086ec b 0x85e8                                                                  |     goto label_0;
                                                                                         | label_108:
    0x000086f0 lw v1, -0x7ec8(gp)                                                        |     v1 = *(gp);
    0x000086f4 lw a0, (v1)                                                               |     a0 = *(v1);
    0x000086f8 addiu a0, a0, -1                                                          |     a0 += -1;
                                                                                         |     if (a0 == 0) {
    0x000086fc beqz a0, 0xc78c                                                           |         goto label_119;
                                                                                         |     }
    0x00008700 sw a0, (v1)                                                               |     *(v1) = a0;
    0x00008704 b 0x81fc                                                                  |     goto label_1;
                                                                                         | label_107:
    0x00008708 sw zero, 4(v0)                                                            |     *((v0 + 1)) = 0;
    0x0000870c move a0, v0                                                               |     a0 = v0;
    0x00008710 move a1, a2                                                               |     a1 = a2;
    0x00008714 jalr t9                                                                   |     t9 ();
    0x00008718 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000871c lw v0, 0xc4(s0)                                                           |     v0 = *((s0 + 49));
    0x00008720 b 0x81b0                                                                  |     goto label_2;
                                                                                         | label_105:
    0x00008724 sw zero, 4(v0)                                                            |     *((v0 + 1)) = 0;
    0x00008728 move a0, v0                                                               |     a0 = v0;
    0x0000872c move a1, a2                                                               |     a1 = a2;
    0x00008730 jalr t9                                                                   |     t9 ();
    0x00008734 lw v0, 0xc4(s0)                                                           |     v0 = *((s0 + 49));
    0x00008738 b 0x80c0                                                                  |     goto label_3;
                                                                                         | label_117:
    0x0000873c addiu a0, sp, 0x30                                                        |     a0 = sp + 0x30;
    0x00008740 move a1, s0                                                               |     a1 = s0;
    0x00008744 addiu a2, sp, 0x250                                                       |     a2 = sp + 0x250;
    0x00008748 jalr t9                                                                   |     t9 ();
    0x0000874c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008750 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x00008754 move a0, s3                                                               |     a0 = s3;
    0x00008758 addiu a1, sp, 0x30                                                        |     a1 = sp + 0x30;
    0x0000875c jalr t9                                                                   |     t9 ();
    0x00008760 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008764 lw t9, -0x7f58(gp)                                                        |     t9 = *(gp);
    0x00008768 move a0, s3                                                               |     a0 = s3;
    0x0000876c jalr t9                                                                   |     t9 ();
    0x00008770 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008774 lw v1, 0x44(sp)                                                           |     v1 = *(var_44h);
    0x00008778 move s1, v0                                                               |     s1 = v0;
                                                                                         |     if (v1 != 0) {
    0x0000877c beqz v1, 0x8798                                                           |         
    0x00008780 lw v0, (v1)                                                               |         v0 = *(v1);
    0x00008784 addiu a0, v0, -1                                                          |         a0 = v0 + -1;
    0x00008788 sw a0, (v1)                                                               |         *(v1) = a0;
    0x0000878c addiu v1, zero, 1                                                         |         v1 = 1;
    0x00008790 lw t9, -0x7f5c(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (v0 == v1) {
    0x00008794 beq v0, v1, 0x8854                                                        |             goto label_120;
                                                                                         |         }
                                                                                         |     }
                                                                                         | label_5:
    0x00008798 lw v0, 0x34(sp)                                                           |     v0 = *(var_34h);
    0x0000879c sw zero, 0x50(sp)                                                         |     *(var_50h) = 0;
    0x000087a0 sw zero, 0x4c(sp)                                                         |     *(var_4ch) = 0;
    0x000087a4 sw zero, 0x48(sp)                                                         |     *(var_48h) = 0;
    0x000087a8 sw zero, 0x40(sp)                                                         |     *(var_40h) = 0;
                                                                                         |     if (v0 <= 0) {
    0x000087ac blez v0, 0x87d0                                                           |         goto label_121;
                                                                                         |     }
    0x000087b0 lw v1, 0x58(sp)                                                           |     v1 = *(var_58h);
    0x000087b4 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x000087b8 sw zero, (v1)                                                             |         *(v1) = 0;
    0x000087bc lw a0, 0x34(sp)                                                           |         a0 = *(var_34h);
    0x000087c0 addiu v0, v0, 1                                                           |         v0++;
    0x000087c4 slt a0, v0, a0                                                            |         a0 = (v0 < a0) ? 1 : 0;
    0x000087c8 addiu v1, v1, 4                                                           |         v1 += 4;
    0x000087cc bnez a0, 0x87b8                                                           |         
                                                                                         |     } while (a0 != 0);
                                                                                         | label_121:
    0x000087d0 lw a0, 0x5c(sp)                                                           |     a0 = *(var_5ch);
    0x000087d4 addiu v0, sp, 0x60                                                        |     v0 = sp + 0x60;
    0x000087d8 sw zero, 0x44(sp)                                                         |     *(var_44h) = 0;
                                                                                         |     if (a0 != v0) {
    0x000087dc beq a0, v0, 0x87f0                                                        |         
    0x000087e0 lw t9, -0x7f94(gp)                                                        |         t9 = *(gp);
    0x000087e4 jalr t9                                                                   |         t9 ();
    0x000087e8 nop                                                                       |         
    0x000087ec lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x000087f0 lw v1, 0x258(sp)                                                          |     v1 = *(var_258h);
    0x000087f4 lw v0, 0x25c(sp)                                                          |     v0 = *(var_25ch);
    0x000087f8 mtc1 s1, f0                                                               |     __asm ("mtc1 s1, f0");
    0x000087fc mul a0, v1, v0                                                            |     __asm ("mul a0, v1, v0");
    0x00008800 cvt.d.w f2, f0                                                            |     __asm ("cvt.d.w f2, f0");
    0x00008804 mtc1 a0, f4                                                               |     __asm ("mtc1 a0, f4");
    0x00008808 cvt.d.w f0, f4                                                            |     __asm ("cvt.d.w f0, f4");
    0x0000880c mul.d f0, f0, f20                                                         |     __asm ("mul.d f0, f0, f20");
    0x00008810 c.lt.d f2, f0                                                             |     __asm ("c.lt.d f2, f0");
    0x00008814 bc1t 0x867c                                                               |     __asm ("bc1t 0x867c");
    0x00008818 lw a1, 0x2a0(sp)                                                          |     a1 = *(var_2a0h);
    0x0000881c lw a0, 0x2a4(sp)                                                          |     a0 = *(var_2a4h);
    0x00008820 lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (a1 == a0) {
    0x00008824 beq a1, a0, 0xc738                                                        |         goto label_122;
                                                                                         |     }
                                                                                         |     if (a1 != 0) {
    0x00008828 beqz a1, 0x8848                                                           |         
    0x0000882c nop                                                                       |         
    0x00008830 sw v1, 8(a1)                                                              |         *((a1 + 2)) = v1;
    0x00008834 lw v1, 0x250(sp)                                                          |         v1 = *(var_250h);
    0x00008838 sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
    0x0000883c sw v1, (a1)                                                               |         *(a1) = v1;
    0x00008840 lw v1, 0x254(sp)                                                          |         v1 = *(var_254h);
    0x00008844 sw v1, 4(a1)                                                              |         *((a1 + 1)) = v1;
                                                                                         |     }
    0x00008848 addiu a1, a1, 0x10                                                        |     a1 += 0x10;
    0x0000884c sw a1, 0x2a0(sp)                                                          |     *(var_2a0h) = a1;
    0x00008850 b 0x867c                                                                  |     goto label_4;
                                                                                         | label_120:
    0x00008854 addiu a0, sp, 0x30                                                        |     a0 = sp + 0x30;
    0x00008858 jalr t9                                                                   |     t9 ();
    0x0000885c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008860 b 0x8798                                                                  |     goto label_5;
                                                                                         | label_106:
    0x00008864 lw t9, -0x7e94(gp)                                                        |     t9 = *(gp);
    0x00008868 lw a0, 0x310(sp)                                                          |     a0 = *(var_310h);
    0x0000886c move a1, v0                                                               |     a1 = v0;
    0x00008870 jalr t9                                                                   |     t9 ();
    0x00008874 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008878 b 0x81b8                                                                  |     goto label_6;
                                                                                         | label_104:
    0x0000887c lw t9, -0x7e94(gp)                                                        |     t9 = *(gp);
    0x00008880 addiu a0, s0, 0xc0                                                        |     a0 = s0 + 0xc0;
    0x00008884 move a1, v0                                                               |     a1 = v0;
    0x00008888 jalr t9                                                                   |     t9 ();
    0x0000888c lw ra, 0x33c(sp)                                                          |     ra = *(var_33ch);
    0x00008890 lw fp, 0x338(sp)                                                          |     fp = *(var_338h);
    0x00008894 lw s7, 0x334(sp)                                                          |     s7 = *(var_334h);
    0x00008898 lw s6, 0x330(sp)                                                          |     s6 = *(var_330h);
    0x0000889c lw s5, 0x32c(sp)                                                          |     s5 = *(var_32ch);
    0x000088a0 lw s4, 0x328(sp)                                                          |     s4 = *(var_328h);
    0x000088a4 lw s3, 0x324(sp)                                                          |     s3 = *(var_324h);
    0x000088a8 lw s2, 0x320(sp)                                                          |     s2 = *(var_320h);
    0x000088ac lw s1, 0x31c(sp)                                                          |     s1 = *(var_31ch);
    0x000088b0 lw s0, 0x318(sp)                                                          |     s0 = *(var_318h);
    0x000088b4 ldc1 f20, 0x340(sp)                                                       |     __asm ("ldc1 f20, (var_340h)");
    0x000088b8 addiu sp, sp, 0x348                                                       |     
    0x000088bc jr ra                                                                     |     return v0;
                                                                                         | label_111:
    0x000088c0 lw v0, 0xfc(s0)                                                           |     v0 = *((s0 + 63));
    0x000088c4 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x000088c8 lw v0, (v0)                                                               |     v0 = *(v0);
    0x000088cc move a0, s4                                                               |     a0 = s4;
    0x000088d0 lw a1, 0x304(sp)                                                          |     a1 = *(var_304h);
                                                                                         |     if (v0 <= 0) {
    0x000088d4 blez v0, 0xc644                                                           |         goto label_123;
                                                                                         |     }
    0x000088d8 jalr t9                                                                   |     t9 ();
    0x000088dc nop                                                                       |     
    0x000088e0 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000088e4 lw a1, 0x300(sp)                                                          |     a1 = *(var_300h);
    0x000088e8 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x000088ec addiu s2, sp, 0x214                                                       |     s2 = sp + 0x214;
    0x000088f0 move a0, s2                                                               |     a0 = s2;
    0x000088f4 jalr t9                                                                   |     t9 ();
    0x000088f8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000088fc lw t9, -0x7e80(gp)                                                        |     t9 = *(gp);
    0x00008900 addiu s1, sp, 0x200                                                       |     s1 = sp + 0x200;
    0x00008904 move a0, s1                                                               |     a0 = s1;
    0x00008908 move a1, s0                                                               |     a1 = s0;
    0x0000890c jalr t9                                                                   |     t9 ();
    0x00008910 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008914 addiu v0, sp, 0xe0                                                        |     v0 = sp + 0xe0;
    0x00008918 sw v0, 0x100(sp)                                                          |     *(var_100h) = v0;
    0x0000891c lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x00008920 addiu v0, sp, 0x108                                                       |     v0 = sp + aav.0x00000108;
    0x00008924 addiu s3, sp, 0x1ec                                                       |     s3 = sp + 0x1ec;
    0x00008928 sw v0, 0x104(sp)                                                          |     *(var_104h) = v0;
    0x0000892c lui v0, 0x42ff                                                            |     v0 = 0x42ff0000;
    0x00008930 sw zero, 0x10c(sp)                                                        |     *(var_10ch) = 0;
    0x00008934 sw zero, 0x108(sp)                                                        |     *(var_108h) = 0;
    0x00008938 move a0, s3                                                               |     a0 = s3;
    0x0000893c addiu a1, sp, 0xd8                                                        |     a1 = sp + 0xd8;
    0x00008940 sw v0, 0xd8(sp)                                                           |     *(var_d8h) = v0;
    0x00008944 sw zero, 0xe4(sp)                                                         |     *(var_e4h) = 0;
    0x00008948 sw zero, 0xe0(sp)                                                         |     *(var_e0h) = 0;
    0x0000894c sw zero, 0xdc(sp)                                                         |     *(var_dch) = 0;
    0x00008950 sw zero, 0xf8(sp)                                                         |     *(var_f8h) = 0;
    0x00008954 sw zero, 0xf4(sp)                                                         |     *(var_f4h) = 0;
    0x00008958 sw zero, 0xf0(sp)                                                         |     *(var_f0h) = 0;
    0x0000895c sw zero, 0xe8(sp)                                                         |     *(var_e8h) = 0;
    0x00008960 sw zero, 0xec(sp)                                                         |     *(var_ech) = 0;
    0x00008964 sw zero, 0xfc(sp)                                                         |     *(var_fch) = 0;
    0x00008968 lw s6, 0x100(s0)                                                          |     s6 = *((s0 + 64));
    0x0000896c jalr t9                                                                   |     t9 ();
    0x00008970 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008974 addiu v1, zero, 1                                                         |     v1 = 1;
    0x00008978 lw t9, -0x7ec4(gp)                                                        |     t9 = *(gp);
    0x0000897c addiu v0, zero, -1                                                        |     v0 = -1;
    0x00008980 addiu s5, sp, 0x2cc                                                       |     s5 = sp + 0x2cc;
    0x00008984 sw v1, 0x10(sp)                                                           |     *(var_10h) = v1;
    0x00008988 addiu v1, zero, 2                                                         |     v1 = 2;
    0x0000898c sw zero, 0x14(sp)                                                         |     *(var_14h) = 0;
    0x00008990 sw v1, 0x18(sp)                                                           |     *(var_18h) = v1;
    0x00008994 sw s3, 0x1c(sp)                                                           |     *(var_1ch) = s3;
    0x00008998 sw s5, 0x20(sp)                                                           |     *(var_20h) = s5;
    0x0000899c move a0, s4                                                               |     a0 = s4;
    0x000089a0 move a1, s2                                                               |     a1 = s2;
    0x000089a4 move a2, s1                                                               |     a2 = s1;
    0x000089a8 move a3, s6                                                               |     a3 = s6;
    0x000089ac sw v0, 0x2cc(sp)                                                          |     *(var_2cch) = v0;
    0x000089b0 sw v0, 0x2d0(sp)                                                          |     *(var_2d0h) = v0;
    0x000089b4 jalr t9                                                                   |     t9 ();
    0x000089b8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000089bc lw t9, -0x7f18(gp)                                                        |     t9 = *(gp);
    0x000089c0 addiu a0, sp, 0xd8                                                        |     a0 = sp + 0xd8;
    0x000089c4 jalr t9                                                                   |     t9 ();
    0x000089c8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         | label_100:
    0x000089cc lw t9, -0x7e80(gp)                                                        |     t9 = *(gp);
    0x000089d0 move a0, s1                                                               |     a0 = s1;
    0x000089d4 move a1, s0                                                               |     a1 = s0;
    0x000089d8 jalr t9                                                                   |     t9 ();
    0x000089dc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000089e0 lw t9, -0x7fc0(gp)                                                        |     t9 = *(gp);
    0x000089e4 sw s5, 0x10(sp)                                                           |     *(var_10h) = s5;
    0x000089e8 move a0, s1                                                               |     a0 = s1;
    0x000089ec addiu a1, s0, 0xd0                                                        |     a1 = s0 + 0xd0;
    0x000089f0 move a2, zero                                                             |     a2 = 0;
    0x000089f4 addiu a3, zero, 2                                                         |     a3 = 2;
    0x000089f8 sw zero, 0x2cc(sp)                                                        |     *(var_2cch) = 0;
    0x000089fc sw zero, 0x2d0(sp)                                                        |     *(var_2d0h) = 0;
    0x00008a00 jalr t9                                                                   |     t9 ();
    0x00008a04 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008a08 lw s5, 0xd4(s0)                                                           |     s5 = *((s0 + 53));
    0x00008a0c lw s1, 0xd0(s0)                                                           |     s1 = *((s0 + 52));
    0x00008a10 sw zero, 0x29c(sp)                                                        |     *(var_29ch) = 0;
    0x00008a14 sw zero, 0x2a0(sp)                                                        |     *(var_2a0h) = 0;
    0x00008a18 subu v0, s5, s1                                                           |     __asm ("subu v0, s5, s1");
    0x00008a1c sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00008a20 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x00008a24 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x00008a28 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x00008a2c addu v0, v0, v1                                                           |     v0 += v1;
    0x00008a30 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x00008a34 addu v0, v0, v1                                                           |     v0 += v1;
    0x00008a38 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x00008a3c addu v0, v0, v1                                                           |     v0 += v1;
    0x00008a40 sw zero, 0x2a4(sp)                                                        |     *(var_2a4h) = 0;
                                                                                         |     if (v0 == 0) {
    0x00008a44 beqz v0, 0xc608                                                           |         goto label_124;
                                                                                         |     }
    0x00008a48 addiu s5, sp, 0x29c                                                       |     s5 = sp + 0x29c;
    0x00008a4c move s4, zero                                                             |     s4 = 0;
    0x00008a50 move s2, zero                                                             |     s2 = 0;
    0x00008a54 sw s5, 0x2f8(sp)                                                          |     *(var_2f8h) = s5;
    0x00008a58 lui s6, 0x2000                                                            |     s6 = 0x20000000;
                                                                                         |     do {
    0x00008a5c addu s1, s1, s4                                                           |         s1 += s4;
    0x00008a60 lw s5, 4(s1)                                                              |         s5 = *((s1 + 1));
    0x00008a64 lw v0, (s1)                                                               |         v0 = *(s1);
    0x00008a68 sw zero, 0x2b8(sp)                                                        |         *(var_2b8h) = 0;
    0x00008a6c sw zero, 0x2b4(sp)                                                        |         *(var_2b4h) = 0;
    0x00008a70 subu s5, s5, v0                                                           |         __asm ("subu s5, s5, v0");
    0x00008a74 sra s5, s5, 3                                                             |         s5 >>= 3;
    0x00008a78 sw zero, 0x2bc(sp)                                                        |         *(var_2bch) = 0;
                                                                                         |         if (s5 == 0) {
    0x00008a7c beqz s5, 0x8ff0                                                           |             goto label_125;
                                                                                         |         }
    0x00008a80 sltu v0, s5, s6                                                           |         v0 = (s5 < s6) ? 1 : 0;
    0x00008a84 lw t9, -0x7f38(gp)                                                        |         t9 = sym.imp.operator_new_unsigned_int_;
                                                                                         |         if (v0 == 0) {
    0x00008a88 beqz v0, 0xc5fc                                                           |             goto label_126;
                                                                                         |         }
    0x00008a8c sll s5, s5, 3                                                             |         s5 <<= 3;
    0x00008a90 move a0, s5                                                               |         a0 = s5;
    0x00008a94 jalr t9                                                                   |         t9 ();
    0x00008a98 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x00008a9c move v1, v0                                                               |         v1 = v0;
                                                                                         | label_11:
    0x00008aa0 sw v1, 0x2b4(sp)                                                          |         *(var_2b4h) = v1;
    0x00008aa4 sw v1, 0x2b8(sp)                                                          |         *(var_2b8h) = v1;
    0x00008aa8 lw a1, (s1)                                                               |         a1 = *(s1);
    0x00008aac lw v0, 4(s1)                                                              |         v0 = *((s1 + 1));
    0x00008ab0 addu s5, v1, s5                                                           |         s5 = v1 + s5;
    0x00008ab4 sw s5, 0x2bc(sp)                                                          |         *(var_2bch) = s5;
    0x00008ab8 subu v0, v0, a1                                                           |         __asm ("subu v0, v0, a1");
    0x00008abc sra v0, v0, 3                                                             |         v0 >>= 3;
    0x00008ac0 move s1, zero                                                             |         s1 = 0;
                                                                                         |         if (v0 != 0) {
    0x00008ac4 beqz v0, 0x8ae4                                                           |             
    0x00008ac8 lw t9, -0x7f10(gp)                                                        |             t9 = sym.imp.memmove;
    0x00008acc sll s1, v0, 3                                                             |             s1 = v0 << 3;
    0x00008ad0 move a0, v1                                                               |             a0 = v1;
    0x00008ad4 move a2, s1                                                               |             a2 = s1;
    0x00008ad8 jalr t9                                                                   |             t9 ();
    0x00008adc lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
    0x00008ae0 move v1, v0                                                               |             v1 = v0;
                                                                                         |         }
    0x00008ae4 lw t9, -0x7f54(gp)                                                        |         t9 = *(gp);
    0x00008ae8 addu v1, v1, s1                                                           |         v1 += s1;
    0x00008aec addiu a0, sp, 0x250                                                       |         a0 = sp + 0x250;
    0x00008af0 addiu a1, sp, 0x2b4                                                       |         a1 = sp + 0x2b4;
    0x00008af4 sw v1, 0x2b8(sp)                                                          |         *(var_2b8h) = v1;
    0x00008af8 jalr t9                                                                   |         t9 ();
    0x00008afc lw a0, 0x2b4(sp)                                                          |         a0 = *(var_2b4h);
    0x00008b00 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |         if (a0 != 0) {
    0x00008b04 beqz a0, 0x8b18                                                           |             
    0x00008b08 lw t9, -0x7ea8(gp)                                                        |             t9 = sym.imp.operator_delete_void_;
    0x00008b0c jalr t9                                                                   |             t9 ();
    0x00008b10 nop                                                                       |             
    0x00008b14 lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
                                                                                         |         }
    0x00008b18 lw a1, 0x2a0(sp)                                                          |         a1 = *(var_2a0h);
    0x00008b1c lw v0, 0x2a4(sp)                                                          |         v0 = *(var_2a4h);
    0x00008b20 lw t9, -0x7f98(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (a1 == v0) {
    0x00008b24 beq a1, v0, 0x8ffc                                                        |             goto label_127;
                                                                                         |         }
    0x00008b28 lw v0, 0x250(sp)                                                          |         v0 = *(var_250h);
                                                                                         |         if (a1 != 0) {
    0x00008b2c beqz a1, 0x8b4c                                                           |             
    0x00008b30 sw v0, (a1)                                                               |             *(a1) = v0;
    0x00008b34 lw v0, 0x254(sp)                                                          |             v0 = *(var_254h);
    0x00008b38 sw v0, 4(a1)                                                              |             *((a1 + 1)) = v0;
    0x00008b3c lw v0, 0x258(sp)                                                          |             v0 = *(var_258h);
    0x00008b40 sw v0, 8(a1)                                                              |             *((a1 + 2)) = v0;
    0x00008b44 lw v0, 0x25c(sp)                                                          |             v0 = *(var_25ch);
    0x00008b48 sw v0, 0xc(a1)                                                            |             *((a1 + 3)) = v0;
                                                                                         |         }
    0x00008b4c addiu a1, a1, 0x10                                                        |         a1 += 0x10;
    0x00008b50 sw a1, 0x2a0(sp)                                                          |         *(var_2a0h) = a1;
                                                                                         | label_12:
    0x00008b54 lw s5, 0xd4(s0)                                                           |         s5 = *((s0 + 53));
    0x00008b58 lw s1, 0xd0(s0)                                                           |         s1 = *((s0 + 52));
    0x00008b5c addiu s2, s2, 1                                                           |         s2++;
    0x00008b60 subu v0, s5, s1                                                           |         __asm ("subu v0, s5, s1");
    0x00008b64 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x00008b68 sll v1, v0, 2                                                             |         v1 = v0 << 2;
    0x00008b6c addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x00008b70 sll v1, v0, 4                                                             |         v1 = v0 << 4;
    0x00008b74 addu v0, v0, v1                                                           |         v0 += v1;
    0x00008b78 sll v1, v0, 8                                                             |         v1 = v0 << 8;
    0x00008b7c addu v0, v0, v1                                                           |         v0 += v1;
    0x00008b80 sll v1, v0, 0x10                                                          |         v1 = v0 << 0x10;
    0x00008b84 addu v0, v0, v1                                                           |         v0 += v1;
    0x00008b88 negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x00008b8c sltu v0, s2, v0                                                           |         v0 = (s2 < v0) ? 1 : 0;
    0x00008b90 addiu s4, s4, 0xc                                                         |         s4 += 0xc;
    0x00008b94 bnez v0, 0x8a5c                                                           |         
                                                                                         |     } while (v0 != 0);
                                                                                         | label_99:
    0x00008b98 move s2, s1                                                               |     s2 = s1;
                                                                                         |     if (s1 == s5) {
    0x00008b9c beq s1, s5, 0x8bc4                                                        |         goto label_128;
                                                                                         |     }
                                                                                         |     do {
    0x00008ba0 lw a0, (s2)                                                               |         a0 = *(s2);
    0x00008ba4 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
                                                                                         |         if (a0 != 0) {
    0x00008ba8 beqz a0, 0x8bb8                                                           |             
    0x00008bac jalr t9                                                                   |             t9 ();
    0x00008bb0 nop                                                                       |             
    0x00008bb4 lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
                                                                                         |         }
    0x00008bb8 addiu s2, s2, 0xc                                                         |         s2 += 0xc;
    0x00008bbc bne s2, s5, 0x8ba0                                                        |         
                                                                                         |     } while (s2 != s5);
    0x00008bc0 nop                                                                       |     
                                                                                         | label_128:
    0x00008bc4 lw t9, -0x7f2c(gp)                                                        |     t9 = *(gp);
    0x00008bc8 lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x00008bcc addiu s7, sp, 0x260                                                       |     s7 = sp + aav.0x00000260;
    0x00008bd0 addiu s2, sp, 0x2dc                                                       |     s2 = sp + 0x2dc;
    0x00008bd4 sw s7, 0x2f4(sp)                                                          |     *(var_2f4h) = s7;
    0x00008bd8 sw s1, 0xd4(s0)                                                           |     *((s0 + 53)) = s1;
    0x00008bdc sw zero, 0x260(sp)                                                        |     *(var_260h) = 0;
    0x00008be0 sw zero, 0x264(sp)                                                        |     *(var_264h) = 0;
    0x00008be4 sw zero, 0x268(sp)                                                        |     *(var_268h) = 0;
    0x00008be8 move a1, s7                                                               |     a1 = s7;
    0x00008bec move a2, s2                                                               |     a2 = s2;
    0x00008bf0 jalr t9                                                                   |     t9 ();
    0x00008bf4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008bf8 lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x00008bfc lw a3, 0x264(sp)                                                          |     a3 = *(var_264h);
    0x00008c00 sw zero, 0x284(sp)                                                        |     *(var_284h) = 0;
    0x00008c04 sw zero, 0x288(sp)                                                        |     *(var_288h) = 0;
    0x00008c08 subu v0, a3, v1                                                           |     __asm ("subu v0, a3, v1");
    0x00008c0c sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00008c10 sw zero, 0x28c(sp)                                                        |     *(var_28ch) = 0;
    0x00008c14 lw t0, 0x29c(sp)                                                          |     t0 = *(var_29ch);
                                                                                         |     if (v0 == 0) {
    0x00008c18 beqz v0, 0xc5ac                                                           |         goto label_129;
                                                                                         |     }
    0x00008c1c move s1, zero                                                             |     s1 = 0;
    0x00008c20 sll a0, s1, 2                                                             |     a0 = s1 << 2;
    0x00008c24 addu a0, v1, a0                                                           |     a0 = v1 + a0;
    0x00008c28 move v0, zero                                                             |     v0 = 0;
    0x00008c2c move a1, zero                                                             |     a1 = 0;
    0x00008c30 lw a0, (a0)                                                               |     a0 = *(a0);
    0x00008c34 subu a2, a1, v0                                                           |     __asm ("subu a2, a1, v0");
    0x00008c38 sra a2, a2, 4                                                             |     a2 >>= 4;
    0x00008c3c addiu s5, sp, 0x284                                                       |     s5 = sp + aav.0x00000284;
    0x00008c40 slt a2, a0, a2                                                            |     a2 = (a0 < a2) ? 1 : 0;
    0x00008c44 sw s5, 0x2fc(sp)                                                          |     *(var_2fch) = s5;
                                                                                         |     if (a2 != 0) {
    0x00008c48 bnez a2, 0x8ccc                                                           |         goto label_130;
                                                                                         |     }
                                                                                         |     do {
    0x00008c4c lw v0, 0x28c(sp)                                                          |         v0 = *(var_28ch);
    0x00008c50 sll a2, s1, 4                                                             |         a2 = s1 << 4;
    0x00008c54 addu a2, t0, a2                                                           |         a2 = t0 + a2;
                                                                                         |         if (v0 == a1) {
    0x00008c58 beq v0, a1, 0xc58c                                                        |             goto label_131;
                                                                                         |         }
                                                                                         |         if (a1 != 0) {
    0x00008c5c beqz a1, 0x8c84                                                           |             
    0x00008c60 nop                                                                       |             
    0x00008c64 lw t2, (a2)                                                               |             t2 = *(a2);
    0x00008c68 lw t1, 4(a2)                                                              |             t1 = *((a2 + 1));
    0x00008c6c lw a0, 8(a2)                                                              |             a0 = *((a2 + 2));
    0x00008c70 lw v0, 0xc(a2)                                                            |             v0 = *((a2 + 3));
    0x00008c74 sw t2, (a1)                                                               |             *(a1) = t2;
    0x00008c78 sw t1, 4(a1)                                                              |             *((a1 + 1)) = t1;
    0x00008c7c sw a0, 8(a1)                                                              |             *((a1 + 2)) = a0;
    0x00008c80 sw v0, 0xc(a1)                                                            |             *((a1 + 3)) = v0;
                                                                                         |         }
    0x00008c84 addiu a1, a1, 0x10                                                        |         a1 += 0x10;
    0x00008c88 sw a1, 0x288(sp)                                                          |         *(var_288h) = a1;
                                                                                         | label_97:
    0x00008c8c subu v0, a3, v1                                                           |         __asm ("subu v0, a3, v1");
    0x00008c90 addiu s1, s1, 1                                                           |         s1++;
    0x00008c94 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x00008c98 sltu v0, s1, v0                                                           |         v0 = (s1 < v0) ? 1 : 0;
    0x00008c9c lw t9, -0x7f2c(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (v0 == 0) {
    0x00008ca0 beqz v0, 0x8d64                                                           |             goto label_132;
                                                                                         |         }
    0x00008ca4 lw a1, 0x288(sp)                                                          |         a1 = *(var_288h);
                                                                                         | label_7:
    0x00008ca8 lw v0, 0x284(sp)                                                          |         v0 = *(var_284h);
    0x00008cac sll a0, s1, 2                                                             |         a0 = s1 << 2;
    0x00008cb0 addu a0, v1, a0                                                           |         a0 = v1 + a0;
    0x00008cb4 lw a0, (a0)                                                               |         a0 = *(a0);
    0x00008cb8 subu a2, a1, v0                                                           |         __asm ("subu a2, a1, v0");
    0x00008cbc sra a2, a2, 4                                                             |         a2 >>= 4;
    0x00008cc0 slt a2, a0, a2                                                            |         a2 = (a0 < a2) ? 1 : 0;
    0x00008cc4 beqz a2, 0x8c4c                                                           |         
                                                                                         |     } while (a2 == 0);
    0x00008cc8 nop                                                                       |     
                                                                                         | label_130:
    0x00008ccc sll a1, a0, 4                                                             |     a1 = a0 << 4;
    0x00008cd0 sll a0, s1, 4                                                             |     a0 = s1 << 4;
    0x00008cd4 addu v0, v0, a1                                                           |     v0 += a1;
    0x00008cd8 addu a0, t0, a0                                                           |     a0 = t0 + a0;
    0x00008cdc lw a2, 4(a0)                                                              |     a2 = *((a0 + 1));
    0x00008ce0 lw t2, (a0)                                                               |     t2 = *(a0);
    0x00008ce4 lw t1, (v0)                                                               |     t1 = *(v0);
    0x00008ce8 lw a1, 4(v0)                                                              |     a1 = *((v0 + 1));
    0x00008cec lw t6, 0xc(v0)                                                            |     t6 = *((v0 + 3));
    0x00008cf0 lw t4, 8(v0)                                                              |     t4 = *((v0 + 2));
    0x00008cf4 lw t5, 8(a0)                                                              |     t5 = *((a0 + 2));
    0x00008cf8 lw t3, 0xc(a0)                                                            |     t3 = *((a0 + 3));
    0x00008cfc addu t4, t1, t4                                                           |     t4 = t1 + t4;
    0x00008d00 addu a0, a1, t6                                                           |     a0 = a1 + t6;
    0x00008d04 addu t3, a2, t3                                                           |     t3 = a2 + t3;
    0x00008d08 addu t5, t2, t5                                                           |     t5 = t2 + t5;
    0x00008d0c slt s4, a1, a2                                                            |     s4 = (a1 < a2) ? 1 : 0;
                                                                                         |     if (s4 != 0) {
    0x00008d10 movz a1, a2, s4                                                           |         a1 = a2;
                                                                                         |     }
    0x00008d14 slt s5, t1, t2                                                            |     s5 = (t1 < t2) ? 1 : 0;
    0x00008d18 slt t7, t5, t4                                                            |     t7 = (t5 < t4) ? 1 : 0;
    0x00008d1c slt t6, t3, a0                                                            |     t6 = (t3 < a0) ? 1 : 0;
    0x00008d20 move a2, t4                                                               |     a2 = t4;
                                                                                         |     if (s5 != 0) {
    0x00008d24 movz t1, t2, s5                                                           |         t1 = t2;
                                                                                         |     }
                                                                                         |     if (t7 != 0) {
    0x00008d28 movz a2, t5, t7                                                           |         a2 = t5;
                                                                                         |     }
                                                                                         |     if (t6 != 0) {
    0x00008d2c movz a0, t3, t6                                                           |         a0 = t3;
                                                                                         |     }
    0x00008d30 subu a2, a2, t1                                                           |     __asm ("subu a2, a2, t1");
    0x00008d34 subu a0, a0, a1                                                           |     __asm ("subu a0, a0, a1");
    0x00008d38 sw t1, (v0)                                                               |     *(v0) = t1;
    0x00008d3c sw a1, 4(v0)                                                              |     *((v0 + 1)) = a1;
    0x00008d40 sw a2, 8(v0)                                                              |     *((v0 + 2)) = a2;
    0x00008d44 sw a0, 0xc(v0)                                                            |     *((v0 + 3)) = a0;
    0x00008d48 subu v0, a3, v1                                                           |     __asm ("subu v0, a3, v1");
    0x00008d4c addiu s1, s1, 1                                                           |     s1++;
    0x00008d50 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00008d54 sltu v0, s1, v0                                                           |     v0 = (s1 < v0) ? 1 : 0;
    0x00008d58 lw a1, 0x288(sp)                                                          |     a1 = *(var_288h);
                                                                                         |     if (v0 != 0) {
    0x00008d5c bnez v0, 0x8ca8                                                           |         goto label_7;
                                                                                         |     }
                                                                                         | label_98:
    0x00008d60 lw t9, -0x7f2c(gp)                                                        |     t9 = *(gp);
                                                                                         | label_132:
    0x00008d64 lw a0, 0x2fc(sp)                                                          |     a0 = *(var_2fch);
    0x00008d68 lw a1, 0x2f4(sp)                                                          |     a1 = *(var_2f4h);
    0x00008d6c move a2, s2                                                               |     a2 = s2;
    0x00008d70 sw t0, 0x2a0(sp)                                                          |     *(var_2a0h) = t0;
    0x00008d74 sw v1, 0x264(sp)                                                          |     *(var_264h) = v1;
    0x00008d78 jalr t9                                                                   |     t9 ();
    0x00008d7c lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x00008d80 lw a3, 0x264(sp)                                                          |     a3 = *(var_264h);
    0x00008d84 subu v0, a3, v1                                                           |     __asm ("subu v0, a3, v1");
    0x00008d88 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00008d8c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (v0 == 0) {
    0x00008d90 beqz v0, 0xc53c                                                           |         goto label_133;
                                                                                         |     }
    0x00008d94 lw a1, 0x2a0(sp)                                                          |     a1 = *(var_2a0h);
    0x00008d98 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x00008d9c move s1, zero                                                             |     s1 = 0;
    0x00008da0 subu t0, a1, v0                                                           |     __asm ("subu t0, a1, v0");
    0x00008da4 b 0x8e10                                                                  |     
                                                                                         |     while (t1 == 0) {
    0x00008da8 lw a2, 0x284(sp)                                                          |         a2 = *(var_284h);
    0x00008dac sll a0, s1, 4                                                             |         a0 = s1 << 4;
    0x00008db0 addu a2, a2, a0                                                           |         a2 += a0;
    0x00008db4 lw a0, 0x2a4(sp)                                                          |         a0 = *(var_2a4h);
    0x00008db8 lw t9, -0x7f98(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (a0 == a1) {
    0x00008dbc beq a0, a1, 0xc514                                                        |             goto label_134;
                                                                                         |         }
                                                                                         |         if (a1 != 0) {
    0x00008dc0 beqz a1, 0x8de8                                                           |             
    0x00008dc4 nop                                                                       |             
    0x00008dc8 lw t2, (a2)                                                               |             t2 = *(a2);
    0x00008dcc lw t1, 4(a2)                                                              |             t1 = *((a2 + 1));
    0x00008dd0 lw t0, 8(a2)                                                              |             t0 = *((a2 + 2));
    0x00008dd4 lw a0, 0xc(a2)                                                            |             a0 = *((a2 + 3));
    0x00008dd8 sw t2, (a1)                                                               |             *(a1) = t2;
    0x00008ddc sw t1, 4(a1)                                                              |             *((a1 + 1)) = t1;
    0x00008de0 sw t0, 8(a1)                                                              |             *((a1 + 2)) = t0;
    0x00008de4 sw a0, 0xc(a1)                                                            |             *((a1 + 3)) = a0;
                                                                                         |         }
    0x00008de8 addiu a1, a1, 0x10                                                        |         a1 += 0x10;
    0x00008dec subu t0, a1, v0                                                           |         __asm ("subu t0, a1, v0");
    0x00008df0 sw a1, 0x2a0(sp)                                                          |         *(var_2a0h) = a1;
    0x00008df4 sra a2, t0, 4                                                             |         a2 = t0 >> 4;
                                                                                         | label_94:
    0x00008df8 subu a0, a3, v1                                                           |         __asm ("subu a0, a3, v1");
    0x00008dfc addiu s1, s1, 1                                                           |         s1++;
    0x00008e00 sra a0, a0, 2                                                             |         a0 >>= 2;
    0x00008e04 sltu a0, s1, a0                                                           |         a0 = (s1 < a0) ? 1 : 0;
                                                                                         |         if (a0 == 0) {
    0x00008e08 beqz a0, 0x8ec0                                                           |             goto label_95;
                                                                                         |         }
    0x00008e0c nop                                                                       |         
    0x00008e10 sll a0, s1, 2                                                             |         a0 = s1 << 2;
                                                                                         | label_8:
    0x00008e14 addu a0, v1, a0                                                           |         a0 = v1 + a0;
    0x00008e18 lw a0, (a0)                                                               |         a0 = *(a0);
    0x00008e1c sra a2, t0, 4                                                             |         a2 = t0 >> 4;
    0x00008e20 slt t1, a0, a2                                                            |         t1 = (a0 < a2) ? 1 : 0;
    0x00008e24 lw t5, 0x284(sp)                                                          |         t5 = *(var_284h);
    0x00008e28 beqz t1, 0x8da8                                                           |         
                                                                                         |     }
    0x00008e2c sll t1, s1, 4                                                             |     t1 = s1 << 4;
    0x00008e30 sll a0, a0, 4                                                             |     a0 <<= 4;
    0x00008e34 addu a0, v0, a0                                                           |     a0 = v0 + a0;
    0x00008e38 addu t5, t5, t1                                                           |     t5 += t1;
    0x00008e3c lw t3, (t5)                                                               |     t3 = *(t5);
    0x00008e40 lw t1, 4(t5)                                                              |     t1 = *((t5 + 1));
    0x00008e44 lw t2, (a0)                                                               |     t2 = *(a0);
    0x00008e48 lw s7, 4(a0)                                                              |     s7 = *((a0 + 1));
    0x00008e4c lw t6, 8(a0)                                                              |     t6 = *((a0 + 2));
    0x00008e50 lw t7, 8(t5)                                                              |     t7 = *((t5 + 2));
    0x00008e54 lw t4, 0xc(a0)                                                            |     t4 = *((a0 + 3));
    0x00008e58 lw t5, 0xc(t5)                                                            |     t5 = *((t5 + 3));
    0x00008e5c addu t6, t2, t6                                                           |     t6 = t2 + t6;
    0x00008e60 addu t7, t3, t7                                                           |     t7 = t3 + t7;
    0x00008e64 addu t5, t1, t5                                                           |     t5 = t1 + t5;
    0x00008e68 addu t4, s7, t4                                                           |     t4 = s7 + t4;
    0x00008e6c slt s5, t2, t3                                                            |     s5 = (t2 < t3) ? 1 : 0;
                                                                                         |     if (s5 != 0) {
    0x00008e70 movz t2, t3, s5                                                           |         t2 = t3;
                                                                                         |     }
    0x00008e74 slt s6, s7, t1                                                            |     s6 = (s7 < t1) ? 1 : 0;
    0x00008e78 slt s4, t7, t6                                                            |     s4 = (t7 < t6) ? 1 : 0;
    0x00008e7c slt s2, t5, t4                                                            |     s2 = (t5 < t4) ? 1 : 0;
    0x00008e80 move t3, t4                                                               |     t3 = t4;
                                                                                         |     if (s6 == 0) {
    0x00008e84 movn t1, s7, s6                                                           |         t1 = s7;
                                                                                         |     }
                                                                                         |     if (s4 != 0) {
    0x00008e88 movz t6, t7, s4                                                           |         t6 = t7;
                                                                                         |     }
                                                                                         |     if (s2 != 0) {
    0x00008e8c movz t3, t5, s2                                                           |         t3 = t5;
                                                                                         |     }
    0x00008e90 subu t6, t6, t2                                                           |     __asm ("subu t6, t6, t2");
    0x00008e94 subu t3, t3, t1                                                           |     __asm ("subu t3, t3, t1");
    0x00008e98 sw t2, (a0)                                                               |     *(a0) = t2;
    0x00008e9c sw t1, 4(a0)                                                              |     *((a0 + 1)) = t1;
    0x00008ea0 sw t6, 8(a0)                                                              |     *((a0 + 2)) = t6;
    0x00008ea4 sw t3, 0xc(a0)                                                            |     *((a0 + 3)) = t3;
    0x00008ea8 subu a0, a3, v1                                                           |     __asm ("subu a0, a3, v1");
    0x00008eac addiu s1, s1, 1                                                           |     s1++;
    0x00008eb0 sra a0, a0, 2                                                             |     a0 >>= 2;
    0x00008eb4 sltu a0, s1, a0                                                           |     a0 = (s1 < a0) ? 1 : 0;
    0x00008eb8 sll a0, s1, 2                                                             |     a0 = s1 << 2;
                                                                                         |     if (a0 != 0) {
    0x00008ebc bnez a0, 0x8e14                                                           |         goto label_8;
                                                                                         |     }
                                                                                         | label_95:
    0x00008ec0 sw zero, 0x26c(sp)                                                        |     *(var_26ch) = 0;
    0x00008ec4 sw zero, 0x270(sp)                                                        |     *(var_270h) = 0;
    0x00008ec8 sw zero, 0x274(sp)                                                        |     *(var_274h) = 0;
                                                                                         |     if (a2 == 0) {
    0x00008ecc beqz a2, 0x8fc8                                                           |         goto label_135;
                                                                                         |     }
    0x00008ed0 move s1, zero                                                             |     s1 = 0;
    0x00008ed4 b 0x8ef4                                                                  |     
                                                                                         |     while (a0 != 0) {
                                                                                         | label_9:
    0x00008ed8 lw v1, 0x2a0(sp)                                                          |         v1 = *(var_2a0h);
    0x00008edc addiu s1, s1, 1                                                           |         s1++;
    0x00008ee0 subu v1, v1, v0                                                           |         __asm ("subu v1, v1, v0");
    0x00008ee4 sra v1, v1, 4                                                             |         v1 >>= 4;
    0x00008ee8 sltu v1, s1, v1                                                           |         v1 = (s1 < v1) ? 1 : 0;
                                                                                         |         if (v1 == 0) {
    0x00008eec beqz v1, 0x8fc8                                                           |             goto label_135;
                                                                                         |         }
    0x00008ef0 nop                                                                       |         
                                                                                         | label_10:
    0x00008ef4 sll v1, s1, 4                                                             |         v1 = s1 << 4;
    0x00008ef8 addu v1, v0, v1                                                           |         v1 = v0 + v1;
    0x00008efc lw s4, 8(v1)                                                              |         s4 = *((v1 + 2));
    0x00008f00 lw s7, (v1)                                                               |         s7 = *(v1);
    0x00008f04 lw s6, 4(v1)                                                              |         s6 = *((v1 + 1));
    0x00008f08 slti a0, s4, 0x10                                                         |         a0 = (s4 < 0x10) ? 1 : 0;
    0x00008f0c lw s5, 0xc(v1)                                                            |         s5 = *((v1 + 3));
    0x00008f10 bnez a0, 0x8ed8                                                           |         
                                                                                         |     }
    0x00008f14 slti v1, s5, 0x10                                                         |     v1 = (s5 < 0x10) ? 1 : 0;
    0x00008f18 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (v1 != 0) {
    0x00008f1c bnez v1, 0x8ed8                                                           |         goto label_9;
                                                                                         |     }
    0x00008f20 move a0, s3                                                               |     a0 = s3;
    0x00008f24 move a1, s0                                                               |     a1 = s0;
    0x00008f28 addiu s2, sp, 0x26c                                                       |     s2 = sp + 0x26c;
    0x00008f2c jalr t9                                                                   |     t9 ();
    0x00008f30 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00008f34 lw t9, -0x7f58(gp)                                                        |     t9 = *(gp);
    0x00008f38 move a0, s3                                                               |     a0 = s3;
    0x00008f3c addiu s2, sp, 0x26c                                                       |     s2 = sp + 0x26c;
    0x00008f40 jalr t9                                                                   |     t9 ();
    0x00008f44 lw a0, 0xa8(s0)                                                           |     a0 = *((s0 + 42));
    0x00008f48 lw v1, 0xac(s0)                                                           |     v1 = *((s0 + 43));
    0x00008f4c mul v1, a0, v1                                                            |     __asm ("mul v1, a0, v1");
    0x00008f50 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (v0 == v1) {
    0x00008f54 beq v0, v1, 0xae2c                                                        |         goto label_136;
                                                                                         |     }
    0x00008f58 lw a1, 0x270(sp)                                                          |     a1 = *(var_270h);
    0x00008f5c lw v0, 0x274(sp)                                                          |     v0 = *(var_274h);
    0x00008f60 sw zero, 0x1d8(sp)                                                        |     *(var_1d8h) = 0;
    0x00008f64 sw s7, 0x1dc(sp)                                                          |     *(var_1dch) = s7;
    0x00008f68 sw s6, 0x1e0(sp)                                                          |     *(var_1e0h) = s6;
    0x00008f6c sw s4, 0x1e4(sp)                                                          |     *(var_1e4h) = s4;
    0x00008f70 sw s5, 0x1e8(sp)                                                          |     *(var_1e8h) = s5;
                                                                                         |     if (a1 == v0) {
    0x00008f74 beq a1, v0, 0xadec                                                        |         goto label_137;
                                                                                         |     }
    0x00008f78 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
                                                                                         |     if (a1 != 0) {
    0x00008f7c beqz a1, 0x8fa8                                                           |         
    0x00008f80 sw zero, (a1)                                                             |         *(a1) = 0;
    0x00008f84 lw v0, 0x1dc(sp)                                                          |         v0 = *(var_1dch);
    0x00008f88 sw v0, 4(a1)                                                              |         *((a1 + 1)) = v0;
    0x00008f8c lw v0, 0x1e0(sp)                                                          |         v0 = *(var_1e0h);
    0x00008f90 sw v0, 8(a1)                                                              |         *((a1 + 2)) = v0;
    0x00008f94 lw v0, 0x1e4(sp)                                                          |         v0 = *(var_1e4h);
    0x00008f98 sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
    0x00008f9c lw v0, 0x1e8(sp)                                                          |         v0 = *(var_1e8h);
    0x00008fa0 sw v0, 0x10(a1)                                                           |         *((a1 + 4)) = v0;
    0x00008fa4 lw v0, 0x29c(sp)                                                          |         v0 = *(var_29ch);
                                                                                         |     }
    0x00008fa8 lw v1, 0x2a0(sp)                                                          |     v1 = *(var_2a0h);
    0x00008fac addiu s1, s1, 1                                                           |     s1++;
    0x00008fb0 addiu a1, a1, 0x14                                                        |     a1 += 0x14;
    0x00008fb4 subu v1, v1, v0                                                           |     __asm ("subu v1, v1, v0");
    0x00008fb8 sra v1, v1, 4                                                             |     v1 >>= 4;
    0x00008fbc sltu v1, s1, v1                                                           |     v1 = (s1 < v1) ? 1 : 0;
    0x00008fc0 sw a1, 0x270(sp)                                                          |     *(var_270h) = a1;
                                                                                         |     if (v1 != 0) {
    0x00008fc4 bnez v1, 0x8ef4                                                           |         goto label_10;
                                                                                         |     }
                                                                                         | label_135:
    0x00008fc8 lw v0, -0x7ef0(gp)                                                        |     v0 = *(gp);
    0x00008fcc lbu v1, (v0)                                                              |     v1 = *(v0);
    0x00008fd0 lw v1, -0x7fac(gp)                                                        |     v1 = *(gp);
                                                                                         |     if (v1 != 0) {
    0x00008fd4 bnez v1, 0xae40                                                           |         goto label_138;
                                                                                         |     }
    0x00008fd8 lw v1, -0x7f70(gp)                                                        |     v1 = *(gp);
    0x00008fdc lw a0, (v1)                                                               |     a0 = *(v1);
    0x00008fe0 addiu a0, a0, -1                                                          |     a0 += -1;
                                                                                         |     if (a0 != 0) {
    0x00008fe4 bnez a0, 0xc45c                                                           |         goto label_139;
                                                                                         |     }
    0x00008fe8 lw a3, 0xfc(s0)                                                           |     a3 = *((s0 + 63));
    0x00008fec b 0xae60                                                                  |     goto label_140;
                                                                                         | label_125:
    0x00008ff0 move s5, zero                                                             |     s5 = 0;
    0x00008ff4 move v1, zero                                                             |     v1 = 0;
    0x00008ff8 b 0x8aa0                                                                  |     goto label_11;
                                                                                         | label_127:
    0x00008ffc lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x00009000 addiu a2, sp, 0x250                                                       |     a2 = sp + 0x250;
    0x00009004 jalr t9                                                                   |     t9 ();
    0x00009008 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000900c b 0x8b54                                                                  |     goto label_12;
                                                                                         | label_115:
    0x00009010 addiu s4, sp, 0x29c                                                       |     s4 = sp + 0x29c;
    0x00009014 sw s4, 0x2f8(sp)                                                          |     *(var_2f8h) = s4;
                                                                                         | label_118:
    0x00009018 move s2, s1                                                               |     s2 = s1;
                                                                                         |     if (s5 == s1) {
    0x0000901c beq s5, s1, 0x9044                                                        |         goto label_141;
                                                                                         |     }
                                                                                         |     do {
    0x00009020 lw a0, (s2)                                                               |         a0 = *(s2);
    0x00009024 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
                                                                                         |         if (a0 != 0) {
    0x00009028 beqz a0, 0x9038                                                           |             
    0x0000902c jalr t9                                                                   |             t9 ();
    0x00009030 nop                                                                       |             
    0x00009034 lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
                                                                                         |         }
    0x00009038 addiu s2, s2, 0xc                                                         |         s2 += 0xc;
    0x0000903c bne s5, s2, 0x9020                                                        |         
                                                                                         |     } while (s5 != s2);
    0x00009040 nop                                                                       |     
                                                                                         | label_141:
    0x00009044 lw t9, -0x7f2c(gp)                                                        |     t9 = *(gp);
    0x00009048 lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x0000904c addiu s4, sp, 0x260                                                       |     s4 = sp + aav.0x00000260;
    0x00009050 addiu s2, sp, 0x2dc                                                       |     s2 = sp + 0x2dc;
    0x00009054 sw s4, 0x2f4(sp)                                                          |     *(var_2f4h) = s4;
    0x00009058 sw s1, 0xd4(s0)                                                           |     *((s0 + 53)) = s1;
    0x0000905c sw zero, 0x260(sp)                                                        |     *(var_260h) = 0;
    0x00009060 sw zero, 0x264(sp)                                                        |     *(var_264h) = 0;
    0x00009064 sw zero, 0x268(sp)                                                        |     *(var_268h) = 0;
    0x00009068 move a1, s4                                                               |     a1 = s4;
    0x0000906c move a2, s2                                                               |     a2 = s2;
    0x00009070 jalr t9                                                                   |     t9 ();
    0x00009074 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009078 lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x0000907c lw a0, 0x264(sp)                                                          |     a0 = *(var_264h);
    0x00009080 sw zero, 0x284(sp)                                                        |     *(var_284h) = 0;
    0x00009084 sw zero, 0x288(sp)                                                        |     *(var_288h) = 0;
    0x00009088 subu v0, a0, v1                                                           |     __asm ("subu v0, a0, v1");
    0x0000908c sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00009090 sw zero, 0x28c(sp)                                                        |     *(var_28ch) = 0;
    0x00009094 lw a3, 0x29c(sp)                                                          |     a3 = *(var_29ch);
                                                                                         |     if (v0 == 0) {
    0x00009098 beqz v0, 0xc570                                                           |         goto label_142;
                                                                                         |     }
    0x0000909c move s1, zero                                                             |     s1 = 0;
    0x000090a0 sll a2, s1, 2                                                             |     a2 = s1 << 2;
    0x000090a4 addu a2, v1, a2                                                           |     a2 = v1 + a2;
    0x000090a8 move v0, zero                                                             |     v0 = 0;
    0x000090ac move a1, zero                                                             |     a1 = 0;
    0x000090b0 lw a2, (a2)                                                               |     a2 = *(a2);
    0x000090b4 subu t0, a1, v0                                                           |     __asm ("subu t0, a1, v0");
    0x000090b8 sra t0, t0, 4                                                             |     t0 >>= 4;
    0x000090bc addiu s7, sp, 0x284                                                       |     s7 = sp + aav.0x00000284;
    0x000090c0 slt t0, a2, t0                                                            |     t0 = (a2 < t0) ? 1 : 0;
    0x000090c4 sw s7, 0x2fc(sp)                                                          |     *(var_2fch) = s7;
                                                                                         |     if (t0 != 0) {
    0x000090c8 bnez t0, 0x914c                                                           |         goto label_143;
                                                                                         |     }
                                                                                         |     do {
    0x000090cc lw v0, 0x28c(sp)                                                          |         v0 = *(var_28ch);
    0x000090d0 sll a2, s1, 4                                                             |         a2 = s1 << 4;
    0x000090d4 addu a2, a3, a2                                                           |         a2 = a3 + a2;
                                                                                         |         if (v0 == a1) {
    0x000090d8 beq v0, a1, 0x9478                                                        |             goto label_144;
                                                                                         |         }
                                                                                         |         if (a1 != 0) {
    0x000090dc beqz a1, 0x9104                                                           |             
    0x000090e0 nop                                                                       |             
    0x000090e4 lw t2, (a2)                                                               |             t2 = *(a2);
    0x000090e8 lw t1, 4(a2)                                                              |             t1 = *((a2 + 1));
    0x000090ec lw t0, 8(a2)                                                              |             t0 = *((a2 + 2));
    0x000090f0 lw v0, 0xc(a2)                                                            |             v0 = *((a2 + 3));
    0x000090f4 sw t2, (a1)                                                               |             *(a1) = t2;
    0x000090f8 sw t1, 4(a1)                                                              |             *((a1 + 1)) = t1;
    0x000090fc sw t0, 8(a1)                                                              |             *((a1 + 2)) = t0;
    0x00009100 sw v0, 0xc(a1)                                                            |             *((a1 + 3)) = v0;
                                                                                         |         }
    0x00009104 addiu a1, a1, 0x10                                                        |         a1 += 0x10;
    0x00009108 sw a1, 0x288(sp)                                                          |         *(var_288h) = a1;
                                                                                         | label_17:
    0x0000910c subu v0, a0, v1                                                           |         __asm ("subu v0, a0, v1");
    0x00009110 addiu s1, s1, 1                                                           |         s1++;
    0x00009114 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x00009118 sltu v0, s1, v0                                                           |         v0 = (s1 < v0) ? 1 : 0;
    0x0000911c lw t9, -0x7f2c(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (v0 == 0) {
    0x00009120 beqz v0, 0x91e4                                                           |             goto label_145;
                                                                                         |         }
    0x00009124 lw a1, 0x288(sp)                                                          |         a1 = *(var_288h);
                                                                                         | label_13:
    0x00009128 lw v0, 0x284(sp)                                                          |         v0 = *(var_284h);
    0x0000912c sll a2, s1, 2                                                             |         a2 = s1 << 2;
    0x00009130 addu a2, v1, a2                                                           |         a2 = v1 + a2;
    0x00009134 lw a2, (a2)                                                               |         a2 = *(a2);
    0x00009138 subu t0, a1, v0                                                           |         __asm ("subu t0, a1, v0");
    0x0000913c sra t0, t0, 4                                                             |         t0 >>= 4;
    0x00009140 slt t0, a2, t0                                                            |         t0 = (a2 < t0) ? 1 : 0;
    0x00009144 beqz t0, 0x90cc                                                           |         
                                                                                         |     } while (t0 == 0);
    0x00009148 nop                                                                       |     
                                                                                         | label_143:
    0x0000914c sll a2, a2, 4                                                             |     a2 <<= 4;
    0x00009150 sll a1, s1, 4                                                             |     a1 = s1 << 4;
    0x00009154 addu v0, v0, a2                                                           |     v0 += a2;
    0x00009158 addu a1, a3, a1                                                           |     a1 = a3 + a1;
    0x0000915c lw t0, 4(a1)                                                              |     t0 = *((a1 + 1));
    0x00009160 lw t2, (a1)                                                               |     t2 = *(a1);
    0x00009164 lw t1, (v0)                                                               |     t1 = *(v0);
    0x00009168 lw a2, 4(v0)                                                              |     a2 = *((v0 + 1));
    0x0000916c lw t6, 0xc(v0)                                                            |     t6 = *((v0 + 3));
    0x00009170 lw t4, 8(v0)                                                              |     t4 = *((v0 + 2));
    0x00009174 lw t5, 8(a1)                                                              |     t5 = *((a1 + 2));
    0x00009178 lw t3, 0xc(a1)                                                            |     t3 = *((a1 + 3));
    0x0000917c addu t4, t1, t4                                                           |     t4 = t1 + t4;
    0x00009180 addu a1, a2, t6                                                           |     a1 = a2 + t6;
    0x00009184 addu t3, t0, t3                                                           |     t3 = t0 + t3;
    0x00009188 addu t5, t2, t5                                                           |     t5 = t2 + t5;
    0x0000918c slt s4, a2, t0                                                            |     s4 = (a2 < t0) ? 1 : 0;
                                                                                         |     if (s4 != 0) {
    0x00009190 movz a2, t0, s4                                                           |         a2 = t0;
                                                                                         |     }
    0x00009194 slt s5, t1, t2                                                            |     s5 = (t1 < t2) ? 1 : 0;
    0x00009198 slt t7, t5, t4                                                            |     t7 = (t5 < t4) ? 1 : 0;
    0x0000919c slt t6, t3, a1                                                            |     t6 = (t3 < a1) ? 1 : 0;
    0x000091a0 move t0, t4                                                               |     t0 = t4;
                                                                                         |     if (s5 != 0) {
    0x000091a4 movz t1, t2, s5                                                           |         t1 = t2;
                                                                                         |     }
                                                                                         |     if (t7 != 0) {
    0x000091a8 movz t0, t5, t7                                                           |         t0 = t5;
                                                                                         |     }
                                                                                         |     if (t6 != 0) {
    0x000091ac movz a1, t3, t6                                                           |         a1 = t3;
                                                                                         |     }
    0x000091b0 subu t0, t0, t1                                                           |     __asm ("subu t0, t0, t1");
    0x000091b4 subu a1, a1, a2                                                           |     __asm ("subu a1, a1, a2");
    0x000091b8 sw t1, (v0)                                                               |     *(v0) = t1;
    0x000091bc sw a2, 4(v0)                                                              |     *((v0 + 1)) = a2;
    0x000091c0 sw t0, 8(v0)                                                              |     *((v0 + 2)) = t0;
    0x000091c4 sw a1, 0xc(v0)                                                            |     *((v0 + 3)) = a1;
    0x000091c8 subu v0, a0, v1                                                           |     __asm ("subu v0, a0, v1");
    0x000091cc addiu s1, s1, 1                                                           |     s1++;
    0x000091d0 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x000091d4 sltu v0, s1, v0                                                           |     v0 = (s1 < v0) ? 1 : 0;
    0x000091d8 lw a1, 0x288(sp)                                                          |     a1 = *(var_288h);
                                                                                         |     if (v0 != 0) {
    0x000091dc bnez v0, 0x9128                                                           |         goto label_13;
                                                                                         |     }
                                                                                         | label_96:
    0x000091e0 lw t9, -0x7f2c(gp)                                                        |     t9 = *(gp);
                                                                                         | label_145:
    0x000091e4 lw a0, 0x2fc(sp)                                                          |     a0 = *(var_2fch);
    0x000091e8 lw a1, 0x2f4(sp)                                                          |     a1 = *(var_2f4h);
    0x000091ec move a2, s2                                                               |     a2 = s2;
    0x000091f0 sw a3, 0x2a0(sp)                                                          |     *(var_2a0h) = a3;
    0x000091f4 sw v1, 0x264(sp)                                                          |     *(var_264h) = v1;
    0x000091f8 jalr t9                                                                   |     t9 ();
    0x000091fc lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x00009200 lw a0, 0x264(sp)                                                          |     a0 = *(var_264h);
    0x00009204 subu v0, a0, v1                                                           |     __asm ("subu v0, a0, v1");
    0x00009208 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000920c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (v0 == 0) {
    0x00009210 beqz v0, 0xc4f4                                                           |         goto label_146;
                                                                                         |     }
    0x00009214 lw a1, 0x2a0(sp)                                                          |     a1 = *(var_2a0h);
    0x00009218 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x0000921c move s1, zero                                                             |     s1 = 0;
    0x00009220 subu t0, a1, v0                                                           |     __asm ("subu t0, a1, v0");
    0x00009224 b 0x9290                                                                  |     
                                                                                         |     while (t1 == 0) {
    0x00009228 lw a3, 0x284(sp)                                                          |         a3 = *(var_284h);
    0x0000922c sll a2, s1, 4                                                             |         a2 = s1 << 4;
    0x00009230 addu a2, a3, a2                                                           |         a2 = a3 + a2;
    0x00009234 lw a3, 0x2a4(sp)                                                          |         a3 = *(var_2a4h);
    0x00009238 lw t9, -0x7f98(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (a3 == a1) {
    0x0000923c beq a3, a1, 0x94c0                                                        |             goto label_147;
                                                                                         |         }
                                                                                         |         if (a1 != 0) {
    0x00009240 beqz a1, 0x9268                                                           |             
    0x00009244 nop                                                                       |             
    0x00009248 lw t1, (a2)                                                               |             t1 = *(a2);
    0x0000924c lw t0, 4(a2)                                                              |             t0 = *((a2 + 1));
    0x00009250 lw a3, 8(a2)                                                              |             a3 = *((a2 + 2));
    0x00009254 lw a2, 0xc(a2)                                                            |             a2 = *((a2 + 3));
    0x00009258 sw t1, (a1)                                                               |             *(a1) = t1;
    0x0000925c sw t0, 4(a1)                                                              |             *((a1 + 1)) = t0;
    0x00009260 sw a3, 8(a1)                                                              |             *((a1 + 2)) = a3;
    0x00009264 sw a2, 0xc(a1)                                                            |             *((a1 + 3)) = a2;
                                                                                         |         }
    0x00009268 addiu a1, a1, 0x10                                                        |         a1 += 0x10;
    0x0000926c subu t0, a1, v0                                                           |         __asm ("subu t0, a1, v0");
    0x00009270 sw a1, 0x2a0(sp)                                                          |         *(var_2a0h) = a1;
    0x00009274 sra a3, t0, 4                                                             |         a3 = t0 >> 4;
                                                                                         | label_19:
    0x00009278 subu a2, a0, v1                                                           |         __asm ("subu a2, a0, v1");
    0x0000927c addiu s1, s1, 1                                                           |         s1++;
    0x00009280 sra a2, a2, 2                                                             |         a2 >>= 2;
    0x00009284 sltu a2, s1, a2                                                           |         a2 = (s1 < a2) ? 1 : 0;
                                                                                         |         if (a2 == 0) {
    0x00009288 beqz a2, 0x9340                                                           |             goto label_93;
                                                                                         |         }
    0x0000928c nop                                                                       |         
    0x00009290 sll a2, s1, 2                                                             |         a2 = s1 << 2;
                                                                                         | label_14:
    0x00009294 addu a2, v1, a2                                                           |         a2 = v1 + a2;
    0x00009298 lw a2, (a2)                                                               |         a2 = *(a2);
    0x0000929c sra a3, t0, 4                                                             |         a3 = t0 >> 4;
    0x000092a0 slt t1, a2, a3                                                            |         t1 = (a2 < a3) ? 1 : 0;
    0x000092a4 lw t5, 0x284(sp)                                                          |         t5 = *(var_284h);
    0x000092a8 beqz t1, 0x9228                                                           |         
                                                                                         |     }
    0x000092ac sll t1, s1, 4                                                             |     t1 = s1 << 4;
    0x000092b0 sll a2, a2, 4                                                             |     a2 <<= 4;
    0x000092b4 addu a2, v0, a2                                                           |     a2 = v0 + a2;
    0x000092b8 addu t5, t5, t1                                                           |     t5 += t1;
    0x000092bc lw t3, (t5)                                                               |     t3 = *(t5);
    0x000092c0 lw t1, 4(t5)                                                              |     t1 = *((t5 + 1));
    0x000092c4 lw t2, (a2)                                                               |     t2 = *(a2);
    0x000092c8 lw s7, 4(a2)                                                              |     s7 = *((a2 + 1));
    0x000092cc lw t6, 8(a2)                                                              |     t6 = *((a2 + 2));
    0x000092d0 lw t7, 8(t5)                                                              |     t7 = *((t5 + 2));
    0x000092d4 lw t4, 0xc(a2)                                                            |     t4 = *((a2 + 3));
    0x000092d8 lw t5, 0xc(t5)                                                            |     t5 = *((t5 + 3));
    0x000092dc addu t6, t2, t6                                                           |     t6 = t2 + t6;
    0x000092e0 addu t7, t3, t7                                                           |     t7 = t3 + t7;
    0x000092e4 addu t5, t1, t5                                                           |     t5 = t1 + t5;
    0x000092e8 addu t4, s7, t4                                                           |     t4 = s7 + t4;
    0x000092ec slt s5, t2, t3                                                            |     s5 = (t2 < t3) ? 1 : 0;
                                                                                         |     if (s5 != 0) {
    0x000092f0 movz t2, t3, s5                                                           |         t2 = t3;
                                                                                         |     }
    0x000092f4 slt s6, s7, t1                                                            |     s6 = (s7 < t1) ? 1 : 0;
    0x000092f8 slt s4, t7, t6                                                            |     s4 = (t7 < t6) ? 1 : 0;
    0x000092fc slt s2, t5, t4                                                            |     s2 = (t5 < t4) ? 1 : 0;
    0x00009300 move t3, t4                                                               |     t3 = t4;
                                                                                         |     if (s6 == 0) {
    0x00009304 movn t1, s7, s6                                                           |         t1 = s7;
                                                                                         |     }
                                                                                         |     if (s4 != 0) {
    0x00009308 movz t6, t7, s4                                                           |         t6 = t7;
                                                                                         |     }
                                                                                         |     if (s2 != 0) {
    0x0000930c movz t3, t5, s2                                                           |         t3 = t5;
                                                                                         |     }
    0x00009310 subu t6, t6, t2                                                           |     __asm ("subu t6, t6, t2");
    0x00009314 subu t3, t3, t1                                                           |     __asm ("subu t3, t3, t1");
    0x00009318 sw t2, (a2)                                                               |     *(a2) = t2;
    0x0000931c sw t1, 4(a2)                                                              |     *((a2 + 1)) = t1;
    0x00009320 sw t6, 8(a2)                                                              |     *((a2 + 2)) = t6;
    0x00009324 sw t3, 0xc(a2)                                                            |     *((a2 + 3)) = t3;
    0x00009328 subu a2, a0, v1                                                           |     __asm ("subu a2, a0, v1");
    0x0000932c addiu s1, s1, 1                                                           |     s1++;
    0x00009330 sra a2, a2, 2                                                             |     a2 >>= 2;
    0x00009334 sltu a2, s1, a2                                                           |     a2 = (s1 < a2) ? 1 : 0;
    0x00009338 sll a2, s1, 2                                                             |     a2 = s1 << 2;
                                                                                         |     if (a2 != 0) {
    0x0000933c bnez a2, 0x9294                                                           |         goto label_14;
                                                                                         |     }
                                                                                         | label_93:
    0x00009340 sw zero, 0x278(sp)                                                        |     *(var_278h) = 0;
    0x00009344 sw zero, 0x27c(sp)                                                        |     *(var_27ch) = 0;
    0x00009348 sw zero, 0x280(sp)                                                        |     *(var_280h) = 0;
                                                                                         |     if (a3 == 0) {
    0x0000934c beqz a3, 0x9450                                                           |         goto label_148;
                                                                                         |     }
    0x00009350 move s2, zero                                                             |     s2 = 0;
    0x00009354 b 0x9374                                                                  |     
                                                                                         |     while (a0 != 0) {
                                                                                         | label_15:
    0x00009358 lw v1, 0x2a0(sp)                                                          |         v1 = *(var_2a0h);
    0x0000935c addiu s2, s2, 1                                                           |         s2++;
    0x00009360 subu v1, v1, v0                                                           |         __asm ("subu v1, v1, v0");
    0x00009364 sra v1, v1, 4                                                             |         v1 >>= 4;
    0x00009368 sltu v1, s2, v1                                                           |         v1 = (s2 < v1) ? 1 : 0;
                                                                                         |         if (v1 == 0) {
    0x0000936c beqz v1, 0x9450                                                           |             goto label_148;
                                                                                         |         }
    0x00009370 nop                                                                       |         
                                                                                         | label_16:
    0x00009374 sll v1, s2, 4                                                             |         v1 = s2 << 4;
    0x00009378 addu v1, v0, v1                                                           |         v1 = v0 + v1;
    0x0000937c lw s5, 8(v1)                                                              |         s5 = *((v1 + 2));
    0x00009380 lw fp, (v1)                                                               |         fp = *(v1);
    0x00009384 lw s7, 4(v1)                                                              |         s7 = *((v1 + 1));
    0x00009388 slti a0, s5, 0x10                                                         |         a0 = (s5 < 0x10) ? 1 : 0;
    0x0000938c lw s6, 0xc(v1)                                                            |         s6 = *((v1 + 3));
    0x00009390 bnez a0, 0x9358                                                           |         
                                                                                         |     }
    0x00009394 slti v1, s6, 0x10                                                         |     v1 = (s6 < 0x10) ? 1 : 0;
    0x00009398 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (v1 != 0) {
    0x0000939c bnez v1, 0x9358                                                           |         goto label_15;
                                                                                         |     }
    0x000093a0 move a0, s3                                                               |     a0 = s3;
    0x000093a4 move a1, s0                                                               |     a1 = s0;
    0x000093a8 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x000093ac addiu s4, sp, 0x278                                                       |     s4 = sp + 0x278;
    0x000093b0 jalr t9                                                                   |     t9 ();
    0x000093b4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000093b8 lw t9, -0x7f58(gp)                                                        |     t9 = *(gp);
    0x000093bc move a0, s3                                                               |     a0 = s3;
    0x000093c0 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x000093c4 addiu s4, sp, 0x278                                                       |     s4 = sp + 0x278;
    0x000093c8 jalr t9                                                                   |     t9 ();
    0x000093cc lw a0, 0xa8(s0)                                                           |     a0 = *((s0 + 42));
    0x000093d0 lw v1, 0xac(s0)                                                           |     v1 = *((s0 + 43));
    0x000093d4 mul v1, a0, v1                                                            |     __asm ("mul v1, a0, v1");
    0x000093d8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (v0 == v1) {
    0x000093dc beq v0, v1, 0x9ec0                                                        |         goto label_149;
                                                                                         |     }
    0x000093e0 lw a1, 0x27c(sp)                                                          |     a1 = *(var_27ch);
    0x000093e4 lw v0, 0x280(sp)                                                          |     v0 = *(var_280h);
    0x000093e8 sw zero, 0x1d8(sp)                                                        |     *(var_1d8h) = 0;
    0x000093ec sw fp, 0x1dc(sp)                                                          |     *(var_1dch) = fp;
    0x000093f0 sw s7, 0x1e0(sp)                                                          |     *(var_1e0h) = s7;
    0x000093f4 sw s5, 0x1e4(sp)                                                          |     *(var_1e4h) = s5;
    0x000093f8 sw s6, 0x1e8(sp)                                                          |     *(var_1e8h) = s6;
                                                                                         |     if (a1 == v0) {
    0x000093fc beq a1, v0, 0x94e8                                                        |         goto label_150;
                                                                                         |     }
    0x00009400 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
                                                                                         |     if (a1 != 0) {
    0x00009404 beqz a1, 0x9430                                                           |         
    0x00009408 sw zero, (a1)                                                             |         *(a1) = 0;
    0x0000940c lw v0, 0x1dc(sp)                                                          |         v0 = *(var_1dch);
    0x00009410 sw v0, 4(a1)                                                              |         *((a1 + 1)) = v0;
    0x00009414 lw v0, 0x1e0(sp)                                                          |         v0 = *(var_1e0h);
    0x00009418 sw v0, 8(a1)                                                              |         *((a1 + 2)) = v0;
    0x0000941c lw v0, 0x1e4(sp)                                                          |         v0 = *(var_1e4h);
    0x00009420 sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
    0x00009424 lw v0, 0x1e8(sp)                                                          |         v0 = *(var_1e8h);
    0x00009428 sw v0, 0x10(a1)                                                           |         *((a1 + 4)) = v0;
    0x0000942c lw v0, 0x29c(sp)                                                          |         v0 = *(var_29ch);
                                                                                         |     }
    0x00009430 lw v1, 0x2a0(sp)                                                          |     v1 = *(var_2a0h);
    0x00009434 addiu s2, s2, 1                                                           |     s2++;
    0x00009438 addiu a1, a1, 0x14                                                        |     a1 += 0x14;
    0x0000943c subu v1, v1, v0                                                           |     __asm ("subu v1, v1, v0");
    0x00009440 sra v1, v1, 4                                                             |     v1 >>= 4;
    0x00009444 sltu v1, s2, v1                                                           |     v1 = (s2 < v1) ? 1 : 0;
    0x00009448 sw a1, 0x27c(sp)                                                          |     *(var_27ch) = a1;
                                                                                         |     if (v1 != 0) {
    0x0000944c bnez v1, 0x9374                                                           |         goto label_16;
                                                                                         |     }
                                                                                         | label_148:
    0x00009450 lw v0, -0x7ef0(gp)                                                        |     v0 = *(gp);
    0x00009454 lbu v1, (v0)                                                              |     v1 = *(v0);
    0x00009458 lw v1, -0x7fac(gp)                                                        |     v1 = *(gp);
                                                                                         |     if (v1 != 0) {
    0x0000945c bnez v1, 0xa7ec                                                           |         goto label_151;
                                                                                         |     }
    0x00009460 lw v1, -0x7f70(gp)                                                        |     v1 = *(gp);
    0x00009464 lw a0, (v1)                                                               |     a0 = *(v1);
    0x00009468 addiu a0, a0, -1                                                          |     a0 += -1;
                                                                                         |     if (a0 != 0) {
    0x0000946c bnez a0, 0x9ee4                                                           |         goto label_152;
                                                                                         |     }
    0x00009470 lw s3, 0xec(s0)                                                           |     s3 = *((s0 + 59));
    0x00009474 b 0x9eec                                                                  |     goto label_153;
                                                                                         | label_144:
    0x00009478 lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
    0x0000947c lw a0, 0x2fc(sp)                                                          |     a0 = *(var_2fch);
    0x00009480 jalr t9                                                                   |     t9 ();
    0x00009484 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009488 lw a3, 0x29c(sp)                                                          |     a3 = *(var_29ch);
    0x0000948c lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x00009490 lw a0, 0x264(sp)                                                          |     a0 = *(var_264h);
    0x00009494 b 0x910c                                                                  |     goto label_17;
                                                                                         | label_110:
    0x00009498 lw t9, -0x7ef4(gp)                                                        |     t9 = *(gp);
    0x0000949c addiu s7, sp, 0x148                                                       |     s7 = sp + 0x148;
    0x000094a0 sw s7, 0x300(sp)                                                          |     *(var_300h) = s7;
    0x000094a4 move a0, s7                                                               |     a0 = s7;
    0x000094a8 move a1, v0                                                               |     a1 = v0;
    0x000094ac sw zero, 0x14c(sp)                                                        |     *(var_14ch) = 0;
    0x000094b0 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x000094b4 jalr t9                                                                   |     t9 ();
    0x000094b8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000094bc b 0x8388                                                                  |     goto label_18;
                                                                                         | label_147:
    0x000094c0 lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x000094c4 jalr t9                                                                   |     t9 ();
    0x000094c8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000094cc lw a1, 0x2a0(sp)                                                          |     a1 = *(var_2a0h);
    0x000094d0 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x000094d4 lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x000094d8 lw a0, 0x264(sp)                                                          |     a0 = *(var_264h);
    0x000094dc subu t0, a1, v0                                                           |     __asm ("subu t0, a1, v0");
    0x000094e0 sra a3, t0, 4                                                             |     a3 = t0 >> 4;
    0x000094e4 b 0x9278                                                                  |     goto label_19;
                                                                                         | label_150:
    0x000094e8 lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
    0x000094ec addiu s4, sp, 0x278                                                       |     s4 = sp + 0x278;
    0x000094f0 move a0, s4                                                               |     a0 = s4;
    0x000094f4 addiu a2, sp, 0x1d8                                                       |     a2 = sp + 0x1d8;
    0x000094f8 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x000094fc jalr t9                                                                   |     t9 ();
    0x00009500 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009504 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x00009508 b 0x9358                                                                  |     goto label_15;
                                                                                         | label_26:
    0x00009514 lw t9, -0x7ea0(gp)                                                        |     t9 = *(gp);
    0x00009518 move a0, s1                                                               |     a0 = s1;
    0x0000951c jalr t9                                                                   |     t9 ();
    0x00009520 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009524 lw t9, -0x7fa8(gp)                                                        |     t9 = sym.imp._Unwind_Resume;
    0x00009528 move a0, s0                                                               |     a0 = s0;
    0x0000952c jalr t9                                                                   |     t9 ();
                                                                                         | label_109:
    0x00009530 sw a0, (v1)                                                               |     *(v1) = a0;
                                                                                         | label_101:
    0x00009534 lw v1, 0xdc(s0)                                                           |     v1 = *((s0 + 55));
    0x00009538 addiu v0, zero, 2                                                         |     v0 = 2;
    0x0000953c move s6, zero                                                             |     s6 = 0;
                                                                                         |     if (v1 == v0) {
    0x00009540 beq v1, v0, 0x9990                                                        |         goto label_154;
                                                                                         |     }
    0x00009544 lw v0, 0xec(s0)                                                           |     v0 = *((s0 + 59));
    0x00009548 lw s6, (v0)                                                               |     s6 = *(v0);
    0x0000954c lw v0, 4(v0)                                                              |     v0 = *((v0 + 1));
    0x00009550 subu v0, v0, s6                                                           |     __asm ("subu v0, v0, s6");
    0x00009554 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00009558 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000955c addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x00009560 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x00009564 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009568 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x0000956c addu v0, v0, v1                                                           |     v0 += v1;
    0x00009570 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x00009574 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009578 move s3, zero                                                             |     s3 = 0;
                                                                                         |     if (v0 == 0) {
    0x0000957c beqz v0, 0x9988                                                           |         goto label_155;
                                                                                         |     }
    0x00009580 lui s4, 0xccc                                                             |     s4 = 0xccc0000;
    0x00009584 move s2, zero                                                             |     s2 = 0;
    0x00009588 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000958c ori s4, s4, 0xcccd                                                        |     s4 |= 0xcccd;
                                                                                         | label_20:
    0x00009590 addu s6, s6, s3                                                           |     s6 += s3;
    0x00009594 lw v1, 4(s6)                                                              |     v1 = *((s6 + 1));
    0x00009598 lw v0, (s6)                                                               |     v0 = *(s6);
    0x0000959c sw zero, 0x270(sp)                                                        |     *(var_270h) = 0;
    0x000095a0 sw zero, 0x26c(sp)                                                        |     *(var_26ch) = 0;
    0x000095a4 subu v0, v1, v0                                                           |     __asm ("subu v0, v1, v0");
    0x000095a8 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x000095ac sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x000095b0 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x000095b4 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x000095b8 addu v0, v0, v1                                                           |     v0 += v1;
    0x000095bc sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x000095c0 addu v0, v0, v1                                                           |     v0 += v1;
    0x000095c4 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x000095c8 addu v0, v0, v1                                                           |     v0 += v1;
    0x000095cc negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x000095d0 sw zero, 0x274(sp)                                                        |     *(var_274h) = 0;
                                                                                         |     if (v0 == 0) {
    0x000095d4 beqz v0, 0x98ec                                                           |         goto label_156;
                                                                                         |     }
    0x000095d8 sltu v1, v0, s4                                                           |     v1 = (v0 < s4) ? 1 : 0;
    0x000095dc sll s5, v0, 2                                                             |     s5 = v0 << 2;
                                                                                         |     if (v1 == 0) {
    0x000095e0 beqz v1, 0x9960                                                           |         goto label_157;
                                                                                         |     }
    0x000095e4 lw t9, -0x7f38(gp)                                                        |     t9 = sym.imp.operator_new_unsigned_int_;
    0x000095e8 sll v0, v0, 4                                                             |     v0 <<= 4;
    0x000095ec addu s5, s5, v0                                                           |     s5 += v0;
    0x000095f0 move a0, s5                                                               |     a0 = s5;
    0x000095f4 jalr t9                                                                   |     t9 ();
    0x000095f8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000095fc sw v0, 0x26c(sp)                                                          |     *(var_26ch) = v0;
    0x00009600 sw v0, 0x270(sp)                                                          |     *(var_270h) = v0;
    0x00009604 lw a0, (s6)                                                               |     a0 = *(s6);
    0x00009608 lw t1, 4(s6)                                                              |     t1 = *((s6 + 1));
    0x0000960c addu s5, v0, s5                                                           |     s5 = v0 + s5;
    0x00009610 move t2, v0                                                               |     t2 = v0;
    0x00009614 sw s5, 0x274(sp)                                                          |     *(var_274h) = s5;
                                                                                         |     if (a0 == t1) {
    0x00009618 beq a0, t1, 0x9914                                                        |         goto label_158;
                                                                                         |     }
                                                                                         | label_22:
    0x0000961c addiu a1, a0, 4                                                           |     a1 = a0 + 4;
    0x00009620 addiu v1, v0, 4                                                           |     v1 = v0 + 4;
    0x00009624 move a3, a0                                                               |     a3 = a0;
    0x00009628 move a2, v0                                                               |     a2 = v0;
                                                                                         |     do {
                                                                                         |         if (a2 != 0) {
    0x0000962c beqz a2, 0x965c                                                           |             
    0x00009630 nop                                                                       |             
    0x00009634 lw t0, (a3)                                                               |             t0 = *(a3);
    0x00009638 sw t0, (a2)                                                               |             *(a2) = t0;
    0x0000963c lw t0, (a1)                                                               |             t0 = *(a1);
    0x00009640 sw t0, (v1)                                                               |             *(v1) = t0;
    0x00009644 lw t0, 4(a1)                                                              |             t0 = *((a1 + 1));
    0x00009648 sw t0, 4(v1)                                                              |             *((v1 + 1)) = t0;
    0x0000964c lw t0, 8(a1)                                                              |             t0 = *((a1 + 2));
    0x00009650 sw t0, 8(v1)                                                              |             *((v1 + 2)) = t0;
    0x00009654 lw t0, 0xc(a1)                                                            |             t0 = *((a1 + 3));
    0x00009658 sw t0, 0xc(v1)                                                            |             *((v1 + 3)) = t0;
                                                                                         |         }
    0x0000965c addiu a3, a3, 0x14                                                        |         a3 += 0x14;
    0x00009660 addiu a2, a2, 0x14                                                        |         a2 += 0x14;
    0x00009664 addiu a1, a1, 0x14                                                        |         a1 += 0x14;
    0x00009668 addiu v1, v1, 0x14                                                        |         v1 += 0x14;
    0x0000966c bne t1, a3, 0x962c                                                        |         
                                                                                         |     } while (t1 != a3);
    0x00009670 addiu v1, a0, 0x14                                                        |     v1 = a0 + 0x14;
    0x00009674 subu v1, t1, v1                                                           |     __asm ("subu v1, t1, v1");
    0x00009678 srl v1, v1, 2                                                             |     v1 >>= 2;
    0x0000967c mul v1, v1, s4                                                            |     __asm ("mul v1, v1, s4");
    0x00009680 ext v1, v1, 0, 0x1e                                                       |     __asm ("ext v1, v1, 0, 0x1e");
    0x00009684 addiu v1, v1, 1                                                           |     v1++;
    0x00009688 sll a0, v1, 2                                                             |     a0 = v1 << 2;
    0x0000968c sll v1, v1, 4                                                             |     v1 <<= 4;
    0x00009690 addu a0, a0, v1                                                           |     a0 += v1;
    0x00009694 addu a0, v0, a0                                                           |     a0 = v0 + a0;
    0x00009698 subu v1, a0, t2                                                           |     __asm ("subu v1, a0, t2");
    0x0000969c sra v1, v1, 2                                                             |     v1 >>= 2;
    0x000096a0 sll a1, v1, 1                                                             |     a1 = v1 << 1;
    0x000096a4 addu v1, a1, v1                                                           |     v1 = a1 + v1;
    0x000096a8 sll a1, v1, 4                                                             |     a1 = v1 << 4;
    0x000096ac addu v1, v1, a1                                                           |     v1 += a1;
    0x000096b0 sll a1, v1, 8                                                             |     a1 = v1 << 8;
    0x000096b4 addu v1, v1, a1                                                           |     v1 += a1;
    0x000096b8 sll a1, v1, 0x10                                                          |     a1 = v1 << 0x10;
    0x000096bc addu v1, v1, a1                                                           |     v1 += a1;
    0x000096c0 negu v1, v1                                                               |     __asm ("negu v1, v1");
                                                                                         | label_23:
    0x000096c4 lw a1, 0xe8(s0)                                                           |     a1 = *((s0 + 58));
    0x000096c8 sw a0, 0x270(sp)                                                          |     *(var_270h) = a0;
    0x000096cc lw a0, (a1)                                                               |     a0 = *(a1);
    0x000096d0 slt a0, a0, v1                                                            |     a0 = (a0 < v1) ? 1 : 0;
    0x000096d4 addiu v1, v1, -1                                                          |     v1 += -1;
                                                                                         |     if (a0 != 0) {
    0x000096d8 beqz a0, 0x9748                                                           |         
    0x000096dc sll a2, v1, 2                                                             |         a2 = v1 << 2;
    0x000096e0 sll v1, v1, 4                                                             |         v1 <<= 4;
    0x000096e4 addu a2, a2, v1                                                           |         a2 += v1;
    0x000096e8 addu a2, v0, a2                                                           |         a2 = v0 + a2;
    0x000096ec lw v1, 0xc(a2)                                                            |         v1 = *((a2 + 3));
    0x000096f0 lw a0, 0xb4(s0)                                                           |         a0 = *((s0 + 45));
    0x000096f4 slt a0, v1, a0                                                            |         a0 = (v1 < a0) ? 1 : 0;
                                                                                         |         if (a0 != 0) {
    0x000096f8 bnez a0, 0x9748                                                           |             goto label_25;
                                                                                         |         }
    0x000096fc nop                                                                       |         
    0x00009700 lw a0, 0x10(a2)                                                           |         a0 = *((a2 + 4));
    0x00009704 lw a1, 0xb0(s0)                                                           |         a1 = *((s0 + 44));
    0x00009708 slt a1, a0, a1                                                            |         a1 = (a0 < a1) ? 1 : 0;
    0x0000970c lw a1, 0x2c4(sp)                                                          |         a1 = *(var_2c4h);
                                                                                         |         if (a1 != 0) {
    0x00009710 bnez a1, 0x9748                                                           |             goto label_25;
                                                                                         |         }
    0x00009714 lw a3, 0x2c8(sp)                                                          |         a3 = *(var_2c8h);
    0x00009718 lw t9, -0x7f98(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (a1 == a3) {
    0x0000971c beq a1, a3, 0x9948                                                        |             goto label_159;
                                                                                         |         }
                                                                                         |         if (a1 != 0) {
    0x00009720 beqz a1, 0x9740                                                           |             
    0x00009724 nop                                                                       |             
    0x00009728 lw a3, 4(a2)                                                              |             a3 = *((a2 + 1));
    0x0000972c lw a2, 8(a2)                                                              |             a2 = *((a2 + 2));
    0x00009730 sw v1, 8(a1)                                                              |             *((a1 + 2)) = v1;
    0x00009734 sw a3, (a1)                                                               |             *(a1) = a3;
    0x00009738 sw a2, 4(a1)                                                              |             *((a1 + 1)) = a2;
    0x0000973c sw a0, 0xc(a1)                                                            |             *((a1 + 3)) = a0;
                                                                                         |         }
    0x00009740 addiu a1, a1, 0x10                                                        |         a1 += 0x10;
    0x00009744 sw a1, 0x2c4(sp)                                                          |         *(var_2c4h) = a1;
                                                                                         |     }
                                                                                         | label_25:
    0x00009748 lw t9, -0x7ea8(gp)                                                        |     t9 = sym.imp.operator_delete_void_;
                                                                                         |     if (v0 != 0) {
    0x0000974c beqz v0, 0x975c                                                           |         
    0x00009750 move a0, v0                                                               |         a0 = v0;
    0x00009754 jalr t9                                                                   |         t9 ();
    0x00009758 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000975c lw v0, 0xec(s0)                                                           |     v0 = *((s0 + 59));
    0x00009760 addiu s2, s2, 1                                                           |     s2++;
    0x00009764 lw s6, (v0)                                                               |     s6 = *(v0);
    0x00009768 lw v0, 4(v0)                                                              |     v0 = *((v0 + 1));
    0x0000976c subu v0, v0, s6                                                           |     __asm ("subu v0, v0, s6");
    0x00009770 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00009774 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x00009778 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x0000977c sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x00009780 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009784 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x00009788 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000978c sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x00009790 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009794 negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x00009798 sltu v0, s2, v0                                                           |     v0 = (s2 < v0) ? 1 : 0;
    0x0000979c addiu s3, s3, 0xc                                                         |     s3 += 0xc;
                                                                                         |     if (v0 != 0) {
    0x000097a0 bnez v0, 0x9590                                                           |         goto label_20;
                                                                                         |     }
                                                                                         | label_27:
    0x000097a4 lw t9, -0x7f68(gp)                                                        |     t9 = *(gp);
    0x000097a8 addiu s3, sp, 0x260                                                       |     s3 = sp + aav.0x00000260;
    0x000097ac sw s3, 0x2f4(sp)                                                          |     *(var_2f4h) = s3;
    0x000097b0 sw zero, 0x260(sp)                                                        |     *(var_260h) = 0;
    0x000097b4 sw zero, 0x264(sp)                                                        |     *(var_264h) = 0;
    0x000097b8 sw zero, 0x268(sp)                                                        |     *(var_268h) = 0;
    0x000097bc move a0, s1                                                               |     a0 = s1;
    0x000097c0 move a1, s3                                                               |     a1 = s3;
    0x000097c4 addiu a2, sp, 0x2d8                                                       |     a2 = sp + 0x2d8;
    0x000097c8 jalr t9                                                                   |     t9 ();
    0x000097cc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x000097d0 lw a1, 0x260(sp)                                                          |     a1 = *(var_260h);
    0x000097d4 lw v0, 0x264(sp)                                                          |     v0 = *(var_264h);
    0x000097d8 subu v0, v0, a1                                                           |     __asm ("subu v0, v0, a1");
    0x000097dc sra v0, v0, 2                                                             |     v0 >>= 2;
    0x000097e0 sw zero, 0xe0(s0)                                                         |     *((s0 + 56)) = 0;
                                                                                         |     if (v0 == 0) {
    0x000097e4 beqz v0, 0x9920                                                           |         goto label_160;
                                                                                         |     }
    0x000097e8 lw v1, 0x2c0(sp)                                                          |     v1 = *(var_2c0h);
    0x000097ec lw t4, 0x350(sp)                                                          |     t4 = *(arg_350h);
    0x000097f0 sll t3, v0, 2                                                             |     t3 = v0 << 2;
    0x000097f4 move a0, zero                                                             |     a0 = 0;
    0x000097f8 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x000097fc addu a2, a1, a0                                                           |         a2 = a1 + a0;
    0x00009800 lw a2, (a2)                                                               |         a2 = *(a2);
    0x00009804 slt a2, a2, v0                                                            |         a2 = (a2 < v0) ? 1 : 0;
    0x00009808 slti a2, v0, 8                                                            |         a2 = (v0 < 8) ? 1 : 0;
                                                                                         |         if (a2 == 0) {
    0x0000980c bnez a2, 0x9858                                                           |             
    0x00009810 addiu t2, v0, 1                                                           |             t2 = v0 + 1;
                                                                                         |             if (a2 == 0) {
    0x00009814 beqz a2, 0x9858                                                           |                 goto label_161;
                                                                                         |             }
    0x00009818 lw t1, (v1)                                                               |             t1 = *(v1);
    0x0000981c lw t0, 4(v1)                                                              |             t0 = *((v1 + 1));
    0x00009820 lw t5, 0xc(v1)                                                            |             t5 = *((v1 + 3));
    0x00009824 lw t6, 8(v1)                                                              |             t6 = *((v1 + 2));
    0x00009828 sll a2, t2, 4                                                             |             a2 = t2 << 4;
    0x0000982c sll v0, v0, 4                                                             |             v0 <<= 4;
    0x00009830 addu a3, t4, v0                                                           |             a3 = t4 + v0;
    0x00009834 addu a2, t4, a2                                                           |             a2 = t4 + a2;
    0x00009838 addu t5, t0, t5                                                           |             t5 = t0 + t5;
    0x0000983c addu t6, t1, t6                                                           |             t6 = t1 + t6;
    0x00009840 sw t1, 8(a3)                                                              |             *((a3 + 2)) = t1;
    0x00009844 sw t0, 0xc(a3)                                                            |             *((a3 + 3)) = t0;
    0x00009848 sw t6, (a2)                                                               |             *(a2) = t6;
    0x0000984c sw t5, 4(a2)                                                              |             *((a2 + 1)) = t5;
    0x00009850 move v0, t2                                                               |             v0 = t2;
    0x00009854 sw t2, 0xe0(s0)                                                           |             *((s0 + 56)) = t2;
                                                                                         |         }
                                                                                         | label_161:
    0x00009858 addiu a0, a0, 4                                                           |         a0 += 4;
    0x0000985c addiu v1, v1, 0x10                                                        |         v1 += 0x10;
    0x00009860 bne a0, t3, 0x97fc                                                        |         
                                                                                         |     } while (a0 != t3);
    0x00009864 slt v1, zero, v0                                                          |     v1 = (0 < v0) ? 1 : 0;
                                                                                         | label_24:
    0x00009868 lw s4, 0x350(sp)                                                          |     s4 = *(arg_350h);
    0x0000986c lw a2, 0xc0(s0)                                                           |     a2 = *((s0 + 48));
    0x00009870 lw t9, -0x7ea4(gp)                                                        |     t9 = *(gp);
    0x00009874 lw a1, 0x310(sp)                                                          |     a1 = *(var_310h);
    0x00009878 sw v1, (s4)                                                               |     *(s4) = v1;
    0x0000987c sw v0, 4(s4)                                                              |     *((s4 + 1)) = v0;
    0x00009880 addiu a0, sp, 0x2e4                                                       |     a0 = sp + 0x2e4;
    0x00009884 jalr t9                                                                   |     t9 ();
    0x00009888 lw a0, 0x260(sp)                                                          |     a0 = *(var_260h);
    0x0000988c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (a0 != 0) {
    0x00009890 beqz a0, 0x98a4                                                           |         
    0x00009894 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
    0x00009898 jalr t9                                                                   |         t9 ();
    0x0000989c nop                                                                       |         
    0x000098a0 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
                                                                                         | label_38:
    0x000098a4 lw a0, 0x2c0(sp)                                                          |     a0 = *(var_2c0h);
    0x000098a8 lw t9, -0x7ea8(gp)                                                        |     t9 = sym.imp.operator_delete_void_;
                                                                                         |     if (a0 == 0) {
    0x000098ac beqz a0, 0x80c8                                                           |         goto label_21;
                                                                                         |     }
    0x000098b0 jalr t9                                                                   |     t9 ();
    0x000098b4 nop                                                                       |     
    0x000098b8 lw ra, 0x33c(sp)                                                          |     ra = *(var_33ch);
    0x000098bc lw fp, 0x338(sp)                                                          |     fp = *(var_338h);
    0x000098c0 lw s7, 0x334(sp)                                                          |     s7 = *(var_334h);
    0x000098c4 lw s6, 0x330(sp)                                                          |     s6 = *(var_330h);
    0x000098c8 lw s5, 0x32c(sp)                                                          |     s5 = *(var_32ch);
    0x000098cc lw s4, 0x328(sp)                                                          |     s4 = *(var_328h);
    0x000098d0 lw s3, 0x324(sp)                                                          |     s3 = *(var_324h);
    0x000098d4 lw s2, 0x320(sp)                                                          |     s2 = *(var_320h);
    0x000098d8 lw s1, 0x31c(sp)                                                          |     s1 = *(var_31ch);
    0x000098dc lw s0, 0x318(sp)                                                          |     s0 = *(var_318h);
    0x000098e0 ldc1 f20, 0x340(sp)                                                       |     __asm ("ldc1 f20, (var_340h)");
    0x000098e4 addiu sp, sp, 0x348                                                       |     
    0x000098e8 jr ra                                                                     |     return v0;
                                                                                         | label_156:
    0x000098ec move v0, zero                                                             |     v0 = 0;
    0x000098f0 sw v0, 0x26c(sp)                                                          |     *(var_26ch) = v0;
    0x000098f4 sw v0, 0x270(sp)                                                          |     *(var_270h) = v0;
    0x000098f8 lw a0, (s6)                                                               |     a0 = *(s6);
    0x000098fc lw t1, 4(s6)                                                              |     t1 = *((s6 + 1));
    0x00009900 move s5, zero                                                             |     s5 = 0;
    0x00009904 addu s5, v0, s5                                                           |     s5 = v0 + s5;
    0x00009908 move t2, zero                                                             |     t2 = 0;
    0x0000990c sw s5, 0x274(sp)                                                          |     *(var_274h) = s5;
                                                                                         |     if (a0 != t1) {
    0x00009910 bne a0, t1, 0x961c                                                        |         goto label_22;
                                                                                         |     }
                                                                                         | label_158:
    0x00009914 move a0, v0                                                               |     a0 = v0;
    0x00009918 move v1, zero                                                             |     v1 = 0;
    0x0000991c b 0x96c4                                                                  |     goto label_23;
                                                                                         | label_160:
    0x00009920 move v1, zero                                                             |     v1 = 0;
    0x00009924 move v0, zero                                                             |     v0 = 0;
    0x00009928 b 0x9868                                                                  |     goto label_24;
                                                                                         | label_159:
    0x00009948 move a0, s1                                                               |     a0 = s1;
    0x0000994c addiu a2, a2, 4                                                           |     a2 += 4;
    0x00009950 jalr t9                                                                   |     t9 ();
    0x00009954 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009958 lw v0, 0x26c(sp)                                                          |     v0 = *(var_26ch);
    0x0000995c b 0x9748                                                                  |     goto label_25;
                                                                                         | label_157:
    0x00009960 lw t9, -0x7f7c(gp)                                                        |     t9 = *(gp);
    0x00009964 jalr t9                                                                   |     t9 ();
    0x00009968 nop                                                                       |     
    0x0000996c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009970 move s0, a0                                                               |     s0 = a0;
    0x00009974 lw t9, -0x7e98(gp)                                                        |     t9 = *(gp);
    0x00009978 addiu a0, sp, 0x26c                                                       |     a0 = sp + 0x26c;
    0x0000997c jalr t9                                                                   |     t9 ();
    0x00009980 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009984 b 0x9514                                                                  |     goto label_26;
                                                                                         |     do {
                                                                                         | label_155:
    0x00009988 addiu s1, sp, 0x2c0                                                       |         s1 = sp + aav.0x000002c0;
    0x0000998c b 0x97a4                                                                  |         goto label_27;
                                                                                         | label_154:
    0x00009990 addiu fp, s0, 0xf0                                                        |         fp = s0 + 0xf0;
                                                                                         | label_28:
    0x00009994 lw s2, 0xf0(s0)                                                           |         s2 = *((s0 + 60));
    0x00009998 lw v0, 0xf4(s0)                                                           |         v0 = *((s0 + 61));
    0x0000999c subu v0, v0, s2                                                           |         __asm ("subu v0, v0, s2");
    0x000099a0 sra v0, v0, 5                                                             |         v0 >>= 5;
    0x000099a4 sltu v0, s6, v0                                                           |         v0 = (s6 < v0) ? 1 : 0;
    0x000099a8 sll s7, s6, 5                                                             |         s7 = s6 << 5;
    0x000099ac beqz v0, 0x9988                                                           |         
                                                                                         |     } while (v0 == 0);
    0x000099b0 addu s2, s2, s7                                                           |     s2 += s7;
    0x000099b4 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (s2 == 0) {
    0x000099b8 beqz s2, 0x9e1c                                                           |         goto label_162;
                                                                                         |     }
    0x000099bc lw s4, 4(s2)                                                              |     s4 = *((s2 + 1));
    0x000099c0 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (s4 == 0) {
    0x000099c4 beqz s4, 0x9dfc                                                           |         goto label_163;
                                                                                         |     }
    0x000099c8 lw v0, 0x14(s4)                                                           |     v0 = *((s4 + 5));
    0x000099cc lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (v0 <= 0) {
    0x000099d0 blez v0, 0x9e3c                                                           |         goto label_164;
                                                                                         |     }
    0x000099d4 lw t1, (s4)                                                               |     t1 = *(s4);
    0x000099d8 lw v0, 4(s4)                                                              |     v0 = *((s4 + 1));
    0x000099dc subu v0, v0, t1                                                           |     __asm ("subu v0, v0, t1");
    0x000099e0 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x000099e4 sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x000099e8 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x000099ec sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x000099f0 addu v0, v0, v1                                                           |     v0 += v1;
    0x000099f4 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x000099f8 addu v0, v0, v1                                                           |     v0 += v1;
    0x000099fc sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x00009a00 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009a04 negu a1, v0                                                               |     __asm ("negu a1, v0");
    0x00009a08 lw s5, 8(s2)                                                              |     s5 = *((s2 + 2));
                                                                                         |     if (a1 <= 0) {
    0x00009a0c blez a1, 0x9a58                                                           |         goto label_31;
                                                                                         |     }
    0x00009a10 lbu v0, 0xc(s4)                                                           |     v0 = *((s4 + 12));
    0x00009a14 slti v0, a1, 0xb                                                          |     v0 = (a1 < 0xb) ? 1 : 0;
                                                                                         |     if (v0 == 0) {
    0x00009a18 beqz v0, 0x9c3c                                                           |         goto label_165;
                                                                                         |     }
    0x00009a1c addiu a1, a1, -1                                                          |     a1 += -1;
    0x00009a20 sll s3, a1, 2                                                             |     s3 = a1 << 2;
    0x00009a24 sll a1, a1, 4                                                             |     a1 <<= 4;
    0x00009a28 addu s3, s3, a1                                                           |     s3 += a1;
    0x00009a2c addu s3, t1, s3                                                           |     s3 = t1 + s3;
    0x00009a30 lw v0, (s3)                                                               |     v0 = *(s3);
    0x00009a34 lw a1, 0x2c4(sp)                                                          |     a1 = *(var_2c4h);
                                                                                         |     if (v0 == 0) {
    0x00009a38 beqz v0, 0x9d7c                                                           |         goto label_166;
                                                                                         |     }
                                                                                         |     do {
                                                                                         | label_29:
    0x00009a3c lw v0, 0xc(s2)                                                            |         v0 = *((s2 + 3));
    0x00009a40 addiu v0, v0, -1                                                          |         v0 += -1;
    0x00009a44 sw v0, 0xc(s2)                                                            |         *((s2 + 3)) = v0;
                                                                                         |         if (v0 <= 0) {
                                                                                         | label_32:
    0x00009a48 blez v0, 0x9c00                                                           |             goto label_167;
                                                                                         |         }
    0x00009a4c nop                                                                       |         
                                                                                         | label_30:
    0x00009a50 addiu s6, s6, 1                                                           |         s6++;
    0x00009a54 b 0x9994                                                                  |         goto label_28;
                                                                                         | label_31:
    0x00009a58 beqz s5, 0x9a3c                                                           |         
                                                                                         |     } while (s5 == 0);
    0x00009a5c nop                                                                       |     
    0x00009a60 lw v0, 0x14(s5)                                                           |     v0 = *((s5 + 5));
    0x00009a64 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (v0 <= 0) {
    0x00009a68 blez v0, 0x9ea0                                                           |         goto label_168;
                                                                                         |     }
    0x00009a6c lw a2, (s5)                                                               |     a2 = *(s5);
    0x00009a70 lw v0, 4(s5)                                                              |     v0 = *((s5 + 1));
    0x00009a74 lw t1, 0xe8(s0)                                                           |     t1 = *((s0 + 58));
    0x00009a78 subu v0, v0, a2                                                           |     __asm ("subu v0, v0, a2");
    0x00009a7c sra v0, v0, 2                                                             |     v0 >>= 2;
    0x00009a80 sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x00009a84 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x00009a88 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x00009a8c addu v0, v0, v1                                                           |     v0 += v1;
    0x00009a90 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x00009a94 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009a98 sll a0, v0, 0x10                                                          |     a0 = v0 << 0x10;
    0x00009a9c lw v1, 4(t1)                                                              |     v1 = *((t1 + 1));
    0x00009aa0 addu v0, v0, a0                                                           |     v0 += a0;
    0x00009aa4 negu a0, v0                                                               |     __asm ("negu a0, v0");
    0x00009aa8 slt v0, v1, a0                                                            |     v0 = (v1 < a0) ? 1 : 0;
    0x00009aac addiu v0, a0, -1                                                          |     v0 = a0 + -1;
                                                                                         |     if (v0 == 0) {
    0x00009ab0 beqz v0, 0x9a3c                                                           |         goto label_29;
                                                                                         |     }
    0x00009ab4 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x00009ab8 sll v0, v0, 4                                                             |     v0 <<= 4;
    0x00009abc addu v1, v1, v0                                                           |     v1 += v0;
    0x00009ac0 addu v1, a2, v1                                                           |     v1 = a2 + v1;
    0x00009ac4 lw v0, 4(v1)                                                              |     v0 = *((v1 + 1));
    0x00009ac8 lw a1, 8(v1)                                                              |     a1 = *((v1 + 2));
    0x00009acc lw a3, 0xc(v1)                                                            |     a3 = *((v1 + 3));
    0x00009ad0 lw t0, 0x10(v1)                                                           |     t0 = *((v1 + 4));
    0x00009ad4 sw v0, 0x250(sp)                                                          |     *(var_250h) = v0;
    0x00009ad8 sw a1, 0x254(sp)                                                          |     *(var_254h) = a1;
    0x00009adc sw a3, 0x258(sp)                                                          |     *(var_258h) = a3;
    0x00009ae0 sw t0, 0x25c(sp)                                                          |     *(var_25ch) = t0;
    0x00009ae4 lw v1, 4(t1)                                                              |     v1 = *((t1 + 1));
    0x00009ae8 slti v1, v1, 3                                                            |     v1 = (v1 < 3) ? 1 : 0;
                                                                                         |     if (v1 != 0) {
    0x00009aec bnez v1, 0x9b98                                                           |         goto label_169;
                                                                                         |     }
    0x00009af0 nop                                                                       |     
    0x00009af4 addiu v1, a0, -2                                                          |     v1 = a0 + -2;
    0x00009af8 sll t2, v1, 2                                                             |     t2 = v1 << 2;
    0x00009afc sll v1, v1, 4                                                             |     v1 <<= 4;
    0x00009b00 addu v1, t2, v1                                                           |     v1 = t2 + v1;
    0x00009b04 addu v1, a2, v1                                                           |     v1 = a2 + v1;
    0x00009b08 sll t4, a0, 2                                                             |     t4 = a0 << 2;
    0x00009b0c sll a0, a0, 4                                                             |     a0 <<= 4;
    0x00009b10 addiu t2, v1, 4                                                           |     t2 = v1 + 4;
    0x00009b14 addu t4, t4, a0                                                           |     t4 += a0;
    0x00009b18 addiu v1, v1, 0xc                                                         |     v1 += 0xc;
    0x00009b1c addiu a0, zero, 2                                                         |     a0 = 2;
    0x00009b20 subu t4, t4, t2                                                           |     __asm ("subu t4, t4, t2");
                                                                                         |     do {
    0x00009b24 addu t3, t4, v1                                                           |         t3 = t4 + v1;
    0x00009b28 addu t3, a2, t3                                                           |         t3 = a2 + t3;
    0x00009b2c lw t2, -0x2c(t3)                                                          |         t2 = *((t3 - 11));
    0x00009b30 lw t5, (v1)                                                               |         t5 = *(v1);
    0x00009b34 addu a3, v0, a3                                                           |         a3 = v0 + a3;
    0x00009b38 slt t7, v0, t2                                                            |         t7 = (v0 < t2) ? 1 : 0;
    0x00009b3c addu t5, t2, t5                                                           |         t5 = t2 + t5;
    0x00009b40 slt t6, t5, a3                                                            |         t6 = (t5 < a3) ? 1 : 0;
                                                                                         |         if (t6 != 0) {
    0x00009b44 movz a3, t5, t6                                                           |             a3 = t5;
                                                                                         |         }
                                                                                         |         if (t7 != 0) {
    0x00009b48 movz v0, t2, t7                                                           |             v0 = t2;
                                                                                         |         }
    0x00009b4c subu a3, a3, v0                                                           |         __asm ("subu a3, a3, v0");
    0x00009b50 lw t2, -0x28(t3)                                                          |         t2 = *((t3 - 10));
    0x00009b54 sw a3, 0x258(sp)                                                          |         *(var_258h) = a3;
    0x00009b58 lw t3, 4(v1)                                                              |         t3 = *((v1 + 1));
    0x00009b5c addu t0, a1, t0                                                           |         t0 = a1 + t0;
    0x00009b60 slt t6, a1, t2                                                            |         t6 = (a1 < t2) ? 1 : 0;
    0x00009b64 addu t3, t2, t3                                                           |         t3 = t2 + t3;
    0x00009b68 slt t5, t3, t0                                                            |         t5 = (t3 < t0) ? 1 : 0;
                                                                                         |         if (t6 != 0) {
    0x00009b6c movz a1, t2, t6                                                           |             a1 = t2;
                                                                                         |         }
                                                                                         |         if (t5 != 0) {
    0x00009b70 movz t0, t3, t5                                                           |             t0 = t3;
                                                                                         |         }
    0x00009b74 subu t0, t0, a1                                                           |         __asm ("subu t0, t0, a1");
    0x00009b78 sw t0, 0x25c(sp)                                                          |         *(var_25ch) = t0;
    0x00009b7c sw a1, 0x254(sp)                                                          |         *(var_254h) = a1;
    0x00009b80 lw t2, 4(t1)                                                              |         t2 = *((t1 + 1));
    0x00009b84 addiu a0, a0, 1                                                           |         a0++;
    0x00009b88 slt t2, a0, t2                                                            |         t2 = (a0 < t2) ? 1 : 0;
    0x00009b8c addiu v1, v1, -0x14                                                       |         v1 += -0x14;
    0x00009b90 bnez t2, 0x9b24                                                           |         
                                                                                         |     } while (t2 != 0);
    0x00009b94 sw v0, 0x250(sp)                                                          |     *(var_250h) = v0;
                                                                                         | label_169:
    0x00009b98 lw a1, 0x2c4(sp)                                                          |     a1 = *(var_2c4h);
    0x00009b9c lw v0, 0x2c8(sp)                                                          |     v0 = *(var_2c8h);
    0x00009ba0 lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (a1 == v0) {
    0x00009ba4 beq a1, v0, 0x9e88                                                        |         goto label_170;
                                                                                         |     }
    0x00009ba8 lw v0, 0x250(sp)                                                          |     v0 = *(var_250h);
                                                                                         |     if (a1 != 0) {
    0x00009bac beqz a1, 0x9bcc                                                           |         
    0x00009bb0 sw v0, (a1)                                                               |         *(a1) = v0;
    0x00009bb4 lw v0, 0x254(sp)                                                          |         v0 = *(var_254h);
    0x00009bb8 sw v0, 4(a1)                                                              |         *((a1 + 1)) = v0;
    0x00009bbc lw v0, 0x258(sp)                                                          |         v0 = *(var_258h);
    0x00009bc0 sw v0, 8(a1)                                                              |         *((a1 + 2)) = v0;
    0x00009bc4 lw v0, 0x25c(sp)                                                          |         v0 = *(var_25ch);
    0x00009bc8 sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
                                                                                         |     }
    0x00009bcc addiu a1, a1, 0x10                                                        |     a1 += 0x10;
    0x00009bd0 sw a1, 0x2c4(sp)                                                          |     *(var_2c4h) = a1;
                                                                                         | label_34:
    0x00009bd4 lw v1, 0x250(sp)                                                          |     v1 = *(var_250h);
    0x00009bd8 lw v0, (s2)                                                               |     v0 = *(s2);
    0x00009bdc sw v1, 0x10(s2)                                                           |     *((s2 + 4)) = v1;
    0x00009be0 lw v1, 0x254(sp)                                                          |     v1 = *(var_254h);
    0x00009be4 sw v1, 0x14(s2)                                                           |     *((s2 + 5)) = v1;
    0x00009be8 lw v1, 0x258(sp)                                                          |     v1 = *(var_258h);
    0x00009bec sw v1, 0x18(s2)                                                           |     *((s2 + 6)) = v1;
    0x00009bf0 lw v1, 0x25c(sp)                                                          |     v1 = *(var_25ch);
    0x00009bf4 sw v0, 0xc(s2)                                                            |     *((s2 + 3)) = v0;
    0x00009bf8 sw v1, 0x1c(s2)                                                           |     *((s2 + 7)) = v1;
                                                                                         |     if (v0 > 0) {
    0x00009bfc bgtz v0, 0x9a50                                                           |         goto label_30;
                                                                                         |     }
                                                                                         | label_167:
    0x00009c00 lw v0, 0x14(s4)                                                           |     v0 = *(var_28ch);
    0x00009c04 addiu v0, v0, -1                                                          |     v0 += -1;
    0x00009c08 sw v0, 0x14(s4)                                                           |     *(var_28ch) = v0;
                                                                                         |     if (s5 != 0) {
    0x00009c0c beqz s5, 0x9c1c                                                           |         
    0x00009c10 lw v0, 0x14(s5)                                                           |         v0 = *((s5 + 5));
    0x00009c14 addiu v0, v0, -1                                                          |         v0 += -1;
    0x00009c18 sw v0, 0x14(s5)                                                           |         *((s5 + 5)) = v0;
                                                                                         |     }
    0x00009c1c lw a2, 0xf0(s0)                                                           |     a2 = *((s0 + 60));
    0x00009c20 lw t9, -0x7fc4(gp)                                                        |     t9 = *(gp);
    0x00009c24 addiu a0, sp, 0x2e0                                                       |     a0 = sp + 0x2e0;
    0x00009c28 move a1, fp                                                               |     a1 = fp;
    0x00009c2c addu a2, a2, s7                                                           |     a2 += s7;
    0x00009c30 jalr t9                                                                   |     t9 ();
    0x00009c34 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009c38 b 0x9994                                                                  |     goto label_28;
                                                                                         | label_165:
    0x00009c3c addiu v0, a1, -1                                                          |     v0 = a1 + -1;
                                                                                         |     if (v0 != 0) {
    0x00009c40 bnez v0, 0x9a58                                                           |         goto label_31;
                                                                                         |     }
    0x00009c44 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x00009c48 sll v0, v0, 4                                                             |     v0 <<= 4;
    0x00009c4c addu v1, v1, v0                                                           |     v1 += v0;
    0x00009c50 addu v1, t1, v1                                                           |     v1 = t1 + v1;
    0x00009c54 lw v0, (v1)                                                               |     v0 = *(v1);
    0x00009c58 addiu v0, a1, -2                                                          |     v0 = a1 + -2;
                                                                                         |     if (v0 != 0) {
    0x00009c5c bnez v0, 0x9a58                                                           |         goto label_31;
                                                                                         |     }
    0x00009c60 sll t0, v0, 2                                                             |     t0 = v0 << 2;
    0x00009c64 sll a2, v0, 4                                                             |     a2 = v0 << 4;
    0x00009c68 lw a3, 8(v1)                                                              |     a3 = *((v1 + 2));
    0x00009c6c lw v0, 4(v1)                                                              |     v0 = *((v1 + 1));
    0x00009c70 lw a0, 0xc(v1)                                                            |     a0 = *((v1 + 3));
    0x00009c74 addu a2, t0, a2                                                           |     a2 = t0 + a2;
    0x00009c78 lw v1, 0x10(v1)                                                           |     v1 = *((v1 + 4));
    0x00009c7c addu a2, t1, a2                                                           |     a2 = t1 + a2;
    0x00009c80 sll t5, a1, 2                                                             |     t5 = a1 << 2;
    0x00009c84 sll a1, a1, 4                                                             |     a1 <<= 4;
    0x00009c88 addu t5, t5, a1                                                           |     t5 += a1;
    0x00009c8c addiu t0, a2, 4                                                           |     t0 = a2 + 4;
    0x00009c90 sw v0, 0x250(sp)                                                          |     *(var_250h) = v0;
    0x00009c94 sw a3, 0x254(sp)                                                          |     *(var_254h) = a3;
    0x00009c98 sw a0, 0x258(sp)                                                          |     *(var_258h) = a0;
    0x00009c9c sw v1, 0x25c(sp)                                                          |     *(var_25ch) = v1;
    0x00009ca0 addiu a1, a2, 0xc                                                         |     a1 = a2 + 0xc;
    0x00009ca4 addiu t2, zero, 2                                                         |     t2 = 2;
    0x00009ca8 subu t5, t5, t0                                                           |     __asm ("subu t5, t5, t0");
                                                                                         |     do {
    0x00009cac addu t3, t5, a1                                                           |         t3 = t5 + a1;
    0x00009cb0 addu t3, t1, t3                                                           |         t3 = t1 + t3;
    0x00009cb4 lw a2, -0x2c(t3)                                                          |         a2 = *((t3 - 11));
    0x00009cb8 lw t4, (a1)                                                               |         t4 = *(a1);
    0x00009cbc addu a0, v0, a0                                                           |         a0 = v0 + a0;
    0x00009cc0 slt t0, v0, a2                                                            |         t0 = (v0 < a2) ? 1 : 0;
    0x00009cc4 addu t4, a2, t4                                                           |         t4 = a2 + t4;
    0x00009cc8 slt t6, t4, a0                                                            |         t6 = (t4 < a0) ? 1 : 0;
                                                                                         |         if (t0 != 0) {
    0x00009ccc movz v0, a2, t0                                                           |             v0 = a2;
                                                                                         |         }
                                                                                         |         if (t6 != 0) {
    0x00009cd0 movz a0, t4, t6                                                           |             a0 = t4;
                                                                                         |         }
    0x00009cd4 subu a0, a0, v0                                                           |         __asm ("subu a0, a0, v0");
    0x00009cd8 move t0, v0                                                               |         t0 = v0;
    0x00009cdc lw v0, -0x28(t3)                                                          |         v0 = *((t3 - 10));
    0x00009ce0 sw a0, 0x258(sp)                                                          |         *(var_258h) = a0;
    0x00009ce4 lw t3, 4(a1)                                                              |         t3 = *((a1 + 1));
    0x00009ce8 addu v1, a3, v1                                                           |         v1 = a3 + v1;
    0x00009cec slt a2, a3, v0                                                            |         a2 = (a3 < v0) ? 1 : 0;
    0x00009cf0 addu t3, v0, t3                                                           |         t3 = v0 + t3;
    0x00009cf4 slt t4, t3, v1                                                            |         t4 = (t3 < v1) ? 1 : 0;
                                                                                         |         if (a2 != 0) {
    0x00009cf8 movz a3, v0, a2                                                           |             a3 = v0;
                                                                                         |         }
                                                                                         |         if (t4 != 0) {
    0x00009cfc movz v1, t3, t4                                                           |             v1 = t3;
                                                                                         |         }
    0x00009d00 subu v1, v1, a3                                                           |         __asm ("subu v1, v1, a3");
    0x00009d04 addiu t2, t2, -1                                                          |         t2 += -1;
    0x00009d08 move a2, a3                                                               |         a2 = a3;
    0x00009d0c sw v1, 0x25c(sp)                                                          |         *(var_25ch) = v1;
    0x00009d10 sw a3, 0x254(sp)                                                          |         *(var_254h) = a3;
    0x00009d14 addiu a1, a1, -0x14                                                       |         a1 += -0x14;
    0x00009d18 move v0, t0                                                               |         v0 = t0;
    0x00009d1c bnez t2, 0x9cac                                                           |         
                                                                                         |     } while (t2 != 0);
    0x00009d20 lw a1, 0x2c4(sp)                                                          |     a1 = *(var_2c4h);
    0x00009d24 lw t1, 0x2c8(sp)                                                          |     t1 = *(var_2c8h);
    0x00009d28 sw t0, 0x250(sp)                                                          |     *(var_250h) = t0;
                                                                                         |     if (a1 == t1) {
    0x00009d2c beq a1, t1, 0x9e5c                                                        |         goto label_171;
                                                                                         |     }
                                                                                         |     if (a1 != 0) {
    0x00009d30 beqz a1, 0x9d58                                                           |         
    0x00009d34 nop                                                                       |         
    0x00009d38 sw t0, (a1)                                                               |         *(a1) = t0;
    0x00009d3c sw a3, 4(a1)                                                              |         *((a1 + 1)) = a3;
    0x00009d40 sw a0, 8(a1)                                                              |         *((a1 + 2)) = a0;
    0x00009d44 sw v1, 0xc(a1)                                                            |         *((a1 + 3)) = v1;
    0x00009d48 lw t0, 0x250(sp)                                                          |         t0 = *(var_250h);
    0x00009d4c lw a2, 0x254(sp)                                                          |         a2 = *(var_254h);
    0x00009d50 lw a0, 0x258(sp)                                                          |         a0 = *(var_258h);
    0x00009d54 lw v1, 0x25c(sp)                                                          |         v1 = *(var_25ch);
                                                                                         |     }
    0x00009d58 addiu a1, a1, 0x10                                                        |     a1 += 0x10;
    0x00009d5c sw a1, 0x2c4(sp)                                                          |     *(var_2c4h) = a1;
                                                                                         | label_33:
    0x00009d60 lw v0, (s2)                                                               |     v0 = *(s2);
    0x00009d64 sw t0, 0x10(s2)                                                           |     *((s2 + 4)) = t0;
    0x00009d68 sw a2, 0x14(s2)                                                           |     *((s2 + 5)) = a2;
    0x00009d6c sw a0, 0x18(s2)                                                           |     *((s2 + 6)) = a0;
    0x00009d70 sw v1, 0x1c(s2)                                                           |     *((s2 + 7)) = v1;
    0x00009d74 sw v0, 0xc(s2)                                                            |     *((s2 + 3)) = v0;
    0x00009d78 b 0x9a48                                                                  |     goto label_32;
                                                                                         | label_166:
    0x00009d7c lw v0, 0x2c8(sp)                                                          |     v0 = *(var_2c8h);
    0x00009d80 lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (a1 == v0) {
    0x00009d84 beq a1, v0, 0x9de4                                                        |         goto label_172;
                                                                                         |     }
                                                                                         |     if (a1 != 0) {
    0x00009d88 beqz a1, 0x9db0                                                           |         
    0x00009d8c nop                                                                       |         
    0x00009d90 lw a2, 4(s3)                                                              |         a2 = *((s3 + 1));
    0x00009d94 lw a0, 8(s3)                                                              |         a0 = *((s3 + 2));
    0x00009d98 lw v1, 0xc(s3)                                                            |         v1 = *((s3 + 3));
    0x00009d9c lw v0, 0x10(s3)                                                           |         v0 = *((s3 + 4));
    0x00009da0 sw a2, (a1)                                                               |         *(a1) = a2;
    0x00009da4 sw a0, 4(a1)                                                              |         *((a1 + 1)) = a0;
    0x00009da8 sw v1, 8(a1)                                                              |         *((a1 + 2)) = v1;
    0x00009dac sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
                                                                                         |     }
    0x00009db0 addiu a1, a1, 0x10                                                        |     a1 += 0x10;
    0x00009db4 sw a1, 0x2c4(sp)                                                          |     *(var_2c4h) = a1;
                                                                                         |     do {
    0x00009db8 lw a2, 4(s3)                                                              |         a2 = *((s3 + 1));
    0x00009dbc lw a1, 8(s3)                                                              |         a1 = *((s3 + 2));
    0x00009dc0 lw a0, 0xc(s3)                                                            |         a0 = *((s3 + 3));
    0x00009dc4 lw v1, 0x10(s3)                                                           |         v1 = *((s3 + 4));
    0x00009dc8 lw v0, (s2)                                                               |         v0 = *(s2);
    0x00009dcc sw a2, 0x10(s2)                                                           |         *((s2 + 4)) = a2;
    0x00009dd0 sw a1, 0x14(s2)                                                           |         *((s2 + 5)) = a1;
    0x00009dd4 sw a0, 0x18(s2)                                                           |         *((s2 + 6)) = a0;
    0x00009dd8 sw v1, 0x1c(s2)                                                           |         *((s2 + 7)) = v1;
    0x00009ddc sw v0, 0xc(s2)                                                            |         *((s2 + 3)) = v0;
    0x00009de0 b 0x9a48                                                                  |         goto label_32;
                                                                                         | label_172:
    0x00009de4 addiu a0, sp, 0x2c0                                                       |         a0 = sp + aav.0x000002c0;
    0x00009de8 addiu a2, s3, 4                                                           |         a2 = s3 + 4;
    0x00009dec move s1, a0                                                               |         s1 = a0;
    0x00009df0 jalr t9                                                                   |         t9 ();
    0x00009df4 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x00009df8 b 0x9db8                                                                  |         
                                                                                         |     } while (1);
                                                                                         | label_163:
    0x00009dfc lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x00009e00 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x00009e04 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x00009e08 addiu a0, a0, -0x2aa8                                                     |     a0 += -0x2aa8;
    0x00009e0c addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x00009e10 addiu a2, zero, 0x182                                                     |     a2 = 0x182;
    0x00009e14 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x00009e18 jalr t9                                                                   |     t9 ();
                                                                                         | label_162:
    0x00009e1c lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x00009e20 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x00009e24 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x00009e28 addiu a0, a0, -0x2b00                                                     |     a0 += -0x2b00;
    0x00009e2c addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x00009e30 addiu a2, zero, 0x17e                                                     |     a2 = 0x17e;
    0x00009e34 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x00009e38 jalr t9                                                                   |     t9 ();
                                                                                         | label_164:
    0x00009e3c lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x00009e40 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x00009e44 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x00009e48 addiu a0, a0, -0x2a94                                                     |     a0 += -0x2a94;
    0x00009e4c addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x00009e50 addiu a2, zero, 0x183                                                     |     a2 = 0x183;
    0x00009e54 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x00009e58 jalr t9                                                                   |     t9 ();
                                                                                         | label_171:
    0x00009e5c lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
    0x00009e60 addiu a0, sp, 0x2c0                                                       |     a0 = sp + aav.0x000002c0;
    0x00009e64 addiu a2, sp, 0x250                                                       |     a2 = sp + 0x250;
    0x00009e68 move s1, a0                                                               |     s1 = a0;
    0x00009e6c jalr t9                                                                   |     t9 ();
    0x00009e70 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009e74 lw t0, 0x250(sp)                                                          |     t0 = *(var_250h);
    0x00009e78 lw a2, 0x254(sp)                                                          |     a2 = *(var_254h);
    0x00009e7c lw a0, 0x258(sp)                                                          |     a0 = *(var_258h);
    0x00009e80 lw v1, 0x25c(sp)                                                          |     v1 = *(var_25ch);
    0x00009e84 b 0x9d60                                                                  |     goto label_33;
                                                                                         | label_170:
    0x00009e88 addiu a0, sp, 0x2c0                                                       |     a0 = sp + aav.0x000002c0;
    0x00009e8c addiu a2, sp, 0x250                                                       |     a2 = sp + 0x250;
    0x00009e90 move s1, a0                                                               |     s1 = a0;
    0x00009e94 jalr t9                                                                   |     t9 ();
    0x00009e98 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x00009e9c b 0x9bd4                                                                  |     goto label_34;
                                                                                         | label_168:
    0x00009ea0 lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x00009ea4 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x00009ea8 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x00009eac addiu a0, a0, -0x2a80                                                     |     a0 += -0x2a80;
    0x00009eb0 addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x00009eb4 addiu a2, zero, 0x1c7                                                     |     a2 = 0x1c7;
    0x00009eb8 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x00009ebc jalr t9                                                                   |     t9 ();
                                                                                         | label_149:
    0x00009ec0 lw v0, -0x7ef0(gp)                                                        |     v0 = *(gp);
    0x00009ec4 lbu v1, (v0)                                                              |     v1 = *(v0);
    0x00009ec8 lw v1, -0x7fac(gp)                                                        |     v1 = *(gp);
                                                                                         |     if (v1 != 0) {
    0x00009ecc bnez v1, 0xa7ec                                                           |         goto label_151;
                                                                                         |     }
    0x00009ed0 lw v1, -0x7f70(gp)                                                        |     v1 = *(gp);
    0x00009ed4 lw a0, (v1)                                                               |     a0 = *(v1);
                                                                                         |     if (a0 == 0) {
    0x00009ed8 beqz a0, 0xab40                                                           |         goto label_173;
                                                                                         |     }
    0x00009edc nop                                                                       |     
    0x00009ee0 addiu a0, a0, -1                                                          |     a0 += -1;
                                                                                         | label_152:
    0x00009ee4 sw a0, (v1)                                                               |     *(v1) = a0;
                                                                                         | label_41:
    0x00009ee8 lw s3, 0xec(s0)                                                           |     s3 = *((s0 + 59));
                                                                                         | label_153:
    0x00009eec move s5, zero                                                             |     s5 = 0;
    0x00009ef0 lw s2, (s3)                                                               |     s2 = *(s3);
                                                                                         | label_40:
    0x00009ef4 lw v1, 4(s3)                                                              |     v1 = *((s3 + 1));
    0x00009ef8 subu v1, v1, s2                                                           |     __asm ("subu v1, v1, s2");
    0x00009efc sra v0, v1, 2                                                             |     v0 = v1 >> 2;
    0x00009f00 sll a0, v0, 2                                                             |     a0 = v0 << 2;
    0x00009f04 addu v0, a0, v0                                                           |     v0 = a0 + v0;
    0x00009f08 sll a0, v0, 4                                                             |     a0 = v0 << 4;
    0x00009f0c addu v0, v0, a0                                                           |     v0 += a0;
    0x00009f10 sll a0, v0, 8                                                             |     a0 = v0 << 8;
    0x00009f14 addu v0, v0, a0                                                           |     v0 += a0;
    0x00009f18 sll a0, v0, 0x10                                                          |     a0 = v0 << 0x10;
    0x00009f1c addu v0, v0, a0                                                           |     v0 += a0;
    0x00009f20 negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x00009f24 sltu a0, s5, v0                                                           |     a0 = (s5 < v0) ? 1 : 0;
                                                                                         |     if (a0 == 0) {
    0x00009f28 beqz a0, 0xa030                                                           |         goto label_174;
                                                                                         |     }
    0x00009f2c nop                                                                       |     
                                                                                         | label_35:
    0x00009f30 sll v0, s5, 2                                                             |     v0 = s5 << 2;
    0x00009f34 sll s1, s5, 4                                                             |     s1 = s5 << 4;
    0x00009f38 subu s1, s1, v0                                                           |     __asm ("subu s1, s1, v0");
    0x00009f3c addu a1, s2, s1                                                           |     a1 = s2 + s1;
    0x00009f40 lw t0, 4(a1)                                                              |     t0 = *((a1 + 1));
    0x00009f44 lw a3, (a1)                                                               |     a3 = *(a1);
    0x00009f48 move s4, zero                                                             |     s4 = 0;
    0x00009f4c subu t0, t0, a3                                                           |     __asm ("subu t0, t0, a3");
                                                                                         | label_39:
    0x00009f50 sra v0, t0, 2                                                             |     v0 = t0 >> 2;
    0x00009f54 sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x00009f58 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x00009f5c sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x00009f60 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009f64 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x00009f68 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009f6c sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x00009f70 addu v0, v0, v1                                                           |     v0 += v1;
    0x00009f74 negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x00009f78 sltu v1, s4, v0                                                           |     v1 = (s4 < v0) ? 1 : 0;
    0x00009f7c move a0, a1                                                               |     a0 = a1;
                                                                                         |     if (v1 == 0) {
    0x00009f80 beqz v1, 0x9fe8                                                           |         goto label_175;
                                                                                         |     }
                                                                                         |     do {
    0x00009f84 sll v0, s4, 4                                                             |         v0 = s4 << 4;
    0x00009f88 sll a2, s4, 2                                                             |         a2 = s4 << 2;
    0x00009f8c addu a2, a2, v0                                                           |         a2 += v0;
    0x00009f90 addu a2, a3, a2                                                           |         a2 = a3 + a2;
    0x00009f94 lw v0, (a2)                                                               |         v0 = *(a2);
    0x00009f98 lw v1, 0xe4(s0)                                                           |         v1 = *((s0 + 57));
    0x00009f9c addiu v0, v0, 1                                                           |         v0++;
    0x00009fa0 sw v0, (a2)                                                               |         *(a2) = v0;
    0x00009fa4 lw v1, (v1)                                                               |         v1 = *(v1);
    0x00009fa8 slt v0, v0, v1                                                            |         v0 = (v0 < v1) ? 1 : 0;
    0x00009fac sra v0, t0, 2                                                             |         v0 = t0 >> 2;
                                                                                         |         if (v0 == 0) {
    0x00009fb0 beqz v0, 0xa720                                                           |             goto label_176;
                                                                                         |         }
    0x00009fb4 sll v1, v0, 1                                                             |         v1 = v0 << 1;
    0x00009fb8 addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x00009fbc sll v1, v0, 4                                                             |         v1 = v0 << 4;
    0x00009fc0 addu v0, v0, v1                                                           |         v0 += v1;
    0x00009fc4 sll v1, v0, 8                                                             |         v1 = v0 << 8;
    0x00009fc8 addu v0, v0, v1                                                           |         v0 += v1;
    0x00009fcc sll v1, v0, 0x10                                                          |         v1 = v0 << 0x10;
    0x00009fd0 addu v0, v0, v1                                                           |         v0 += v1;
    0x00009fd4 addiu s4, s4, 1                                                           |         s4++;
    0x00009fd8 negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x00009fdc sltu v1, s4, v0                                                           |         v1 = (s4 < v0) ? 1 : 0;
    0x00009fe0 move a0, a1                                                               |         a0 = a1;
    0x00009fe4 bnez v1, 0x9f84                                                           |         
                                                                                         |     } while (v1 != 0);
                                                                                         |     if (v0 == 0) {
                                                                                         | label_175:
    0x00009fe8 beqz v0, 0xa74c                                                           |         goto label_177;
                                                                                         |     }
    0x00009fec nop                                                                       |     
    0x00009ff0 lw v1, 4(s3)                                                              |     v1 = *((s3 + 1));
    0x00009ff4 addiu s5, s5, 1                                                           |     s5++;
    0x00009ff8 subu v1, v1, s2                                                           |     __asm ("subu v1, v1, s2");
    0x00009ffc sra v0, v1, 2                                                             |     v0 = v1 >> 2;
    0x0000a000 sll a0, v0, 2                                                             |     a0 = v0 << 2;
    0x0000a004 addu v0, a0, v0                                                           |     v0 = a0 + v0;
    0x0000a008 sll a0, v0, 4                                                             |     a0 = v0 << 4;
    0x0000a00c addu v0, v0, a0                                                           |     v0 += a0;
    0x0000a010 sll a0, v0, 8                                                             |     a0 = v0 << 8;
    0x0000a014 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000a018 sll a0, v0, 0x10                                                          |     a0 = v0 << 0x10;
    0x0000a01c addu v0, v0, a0                                                           |     v0 += a0;
    0x0000a020 negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000a024 sltu a0, s5, v0                                                           |     a0 = (s5 < v0) ? 1 : 0;
                                                                                         |     if (a0 != 0) {
    0x0000a028 bnez a0, 0x9f30                                                           |         goto label_35;
                                                                                         |     }
    0x0000a02c nop                                                                       |     
                                                                                         | label_174:
    0x0000a030 lw a0, 0x278(sp)                                                          |     a0 = *(var_278h);
    0x0000a034 lw a1, 0x27c(sp)                                                          |     a1 = *(var_27ch);
    0x0000a038 subu a1, a1, a0                                                           |     __asm ("subu a1, a1, a0");
    0x0000a03c sra a1, a1, 2                                                             |     a1 >>= 2;
    0x0000a040 sll a2, a1, 1                                                             |     a2 = a1 << 1;
    0x0000a044 addu a1, a2, a1                                                           |     a1 = a2 + a1;
    0x0000a048 sll a2, a1, 4                                                             |     a2 = a1 << 4;
    0x0000a04c addu a1, a1, a2                                                           |     a1 += a2;
    0x0000a050 sll a2, a1, 8                                                             |     a2 = a1 << 8;
    0x0000a054 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000a058 sll a2, a1, 0x10                                                          |     a2 = a1 << 0x10;
    0x0000a05c addu a1, a1, a2                                                           |     a1 += a2;
                                                                                         |     if (a1 == 0) {
    0x0000a060 beqz a1, 0xa284                                                           |         goto label_178;
                                                                                         |     }
    0x0000a064 nop                                                                       |     
    0x0000a068 move fp, zero                                                             |     fp = 0;
    0x0000a06c sll a1, fp, 2                                                             |     a1 = fp << 2;
                                                                                         | label_36:
    0x0000a070 sll v0, fp, 4                                                             |     v0 = fp << 4;
    0x0000a074 sra v1, v1, 2                                                             |     v1 >>= 2;
    0x0000a078 addu v0, a1, v0                                                           |     v0 = a1 + v0;
    0x0000a07c addu v0, a0, v0                                                           |     v0 = a0 + v0;
    0x0000a080 sll a1, v1, 2                                                             |     a1 = v1 << 2;
    0x0000a084 lw a0, (v0)                                                               |     a0 = *(v0);
    0x0000a088 addu v1, a1, v1                                                           |     v1 = a1 + v1;
    0x0000a08c sll a1, v1, 4                                                             |     a1 = v1 << 4;
    0x0000a090 addu v1, v1, a1                                                           |     v1 += a1;
    0x0000a094 sw a0, 0x1d8(sp)                                                          |     *(var_1d8h) = a0;
    0x0000a098 sll a0, v1, 8                                                             |     a0 = v1 << 8;
    0x0000a09c addu v1, v1, a0                                                           |     v1 += a0;
    0x0000a0a0 lw a2, 4(v0)                                                              |     a2 = *((v0 + 1));
    0x0000a0a4 lw a1, 8(v0)                                                              |     a1 = *((v0 + 2));
    0x0000a0a8 lw a0, 0xc(v0)                                                            |     a0 = *((v0 + 3));
    0x0000a0ac lw v0, 0x10(v0)                                                           |     v0 = *((v0 + 4));
    0x0000a0b0 sll a3, v1, 0x10                                                          |     a3 = v1 << 0x10;
    0x0000a0b4 addu v1, v1, a3                                                           |     v1 += a3;
    0x0000a0b8 sw a2, 0x1dc(sp)                                                          |     *(var_1dch) = a2;
    0x0000a0bc sw a1, 0x1e0(sp)                                                          |     *(var_1e0h) = a1;
    0x0000a0c0 sw a0, 0x1e4(sp)                                                          |     *(var_1e4h) = a0;
    0x0000a0c4 sw v0, 0x1e8(sp)                                                          |     *(var_1e8h) = v0;
                                                                                         |     if (v1 == 0) {
    0x0000a0c8 beqz v1, 0xa8cc                                                           |         goto label_179;
                                                                                         |     }
    0x0000a0cc move s4, zero                                                             |     s4 = 0;
    0x0000a0d0 move s1, zero                                                             |     s1 = 0;
    0x0000a0d4 addiu t9, zero, 1                                                         |     t9 = 1;
                                                                                         |     do {
    0x0000a0d8 addu a0, s2, s4                                                           |         a0 = s2 + s4;
    0x0000a0dc lw a1, (a0)                                                               |         a1 = *(a0);
    0x0000a0e0 lw v0, 4(a0)                                                              |         v0 = *((a0 + 1));
    0x0000a0e4 subu v0, v0, a1                                                           |         __asm ("subu v0, v0, a1");
    0x0000a0e8 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x0000a0ec sll v1, v0, 1                                                             |         v1 = v0 << 1;
    0x0000a0f0 addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x0000a0f4 sll v1, v0, 4                                                             |         v1 = v0 << 4;
    0x0000a0f8 addu v0, v0, v1                                                           |         v0 += v1;
    0x0000a0fc sll s6, v0, 8                                                             |         s6 = v0 << 8;
    0x0000a100 addu v0, v0, s6                                                           |         v0 += s6;
    0x0000a104 sll s6, v0, 0x10                                                          |         s6 = v0 << 0x10;
    0x0000a108 addu s6, v0, s6                                                           |         s6 = v0 + s6;
    0x0000a10c negu s6, s6                                                               |         __asm ("negu s6, s6");
                                                                                         |         if (s6 != 0) {
    0x0000a110 beqz s6, 0xa1f8                                                           |             
    0x0000a114 nop                                                                       |             
    0x0000a118 addiu t2, a1, 0xc                                                         |             t2 = a1 + 0xc;
    0x0000a11c lw t0, 0x1dc(sp)                                                          |             t0 = *(var_1dch);
    0x0000a120 lw v0, 4(a1)                                                              |             v0 = *((a1 + 1));
    0x0000a124 lw t1, 0x1e4(sp)                                                          |             t1 = *(var_1e4h);
    0x0000a128 lw a2, (t2)                                                               |             a2 = *(t2);
    0x0000a12c lw t3, 0x1e0(sp)                                                          |             t3 = *(var_1e0h);
    0x0000a130 addu t1, t1, t0                                                           |             t1 += t0;
    0x0000a134 addu a2, v0, a2                                                           |             a2 = v0 + a2;
    0x0000a138 slt t7, t1, a2                                                            |             t7 = (t1 < a2) ? 1 : 0;
    0x0000a13c lw t4, 0x1e8(sp)                                                          |             t4 = *(var_1e8h);
    0x0000a140 lw v1, 8(a1)                                                              |             v1 = *((a1 + 2));
    0x0000a144 slt t6, v0, t0                                                            |             t6 = (v0 < t0) ? 1 : 0;
    0x0000a148 lw a3, 4(t2)                                                              |             a3 = *((t2 + 1));
    0x0000a14c move s5, t1                                                               |             s5 = t1;
    0x0000a150 move s7, t0                                                               |             s7 = t0;
                                                                                         |             if (t7 != 0) {
    0x0000a154 movz s5, a2, t7                                                           |                 s5 = a2;
                                                                                         |             }
                                                                                         |             if (t6 != 0) {
    0x0000a158 movz s7, v0, t6                                                           |                 s7 = v0;
                                                                                         |             }
    0x0000a15c subu t7, s5, s7                                                           |             __asm ("subu t7, s5, s7");
    0x0000a160 addu t4, t3, t4                                                           |             t4 = t3 + t4;
    0x0000a164 move t5, zero                                                             |             t5 = 0;
    0x0000a168 addu a3, v1, a3                                                           |             a3 = v1 + a3;
                                                                                         |             if (t7 <= 0) {
    0x0000a16c blez t7, 0xa864                                                           |                 goto label_180;
                                                                                         |             }
                                                                                         | label_43:
    0x0000a170 slt s5, t4, a3                                                            |             s5 = (t4 < a3) ? 1 : 0;
    0x0000a174 move s7, t4                                                               |             s7 = t4;
                                                                                         |             if (s5 != 0) {
    0x0000a178 movz s7, a3, s5                                                           |                 s7 = a3;
                                                                                         |             }
    0x0000a17c slt t6, v1, t3                                                            |             t6 = (v1 < t3) ? 1 : 0;
    0x0000a180 move s5, s7                                                               |             s5 = s7;
    0x0000a184 move s7, t3                                                               |             s7 = t3;
                                                                                         |             if (t6 != 0) {
    0x0000a188 movz s7, v1, t6                                                           |                 s7 = v1;
                                                                                         |             }
    0x0000a18c subu t6, s5, s7                                                           |             __asm ("subu t6, s5, s7");
                                                                                         |             if (t6 <= 0) {
    0x0000a190 blez t6, 0xa864                                                           |                 goto label_180;
                                                                                         |             }
    0x0000a194 nop                                                                       |             
    0x0000a198 mul t6, t7, t6                                                            |             __asm ("mul t6, t7, t6");
                                                                                         | label_44:
    0x0000a19c lw t7, (a1)                                                               |             t7 = *(a1);
    0x0000a1a0 slt ra, t0, v0                                                            |             ra = (t0 < v0) ? 1 : 0;
    0x0000a1a4 slt t8, t3, v1                                                            |             t8 = (t3 < v1) ? 1 : 0;
    0x0000a1a8 slt s7, a2, t1                                                            |             s7 = (a2 < t1) ? 1 : 0;
    0x0000a1ac slt s5, a3, t4                                                            |             s5 = (a3 < t4) ? 1 : 0;
                                                                                         |             if (ra == 0) {
    0x0000a1b0 movn v0, t0, ra                                                           |                 v0 = t0;
                                                                                         |             }
                                                                                         |             if (t8 == 0) {
    0x0000a1b4 movn v1, t3, t8                                                           |                 v1 = t3;
                                                                                         |             }
                                                                                         |             if (s7 == 0) {
    0x0000a1b8 movn a2, t1, s7                                                           |                 a2 = t1;
                                                                                         |             }
                                                                                         |             if (s5 == 0) {
    0x0000a1bc movn a3, t4, s5                                                           |                 a3 = t4;
                                                                                         |             }
    0x0000a1c0 subu a2, a2, v0                                                           |             __asm ("subu a2, a2, v0");
    0x0000a1c4 subu a3, a3, v1                                                           |             __asm ("subu a3, a3, v1");
                                                                                         |             if (t7 != 0) {
    0x0000a1c8 bnez t7, 0xa80c                                                           |                 goto label_181;
                                                                                         |             }
    0x0000a1cc sll s5, t6, 1                                                             |             s5 = t6 << 1;
    0x0000a1d0 addu t6, s5, t6                                                           |             t6 = s5 + t6;
    0x0000a1d4 mul t7, a2, a3                                                            |             __asm ("mul t7, a2, a3");
    0x0000a1d8 slt t6, t6, t7                                                            |             t6 = (t6 < t7) ? 1 : 0;
                                                                                         |             if (t6 != 0) {
    0x0000a1dc bnez t6, 0xa814                                                           |                 goto label_182;
                                                                                         |             }
    0x0000a1e0 nop                                                                       |             
    0x0000a1e4 sw v0, 4(a1)                                                              |             *((a1 + 1)) = v0;
    0x0000a1e8 sw v1, 8(a1)                                                              |             *((a1 + 2)) = v1;
    0x0000a1ec sw a2, 0xc(a1)                                                            |             *((a1 + 3)) = a2;
    0x0000a1f0 sw a3, 0x10(a1)                                                           |             *((a1 + 4)) = a3;
                                                                                         | label_45:
    0x0000a1f4 move t9, zero                                                             |             t9 = 0;
                                                                                         |         }
                                                                                         | label_42:
    0x0000a1f8 lw v1, 4(s3)                                                              |         v1 = *((s3 + 1));
    0x0000a1fc addiu s1, s1, 1                                                           |         s1++;
    0x0000a200 subu v1, v1, s2                                                           |         __asm ("subu v1, v1, s2");
    0x0000a204 sra v0, v1, 2                                                             |         v0 = v1 >> 2;
    0x0000a208 sll a0, v0, 2                                                             |         a0 = v0 << 2;
    0x0000a20c addu v0, a0, v0                                                           |         v0 = a0 + v0;
    0x0000a210 sll a0, v0, 4                                                             |         a0 = v0 << 4;
    0x0000a214 addu v0, v0, a0                                                           |         v0 += a0;
    0x0000a218 sll a0, v0, 8                                                             |         a0 = v0 << 8;
    0x0000a21c addu v0, v0, a0                                                           |         v0 += a0;
    0x0000a220 sll a0, v0, 0x10                                                          |         a0 = v0 << 0x10;
    0x0000a224 addu v0, v0, a0                                                           |         v0 += a0;
    0x0000a228 negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x0000a22c sltu a0, s1, v0                                                           |         a0 = (s1 < v0) ? 1 : 0;
    0x0000a230 addiu s4, s4, 0xc                                                         |         s4 += 0xc;
    0x0000a234 bnez a0, 0xa0d8                                                           |         
                                                                                         |     } while (a0 != 0);
    0x0000a238 lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (t9 != 0) {
    0x0000a23c bnez t9, 0xa8d0                                                           |         goto label_183;
                                                                                         |     }
                                                                                         | label_46:
    0x0000a240 lw a0, 0x278(sp)                                                          |     a0 = *(var_278h);
    0x0000a244 lw a1, 0x27c(sp)                                                          |     a1 = *(var_27ch);
    0x0000a248 addiu fp, fp, 1                                                           |     fp++;
    0x0000a24c subu a1, a1, a0                                                           |     __asm ("subu a1, a1, a0");
    0x0000a250 sra a1, a1, 2                                                             |     a1 >>= 2;
    0x0000a254 sll a2, a1, 1                                                             |     a2 = a1 << 1;
    0x0000a258 addu a1, a2, a1                                                           |     a1 = a2 + a1;
    0x0000a25c sll a2, a1, 4                                                             |     a2 = a1 << 4;
    0x0000a260 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000a264 sll a2, a1, 8                                                             |     a2 = a1 << 8;
    0x0000a268 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000a26c sll a2, a1, 0x10                                                          |     a2 = a1 << 0x10;
    0x0000a270 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000a274 negu a1, a1                                                               |     __asm ("negu a1, a1");
    0x0000a278 sltu a1, fp, a1                                                           |     a1 = (fp < a1) ? 1 : 0;
    0x0000a27c sll a1, fp, 2                                                             |     a1 = fp << 2;
                                                                                         |     if (a1 != 0) {
    0x0000a280 bnez a1, 0xa070                                                           |         goto label_36;
                                                                                         |     }
                                                                                         | label_178:
    0x0000a284 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
                                                                                         |     if (v0 == 0) {
    0x0000a288 beqz v0, 0xa4c0                                                           |         goto label_184;
                                                                                         |     }
    0x0000a28c lui s7, 0xccc                                                             |     s7 = 0xccc0000;
    0x0000a290 move s5, zero                                                             |     s5 = 0;
    0x0000a294 move s3, zero                                                             |     s3 = 0;
    0x0000a298 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000a29c ori s7, s7, 0xcccd                                                        |     s7 |= 0xcccd;
                                                                                         | label_37:
    0x0000a2a0 addu s2, s2, s5                                                           |     s2 += s5;
    0x0000a2a4 lw v1, 4(s2)                                                              |     v1 = *((s2 + 1));
    0x0000a2a8 lw v0, (s2)                                                               |     v0 = *(s2);
    0x0000a2ac sw zero, 0x270(sp)                                                        |     *(var_270h) = 0;
    0x0000a2b0 sw zero, 0x26c(sp)                                                        |     *(var_26ch) = 0;
    0x0000a2b4 subu v0, v1, v0                                                           |     __asm ("subu v0, v1, v0");
    0x0000a2b8 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000a2bc sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x0000a2c0 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x0000a2c4 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x0000a2c8 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a2cc sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x0000a2d0 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a2d4 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x0000a2d8 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a2dc negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000a2e0 sw zero, 0x274(sp)                                                        |     *(var_274h) = 0;
                                                                                         |     if (v0 == 0) {
    0x0000a2e4 beqz v0, 0xaa74                                                           |         goto label_185;
                                                                                         |     }
    0x0000a2e8 sltu v1, v0, s7                                                           |     v1 = (v0 < s7) ? 1 : 0;
    0x0000a2ec sll s6, v0, 2                                                             |     s6 = v0 << 2;
                                                                                         |     if (v1 == 0) {
    0x0000a2f0 beqz v1, 0xaaf8                                                           |         goto label_186;
                                                                                         |     }
    0x0000a2f4 lw t9, -0x7f38(gp)                                                        |     t9 = sym.imp.operator_new_unsigned_int_;
    0x0000a2f8 sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000a2fc addu s6, s6, v0                                                           |     s6 += v0;
    0x0000a300 move a0, s6                                                               |     a0 = s6;
    0x0000a304 addiu s4, sp, 0x278                                                       |     s4 = sp + 0x278;
    0x0000a308 jalr t9                                                                   |     t9 ();
    0x0000a30c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000a310 sw v0, 0x26c(sp)                                                          |     *(var_26ch) = v0;
    0x0000a314 sw v0, 0x270(sp)                                                          |     *(var_270h) = v0;
    0x0000a318 lw a0, (s2)                                                               |     a0 = *(s2);
    0x0000a31c lw t1, 4(s2)                                                              |     t1 = *((s2 + 1));
    0x0000a320 addu s6, v0, s6                                                           |     s6 = v0 + s6;
    0x0000a324 move t2, v0                                                               |     t2 = v0;
    0x0000a328 sw s6, 0x274(sp)                                                          |     *(var_274h) = s6;
                                                                                         |     if (a0 == t1) {
    0x0000a32c beq a0, t1, 0xaa9c                                                        |         goto label_187;
                                                                                         |     }
                                                                                         | label_47:
    0x0000a330 addiu a1, a0, 4                                                           |     a1 = a0 + 4;
    0x0000a334 addiu v1, v0, 4                                                           |     v1 = v0 + 4;
    0x0000a338 move a3, a0                                                               |     a3 = a0;
    0x0000a33c move a2, v0                                                               |     a2 = v0;
                                                                                         |     do {
                                                                                         |         if (a2 != 0) {
    0x0000a340 beqz a2, 0xa370                                                           |             
    0x0000a344 nop                                                                       |             
    0x0000a348 lw t0, (a3)                                                               |             t0 = *(a3);
    0x0000a34c sw t0, (a2)                                                               |             *(a2) = t0;
    0x0000a350 lw t0, (a1)                                                               |             t0 = *(a1);
    0x0000a354 sw t0, (v1)                                                               |             *(v1) = t0;
    0x0000a358 lw t0, 4(a1)                                                              |             t0 = *((a1 + 1));
    0x0000a35c sw t0, 4(v1)                                                              |             *((v1 + 1)) = t0;
    0x0000a360 lw t0, 8(a1)                                                              |             t0 = *((a1 + 2));
    0x0000a364 sw t0, 8(v1)                                                              |             *((v1 + 2)) = t0;
    0x0000a368 lw t0, 0xc(a1)                                                            |             t0 = *((a1 + 3));
    0x0000a36c sw t0, 0xc(v1)                                                            |             *((v1 + 3)) = t0;
                                                                                         |         }
    0x0000a370 addiu a3, a3, 0x14                                                        |         a3 += 0x14;
    0x0000a374 addiu a2, a2, 0x14                                                        |         a2 += 0x14;
    0x0000a378 addiu a1, a1, 0x14                                                        |         a1 += 0x14;
    0x0000a37c addiu v1, v1, 0x14                                                        |         v1 += 0x14;
    0x0000a380 bne t1, a3, 0xa340                                                        |         
                                                                                         |     } while (t1 != a3);
    0x0000a384 addiu v1, a0, 0x14                                                        |     v1 = a0 + 0x14;
    0x0000a388 subu v1, t1, v1                                                           |     __asm ("subu v1, t1, v1");
    0x0000a38c srl v1, v1, 2                                                             |     v1 >>= 2;
    0x0000a390 mul v1, v1, s7                                                            |     __asm ("mul v1, v1, s7");
    0x0000a394 ext v1, v1, 0, 0x1e                                                       |     __asm ("ext v1, v1, 0, 0x1e");
    0x0000a398 addiu v1, v1, 1                                                           |     v1++;
    0x0000a39c sll a0, v1, 2                                                             |     a0 = v1 << 2;
    0x0000a3a0 sll v1, v1, 4                                                             |     v1 <<= 4;
    0x0000a3a4 addu a0, a0, v1                                                           |     a0 += v1;
    0x0000a3a8 addu a0, v0, a0                                                           |     a0 = v0 + a0;
    0x0000a3ac subu v1, a0, t2                                                           |     __asm ("subu v1, a0, t2");
    0x0000a3b0 sra v1, v1, 2                                                             |     v1 >>= 2;
    0x0000a3b4 sll a1, v1, 1                                                             |     a1 = v1 << 1;
    0x0000a3b8 addu v1, a1, v1                                                           |     v1 = a1 + v1;
    0x0000a3bc sll a1, v1, 4                                                             |     a1 = v1 << 4;
    0x0000a3c0 addu v1, v1, a1                                                           |     v1 += a1;
    0x0000a3c4 sll a1, v1, 8                                                             |     a1 = v1 << 8;
    0x0000a3c8 addu v1, v1, a1                                                           |     v1 += a1;
    0x0000a3cc sll a1, v1, 0x10                                                          |     a1 = v1 << 0x10;
    0x0000a3d0 addu v1, v1, a1                                                           |     v1 += a1;
    0x0000a3d4 negu v1, v1                                                               |     __asm ("negu v1, v1");
                                                                                         | label_48:
    0x0000a3d8 lw a1, 0xe8(s0)                                                           |     a1 = *((s0 + 58));
    0x0000a3dc sw a0, 0x270(sp)                                                          |     *(var_270h) = a0;
    0x0000a3e0 lw a0, (a1)                                                               |     a0 = *(a1);
    0x0000a3e4 slt a0, a0, v1                                                            |     a0 = (a0 < v1) ? 1 : 0;
    0x0000a3e8 addiu v1, v1, -1                                                          |     v1 += -1;
                                                                                         |     if (a0 != 0) {
    0x0000a3ec beqz a0, 0xa460                                                           |         
    0x0000a3f0 sll a2, v1, 2                                                             |         a2 = v1 << 2;
    0x0000a3f4 sll v1, v1, 4                                                             |         v1 <<= 4;
    0x0000a3f8 addu a2, a2, v1                                                           |         a2 += v1;
    0x0000a3fc addu a2, v0, a2                                                           |         a2 = v0 + a2;
    0x0000a400 lw v1, 0xc(a2)                                                            |         v1 = *((a2 + 3));
    0x0000a404 lw a0, 0xb4(s0)                                                           |         a0 = *((s0 + 45));
    0x0000a408 slt a0, v1, a0                                                            |         a0 = (v1 < a0) ? 1 : 0;
                                                                                         |         if (a0 != 0) {
    0x0000a40c bnez a0, 0xa460                                                           |             goto label_55;
                                                                                         |         }
    0x0000a410 nop                                                                       |         
    0x0000a414 lw a0, 0x10(a2)                                                           |         a0 = *((a2 + 4));
    0x0000a418 lw a1, 0xb0(s0)                                                           |         a1 = *((s0 + 44));
    0x0000a41c slt a1, a0, a1                                                            |         a1 = (a0 < a1) ? 1 : 0;
                                                                                         |         if (a1 != 0) {
    0x0000a420 bnez a1, 0xa460                                                           |             goto label_55;
                                                                                         |         }
    0x0000a424 nop                                                                       |         
    0x0000a428 lw a1, 0x2c4(sp)                                                          |         a1 = *(var_2c4h);
    0x0000a42c lw a3, 0x2c8(sp)                                                          |         a3 = *(var_2c8h);
                                                                                         |         if (a1 == a3) {
    0x0000a430 beq a1, a3, 0xad18                                                        |             goto label_188;
                                                                                         |         }
    0x0000a434 nop                                                                       |         
                                                                                         |         if (a1 != 0) {
    0x0000a438 beqz a1, 0xa458                                                           |             
    0x0000a43c nop                                                                       |             
    0x0000a440 lw a3, 4(a2)                                                              |             a3 = *((a2 + 1));
    0x0000a444 lw a2, 8(a2)                                                              |             a2 = *((a2 + 2));
    0x0000a448 sw v1, 8(a1)                                                              |             *((a1 + 2)) = v1;
    0x0000a44c sw a3, (a1)                                                               |             *(a1) = a3;
    0x0000a450 sw a2, 4(a1)                                                              |             *((a1 + 1)) = a2;
    0x0000a454 sw a0, 0xc(a1)                                                            |             *((a1 + 3)) = a0;
                                                                                         |         }
    0x0000a458 addiu a1, a1, 0x10                                                        |         a1 += 0x10;
    0x0000a45c sw a1, 0x2c4(sp)                                                          |         *(var_2c4h) = a1;
                                                                                         |     }
                                                                                         |     if (v0 != 0) {
                                                                                         | label_55:
    0x0000a460 beqz v0, 0xa478                                                           |         
    0x0000a464 nop                                                                       |         
    0x0000a468 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
    0x0000a46c move a0, v0                                                               |         a0 = v0;
    0x0000a470 jalr t9                                                                   |         t9 ();
    0x0000a474 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000a478 lw v0, 0xec(s0)                                                           |     v0 = *((s0 + 59));
    0x0000a47c addiu s3, s3, 1                                                           |     s3++;
    0x0000a480 lw s2, (v0)                                                               |     s2 = *(v0);
    0x0000a484 lw v0, 4(v0)                                                              |     v0 = *((v0 + 1));
    0x0000a488 subu v0, v0, s2                                                           |     __asm ("subu v0, v0, s2");
    0x0000a48c sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000a490 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000a494 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x0000a498 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x0000a49c addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a4a0 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x0000a4a4 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a4a8 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x0000a4ac addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a4b0 negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000a4b4 sltu v0, s3, v0                                                           |     v0 = (s3 < v0) ? 1 : 0;
    0x0000a4b8 addiu s5, s5, 0xc                                                         |     s5 += 0xc;
                                                                                         |     if (v0 != 0) {
    0x0000a4bc bnez v0, 0xa2a0                                                           |         goto label_37;
                                                                                         |     }
                                                                                         | label_184:
    0x0000a4c0 lw a0, 0x278(sp)                                                          |     a0 = *(var_278h);
                                                                                         |     if (a0 != 0) {
    0x0000a4c4 beqz a0, 0xa4dc                                                           |         
    0x0000a4c8 nop                                                                       |         
    0x0000a4cc lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
    0x0000a4d0 jalr t9                                                                   |         t9 ();
    0x0000a4d4 nop                                                                       |         
    0x0000a4d8 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000a4dc lw a0, 0x284(sp)                                                          |     a0 = *(var_284h);
                                                                                         |     if (a0 != 0) {
    0x0000a4e0 beqz a0, 0xa4f8                                                           |         
    0x0000a4e4 nop                                                                       |         
    0x0000a4e8 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
    0x0000a4ec jalr t9                                                                   |         t9 ();
    0x0000a4f0 nop                                                                       |         
    0x0000a4f4 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000a4f8 lw a0, 0x260(sp)                                                          |     a0 = *(var_260h);
    0x0000a4fc lw t9, -0x7ea8(gp)                                                        |     t9 = sym.imp.operator_delete_void_;
                                                                                         |     if (a0 != 0) {
    0x0000a500 beqz a0, 0xa510                                                           |         
    0x0000a504 jalr t9                                                                   |         t9 ();
    0x0000a508 nop                                                                       |         
    0x0000a50c lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000a510 lw a0, 0x29c(sp)                                                          |     a0 = *(var_29ch);
    0x0000a514 lw t9, -0x7ea8(gp)                                                        |     t9 = sym.imp.operator_delete_void_;
                                                                                         |     if (a0 != 0) {
    0x0000a518 beqz a0, 0xa528                                                           |         
    0x0000a51c jalr t9                                                                   |         t9 ();
    0x0000a520 nop                                                                       |         
    0x0000a524 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
                                                                                         | label_65:
    0x0000a528 lw t9, -0x7f68(gp)                                                        |     t9 = *(gp);
    0x0000a52c lw a1, 0x2f4(sp)                                                          |     a1 = *(var_2f4h);
    0x0000a530 sw zero, 0x260(sp)                                                        |     *(var_260h) = 0;
    0x0000a534 sw zero, 0x264(sp)                                                        |     *(var_264h) = 0;
    0x0000a538 sw zero, 0x268(sp)                                                        |     *(var_268h) = 0;
    0x0000a53c move a0, s1                                                               |     a0 = s1;
    0x0000a540 addiu a2, sp, 0x2d8                                                       |     a2 = sp + 0x2d8;
    0x0000a544 jalr t9                                                                   |     t9 ();
    0x0000a548 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000a54c lw a1, 0x260(sp)                                                          |     a1 = *(var_260h);
    0x0000a550 lw v0, 0x264(sp)                                                          |     v0 = *(var_264h);
    0x0000a554 subu v0, v0, a1                                                           |     __asm ("subu v0, v0, a1");
    0x0000a558 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000a55c sw zero, 0xe0(s0)                                                         |     *((s0 + 56)) = 0;
                                                                                         |     if (v0 == 0) {
    0x0000a560 beqz v0, 0xacd0                                                           |         goto label_189;
                                                                                         |     }
    0x0000a564 lw v1, 0x2c0(sp)                                                          |     v1 = *(var_2c0h);
    0x0000a568 lw t4, 0x350(sp)                                                          |     t4 = *(arg_350h);
    0x0000a56c sll t3, v0, 2                                                             |     t3 = v0 << 2;
    0x0000a570 move a0, zero                                                             |     a0 = 0;
    0x0000a574 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x0000a578 addu a2, a1, a0                                                           |         a2 = a1 + a0;
    0x0000a57c lw a2, (a2)                                                               |         a2 = *(a2);
    0x0000a580 slt a2, a2, v0                                                            |         a2 = (a2 < v0) ? 1 : 0;
    0x0000a584 slti a2, v0, 8                                                            |         a2 = (v0 < 8) ? 1 : 0;
                                                                                         |         if (a2 == 0) {
    0x0000a588 bnez a2, 0xa5d8                                                           |             
                                                                                         |             if (a2 == 0) {
    0x0000a58c beqz a2, 0xa5d8                                                           |                 goto label_190;
                                                                                         |             }
    0x0000a590 nop                                                                       |             
    0x0000a594 lw t1, (v1)                                                               |             t1 = *(v1);
    0x0000a598 lw t0, 4(v1)                                                              |             t0 = *((v1 + 1));
    0x0000a59c lw t5, 0xc(v1)                                                            |             t5 = *((v1 + 3));
    0x0000a5a0 lw t6, 8(v1)                                                              |             t6 = *((v1 + 2));
    0x0000a5a4 addiu t2, v0, 1                                                           |             t2 = v0 + 1;
    0x0000a5a8 sll a2, t2, 4                                                             |             a2 = t2 << 4;
    0x0000a5ac sll v0, v0, 4                                                             |             v0 <<= 4;
    0x0000a5b0 addu a3, t4, v0                                                           |             a3 = t4 + v0;
    0x0000a5b4 addu a2, t4, a2                                                           |             a2 = t4 + a2;
    0x0000a5b8 addu t5, t0, t5                                                           |             t5 = t0 + t5;
    0x0000a5bc addu t6, t1, t6                                                           |             t6 = t1 + t6;
    0x0000a5c0 sw t1, 8(a3)                                                              |             *((a3 + 2)) = t1;
    0x0000a5c4 sw t0, 0xc(a3)                                                            |             *((a3 + 3)) = t0;
    0x0000a5c8 sw t6, (a2)                                                               |             *(a2) = t6;
    0x0000a5cc sw t5, 4(a2)                                                              |             *((a2 + 1)) = t5;
    0x0000a5d0 move v0, t2                                                               |             v0 = t2;
    0x0000a5d4 sw t2, 0xe0(s0)                                                           |             *((s0 + 56)) = t2;
                                                                                         |         }
                                                                                         | label_190:
    0x0000a5d8 addiu a0, a0, 4                                                           |         a0 += 4;
    0x0000a5dc addiu v1, v1, 0x10                                                        |         v1 += 0x10;
    0x0000a5e0 bne a0, t3, 0xa578                                                        |         
                                                                                         |     } while (a0 != t3);
    0x0000a5e4 slt v1, zero, v0                                                          |     v1 = (0 < v0) ? 1 : 0;
                                                                                         | label_51:
    0x0000a5e8 lw s3, 0x350(sp)                                                          |     s3 = *(arg_350h);
    0x0000a5ec lw a2, 0xc0(s0)                                                           |     a2 = *((s0 + 48));
    0x0000a5f0 lw t9, -0x7ea4(gp)                                                        |     t9 = *(gp);
    0x0000a5f4 lw a1, 0x310(sp)                                                          |     a1 = *(var_310h);
    0x0000a5f8 sw v1, (s3)                                                               |     *(s3) = v1;
    0x0000a5fc sw v0, 4(s3)                                                              |     *((s3 + 1)) = v0;
    0x0000a600 addiu a0, sp, 0x2e4                                                       |     a0 = sp + 0x2e4;
    0x0000a604 jalr t9                                                                   |     t9 ();
    0x0000a608 lw a0, 0x260(sp)                                                          |     a0 = *(var_260h);
    0x0000a60c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (a0 != 0) {
    0x0000a610 beqz a0, 0xa624                                                           |         
    0x0000a614 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
    0x0000a618 jalr t9                                                                   |         t9 ();
    0x0000a61c nop                                                                       |         
    0x0000a620 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000a624 lw v0, 0x15c(sp)                                                          |     v0 = *(var_15ch);
                                                                                         |     if (v0 != 0) {
    0x0000a628 beqz v0, 0xa648                                                           |         
    0x0000a62c nop                                                                       |         
    0x0000a630 lw v1, (v0)                                                               |         v1 = *(v0);
    0x0000a634 addiu a0, v1, -1                                                          |         a0 = v1 + -1;
    0x0000a638 sw a0, (v0)                                                               |         *(v0) = a0;
    0x0000a63c addiu v0, zero, 1                                                         |         v0 = 1;
                                                                                         |         if (v1 == v0) {
    0x0000a640 beq v1, v0, 0xacdc                                                        |             goto label_191;
                                                                                         |         }
    0x0000a644 nop                                                                       |         
                                                                                         |     }
                                                                                         | label_52:
    0x0000a648 lw v0, 0x14c(sp)                                                          |     v0 = *(var_14ch);
    0x0000a64c sw zero, 0x168(sp)                                                        |     *(var_168h) = 0;
    0x0000a650 sw zero, 0x164(sp)                                                        |     *(var_164h) = 0;
    0x0000a654 sw zero, 0x160(sp)                                                        |     *(var_160h) = 0;
    0x0000a658 sw zero, 0x158(sp)                                                        |     *(var_158h) = 0;
                                                                                         |     if (v0 <= 0) {
    0x0000a65c blez v0, 0xa680                                                           |         goto label_192;
                                                                                         |     }
    0x0000a660 lw v1, 0x170(sp)                                                          |     v1 = *(var_170h);
    0x0000a664 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x0000a668 sw zero, (v1)                                                             |         *(v1) = 0;
    0x0000a66c lw a0, 0x14c(sp)                                                          |         a0 = *(var_14ch);
    0x0000a670 addiu v0, v0, 1                                                           |         v0++;
    0x0000a674 slt a0, v0, a0                                                            |         a0 = (v0 < a0) ? 1 : 0;
    0x0000a678 addiu v1, v1, 4                                                           |         v1 += 4;
    0x0000a67c bnez a0, 0xa668                                                           |         
                                                                                         |     } while (a0 != 0);
                                                                                         | label_192:
    0x0000a680 lw a0, 0x174(sp)                                                          |     a0 = *(var_174h);
    0x0000a684 lw s4, 0x2ec(sp)                                                          |     s4 = *(var_2ech);
    0x0000a688 sw zero, 0x15c(sp)                                                        |     *(var_15ch) = 0;
                                                                                         |     if (a0 != s4) {
    0x0000a68c beq a0, s4, 0xa6a0                                                        |         
    0x0000a690 lw t9, -0x7f94(gp)                                                        |         t9 = *(gp);
    0x0000a694 jalr t9                                                                   |         t9 ();
    0x0000a698 nop                                                                       |         
    0x0000a69c lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000a6a0 lw v0, 0x194(sp)                                                          |     v0 = *(var_194h);
                                                                                         |     if (v0 != 0) {
    0x0000a6a4 beqz v0, 0xa6c4                                                           |         
    0x0000a6a8 nop                                                                       |         
    0x0000a6ac lw v1, (v0)                                                               |         v1 = *(v0);
    0x0000a6b0 addiu a0, v1, -1                                                          |         a0 = v1 + -1;
    0x0000a6b4 sw a0, (v0)                                                               |         *(v0) = a0;
    0x0000a6b8 addiu v0, zero, 1                                                         |         v0 = 1;
                                                                                         |         if (v1 == v0) {
    0x0000a6bc beq v1, v0, 0xadc4                                                        |             goto label_193;
                                                                                         |         }
    0x0000a6c0 nop                                                                       |         
                                                                                         |     }
                                                                                         | label_56:
    0x0000a6c4 lw v0, 0x184(sp)                                                          |     v0 = *(var_184h);
    0x0000a6c8 sw zero, 0x1a0(sp)                                                        |     *(var_1a0h) = 0;
    0x0000a6cc sw zero, 0x19c(sp)                                                        |     *(var_19ch) = 0;
    0x0000a6d0 sw zero, 0x198(sp)                                                        |     *(var_198h) = 0;
    0x0000a6d4 sw zero, 0x190(sp)                                                        |     *(var_190h) = 0;
                                                                                         |     if (v0 <= 0) {
    0x0000a6d8 blez v0, 0xa6fc                                                           |         goto label_194;
                                                                                         |     }
    0x0000a6dc lw v1, 0x1a8(sp)                                                          |     v1 = *(var_1a8h);
    0x0000a6e0 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x0000a6e4 sw zero, (v1)                                                             |         *(v1) = 0;
    0x0000a6e8 lw a0, 0x184(sp)                                                          |         a0 = *(var_184h);
    0x0000a6ec addiu v0, v0, 1                                                           |         v0++;
    0x0000a6f0 slt a0, v0, a0                                                            |         a0 = (v0 < a0) ? 1 : 0;
    0x0000a6f4 addiu v1, v1, 4                                                           |         v1 += 4;
    0x0000a6f8 bnez a0, 0xa6e4                                                           |         
                                                                                         |     } while (a0 != 0);
                                                                                         | label_194:
    0x0000a6fc lw a0, 0x1ac(sp)                                                          |     a0 = *(var_1ach);
    0x0000a700 lw s7, 0x2f0(sp)                                                          |     s7 = *(var_2f0h);
    0x0000a704 sw zero, 0x194(sp)                                                        |     *(var_194h) = 0;
                                                                                         |     if (a0 == s7) {
    0x0000a708 beq a0, s7, 0x98a4                                                        |         goto label_38;
                                                                                         |     }
    0x0000a70c lw t9, -0x7f94(gp)                                                        |     t9 = *(gp);
    0x0000a710 jalr t9                                                                   |     t9 ();
    0x0000a714 nop                                                                       |     
    0x0000a718 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000a71c b 0x98a4                                                                  |     goto label_38;
                                                                                         | label_176:
    0x0000a720 lw t9, -0x7efc(gp)                                                        |     t9 = *(gp);
    0x0000a724 addiu a0, sp, 0x2e8                                                       |     a0 = sp + 0x2e8;
    0x0000a728 jalr t9                                                                   |     t9 ();
    0x0000a72c lw s3, 0xec(s0)                                                           |     s3 = *((s0 + 59));
    0x0000a730 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000a734 lw s2, (s3)                                                               |     s2 = *(s3);
    0x0000a738 addu a1, s2, s1                                                           |     a1 = s2 + s1;
    0x0000a73c lw t0, 4(a1)                                                              |     t0 = *((a1 + 1));
    0x0000a740 lw a3, (a1)                                                               |     a3 = *(a1);
    0x0000a744 subu t0, t0, a3                                                           |     __asm ("subu t0, t0, a3");
    0x0000a748 b 0x9f50                                                                  |     goto label_39;
                                                                                         | label_177:
    0x0000a74c lw v0, 4(s3)                                                              |     v0 = *((s3 + 1));
    0x0000a750 addiu s2, a1, 0xc                                                         |     s2 = a1 + 0xc;
    0x0000a754 subu v1, v0, s2                                                           |     __asm ("subu v1, v0, s2");
                                                                                         |     if (s2 == v0) {
    0x0000a758 beq s2, v0, 0xa7c0                                                        |         goto label_195;
                                                                                         |     }
    0x0000a75c sra v1, v1, 2                                                             |     v1 >>= 2;
    0x0000a760 sll a1, v1, 2                                                             |     a1 = v1 << 2;
    0x0000a764 addu v1, a1, v1                                                           |     v1 = a1 + v1;
    0x0000a768 sll a1, v1, 4                                                             |     a1 = v1 << 4;
    0x0000a76c addu v1, v1, a1                                                           |     v1 += a1;
    0x0000a770 sll a1, v1, 8                                                             |     a1 = v1 << 8;
    0x0000a774 addu v1, v1, a1                                                           |     v1 += a1;
    0x0000a778 sll a1, v1, 0x10                                                          |     a1 = v1 << 0x10;
    0x0000a77c addu v1, v1, a1                                                           |     v1 += a1;
    0x0000a780 negu s6, v1                                                               |     __asm ("negu s6, v1");
    0x0000a784 lw t9, -0x7f04(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (s6 > 0) {
    0x0000a788 bgtz s6, 0xa79c                                                           |         goto label_196;
                                                                                         |     }
    0x0000a78c lw a0, -0xc(v0)                                                           |     a0 = *((v0 - 3));
    0x0000a790 b 0xa7c4                                                                  |     goto label_197;
                                                                                         |     do {
    0x0000a794 addiu s2, s2, 0xc                                                         |         s2 += 0xc;
    0x0000a798 lw t9, -0x7f04(gp)                                                        |         t9 = *(gp);
                                                                                         | label_196:
    0x0000a79c move a1, s2                                                               |         a1 = s2;
    0x0000a7a0 addiu s1, sp, 0x2c0                                                       |         s1 = sp + aav.0x000002c0;
    0x0000a7a4 addiu s4, sp, 0x278                                                       |         s4 = sp + 0x278;
    0x0000a7a8 jalr t9                                                                   |         t9 ();
    0x0000a7ac lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x0000a7b0 addiu s6, s6, -1                                                          |         s6 += -1;
    0x0000a7b4 move a0, s2                                                               |         a0 = s2;
    0x0000a7b8 bnez s6, 0xa794                                                           |         
                                                                                         |     } while (s6 != 0);
    0x0000a7bc lw v0, 4(s3)                                                              |     v0 = *((s3 + 1));
                                                                                         | label_195:
    0x0000a7c0 lw a0, -0xc(v0)                                                           |     a0 = *((v0 - 3));
                                                                                         | label_197:
    0x0000a7c4 addiu v0, v0, -0xc                                                        |     v0 += -0xc;
    0x0000a7c8 sw v0, 4(s3)                                                              |     *((s3 + 1)) = v0;
                                                                                         |     if (a0 != 0) {
    0x0000a7cc beqz a0, 0xa7e0                                                           |         
    0x0000a7d0 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
    0x0000a7d4 jalr t9                                                                   |         t9 ();
    0x0000a7d8 nop                                                                       |         
    0x0000a7dc lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000a7e0 lw s3, 0xec(s0)                                                           |     s3 = *((s0 + 59));
    0x0000a7e4 lw s2, (s3)                                                               |     s2 = *(s3);
    0x0000a7e8 b 0x9ef4                                                                  |     goto label_40;
                                                                                         | label_151:
    0x0000a7ec lw a0, (v1)                                                               |     a0 = *(v1);
    0x0000a7f0 addiu a0, a0, -1                                                          |     a0 += -1;
                                                                                         |     if (a0 != 0) {
    0x0000a7f4 bnez a0, 0xae18                                                           |         goto label_198;
                                                                                         |     }
    0x0000a7f8 sb zero, (v0)                                                             |     *(v0) = 0;
    0x0000a7fc lw v0, -0x7f70(gp)                                                        |     v0 = *(gp);
    0x0000a800 addiu v1, zero, 0x12c                                                     |     v1 = obj._DYNAMIC;
    0x0000a804 sw v1, (v0)                                                               |     *(v0) = v1;
    0x0000a808 b 0x9ee8                                                                  |     goto label_41;
                                                                                         | label_181:
    0x0000a80c mul t7, a2, a3                                                            |     __asm ("mul t7, a2, a3");
    0x0000a810 sll s5, t6, 1                                                             |     s5 = t6 << 1;
                                                                                         | label_182:
    0x0000a814 slt t7, s5, t7                                                            |     t7 = (s5 < t7) ? 1 : 0;
    0x0000a818 addiu t5, t5, 1                                                           |     t5++;
                                                                                         |     if (t7 == 0) {
    0x0000a81c beqz t7, 0xa86c                                                           |         goto label_199;
                                                                                         |     }
    0x0000a820 addiu t2, t2, 0x14                                                        |     t2 += 0x14;
    0x0000a824 addiu a1, a1, 0x14                                                        |     a1 += 0x14;
                                                                                         |     if (t5 == s6) {
    0x0000a828 beq t5, s6, 0xa1f8                                                        |         goto label_42;
                                                                                         |     }
    0x0000a82c lw v0, 4(a1)                                                              |     v0 = *((a1 + 1));
    0x0000a830 lw a2, (t2)                                                               |     a2 = *(t2);
    0x0000a834 lw v1, 8(a1)                                                              |     v1 = *((a1 + 2));
    0x0000a838 slt t6, v0, t0                                                            |     t6 = (v0 < t0) ? 1 : 0;
    0x0000a83c addu a2, v0, a2                                                           |     a2 = v0 + a2;
    0x0000a840 slt t7, t1, a2                                                            |     t7 = (t1 < a2) ? 1 : 0;
    0x0000a844 lw a3, 4(t2)                                                              |     a3 = *((t2 + 1));
    0x0000a848 move s5, t1                                                               |     s5 = t1;
    0x0000a84c move s7, t0                                                               |     s7 = t0;
                                                                                         |     if (t7 != 0) {
    0x0000a850 movz s5, a2, t7                                                           |         s5 = a2;
                                                                                         |     }
                                                                                         |     if (t6 != 0) {
    0x0000a854 movz s7, v0, t6                                                           |         s7 = v0;
                                                                                         |     }
    0x0000a858 subu t7, s5, s7                                                           |     __asm ("subu t7, s5, s7");
    0x0000a85c addu a3, v1, a3                                                           |     a3 = v1 + a3;
                                                                                         |     if (t7 > 0) {
    0x0000a860 bgtz t7, 0xa170                                                           |         goto label_43;
                                                                                         |     }
                                                                                         | label_180:
    0x0000a864 move t6, zero                                                             |     t6 = 0;
    0x0000a868 b 0xa19c                                                                  |     goto label_44;
                                                                                         | label_199:
    0x0000a86c lw a1, 4(a0)                                                              |     a1 = *((a0 + 1));
    0x0000a870 lw v0, 8(a0)                                                              |     v0 = *((a0 + 2));
    0x0000a874 lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (a1 != v0) {
    0x0000a878 beq a1, v0, 0xa8b4                                                        |         
    0x0000a87c lw v0, 0x1d8(sp)                                                          |         v0 = *(var_1d8h);
                                                                                         |         if (a1 != 0) {
    0x0000a880 beqz a1, 0xa8a8                                                           |             
    0x0000a884 sw v0, (a1)                                                               |             *(a1) = v0;
    0x0000a888 lw v0, 0x1dc(sp)                                                          |             v0 = *(var_1dch);
    0x0000a88c sw v0, 4(a1)                                                              |             *((a1 + 1)) = v0;
    0x0000a890 lw v0, 0x1e0(sp)                                                          |             v0 = *(var_1e0h);
    0x0000a894 sw v0, 8(a1)                                                              |             *((a1 + 2)) = v0;
    0x0000a898 lw v0, 0x1e4(sp)                                                          |             v0 = *(var_1e4h);
    0x0000a89c sw v0, 0xc(a1)                                                            |             *((a1 + 3)) = v0;
    0x0000a8a0 lw v0, 0x1e8(sp)                                                          |             v0 = *(var_1e8h);
    0x0000a8a4 sw v0, 0x10(a1)                                                           |             *((a1 + 4)) = v0;
                                                                                         |         }
    0x0000a8a8 addiu a1, a1, 0x14                                                        |         a1 += 0x14;
    0x0000a8ac sw a1, 4(a0)                                                              |         *((a0 + 1)) = a1;
    0x0000a8b0 b 0xa1f4                                                                  |         goto label_45;
                                                                                         |     }
    0x0000a8b4 addiu a2, sp, 0x1d8                                                       |     a2 = sp + 0x1d8;
    0x0000a8b8 jalr t9                                                                   |     t9 ();
    0x0000a8bc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000a8c0 lw s3, 0xec(s0)                                                           |     s3 = *((s0 + 59));
    0x0000a8c4 lw s2, (s3)                                                               |     s2 = *(s3);
    0x0000a8c8 b 0xa1f4                                                                  |     goto label_45;
                                                                                         | label_179:
    0x0000a8cc lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
                                                                                         | label_183:
    0x0000a8d0 sw zero, 0x26c(sp)                                                        |     *(var_26ch) = 0;
    0x0000a8d4 sw zero, 0x270(sp)                                                        |     *(var_270h) = 0;
    0x0000a8d8 sw zero, 0x274(sp)                                                        |     *(var_274h) = 0;
    0x0000a8dc addiu a0, sp, 0x26c                                                       |     a0 = sp + 0x26c;
    0x0000a8e0 move a1, zero                                                             |     a1 = 0;
    0x0000a8e4 addiu a2, sp, 0x1d8                                                       |     a2 = sp + 0x1d8;
    0x0000a8e8 jalr t9                                                                   |     t9 ();
    0x0000a8ec lw s2, 0xec(s0)                                                           |     s2 = *((s0 + 59));
    0x0000a8f0 lw s1, 4(s2)                                                              |     s1 = *((s2 + 1));
    0x0000a8f4 lw v0, 8(s2)                                                              |     v0 = *((s2 + 2));
    0x0000a8f8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (s1 == v0) {
    0x0000a8fc beq s1, v0, 0xaaa8                                                        |         goto label_200;
                                                                                         |     }
    0x0000a900 lw v1, 0x270(sp)                                                          |     v1 = *(var_270h);
                                                                                         |     if (s1 == 0) {
    0x0000a904 beqz s1, 0xaac8                                                           |         goto label_201;
                                                                                         |     }
    0x0000a908 lw v0, 0x26c(sp)                                                          |     v0 = *(var_26ch);
    0x0000a90c sw zero, 4(s1)                                                            |     *((s1 + 1)) = 0;
    0x0000a910 sw zero, (s1)                                                             |     *(s1) = 0;
    0x0000a914 subu v0, v1, v0                                                           |     __asm ("subu v0, v1, v0");
    0x0000a918 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000a91c sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x0000a920 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x0000a924 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x0000a928 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a92c sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x0000a930 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a934 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x0000a938 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000a93c negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000a940 sw zero, 8(s1)                                                            |     *((s1 + 2)) = 0;
                                                                                         |     if (v0 == 0) {
    0x0000a944 beqz v0, 0xaadc                                                           |         goto label_202;
                                                                                         |     }
    0x0000a948 lui a0, 0xccc                                                             |     a0 = 0xccccccd;
    0x0000a94c ori a0, a0, 0xcccd                                                        |     
    0x0000a950 sltu v1, v0, a0                                                           |     v1 = (v0 < a0) ? 1 : 0;
    0x0000a954 sll s3, v0, 2                                                             |     s3 = v0 << 2;
                                                                                         |     if (v1 == 0) {
    0x0000a958 beqz v1, 0xaaec                                                           |         goto label_203;
                                                                                         |     }
    0x0000a95c lw t9, -0x7f38(gp)                                                        |     t9 = sym.imp.operator_new_unsigned_int_;
    0x0000a960 sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000a964 addu s3, s3, v0                                                           |     s3 += v0;
    0x0000a968 move a0, s3                                                               |     a0 = s3;
    0x0000a96c jalr t9                                                                   |     t9 ();
    0x0000a970 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000a974 lw t2, 4(s2)                                                              |     t2 = *((s2 + 1));
                                                                                         | label_50:
    0x0000a978 sw v0, (s1)                                                               |     *(s1) = v0;
    0x0000a97c sw v0, 4(s1)                                                              |     *((s1 + 1)) = v0;
    0x0000a980 lw a0, 0x26c(sp)                                                          |     a0 = *(var_26ch);
    0x0000a984 lw t1, 0x270(sp)                                                          |     t1 = *(var_270h);
    0x0000a988 addu s3, v0, s3                                                           |     s3 = v0 + s3;
    0x0000a98c sw s3, 8(s1)                                                              |     *((s1 + 2)) = s3;
                                                                                         |     if (a0 == t1) {
    0x0000a990 beq a0, t1, 0xaa18                                                        |         goto label_204;
                                                                                         |     }
    0x0000a994 addiu a1, a0, 4                                                           |     a1 = a0 + 4;
    0x0000a998 addiu v1, v0, 4                                                           |     v1 = v0 + 4;
    0x0000a99c move a3, a0                                                               |     a3 = a0;
    0x0000a9a0 move a2, v0                                                               |     a2 = v0;
                                                                                         |     do {
                                                                                         |         if (a2 != 0) {
    0x0000a9a4 beqz a2, 0xa9d4                                                           |             
    0x0000a9a8 nop                                                                       |             
    0x0000a9ac lw t0, (a3)                                                               |             t0 = *(a3);
    0x0000a9b0 sw t0, (a2)                                                               |             *(a2) = t0;
    0x0000a9b4 lw t0, (a1)                                                               |             t0 = *(a1);
    0x0000a9b8 sw t0, (v1)                                                               |             *(v1) = t0;
    0x0000a9bc lw t0, 4(a1)                                                              |             t0 = *((a1 + 1));
    0x0000a9c0 sw t0, 4(v1)                                                              |             *((v1 + 1)) = t0;
    0x0000a9c4 lw t0, 8(a1)                                                              |             t0 = *((a1 + 2));
    0x0000a9c8 sw t0, 8(v1)                                                              |             *((v1 + 2)) = t0;
    0x0000a9cc lw t0, 0xc(a1)                                                            |             t0 = *((a1 + 3));
    0x0000a9d0 sw t0, 0xc(v1)                                                            |             *((v1 + 3)) = t0;
                                                                                         |         }
    0x0000a9d4 addiu a3, a3, 0x14                                                        |         a3 += 0x14;
    0x0000a9d8 addiu a2, a2, 0x14                                                        |         a2 += 0x14;
    0x0000a9dc addiu a1, a1, 0x14                                                        |         a1 += 0x14;
    0x0000a9e0 addiu v1, v1, 0x14                                                        |         v1 += 0x14;
    0x0000a9e4 bne t1, a3, 0xa9a4                                                        |         
                                                                                         |     } while (t1 != a3);
    0x0000a9e8 addiu v1, a0, 0x14                                                        |     v1 = a0 + 0x14;
    0x0000a9ec subu v1, t1, v1                                                           |     __asm ("subu v1, t1, v1");
    0x0000a9f0 lui a1, 0xccc                                                             |     a1 = 0xccccccd;
    0x0000a9f4 ori a1, a1, 0xcccd                                                        |     
    0x0000a9f8 srl v1, v1, 2                                                             |     v1 >>= 2;
    0x0000a9fc mul v1, v1, a1                                                            |     __asm ("mul v1, v1, a1");
    0x0000aa00 ext v1, v1, 0, 0x1e                                                       |     __asm ("ext v1, v1, 0, 0x1e");
    0x0000aa04 addiu v1, v1, 1                                                           |     v1++;
    0x0000aa08 sll a1, v1, 2                                                             |     a1 = v1 << 2;
    0x0000aa0c sll v1, v1, 4                                                             |     v1 <<= 4;
    0x0000aa10 addu v1, a1, v1                                                           |     v1 = a1 + v1;
    0x0000aa14 addu v0, v0, v1                                                           |     v0 += v1;
                                                                                         | label_204:
    0x0000aa18 addiu t2, t2, 0xc                                                         |     t2 += 0xc;
    0x0000aa1c sw v0, 4(s1)                                                              |     *((s1 + 1)) = v0;
    0x0000aa20 sw t2, 4(s2)                                                              |     *((s2 + 1)) = t2;
                                                                                         | label_49:
    0x0000aa24 lw t9, -0x7ea8(gp)                                                        |     t9 = sym.imp.operator_delete_void_;
                                                                                         |     if (a0 != 0) {
    0x0000aa28 beqz a0, 0xaa38                                                           |         
    0x0000aa2c jalr t9                                                                   |         t9 ();
    0x0000aa30 nop                                                                       |         
    0x0000aa34 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000aa38 lw s3, 0xec(s0)                                                           |     s3 = *((s0 + 59));
    0x0000aa3c lw v1, 4(s3)                                                              |     v1 = *((s3 + 1));
    0x0000aa40 lw s2, (s3)                                                               |     s2 = *(s3);
    0x0000aa44 subu v1, v1, s2                                                           |     __asm ("subu v1, v1, s2");
    0x0000aa48 sra v0, v1, 2                                                             |     v0 = v1 >> 2;
    0x0000aa4c sll a0, v0, 2                                                             |     a0 = v0 << 2;
    0x0000aa50 addu v0, a0, v0                                                           |     v0 = a0 + v0;
    0x0000aa54 sll a0, v0, 4                                                             |     a0 = v0 << 4;
    0x0000aa58 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000aa5c sll a0, v0, 8                                                             |     a0 = v0 << 8;
    0x0000aa60 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000aa64 sll a0, v0, 0x10                                                          |     a0 = v0 << 0x10;
    0x0000aa68 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000aa6c negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000aa70 b 0xa240                                                                  |     goto label_46;
                                                                                         | label_185:
    0x0000aa74 move v0, zero                                                             |     v0 = 0;
    0x0000aa78 sw v0, 0x26c(sp)                                                          |     *(var_26ch) = v0;
    0x0000aa7c sw v0, 0x270(sp)                                                          |     *(var_270h) = v0;
    0x0000aa80 lw a0, (s2)                                                               |     a0 = *(s2);
    0x0000aa84 lw t1, 4(s2)                                                              |     t1 = *((s2 + 1));
    0x0000aa88 move s6, zero                                                             |     s6 = 0;
    0x0000aa8c addu s6, v0, s6                                                           |     s6 = v0 + s6;
    0x0000aa90 move t2, zero                                                             |     t2 = 0;
    0x0000aa94 sw s6, 0x274(sp)                                                          |     *(var_274h) = s6;
                                                                                         |     if (a0 != t1) {
    0x0000aa98 bne a0, t1, 0xa330                                                        |         goto label_47;
                                                                                         |     }
                                                                                         | label_187:
    0x0000aa9c move a0, v0                                                               |     a0 = v0;
    0x0000aaa0 move v1, zero                                                             |     v1 = 0;
    0x0000aaa4 b 0xa3d8                                                                  |     goto label_48;
                                                                                         | label_200:
    0x0000aaa8 lw t9, -0x7f24(gp)                                                        |     t9 = *(gp);
    0x0000aaac move a0, s2                                                               |     a0 = s2;
    0x0000aab0 move a1, s1                                                               |     a1 = s1;
    0x0000aab4 addiu a2, sp, 0x26c                                                       |     a2 = sp + 0x26c;
    0x0000aab8 jalr t9                                                                   |     t9 ();
    0x0000aabc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000aac0 lw a0, 0x26c(sp)                                                          |     a0 = *(var_26ch);
    0x0000aac4 b 0xaa24                                                                  |     goto label_49;
                                                                                         | label_201:
    0x0000aac8 move t2, zero                                                             |     t2 = 0;
    0x0000aacc addiu t2, t2, 0xc                                                         |     t2 += 0xc;
    0x0000aad0 lw a0, 0x26c(sp)                                                          |     a0 = *(var_26ch);
    0x0000aad4 sw t2, 4(s2)                                                              |     *((s2 + 1)) = t2;
    0x0000aad8 b 0xaa24                                                                  |     goto label_49;
                                                                                         | label_202:
    0x0000aadc move t2, s1                                                               |     t2 = s1;
    0x0000aae0 move s3, zero                                                             |     s3 = 0;
    0x0000aae4 move v0, zero                                                             |     v0 = 0;
    0x0000aae8 b 0xa978                                                                  |     goto label_50;
                                                                                         | label_203:
    0x0000aaec lw t9, -0x7f7c(gp)                                                        |     t9 = *(gp);
    0x0000aaf0 jalr t9                                                                   |     t9 ();
    0x0000aaf4 nop                                                                       |     
                                                                                         | label_186:
    0x0000aaf8 lw t9, -0x7f7c(gp)                                                        |     t9 = *(gp);
    0x0000aafc addiu s4, sp, 0x278                                                       |     s4 = sp + 0x278;
    0x0000ab00 jalr t9                                                                   |     t9 ();
    0x0000ab04 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ab08 move s0, a0                                                               |     s0 = a0;
    0x0000ab0c lw t9, -0x7e8c(gp)                                                        |     t9 = *(gp);
    0x0000ab10 lw a0, 0x2f4(sp)                                                          |     a0 = *(var_2f4h);
    0x0000ab14 jalr t9                                                                   |     t9 ();
    0x0000ab18 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ab1c lw t9, -0x7f18(gp)                                                        |     t9 = *(gp);
    0x0000ab20 lw a0, 0x300(sp)                                                          |     a0 = *(var_300h);
    0x0000ab24 jalr t9                                                                   |     t9 ();
    0x0000ab28 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ab2c lw t9, -0x7f18(gp)                                                        |     t9 = *(gp);
    0x0000ab30 lw a0, 0x304(sp)                                                          |     a0 = *(var_304h);
    0x0000ab34 jalr t9                                                                   |     t9 ();
    0x0000ab38 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ab3c b 0x9514                                                                  |     goto label_26;
                                                                                         | label_173:
    0x0000ab40 addiu v1, zero, 1                                                         |     v1 = 1;
    0x0000ab44 sb v1, (v0)                                                               |     *(v0) = v1;
    0x0000ab48 lw v0, -0x7fac(gp)                                                        |     v0 = *(gp);
    0x0000ab4c addiu v1, zero, 0x32                                                      |     v1 = 0x32;
    0x0000ab50 sw v1, (v0)                                                               |     *(v0) = v1;
    0x0000ab54 lw s2, 0xec(s0)                                                           |     s2 = *((s0 + 59));
                                                                                         | label_57:
    0x0000ab58 lw t9, -0x7e64(gp)                                                        |     t9 = *(gp);
    0x0000ab5c addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000ab60 lw s3, (s2)                                                               |     s3 = *(s2);
    0x0000ab64 lw a1, 4(s2)                                                              |     a1 = *((s2 + 1));
    0x0000ab68 addiu s4, sp, 0x278                                                       |     s4 = sp + 0x278;
    0x0000ab6c move a0, s3                                                               |     a0 = s3;
    0x0000ab70 jalr t9                                                                   |     t9 ();
    0x0000ab74 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ab78 sw s3, 4(s2)                                                              |     *((s2 + 1)) = s3;
    0x0000ab7c lw a2, 0xc0(s0)                                                           |     a2 = *((s0 + 48));
    0x0000ab80 lw t9, -0x7ea4(gp)                                                        |     t9 = *(gp);
    0x0000ab84 lw a1, 0x310(sp)                                                          |     a1 = *(var_310h);
    0x0000ab88 addiu a0, sp, 0x2e4                                                       |     a0 = sp + 0x2e4;
    0x0000ab8c jalr t9                                                                   |     t9 ();
    0x0000ab90 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ab94 lw t9, -0x7e7c(gp)                                                        |     t9 = *(gp);
    0x0000ab98 addiu a0, sp, 0x278                                                       |     a0 = sp + 0x278;
                                                                                         | label_91:
    0x0000ab9c jalr t9                                                                   |     t9 ();
    0x0000aba0 nop                                                                       |     
    0x0000aba4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000aba8 lw t9, -0x7f50(gp)                                                        |     t9 = *(gp);
    0x0000abac lw a0, 0x2fc(sp)                                                          |     a0 = *(var_2fch);
    0x0000abb0 jalr t9                                                                   |     t9 ();
    0x0000abb4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000abb8 lw t9, -0x7ed0(gp)                                                        |     t9 = *(gp);
    0x0000abbc lw a0, 0x2f4(sp)                                                          |     a0 = *(var_2f4h);
    0x0000abc0 jalr t9                                                                   |     t9 ();
    0x0000abc4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000abc8 lw t9, -0x7f50(gp)                                                        |     t9 = *(gp);
    0x0000abcc lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x0000abd0 jalr t9                                                                   |     t9 ();
    0x0000abd4 lw v0, 0x15c(sp)                                                          |     v0 = *(var_15ch);
    0x0000abd8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (v0 != 0) {
    0x0000abdc beqz v0, 0xabf8                                                           |         
    0x0000abe0 lw v1, (v0)                                                               |         v1 = *(v0);
    0x0000abe4 addiu a0, v1, -1                                                          |         a0 = v1 + -1;
    0x0000abe8 sw a0, (v0)                                                               |         *(v0) = a0;
    0x0000abec addiu v0, zero, 1                                                         |         v0 = 1;
    0x0000abf0 lw t9, -0x7f5c(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (v1 == v0) {
    0x0000abf4 beq v1, v0, 0xacf0                                                        |             goto label_205;
                                                                                         |         }
                                                                                         |     }
                                                                                         | label_53:
    0x0000abf8 lw v0, 0x14c(sp)                                                          |     v0 = *(var_14ch);
    0x0000abfc sw zero, 0x168(sp)                                                        |     *(var_168h) = 0;
    0x0000ac00 sw zero, 0x164(sp)                                                        |     *(var_164h) = 0;
    0x0000ac04 sw zero, 0x160(sp)                                                        |     *(var_160h) = 0;
    0x0000ac08 sw zero, 0x158(sp)                                                        |     *(var_158h) = 0;
                                                                                         |     if (v0 <= 0) {
    0x0000ac0c blez v0, 0xac30                                                           |         goto label_206;
                                                                                         |     }
    0x0000ac10 lw v1, 0x170(sp)                                                          |     v1 = *(var_170h);
    0x0000ac14 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x0000ac18 sw zero, (v1)                                                             |         *(v1) = 0;
    0x0000ac1c lw a0, 0x14c(sp)                                                          |         a0 = *(var_14ch);
    0x0000ac20 addiu v0, v0, 1                                                           |         v0++;
    0x0000ac24 slt a0, v0, a0                                                            |         a0 = (v0 < a0) ? 1 : 0;
    0x0000ac28 addiu v1, v1, 4                                                           |         v1 += 4;
    0x0000ac2c bnez a0, 0xac18                                                           |         
                                                                                         |     } while (a0 != 0);
                                                                                         | label_206:
    0x0000ac30 lw a0, 0x174(sp)                                                          |     a0 = *(var_174h);
    0x0000ac34 lw s5, 0x2ec(sp)                                                          |     s5 = *(var_2ech);
    0x0000ac38 sw zero, 0x15c(sp)                                                        |     *(var_15ch) = 0;
                                                                                         |     if (a0 != s5) {
    0x0000ac3c beq a0, s5, 0xac50                                                        |         
    0x0000ac40 lw t9, -0x7f94(gp)                                                        |         t9 = *(gp);
    0x0000ac44 addiu s1, sp, 0x2c0                                                       |         s1 = sp + aav.0x000002c0;
    0x0000ac48 jalr t9                                                                   |         t9 ();
    0x0000ac4c lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000ac50 lw v0, 0x194(sp)                                                          |     v0 = *(var_194h);
                                                                                         |     if (v0 != 0) {
    0x0000ac54 beqz v0, 0xac74                                                           |         
    0x0000ac58 nop                                                                       |         
    0x0000ac5c lw v1, (v0)                                                               |         v1 = *(v0);
    0x0000ac60 addiu a0, v1, -1                                                          |         a0 = v1 + -1;
    0x0000ac64 sw a0, (v0)                                                               |         *(v0) = a0;
    0x0000ac68 addiu v0, zero, 1                                                         |         v0 = 1;
    0x0000ac6c lw t9, -0x7f5c(gp)                                                        |         t9 = *(gp);
                                                                                         |         if (v1 == v0) {
    0x0000ac70 beq v1, v0, 0xad04                                                        |             goto label_207;
                                                                                         |         }
                                                                                         |     }
                                                                                         | label_54:
    0x0000ac74 lw v0, 0x184(sp)                                                          |     v0 = *(var_184h);
    0x0000ac78 sw zero, 0x1a0(sp)                                                        |     *(var_1a0h) = 0;
    0x0000ac7c sw zero, 0x19c(sp)                                                        |     *(var_19ch) = 0;
    0x0000ac80 sw zero, 0x198(sp)                                                        |     *(var_198h) = 0;
    0x0000ac84 sw zero, 0x190(sp)                                                        |     *(var_190h) = 0;
                                                                                         |     if (v0 <= 0) {
    0x0000ac88 blez v0, 0xacac                                                           |         goto label_208;
                                                                                         |     }
    0x0000ac8c lw v1, 0x1a8(sp)                                                          |     v1 = *(var_1a8h);
    0x0000ac90 move v0, zero                                                             |     v0 = 0;
                                                                                         |     do {
    0x0000ac94 sw zero, (v1)                                                             |         *(v1) = 0;
    0x0000ac98 lw a0, 0x184(sp)                                                          |         a0 = *(var_184h);
    0x0000ac9c addiu v0, v0, 1                                                           |         v0++;
    0x0000aca0 slt a0, v0, a0                                                            |         a0 = (v0 < a0) ? 1 : 0;
    0x0000aca4 addiu v1, v1, 4                                                           |         v1 += 4;
    0x0000aca8 bnez a0, 0xac94                                                           |         
                                                                                         |     } while (a0 != 0);
                                                                                         | label_208:
    0x0000acac lw a0, 0x1ac(sp)                                                          |     a0 = *(var_1ach);
    0x0000acb0 lw s3, 0x2f0(sp)                                                          |     s3 = *(var_2f0h);
    0x0000acb4 sw zero, 0x194(sp)                                                        |     *(var_194h) = 0;
                                                                                         |     if (a0 == s3) {
    0x0000acb8 beq a0, s3, 0x98a4                                                        |         goto label_38;
                                                                                         |     }
    0x0000acbc lw t9, -0x7f94(gp)                                                        |     t9 = *(gp);
    0x0000acc0 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000acc4 jalr t9                                                                   |     t9 ();
    0x0000acc8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000accc b 0x98a4                                                                  |     goto label_38;
                                                                                         | label_189:
    0x0000acd0 move v1, zero                                                             |     v1 = 0;
    0x0000acd4 move v0, zero                                                             |     v0 = 0;
    0x0000acd8 b 0xa5e8                                                                  |     goto label_51;
                                                                                         | label_191:
    0x0000acdc lw t9, -0x7f5c(gp)                                                        |     t9 = *(gp);
    0x0000ace0 lw a0, 0x300(sp)                                                          |     a0 = *(var_300h);
    0x0000ace4 jalr t9                                                                   |     t9 ();
    0x0000ace8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000acec b 0xa648                                                                  |     goto label_52;
                                                                                         | label_205:
    0x0000acf0 lw a0, 0x300(sp)                                                          |     a0 = *(var_300h);
    0x0000acf4 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000acf8 jalr t9                                                                   |     t9 ();
    0x0000acfc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ad00 b 0xabf8                                                                  |     goto label_53;
                                                                                         | label_207:
    0x0000ad04 lw a0, 0x304(sp)                                                          |     a0 = *(var_304h);
    0x0000ad08 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000ad0c jalr t9                                                                   |     t9 ();
    0x0000ad10 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ad14 b 0xac74                                                                  |     goto label_54;
                                                                                         | label_188:
    0x0000ad18 lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
    0x0000ad1c move a0, s1                                                               |     a0 = s1;
    0x0000ad20 addiu a2, a2, 4                                                           |     a2 += 4;
    0x0000ad24 jalr t9                                                                   |     t9 ();
    0x0000ad28 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ad2c lw v0, 0x26c(sp)                                                          |     v0 = *(var_26ch);
    0x0000ad30 b 0xa460                                                                  |     goto label_55;
                                                                                         | label_193:
    0x0000adc4 lw t9, -0x7f5c(gp)                                                        |     t9 = *(gp);
    0x0000adc8 lw a0, 0x304(sp)                                                          |     a0 = *(var_304h);
    0x0000adcc jalr t9                                                                   |     t9 ();
    0x0000add0 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000add4 b 0xa6c4                                                                  |     goto label_56;
                                                                                         | label_137:
    0x0000adec lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
    0x0000adf0 addiu s2, sp, 0x26c                                                       |     s2 = sp + 0x26c;
    0x0000adf4 move a0, s2                                                               |     a0 = s2;
    0x0000adf8 addiu a2, sp, 0x1d8                                                       |     a2 = sp + 0x1d8;
    0x0000adfc jalr t9                                                                   |     t9 ();
    0x0000ae00 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ae04 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x0000ae08 b 0x8ed8                                                                  |     goto label_9;
                                                                                         | label_198:
    0x0000ae18 lbu v0, (v0)                                                              |     v0 = *(v0);
    0x0000ae1c sw a0, (v1)                                                               |     *(v1) = a0;
                                                                                         |     if (v0 == 0) {
    0x0000ae20 beqz v0, 0x9ee8                                                           |         goto label_41;
                                                                                         |     }
    0x0000ae24 lw s2, 0xec(s0)                                                           |     s2 = *((s0 + 59));
    0x0000ae28 b 0xab58                                                                  |     goto label_57;
                                                                                         | label_136:
    0x0000ae2c lw v0, -0x7ef0(gp)                                                        |     v0 = *(gp);
    0x0000ae30 lbu v1, (v0)                                                              |     v1 = *(v0);
    0x0000ae34 lw v1, -0x7f70(gp)                                                        |     v1 = *(gp);
                                                                                         |     if (v1 == 0) {
    0x0000ae38 beqz v1, 0xc450                                                           |         goto label_209;
                                                                                         |     }
    0x0000ae3c lw v1, -0x7fac(gp)                                                        |     v1 = *(gp);
                                                                                         | label_138:
    0x0000ae40 lw a0, (v1)                                                               |     a0 = *(v1);
    0x0000ae44 addiu a0, a0, -1                                                          |     a0 += -1;
                                                                                         |     if (a0 != 0) {
    0x0000ae48 bnez a0, 0xc400                                                           |         goto label_210;
                                                                                         |     }
    0x0000ae4c sb zero, (v0)                                                             |     *(v0) = 0;
    0x0000ae50 lw v0, -0x7f70(gp)                                                        |     v0 = *(gp);
    0x0000ae54 addiu v1, zero, 0x12c                                                     |     v1 = obj._DYNAMIC;
    0x0000ae58 sw v1, (v0)                                                               |     *(v0) = v1;
                                                                                         | label_90:
    0x0000ae5c lw a3, 0xfc(s0)                                                           |     a3 = *((s0 + 63));
                                                                                         | label_140:
    0x0000ae60 lw t0, 0xec(s0)                                                           |     t0 = *((s0 + 59));
    0x0000ae64 move s1, zero                                                             |     s1 = 0;
    0x0000ae68 lw v0, (a3)                                                               |     v0 = *(a3);
    0x0000ae6c move t9, t0                                                               |     t9 = t0;
    0x0000ae70 move s7, a3                                                               |     s7 = a3;
                                                                                         | label_58:
    0x0000ae74 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000ae78 sll t2, v0, 4                                                             |     t2 = v0 << 4;
    0x0000ae7c subu a0, t2, v1                                                           |     __asm ("subu a0, t2, v1");
    0x0000ae80 addu a0, t0, a0                                                           |     a0 = t0 + a0;
    0x0000ae84 lw t1, (a0)                                                               |     t1 = *(a0);
                                                                                         | label_72:
    0x0000ae88 subu a0, t2, v1                                                           |     __asm ("subu a0, t2, v1");
    0x0000ae8c addu a0, t0, a0                                                           |     a0 = t0 + a0;
    0x0000ae90 lw s2, 4(a0)                                                              |     s2 = *((a0 + 1));
    0x0000ae94 subu s2, s2, t1                                                           |     __asm ("subu s2, s2, t1");
    0x0000ae98 sra s2, s2, 2                                                             |     s2 >>= 2;
    0x0000ae9c sltu a0, s1, s2                                                           |     a0 = (s1 < s2) ? 1 : 0;
    0x0000aea0 sll s4, s1, 2                                                             |     s4 = s1 << 2;
                                                                                         |     if (a0 == 0) {
    0x0000aea4 beqz a0, 0xb0f0                                                           |         goto label_211;
                                                                                         |     }
    0x0000aea8 addu t1, t1, s4                                                           |     t1 += s4;
    0x0000aeac lw s2, (t1)                                                               |     s2 = *(t1);
    0x0000aeb0 lbu v1, 0xc(s2)                                                           |     v1 = *((s2 + 12));
    0x0000aeb4 move s3, zero                                                             |     s3 = 0;
                                                                                         |     if (v1 != 0) {
    0x0000aeb8 bnez v1, 0xafc0                                                           |         goto label_212;
                                                                                         |     }
    0x0000aebc lw a1, 4(s2)                                                              |     a1 = *((s2 + 1));
    0x0000aec0 lw v1, (s2)                                                               |     v1 = *(s2);
    0x0000aec4 subu a1, a1, v1                                                           |     __asm ("subu a1, a1, v1");
                                                                                         | label_59:
    0x0000aec8 sra v0, a1, 2                                                             |     v0 = a1 >> 2;
    0x0000aecc sll a0, v0, 1                                                             |     a0 = v0 << 1;
    0x0000aed0 addu v0, a0, v0                                                           |     v0 = a0 + v0;
    0x0000aed4 sll a0, v0, 4                                                             |     a0 = v0 << 4;
    0x0000aed8 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000aedc sll a0, v0, 8                                                             |     a0 = v0 << 8;
    0x0000aee0 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000aee4 sll a0, v0, 0x10                                                          |     a0 = v0 << 0x10;
    0x0000aee8 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000aeec negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000aef0 sltu a0, s3, v0                                                           |     a0 = (s3 < v0) ? 1 : 0;
                                                                                         |     if (a0 == 0) {
    0x0000aef4 beqz a0, 0xaf6c                                                           |         goto label_213;
                                                                                         |     }
    0x0000aef8 nop                                                                       |     
                                                                                         |     do {
    0x0000aefc sll v0, s3, 4                                                             |         v0 = s3 << 4;
    0x0000af00 sll a2, s3, 2                                                             |         a2 = s3 << 2;
    0x0000af04 addu a2, a2, v0                                                           |         a2 += v0;
    0x0000af08 addu a2, v1, a2                                                           |         a2 = v1 + a2;
    0x0000af0c lw v0, (a2)                                                               |         v0 = *(a2);
    0x0000af10 lw t0, 0xe4(s0)                                                           |         t0 = *((s0 + 57));
    0x0000af14 addiu v0, v0, 1                                                           |         v0++;
    0x0000af18 sw v0, (a2)                                                               |         *(a2) = v0;
    0x0000af1c lw a0, (a3)                                                               |         a0 = *(a3);
    0x0000af20 sll a0, a0, 2                                                             |         a0 <<= 2;
    0x0000af24 addu a0, t0, a0                                                           |         a0 = t0 + a0;
    0x0000af28 lw a0, (a0)                                                               |         a0 = *(a0);
    0x0000af2c slt v0, v0, a0                                                            |         v0 = (v0 < a0) ? 1 : 0;
    0x0000af30 sra v0, a1, 2                                                             |         v0 = a1 >> 2;
                                                                                         |         if (v0 == 0) {
    0x0000af34 beqz v0, 0xaf94                                                           |             goto label_214;
                                                                                         |         }
    0x0000af38 sll a0, v0, 1                                                             |         a0 = v0 << 1;
    0x0000af3c addu v0, a0, v0                                                           |         v0 = a0 + v0;
    0x0000af40 sll a0, v0, 4                                                             |         a0 = v0 << 4;
    0x0000af44 addu v0, v0, a0                                                           |         v0 += a0;
    0x0000af48 sll a0, v0, 8                                                             |         a0 = v0 << 8;
    0x0000af4c addu v0, v0, a0                                                           |         v0 += a0;
    0x0000af50 sll a0, v0, 0x10                                                          |         a0 = v0 << 0x10;
    0x0000af54 addu v0, v0, a0                                                           |         v0 += a0;
    0x0000af58 addiu s3, s3, 1                                                           |         s3++;
    0x0000af5c negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x0000af60 sltu a0, s3, v0                                                           |         a0 = (s3 < v0) ? 1 : 0;
    0x0000af64 bnez a0, 0xaefc                                                           |         
                                                                                         |     } while (a0 != 0);
    0x0000af68 nop                                                                       |     
                                                                                         | label_213:
    0x0000af6c lw t0, 0xec(s0)                                                           |     t0 = *((s0 + 59));
                                                                                         |     if (v0 == 0) {
                                                                                         | label_60:
    0x0000af70 bnez v0, 0xaf84                                                           |         
    0x0000af74 nop                                                                       |         
    0x0000af78 lw v0, 0x14(s2)                                                           |         v0 = *((s2 + 5));
                                                                                         |         if (v0 <= 0) {
    0x0000af7c blez v0, 0xba94                                                           |             goto label_215;
                                                                                         |         }
    0x0000af80 nop                                                                       |         
                                                                                         |     }
    0x0000af84 lw v0, (a3)                                                               |     v0 = *(a3);
    0x0000af88 addiu s1, s1, 1                                                           |     s1++;
    0x0000af8c move t9, t0                                                               |     t9 = t0;
    0x0000af90 b 0xae74                                                                  |     goto label_58;
                                                                                         | label_214:
    0x0000af94 lw t9, -0x7efc(gp)                                                        |     t9 = *(gp);
    0x0000af98 move a1, s2                                                               |     a1 = s2;
    0x0000af9c addiu a0, sp, 0x2e8                                                       |     a0 = sp + 0x2e8;
    0x0000afa0 jalr t9                                                                   |     t9 ();
    0x0000afa4 lw a3, 0xfc(s0)                                                           |     a3 = *((s0 + 63));
    0x0000afa8 lw a1, 4(s2)                                                              |     a1 = *((s2 + 1));
    0x0000afac lw v1, (s2)                                                               |     v1 = *(s2);
    0x0000afb0 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000afb4 move s7, a3                                                               |     s7 = a3;
    0x0000afb8 subu a1, a1, v1                                                           |     __asm ("subu a1, a1, v1");
    0x0000afbc b 0xaec8                                                                  |     goto label_59;
                                                                                         | label_212:
    0x0000afc0 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (v0 != 0) {
    0x0000afc4 bnez v0, 0xc3e0                                                           |         goto label_216;
                                                                                         |     }
    0x0000afc8 lw a2, (s2)                                                               |     a2 = *(s2);
    0x0000afcc lw v1, 4(s2)                                                              |     v1 = *((s2 + 1));
    0x0000afd0 lw a0, 0xe8(s0)                                                           |     a0 = *((s0 + 58));
    0x0000afd4 subu v0, v1, a2                                                           |     __asm ("subu v0, v1, a2");
    0x0000afd8 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000afdc sll a1, v0, 1                                                             |     a1 = v0 << 1;
    0x0000afe0 addu v0, a1, v0                                                           |     v0 = a1 + v0;
    0x0000afe4 sll a1, v0, 4                                                             |     a1 = v0 << 4;
    0x0000afe8 addu v0, v0, a1                                                           |     v0 += a1;
    0x0000afec sll a1, v0, 8                                                             |     a1 = v0 << 8;
    0x0000aff0 addu v0, v0, a1                                                           |     v0 += a1;
    0x0000aff4 sll a1, v0, 0x10                                                          |     a1 = v0 << 0x10;
    0x0000aff8 lw a0, (a0)                                                               |     a0 = *(a0);
    0x0000affc addu v0, v0, a1                                                           |     v0 += a1;
    0x0000b000 negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000b004 slt a0, a0, v0                                                            |     a0 = (a0 < v0) ? 1 : 0;
                                                                                         |     if (a0 == 0) {
    0x0000b008 beqz a0, 0xc3d0                                                           |         goto label_217;
                                                                                         |     }
    0x0000b00c nop                                                                       |     
                                                                                         |     do {
    0x0000b010 lw t9, -0x7efc(gp)                                                        |         t9 = *(gp);
    0x0000b014 addiu a0, sp, 0x2e8                                                       |         a0 = sp + 0x2e8;
    0x0000b018 move a1, s2                                                               |         a1 = s2;
    0x0000b01c jalr t9                                                                   |         t9 ();
    0x0000b020 lw a2, (s2)                                                               |         a2 = *(s2);
    0x0000b024 lw v1, 4(s2)                                                              |         v1 = *((s2 + 1));
    0x0000b028 lw a3, 0xfc(s0)                                                           |         a3 = *((s0 + 63));
    0x0000b02c lw a1, 0xe8(s0)                                                           |         a1 = *((s0 + 58));
    0x0000b030 subu v0, v1, a2                                                           |         __asm ("subu v0, v1, a2");
    0x0000b034 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x0000b038 sll a0, v0, 1                                                             |         a0 = v0 << 1;
    0x0000b03c addu v0, a0, v0                                                           |         v0 = a0 + v0;
    0x0000b040 lw a0, (a3)                                                               |         a0 = *(a3);
    0x0000b044 sll t0, v0, 4                                                             |         t0 = v0 << 4;
    0x0000b048 addu v0, v0, t0                                                           |         v0 += t0;
    0x0000b04c sll t0, v0, 8                                                             |         t0 = v0 << 8;
    0x0000b050 sll a0, a0, 2                                                             |         a0 <<= 2;
    0x0000b054 addu v0, v0, t0                                                           |         v0 += t0;
    0x0000b058 addu a0, a1, a0                                                           |         a0 = a1 + a0;
    0x0000b05c lw a0, (a0)                                                               |         a0 = *(a0);
    0x0000b060 sll a1, v0, 0x10                                                          |         a1 = v0 << 0x10;
    0x0000b064 addu v0, v0, a1                                                           |         v0 += a1;
    0x0000b068 negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x0000b06c slt a0, a0, v0                                                            |         a0 = (a0 < v0) ? 1 : 0;
    0x0000b070 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x0000b074 bnez a0, 0xb010                                                           |         
                                                                                         |     } while (a0 != 0);
    0x0000b078 lw t1, 0x10(s2)                                                           |     t1 = *((s2 + 4));
    0x0000b07c lw t0, 0xec(s0)                                                           |     t0 = *((s0 + 59));
                                                                                         |     if (v0 == 0) {
                                                                                         | label_89:
    0x0000b080 beqz v0, 0xb0b0                                                           |         goto label_218;
                                                                                         |     }
    0x0000b084 nop                                                                       |     
    0x0000b088 sll a1, v0, 2                                                             |     a1 = v0 << 2;
    0x0000b08c sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000b090 addu a1, a1, v0                                                           |     a1 += v0;
    0x0000b094 addu a1, a2, a1                                                           |     a1 = a2 + a1;
    0x0000b098 move v0, a2                                                               |     v0 = a2;
                                                                                         |     do {
    0x0000b09c lw a0, (v0)                                                               |         a0 = *(v0);
    0x0000b0a0 addiu v0, v0, 0x14                                                        |         v0 += 0x14;
    0x0000b0a4 addiu a0, a0, 1                                                           |         a0++;
    0x0000b0a8 sw a0, -0x14(v0)                                                          |         *((v0 - 5)) = a0;
    0x0000b0ac bne v0, a1, 0xb09c                                                        |         
                                                                                         |     } while (v0 != a1);
                                                                                         | label_218:
    0x0000b0b0 subu v0, v1, a2                                                           |     __asm ("subu v0, v1, a2");
    0x0000b0b4 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000b0b8 sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x0000b0bc addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x0000b0c0 sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x0000b0c4 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000b0c8 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x0000b0cc addu v0, v0, v1                                                           |     v0 += v1;
    0x0000b0d0 sll v1, v0, 0x10                                                          |     v1 = v0 << 0x10;
    0x0000b0d4 slti t1, t1, 0x15                                                         |     t1 = (t1 < 0x15) ? 1 : 0;
    0x0000b0d8 addu v0, v0, v1                                                           |     v0 += v1;
                                                                                         |     if (t1 == 0) {
    0x0000b0dc bnez t1, 0xb0e4                                                           |         
    0x0000b0e0 sb zero, 0xc(s2)                                                          |         *((s2 + 12)) = 0;
                                                                                         |     }
    0x0000b0e4 negu v0, v0                                                               |     __asm ("negu v0, v0");
    0x0000b0e8 move s7, a3                                                               |     s7 = a3;
    0x0000b0ec b 0xaf70                                                                  |     goto label_60;
                                                                                         | label_211:
    0x0000b0f0 lw fp, 0x26c(sp)                                                          |     fp = *(var_26ch);
    0x0000b0f4 lw a0, 0x270(sp)                                                          |     a0 = *(var_270h);
    0x0000b0f8 subu a0, a0, fp                                                           |     __asm ("subu a0, a0, fp");
    0x0000b0fc sra a0, a0, 2                                                             |     a0 >>= 2;
    0x0000b100 sll a1, a0, 1                                                             |     a1 = a0 << 1;
    0x0000b104 addu a0, a1, a0                                                           |     a0 = a1 + a0;
    0x0000b108 sll a1, a0, 4                                                             |     a1 = a0 << 4;
    0x0000b10c addu a0, a0, a1                                                           |     a0 += a1;
    0x0000b110 sll a1, a0, 8                                                             |     a1 = a0 << 8;
    0x0000b114 addu a0, a0, a1                                                           |     a0 += a1;
    0x0000b118 sll a1, a0, 0x10                                                          |     a1 = a0 << 0x10;
    0x0000b11c addu a0, a0, a1                                                           |     a0 += a1;
                                                                                         |     if (a0 == 0) {
    0x0000b120 beqz a0, 0xb368                                                           |         goto label_219;
                                                                                         |     }
    0x0000b124 nop                                                                       |     
    0x0000b128 sw zero, 0x30c(sp)                                                        |     *(var_30ch) = 0;
    0x0000b12c sw zero, 0x308(sp)                                                        |     *(var_308h) = 0;
                                                                                         |     do {
    0x0000b130 lw s3, 0x30c(sp)                                                          |         s3 = *(var_30ch);
    0x0000b134 addu v0, fp, s3                                                           |         v0 = fp + s3;
    0x0000b138 lw ra, (v0)                                                               |         ra = *(v0);
    0x0000b13c sw ra, 0x1d8(sp)                                                          |         *(var_1d8h) = ra;
    0x0000b140 lw t2, 4(v0)                                                              |         t2 = *((v0 + 1));
    0x0000b144 lw t5, 8(v0)                                                              |         t5 = *((v0 + 2));
    0x0000b148 lw t3, 0xc(v0)                                                            |         t3 = *((v0 + 3));
    0x0000b14c lw t6, 0x10(v0)                                                           |         t6 = *((v0 + 4));
    0x0000b150 sw t2, 0x1dc(sp)                                                          |         *(var_1dch) = t2;
    0x0000b154 sw t5, 0x1e0(sp)                                                          |         *(var_1e0h) = t5;
    0x0000b158 sw t3, 0x1e4(sp)                                                          |         *(var_1e4h) = t3;
    0x0000b15c sw t6, 0x1e8(sp)                                                          |         *(var_1e8h) = t6;
    0x0000b160 lw t8, (s7)                                                               |         t8 = *(s7);
    0x0000b164 sll v0, t8, 2                                                             |         v0 = t8 << 2;
    0x0000b168 sll v1, t8, 4                                                             |         v1 = t8 << 4;
    0x0000b16c subu v1, v1, v0                                                           |         __asm ("subu v1, v1, v0");
    0x0000b170 addu v1, t9, v1                                                           |         v1 = t9 + v1;
    0x0000b174 lw v0, (v1)                                                               |         v0 = *(v1);
    0x0000b178 lw s2, 4(v1)                                                              |         s2 = *((v1 + 1));
    0x0000b17c subu s2, s2, v0                                                           |         __asm ("subu s2, s2, v0");
    0x0000b180 sra s2, s2, 2                                                             |         s2 >>= 2;
                                                                                         |         if (s2 == 0) {
    0x0000b184 beqz s2, 0xb94c                                                           |             goto label_220;
                                                                                         |         }
    0x0000b188 nop                                                                       |         
    0x0000b18c move v1, zero                                                             |         v1 = 0;
    0x0000b190 addu t3, t2, t3                                                           |         t3 = t2 + t3;
    0x0000b194 addu t6, t5, t6                                                           |         t6 = t5 + t6;
                                                                                         | label_66:
    0x0000b198 lw a0, (v0)                                                               |         a0 = *(v0);
    0x0000b19c lw a1, 4(a0)                                                              |         a1 = *((a0 + 1));
    0x0000b1a0 lw t0, (a0)                                                               |         t0 = *(a0);
    0x0000b1a4 subu a3, a1, t0                                                           |         __asm ("subu a3, a1, t0");
    0x0000b1a8 sra a3, a3, 2                                                             |         a3 >>= 2;
    0x0000b1ac sll a2, a3, 1                                                             |         a2 = a3 << 1;
    0x0000b1b0 addu a3, a2, a3                                                           |         a3 = a2 + a3;
    0x0000b1b4 sll a2, a3, 4                                                             |         a2 = a3 << 4;
    0x0000b1b8 addu a3, a3, a2                                                           |         a3 += a2;
    0x0000b1bc sll a2, a3, 8                                                             |         a2 = a3 << 8;
    0x0000b1c0 addu a3, a3, a2                                                           |         a3 += a2;
    0x0000b1c4 sll a2, a3, 0x10                                                          |         a2 = a3 << 0x10;
    0x0000b1c8 addu a3, a3, a2                                                           |         a3 += a2;
    0x0000b1cc nor a3, zero, a3                                                          |         __asm ("nor a3, zero, a3");
    0x0000b1d0 lbu t4, 0xc(a0)                                                           |         t4 = *((a0 + 12));
                                                                                         |         if (a3 < 0) {
    0x0000b1d4 bltz a3, 0xb940                                                           |             goto label_221;
                                                                                         |         }
    0x0000b1d8 sll a2, a3, 2                                                             |         a2 = a3 << 2;
    0x0000b1dc sll a3, a3, 4                                                             |         a3 <<= 4;
    0x0000b1e0 addu a2, a2, a3                                                           |         a2 += a3;
    0x0000b1e4 addu a2, t0, a2                                                           |         a2 = t0 + a2;
    0x0000b1e8 lw a3, 4(a2)                                                              |         a3 = *((a2 + 1));
    0x0000b1ec lw t1, 0xc(a2)                                                            |         t1 = *((a2 + 3));
    0x0000b1f0 lw t0, 8(a2)                                                              |         t0 = *((a2 + 2));
    0x0000b1f4 slt s1, a3, t2                                                            |         s1 = (a3 < t2) ? 1 : 0;
    0x0000b1f8 addu t1, a3, t1                                                           |         t1 = a3 + t1;
    0x0000b1fc slt s3, t3, t1                                                            |         s3 = (t3 < t1) ? 1 : 0;
    0x0000b200 lw t7, 0x10(a2)                                                           |         t7 = *((a2 + 4));
    0x0000b204 move s4, t3                                                               |         s4 = t3;
    0x0000b208 move s5, t2                                                               |         s5 = t2;
                                                                                         |         if (s3 != 0) {
    0x0000b20c movz s4, t1, s3                                                           |             s4 = t1;
                                                                                         |         }
                                                                                         |         if (s1 != 0) {
    0x0000b210 movz s5, a3, s1                                                           |             s5 = a3;
                                                                                         |         }
    0x0000b214 subu s1, s4, s5                                                           |         __asm ("subu s1, s4, s5");
    0x0000b218 addu t7, t0, t7                                                           |         t7 = t0 + t7;
                                                                                         |         if (s1 <= 0) {
    0x0000b21c blez s1, 0xb9e4                                                           |             goto label_222;
                                                                                         |         }
    0x0000b220 slt s4, t6, t7                                                            |         s4 = (t6 < t7) ? 1 : 0;
    0x0000b224 move s5, t6                                                               |         s5 = t6;
                                                                                         |         if (s4 != 0) {
    0x0000b228 movz s5, t7, s4                                                           |             s5 = t7;
                                                                                         |         }
    0x0000b22c slt s3, t0, t5                                                            |         s3 = (t0 < t5) ? 1 : 0;
    0x0000b230 move s4, s5                                                               |         s4 = s5;
    0x0000b234 move s5, t5                                                               |         s5 = t5;
                                                                                         |         if (s3 != 0) {
    0x0000b238 movz s5, t0, s3                                                           |             s5 = t0;
                                                                                         |         }
    0x0000b23c subu s3, s4, s5                                                           |         __asm ("subu s3, s4, s5");
                                                                                         |         if (s3 <= 0) {
    0x0000b240 blez s3, 0xb9e4                                                           |             goto label_222;
                                                                                         |         }
    0x0000b244 nop                                                                       |         
                                                                                         | label_68:
    0x0000b248 lw a2, (a2)                                                               |         a2 = *(a2);
    0x0000b24c slt s6, t1, t3                                                            |         s6 = (t1 < t3) ? 1 : 0;
                                                                                         |         if (a2 == 0) {
    0x0000b250 beqz a2, 0xb940                                                           |             goto label_221;
                                                                                         |         }
    0x0000b254 slt s5, t2, a3                                                            |         s5 = (t2 < a3) ? 1 : 0;
    0x0000b258 slt s4, t7, t6                                                            |         s4 = (t7 < t6) ? 1 : 0;
    0x0000b25c slt a2, t5, t0                                                            |         a2 = (t5 < t0) ? 1 : 0;
                                                                                         |         if (s6 == 0) {
    0x0000b260 movn t1, t3, s6                                                           |             t1 = t3;
                                                                                         |         }
                                                                                         |         if (s5 == 0) {
    0x0000b264 movn a3, t2, s5                                                           |             a3 = t2;
                                                                                         |         }
                                                                                         |         if (s4 == 0) {
    0x0000b268 movn t7, t6, s4                                                           |             t7 = t6;
                                                                                         |         }
                                                                                         |         if (a2 == 0) {
    0x0000b26c movn t0, t5, a2                                                           |             t0 = t5;
                                                                                         |         }
    0x0000b270 subu a3, t1, a3                                                           |         __asm ("subu a3, t1, a3");
    0x0000b274 subu t0, t7, t0                                                           |         __asm ("subu t0, t7, t0");
                                                                                         |         if (t8 != 0) {
    0x0000b278 bnez t8, 0xb9f0                                                           |             goto label_223;
                                                                                         |         }
    0x0000b27c mul s1, s3, s1                                                            |         __asm ("mul s1, s3, s1");
                                                                                         |         if (t4 != 0) {
    0x0000b280 bnez t4, 0xba38                                                           |             goto label_224;
                                                                                         |         }
    0x0000b284 mul a2, a3, t0                                                            |         __asm ("mul a2, a3, t0");
    0x0000b288 sll t0, s1, 1                                                             |         t0 = s1 << 1;
    0x0000b28c sll s1, s1, 3                                                             |         s1 <<= 3;
    0x0000b290 addu t0, t0, s1                                                           |         t0 += s1;
    0x0000b294 sll a3, a2, 1                                                             |         a3 = a2 << 1;
    0x0000b298 slt a3, t0, a3                                                            |         a3 = (t0 < a3) ? 1 : 0;
    0x0000b29c sll a2, a2, 2                                                             |         a2 <<= 2;
                                                                                         |         if (a3 != 0) {
    0x0000b2a0 bnez a3, 0xb934                                                           |             goto label_225;
                                                                                         |         }
    0x0000b2a4 slt t0, t0, a2                                                            |         t0 = (t0 < a2) ? 1 : 0;
                                                                                         |         if (t0 == 0) {
    0x0000b2a8 beqz t0, 0xba0c                                                           |             goto label_226;
                                                                                         |         }
    0x0000b2ac nop                                                                       |         
    0x0000b2b0 lw v0, 8(a0)                                                              |         v0 = *((a0 + 2));
    0x0000b2b4 addiu v1, zero, 1                                                         |         v1 = 1;
    0x0000b2b8 sb v1, 0xc(a0)                                                            |         *((a0 + 12)) = v1;
                                                                                         |         if (a1 == v0) {
    0x0000b2bc beq a1, v0, 0xba18                                                        |             goto label_227;
                                                                                         |         }
                                                                                         |         if (a1 != 0) {
                                                                                         | label_70:
    0x0000b2c0 beqz a1, 0xb2ec                                                           |             
    0x0000b2c4 nop                                                                       |             
    0x0000b2c8 sw ra, (a1)                                                               |             *(a1) = ra;
    0x0000b2cc lw v0, 0x1dc(sp)                                                          |             v0 = *(var_1dch);
    0x0000b2d0 sw v0, 4(a1)                                                              |             *((a1 + 1)) = v0;
    0x0000b2d4 lw v0, 0x1e0(sp)                                                          |             v0 = *(var_1e0h);
    0x0000b2d8 sw v0, 8(a1)                                                              |             *((a1 + 2)) = v0;
    0x0000b2dc lw v0, 0x1e4(sp)                                                          |             v0 = *(var_1e4h);
    0x0000b2e0 sw v0, 0xc(a1)                                                            |             *((a1 + 3)) = v0;
    0x0000b2e4 lw v0, 0x1e8(sp)                                                          |             v0 = *(var_1e8h);
    0x0000b2e8 sw v0, 0x10(a1)                                                           |             *((a1 + 4)) = v0;
                                                                                         |         }
    0x0000b2ec addiu a1, a1, 0x14                                                        |         a1 += 0x14;
    0x0000b2f0 sw a1, 4(a0)                                                              |         *((a0 + 1)) = a1;
                                                                                         | label_67:
    0x0000b2f4 lw v0, 0x270(sp)                                                          |         v0 = *(var_270h);
    0x0000b2f8 lw s3, 0x308(sp)                                                          |         s3 = *(var_308h);
    0x0000b2fc lw s4, 0x30c(sp)                                                          |         s4 = *(var_30ch);
    0x0000b300 subu v0, v0, fp                                                           |         __asm ("subu v0, v0, fp");
    0x0000b304 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x0000b308 sll v1, v0, 1                                                             |         v1 = v0 << 1;
    0x0000b30c addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x0000b310 sll v1, v0, 4                                                             |         v1 = v0 << 4;
    0x0000b314 addu v0, v0, v1                                                           |         v0 += v1;
    0x0000b318 sll v1, v0, 8                                                             |         v1 = v0 << 8;
    0x0000b31c addu v0, v0, v1                                                           |         v0 += v1;
    0x0000b320 sll v1, v0, 0x10                                                          |         v1 = v0 << 0x10;
    0x0000b324 addu v0, v0, v1                                                           |         v0 += v1;
    0x0000b328 addiu s3, s3, 1                                                           |         s3++;
    0x0000b32c negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x0000b330 addiu s4, s4, 0x14                                                        |         s4 += 0x14;
    0x0000b334 sltu v0, s3, v0                                                           |         v0 = (s3 < v0) ? 1 : 0;
    0x0000b338 sw s3, 0x308(sp)                                                          |         *(var_308h) = s3;
    0x0000b33c sw s4, 0x30c(sp)                                                          |         *(var_30ch) = s4;
    0x0000b340 bnez v0, 0xb130                                                           |         
                                                                                         |     } while (v0 != 0);
    0x0000b344 lw v0, (s7)                                                               |     v0 = *(s7);
    0x0000b348 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000b34c sll a0, v0, 4                                                             |     a0 = v0 << 4;
    0x0000b350 subu a0, a0, v1                                                           |     __asm ("subu a0, a0, v1");
    0x0000b354 addu t9, t9, a0                                                           |     t9 += a0;
    0x0000b358 lw t1, (t9)                                                               |     t1 = *(t9);
    0x0000b35c lw s2, 4(t9)                                                              |     s2 = *((t9 + 1));
    0x0000b360 subu s2, s2, t1                                                           |     __asm ("subu s2, s2, t1");
    0x0000b364 sra s2, s2, 2                                                             |     s2 >>= 2;
                                                                                         | label_219:
    0x0000b368 sw zero, 0x2a8(sp)                                                        |     *(var_2a8h) = 0;
    0x0000b36c sw zero, 0x2ac(sp)                                                        |     *(var_2ach) = 0;
    0x0000b370 sw zero, 0x2b0(sp)                                                        |     *(var_2b0h) = 0;
                                                                                         |     if (s2 <= 0) {
    0x0000b374 blez s2, 0xb520                                                           |         goto label_228;
                                                                                         |     }
    0x0000b378 move s3, zero                                                             |     s3 = 0;
    0x0000b37c b 0xb3a4                                                                  |     
                                                                                         |     while (a0 > 0) {
                                                                                         | label_61:
    0x0000b380 addiu s3, s3, 1                                                           |         s3++;
                                                                                         |         if (s3 == s2) {
    0x0000b384 beq s3, s2, 0xb520                                                        |             goto label_228;
                                                                                         |         }
    0x0000b388 nop                                                                       |         
                                                                                         | label_62:
    0x0000b38c lw a1, 0xec(s0)                                                           |         a1 = *((s0 + 59));
    0x0000b390 sll v1, v0, 2                                                             |         v1 = v0 << 2;
    0x0000b394 sll a0, v0, 4                                                             |         a0 = v0 << 4;
    0x0000b398 subu a0, a0, v1                                                           |         __asm ("subu a0, a0, v1");
    0x0000b39c addu a0, a1, a0                                                           |         a0 = a1 + a0;
    0x0000b3a0 lw t1, (a0)                                                               |         t1 = *(a0);
    0x0000b3a4 sll a0, s3, 2                                                             |         a0 = s3 << 2;
    0x0000b3a8 addu t1, t1, a0                                                           |         t1 += a0;
    0x0000b3ac lw a1, (t1)                                                               |         a1 = *(t1);
    0x0000b3b0 lw a0, 0x14(a1)                                                           |         a0 = *((a1 + 5));
    0x0000b3b4 bgtz a0, 0xb380                                                           |         
                                                                                         |     }
    0x0000b3b8 nop                                                                       |     
    0x0000b3bc lw a2, 4(a1)                                                              |     a2 = *((a1 + 1));
    0x0000b3c0 lw a0, (a1)                                                               |     a0 = *(a1);
    0x0000b3c4 lbu a3, 0xc(a1)                                                           |     a3 = *((a1 + 12));
    0x0000b3c8 subu a1, a2, a0                                                           |     __asm ("subu a1, a2, a0");
    0x0000b3cc sra a1, a1, 2                                                             |     a1 >>= 2;
    0x0000b3d0 sll a2, a1, 1                                                             |     a2 = a1 << 1;
    0x0000b3d4 addu a1, a2, a1                                                           |     a1 = a2 + a1;
    0x0000b3d8 sll a2, a1, 4                                                             |     a2 = a1 << 4;
    0x0000b3dc addu a1, a1, a2                                                           |     a1 += a2;
    0x0000b3e0 sll a2, a1, 8                                                             |     a2 = a1 << 8;
    0x0000b3e4 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000b3e8 sll a2, a1, 0x10                                                          |     a2 = a1 << 0x10;
    0x0000b3ec addu a1, a1, a2                                                           |     a1 += a2;
    0x0000b3f0 negu a2, a1                                                               |     __asm ("negu a2, a1");
                                                                                         |     if (a3 != 0) {
    0x0000b3f4 bnez a3, 0xbc20                                                           |         goto label_229;
                                                                                         |     }
    0x0000b3f8 lw a1, 0xe8(s0)                                                           |     a1 = *((s0 + 58));
    0x0000b3fc addu v1, a1, v1                                                           |     v1 = a1 + v1;
    0x0000b400 lw a1, (v1)                                                               |     a1 = *(v1);
    0x0000b404 slt v1, a1, a2                                                            |     v1 = (a1 < a2) ? 1 : 0;
    0x0000b408 addiu a2, a2, -1                                                          |     a2 += -1;
                                                                                         |     if (v1 == 0) {
    0x0000b40c beqz v1, 0xb380                                                           |         goto label_61;
                                                                                         |     }
    0x0000b410 sll v0, a2, 2                                                             |     v0 = a2 << 2;
    0x0000b414 sll a2, a2, 4                                                             |     a2 <<= 4;
    0x0000b418 addu a2, v0, a2                                                           |     a2 = v0 + a2;
    0x0000b41c addu a2, a0, a2                                                           |     a2 = a0 + a2;
    0x0000b420 slti t0, a1, 3                                                            |     t0 = (a1 < 3) ? 1 : 0;
    0x0000b424 lw v1, 4(a2)                                                              |     v1 = *((a2 + 1));
    0x0000b428 lw v0, 8(a2)                                                              |     v0 = *((a2 + 2));
    0x0000b42c lw a3, 0xc(a2)                                                            |     a3 = *((a2 + 3));
    0x0000b430 lw a2, 0x10(a2)                                                           |     a2 = *((a2 + 4));
                                                                                         |     if (t0 != 0) {
    0x0000b434 bnez t0, 0xb4bc                                                           |         goto label_230;
                                                                                         |     }
    0x0000b438 sll t0, a1, 2                                                             |     t0 = a1 << 2;
    0x0000b43c sll a1, a1, 4                                                             |     a1 <<= 4;
    0x0000b440 addu t0, t0, a1                                                           |     t0 += a1;
    0x0000b444 addiu t5, a0, -0x24                                                       |     t5 = a0 + -0x24;
    0x0000b448 addiu a1, a0, 4                                                           |     a1 = a0 + 4;
    0x0000b44c addu t5, t5, t0                                                           |     t5 += t0;
    0x0000b450 move t3, v0                                                               |     t3 = v0;
    0x0000b454 move t2, v1                                                               |     t2 = v1;
    0x0000b458 addiu t4, a0, 0x2c                                                        |     t4 = a0 + 0x2c;
                                                                                         |     do {
    0x0000b45c subu t6, a1, a0                                                           |         __asm ("subu t6, a1, a0");
    0x0000b460 addu t6, t4, t6                                                           |         t6 = t4 + t6;
    0x0000b464 lw t1, 0x28(a1)                                                           |         t1 = *((a1 + 10));
    0x0000b468 lw t0, 0x2c(a1)                                                           |         t0 = *((a1 + 11));
    0x0000b46c lw t7, 4(t6)                                                              |         t7 = *((t6 + 1));
    0x0000b470 lw t6, 8(t6)                                                              |         t6 = *((t6 + 2));
    0x0000b474 addu t2, a3, t2                                                           |         t2 = a3 + t2;
    0x0000b478 addu a2, a2, t3                                                           |         a2 += t3;
    0x0000b47c addu a3, t0, t6                                                           |         a3 = t0 + t6;
    0x0000b480 addu t3, t1, t7                                                           |         t3 = t1 + t7;
    0x0000b484 slt t7, t3, t2                                                            |         t7 = (t3 < t2) ? 1 : 0;
    0x0000b488 slt t6, a3, a2                                                            |         t6 = (a3 < a2) ? 1 : 0;
    0x0000b48c slt s4, v1, t1                                                            |         s4 = (v1 < t1) ? 1 : 0;
    0x0000b490 slt s1, v0, t0                                                            |         s1 = (v0 < t0) ? 1 : 0;
                                                                                         |         if (t7 != 0) {
    0x0000b494 movz t2, t3, t7                                                           |             t2 = t3;
                                                                                         |         }
                                                                                         |         if (s4 != 0) {
    0x0000b498 movz v1, t1, s4                                                           |             v1 = t1;
                                                                                         |         }
                                                                                         |         if (s1 != 0) {
    0x0000b49c movz v0, t0, s1                                                           |             v0 = t0;
                                                                                         |         }
                                                                                         |         if (t6 != 0) {
    0x0000b4a0 movz a2, a3, t6                                                           |             a2 = a3;
                                                                                         |         }
    0x0000b4a4 addiu a1, a1, 0x14                                                        |         a1 += 0x14;
    0x0000b4a8 subu a3, t2, v1                                                           |         __asm ("subu a3, t2, v1");
    0x0000b4ac subu a2, a2, v0                                                           |         __asm ("subu a2, a2, v0");
    0x0000b4b0 move t2, v1                                                               |         t2 = v1;
    0x0000b4b4 move t3, v0                                                               |         t3 = v0;
    0x0000b4b8 bne a1, t5, 0xb45c                                                        |         
                                                                                         |     } while (a1 != t5);
                                                                                         | label_230:
    0x0000b4bc sw v0, 0x244(sp)                                                          |     *(var_244h) = v0;
    0x0000b4c0 lw a1, 0x2ac(sp)                                                          |     a1 = *(var_2ach);
    0x0000b4c4 lw v0, 0x2b0(sp)                                                          |     v0 = *(var_2b0h);
    0x0000b4c8 sw s3, 0x23c(sp)                                                          |     *(var_23ch) = s3;
    0x0000b4cc sw v1, 0x240(sp)                                                          |     *(var_240h) = v1;
    0x0000b4d0 sw a3, 0x248(sp)                                                          |     *(var_248h) = a3;
    0x0000b4d4 sw a2, 0x24c(sp)                                                          |     *(var_24ch) = a2;
                                                                                         |     if (a1 == v0) {
    0x0000b4d8 beq a1, v0, 0xbc84                                                        |         goto label_231;
                                                                                         |     }
                                                                                         |     if (a1 != 0) {
                                                                                         | label_73:
    0x0000b4dc beqz a1, 0xb508                                                           |         
    0x0000b4e0 nop                                                                       |         
    0x0000b4e4 sw s3, (a1)                                                               |         *(a1) = s3;
    0x0000b4e8 lw v0, 0x240(sp)                                                          |         v0 = *(var_240h);
    0x0000b4ec sw v0, 4(a1)                                                              |         *((a1 + 1)) = v0;
    0x0000b4f0 lw v0, 0x244(sp)                                                          |         v0 = *(var_244h);
    0x0000b4f4 sw v0, 8(a1)                                                              |         *((a1 + 2)) = v0;
    0x0000b4f8 lw v0, 0x248(sp)                                                          |         v0 = *(var_248h);
    0x0000b4fc sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
    0x0000b500 lw v0, 0x24c(sp)                                                          |         v0 = *(var_24ch);
    0x0000b504 sw v0, 0x10(a1)                                                           |         *((a1 + 4)) = v0;
                                                                                         |     }
    0x0000b508 lw v0, (s7)                                                               |     v0 = *(s7);
    0x0000b50c addiu a1, a1, 0x14                                                        |     a1 += 0x14;
    0x0000b510 sw a1, 0x2ac(sp)                                                          |     *(var_2ach) = a1;
                                                                                         | label_74:
    0x0000b514 addiu s3, s3, 1                                                           |     s3++;
                                                                                         |     if (s3 != s2) {
    0x0000b518 bne s3, s2, 0xb38c                                                        |         goto label_62;
                                                                                         |     }
    0x0000b51c nop                                                                       |     
                                                                                         | label_228:
    0x0000b520 lw s5, 0xf4(s0)                                                           |     s5 = *((s0 + 61));
    0x0000b524 lw ra, 0xf0(s0)                                                           |     ra = *((s0 + 60));
    0x0000b528 sw s5, 0x30c(sp)                                                          |     *(var_30ch) = s5;
    0x0000b52c subu a0, s5, ra                                                           |     __asm ("subu a0, s5, ra");
    0x0000b530 sra a0, a0, 5                                                             |     a0 >>= 5;
    0x0000b534 move a1, s5                                                               |     a1 = s5;
                                                                                         |     if (a0 == 0) {
    0x0000b538 beqz a0, 0xb724                                                           |         goto label_79;
                                                                                         |     }
    0x0000b53c lw t9, 0x2a8(sp)                                                          |     t9 = *(var_2a8h);
    0x0000b540 lw a1, 0x2ac(sp)                                                          |     a1 = *(var_2ach);
    0x0000b544 move s6, zero                                                             |     s6 = 0;
    0x0000b548 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000b54c subu a1, a1, t9                                                           |     __asm ("subu a1, a1, t9");
    0x0000b550 sra a1, a1, 2                                                             |     a1 >>= 2;
    0x0000b554 sll a2, a1, 1                                                             |     a2 = a1 << 1;
    0x0000b558 addu a1, a2, a1                                                           |     a1 = a2 + a1;
    0x0000b55c sll a2, a1, 4                                                             |     a2 = a1 << 4;
    0x0000b560 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000b564 sll a2, a1, 8                                                             |     a2 = a1 << 8;
    0x0000b568 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000b56c sll a2, a1, 0x10                                                          |     a2 = a1 << 0x10;
    0x0000b570 addu a1, a1, a2                                                           |     a1 += a2;
    0x0000b574 negu t8, a1                                                               |     __asm ("negu t8, a1");
    0x0000b578 addiu fp, t9, 4                                                           |     fp = t9 + 4;
    0x0000b57c sw a0, 0x314(sp)                                                          |     *(var_314h) = a0;
                                                                                         | label_64:
    0x0000b580 sll t3, s6, 5                                                             |     t3 = s6 << 5;
    0x0000b584 addu t3, ra, t3                                                           |     t3 = ra + t3;
    0x0000b588 addu a0, t3, v1                                                           |     a0 = t3 + v1;
    0x0000b58c lw t1, 4(a0)                                                              |     t1 = *((a0 + 1));
    0x0000b590 sltu a0, zero, t1                                                         |     a0 = (0 < t1) ? 1 : 0;
                                                                                         |     if (v0 != 0) {
    0x0000b594 beqz v0, 0xb5a0                                                           |         
    0x0000b598 xori a0, v0, 1                                                            |         a0 = v0 ^ 1;
    0x0000b59c sltiu a0, a0, 1                                                           |         a0 = (a0 < 1) ? 1 : 0;
                                                                                         |     }
    0x0000b5a0 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (a0 == 0) {
    0x0000b5a4 beqz a0, 0xbe4c                                                           |         goto label_232;
                                                                                         |     }
    0x0000b5a8 move a0, zero                                                             |     a0 = 0;
                                                                                         |     if (t1 == 0) {
    0x0000b5ac beqz t1, 0xbca8                                                           |         goto label_233;
                                                                                         |     }
    0x0000b5b0 lw a2, 4(t1)                                                              |     a2 = *((t1 + 1));
    0x0000b5b4 lw a0, (t1)                                                               |     a0 = *(t1);
    0x0000b5b8 lw a1, 0x10(t3)                                                           |     a1 = *((t3 + 4));
    0x0000b5bc lw t0, 0x14(t3)                                                           |     t0 = *((t3 + 5));
    0x0000b5c0 subu a0, a2, a0                                                           |     __asm ("subu a0, a2, a0");
    0x0000b5c4 sra a0, a0, 2                                                             |     a0 >>= 2;
    0x0000b5c8 sll a2, a0, 1                                                             |     a2 = a0 << 1;
    0x0000b5cc addu a0, a2, a0                                                           |     a0 = a2 + a0;
    0x0000b5d0 sll a2, a0, 4                                                             |     a2 = a0 << 4;
    0x0000b5d4 addu a0, a0, a2                                                           |     a0 += a2;
    0x0000b5d8 sll a2, a0, 8                                                             |     a2 = a0 << 8;
    0x0000b5dc addu a0, a0, a2                                                           |     a0 += a2;
    0x0000b5e0 sll a2, a0, 0x10                                                          |     a2 = a0 << 0x10;
    0x0000b5e4 addu a0, a0, a2                                                           |     a0 += a2;
    0x0000b5e8 negu a0, a0                                                               |     __asm ("negu a0, a0");
    0x0000b5ec lw a2, 0x18(t3)                                                           |     a2 = *((t3 + 6));
    0x0000b5f0 lw t5, 0x1c(t3)                                                           |     t5 = *((t3 + 7));
                                                                                         |     if (a0 <= 0) {
    0x0000b5f4 blez a0, 0xbcb8                                                           |         goto label_234;
                                                                                         |     }
                                                                                         |     if (v0 != 0) {
                                                                                         | label_75:
    0x0000b5f8 bnez v0, 0xbe38                                                           |         goto label_235;
                                                                                         |     }
    0x0000b5fc nop                                                                       |     
    0x0000b600 slti a0, a0, 4                                                            |     a0 = (a0 < 4) ? 1 : 0;
                                                                                         |     if (a0 == 0) {
                                                                                         | label_80:
    0x0000b604 beqz a0, 0xb710                                                           |         goto label_76;
                                                                                         |     }
    0x0000b608 nop                                                                       |     
    0x0000b60c lw a3, (t3)                                                               |     a3 = *(t3);
    0x0000b610 lw a0, 0xc(t3)                                                            |     a0 = *((t3 + 3));
    0x0000b614 addiu a3, a3, -9                                                          |     a3 += -9;
    0x0000b618 slt a0, a0, a3                                                            |     a0 = (a0 < a3) ? 1 : 0;
                                                                                         |     if (a0 == 0) {
    0x0000b61c beqz a0, 0xb710                                                           |         goto label_76;
                                                                                         |     }
    0x0000b620 nop                                                                       |     
    0x0000b624 sll a0, v0, 4                                                             |     a0 = v0 << 4;
                                                                                         |     if (t8 == 0) {
    0x0000b628 beqz t8, 0xb710                                                           |         goto label_76;
                                                                                         |     }
    0x0000b62c lw a3, 0xec(s0)                                                           |     a3 = *((s0 + 59));
    0x0000b630 subu a0, a0, v1                                                           |     __asm ("subu a0, a0, v1");
    0x0000b634 addu a0, a3, a0                                                           |     a0 = a3 + a0;
    0x0000b638 mul s1, a2, t5                                                            |     __asm ("mul s1, a2, t5");
    0x0000b63c lw t7, (a0)                                                               |     t7 = *(a0);
    0x0000b640 move t2, zero                                                             |     t2 = 0;
    0x0000b644 move a0, fp                                                               |     a0 = fp;
    0x0000b648 addu a2, a1, a2                                                           |     a2 = a1 + a2;
    0x0000b64c addu t5, t0, t5                                                           |     t5 = t0 + t5;
    0x0000b650 b 0xb690                                                                  |     
                                                                                         |     while (t4 > 0) {
    0x0000b654 addu s2, t6, s2                                                           |         s2 = t6 + s2;
    0x0000b658 slt s4, t5, s2                                                            |         s4 = (t5 < s2) ? 1 : 0;
    0x0000b65c slt s3, t6, t0                                                            |         s3 = (t6 < t0) ? 1 : 0;
                                                                                         |         if (s4 == 0) {
    0x0000b660 movn s2, t5, s4                                                           |             s2 = t5;
                                                                                         |         }
                                                                                         |         if (s3 == 0) {
    0x0000b664 movn t6, t0, s3                                                           |             t6 = t0;
                                                                                         |         }
    0x0000b668 subu t6, s2, t6                                                           |         __asm ("subu t6, s2, t6");
    0x0000b66c mul t4, t4, t6                                                            |         __asm ("mul t4, t4, t6");
                                                                                         |         if (t6 <= 0) {
    0x0000b670 blez t6, 0xb6d4                                                           |             goto label_236;
                                                                                         |         }
    0x0000b674 sll t4, t4, 1                                                             |         t4 <<= 1;
    0x0000b678 slt t4, t4, s1                                                            |         t4 = (t4 < s1) ? 1 : 0;
                                                                                         |         if (t4 == 0) {
    0x0000b67c beqz t4, 0xb6e8                                                           |             goto label_237;
                                                                                         |         }
    0x0000b680 nop                                                                       |         
    0x0000b684 addiu t2, t2, 1                                                           |         t2++;
                                                                                         | label_63:
    0x0000b688 addiu a0, a0, 0x14                                                        |         a0 += 0x14;
                                                                                         |         if (t2 == t8) {
    0x0000b68c beq t2, t8, 0xb710                                                        |             goto label_76;
                                                                                         |         }
    0x0000b690 lw a3, (a0)                                                               |         a3 = *(a0);
    0x0000b694 subu t6, a0, fp                                                           |         __asm ("subu t6, a0, fp");
    0x0000b698 lw t4, 8(a0)                                                              |         t4 = *((a0 + 2));
    0x0000b69c addu t6, t9, t6                                                           |         t6 = t9 + t6;
    0x0000b6a0 lw t6, (t6)                                                               |         t6 = *(t6);
    0x0000b6a4 addu t4, a3, t4                                                           |         t4 = a3 + t4;
    0x0000b6a8 slt s2, a3, a1                                                            |         s2 = (a3 < a1) ? 1 : 0;
    0x0000b6ac slt s3, a2, t4                                                            |         s3 = (a2 < t4) ? 1 : 0;
                                                                                         |         if (s2 == 0) {
    0x0000b6b0 movn a3, a1, s2                                                           |             a3 = a1;
                                                                                         |         }
    0x0000b6b4 sll t6, t6, 2                                                             |         t6 <<= 2;
                                                                                         |         if (s3 == 0) {
    0x0000b6b8 movn t4, a2, s3                                                           |             t4 = a2;
                                                                                         |         }
    0x0000b6bc addu t6, t7, t6                                                           |         t6 = t7 + t6;
    0x0000b6c0 subu t4, t4, a3                                                           |         __asm ("subu t4, t4, a3");
    0x0000b6c4 lw s2, 0xc(a0)                                                            |         s2 = *((a0 + 3));
    0x0000b6c8 lw a3, (t6)                                                               |         a3 = *(t6);
    0x0000b6cc lw t6, 4(a0)                                                              |         t6 = *((a0 + 1));
    0x0000b6d0 bgtz t4, 0xb654                                                           |         
                                                                                         |     }
                                                                                         | label_236:
    0x0000b6d4 move t4, zero                                                             |     t4 = 0;
    0x0000b6d8 slt t4, t4, s1                                                            |     t4 = (t4 < s1) ? 1 : 0;
    0x0000b6dc addiu t2, t2, 1                                                           |     t2++;
                                                                                         |     if (t4 != 0) {
    0x0000b6e0 bnez t4, 0xb688                                                           |         goto label_63;
                                                                                         |     }
    0x0000b6e4 addiu t2, t2, -1                                                          |     t2 += -1;
                                                                                         | label_237:
    0x0000b6e8 lw v0, 0x14(t1)                                                           |     v0 = *((t1 + 5));
    0x0000b6ec addiu v0, v0, -1                                                          |     v0 += -1;
    0x0000b6f0 sw v0, 0x14(t1)                                                           |     *((t1 + 5)) = v0;
    0x0000b6f4 lw v0, 0x14(a3)                                                           |     v0 = *((a3 + 5));
    0x0000b6f8 addiu v0, v0, 1                                                           |     v0++;
    0x0000b6fc sw v0, 0x14(a3)                                                           |     *((a3 + 5)) = v0;
    0x0000b700 lw v0, (s7)                                                               |     v0 = *(s7);
    0x0000b704 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000b708 addu t3, t3, v1                                                           |     t3 += v1;
    0x0000b70c sw a3, 4(t3)                                                              |     *((t3 + 1)) = a3;
                                                                                         | label_76:
    0x0000b710 lw a1, 0x314(sp)                                                          |     a1 = *(var_314h);
    0x0000b714 addiu s6, s6, 1                                                           |     s6++;
    0x0000b718 sltu a0, s6, a1                                                           |     a0 = (s6 < a1) ? 1 : 0;
    0x0000b71c lw a1, 0x30c(sp)                                                          |     a1 = *(var_30ch);
                                                                                         |     if (a0 != 0) {
    0x0000b720 bnez a0, 0xb580                                                           |         goto label_64;
                                                                                         |     }
                                                                                         | label_79:
    0x0000b724 subu v0, a1, ra                                                           |     __asm ("subu v0, a1, ra");
                                                                                         |     if (v0 == 0) {
    0x0000b728 bnez v0, 0xb7fc                                                           |         
    0x0000b72c lw v1, 0x2a8(sp)                                                          |         v1 = *(var_2a8h);
    0x0000b730 lw a0, 0x2ac(sp)                                                          |         a0 = *(var_2ach);
    0x0000b734 subu v0, a0, v1                                                           |         __asm ("subu v0, a0, v1");
    0x0000b738 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x0000b73c sll a2, v0, 1                                                             |         a2 = v0 << 1;
    0x0000b740 addu v0, a2, v0                                                           |         v0 = a2 + v0;
    0x0000b744 sll a2, v0, 4                                                             |         a2 = v0 << 4;
    0x0000b748 addu v0, v0, a2                                                           |         v0 += a2;
    0x0000b74c sll a2, v0, 8                                                             |         a2 = v0 << 8;
    0x0000b750 addu v0, v0, a2                                                           |         v0 += a2;
    0x0000b754 sll a2, v0, 0x10                                                          |         a2 = v0 << 0x10;
    0x0000b758 addu v0, v0, a2                                                           |         v0 += a2;
    0x0000b75c subu v0, a1, ra                                                           |         __asm ("subu v0, a1, ra");
                                                                                         |         if (v0 == 0) {
    0x0000b760 beqz v0, 0xb7fc                                                           |             goto label_238;
                                                                                         |         }
    0x0000b764 move v0, zero                                                             |         v0 = 0;
    0x0000b768 move s2, zero                                                             |         s2 = 0;
    0x0000b76c addiu s3, zero, 0x32                                                      |         s3 = 0x32;
    0x0000b770 addiu s4, s0, 0xf0                                                        |         s4 = s0 + 0xf0;
                                                                                         | label_86:
    0x0000b774 lw a3, 0xec(s0)                                                           |         a3 = *((s0 + 59));
    0x0000b778 sll t1, s2, 2                                                             |         t1 = s2 << 2;
    0x0000b77c sll t2, s2, 4                                                             |         t2 = s2 << 4;
    0x0000b780 sll a2, v0, 2                                                             |         a2 = v0 << 2;
    0x0000b784 sll t0, v0, 4                                                             |         t0 = v0 << 4;
    0x0000b788 addu v0, t1, t2                                                           |         v0 = t1 + t2;
    0x0000b78c subu a2, t0, a2                                                           |         __asm ("subu a2, t0, a2");
    0x0000b790 addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x0000b794 addu a2, a3, a2                                                           |         a2 = a3 + a2;
    0x0000b798 lw v0, (v0)                                                               |         v0 = *(v0);
    0x0000b79c lw a2, (a2)                                                               |         a2 = *(a2);
    0x0000b7a0 sll v0, v0, 2                                                             |         v0 <<= 2;
    0x0000b7a4 addu v0, a2, v0                                                           |         v0 = a2 + v0;
    0x0000b7a8 lw v0, (v0)                                                               |         v0 = *(v0);
    0x0000b7ac lw a2, 0x14(v0)                                                           |         a2 = *((v0 + 5));
                                                                                         |         if (a2 <= 0) {
    0x0000b7b0 blez a2, 0xc1c0                                                           |             goto label_239;
                                                                                         |         }
    0x0000b7b4 nop                                                                       |         
                                                                                         | label_87:
    0x0000b7b8 subu v0, a0, v1                                                           |         __asm ("subu v0, a0, v1");
    0x0000b7bc sra v0, v0, 2                                                             |         v0 >>= 2;
    0x0000b7c0 sll a2, v0, 1                                                             |         a2 = v0 << 1;
    0x0000b7c4 addu v0, a2, v0                                                           |         v0 = a2 + v0;
    0x0000b7c8 sll a2, v0, 4                                                             |         a2 = v0 << 4;
    0x0000b7cc addu v0, v0, a2                                                           |         v0 += a2;
    0x0000b7d0 sll a2, v0, 8                                                             |         a2 = v0 << 8;
    0x0000b7d4 addu v0, v0, a2                                                           |         v0 += a2;
    0x0000b7d8 sll a2, v0, 0x10                                                          |         a2 = v0 << 0x10;
    0x0000b7dc addu v0, v0, a2                                                           |         v0 += a2;
    0x0000b7e0 addiu s2, s2, 1                                                           |         s2++;
    0x0000b7e4 negu v0, v0                                                               |         __asm ("negu v0, v0");
    0x0000b7e8 sltu v0, s2, v0                                                           |         v0 = (s2 < v0) ? 1 : 0;
                                                                                         |         if (v0 != 0) {
    0x0000b7ec bnez v0, 0xc1b4                                                           |             goto label_240;
                                                                                         |         }
    0x0000b7f0 nop                                                                       |         
    0x0000b7f4 lw ra, 0xf0(s0)                                                           |         ra = *((s0 + 60));
    0x0000b7f8 subu v0, a1, ra                                                           |         __asm ("subu v0, a1, ra");
                                                                                         |     }
                                                                                         | label_238:
    0x0000b7fc move s6, zero                                                             |     s6 = 0;
    0x0000b800 sra v0, v0, 5                                                             |     v0 >>= 5;
    0x0000b804 sltu v0, s6, v0                                                           |     v0 = (s6 < v0) ? 1 : 0;
    0x0000b808 addiu fp, s0, 0xf0                                                        |     fp = s0 + 0xf0;
                                                                                         |     if (v0 == 0) {
    0x0000b80c beqz v0, 0xb8d4                                                           |         goto label_241;
                                                                                         |     }
                                                                                         |     do {
    0x0000b810 sll s7, s6, 5                                                             |         s7 = s6 << 5;
    0x0000b814 addu s2, ra, s7                                                           |         s2 = ra + s7;
    0x0000b818 lw a1, -0x7fd4(gp)                                                        |         a1 = *((gp - 8181));
                                                                                         |         if (s2 == 0) {
    0x0000b81c beqz s2, 0xc3b0                                                           |             goto label_242;
                                                                                         |         }
    0x0000b820 lw s4, 4(s2)                                                              |         s4 = *((s2 + 1));
    0x0000b824 lw a3, -0x7fd4(gp)                                                        |         a3 = *((gp - 8181));
                                                                                         |         if (s4 == 0) {
    0x0000b828 beqz s4, 0xc394                                                           |             goto label_243;
                                                                                         |         }
    0x0000b82c lw v0, 0x14(s4)                                                           |         v0 = *((s4 + 5));
    0x0000b830 addiu a1, a1, -0x2af4                                                     |         a1 += -0x2af4;
                                                                                         |         if (v0 <= 0) {
    0x0000b834 blez v0, 0xc464                                                           |             goto label_244;
                                                                                         |         }
    0x0000b838 lw t1, (s4)                                                               |         t1 = *(s4);
    0x0000b83c lw v0, 4(s4)                                                              |         v0 = *((s4 + 1));
    0x0000b840 subu v0, v0, t1                                                           |         __asm ("subu v0, v0, t1");
    0x0000b844 sra v0, v0, 2                                                             |         v0 >>= 2;
    0x0000b848 sll v1, v0, 1                                                             |         v1 = v0 << 1;
    0x0000b84c addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x0000b850 sll v1, v0, 4                                                             |         v1 = v0 << 4;
    0x0000b854 addu v0, v0, v1                                                           |         v0 += v1;
    0x0000b858 sll v1, v0, 8                                                             |         v1 = v0 << 8;
    0x0000b85c addu v0, v0, v1                                                           |         v0 += v1;
    0x0000b860 sll v1, v0, 0x10                                                          |         v1 = v0 << 0x10;
    0x0000b864 addu v0, v0, v1                                                           |         v0 += v1;
    0x0000b868 negu a1, v0                                                               |         __asm ("negu a1, v0");
    0x0000b86c lw s5, 8(s2)                                                              |         s5 = *((s2 + 2));
                                                                                         |         if (a1 <= 0) {
    0x0000b870 blez a1, 0xbe8c                                                           |             goto label_84;
                                                                                         |         }
    0x0000b874 lbu v0, 0xc(s4)                                                           |         v0 = *((s4 + 12));
    0x0000b878 slti v0, a1, 0xb                                                          |         v0 = (a1 < 0xb) ? 1 : 0;
                                                                                         |         if (v0 == 0) {
    0x0000b87c beqz v0, 0xc074                                                           |             goto label_245;
                                                                                         |         }
    0x0000b880 addiu a1, a1, -1                                                          |         a1 += -1;
    0x0000b884 sll s3, a1, 2                                                             |         s3 = a1 << 2;
    0x0000b888 sll a1, a1, 4                                                             |         a1 <<= 4;
    0x0000b88c addu s3, s3, a1                                                           |         s3 += a1;
    0x0000b890 addu s3, t1, s3                                                           |         s3 = t1 + s3;
    0x0000b894 lw v0, (s3)                                                               |         v0 = *(s3);
    0x0000b898 lw a1, 0x2c4(sp)                                                          |         a1 = *(var_2c4h);
                                                                                         |         if (v0 == 0) {
    0x0000b89c beqz v0, 0xc288                                                           |             goto label_246;
                                                                                         |         }
                                                                                         | label_81:
    0x0000b8a0 lw v0, 0xc(s2)                                                            |         v0 = *((s2 + 3));
    0x0000b8a4 addiu v0, v0, -1                                                          |         v0 += -1;
    0x0000b8a8 sw v0, 0xc(s2)                                                            |         *((s2 + 3)) = v0;
                                                                                         |         if (v0 <= 0) {
                                                                                         | label_85:
    0x0000b8ac blez v0, 0xc030                                                           |             goto label_247;
                                                                                         |         }
    0x0000b8b0 nop                                                                       |         
                                                                                         | label_82:
    0x0000b8b4 lw a1, 0xf4(s0)                                                           |         a1 = *((s0 + 61));
    0x0000b8b8 lw ra, 0xf0(s0)                                                           |         ra = *((s0 + 60));
    0x0000b8bc addiu s6, s6, 1                                                           |         s6++;
                                                                                         | label_83:
    0x0000b8c0 subu v0, a1, ra                                                           |         __asm ("subu v0, a1, ra");
    0x0000b8c4 sra v0, v0, 5                                                             |         v0 >>= 5;
    0x0000b8c8 sltu v0, s6, v0                                                           |         v0 = (s6 < v0) ? 1 : 0;
    0x0000b8cc bnez v0, 0xb810                                                           |         
                                                                                         |     } while (v0 != 0);
    0x0000b8d0 nop                                                                       |     
                                                                                         | label_241:
    0x0000b8d4 lw a0, 0x2a8(sp)                                                          |     a0 = *(var_2a8h);
    0x0000b8d8 lw t9, -0x7ea8(gp)                                                        |     t9 = sym.imp.operator_delete_void_;
                                                                                         |     if (a0 != 0) {
    0x0000b8dc beqz a0, 0xb8ec                                                           |         
    0x0000b8e0 jalr t9                                                                   |         t9 ();
    0x0000b8e4 nop                                                                       |         
    0x0000b8e8 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
                                                                                         |     }
    0x0000b8ec lw t9, -0x7e98(gp)                                                        |     t9 = *(gp);
    0x0000b8f0 addiu a0, sp, 0x26c                                                       |     a0 = sp + 0x26c;
    0x0000b8f4 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000b8f8 jalr t9                                                                   |     t9 ();
    0x0000b8fc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000b900 lw t9, -0x7ea0(gp)                                                        |     t9 = *(gp);
    0x0000b904 lw a0, 0x2fc(sp)                                                          |     a0 = *(var_2fch);
    0x0000b908 jalr t9                                                                   |     t9 ();
    0x0000b90c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000b910 lw t9, -0x7e8c(gp)                                                        |     t9 = *(gp);
    0x0000b914 lw a0, 0x2f4(sp)                                                          |     a0 = *(var_2f4h);
    0x0000b918 jalr t9                                                                   |     t9 ();
    0x0000b91c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000b920 lw t9, -0x7ea0(gp)                                                        |     t9 = *(gp);
    0x0000b924 lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x0000b928 jalr t9                                                                   |     t9 ();
    0x0000b92c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000b930 b 0xa528                                                                  |     goto label_65;
                                                                                         | label_225:
    0x0000b934 slt t0, t0, a2                                                            |     t0 = (t0 < a2) ? 1 : 0;
                                                                                         |     if (t0 == 0) {
    0x0000b938 beqz t0, 0xba0c                                                           |         goto label_226;
                                                                                         |     }
    0x0000b93c nop                                                                       |     
                                                                                         | label_221:
    0x0000b940 addiu v1, v1, 1                                                           |     v1++;
                                                                                         | label_69:
    0x0000b944 addiu v0, v0, 4                                                           |     v0 += 4;
                                                                                         |     if (v1 != s2) {
    0x0000b948 bne v1, s2, 0xb198                                                        |         goto label_66;
                                                                                         |     }
                                                                                         | label_220:
    0x0000b94c lw t9, -0x7f38(gp)                                                        |     t9 = sym.imp.operator_new_unsigned_int_;
    0x0000b950 addiu a0, zero, 0x18                                                      |     a0 = 0x18;
    0x0000b954 jalr t9                                                                   |     t9 ();
    0x0000b958 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000b95c lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
    0x0000b960 sw zero, (v0)                                                             |     *(v0) = 0;
    0x0000b964 sw zero, 4(v0)                                                            |     *((v0 + 1)) = 0;
    0x0000b968 sw zero, 8(v0)                                                            |     *((v0 + 2)) = 0;
    0x0000b96c sb zero, 0xc(v0)                                                          |     *((v0 + 12)) = 0;
    0x0000b970 sw zero, 0x10(v0)                                                         |     *((v0 + 4)) = 0;
    0x0000b974 sw zero, 0x14(v0)                                                         |     *((v0 + 5)) = 0;
    0x0000b978 move a0, v0                                                               |     a0 = v0;
    0x0000b97c move a1, zero                                                             |     a1 = 0;
    0x0000b980 addiu a2, sp, 0x1d8                                                       |     a2 = sp + 0x1d8;
    0x0000b984 sw v0, 0x2d4(sp)                                                          |     *(var_2d4h) = v0;
    0x0000b988 jalr t9                                                                   |     t9 ();
    0x0000b98c lw s7, 0xfc(s0)                                                           |     s7 = *((s0 + 63));
    0x0000b990 lw t9, 0xec(s0)                                                           |     t9 = *((s0 + 59));
    0x0000b994 lw v0, (s7)                                                               |     v0 = *(s7);
    0x0000b998 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000b99c sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000b9a0 subu a0, v0, v1                                                           |     __asm ("subu a0, v0, v1");
    0x0000b9a4 addu a0, t9, a0                                                           |     a0 = t9 + a0;
    0x0000b9a8 lw a1, 4(a0)                                                              |     a1 = *((a0 + 1));
    0x0000b9ac lw v0, 8(a0)                                                              |     v0 = *((a0 + 2));
    0x0000b9b0 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
                                                                                         |     if (a1 == v0) {
    0x0000b9b4 beq a1, v0, 0xbba8                                                        |         goto label_248;
                                                                                         |     }
    0x0000b9b8 move v0, zero                                                             |     v0 = 0;
                                                                                         |     if (a1 != 0) {
    0x0000b9bc beqz a1, 0xb9d4                                                           |         
    0x0000b9c0 lw v0, 0x2d4(sp)                                                          |         v0 = *(var_2d4h);
    0x0000b9c4 sw v0, (a1)                                                               |         *(a1) = v0;
    0x0000b9c8 lw v0, 4(a0)                                                              |         v0 = *((a0 + 1));
    0x0000b9cc lw t9, 0xec(s0)                                                           |         t9 = *((s0 + 59));
    0x0000b9d0 lw s7, 0xfc(s0)                                                           |         s7 = *((s0 + 63));
                                                                                         |     }
    0x0000b9d4 addiu v0, v0, 4                                                           |     v0 += 4;
    0x0000b9d8 sw v0, 4(a0)                                                              |     *((a0 + 1)) = v0;
    0x0000b9dc lw fp, 0x26c(sp)                                                          |     fp = *(var_26ch);
    0x0000b9e0 b 0xb2f4                                                                  |     goto label_67;
                                                                                         | label_222:
    0x0000b9e4 move s3, zero                                                             |     s3 = 0;
    0x0000b9e8 move s1, zero                                                             |     s1 = 0;
    0x0000b9ec b 0xb248                                                                  |     goto label_68;
                                                                                         | label_223:
    0x0000b9f0 mul a2, s3, s1                                                            |     __asm ("mul a2, s3, s1");
    0x0000b9f4 mul a3, a3, t0                                                            |     __asm ("mul a3, a3, t0");
    0x0000b9f8 sll a2, a2, 1                                                             |     a2 <<= 1;
    0x0000b9fc slt a2, a2, a3                                                            |     a2 = (a2 < a3) ? 1 : 0;
    0x0000ba00 addiu v1, v1, 1                                                           |     v1++;
                                                                                         |     if (a2 != 0) {
    0x0000ba04 bnez a2, 0xb944                                                           |         goto label_69;
                                                                                         |     }
    0x0000ba08 addiu v1, v1, -1                                                          |     v1 += -1;
                                                                                         | label_226:
    0x0000ba0c lw v0, 8(a0)                                                              |     v0 = *((a0 + 2));
                                                                                         |     if (v0 != a1) {
    0x0000ba10 bne v0, a1, 0xb2c0                                                        |         goto label_70;
                                                                                         |     }
    0x0000ba14 nop                                                                       |     
                                                                                         | label_227:
    0x0000ba18 lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
                                                                                         | label_71:
    0x0000ba1c addiu a2, sp, 0x1d8                                                       |     a2 = sp + 0x1d8;
    0x0000ba20 jalr t9                                                                   |     t9 ();
    0x0000ba24 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000ba28 lw t9, 0xec(s0)                                                           |     t9 = *((s0 + 59));
    0x0000ba2c lw s7, 0xfc(s0)                                                           |     s7 = *((s0 + 63));
    0x0000ba30 lw fp, 0x26c(sp)                                                          |     fp = *(var_26ch);
    0x0000ba34 b 0xb2f4                                                                  |     goto label_67;
                                                                                         | label_224:
    0x0000ba38 mul a3, a3, t0                                                            |     __asm ("mul a3, a3, t0");
    0x0000ba3c sll a2, s1, 1                                                             |     a2 = s1 << 1;
    0x0000ba40 sll s1, s1, 3                                                             |     s1 <<= 3;
    0x0000ba44 addu a2, a2, s1                                                           |     a2 += s1;
    0x0000ba48 sll t0, a3, 1                                                             |     t0 = a3 << 1;
    0x0000ba4c slt t0, a2, t0                                                            |     t0 = (a2 < t0) ? 1 : 0;
    0x0000ba50 sll a3, a3, 3                                                             |     a3 <<= 3;
                                                                                         |     if (t0 == 0) {
    0x0000ba54 beqz t0, 0xba80                                                           |         goto label_249;
                                                                                         |     }
    0x0000ba58 slt a2, a2, a3                                                            |     a2 = (a2 < a3) ? 1 : 0;
    0x0000ba5c addiu v1, v1, 1                                                           |     v1++;
                                                                                         |     if (a2 != 0) {
    0x0000ba60 bnez a2, 0xb944                                                           |         goto label_69;
                                                                                         |     }
    0x0000ba64 lw v1, 0x10(a0)                                                           |     v1 = *((a0 + 4));
    0x0000ba68 lw v0, 8(a0)                                                              |     v0 = *((a0 + 2));
    0x0000ba6c addiu v1, v1, 1                                                           |     v1++;
    0x0000ba70 sw v1, 0x10(a0)                                                           |     *((a0 + 4)) = v1;
                                                                                         |     if (a1 != v0) {
    0x0000ba74 bne a1, v0, 0xb2c0                                                        |         goto label_70;
                                                                                         |     }
    0x0000ba78 lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
    0x0000ba7c b 0xba1c                                                                  |     goto label_71;
                                                                                         | label_249:
    0x0000ba80 lw v0, 8(a0)                                                              |     v0 = *((a0 + 2));
    0x0000ba84 sw zero, 0x10(a0)                                                         |     *((a0 + 4)) = 0;
                                                                                         |     if (a1 != v0) {
    0x0000ba88 bne a1, v0, 0xb2c0                                                        |         goto label_70;
                                                                                         |     }
    0x0000ba8c lw t9, -0x7f28(gp)                                                        |     t9 = *(gp);
    0x0000ba90 b 0xba1c                                                                  |     goto label_71;
                                                                                         | label_215:
    0x0000ba94 lw v0, (a3)                                                               |     v0 = *(a3);
    0x0000ba98 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000ba9c sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000baa0 subu v0, v0, v1                                                           |     __asm ("subu v0, v0, v1");
    0x0000baa4 addu t0, t0, v0                                                           |     t0 += v0;
    0x0000baa8 lw v0, (t0)                                                               |     v0 = *(t0);
    0x0000baac addu v0, v0, s4                                                           |     v0 += s4;
    0x0000bab0 lw s2, (v0)                                                               |     s2 = *(v0);
                                                                                         |     if (s2 != 0) {
    0x0000bab4 beqz s2, 0xbb08                                                           |         
    0x0000bab8 nop                                                                       |         
    0x0000babc lw a0, (s2)                                                               |         a0 = *(s2);
    0x0000bac0 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
                                                                                         |         if (a0 != 0) {
    0x0000bac4 beqz a0, 0xbad4                                                           |             
    0x0000bac8 jalr t9                                                                   |             t9 ();
    0x0000bacc nop                                                                       |             
    0x0000bad0 lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
                                                                                         |         }
    0x0000bad4 lw t9, -0x7ea8(gp)                                                        |         t9 = sym.imp.operator_delete_void_;
    0x0000bad8 move a0, s2                                                               |         a0 = s2;
    0x0000badc jalr t9                                                                   |         t9 ();
    0x0000bae0 lw v0, 0xfc(s0)                                                           |         v0 = *((s0 + 63));
    0x0000bae4 lw v1, 0xec(s0)                                                           |         v1 = *((s0 + 59));
    0x0000bae8 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x0000baec lw v0, (v0)                                                               |         v0 = *(v0);
    0x0000baf0 sll a0, v0, 2                                                             |         a0 = v0 << 2;
    0x0000baf4 sll v0, v0, 4                                                             |         v0 <<= 4;
    0x0000baf8 subu v0, v0, a0                                                           |         __asm ("subu v0, v0, a0");
    0x0000bafc addu v0, v1, v0                                                           |         v0 = v1 + v0;
    0x0000bb00 lw v0, (v0)                                                               |         v0 = *(v0);
    0x0000bb04 addu v0, v0, s4                                                           |         v0 += s4;
                                                                                         |     }
    0x0000bb08 sw zero, (v0)                                                             |     *(v0) = 0;
    0x0000bb0c lw a3, 0xfc(s0)                                                           |     a3 = *((s0 + 63));
    0x0000bb10 lw t0, 0xec(s0)                                                           |     t0 = *((s0 + 59));
    0x0000bb14 lw v0, (a3)                                                               |     v0 = *(a3);
    0x0000bb18 move t9, t0                                                               |     t9 = t0;
    0x0000bb1c sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000bb20 sll t2, v0, 4                                                             |     t2 = v0 << 4;
    0x0000bb24 subu s2, t2, v1                                                           |     __asm ("subu s2, t2, v1");
    0x0000bb28 addu s2, t0, s2                                                           |     s2 = t0 + s2;
    0x0000bb2c lw t1, (s2)                                                               |     t1 = *(s2);
    0x0000bb30 lw t3, 4(s2)                                                              |     t3 = *((s2 + 1));
    0x0000bb34 addu a0, t1, s4                                                           |     a0 = t1 + s4;
    0x0000bb38 addiu a1, a0, 4                                                           |     a1 = a0 + 4;
    0x0000bb3c move s7, a3                                                               |     s7 = a3;
                                                                                         |     if (a1 != t3) {
    0x0000bb40 beq a1, t3, 0xbb54                                                        |         
    0x0000bb44 subu a2, t3, a1                                                           |         __asm ("subu a2, t3, a1");
    0x0000bb48 sra a2, a2, 2                                                             |         a2 >>= 2;
                                                                                         |         if (a2 != 0) {
    0x0000bb4c bnez a2, 0xbb60                                                           |             goto label_250;
                                                                                         |         }
    0x0000bb50 nop                                                                       |         
                                                                                         |     }
    0x0000bb54 addiu t3, t3, -4                                                          |     t3 += -4;
    0x0000bb58 sw t3, 4(s2)                                                              |     *((s2 + 1)) = t3;
    0x0000bb5c b 0xae88                                                                  |     goto label_72;
                                                                                         | label_250:
    0x0000bb60 lw t9, -0x7f10(gp)                                                        |     t9 = sym.imp.memmove;
    0x0000bb64 sll a2, a2, 2                                                             |     a2 <<= 2;
    0x0000bb68 jalr t9                                                                   |     t9 ();
    0x0000bb6c lw a3, 0xfc(s0)                                                           |     a3 = *((s0 + 63));
    0x0000bb70 lw t0, 0xec(s0)                                                           |     t0 = *((s0 + 59));
    0x0000bb74 lw t3, 4(s2)                                                              |     t3 = *((s2 + 1));
    0x0000bb78 lw v0, (a3)                                                               |     v0 = *(a3);
    0x0000bb7c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000bb80 addiu t3, t3, -4                                                          |     t3 += -4;
    0x0000bb84 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000bb88 sll t2, v0, 4                                                             |     t2 = v0 << 4;
    0x0000bb8c subu a0, t2, v1                                                           |     __asm ("subu a0, t2, v1");
    0x0000bb90 addu a0, t0, a0                                                           |     a0 = t0 + a0;
    0x0000bb94 move t9, t0                                                               |     t9 = t0;
    0x0000bb98 move s7, a3                                                               |     s7 = a3;
    0x0000bb9c lw t1, (a0)                                                               |     t1 = *(a0);
    0x0000bba0 sw t3, 4(s2)                                                              |     *((s2 + 1)) = t3;
    0x0000bba4 b 0xae88                                                                  |     goto label_72;
                                                                                         | label_248:
    0x0000bba8 lw t9, -0x7ecc(gp)                                                        |     t9 = *(gp);
    0x0000bbac addiu a2, sp, 0x2d4                                                       |     a2 = sp + 0x2d4;
    0x0000bbb0 jalr t9                                                                   |     t9 ();
    0x0000bbb4 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000bbb8 lw t9, 0xec(s0)                                                           |     t9 = *((s0 + 59));
    0x0000bbbc lw s7, 0xfc(s0)                                                           |     s7 = *((s0 + 63));
    0x0000bbc0 lw fp, 0x26c(sp)                                                          |     fp = *(var_26ch);
    0x0000bbc4 b 0xb2f4                                                                  |     goto label_67;
                                                                                         | label_229:
    0x0000bc20 addiu a2, a2, -1                                                          |     a2 += -1;
                                                                                         |     if (v0 != 0) {
    0x0000bc24 bnez v0, 0xc4a8                                                           |         goto label_251;
                                                                                         |     }
    0x0000bc28 sll v1, a2, 2                                                             |     v1 = a2 << 2;
    0x0000bc2c sll a2, a2, 4                                                             |     a2 <<= 4;
    0x0000bc30 addu v1, v1, a2                                                           |     v1 += a2;
    0x0000bc34 addu a0, a0, v1                                                           |     a0 += v1;
    0x0000bc38 lw v1, (a0)                                                               |     v1 = *(a0);
                                                                                         |     if (v1 != 0) {
    0x0000bc3c bnez v1, 0xb380                                                           |         goto label_61;
                                                                                         |     }
    0x0000bc40 nop                                                                       |     
    0x0000bc44 sw s3, 0x23c(sp)                                                          |     *(var_23ch) = s3;
    0x0000bc48 sw zero, 0x24c(sp)                                                        |     *(var_24ch) = 0;
    0x0000bc4c lw v0, 0x10(a0)                                                           |     v0 = *((a0 + 4));
    0x0000bc50 sw zero, 0x240(sp)                                                        |     *(var_240h) = 0;
    0x0000bc54 sw zero, 0x244(sp)                                                        |     *(var_244h) = 0;
    0x0000bc58 sw zero, 0x248(sp)                                                        |     *(var_248h) = 0;
    0x0000bc5c lw a3, 4(a0)                                                              |     a3 = *((a0 + 1));
    0x0000bc60 lw a2, 8(a0)                                                              |     a2 = *((a0 + 2));
    0x0000bc64 lw v1, 0xc(a0)                                                            |     v1 = *((a0 + 3));
    0x0000bc68 sw v0, 0x24c(sp)                                                          |     *(var_24ch) = v0;
    0x0000bc6c lw a1, 0x2ac(sp)                                                          |     a1 = *(var_2ach);
    0x0000bc70 lw v0, 0x2b0(sp)                                                          |     v0 = *(var_2b0h);
    0x0000bc74 sw a3, 0x240(sp)                                                          |     *(var_240h) = a3;
    0x0000bc78 sw a2, 0x244(sp)                                                          |     *(var_244h) = a2;
    0x0000bc7c sw v1, 0x248(sp)                                                          |     *(var_248h) = v1;
                                                                                         |     if (a1 != v0) {
    0x0000bc80 bne a1, v0, 0xb4dc                                                        |         goto label_73;
                                                                                         |     }
                                                                                         | label_231:
    0x0000bc84 lw t9, -0x7e84(gp)                                                        |     t9 = *(gp);
    0x0000bc88 addiu a0, sp, 0x2a8                                                       |     a0 = sp + 0x2a8;
    0x0000bc8c addiu a2, sp, 0x23c                                                       |     a2 = sp + 0x23c;
    0x0000bc90 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000bc94 jalr t9                                                                   |     t9 ();
    0x0000bc98 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000bc9c lw s7, 0xfc(s0)                                                           |     s7 = *((s0 + 63));
    0x0000bca0 lw v0, (s7)                                                               |     v0 = *(s7);
    0x0000bca4 b 0xb514                                                                  |     goto label_74;
                                                                                         | label_233:
    0x0000bca8 lw a1, 0x10(t3)                                                           |     a1 = *((t3 + 4));
    0x0000bcac lw t0, 0x14(t3)                                                           |     t0 = *((t3 + 5));
    0x0000bcb0 lw a2, 0x18(t3)                                                           |     a2 = *((t3 + 6));
    0x0000bcb4 lw t5, 0x1c(t3)                                                           |     t5 = *((t3 + 7));
                                                                                         |     if (v0 <= 0) {
                                                                                         | label_234:
    0x0000bcb8 blez v0, 0xb5f8                                                           |         goto label_75;
                                                                                         |     }
    0x0000bcbc nop                                                                       |     
    0x0000bcc0 addiu a0, zero, 1                                                         |     a0 = 1;
    0x0000bcc4 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (v0 != a0) {
    0x0000bcc8 bne v0, a0, 0xbe6c                                                        |         goto label_252;
                                                                                         |     }
    0x0000bccc move a0, fp                                                               |     a0 = fp;
                                                                                         |     if (t8 == 0) {
    0x0000bcd0 beqz t8, 0xb710                                                           |         goto label_76;
                                                                                         |     }
    0x0000bcd4 lw a3, 0xec(s0)                                                           |     a3 = *((s0 + 59));
    0x0000bcd8 move t6, zero                                                             |     t6 = 0;
    0x0000bcdc lw a3, 0xc(a3)                                                            |     a3 = *((a3 + 3));
    0x0000bce0 addu a2, a1, a2                                                           |     a2 = a1 + a2;
    0x0000bce4 addu t5, t0, t5                                                           |     t5 = t0 + t5;
    0x0000bce8 sw a3, 0x308(sp)                                                          |     *(var_308h) = a3;
    0x0000bcec b 0xbd64                                                                  |     goto label_253;
                                                                                         | label_77:
    0x0000bcf0 slt s2, t1, t0                                                            |     s2 = (t1 < t0) ? 1 : 0;
    0x0000bcf4 slt s3, t5, t4                                                            |     s3 = (t5 < t4) ? 1 : 0;
    0x0000bcf8 move s4, t5                                                               |     s4 = t5;
    0x0000bcfc move s5, t0                                                               |     s5 = t0;
                                                                                         |     if (s3 != 0) {
    0x0000bd00 movz s4, t4, s3                                                           |         s4 = t4;
                                                                                         |     }
                                                                                         |     if (s2 != 0) {
    0x0000bd04 movz s5, t1, s2                                                           |         s5 = t1;
                                                                                         |     }
    0x0000bd08 subu s2, s4, s5                                                           |     __asm ("subu s2, s4, s5");
    0x0000bd0c slt s4, a1, a3                                                            |     s4 = (a1 < a3) ? 1 : 0;
                                                                                         |     if (s2 <= 0) {
    0x0000bd10 blez s2, 0xbdb8                                                           |         goto label_254;
                                                                                         |     }
                                                                                         |     if (s4 == 0) {
    0x0000bd14 movn a3, a1, s4                                                           |         a3 = a1;
                                                                                         |     }
    0x0000bd18 mul s1, s1, s2                                                            |     __asm ("mul s1, s1, s2");
    0x0000bd1c move s4, a3                                                               |     s4 = a3;
    0x0000bd20 slt s5, t2, a2                                                            |     s5 = (t2 < a2) ? 1 : 0;
    0x0000bd24 slt s3, t4, t5                                                            |     s3 = (t4 < t5) ? 1 : 0;
    0x0000bd28 slt s2, t0, t1                                                            |     s2 = (t0 < t1) ? 1 : 0;
    0x0000bd2c move a3, t5                                                               |     a3 = t5;
                                                                                         |     if (s5 == 0) {
    0x0000bd30 movn t2, a2, s5                                                           |         t2 = a2;
                                                                                         |     }
                                                                                         |     if (s3 != 0) {
    0x0000bd34 movz a3, t4, s3                                                           |         a3 = t4;
                                                                                         |     }
                                                                                         |     if (s2 == 0) {
    0x0000bd38 movn t1, t0, s2                                                           |         t1 = t0;
                                                                                         |     }
    0x0000bd3c subu t2, t2, s4                                                           |     __asm ("subu t2, t2, s4");
    0x0000bd40 subu a3, a3, t1                                                           |     __asm ("subu a3, a3, t1");
    0x0000bd44 mul a3, t2, a3                                                            |     __asm ("mul a3, t2, a3");
    0x0000bd48 sll s1, s1, 2                                                             |     s1 <<= 2;
    0x0000bd4c slt s1, s1, a3                                                            |     s1 = (s1 < a3) ? 1 : 0;
                                                                                         |     if (s1 == 0) {
    0x0000bd50 beqz s1, 0xbe00                                                           |         goto label_255;
                                                                                         |     }
    0x0000bd54 nop                                                                       |     
    0x0000bd58 addiu t6, t6, 1                                                           |     t6++;
                                                                                         | label_78:
    0x0000bd5c addiu a0, a0, 0x14                                                        |     a0 += 0x14;
                                                                                         |     if (t6 == t8) {
    0x0000bd60 beq t6, t8, 0xb710                                                        |         goto label_76;
                                                                                         |     }
                                                                                         | label_253:
    0x0000bd64 lw a3, (a0)                                                               |     a3 = *(a0);
    0x0000bd68 subu t1, a0, fp                                                           |     __asm ("subu t1, a0, fp");
    0x0000bd6c lw t2, 8(a0)                                                              |     t2 = *((a0 + 2));
    0x0000bd70 addu t1, t9, t1                                                           |     t1 = t9 + t1;
    0x0000bd74 lw t7, (t1)                                                               |     t7 = *(t1);
    0x0000bd78 addu t2, a3, t2                                                           |     t2 = a3 + t2;
    0x0000bd7c lw s5, 0x308(sp)                                                          |     s5 = *(var_308h);
    0x0000bd80 slt s1, a3, a1                                                            |     s1 = (a3 < a1) ? 1 : 0;
    0x0000bd84 lw t1, 4(a0)                                                              |     t1 = *((a0 + 1));
    0x0000bd88 slt s2, a2, t2                                                            |     s2 = (a2 < t2) ? 1 : 0;
    0x0000bd8c lw t4, 0xc(a0)                                                            |     t4 = *((a0 + 3));
    0x0000bd90 move s3, a2                                                               |     s3 = a2;
    0x0000bd94 move s4, a1                                                               |     s4 = a1;
    0x0000bd98 sll t7, t7, 2                                                             |     t7 <<= 2;
                                                                                         |     if (s2 != 0) {
    0x0000bd9c movz s3, t2, s2                                                           |         s3 = t2;
                                                                                         |     }
                                                                                         |     if (s1 != 0) {
    0x0000bda0 movz s4, a3, s1                                                           |         s4 = a3;
                                                                                         |     }
    0x0000bda4 addu t7, s5, t7                                                           |     t7 = s5 + t7;
    0x0000bda8 subu s1, s3, s4                                                           |     __asm ("subu s1, s3, s4");
    0x0000bdac lw t7, (t7)                                                               |     t7 = *(t7);
    0x0000bdb0 addu t4, t1, t4                                                           |     t4 = t1 + t4;
                                                                                         |     if (s1 > 0) {
    0x0000bdb4 bgtz s1, 0xbcf0                                                           |         goto label_77;
                                                                                         |     }
                                                                                         | label_254:
    0x0000bdb8 slt s4, a1, a3                                                            |     s4 = (a1 < a3) ? 1 : 0;
                                                                                         |     if (s4 == 0) {
    0x0000bdbc movn a3, a1, s4                                                           |         a3 = a1;
                                                                                         |     }
    0x0000bdc0 move s4, a3                                                               |     s4 = a3;
    0x0000bdc4 slt s5, t2, a2                                                            |     s5 = (t2 < a2) ? 1 : 0;
    0x0000bdc8 slt s3, t4, t5                                                            |     s3 = (t4 < t5) ? 1 : 0;
    0x0000bdcc slt s2, t0, t1                                                            |     s2 = (t0 < t1) ? 1 : 0;
    0x0000bdd0 move a3, t5                                                               |     a3 = t5;
                                                                                         |     if (s5 == 0) {
    0x0000bdd4 movn t2, a2, s5                                                           |         t2 = a2;
                                                                                         |     }
                                                                                         |     if (s3 != 0) {
    0x0000bdd8 movz a3, t4, s3                                                           |         a3 = t4;
                                                                                         |     }
                                                                                         |     if (s2 == 0) {
    0x0000bddc movn t1, t0, s2                                                           |         t1 = t0;
                                                                                         |     }
    0x0000bde0 subu t2, t2, s4                                                           |     __asm ("subu t2, t2, s4");
    0x0000bde4 subu a3, a3, t1                                                           |     __asm ("subu a3, a3, t1");
    0x0000bde8 mul a3, t2, a3                                                            |     __asm ("mul a3, t2, a3");
    0x0000bdec move s1, zero                                                             |     s1 = 0;
    0x0000bdf0 slt s1, s1, a3                                                            |     s1 = (s1 < a3) ? 1 : 0;
    0x0000bdf4 addiu t6, t6, 1                                                           |     t6++;
                                                                                         |     if (s1 != 0) {
    0x0000bdf8 bnez s1, 0xbd5c                                                           |         goto label_78;
                                                                                         |     }
    0x0000bdfc addiu t6, t6, -1                                                          |     t6 += -1;
                                                                                         | label_255:
    0x0000be00 lw v0, 0x14(t7)                                                           |     v0 = *((t7 + 5));
    0x0000be04 lw a1, 0x314(sp)                                                          |     a1 = *(var_314h);
    0x0000be08 addiu s6, s6, 1                                                           |     s6++;
    0x0000be0c addiu v0, v0, 1                                                           |     v0++;
    0x0000be10 sw v0, 0x14(t7)                                                           |     *((t7 + 5)) = v0;
    0x0000be14 lw v0, (s7)                                                               |     v0 = *(s7);
    0x0000be18 sltu a0, s6, a1                                                           |     a0 = (s6 < a1) ? 1 : 0;
    0x0000be1c lw a1, 0x30c(sp)                                                          |     a1 = *(var_30ch);
    0x0000be20 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000be24 addu t3, t3, v1                                                           |     t3 += v1;
    0x0000be28 sw t7, 4(t3)                                                              |     *((t3 + 1)) = t7;
                                                                                         |     if (a0 != 0) {
    0x0000be2c bnez a0, 0xb580                                                           |         goto label_64;
                                                                                         |     }
    0x0000be30 b 0xb724                                                                  |     goto label_79;
    0x0000be34 nop                                                                       |     
                                                                                         | label_235:
    0x0000be38 lw a3, 0xe8(s0)                                                           |     a3 = *((s0 + 58));
    0x0000be3c lw a3, 4(a3)                                                              |     a3 = *((a3 + 1));
    0x0000be40 slt a0, a3, a0                                                            |     a0 = (a3 < a0) ? 1 : 0;
    0x0000be44 xori a0, a0, 1                                                            |     a0 ^= 1;
    0x0000be48 b 0xb604                                                                  |     goto label_80;
                                                                                         | label_232:
    0x0000be4c lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x0000be50 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x0000be54 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x0000be58 addiu a0, a0, -0x2a5c                                                     |     a0 += -0x2a5c;
    0x0000be5c addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x0000be60 addiu a2, zero, 0x33d                                                     |     a2 = 0x33d;
    0x0000be64 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x0000be68 jalr t9                                                                   |     t9 ();
                                                                                         | label_252:
    0x0000be6c lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x0000be70 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x0000be74 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x0000be78 addiu a0, a0, -0x2a34                                                     |     a0 += -0x2a34;
    0x0000be7c addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x0000be80 addiu a2, zero, 0x343                                                     |     a2 = 0x343;
    0x0000be84 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x0000be88 jalr t9                                                                   |     t9 ();
                                                                                         |     if (s5 == 0) {
                                                                                         | label_84:
    0x0000be8c beqz s5, 0xb8a0                                                           |         goto label_81;
                                                                                         |     }
    0x0000be90 nop                                                                       |     
    0x0000be94 lw v0, 0x14(s5)                                                           |     v0 = *((s5 + 5));
    0x0000be98 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
                                                                                         |     if (v0 <= 0) {
    0x0000be9c blez v0, 0xc374                                                           |         goto label_256;
                                                                                         |     }
    0x0000bea0 lw t2, (s5)                                                               |     t2 = *(s5);
    0x0000bea4 lw v0, 4(s5)                                                              |     v0 = *((s5 + 1));
    0x0000bea8 lw t3, 0xe8(s0)                                                           |     t3 = *((s0 + 58));
    0x0000beac subu v0, v0, t2                                                           |     __asm ("subu v0, v0, t2");
    0x0000beb0 sra v0, v0, 2                                                             |     v0 >>= 2;
    0x0000beb4 sll v1, v0, 1                                                             |     v1 = v0 << 1;
    0x0000beb8 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x0000bebc sll v1, v0, 4                                                             |     v1 = v0 << 4;
    0x0000bec0 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000bec4 sll v1, v0, 8                                                             |     v1 = v0 << 8;
    0x0000bec8 addu v0, v0, v1                                                           |     v0 += v1;
    0x0000becc sll a0, v0, 0x10                                                          |     a0 = v0 << 0x10;
    0x0000bed0 lw v1, 4(t3)                                                              |     v1 = *((t3 + 1));
    0x0000bed4 addu v0, v0, a0                                                           |     v0 += a0;
    0x0000bed8 negu a1, v0                                                               |     __asm ("negu a1, v0");
    0x0000bedc slt v0, v1, a1                                                            |     v0 = (v1 < a1) ? 1 : 0;
    0x0000bee0 addiu v0, a1, -1                                                          |     v0 = a1 + -1;
                                                                                         |     if (v0 == 0) {
    0x0000bee4 beqz v0, 0xb8a0                                                           |         goto label_81;
                                                                                         |     }
    0x0000bee8 sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000beec sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000bef0 addu v0, v1, v0                                                           |     v0 = v1 + v0;
    0x0000bef4 addu v0, t2, v0                                                           |     v0 = t2 + v0;
    0x0000bef8 lw v1, 4(v0)                                                              |     v1 = *((v0 + 1));
    0x0000befc lw a0, 8(v0)                                                              |     a0 = *((v0 + 2));
    0x0000bf00 lw a2, 0xc(v0)                                                            |     a2 = *((v0 + 3));
    0x0000bf04 lw a3, 0x10(v0)                                                           |     a3 = *((v0 + 4));
    0x0000bf08 sw v1, 0x250(sp)                                                          |     *(var_250h) = v1;
    0x0000bf0c sw a0, 0x254(sp)                                                          |     *(var_254h) = a0;
    0x0000bf10 sw a2, 0x258(sp)                                                          |     *(var_258h) = a2;
    0x0000bf14 sw a3, 0x25c(sp)                                                          |     *(var_25ch) = a3;
    0x0000bf18 lw v0, 4(t3)                                                              |     v0 = *((t3 + 1));
    0x0000bf1c slti v0, v0, 3                                                            |     v0 = (v0 < 3) ? 1 : 0;
    0x0000bf20 addiu v0, a1, -2                                                          |     v0 = a1 + -2;
                                                                                         |     if (v0 != 0) {
    0x0000bf24 bnez v0, 0xbfc8                                                           |         goto label_257;
                                                                                         |     }
    0x0000bf28 sll t0, v0, 2                                                             |     t0 = v0 << 2;
    0x0000bf2c sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000bf30 addu v0, t0, v0                                                           |     v0 = t0 + v0;
    0x0000bf34 addu v0, t2, v0                                                           |     v0 = t2 + v0;
    0x0000bf38 sll t4, a1, 2                                                             |     t4 = a1 << 2;
    0x0000bf3c sll a1, a1, 4                                                             |     a1 <<= 4;
    0x0000bf40 addiu t1, v0, 4                                                           |     t1 = v0 + 4;
    0x0000bf44 addu t4, t4, a1                                                           |     t4 += a1;
    0x0000bf48 addiu v0, v0, 0xc                                                         |     v0 += 0xc;
    0x0000bf4c addiu t0, zero, 2                                                         |     t0 = 2;
    0x0000bf50 subu t4, t4, t1                                                           |     __asm ("subu t4, t4, t1");
                                                                                         |     do {
    0x0000bf54 addu t1, t4, v0                                                           |         t1 = t4 + v0;
    0x0000bf58 addu t1, t2, t1                                                           |         t1 = t2 + t1;
    0x0000bf5c lw a1, -0x2c(t1)                                                          |         a1 = *((t1 - 11));
    0x0000bf60 lw t5, (v0)                                                               |         t5 = *(v0);
    0x0000bf64 addu a2, v1, a2                                                           |         a2 = v1 + a2;
    0x0000bf68 slt t7, v1, a1                                                            |         t7 = (v1 < a1) ? 1 : 0;
    0x0000bf6c addu t5, a1, t5                                                           |         t5 = a1 + t5;
    0x0000bf70 slt t6, t5, a2                                                            |         t6 = (t5 < a2) ? 1 : 0;
                                                                                         |         if (t6 != 0) {
    0x0000bf74 movz a2, t5, t6                                                           |             a2 = t5;
                                                                                         |         }
                                                                                         |         if (t7 != 0) {
    0x0000bf78 movz v1, a1, t7                                                           |             v1 = a1;
                                                                                         |         }
    0x0000bf7c subu a2, a2, v1                                                           |         __asm ("subu a2, a2, v1");
    0x0000bf80 lw a1, -0x28(t1)                                                          |         a1 = *((t1 - 10));
    0x0000bf84 sw a2, 0x258(sp)                                                          |         *(var_258h) = a2;
    0x0000bf88 lw t1, 4(v0)                                                              |         t1 = *((v0 + 1));
    0x0000bf8c addu a3, a0, a3                                                           |         a3 = a0 + a3;
    0x0000bf90 slt t6, a0, a1                                                            |         t6 = (a0 < a1) ? 1 : 0;
    0x0000bf94 addu t1, a1, t1                                                           |         t1 = a1 + t1;
    0x0000bf98 slt t5, t1, a3                                                            |         t5 = (t1 < a3) ? 1 : 0;
                                                                                         |         if (t6 != 0) {
    0x0000bf9c movz a0, a1, t6                                                           |             a0 = a1;
                                                                                         |         }
                                                                                         |         if (t5 != 0) {
    0x0000bfa0 movz a3, t1, t5                                                           |             a3 = t1;
                                                                                         |         }
    0x0000bfa4 subu a3, a3, a0                                                           |         __asm ("subu a3, a3, a0");
    0x0000bfa8 sw a3, 0x25c(sp)                                                          |         *(var_25ch) = a3;
    0x0000bfac sw a0, 0x254(sp)                                                          |         *(var_254h) = a0;
    0x0000bfb0 lw a1, 4(t3)                                                              |         a1 = *((t3 + 1));
    0x0000bfb4 addiu t0, t0, 1                                                           |         t0++;
    0x0000bfb8 slt a1, t0, a1                                                            |         a1 = (t0 < a1) ? 1 : 0;
    0x0000bfbc addiu v0, v0, -0x14                                                       |         v0 += -0x14;
    0x0000bfc0 bnez a1, 0xbf54                                                           |         
                                                                                         |     } while (a1 != 0);
    0x0000bfc4 sw v1, 0x250(sp)                                                          |     *(var_250h) = v1;
                                                                                         | label_257:
    0x0000bfc8 lw a1, 0x2c4(sp)                                                          |     a1 = *(var_2c4h);
    0x0000bfcc lw v0, 0x2c8(sp)                                                          |     v0 = *(var_2c8h);
    0x0000bfd0 lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (a1 == v0) {
    0x0000bfd4 beq a1, v0, 0xc35c                                                        |         goto label_258;
                                                                                         |     }
    0x0000bfd8 lw v0, 0x250(sp)                                                          |     v0 = *(var_250h);
                                                                                         |     if (a1 != 0) {
    0x0000bfdc beqz a1, 0xbffc                                                           |         
    0x0000bfe0 sw v0, (a1)                                                               |         *(a1) = v0;
    0x0000bfe4 lw v0, 0x254(sp)                                                          |         v0 = *(var_254h);
    0x0000bfe8 sw v0, 4(a1)                                                              |         *((a1 + 1)) = v0;
    0x0000bfec lw v0, 0x258(sp)                                                          |         v0 = *(var_258h);
    0x0000bff0 sw v0, 8(a1)                                                              |         *((a1 + 2)) = v0;
    0x0000bff4 lw v0, 0x25c(sp)                                                          |         v0 = *(var_25ch);
    0x0000bff8 sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
                                                                                         |     }
    0x0000bffc addiu a1, a1, 0x10                                                        |     a1 += 0x10;
    0x0000c000 sw a1, 0x2c4(sp)                                                          |     *(var_2c4h) = a1;
                                                                                         | label_88:
    0x0000c004 lw v1, 0x250(sp)                                                          |     v1 = *(var_250h);
    0x0000c008 lw v0, (s2)                                                               |     v0 = *(s2);
    0x0000c00c sw v1, 0x10(s2)                                                           |     *((s2 + 4)) = v1;
    0x0000c010 lw v1, 0x254(sp)                                                          |     v1 = *(var_254h);
    0x0000c014 sw v1, 0x14(s2)                                                           |     *((s2 + 5)) = v1;
    0x0000c018 lw v1, 0x258(sp)                                                          |     v1 = *(var_258h);
    0x0000c01c sw v1, 0x18(s2)                                                           |     *((s2 + 6)) = v1;
    0x0000c020 lw v1, 0x25c(sp)                                                          |     v1 = *(var_25ch);
    0x0000c024 sw v0, 0xc(s2)                                                            |     *((s2 + 3)) = v0;
    0x0000c028 sw v1, 0x1c(s2)                                                           |     *((s2 + 7)) = v1;
                                                                                         |     if (v0 > 0) {
    0x0000c02c bgtz v0, 0xb8b4                                                           |         goto label_82;
                                                                                         |     }
                                                                                         | label_247:
    0x0000c030 lw v0, 0x14(s4)                                                           |     v0 = *((s4 + 5));
    0x0000c034 addiu v0, v0, -1                                                          |     v0 += -1;
    0x0000c038 sw v0, 0x14(s4)                                                           |     *((s4 + 5)) = v0;
                                                                                         |     if (s5 != 0) {
    0x0000c03c beqz s5, 0xc04c                                                           |         
    0x0000c040 lw v0, 0x14(s5)                                                           |         v0 = *((s5 + 5));
    0x0000c044 addiu v0, v0, -1                                                          |         v0 += -1;
    0x0000c048 sw v0, 0x14(s5)                                                           |         *((s5 + 5)) = v0;
                                                                                         |     }
    0x0000c04c lw a2, 0xf0(s0)                                                           |     a2 = *((s0 + 60));
    0x0000c050 lw t9, -0x7fc4(gp)                                                        |     t9 = *(gp);
    0x0000c054 move a1, fp                                                               |     a1 = fp;
    0x0000c058 addiu a0, sp, 0x2e0                                                       |     a0 = sp + 0x2e0;
    0x0000c05c addu a2, a2, s7                                                           |     a2 += s7;
    0x0000c060 jalr t9                                                                   |     t9 ();
    0x0000c064 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c068 lw a1, 0xf4(s0)                                                           |     a1 = *((s0 + 61));
    0x0000c06c lw ra, 0xf0(s0)                                                           |     ra = *((s0 + 60));
    0x0000c070 b 0xb8c0                                                                  |     goto label_83;
                                                                                         | label_245:
    0x0000c074 addiu v0, a1, -1                                                          |     v0 = a1 + -1;
                                                                                         |     if (v0 != 0) {
    0x0000c078 bnez v0, 0xbe8c                                                           |         goto label_84;
                                                                                         |     }
    0x0000c07c sll v1, v0, 2                                                             |     v1 = v0 << 2;
    0x0000c080 sll v0, v0, 4                                                             |     v0 <<= 4;
    0x0000c084 addu v1, v1, v0                                                           |     v1 += v0;
    0x0000c088 addu v1, t1, v1                                                           |     v1 = t1 + v1;
    0x0000c08c lw v0, (v1)                                                               |     v0 = *(v1);
    0x0000c090 addiu v0, a1, -2                                                          |     v0 = a1 + -2;
                                                                                         |     if (v0 != 0) {
    0x0000c094 bnez v0, 0xbe8c                                                           |         goto label_84;
                                                                                         |     }
    0x0000c098 sll t0, v0, 2                                                             |     t0 = v0 << 2;
    0x0000c09c sll a2, v0, 4                                                             |     a2 = v0 << 4;
    0x0000c0a0 lw a3, 8(v1)                                                              |     a3 = *((v1 + 2));
    0x0000c0a4 lw v0, 4(v1)                                                              |     v0 = *((v1 + 1));
    0x0000c0a8 lw a0, 0xc(v1)                                                            |     a0 = *((v1 + 3));
    0x0000c0ac addu a2, t0, a2                                                           |     a2 = t0 + a2;
    0x0000c0b0 lw v1, 0x10(v1)                                                           |     v1 = *((v1 + 4));
    0x0000c0b4 addu a2, t1, a2                                                           |     a2 = t1 + a2;
    0x0000c0b8 sll t5, a1, 2                                                             |     t5 = a1 << 2;
    0x0000c0bc sll a1, a1, 4                                                             |     a1 <<= 4;
    0x0000c0c0 addu t5, t5, a1                                                           |     t5 += a1;
    0x0000c0c4 addiu t0, a2, 4                                                           |     t0 = a2 + 4;
    0x0000c0c8 sw v0, 0x250(sp)                                                          |     *(var_250h) = v0;
    0x0000c0cc sw a3, 0x254(sp)                                                          |     *(var_254h) = a3;
    0x0000c0d0 sw a0, 0x258(sp)                                                          |     *(var_258h) = a0;
    0x0000c0d4 sw v1, 0x25c(sp)                                                          |     *(var_25ch) = v1;
    0x0000c0d8 addiu a1, a2, 0xc                                                         |     a1 = a2 + 0xc;
    0x0000c0dc addiu t2, zero, 2                                                         |     t2 = 2;
    0x0000c0e0 subu t5, t5, t0                                                           |     __asm ("subu t5, t5, t0");
                                                                                         |     do {
    0x0000c0e4 addu t3, t5, a1                                                           |         t3 = t5 + a1;
    0x0000c0e8 addu t3, t1, t3                                                           |         t3 = t1 + t3;
    0x0000c0ec lw a2, -0x2c(t3)                                                          |         a2 = *((t3 - 11));
    0x0000c0f0 lw t4, (a1)                                                               |         t4 = *(a1);
    0x0000c0f4 addu a0, v0, a0                                                           |         a0 = v0 + a0;
    0x0000c0f8 slt t0, v0, a2                                                            |         t0 = (v0 < a2) ? 1 : 0;
    0x0000c0fc addu t4, a2, t4                                                           |         t4 = a2 + t4;
    0x0000c100 slt t6, t4, a0                                                            |         t6 = (t4 < a0) ? 1 : 0;
                                                                                         |         if (t0 != 0) {
    0x0000c104 movz v0, a2, t0                                                           |             v0 = a2;
                                                                                         |         }
                                                                                         |         if (t6 != 0) {
    0x0000c108 movz a0, t4, t6                                                           |             a0 = t4;
                                                                                         |         }
    0x0000c10c subu a0, a0, v0                                                           |         __asm ("subu a0, a0, v0");
    0x0000c110 move t0, v0                                                               |         t0 = v0;
    0x0000c114 lw v0, -0x28(t3)                                                          |         v0 = *((t3 - 10));
    0x0000c118 sw a0, 0x258(sp)                                                          |         *(var_258h) = a0;
    0x0000c11c lw t3, 4(a1)                                                              |         t3 = *((a1 + 1));
    0x0000c120 addu v1, a3, v1                                                           |         v1 = a3 + v1;
    0x0000c124 slt a2, a3, v0                                                            |         a2 = (a3 < v0) ? 1 : 0;
    0x0000c128 addu t3, v0, t3                                                           |         t3 = v0 + t3;
    0x0000c12c slt t4, t3, v1                                                            |         t4 = (t3 < v1) ? 1 : 0;
                                                                                         |         if (a2 != 0) {
    0x0000c130 movz a3, v0, a2                                                           |             a3 = v0;
                                                                                         |         }
                                                                                         |         if (t4 != 0) {
    0x0000c134 movz v1, t3, t4                                                           |             v1 = t3;
                                                                                         |         }
    0x0000c138 subu v1, v1, a3                                                           |         __asm ("subu v1, v1, a3");
    0x0000c13c addiu t2, t2, -1                                                          |         t2 += -1;
    0x0000c140 move a2, a3                                                               |         a2 = a3;
    0x0000c144 sw v1, 0x25c(sp)                                                          |         *(var_25ch) = v1;
    0x0000c148 sw a3, 0x254(sp)                                                          |         *(var_254h) = a3;
    0x0000c14c addiu a1, a1, -0x14                                                       |         a1 += -0x14;
    0x0000c150 move v0, t0                                                               |         v0 = t0;
    0x0000c154 bnez t2, 0xc0e4                                                           |         
                                                                                         |     } while (t2 != 0);
    0x0000c158 lw a1, 0x2c4(sp)                                                          |     a1 = *(var_2c4h);
    0x0000c15c lw t1, 0x2c8(sp)                                                          |     t1 = *(var_2c8h);
    0x0000c160 sw t0, 0x250(sp)                                                          |     *(var_250h) = t0;
                                                                                         |     if (a1 == t1) {
    0x0000c164 beq a1, t1, 0xc47c                                                        |         goto label_259;
                                                                                         |     }
                                                                                         |     if (a1 != 0) {
    0x0000c168 beqz a1, 0xc190                                                           |         
    0x0000c16c nop                                                                       |         
    0x0000c170 sw t0, (a1)                                                               |         *(a1) = t0;
    0x0000c174 sw a3, 4(a1)                                                              |         *((a1 + 1)) = a3;
    0x0000c178 sw a0, 8(a1)                                                              |         *((a1 + 2)) = a0;
    0x0000c17c sw v1, 0xc(a1)                                                            |         *((a1 + 3)) = v1;
    0x0000c180 lw t0, 0x250(sp)                                                          |         t0 = *(var_250h);
    0x0000c184 lw a2, 0x254(sp)                                                          |         a2 = *(var_254h);
    0x0000c188 lw a0, 0x258(sp)                                                          |         a0 = *(var_258h);
    0x0000c18c lw v1, 0x25c(sp)                                                          |         v1 = *(var_25ch);
                                                                                         |     }
    0x0000c190 addiu a1, a1, 0x10                                                        |     a1 += 0x10;
    0x0000c194 sw a1, 0x2c4(sp)                                                          |     *(var_2c4h) = a1;
                                                                                         | label_92:
    0x0000c198 lw v0, (s2)                                                               |     v0 = *(s2);
    0x0000c19c sw t0, 0x10(s2)                                                           |     *((s2 + 4)) = t0;
    0x0000c1a0 sw a2, 0x14(s2)                                                           |     *((s2 + 5)) = a2;
    0x0000c1a4 sw a0, 0x18(s2)                                                           |     *((s2 + 6)) = a0;
    0x0000c1a8 sw v1, 0x1c(s2)                                                           |     *((s2 + 7)) = v1;
    0x0000c1ac sw v0, 0xc(s2)                                                            |     *((s2 + 3)) = v0;
    0x0000c1b0 b 0xb8ac                                                                  |     goto label_85;
                                                                                         | label_240:
    0x0000c1b4 lw s7, 0xfc(s0)                                                           |     s7 = *((s0 + 63));
    0x0000c1b8 lw v0, (s7)                                                               |     v0 = *(s7);
    0x0000c1bc b 0xb774                                                                  |     goto label_86;
                                                                                         | label_239:
    0x0000c1c0 lw t0, 4(v0)                                                              |     t0 = *((v0 + 1));
    0x0000c1c4 lw a3, (v0)                                                               |     a3 = *(v0);
    0x0000c1c8 subu a3, t0, a3                                                           |     __asm ("subu a3, t0, a3");
    0x0000c1cc sra a3, a3, 2                                                             |     a3 >>= 2;
    0x0000c1d0 sll t0, a3, 1                                                             |     t0 = a3 << 1;
    0x0000c1d4 addu a3, t0, a3                                                           |     a3 = t0 + a3;
    0x0000c1d8 sll t0, a3, 4                                                             |     t0 = a3 << 4;
    0x0000c1dc addu a3, a3, t0                                                           |     a3 += t0;
    0x0000c1e0 sll t0, a3, 8                                                             |     t0 = a3 << 8;
    0x0000c1e4 addu a3, a3, t0                                                           |     a3 += t0;
    0x0000c1e8 sll t0, a3, 0x10                                                          |     t0 = a3 << 0x10;
    0x0000c1ec addu a3, a3, t0                                                           |     a3 += t0;
    0x0000c1f0 negu a3, a3                                                               |     __asm ("negu a3, a3");
    0x0000c1f4 sltiu a3, a3, 4                                                           |     a3 = (a3 < 4) ? 1 : 0;
    0x0000c1f8 addiu t1, sp, 0x30                                                        |     t1 = sp + 0x30;
                                                                                         |     if (a3 != 0) {
    0x0000c1fc bnez a3, 0xb7b8                                                           |         goto label_87;
                                                                                         |     }
    0x0000c200 sw zero, 0x1cc(sp)                                                        |     *(var_1cch) = 0;
    0x0000c204 sw zero, 0x1d0(sp)                                                        |     *(var_1d0h) = 0;
    0x0000c208 sw zero, 0x1d4(sp)                                                        |     *(var_1d4h) = 0;
    0x0000c20c sw zero, 0x1c8(sp)                                                        |     *(var_1c8h) = 0;
    0x0000c210 sw s3, 0x1b8(sp)                                                          |     *(var_1b8h) = s3;
    0x0000c214 sw s3, 0x1c4(sp)                                                          |     *(var_1c4h) = s3;
    0x0000c218 lw t0, (s7)                                                               |     t0 = *(s7);
    0x0000c21c lw a3, 0xf8(s0)                                                           |     a3 = *((s0 + 62));
    0x0000c220 sll t0, t0, 2                                                             |     t0 <<= 2;
    0x0000c224 addiu a2, a2, 1                                                           |     a2++;
    0x0000c228 addu t0, t1, t0                                                           |     t0 = t1 + t0;
    0x0000c22c sw zero, 0x1bc(sp)                                                        |     *(var_1bch) = 0;
    0x0000c230 sw zero, 0x1c0(sp)                                                        |     *(var_1c0h) = 0;
    0x0000c234 sw v0, 0x18c(t0)                                                          |     *((t0 + 99)) = v0;
    0x0000c238 sw a2, 0x14(v0)                                                           |     *((v0 + 5)) = a2;
                                                                                         |     if (a3 == a1) {
    0x0000c23c beq a3, a1, 0xc308                                                        |         goto label_260;
                                                                                         |     }
    0x0000c240 lw v0, 0x1c0(sp)                                                          |     v0 = *(var_1c0h);
                                                                                         |     if (a1 != 0) {
    0x0000c244 beqz a1, 0xc27c                                                           |         
    0x0000c248 sw s3, (a1)                                                               |         *(a1) = s3;
    0x0000c24c sw s3, 0xc(a1)                                                            |         *((a1 + 3)) = s3;
    0x0000c250 lw a2, 0x1bc(sp)                                                          |         a2 = *(var_1bch);
    0x0000c254 sw v0, 8(a1)                                                              |         *((a1 + 2)) = v0;
    0x0000c258 lw v0, 0x1c8(sp)                                                          |         v0 = *(var_1c8h);
    0x0000c25c sw a2, 4(a1)                                                              |         *((a1 + 1)) = a2;
    0x0000c260 sw v0, 0x10(a1)                                                           |         *((a1 + 4)) = v0;
    0x0000c264 lw v0, 0x1cc(sp)                                                          |         v0 = *(var_1cch);
    0x0000c268 sw v0, 0x14(a1)                                                           |         *((a1 + 5)) = v0;
    0x0000c26c lw v0, 0x1d0(sp)                                                          |         v0 = *(var_1d0h);
    0x0000c270 sw v0, 0x18(a1)                                                           |         *((a1 + 6)) = v0;
    0x0000c274 lw v0, 0x1d4(sp)                                                          |         v0 = *(var_1d4h);
    0x0000c278 sw v0, 0x1c(a1)                                                           |         *((a1 + 7)) = v0;
                                                                                         |     }
    0x0000c27c addiu a1, a1, 0x20                                                        |     a1 += 0x20;
    0x0000c280 sw a1, 0xf4(s0)                                                           |     *((s0 + 61)) = a1;
    0x0000c284 b 0xb7b8                                                                  |     goto label_87;
                                                                                         | label_246:
    0x0000c288 lw v0, 0x2c8(sp)                                                          |     v0 = *(var_2c8h);
    0x0000c28c lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
                                                                                         |     if (a1 == v0) {
    0x0000c290 beq a1, v0, 0xc2f0                                                        |         goto label_261;
                                                                                         |     }
                                                                                         |     if (a1 != 0) {
    0x0000c294 beqz a1, 0xc2bc                                                           |         
    0x0000c298 nop                                                                       |         
    0x0000c29c lw a2, 4(s3)                                                              |         a2 = *((s3 + 1));
    0x0000c2a0 lw a0, 8(s3)                                                              |         a0 = *((s3 + 2));
    0x0000c2a4 lw v1, 0xc(s3)                                                            |         v1 = *((s3 + 3));
    0x0000c2a8 lw v0, 0x10(s3)                                                           |         v0 = *((s3 + 4));
    0x0000c2ac sw a2, (a1)                                                               |         *(a1) = a2;
    0x0000c2b0 sw a0, 4(a1)                                                              |         *((a1 + 1)) = a0;
    0x0000c2b4 sw v1, 8(a1)                                                              |         *((a1 + 2)) = v1;
    0x0000c2b8 sw v0, 0xc(a1)                                                            |         *((a1 + 3)) = v0;
                                                                                         |     }
    0x0000c2bc addiu a1, a1, 0x10                                                        |     a1 += 0x10;
    0x0000c2c0 sw a1, 0x2c4(sp)                                                          |     *(var_2c4h) = a1;
                                                                                         |     do {
    0x0000c2c4 lw a2, 4(s3)                                                              |         a2 = *((s3 + 1));
    0x0000c2c8 lw a1, 8(s3)                                                              |         a1 = *((s3 + 2));
    0x0000c2cc lw a0, 0xc(s3)                                                            |         a0 = *((s3 + 3));
    0x0000c2d0 lw v1, 0x10(s3)                                                           |         v1 = *((s3 + 4));
    0x0000c2d4 lw v0, (s2)                                                               |         v0 = *(s2);
    0x0000c2d8 sw a2, 0x10(s2)                                                           |         *((s2 + 4)) = a2;
    0x0000c2dc sw a1, 0x14(s2)                                                           |         *((s2 + 5)) = a1;
    0x0000c2e0 sw a0, 0x18(s2)                                                           |         *((s2 + 6)) = a0;
    0x0000c2e4 sw v1, 0x1c(s2)                                                           |         *((s2 + 7)) = v1;
    0x0000c2e8 sw v0, 0xc(s2)                                                            |         *((s2 + 3)) = v0;
    0x0000c2ec b 0xb8ac                                                                  |         goto label_85;
                                                                                         | label_261:
    0x0000c2f0 addiu a0, sp, 0x2c0                                                       |         a0 = sp + aav.0x000002c0;
    0x0000c2f4 addiu a2, s3, 4                                                           |         a2 = s3 + 4;
    0x0000c2f8 move s1, a0                                                               |         s1 = a0;
    0x0000c2fc jalr t9                                                                   |         t9 ();
    0x0000c300 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x0000c304 b 0xc2c4                                                                  |         
                                                                                         |     } while (1);
                                                                                         | label_260:
    0x0000c308 lw t9, -0x7f3c(gp)                                                        |     t9 = *(gp);
    0x0000c30c move a0, s4                                                               |     a0 = s4;
    0x0000c310 addiu a2, sp, 0x1b8                                                       |     a2 = sp + 0x1b8;
    0x0000c314 addiu s1, sp, 0x2c0                                                       |     s1 = sp + aav.0x000002c0;
    0x0000c318 jalr t9                                                                   |     t9 ();
    0x0000c31c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c320 lw v1, 0x2a8(sp)                                                          |     v1 = *(var_2a8h);
    0x0000c324 lw a1, 0xf4(s0)                                                           |     a1 = *((s0 + 61));
    0x0000c328 lw a0, 0x2ac(sp)                                                          |     a0 = *(var_2ach);
    0x0000c32c b 0xb7b8                                                                  |     goto label_87;
                                                                                         | label_258:
    0x0000c35c addiu a0, sp, 0x2c0                                                       |     a0 = sp + aav.0x000002c0;
    0x0000c360 addiu a2, sp, 0x250                                                       |     a2 = sp + 0x250;
    0x0000c364 move s1, a0                                                               |     s1 = a0;
    0x0000c368 jalr t9                                                                   |     t9 ();
    0x0000c36c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c370 b 0xc004                                                                  |     goto label_88;
                                                                                         | label_256:
    0x0000c374 lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x0000c378 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x0000c37c lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x0000c380 addiu a0, a0, -0x2a80                                                     |     a0 += -0x2a80;
    0x0000c384 addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x0000c388 addiu a2, zero, 0x3e8                                                     |     a2 = 0x3e8;
    0x0000c38c addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x0000c390 jalr t9                                                                   |     t9 ();
                                                                                         | label_243:
    0x0000c394 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
    0x0000c398 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x0000c39c addiu a0, a0, -0x2aa8                                                     |     a0 += -0x2aa8;
    0x0000c3a0 addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x0000c3a4 addiu a2, zero, 0x391                                                     |     a2 = 0x391;
    0x0000c3a8 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x0000c3ac jalr t9                                                                   |     t9 ();
                                                                                         | label_242:
    0x0000c3b0 lw a0, -0x7fd4(gp)                                                        |     a0 = *((gp - 8181));
    0x0000c3b4 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x0000c3b8 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x0000c3bc addiu a0, a0, -0x2b00                                                     |     a0 += -0x2b00;
    0x0000c3c0 addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x0000c3c4 addiu a2, zero, 0x38d                                                     |     a2 = 0x38d;
    0x0000c3c8 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x0000c3cc jalr t9                                                                   |     t9 ();
                                                                                         | label_217:
    0x0000c3d0 lw t1, 0x10(s2)                                                           |     t1 = *((s2 + 4));
    0x0000c3d4 addiu t1, t1, 1                                                           |     t1++;
    0x0000c3d8 sw t1, 0x10(s2)                                                           |     *((s2 + 4)) = t1;
    0x0000c3dc b 0xb080                                                                  |     goto label_89;
                                                                                         | label_216:
    0x0000c3e0 lw a1, -0x7fd4(gp)                                                        |     a1 = *((gp - 8181));
    0x0000c3e4 lw a3, -0x7fd4(gp)                                                        |     a3 = *((gp - 8181));
    0x0000c3e8 lw t9, -0x7f0c(gp)                                                        |     t9 = sym.imp.__assert;
    0x0000c3ec addiu a0, a0, -0x2a6c                                                     |     a0 += -0x2a6c;
    0x0000c3f0 addiu a1, a1, -0x2af4                                                     |     a1 += -0x2af4;
    0x0000c3f4 addiu a2, zero, 0x285                                                     |     a2 = 0x285;
    0x0000c3f8 addiu a3, a3, -0x29e8                                                     |     a3 += -0x29e8;
    0x0000c3fc jalr t9                                                                   |     t9 ();
                                                                                         | label_210:
    0x0000c400 lbu v0, (v0)                                                              |     v0 = *(v0);
    0x0000c404 sw a0, (v1)                                                               |     *(v1) = a0;
                                                                                         |     if (v0 == 0) {
    0x0000c408 beqz v0, 0xae5c                                                           |         goto label_90;
                                                                                         |     }
                                                                                         |     do {
    0x0000c40c lw v0, 0xec(s0)                                                           |         v0 = *((s0 + 59));
    0x0000c410 lw v1, 0xf0(s0)                                                           |         v1 = *((s0 + 60));
    0x0000c414 lw t9, -0x7ea4(gp)                                                        |         t9 = *(gp);
    0x0000c418 lw a2, (v0)                                                               |         a2 = *(v0);
    0x0000c41c lw a1, 0xc(v0)                                                            |         a1 = *((v0 + 3));
    0x0000c420 addiu a0, sp, 0x2e4                                                       |         a0 = sp + 0x2e4;
    0x0000c424 sw a2, 4(v0)                                                              |         *((v0 + 1)) = a2;
    0x0000c428 sw a1, 0x10(v0)                                                           |         *((v0 + 4)) = a1;
    0x0000c42c lw a2, 0xc0(s0)                                                           |         a2 = *((s0 + 48));
    0x0000c430 lw a1, 0x310(sp)                                                          |         a1 = *(var_310h);
    0x0000c434 sw v1, 0xf4(s0)                                                           |         *((s0 + 61)) = v1;
    0x0000c438 addiu s2, sp, 0x26c                                                       |         s2 = sp + 0x26c;
    0x0000c43c jalr t9                                                                   |         t9 ();
    0x0000c440 lw gp, 0x28(sp)                                                           |         gp = *(var_28h);
    0x0000c444 addiu a0, sp, 0x26c                                                       |         a0 = sp + 0x26c;
    0x0000c448 lw t9, -0x7e7c(gp)                                                        |         t9 = *(gp);
    0x0000c44c b 0xab9c                                                                  |         goto label_91;
                                                                                         | label_209:
    0x0000c450 lw a0, (v1)                                                               |         a0 = *(v1);
    0x0000c454 addiu a0, a0, -1                                                          |         a0 += -1;
                                                                                         |         if (a0 != 0) {
    0x0000c458 beqz a0, 0xc4cc                                                           |             
                                                                                         | label_139:
    0x0000c45c sw a0, (v1)                                                               |             *(v1) = a0;
    0x0000c460 b 0xae5c                                                                  |             goto label_90;
                                                                                         | label_244:
    0x0000c464 lw a0, -0x7fd4(gp)                                                        |             a0 = *((gp - 8181));
    0x0000c468 lw t9, -0x7f0c(gp)                                                        |             t9 = sym.imp.__assert;
    0x0000c46c addiu a0, a0, -0x2a94                                                     |             a0 += -0x2a94;
    0x0000c470 addiu a2, zero, 0x392                                                     |             a2 = 0x392;
    0x0000c474 addiu a3, a3, -0x29e8                                                     |             a3 += -0x29e8;
    0x0000c478 jalr t9                                                                   |             t9 ();
                                                                                         | label_259:
    0x0000c47c lw t9, -0x7f98(gp)                                                        |             t9 = *(gp);
    0x0000c480 addiu a0, sp, 0x2c0                                                       |             a0 = sp + aav.0x000002c0;
    0x0000c484 addiu a2, sp, 0x250                                                       |             a2 = sp + 0x250;
    0x0000c488 move s1, a0                                                               |             s1 = a0;
    0x0000c48c jalr t9                                                                   |             t9 ();
    0x0000c490 lw gp, 0x28(sp)                                                           |             gp = *(var_28h);
    0x0000c494 lw t0, 0x250(sp)                                                          |             t0 = *(var_250h);
    0x0000c498 lw a2, 0x254(sp)                                                          |             a2 = *(var_254h);
    0x0000c49c lw a0, 0x258(sp)                                                          |             a0 = *(var_258h);
    0x0000c4a0 lw v1, 0x25c(sp)                                                          |             v1 = *(var_25ch);
    0x0000c4a4 b 0xc198                                                                  |             goto label_92;
                                                                                         | label_251:
    0x0000c4a8 lw a0, -0x7fd4(gp)                                                        |             a0 = *((gp - 8181));
    0x0000c4ac lw a1, -0x7fd4(gp)                                                        |             a1 = *((gp - 8181));
    0x0000c4b0 lw a3, -0x7fd4(gp)                                                        |             a3 = *((gp - 8181));
    0x0000c4b4 lw t9, -0x7f0c(gp)                                                        |             t9 = sym.imp.__assert;
    0x0000c4b8 addiu a0, a0, -0x2a6c                                                     |             a0 += -0x2a6c;
    0x0000c4bc addiu a1, a1, -0x2af4                                                     |             a1 += -0x2af4;
    0x0000c4c0 addiu a2, zero, 0x32a                                                     |             a2 = 0x32a;
    0x0000c4c4 addiu a3, a3, -0x29e8                                                     |             a3 += -0x29e8;
    0x0000c4c8 jalr t9                                                                   |             t9 ();
                                                                                         |         }
    0x0000c4cc addiu v1, zero, 1                                                         |         v1 = 1;
    0x0000c4d0 sb v1, (v0)                                                               |         *(v0) = v1;
    0x0000c4d4 lw v0, -0x7fac(gp)                                                        |         v0 = *(gp);
    0x0000c4d8 addiu v1, zero, 0x32                                                      |         v1 = 0x32;
    0x0000c4dc sw v1, (v0)                                                               |         *(v0) = v1;
    0x0000c4e0 b 0xc40c                                                                  |         
                                                                                         |     } while (1);
                                                                                         | label_146:
    0x0000c4f4 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x0000c4f8 lw a3, 0x2a0(sp)                                                          |     a3 = *(var_2a0h);
    0x0000c4fc subu a3, a3, v0                                                           |     __asm ("subu a3, a3, v0");
    0x0000c500 sra a3, a3, 4                                                             |     a3 >>= 4;
    0x0000c504 b 0x9340                                                                  |     goto label_93;
                                                                                         | label_134:
    0x0000c514 lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x0000c518 jalr t9                                                                   |     t9 ();
    0x0000c51c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c520 lw a1, 0x2a0(sp)                                                          |     a1 = *(var_2a0h);
    0x0000c524 lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x0000c528 lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x0000c52c lw a3, 0x264(sp)                                                          |     a3 = *(var_264h);
    0x0000c530 subu t0, a1, v0                                                           |     __asm ("subu t0, a1, v0");
    0x0000c534 sra a2, t0, 4                                                             |     a2 = t0 >> 4;
    0x0000c538 b 0x8df8                                                                  |     goto label_94;
                                                                                         | label_133:
    0x0000c53c lw v0, 0x29c(sp)                                                          |     v0 = *(var_29ch);
    0x0000c540 lw a2, 0x2a0(sp)                                                          |     a2 = *(var_2a0h);
    0x0000c544 subu a2, a2, v0                                                           |     __asm ("subu a2, a2, v0");
    0x0000c548 sra a2, a2, 4                                                             |     a2 >>= 4;
    0x0000c54c b 0x8ec0                                                                  |     goto label_95;
                                                                                         | label_142:
    0x0000c570 addiu s5, sp, 0x284                                                       |     s5 = sp + aav.0x00000284;
    0x0000c574 sw s5, 0x2fc(sp)                                                          |     *(var_2fch) = s5;
    0x0000c578 b 0x91e0                                                                  |     goto label_96;
                                                                                         | label_131:
    0x0000c58c lw t9, -0x7f98(gp)                                                        |     t9 = *(gp);
    0x0000c590 lw a0, 0x2fc(sp)                                                          |     a0 = *(var_2fch);
    0x0000c594 jalr t9                                                                   |     t9 ();
    0x0000c598 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c59c lw t0, 0x29c(sp)                                                          |     t0 = *(var_29ch);
    0x0000c5a0 lw v1, 0x260(sp)                                                          |     v1 = *(var_260h);
    0x0000c5a4 lw a3, 0x264(sp)                                                          |     a3 = *(var_264h);
    0x0000c5a8 b 0x8c8c                                                                  |     goto label_97;
                                                                                         | label_129:
    0x0000c5ac addiu s4, sp, 0x284                                                       |     s4 = sp + aav.0x00000284;
    0x0000c5b0 sw s4, 0x2fc(sp)                                                          |     *(var_2fch) = s4;
    0x0000c5b4 b 0x8d60                                                                  |     goto label_98;
                                                                                         | label_126:
    0x0000c5fc lw t9, -0x7f7c(gp)                                                        |     t9 = *(gp);
    0x0000c600 jalr t9                                                                   |     t9 ();
    0x0000c604 nop                                                                       |     
                                                                                         | label_124:
    0x0000c608 addiu s4, sp, 0x29c                                                       |     s4 = sp + 0x29c;
    0x0000c60c sw s4, 0x2f8(sp)                                                          |     *(var_2f8h) = s4;
    0x0000c610 b 0x8b98                                                                  |     goto label_99;
                                                                                         | label_123:
    0x0000c644 jalr t9                                                                   |     t9 ();
    0x0000c648 nop                                                                       |     
    0x0000c64c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c650 lw a1, 0x300(sp)                                                          |     a1 = *(var_300h);
    0x0000c654 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x0000c658 addiu s2, sp, 0x214                                                       |     s2 = sp + 0x214;
    0x0000c65c move a0, s2                                                               |     a0 = s2;
    0x0000c660 jalr t9                                                                   |     t9 ();
    0x0000c664 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c668 lw t9, -0x7e80(gp)                                                        |     t9 = *(gp);
    0x0000c66c addiu s1, sp, 0x200                                                       |     s1 = sp + 0x200;
    0x0000c670 move a0, s1                                                               |     a0 = s1;
    0x0000c674 move a1, s0                                                               |     a1 = s0;
    0x0000c678 jalr t9                                                                   |     t9 ();
    0x0000c67c lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c680 addiu v0, sp, 0x118                                                       |     v0 = sp + 0x118;
    0x0000c684 sw v0, 0x138(sp)                                                          |     *(var_138h) = v0;
    0x0000c688 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x0000c68c addiu v0, sp, 0x140                                                       |     v0 = sp + aav.0x00000140;
    0x0000c690 addiu s3, sp, 0x1ec                                                       |     s3 = sp + 0x1ec;
    0x0000c694 sw v0, 0x13c(sp)                                                          |     *(var_13ch) = v0;
    0x0000c698 lui v0, 0x42ff                                                            |     v0 = 0x42ff0000;
    0x0000c69c sw zero, 0x144(sp)                                                        |     *(var_144h) = 0;
    0x0000c6a0 sw zero, 0x140(sp)                                                        |     *(var_140h) = 0;
    0x0000c6a4 move a0, s3                                                               |     a0 = s3;
    0x0000c6a8 addiu a1, sp, 0x110                                                       |     a1 = sp + 0x110;
    0x0000c6ac sw v0, 0x110(sp)                                                          |     *(var_110h) = v0;
    0x0000c6b0 sw zero, 0x11c(sp)                                                        |     *(var_11ch) = 0;
    0x0000c6b4 sw zero, 0x118(sp)                                                        |     *(var_118h) = 0;
    0x0000c6b8 sw zero, 0x114(sp)                                                        |     *(var_114h) = 0;
    0x0000c6bc sw zero, 0x130(sp)                                                        |     *(var_130h) = 0;
    0x0000c6c0 sw zero, 0x12c(sp)                                                        |     *(var_12ch) = 0;
    0x0000c6c4 sw zero, 0x128(sp)                                                        |     *(var_128h) = 0;
    0x0000c6c8 sw zero, 0x120(sp)                                                        |     *(var_120h) = 0;
    0x0000c6cc sw zero, 0x124(sp)                                                        |     *(var_124h) = 0;
    0x0000c6d0 sw zero, 0x134(sp)                                                        |     *(var_134h) = 0;
    0x0000c6d4 lw s6, 0x100(s0)                                                          |     s6 = *((s0 + 64));
    0x0000c6d8 jalr t9                                                                   |     t9 ();
    0x0000c6dc lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c6e0 lw t9, -0x7ec4(gp)                                                        |     t9 = *(gp);
    0x0000c6e4 addiu v1, zero, 1                                                         |     v1 = 1;
    0x0000c6e8 addiu v0, zero, -1                                                        |     v0 = -1;
    0x0000c6ec addiu s5, sp, 0x2cc                                                       |     s5 = sp + 0x2cc;
    0x0000c6f0 sw v1, 0x10(sp)                                                           |     *(var_10h) = v1;
    0x0000c6f4 sw zero, 0x14(sp)                                                         |     *(var_14h) = 0;
    0x0000c6f8 sw v1, 0x18(sp)                                                           |     *(var_18h) = v1;
    0x0000c6fc sw s3, 0x1c(sp)                                                           |     *(var_1ch) = s3;
    0x0000c700 sw s5, 0x20(sp)                                                           |     *(var_20h) = s5;
    0x0000c704 move a0, s4                                                               |     a0 = s4;
    0x0000c708 move a1, s2                                                               |     a1 = s2;
    0x0000c70c move a2, s1                                                               |     a2 = s1;
    0x0000c710 move a3, s6                                                               |     a3 = s6;
    0x0000c714 sw v0, 0x2cc(sp)                                                          |     *(var_2cch) = v0;
    0x0000c718 sw v0, 0x2d0(sp)                                                          |     *(var_2d0h) = v0;
    0x0000c71c jalr t9                                                                   |     t9 ();
    0x0000c720 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c724 lw t9, -0x7f18(gp)                                                        |     t9 = *(gp);
    0x0000c728 addiu a0, sp, 0x110                                                       |     a0 = sp + 0x110;
    0x0000c72c jalr t9                                                                   |     t9 ();
    0x0000c730 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c734 b 0x89cc                                                                  |     goto label_100;
                                                                                         | label_122:
    0x0000c738 lw a0, 0x2f8(sp)                                                          |     a0 = *(var_2f8h);
    0x0000c73c addiu a2, sp, 0x250                                                       |     a2 = sp + 0x250;
    0x0000c740 jalr t9                                                                   |     t9 ();
    0x0000c744 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c748 b 0x867c                                                                  |     goto label_4;
                                                                                         | label_119:
    0x0000c78c addiu v1, zero, 1                                                         |     v1 = 1;
    0x0000c790 sb v1, (v0)                                                               |     *(v0) = v1;
    0x0000c794 lw v0, -0x7ed8(gp)                                                        |     v0 = *(gp);
    0x0000c798 sw a1, (v0)                                                               |     *(v0) = a1;
    0x0000c79c b 0x9534                                                                  |     goto label_101;
                                                                                         | label_116:
    0x0000c7d4 lw t9, -0x7f7c(gp)                                                        |     t9 = *(gp);
    0x0000c7d8 jalr t9                                                                   |     t9 ();
    0x0000c7dc nop                                                                       |     
                                                                                         | label_113:
    0x0000c7e0 addiu a0, sp, 0x68                                                        |     a0 = sp + 0x68;
    0x0000c7e4 jalr t9                                                                   |     t9 ();
    0x0000c7e8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c7ec b 0x84ac                                                                  |     goto label_102;
                                                                                         | label_112:
    0x0000c820 jalr t9                                                                   |     t9 ();
    0x0000c824 nop                                                                       |     
    0x0000c828 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c82c lw a1, 0x300(sp)                                                          |     a1 = *(var_300h);
    0x0000c830 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x0000c834 addiu s2, sp, 0x214                                                       |     s2 = sp + 0x214;
    0x0000c838 move a0, s2                                                               |     a0 = s2;
    0x0000c83c jalr t9                                                                   |     t9 ();
    0x0000c840 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c844 lw t9, -0x7e80(gp)                                                        |     t9 = *(gp);
    0x0000c848 addiu s1, sp, 0x200                                                       |     s1 = sp + 0x200;
    0x0000c84c move a0, s1                                                               |     a0 = s1;
    0x0000c850 move a1, s0                                                               |     a1 = s0;
    0x0000c854 jalr t9                                                                   |     t9 ();
    0x0000c858 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c85c addiu v0, sp, 0xa8                                                        |     v0 = sp + 0xa8;
    0x0000c860 sw v0, 0xc8(sp)                                                           |     *(var_c8h) = v0;
    0x0000c864 lw t9, -0x7f30(gp)                                                        |     t9 = *(gp);
    0x0000c868 addiu v0, sp, 0xd0                                                        |     v0 = sp + 0xd0;
    0x0000c86c addiu s3, sp, 0x1ec                                                       |     s3 = sp + 0x1ec;
    0x0000c870 sw v0, 0xcc(sp)                                                           |     *(var_cch) = v0;
    0x0000c874 lui v0, 0x42ff                                                            |     v0 = 0x42ff0000;
    0x0000c878 sw zero, 0xd4(sp)                                                         |     *(var_d4h) = 0;
    0x0000c87c sw zero, 0xd0(sp)                                                         |     *(var_d0h) = 0;
    0x0000c880 move a0, s3                                                               |     a0 = s3;
    0x0000c884 addiu a1, sp, 0xa0                                                        |     a1 = sp + 0xa0;
    0x0000c888 sw v0, 0xa0(sp)                                                           |     *(var_a0h) = v0;
    0x0000c88c sw zero, 0xac(sp)                                                         |     *(var_ach) = 0;
    0x0000c890 sw zero, 0xa8(sp)                                                         |     *(var_a8h) = 0;
    0x0000c894 sw zero, 0xa4(sp)                                                         |     *(var_a4h) = 0;
    0x0000c898 sw zero, 0xc0(sp)                                                         |     *(var_c0h) = 0;
    0x0000c89c sw zero, 0xbc(sp)                                                         |     *(var_bch) = 0;
    0x0000c8a0 sw zero, 0xb8(sp)                                                         |     *(var_b8h) = 0;
    0x0000c8a4 sw zero, 0xb0(sp)                                                         |     *(var_b0h) = 0;
    0x0000c8a8 sw zero, 0xb4(sp)                                                         |     *(var_b4h) = 0;
    0x0000c8ac sw zero, 0xc4(sp)                                                         |     *(var_c4h) = 0;
    0x0000c8b0 lw s6, 0x100(s0)                                                          |     s6 = *((s0 + 64));
    0x0000c8b4 jalr t9                                                                   |     t9 ();
    0x0000c8b8 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c8bc addiu v1, zero, 1                                                         |     v1 = 1;
    0x0000c8c0 lw t9, -0x7ec4(gp)                                                        |     t9 = *(gp);
    0x0000c8c4 addiu v0, zero, -1                                                        |     v0 = -1;
    0x0000c8c8 addiu s5, sp, 0x2cc                                                       |     s5 = sp + 0x2cc;
    0x0000c8cc sw v1, 0x10(sp)                                                           |     *(var_10h) = v1;
    0x0000c8d0 addiu v1, zero, 2                                                         |     v1 = 2;
    0x0000c8d4 sw zero, 0x14(sp)                                                         |     *(var_14h) = 0;
    0x0000c8d8 sw v1, 0x18(sp)                                                           |     *(var_18h) = v1;
    0x0000c8dc sw s3, 0x1c(sp)                                                           |     *(var_1ch) = s3;
    0x0000c8e0 sw s5, 0x20(sp)                                                           |     *(var_20h) = s5;
    0x0000c8e4 move a0, s4                                                               |     a0 = s4;
    0x0000c8e8 move a1, s2                                                               |     a1 = s2;
    0x0000c8ec move a2, s1                                                               |     a2 = s1;
    0x0000c8f0 move a3, s6                                                               |     a3 = s6;
    0x0000c8f4 sw v0, 0x2cc(sp)                                                          |     *(var_2cch) = v0;
    0x0000c8f8 sw v0, 0x2d0(sp)                                                          |     *(var_2d0h) = v0;
    0x0000c8fc jalr t9                                                                   |     t9 ();
    0x0000c900 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c904 lw t9, -0x7f18(gp)                                                        |     t9 = *(gp);
    0x0000c908 addiu a0, sp, 0xa0                                                        |     a0 = sp + 0xa0;
    0x0000c90c jalr t9                                                                   |     t9 ();
    0x0000c910 lw gp, 0x28(sp)                                                           |     gp = *(var_28h);
    0x0000c914 b 0x8500                                                                  |     goto label_103;
                                                                                         | }
Error: no data available.
Please analyze the function/binary first.
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xd0e0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.__do_global_ctors_aux ()         | void do_global_ctors_aux () {
    0x0000d0e0 lui gp, 2                         |     
    0x0000d0e4 addiu gp, gp, -0x6c60             |     
    0x0000d0e8 addu gp, gp, t9                   |     gp += t9;
    0x0000d0ec lw v0, -0x7fe4(gp)                |     v0 = *((gp - 8185));
    0x0000d0f0 addiu sp, sp, -0x28               |     
    0x0000d0f4 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0000d0f8 lw t9, -0x1b98(v0)                |     t9 = *((v0 - 1766));
    0x0000d0fc addiu v0, zero, -1                |     v0 = -1;
    0x0000d100 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0000d104 sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x0000d108 sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x0000d10c lw s0, -0x7fe4(gp)                |     s0 = *((gp - 8185));
                                                 |     if (t9 == v0) {
    0x0000d110 beq t9, v0, 0xd130                |         goto label_0;
                                                 |     }
    0x0000d114 addiu s1, zero, -1                |     s1 = -1;
                                                 |     /* obj.__CTOR_LIST__ */
    0x0000d118 addiu s0, s0, -0x1b9c             |     s0 += -0x1b9c;
                                                 |     do {
    0x0000d11c addiu s0, s0, -4                  |         s0 += -4;
    0x0000d120 jalr t9                           |         t9 ();
    0x0000d124 lw t9, 4(s0)                      |         t9 = *((s0 + 1));
    0x0000d128 bne t9, s1, 0xd11c                |         
                                                 |     } while (t9 != s1);
    0x0000d12c nop                               |     
                                                 | label_0:
    0x0000d130 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0000d134 lw s1, 0x20(sp)                   |     s1 = *(var_20h);
    0x0000d138 lw s0, 0x1c(sp)                   |     s0 = *(var_1ch);
    0x0000d13c addiu sp, sp, 0x28                |     
    0x0000d140 jr ra                             |     return v0;
                                                 | }

[*] Function strcat used 1 times libmove_inf.so