[*] Binary protection state of libsqlite3.so.0.8.6

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


[*] Function popen tear down of libsqlite3.so.0.8.6

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsqlite3.so.0.8.6 @ 0x70c4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x000070c4 lui gp, 0x14              |     
    0x000070c8 addiu gp, gp, -0x2ba4     |     
    0x000070cc addu gp, gp, t9           |     gp += t9;
    0x000070d0 addiu sp, sp, -0x20       |     
    0x000070d4 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x000070d8 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x000070dc sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000070e0 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x000070e4 lbu v0, -0x34f0(s0)       |     v0 = *((s0 - 13552));
    0x000070e8 lw v0, -0x7c0c(gp)        |     v0 = *((gp - 7939));
                                         |     if (v0 == 0) {
    0x000070ec bnez v0, 0x7120           |         
    0x000070f0 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x000070f4 beqz v0, 0x7108           |             
    0x000070f8 lw t9, -0x7c0c(gp)        |             t9 = *((gp - 7939));
    0x000070fc lw a0, (v0)               |             a0 = *(v0);
    0x00007100 jalr t9                   |             t9 ();
    0x00007104 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x00007108 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x0000710c addiu t9, t9, 0x7040      |         t9 += entry0;
    0x00007110 bal 0x7040                |         entry0 ();
    0x00007114 nop                       |         
    0x00007118 addiu v0, zero, 1         |         v0 = 1;
    0x0000711c sb v0, -0x34f0(s0)        |         *((s0 - 13552)) = v0;
                                         |     }
    0x00007120 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x00007124 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x00007128 addiu sp, sp, 0x20        |     
    0x0000712c jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsqlite3.so.0.8.6 @ 0x9525c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0009525c ()                  | void fcn_0009525c () {
    0x0009525c lui gp, 0xb                   |     
    0x00095260 addiu gp, gp, -0xd3c          |     
    0x00095264 addu gp, gp, t9               |     gp += t9;
    0x00095268 addiu sp, sp, -0xe8           |     
    0x0009526c sw s4, 0xd0(sp)               |     *(var_d0h) = s4;
    0x00095270 lw s4, -0x7c68(gp)            |     s4 = *((gp - 7962));
    0x00095274 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00095278 sw s6, 0xd8(sp)               |     *(var_d8h) = s6;
    0x0009527c lw v0, (s4)                   |     v0 = *(s4);
    0x00095280 sw s3, 0xcc(sp)               |     *(var_cch) = s3;
    0x00095284 sw v0, 0xbc(sp)               |     *(var_bch) = v0;
    0x00095288 lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
    0x0009528c sw s2, 0xc8(sp)               |     *(var_c8h) = s2;
    0x00095290 sw s1, 0xc4(sp)               |     *(var_c4h) = s1;
    0x00095294 sw ra, 0xe4(sp)               |     *(var_e4h) = ra;
    0x00095298 sw fp, 0xe0(sp)               |     *(var_e0h) = fp;
    0x0009529c sw s7, 0xdc(sp)               |     *(var_dch) = s7;
    0x000952a0 sw s5, 0xd4(sp)               |     *(var_d4h) = s5;
    0x000952a4 sw s0, 0xc0(sp)               |     *(var_c0h) = s0;
    0x000952a8 move s1, a1                   |     s1 = a1;
    0x000952ac move s6, a0                   |     s6 = a0;
    0x000952b0 move s3, a2                   |     s3 = a2;
    0x000952b4 sw a3, 0x24(sp)               |     *(var_24h) = a3;
    0x000952b8 andi s2, v0, 0x100            |     s2 = v0 & aav.0x00000100;
                                             |     if (a1 == 0) {
    0x000952bc beqz a1, 0x954ac              |         goto label_26;
                                             |     }
    0x000952c0 lb s0, (a1)                   |     s0 = *(a1);
    0x000952c4 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000952c8 lw t9, -0x7c08(gp)            |     t9 = *((gp - 7938));
    0x000952cc addiu a1, a1, -0x5d90         |     a1 += -0x5d90;
    0x000952d0 move a0, s1                   |     a0 = s1;
    0x000952d4 jalr t9                       |     t9 ();
    0x000952d8 sltiu s5, s0, 1               |     s5 = (s0 < 1) ? 1 : 0;
    0x000952dc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000952e0 beqz v0, 0x954bc              |         goto label_27;
                                             |     }
                                             |     if (s0 == 0) {
    0x000952e4 beql s0, zero, 0x954b0        |         goto label_28;
                                             |     }
    0x000952e8 lbu v1, 0x50(s3)              |     v1 = *((s3 + 80));
    0x000952ec move s5, zero                 |     s5 = 0;
                                             | label_0:
    0x000952f0 lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
    0x000952f4 andi v0, v0, 0x80             |     v0 &= 0x80;
    0x000952f8 lw v0, 0xf8(sp)               |     v0 = *(arg_f8h);
                                             |     if (v0 == 0) {
    0x000952fc bnel v0, zero, 0x954c0        |         goto label_29;
                                             |     }
    0x00095300 lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
                                             |     if (s2 == 0) {
    0x00095304 beqz s2, 0x954d4              |         goto label_30;
                                             |     }
    0x00095308 move s2, zero                 |     s2 = 0;
                                             |     if (s5 == 0) {
    0x0009530c bnel s5, zero, 0x95c00        |         goto label_31;
                                             |     }
    0x00095310 lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
    0x00095314 addiu a0, zero, 0x30          |     a0 = 0x30;
    0x00095318 addiu t9, v0, 0x5490          |     t9 = v0 + 0x5490;
    0x0009531c move a1, zero                 |     a1 = 0;
    0x00095320 sw t9, 0x2c(sp)               |     *(var_2ch) = t9;
    0x00095324 jalr t9                       |     t9 ();
    0x00095328 move s0, v0                   |     s0 = v0;
    0x0009532c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00095330 beqz v0, 0x95c44              |         goto label_32;
                                             |     }
    0x00095334 addiu v0, zero, 1             |     v0 = 1;
    0x00095338 sb zero, 8(s0)                |     *((s0 + 8)) = 0;
    0x0009533c sw s3, (s0)                   |     *(s0) = s3;
    0x00095340 sw s0, 0x20(s0)               |     *((s0 + 8)) = s0;
    0x00095344 sw v0, 0x24(s0)               |     *((s0 + 9)) = v0;
    0x00095348 move s2, zero                 |     s2 = 0;
                                             | label_2:
    0x0009534c lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
    0x00095350 ext v0, v0, 0x11, 1           |     __asm ("ext v0, v0, 0x11, 1");
                                             |     if (v0 == 0) {
    0x00095354 beql v0, zero, 0x95510        |         goto label_3;
                                             |     }
    0x00095358 sw zero, 0x28(sp)             |     *(var_28h) = 0;
                                             | label_4:
    0x0009535c lw t9, -0x7d84(gp)            |     t9 = *((gp - 8033));
                                             |     if (s1 == 0) {
    0x00095360 beqz s1, 0x96010              |         goto label_33;
                                             |     }
    0x00095364 move a0, s1                   |     a0 = s1;
    0x00095368 jalr t9                       |     t9 ();
    0x0009536c ext v0, v0, 0, 0x1e           |     __asm ("ext v0, v0, 0, 0x1e");
    0x00095370 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095374 addiu s7, v0, 1               |     s7 = v0 + 1;
                                             | label_17:
    0x00095378 lw fp, 8(s6)                  |     fp = *((s6 + 2));
    0x0009537c lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
    0x00095380 addiu fp, fp, 1               |     fp++;
    0x00095384 slt a0, fp, s7                |     a0 = (fp < s7) ? 1 : 0;
    0x00095388 move v0, s7                   |     v0 = s7;
                                             |     if (a0 != 0) {
    0x0009538c movz v0, fp, a0               |         v0 = fp;
                                             |     }
    0x00095390 move a0, v0                   |     a0 = v0;
    0x00095394 addiu t9, t9, 0x5294          |     t9 += 0x5294;
    0x00095398 sra a1, v0, 0x1f              |     a1 = v0 >> 0x1f;
    0x0009539c jalr t9                       |     t9 ();
    0x000953a0 move s5, v0                   |     s5 = v0;
    0x000953a4 addiu v0, zero, 1             |     v0 = 1;
    0x000953a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000953ac sb v0, 9(s0)                  |     *((s0 + 9)) = v0;
                                             |     if (s5 == 0) {
    0x000953b0 beqz s5, 0x9625c              |         goto label_34;
                                             |     }
    0x000953b4 move a2, fp                   |     a2 = fp;
                                             |     if (s2 != 0) {
    0x000953b8 bnez s2, 0x95cbc              |         goto label_35;
                                             |     }
    0x000953bc sb zero, (s5)                 |     *(s5) = 0;
    0x000953c0 lw t9, 0x24(s6)               |     t9 = *((s6 + 9));
    0x000953c4 move a3, s5                   |     a3 = s5;
    0x000953c8 move a1, s1                   |     a1 = s1;
    0x000953cc move a0, s6                   |     a0 = s6;
    0x000953d0 jalr t9                       |     t9 ();
    0x000953d4 move fp, v0                   |     fp = v0;
    0x000953d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000953dc bnez v0, 0x96078              |         goto label_36;
                                             |     }
                                             | label_6:
    0x000953e0 lw fp, -0x7fe4(gp)            |     fp = *((gp - 8185));
    0x000953e4 addiu fp, fp, -0x4d70         |     fp += -0x4d70;
    0x000953e8 lw v0, 4(fp)                  |     v0 = *(arg_4h);
                                             |     if (v0 != 0) {
    0x000953ec beql v0, zero, 0x95408        |         
    0x000953f0 sw zero, 0x28(sp)             |         *(var_28h) = 0;
    0x000953f4 lw t9, 0x54(fp)               |         t9 = *(arg_54h);
    0x000953f8 addiu a0, zero, 4             |         a0 = 4;
    0x000953fc jalr t9                       |         t9 ();
    0x00095400 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095404 sw v0, 0x28(sp)               |         *(var_28h) = v0;
                                             |     }
    0x00095408 lw t9, -0x7dd4(gp)            |     t9 = *((gp - 8053));
    0x0009540c lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00095410 jalr t9                       |     t9 ();
    0x00095414 lw v0, 4(fp)                  |     v0 = *(arg_4h);
    0x00095418 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0009541c beqz v0, 0x96070              |         goto label_37;
                                             |     }
    0x00095420 lw t9, 0x54(fp)               |     t9 = *(arg_54h);
    0x00095424 addiu a0, zero, 2             |     a0 = 2;
    0x00095428 jalr t9                       |     t9 ();
    0x0009542c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095430 sw v0, 0x30(sp)               |     *(var_30h) = v0;
                                             | label_22:
    0x00095434 lw t9, -0x7dd4(gp)            |     t9 = *((gp - 8053));
    0x00095438 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x0009543c jalr t9                       |     t9 ();
    0x00095440 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095444 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x00095448 lw s7, -0x3378(v0)            |     s7 = *((v0 - 3294));
    0x0009544c lw t9, -0x7dac(gp)            |     t9 = *((gp - 8043));
                                             |     if (s7 == 0) {
    0x00095450 beqz s7, 0x9548c              |         goto label_38;
                                             |     }
    0x00095454 lw fp, (s7)                   |     fp = *(s7);
                                             |     do {
    0x00095458 lw t9, -0x7c08(gp)            |         t9 = *((gp - 7938));
    0x0009545c move a0, s5                   |         a0 = s5;
    0x00095460 lw a1, 0xa8(fp)               |         a1 = *(arg_a8h);
    0x00095464 jalr t9                       |         t9 ();
    0x00095468 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0009546c bnez v0, 0x9547c              |             
    0x00095470 lw v0, (fp)                   |             v0 = *(fp);
                                             |             if (s6 == v0) {
    0x00095474 beql s6, v0, 0x95f90          |                 goto label_39;
                                             |             }
    0x00095478 lw a0, 0x14(s3)               |             a0 = *((s3 + 5));
                                             |         }
    0x0009547c lw s7, 0x44(s7)               |         s7 = *((s7 + 17));
    0x00095480 lw fp, (s7)                   |         fp = *(s7);
    0x00095484 bnel s7, zero, 0x95458        |         
                                             |     } while (s7 == 0);
    0x00095488 lw t9, -0x7dac(gp)            |     t9 = *((gp - 8043));
                                             | label_38:
    0x0009548c lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x00095490 jalr t9                       |     t9 ();
    0x00095494 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095498 lw t9, -0x7ea4(gp)            |     t9 = *((gp - 8105));
    0x0009549c move a0, s5                   |     a0 = s5;
    0x000954a0 jalr t9                       |     t9 ();
    0x000954a4 lw t9, 0x2c(sp)               |     t9 = *(var_2ch);
    0x000954a8 b 0x95514                     |     goto label_40;
                                             | label_26:
    0x000954ac lbu v1, 0x50(s3)              |     v1 = *((s3 + 80));
                                             | label_28:
    0x000954b0 addiu v0, zero, 2             |     v0 = 2;
    0x000954b4 addiu s5, zero, 1             |     s5 = 1;
                                             |     if (v1 != v0) {
    0x000954b8 bne v1, v0, 0x952f0           |         goto label_0;
                                             |     }
                                             | label_27:
    0x000954bc lw v0, 0xf8(sp)               |     v0 = *(arg_f8h);
                                             | label_29:
    0x000954c0 ori v0, v0, 2                 |     v0 |= 2;
    0x000954c4 sw v0, 0xf8(sp)               |     *(arg_f8h) = v0;
                                             |     if (s2 != 0) {
    0x000954c8 bnez s2, 0x95bfc              |         goto label_41;
                                             |     }
    0x000954cc addiu s2, zero, 1             |     s2 = 1;
                                             | label_1:
    0x000954d0 lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
                                             | label_30:
    0x000954d4 addiu a0, zero, 0x30          |     a0 = 0x30;
    0x000954d8 addiu t9, v0, 0x5490          |     t9 = v0 + 0x5490;
    0x000954dc move a1, zero                 |     a1 = 0;
    0x000954e0 sw t9, 0x2c(sp)               |     *(var_2ch) = t9;
    0x000954e4 jalr t9                       |     t9 ();
    0x000954e8 move s0, v0                   |     s0 = v0;
    0x000954ec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000954f0 beqz v0, 0x95c44              |         goto label_32;
                                             |     }
    0x000954f4 sb zero, 8(v0)                |     *((v0 + 8)) = 0;
    0x000954f8 sw s3, (v0)                   |     *(v0) = s3;
    0x000954fc sw v0, 0x20(s0)               |     *((s0 + 8)) = v0;
    0x00095500 addiu v0, zero, 1             |     v0 = 1;
    0x00095504 sw v0, 0x24(s0)               |     *((s0 + 9)) = v0;
                                             |     if (s5 == 0) {
    0x00095508 beqz s5, 0x95c18              |         goto label_42;
                                             |     }
    0x0009550c sw zero, 0x28(sp)             |     *(var_28h) = 0;
                                             | label_3:
    0x00095510 lw t9, 0x2c(sp)               |     t9 = *(var_2ch);
                                             | label_40:
    0x00095514 addiu a0, zero, 0x54          |     a0 = 0x54;
    0x00095518 move a1, zero                 |     a1 = 0;
    0x0009551c jalr t9                       |     t9 ();
    0x00095520 move s7, v0                   |     s7 = v0;
    0x00095524 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00095528 beqz v0, 0x95cd8              |         goto label_43;
                                             |     }
    0x0009552c lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x00095530 addiu v1, zero, 0x48          |     v1 = 0x48;
    0x00095534 slti fp, v0, 0x48             |     fp = (v0 < 0x48) ? 1 : 0;
                                             |     if (fp != 0) {
    0x00095538 movz v1, v0, fp               |         v1 = v0;
                                             |     }
    0x0009553c addiu fp, v1, 7               |     fp = v1 + 7;
    0x00095540 lw v1, 0xf8(sp)               |     v1 = *(arg_f8h);
    0x00095544 addiu a0, zero, -8            |     a0 = -8;
    0x00095548 andi a2, v1, 2                |     a2 = v1 & 2;
    0x0009554c addiu v1, zero, 0x1000        |     v1 = aav.0x00001000;
    0x00095550 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x00095554 and v1, fp, a0                |     v1 = fp & a0;
    0x00095558 sw v1, 0x34(sp)               |     *(var_34h) = v1;
    0x0009555c sw zero, (s7)                 |     *(s7) = 0;
                                             |     if (a2 == 0) {
    0x00095560 beqz a2, 0x95c88              |         goto label_44;
                                             |     }
    0x00095564 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (s1 == 0) {
    0x00095568 beqz s1, 0x95e4c              |         goto label_45;
                                             |     }
    0x0009556c lb v1, (s1)                   |     v1 = *(s1);
    0x00095570 addiu v1, zero, 0x121         |     v1 = 0x121;
                                             |     if (v1 != 0) {
    0x00095574 bnez v1, 0x961b8              |         goto label_46;
                                             |     }
    0x00095578 sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x0009557c sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
    0x00095580 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x00095584 sw a0, 0x38(sp)               |     *(var_38h) = a0;
    0x00095588 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x0009558c sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x00095590 move a2, zero                 |     a2 = 0;
    0x00095594 move fp, zero                 |     fp = 0;
                                             | label_5:
    0x00095598 lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x0009559c addiu a3, zero, -8            |     a3 = -8;
    0x000955a0 addu v1, a0, v1               |     v1 = a0 + v1;
    0x000955a4 lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x000955a8 addiu v0, v0, 7               |     v0 += 7;
    0x000955ac sll a0, a0, 1                 |     a0 <<= 1;
    0x000955b0 and v0, v0, a3                |     v0 &= a3;
    0x000955b4 addu a0, v1, a0               |     a0 = v1 + a0;
    0x000955b8 lw t9, 0x2c(sp)               |     t9 = *(var_2ch);
    0x000955bc sw a2, 0x48(sp)               |     *(var_48h) = a2;
    0x000955c0 addu a0, a0, v0               |     a0 += v0;
    0x000955c4 move a1, zero                 |     a1 = 0;
    0x000955c8 jalr t9                       |     t9 ();
    0x000955cc move s5, v0                   |     s5 = v0;
    0x000955d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000955d4 addiu a3, zero, -8            |     a3 = -8;
    0x000955d8 lw a2, 0x48(sp)               |     a2 = *(var_48h);
                                             |     if (v0 == 0) {
    0x000955dc beqz v0, 0x96240              |         goto label_47;
                                             |     }
    0x000955e0 lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x000955e4 addiu t1, s5, 0x110           |     t1 = s5 + aav.0x00000110;
    0x000955e8 addiu v0, v0, 7               |     v0 += 7;
    0x000955ec and v0, v0, a3                |     v0 &= a3;
    0x000955f0 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x000955f4 addu v0, t1, v0               |     v0 = t1 + v0;
    0x000955f8 addu a1, v0, v1               |     a1 = v0 + v1;
    0x000955fc addiu a3, s5, 0xe0            |     a3 = s5 + 0xe0;
    0x00095600 addu a0, a1, v1               |     a0 = a1 + v1;
    0x00095604 sw a3, 0xd4(s5)               |     *((s5 + 53)) = a3;
    0x00095608 sw t1, 0x3c(s5)               |     *((s5 + 15)) = t1;
    0x0009560c sw v0, 0x44(s5)               |     *((s5 + 17)) = v0;
    0x00095610 sw a1, 0x40(s5)               |     *((s5 + 16)) = a1;
    0x00095614 sw a0, 0xa8(s5)               |     *((s5 + 42)) = a0;
                                             |     if (fp != 0) {
    0x00095618 beqz fp, 0x95700              |         
    0x0009561c lw v1, 0x44(sp)               |         v1 = *(var_44h);
    0x00095620 addiu v0, a2, 1               |         v0 = a2 + 1;
    0x00095624 addu v0, v0, v1               |         v0 += v1;
    0x00095628 lw t9, -0x7c64(gp)            |         t9 = *((gp - 7961));
    0x0009562c addu v0, a0, v0               |         v0 = a0 + v0;
    0x00095630 lw a2, 0x30(sp)               |         a2 = *(var_30h);
    0x00095634 sw v0, 0xac(s5)               |         *((s5 + 43)) = v0;
    0x00095638 move a1, fp                   |         a1 = fp;
    0x0009563c jalr t9                       |         t9 ();
    0x00095640 lw v1, 0x44(sp)               |         v1 = *(var_44h);
    0x00095644 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v1 != 0) {
    0x00095648 bnez v1, 0x960f0              |             goto label_48;
                                             |         }
                                             | label_24:
    0x0009564c lw t9, -0x7c64(gp)            |         t9 = *((gp - 7961));
    0x00095650 lw a0, 0xac(s5)               |         a0 = *((s5 + 43));
    0x00095654 lw a2, 0x30(sp)               |         a2 = *(var_30h);
    0x00095658 move a1, fp                   |         a1 = fp;
    0x0009565c jalr t9                       |         t9 ();
    0x00095660 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095664 lw v0, 0xac(s5)               |         v0 = *((s5 + 43));
    0x00095668 lw v1, 0x30(sp)               |         v1 = *(var_30h);
    0x0009566c lw a1, -0x7fa0(gp)            |         a1 = *((gp - 8168));
    0x00095670 addu v0, v0, v1               |         v0 += v1;
    0x00095674 addiu a0, a1, 0x17d8          |         a0 = a1 + 0x17d8;
    0x00095678 lw a2, 0x17d8(a1)             |         a2 = *((a1 + 1526));
    0x0009567c lw a1, 4(a0)                  |         a1 = *((a0 + 1));
    0x00095680 swl a2, 3(v0)                 |         __asm ("swl a2, 3(v0)");
    0x00095684 swr a2, (v0)                  |         __asm ("swr a2, (v0)");
    0x00095688 lbu a2, 8(a0)                 |         a2 = *((a0 + 8));
    0x0009568c lbu a0, 9(a0)                 |         a0 = *((a0 + 9));
    0x00095690 swl a1, 7(v0)                 |         __asm ("swl a1, 7(v0)");
    0x00095694 swr a1, 4(v0)                 |         __asm ("swr a1, 4(v0)");
    0x00095698 sb a2, 8(v0)                  |         *((v0 + 8)) = a2;
    0x0009569c sb a0, 9(v0)                  |         *((v0 + 9)) = a0;
    0x000956a0 lw v0, 0xac(s5)               |         v0 = *((s5 + 43));
    0x000956a4 addiu a0, v1, 9               |         a0 = v1 + 9;
    0x000956a8 addu v0, v0, a0               |         v0 += a0;
    0x000956ac lw t9, -0x7c64(gp)            |         t9 = *((gp - 7961));
    0x000956b0 move a2, v1                   |         a2 = v1;
    0x000956b4 move a1, fp                   |         a1 = fp;
    0x000956b8 move a0, v0                   |         a0 = v0;
    0x000956bc sw v0, 0xdc(s5)               |         *((s5 + 55)) = v0;
    0x000956c0 jalr t9                       |         t9 ();
    0x000956c4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000956c8 lw v0, 0xdc(s5)               |         v0 = *((s5 + 55));
    0x000956cc lw v1, 0x30(sp)               |         v1 = *(var_30h);
    0x000956d0 lw a0, -0x7fa0(gp)            |         a0 = *((gp - 8168));
    0x000956d4 addu v0, v0, v1               |         v0 += v1;
    0x000956d8 addiu a1, a0, 0x17e4          |         a1 = a0 + 0x17e4;
    0x000956dc lw a0, 0x17e4(a0)             |         a0 = *((a0 + 1529));
    0x000956e0 lbu a1, 4(a1)                 |         a1 = *((a1 + 4));
    0x000956e4 swl a0, 3(v0)                 |         __asm ("swl a0, 3(v0)");
    0x000956e8 lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x000956ec swr a0, (v0)                  |         __asm ("swr a0, (v0)");
    0x000956f0 move a0, fp                   |         a0 = fp;
    0x000956f4 sb a1, 4(v0)                  |         *((v0 + 4)) = a1;
    0x000956f8 jalr t9                       |         t9 ();
    0x000956fc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00095700 lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
    0x00095704 sw s6, (s5)                   |     *(s5) = s6;
    0x00095708 sw v0, 0x90(s5)               |     *((s5 + 36)) = v0;
    0x0009570c lw v0, 0x40(sp)               |     v0 = *(var_40h);
                                             |     if (v0 == 0) {
    0x00095710 beql v0, zero, 0x95f40        |         goto label_49;
                                             |     }
    0x00095714 addiu v0, zero, 0x401         |     v0 = 0x401;
    0x00095718 lb v0, (v0)                   |     v0 = *(v0);
    0x0009571c addiu v0, zero, 0x401         |     v0 = 0x401;
                                             |     if (v0 == 0) {
    0x00095720 beqz v0, 0x95f40              |         goto label_49;
                                             |     }
    0x00095724 addiu v0, sp, 0x54            |     v0 = sp + 0x54;
    0x00095728 lw a2, 0x3c(s5)               |     a2 = *((s5 + 15));
    0x0009572c lw a1, 0xa8(s5)               |     a1 = *((s5 + 42));
    0x00095730 lw t9, 0x18(s6)               |     t9 = *((s6 + 6));
    0x00095734 lui a3, 8                     |     a3 = 0x80000;
    0x00095738 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009573c lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
    0x00095740 addiu a3, a3, 0x7f7f          |     a3 += 0x7f7f;
    0x00095744 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x00095748 and a3, v0, a3                |     a3 = v0 & a3;
    0x0009574c move a0, s6                   |     a0 = s6;
    0x00095750 jalr t9                       |     t9 ();
    0x00095754 move fp, v0                   |     fp = v0;
    0x00095758 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0009575c bnez v0, 0x95e78              |         goto label_50;
                                             |     }
    0x00095760 lw v0, 0x3c(s5)               |     v0 = *((s5 + 15));
    0x00095764 lw a1, 0x54(sp)               |     a1 = *(var_54h);
    0x00095768 move a0, v0                   |     a0 = v0;
    0x0009576c lw v0, (v0)                   |     v0 = *(v0);
    0x00095770 andi fp, a1, 1                |     fp = a1 & 1;
    0x00095774 sw fp, 0x30(sp)               |     *(var_30h) = fp;
    0x00095778 lw t9, 0x30(v0)               |     t9 = *((v0 + 12));
    0x0009577c jalr t9                       |     t9 ();
    0x00095780 nop                           |     
    0x00095784 move s6, v0                   |     s6 = v0;
    0x00095788 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (fp == 0) {
    0x0009578c beqz fp, 0x96274              |         goto label_51;
                                             |     }
                                             | label_25:
    0x00095790 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x00095794 lw t9, -0x7c38(gp)            |     t9 = *((gp - 7950));
    0x00095798 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x0009579c move a2, zero                 |     a2 = 0;
    0x000957a0 addiu a1, a1, -0x5d84         |     a1 += -0x5d84;
    0x000957a4 jalr t9                       |     t9 ();
    0x000957a8 andi v1, s6, 0x2000           |     v1 = s6 & 0x2000;
    0x000957ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000957b0 sb v0, 0xd(s5)                |     *((s5 + 13)) = v0;
                                             |     if (v1 != 0) {
    0x000957b4 bnez v1, 0x96220              |         goto label_52;
                                             |     }
    0x000957b8 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000957bc lw t9, -0x7c38(gp)            |     t9 = *((gp - 7950));
    0x000957c0 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x000957c4 move a2, zero                 |     a2 = 0;
    0x000957c8 addiu a1, a1, -0x5d7c         |     a1 += -0x5d7c;
    0x000957cc jalr t9                       |     t9 ();
    0x000957d0 move s6, v0                   |     s6 = v0;
    0x000957d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000957d8 bnez v0, 0x96220              |         goto label_52;
                                             |     }
                                             | label_13:
    0x000957dc lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x000957e0 addiu a2, zero, -1            |     a2 = -1;
    0x000957e4 addiu t9, v0, 0x2000          |     t9 = v0 + 0x2000;
    0x000957e8 addiu a1, sp, 0x50            |     a1 = sp + 0x50;
    0x000957ec move a0, s5                   |     a0 = s5;
    0x000957f0 sw t9, 0x34(sp)               |     *(var_34h) = t9;
    0x000957f4 jalr t9                       |     t9 ();
    0x000957f8 move fp, v0                   |     fp = v0;
    0x000957fc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00095800 bnez v0, 0x95e78              |         goto label_50;
                                             |     }
    0x00095804 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00095808 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0009580c lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00095810 xori fp, v0, 1                |     fp = v0 ^ 1;
                                             |     if (v0 == 0) {
    0x00095814 beqz v0, 0x9609c              |         goto label_53;
                                             |     }
    0x00095818 sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
                                             | label_23:
    0x0009581c lw a3, 0xd4(s5)               |     a3 = *((s5 + 53));
    0x00095820 lw t9, -0x7dcc(gp)            |     t9 = *((gp - 8051));
    0x00095824 move a0, a3                   |     a0 = a3;
    0x00095828 addiu a2, zero, 0x30          |     a2 = 0x30;
    0x0009582c move a1, zero                 |     a1 = 0;
    0x00095830 jalr t9                       |     t9 ();
    0x00095834 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095838 move a3, v0                   |     a3 = v0;
    0x0009583c addiu a0, zero, 0x58          |     a0 = 0x58;
    0x00095840 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x00095844 sw a0, 0x1c(a3)               |     *((a3 + 7)) = a0;
    0x00095848 lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
    0x0009584c addiu a0, zero, 2             |     a0 = 2;
    0x00095850 addiu v0, zero, 1             |     v0 = 1;
    0x00095854 sb a0, 0x21(a3)               |     *((a3 + 33)) = a0;
    0x00095858 lw a1, 0x2c(sp)               |     a1 = *(var_2ch);
    0x0009585c addiu a0, zero, 0x64          |     a0 = 0x64;
    0x00095860 sw a0, 0x10(a3)               |     *((a3 + 4)) = a0;
    0x00095864 sw v0, 0x18(a3)               |     *((a3 + 6)) = v0;
    0x00095868 sb fp, 0x20(a3)               |     *((a3 + 32)) = fp;
    0x0009586c sw v1, 0x24(a3)               |     *((a3 + 9)) = v1;
    0x00095870 sw s5, 0x28(a3)               |     *((a3 + 10)) = s5;
    0x00095874 sw v0, 0x14(a3)               |     *((a3 + 5)) = v0;
    0x00095878 addiu t9, t9, -0x3e6c         |     t9 += -0x3e6c;
    0x0009587c move a0, a3                   |     a0 = a3;
    0x00095880 jalr t9                       |     t9 ();
    0x00095884 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00095888 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0009588c bnez v0, 0x95e74              |         goto label_54;
                                             |     }
    0x00095890 lw v0, 0xf8(sp)               |     v0 = *(arg_f8h);
    0x00095894 andi a0, s6, 0xff             |     a0 = s6 & 0xff;
    0x00095898 nor v0, zero, v0              |     __asm ("nor v0, zero, v0");
    0x0009589c andi v0, v0, 1                |     v0 &= 1;
    0x000958a0 sb v0, 6(s5)                  |     *((s5 + 6)) = v0;
    0x000958a4 lui v0, 0x3fff                |     v0 = 0x3fffffff;
    0x000958a8 ori v0, v0, 0xffff            |     
    0x000958ac sw v0, 0x9c(s5)               |     *((s5 + 39)) = v0;
    0x000958b0 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000958b4 sb a0, 0xc(s5)                |     *((s5 + 12)) = a0;
    0x000958b8 sb v0, 0xf(s5)                |     *((s5 + 15)) = v0;
    0x000958bc lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000958c0 sb a0, 4(s5)                  |     *((s5 + 4)) = a0;
    0x000958c4 sb a0, 0x12(s5)               |     *((s5 + 18)) = a0;
    0x000958c8 sb v0, 0xe(s5)                |     *((s5 + 14)) = v0;
    0x000958cc sb a0, 7(s5)                  |     *((s5 + 7)) = a0;
                                             |     if (s6 == 0) {
    0x000958d0 bnez s6, 0x958e0              |         
    0x000958d4 lui v0, 0xa02                 |         v0 = 0xa020001;
    0x000958d8 addiu v0, v0, 1               |         
    0x000958dc sw v0, 8(s5)                  |         *((s5 + 2)) = v0;
                                             |     }
    0x000958e0 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000958e4 addiu v0, zero, 0x58          |     v0 = 0x58;
    0x000958e8 addiu a0, zero, -1            |     a0 = -1;
    0x000958ec addiu a1, zero, -1            |     a1 = -1;
    0x000958f0 sh v0, 0x8c(s5)               |     *((s5 + 70)) = v0;
    0x000958f4 sw a0, 0xa0(s5)               |     *((s5 + 40)) = a0;
    0x000958f8 sw a1, 0xa4(s5)               |     *((s5 + 41)) = a1;
    0x000958fc addiu t9, t9, -0x2964         |     t9 += -aav.0x00002964;
    0x00095900 move a0, s5                   |     a0 = s5;
    0x00095904 jalr t9                       |     t9 ();
    0x00095908 lw v0, 0xf8(sp)               |     v0 = *(arg_f8h);
    0x0009590c andi v0, v0, 1                |     v0 &= 1;
    0x00095910 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00095914 beqz v0, 0x96034              |         goto label_55;
                                             |     }
    0x00095918 addiu v0, zero, 2             |     v0 = 2;
    0x0009591c sb v0, 5(s5)                  |     *((s5 + 5)) = v0;
                                             | label_20:
    0x00095920 lw v0, -0x7f6c(gp)            |     v0 = *((gp - 8155));
                                             | label_19:
    0x00095924 lw a0, 0x28(s5)               |     a0 = *((s5 + 10));
    0x00095928 addiu v0, v0, -0x2b6c         |     v0 += -0x2b6c;
    0x0009592c sw v0, 0xc8(s5)               |     *((s5 + 50)) = v0;
                                             |     if (a0 == 0) {
    0x00095930 beqz a0, 0x96018              |         goto label_56;
                                             |     }
    0x00095934 lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
    0x00095938 addiu v0, v0, -0x6c58         |     v0 += -0x6c58;
    0x0009593c sw v0, 0xcc(s5)               |     *((s5 + 51)) = v0;
                                             | label_18:
    0x00095940 lw v0, 0x3c(s5)               |     v0 = *((s5 + 15));
    0x00095944 lw a0, 0x30(s3)               |     a0 = *((s3 + 12));
    0x00095948 lw a1, 0x34(s3)               |     a1 = *((s3 + 13));
    0x0009594c lw v0, (v0)                   |     v0 = *(v0);
    0x00095950 sw s5, (s7)                   |     *(s7) = s5;
    0x00095954 sw a0, 0x80(s5)               |     *((s5 + 32)) = a0;
    0x00095958 sw a1, 0x84(s5)               |     *((s5 + 33)) = a1;
                                             |     if (v0 != 0) {
    0x0009595c beqz v0, 0x95988              |         
    0x00095960 lw v0, (v0)                   |         v0 = *(v0);
    0x00095964 slti v0, v0, 3                |         v0 = (v0 < 3) ? 1 : 0;
    0x00095968 lw t9, -0x7dcc(gp)            |         t9 = *((gp - 8051));
                                             |         if (v0 != 0) {
    0x0009596c bnez v0, 0x9598c              |             goto label_57;
                                             |         }
    0x00095970 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
    0x00095974 addiu t9, t9, 0x1bd0          |         t9 += 0x1bd0;
    0x00095978 move a0, s5                   |         a0 = s5;
    0x0009597c jalr t9                       |         t9 ();
    0x00095980 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095984 lw s5, (s7)                   |         s5 = *(s7);
                                             |     }
    0x00095988 lw t9, -0x7dcc(gp)            |     t9 = *((gp - 8051));
                                             | label_57:
    0x0009598c addiu a3, sp, 0x58            |     a3 = sp + 0x58;
    0x00095990 move a0, a3                   |     a0 = a3;
    0x00095994 addiu a2, zero, 0x64          |     a2 = 0x64;
    0x00095998 move a1, zero                 |     a1 = 0;
    0x0009599c jalr t9                       |     t9 ();
    0x000959a0 lw a0, 0x3c(s5)               |     a0 = *((s5 + 15));
    0x000959a4 move a3, v0                   |     a3 = v0;
    0x000959a8 lw v0, (a0)                   |     v0 = *(a0);
    0x000959ac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000959b0 beqz v0, 0x959ec              |         
    0x000959b4 move t0, zero                 |         t0 = 0;
    0x000959b8 move t1, zero                 |         t1 = 0;
    0x000959bc sw t0, 0x10(sp)               |         *(var_10h) = t0;
    0x000959c0 sw t1, 0x14(sp)               |         *(var_14h) = t1;
    0x000959c4 lw t9, 8(v0)                  |         t9 = *((v0 + 2));
    0x000959c8 addiu a2, zero, 0x64          |         a2 = 0x64;
    0x000959cc move a1, a3                   |         a1 = a3;
    0x000959d0 jalr t9                       |         t9 ();
    0x000959d4 move fp, v0                   |         fp = v0;
    0x000959d8 addiu v0, zero, 0x20a         |         v0 = 0x20a;
    0x000959dc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (fp == v0) {
    0x000959e0 beq fp, v0, 0x959ec           |             goto label_58;
                                             |         }
    0x000959e4 lw a0, (s7)                   |         a0 = *(s7);
                                             |         if (fp == 0) {
    0x000959e8 bnel fp, zero, 0x95ec4        |             goto label_59;
                                             |         }
                                             |     }
                                             | label_58:
    0x000959ec lw a0, (s7)                   |     a0 = *(s7);
    0x000959f0 lw v0, 0xf8(sp)               |     v0 = *(arg_f8h);
    0x000959f4 sb v0, 0x10(s7)               |     *((s7 + 16)) = v0;
    0x000959f8 lw v1, 0x3c(a0)               |     v1 = *((a0 + 15));
    0x000959fc lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
    0x00095a00 sw s3, 4(s7)                  |     *((s7 + 1)) = s3;
    0x00095a04 lw a1, (v1)                   |     a1 = *(v1);
    0x00095a08 addiu v0, v0, -0x4618         |     v0 += -0x4618;
    0x00095a0c sw v0, 0xb0(a0)               |     *((arg_4h + 11)) = v0;
    0x00095a10 sw s7, 0xb4(a0)               |     *((a0 + 45)) = s7;
                                             |     if (a1 != 0) {
    0x00095a14 beqz a1, 0x95a30              |         
    0x00095a18 lw t9, 0x28(a1)               |         t9 = *((a1 + 10));
    0x00095a1c addiu a2, a0, 0xb0            |         a2 = a0 + 0xb0;
    0x00095a20 addiu a1, zero, 0xf           |         a1 = 0xf;
    0x00095a24 move a0, v1                   |         a0 = v1;
    0x00095a28 jalr t9                       |         t9 ();
    0x00095a2c lw a0, (s7)                   |         a0 = *(s7);
                                             |     }
    0x00095a30 sw s7, 4(s0)                  |     *((s0 + 1)) = s7;
    0x00095a34 sw zero, 8(s7)                |     *((s7 + 2)) = 0;
    0x00095a38 sw zero, 0xc(s7)              |     *((s7 + 3)) = 0;
    0x00095a3c lbu v0, 0xe(a0)               |     v0 = *((a0 + 14));
    0x00095a40 lbu v0, 0x68(sp)              |     v0 = *(var_68h);
                                             |     if (v0 != 0) {
    0x00095a44 beqz v0, 0x95a58              |         
    0x00095a48 lhu v0, 0x16(s7)              |         v0 = *((s7 + 11));
    0x00095a4c ori v0, v0, 1                 |         v0 |= 1;
    0x00095a50 sh v0, 0x16(s7)               |         *((s7 + 11)) = v0;
    0x00095a54 lbu v0, 0x68(sp)              |         v0 = *(var_68h);
                                             |     }
    0x00095a58 lbu v1, 0x69(sp)              |     v1 = *(var_69h);
    0x00095a5c sll v0, v0, 8                 |     v0 <<= 8;
    0x00095a60 sll v1, v1, 0x10              |     v1 <<= 0x10;
    0x00095a64 or v0, v0, v1                 |     v0 |= v1;
    0x00095a68 addiu v1, v0, -0x200          |     v1 = v0 + -0x200;
    0x00095a6c ori a1, zero, 0xfe01          |     a1 = 0xfe01;
    0x00095a70 sltu v1, v1, a1               |     v1 = (v1 < a1) ? 1 : 0;
    0x00095a74 sw v0, 0x20(s7)               |     *((s7 + 8)) = v0;
                                             |     if (v1 == 0) {
    0x00095a78 beqz v1, 0x95f70              |         goto label_60;
                                             |     }
    0x00095a7c addiu v1, v0, -1              |     v1 = v0 + -1;
    0x00095a80 and v0, v1, v0                |     v0 = v1 & v0;
                                             |     if (v0 != 0) {
    0x00095a84 bnez v0, 0x95f70              |         goto label_60;
                                             |     }
    0x00095a88 nop                           |     
    0x00095a8c lhu v0, 0x16(s7)              |     v0 = *((s7 + 11));
    0x00095a90 lbu s1, 0x6c(sp)              |     s1 = *(var_6ch);
    0x00095a94 ori v0, v0, 2                 |     v0 |= 2;
    0x00095a98 sh v0, 0x16(s7)               |     *((s7 + 11)) = v0;
    0x00095a9c lw v0, 0x8c(sp)               |     v0 = *(var_8ch);
    0x00095aa0 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x00095aa4 sltu v0, zero, v0             |     v0 = (0 < v0) ? 1 : 0;
    0x00095aa8 sb v0, 0x11(s7)               |     *((s7 + 17)) = v0;
    0x00095aac lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x00095ab0 sltu v0, zero, v0             |     v0 = (0 < v0) ? 1 : 0;
    0x00095ab4 sb v0, 0x12(s7)               |     *((s7 + 18)) = v0;
                                             | label_14:
    0x00095ab8 lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
    0x00095abc lw t9, 0x34(sp)               |     t9 = *(var_34h);
    0x00095ac0 addiu a1, s7, 0x20            |     a1 = s7 + 0x20;
    0x00095ac4 jalr t9                       |     t9 ();
    0x00095ac8 move fp, v0                   |     fp = v0;
    0x00095acc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00095ad0 bnez v0, 0x95ec0              |         goto label_21;
                                             |     }
    0x00095ad4 lw v0, 0x20(s7)               |     v0 = *((s7 + 8));
    0x00095ad8 subu s1, v0, s1               |     __asm ("subu s1, v0, s1");
    0x00095adc addiu v0, zero, 1             |     v0 = 1;
    0x00095ae0 sw s1, 0x24(s7)               |     *((s7 + 9)) = s1;
    0x00095ae4 sw v0, 0x40(s7)               |     *((s7 + 16)) = v0;
    0x00095ae8 lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
    0x00095aec lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (v0 == 0) {
    0x00095af0 beqz v0, 0x95bac              |         goto label_16;
                                             |     }
    0x00095af4 lw s1, -0x7fe4(gp)            |     s1 = *((gp - 8185));
    0x00095af8 addiu s1, s1, -0x4d70         |     s1 += -0x4d70;
    0x00095afc lw v0, 4(s1)                  |     v0 = *((s1 + 1));
                                             |     if (v0 != 0) {
    0x00095b00 beql v0, zero, 0x95b3c        |         
    0x00095b04 move s2, zero                 |         s2 = 0;
    0x00095b08 lw t9, 0x54(s1)               |         t9 = *((s1 + 21));
    0x00095b0c addiu a0, zero, 2             |         a0 = 2;
    0x00095b10 jalr t9                       |         t9 ();
    0x00095b14 lw v1, 4(s1)                  |         v1 = *((s1 + 1));
    0x00095b18 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095b1c move s2, v0                   |         s2 = v0;
                                             |         if (v1 == 0) {
    0x00095b20 beqz v1, 0x95b3c              |             goto label_61;
                                             |         }
    0x00095b24 lw t9, 0x54(s1)               |         t9 = *((s1 + 21));
    0x00095b28 move a0, zero                 |         a0 = 0;
    0x00095b2c jalr t9                       |         t9 ();
    0x00095b30 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095b34 sw v0, 0x38(s7)               |         *((s7 + 14)) = v0;
                                             |         if (v0 == 0) {
    0x00095b38 beqz v0, 0x96218              |             goto label_62;
                                             |         }
                                             |     }
                                             | label_61:
    0x00095b3c lw t9, -0x7dd4(gp)            |     t9 = *((gp - 8053));
    0x00095b40 move a0, s2                   |     a0 = s2;
    0x00095b44 jalr t9                       |     t9 ();
    0x00095b48 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095b4c move a0, s2                   |     a0 = s2;
    0x00095b50 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x00095b54 lw t9, -0x7dac(gp)            |     t9 = *((gp - 8043));
    0x00095b58 lw v1, -0x3378(v0)            |     v1 = *((v0 - 3294));
    0x00095b5c sw s7, -0x3378(v0)            |     *((v0 - 3294)) = s7;
    0x00095b60 sw v1, 0x44(s7)               |     *((s7 + 17)) = v1;
    0x00095b64 jalr t9                       |     t9 ();
    0x00095b68 lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
    0x00095b6c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00095b70 beqz v0, 0x95ba8              |         goto label_8;
                                             |     }
                                             | label_15:
    0x00095b74 lw a2, 0x14(s3)               |     a2 = *((s3 + 5));
    0x00095b78 move a0, zero                 |     a0 = 0;
                                             |     if (a2 <= 0) {
    0x00095b7c blez a2, 0x95ba8              |         goto label_8;
                                             |     }
    0x00095b80 lw v1, 0x10(s3)               |     v1 = *((s3 + 4));
    0x00095b84 addiu v1, v1, 4               |     v1 += 4;
                                             |     do {
    0x00095b88 lw v0, (v1)                   |         v0 = *(v1);
    0x00095b8c addiu a0, a0, 1               |         a0++;
                                             |         if (v0 != 0) {
    0x00095b90 beqz v0, 0x95ba0              |             
    0x00095b94 lbu a1, 9(v0)                 |             a1 = *((v0 + 9));
    0x00095b98 lw v1, 0x1c(v0)               |             v1 = *((v0 + 7));
                                             |             if (a1 == 0) {
    0x00095b9c bnel a1, zero, 0x95d28        |                 goto label_63;
                                             |             }
                                             |         }
    0x00095ba0 addiu v1, v1, 0x10            |         v1 += 0x10;
    0x00095ba4 bne a0, a2, 0x95b88           |         
                                             |     } while (a0 != a2);
                                             | label_8:
    0x00095ba8 lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             | label_16:
    0x00095bac lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x00095bb0 move a2, zero                 |     a2 = 0;
    0x00095bb4 sw s0, (v0)                   |     *(v0) = s0;
    0x00095bb8 move a1, zero                 |     a1 = 0;
    0x00095bbc addiu t9, t9, -0x15f4         |     t9 += -0x15f4;
    0x00095bc0 move a0, s0                   |     a0 = s0;
    0x00095bc4 jalr t9                       |     t9 ();
    0x00095bc8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00095bcc beqz v0, 0x95ee8              |         goto label_64;
                                             |     }
                                             | label_12:
    0x00095bd0 lw v0, (s7)                   |     v0 = *(s7);
    0x00095bd4 lw a0, 0x3c(v0)               |     a0 = *((v0 + 15));
    0x00095bd8 lw v0, (a0)                   |     v0 = *(a0);
    0x00095bdc addiu a2, s7, 4               |     a2 = s7 + 4;
                                             |     if (v0 == 0) {
    0x00095be0 beqz v0, 0x95ee0              |         goto label_65;
                                             |     }
    0x00095be4 lw t9, 0x28(v0)               |     t9 = *((v0 + 10));
    0x00095be8 addiu a1, zero, 0x1e          |     a1 = 0x1e;
    0x00095bec jalr t9                       |     t9 ();
    0x00095bf0 move fp, zero                 |     fp = 0;
    0x00095bf4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095bf8 b 0x95d04                     |     goto label_11;
                                             | label_41:
    0x00095bfc addiu s2, zero, 1             |     s2 = 1;
                                             | label_31:
    0x00095c00 lw v1, 0xfc(sp)               |     v1 = *(arg_fch);
    0x00095c04 addiu v0, zero, -0x301        |     v0 = -0x301;
    0x00095c08 and v0, v1, v0                |     v0 = v1 & v0;
    0x00095c0c ori v0, v0, 0x200             |     v0 |= 0x200;
    0x00095c10 sw v0, 0xfc(sp)               |     *(arg_fch) = v0;
    0x00095c14 b 0x954d0                     |     goto label_1;
                                             | label_42:
    0x00095c18 lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
                                             |     if (s2 == 0) {
    0x00095c1c beqz s2, 0x9534c              |         goto label_2;
                                             |     }
    0x00095c20 andi v0, v0, 0x40             |     v0 &= 0x40;
                                             |     if (v0 == 0) {
    0x00095c24 beql v0, zero, 0x95510        |         goto label_3;
                                             |     }
    0x00095c28 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00095c2c lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
    0x00095c30 ext v0, v0, 0x11, 1           |     __asm ("ext v0, v0, 0x11, 1");
                                             |     if (v0 == 0) {
    0x00095c34 beql v0, zero, 0x95510        |         goto label_3;
                                             |     }
    0x00095c38 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00095c3c b 0x9535c                     |     goto label_4;
    0x00095c40 nop                           |     
                                             | label_32:
    0x00095c44 addiu fp, zero, 7             |     fp = 7;
                                             |     do {
                                             | label_7:
    0x00095c48 lw a0, 0xbc(sp)               |         a0 = *(var_bch);
    0x00095c4c lw v1, (s4)                   |         v1 = *(s4);
    0x00095c50 move v0, fp                   |         v0 = fp;
                                             |         if (a0 != v1) {
    0x00095c54 bne a0, v1, 0x962b8           |             goto label_66;
                                             |         }
    0x00095c58 lw ra, 0xe4(sp)               |         ra = *(var_e4h);
    0x00095c5c lw fp, 0xe0(sp)               |         fp = *(var_e0h);
    0x00095c60 lw s7, 0xdc(sp)               |         s7 = *(var_dch);
    0x00095c64 lw s6, 0xd8(sp)               |         s6 = *(var_d8h);
    0x00095c68 lw s5, 0xd4(sp)               |         s5 = *(var_d4h);
    0x00095c6c lw s4, 0xd0(sp)               |         s4 = *(var_d0h);
    0x00095c70 lw s3, 0xcc(sp)               |         s3 = *(var_cch);
    0x00095c74 lw s2, 0xc8(sp)               |         s2 = *(var_c8h);
    0x00095c78 lw s1, 0xc4(sp)               |         s1 = *(var_c4h);
    0x00095c7c lw s0, 0xc0(sp)               |         s0 = *(var_c0h);
    0x00095c80 addiu sp, sp, 0xe8            |         
    0x00095c84 jr ra                         |         return v1;
                                             |         if (s1 == 0) {
                                             | label_44:
    0x00095c88 beql s1, zero, 0x962c4        |             goto label_67;
                                             |         }
    0x00095c8c sw zero, 0x38(sp)             |         *(var_38h) = 0;
    0x00095c90 lb v1, (s1)                   |         v1 = *(s1);
    0x00095c94 addiu v1, zero, 0x121         |         v1 = 0x121;
                                             |         if (v1 != 0) {
    0x00095c98 bnez v1, 0x95d80              |             goto label_68;
                                             |         }
    0x00095c9c sw zero, 0x38(sp)             |         *(var_38h) = 0;
    0x00095ca0 sw s1, 0x40(sp)               |         *(var_40h) = s1;
    0x00095ca4 sw zero, 0x44(sp)             |         *(var_44h) = 0;
    0x00095ca8 sw zero, 0x3c(sp)             |         *(var_3ch) = 0;
    0x00095cac sw zero, 0x30(sp)             |         *(var_30h) = 0;
    0x00095cb0 sw zero, 0x4c(sp)             |         *(var_4ch) = 0;
    0x00095cb4 move fp, zero                 |         fp = 0;
    0x00095cb8 b 0x95598                     |         goto label_5;
                                             | label_35:
    0x00095cbc lw t9, -0x7c64(gp)            |         t9 = *((gp - 7961));
    0x00095cc0 move a2, s7                   |         a2 = s7;
    0x00095cc4 move a1, s1                   |         a1 = s1;
    0x00095cc8 move a0, s5                   |         a0 = s5;
    0x00095ccc jalr t9                       |         t9 ();
    0x00095cd0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095cd4 b 0x953e0                     |         goto label_6;
                                             | label_43:
    0x00095cd8 addiu fp, zero, 7             |         fp = 7;
                                             | label_10:
    0x00095cdc lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x00095ce0 move a0, s7                   |         a0 = s7;
    0x00095ce4 jalr t9                       |         t9 ();
    0x00095ce8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095cec lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x00095cf0 move a0, s0                   |         a0 = s0;
    0x00095cf4 jalr t9                       |         t9 ();
    0x00095cf8 lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x00095cfc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095d00 sw zero, (v0)                 |         *(v0) = 0;
                                             | label_11:
    0x00095d04 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00095d08 beqz a0, 0x95c48              |         
                                             |     } while (a0 == 0);
    0x00095d0c nop                           |     
    0x00095d10 lw t9, -0x7dac(gp)            |     t9 = *((gp - 8043));
    0x00095d14 jalr t9                       |     t9 ();
    0x00095d18 nop                           |     
    0x00095d1c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095d20 b 0x95c48                     |     goto label_7;
                                             |     do {
    0x00095d24 lw v1, 0x1c(v0)               |         v1 = *((v0 + 7));
                                             | label_63:
    0x00095d28 move v0, v1                   |         v0 = v1;
    0x00095d2c bnel v1, zero, 0x95d24        |         
                                             |     } while (v1 == 0);
    0x00095d30 lw a1, 4(s0)                  |     a1 = *((s0 + 1));
    0x00095d34 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00095d38 sltu v1, a1, v1               |     v1 = (a1 < v1) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x00095d3c beql v1, zero, 0x95d68        |         goto label_69;
                                             |     }
    0x00095d40 lw v1, 0x18(v0)               |     v1 = *((v0 + 6));
    0x00095d44 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x00095d48 sw zero, 0x1c(s0)             |     *((s0 + 7)) = 0;
    0x00095d4c sw s0, 0x1c(v0)               |     *((v0 + 7)) = s0;
    0x00095d50 b 0x95ba8                     |     goto label_8;
                                             |     do {
    0x00095d54 sltu a0, a0, a1               |         a0 = (a0 < a1) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x00095d58 beql a0, zero, 0x95f60        |             goto label_70;
                                             |         }
    0x00095d5c sw v1, 0x18(s0)               |         *((s0 + 6)) = v1;
    0x00095d60 move v0, v1                   |         v0 = v1;
    0x00095d64 lw v1, 0x18(v0)               |         v1 = *((v0 + 6));
                                             | label_69:
    0x00095d68 lw a0, 4(v1)                  |         a0 = *((v1 + 1));
    0x00095d6c bnel v1, zero, 0x95d54        |         
                                             |     } while (v1 == 0);
    0x00095d70 sw zero, 0x18(s0)             |     *((s0 + 6)) = 0;
    0x00095d74 sw v0, 0x1c(s0)               |     *((s0 + 7)) = v0;
    0x00095d78 sw s0, 0x18(v0)               |     *((v0 + 6)) = s0;
    0x00095d7c b 0x95ba8                     |     goto label_8;
                                             | label_68:
    0x00095d80 lw a2, 8(s6)                  |     a2 = *((s6 + 2));
    0x00095d84 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
    0x00095d88 addiu s5, a2, 1               |     s5 = a2 + 1;
    0x00095d8c sll a0, s5, 1                 |     a0 = s5 << 1;
    0x00095d90 addiu t9, t9, 0x5294          |     t9 += 0x5294;
    0x00095d94 sra a1, a0, 0x1f              |     a1 = a0 >> 0x1f;
    0x00095d98 jalr t9                       |     t9 ();
    0x00095d9c move fp, v0                   |     fp = v0;
    0x00095da0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00095da4 beqz v0, 0x96218              |         goto label_62;
                                             |     }
    0x00095da8 sb zero, (v0)                 |     *(v0) = 0;
    0x00095dac lw t9, 0x24(s6)               |     t9 = *((s6 + 9));
    0x00095db0 move a2, s5                   |     a2 = s5;
    0x00095db4 move a3, v0                   |     a3 = v0;
    0x00095db8 move a1, s1                   |     a1 = s1;
    0x00095dbc move a0, s6                   |     a0 = s6;
    0x00095dc0 jalr t9                       |     t9 ();
    0x00095dc4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095dc8 move a0, s1                   |     a0 = s1;
    0x00095dcc lw t9, -0x7d84(gp)            |     t9 = *((gp - 8033));
    0x00095dd0 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00095dd4 jalr t9                       |     t9 ();
    0x00095dd8 ext v0, v0, 0, 0x1e           |     __asm ("ext v0, v0, 0, 0x1e");
    0x00095ddc addiu v0, v0, 1               |     v0++;
    0x00095de0 addu s5, s1, v0               |     s5 = s1 + v0;
    0x00095de4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095de8 lb v0, (s5)                   |     v0 = *(s5);
    0x00095dec sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
                                             |     if (v0 != 0) {
    0x00095df0 bnez v0, 0x95e24              |         goto label_71;
                                             |     }
    0x00095df4 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x00095df8 b 0x9604c                     |     goto label_72;
                                             |     do {
    0x00095dfc lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x00095e00 move a0, s5                   |         a0 = s5;
    0x00095e04 jalr t9                       |         t9 ();
    0x00095e08 ext v0, v0, 0, 0x1e           |         __asm ("ext v0, v0, 0, 0x1e");
    0x00095e0c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095e10 addiu v0, v0, 1               |         v0++;
                                             | label_9:
    0x00095e14 addu s5, s5, v0               |         s5 += v0;
    0x00095e18 lb v0, (s5)                   |         v0 = *(s5);
    0x00095e1c lw v0, 0x38(sp)               |         v0 = *(var_38h);
                                             |         if (v0 == 0) {
    0x00095e20 beqz v0, 0x96050              |             goto label_73;
                                             |         }
                                             | label_71:
    0x00095e24 lw t9, -0x7d84(gp)            |         t9 = *((gp - 8033));
    0x00095e28 move a0, s5                   |         a0 = s5;
    0x00095e2c jalr t9                       |         t9 ();
    0x00095e30 ext v0, v0, 0, 0x1e           |         __asm ("ext v0, v0, 0, 0x1e");
    0x00095e34 addiu v0, v0, 1               |         v0++;
    0x00095e38 addu s5, s5, v0               |         s5 += v0;
    0x00095e3c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095e40 bnez s5, 0x95dfc              |         
                                             |     } while (s5 != 0);
    0x00095e44 addiu v0, zero, 1             |     v0 = 1;
    0x00095e48 b 0x95e14                     |     goto label_9;
                                             | label_45:
    0x00095e4c sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x00095e50 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x00095e54 addiu v1, zero, 0x121         |     v1 = 0x121;
    0x00095e58 sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
    0x00095e5c sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x00095e60 sw a0, 0x38(sp)               |     *(var_38h) = a0;
    0x00095e64 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x00095e68 move a2, zero                 |     a2 = 0;
    0x00095e6c move fp, zero                 |     fp = 0;
    0x00095e70 b 0x95598                     |     goto label_5;
                                             | label_54:
    0x00095e74 move fp, v0                   |     fp = v0;
                                             | label_50:
    0x00095e78 lw s1, 0x3c(s5)               |     s1 = *((s5 + 15));
    0x00095e7c lw v0, (s1)                   |     v0 = *(s1);
    0x00095e80 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
                                             |     if (v0 != 0) {
    0x00095e84 beqz v0, 0x95ea0              |         
    0x00095e88 lw t9, 4(v0)                  |         t9 = *((v0 + 1));
    0x00095e8c move a0, s1                   |         a0 = s1;
    0x00095e90 jalr t9                       |         t9 ();
    0x00095e94 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00095e98 sw zero, (s1)                 |         *(s1) = 0;
    0x00095e9c lw t9, -0x7f78(gp)            |         t9 = *((gp - 8158));
                                             |     }
    0x00095ea0 addiu t9, t9, -0x39b0         |     t9 += -0x39b0;
    0x00095ea4 lw a0, 0xd0(s5)               |     a0 = *((s5 + 52));
    0x00095ea8 jalr t9                       |     t9 ();
    0x00095eac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095eb0 lw t9, -0x7ea4(gp)            |     t9 = *((gp - 8105));
    0x00095eb4 move a0, s5                   |     a0 = s5;
    0x00095eb8 jalr t9                       |     t9 ();
    0x00095ebc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_21:
    0x00095ec0 lw a0, (s7)                   |     a0 = *(s7);
                                             | label_59:
    0x00095ec4 lw t9, -0x7f7c(gp)            |     t9 = *((gp - 8159));
                                             |     if (a0 == 0) {
    0x00095ec8 beqz a0, 0x95cdc              |         goto label_10;
                                             |     }
    0x00095ecc addiu t9, t9, 0x5028          |     t9 += 0x5028;
    0x00095ed0 move a1, zero                 |     a1 = 0;
    0x00095ed4 bal 0x95028                   |     fcn_00095028 ();
    0x00095ed8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095edc b 0x95cdc                     |     goto label_10;
                                             | label_65:
    0x00095ee0 move fp, zero                 |     fp = 0;
    0x00095ee4 b 0x95d04                     |     goto label_11;
                                             | label_64:
    0x00095ee8 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00095eec lw t9, -0x7fcc(gp)            |     t9 = *((gp - 8179));
    0x00095ef0 addiu v1, zero, -0x7d0        |     v1 = -aav.0x000007d0;
    0x00095ef4 lw v0, (v0)                   |     v0 = *(v0);
    0x00095ef8 lui a0, 0x1f                  |     a0 = 0x1f0000;
    0x00095efc ori a0, a0, 0x4000            |     
    0x00095f00 lw s0, 0xd4(v0)               |     s0 = *((v0 + 53));
    0x00095f04 move a1, zero                 |     a1 = 0;
    0x00095f08 lw a2, 0x18(s0)               |     a2 = *((s0 + 6));
    0x00095f0c lw v0, 0x1c(s0)               |     v0 = *((s0 + 7));
    0x00095f10 sw v1, 0x10(s0)               |     *((s0 + 4)) = v1;
    0x00095f14 addu a2, a2, v0               |     a2 += v0;
    0x00095f18 sra a3, a2, 0x1f              |     a3 = a2 >> 0x1f;
    0x00095f1c jalr t9                       |     t9 ();
    0x00095f20 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095f24 move a1, v0                   |     a1 = v0;
    0x00095f28 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x00095f2c lw t9, -0x4cec(v0)            |     t9 = *((v0 - 4923));
    0x00095f30 lw a0, 0x2c(s0)               |     a0 = *((s0 + 11));
    0x00095f34 jalr t9                       |     t9 ();
    0x00095f38 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095f3c b 0x95bd0                     |     goto label_12;
                                             | label_49:
    0x00095f40 sh v0, 0x10(s5)               |     *((s5 + 8)) = v0;
    0x00095f44 addiu v0, zero, 1             |     v0 = 1;
    0x00095f48 sb v0, 0xd(s5)                |     *((s5 + 13)) = v0;
    0x00095f4c lw v0, 0xfc(sp)               |     v0 = *(arg_fch);
    0x00095f50 addiu s6, zero, 1             |     s6 = 1;
    0x00095f54 andi v0, v0, 1                |     v0 &= 1;
    0x00095f58 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00095f5c b 0x957dc                     |     goto label_13;
                                             | label_70:
    0x00095f60 sw v0, 0x1c(s0)               |     *((s0 + 7)) = v0;
    0x00095f64 sw s0, 0x1c(v1)               |     *((v1 + 7)) = s0;
    0x00095f68 sw s0, 0x18(v0)               |     *((v0 + 6)) = s0;
    0x00095f6c b 0x95ba8                     |     goto label_8;
                                             | label_60:
    0x00095f70 sw zero, 0x20(s7)             |     *((s7 + 8)) = 0;
                                             |     if (s1 == 0) {
    0x00095f74 beqz s1, 0x96008              |         goto label_74;
                                             |     }
    0x00095f78 move s1, zero                 |     s1 = 0;
                                             |     if (s2 != 0) {
    0x00095f7c bnez s2, 0x95ab8              |         goto label_14;
                                             |     }
    0x00095f80 sb zero, 0x11(s7)             |     *((s7 + 17)) = 0;
    0x00095f84 sb zero, 0x12(s7)             |     *((s7 + 18)) = 0;
    0x00095f88 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00095f8c b 0x95ab8                     |     goto label_14;
                                             | label_39:
    0x00095f90 addiu v1, a0, -1              |     v1 = a0 + -1;
    0x00095f94 addiu a1, zero, -1            |     a1 = -1;
                                             |     if (v1 < 0) {
    0x00095f98 bltz v1, 0x95fc8              |         goto label_75;
                                             |     }
    0x00095f9c lw v0, 0x10(s3)               |     v0 = *((s3 + 4));
    0x00095fa0 sll a0, a0, 4                 |     a0 <<= 4;
    0x00095fa4 addu v0, v0, a0               |     v0 += a0;
                                             |     do {
    0x00095fa8 lw a0, -0xc(v0)               |         a0 = *((v0 - 3));
    0x00095fac addiu v1, v1, -1              |         v1 += -1;
                                             |         if (a0 != 0) {
    0x00095fb0 beqz a0, 0x95fc0              |             
    0x00095fb4 lw a0, 4(a0)                  |             a0 = *((a0 + 1));
    0x00095fb8 lw t9, -0x7dac(gp)            |             t9 = *((gp - 8043));
                                             |             if (a0 == s7) {
    0x00095fbc beq a0, s7, 0x960ac           |                 goto label_76;
                                             |             }
                                             |         }
    0x00095fc0 addiu v0, v0, -0x10           |         v0 += -0x10;
    0x00095fc4 bne v1, a1, 0x95fa8           |         
                                             |     } while (v1 != a1);
                                             | label_75:
    0x00095fc8 lw v0, 0x40(s7)               |     v0 = *((s7 + 16));
    0x00095fcc lw t9, -0x7dac(gp)            |     t9 = *((gp - 8043));
    0x00095fd0 addiu v0, v0, 1               |     v0++;
    0x00095fd4 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x00095fd8 sw s7, 4(s0)                  |     *((s0 + 1)) = s7;
    0x00095fdc sw v0, 0x40(s7)               |     *((s7 + 16)) = v0;
    0x00095fe0 jalr t9                       |     t9 ();
    0x00095fe4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00095fe8 lw t9, -0x7ea4(gp)            |     t9 = *((gp - 8105));
    0x00095fec move a0, s5                   |     a0 = s5;
    0x00095ff0 jalr t9                       |     t9 ();
    0x00095ff4 lbu v0, 9(s0)                 |     v0 = *((s0 + 9));
    0x00095ff8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00095ffc bnez v0, 0x95b74              |         goto label_15;
                                             |     }
    0x00096000 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x00096004 b 0x95bac                     |     goto label_16;
                                             | label_74:
    0x00096008 move s1, zero                 |     s1 = 0;
    0x0009600c b 0x95ab8                     |     goto label_14;
                                             | label_33:
    0x00096010 addiu s7, zero, 1             |     s7 = 1;
    0x00096014 b 0x95378                     |     goto label_17;
                                             | label_56:
    0x00096018 lbu v0, 0x16(s5)              |     v0 = *((s5 + 22));
    0x0009601c lw v0, -0x7f74(gp)            |     v0 = *((gp - 8157));
                                             |     if (v0 == 0) {
    0x00096020 beqz v0, 0x96118              |         goto label_77;
                                             |     }
    0x00096024 lw v0, -0x7f74(gp)            |     v0 = *((gp - 8157));
    0x00096028 addiu v0, v0, 0x71a0          |     v0 += 0x71a0;
    0x0009602c sw v0, 0xcc(s5)               |     *((s5 + 51)) = v0;
    0x00096030 b 0x95940                     |     goto label_18;
                                             | label_55:
    0x00096034 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00096038 lw v0, -0x7f6c(gp)            |     v0 = *((gp - 8155));
                                             |     if (v0 == 0) {
    0x0009603c beqz v0, 0x95924              |         goto label_19;
                                             |     }
    0x00096040 addiu v0, zero, 4             |     v0 = 4;
    0x00096044 sb v0, 5(s5)                  |     *((s5 + 5)) = v0;
    0x00096048 b 0x95920                     |     goto label_20;
                                             | label_72:
    0x0009604c lw v0, 0x38(sp)               |     v0 = *(var_38h);
                                             | label_73:
    0x00096050 lw t9, -0x7d84(gp)            |     t9 = *((gp - 8033));
    0x00096054 beqz v0, 0x96124              |     
                                             |     while (v0 != 0) {
    0x00096058 lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x0009605c move a0, fp                   |         a0 = fp;
    0x00096060 jalr t9                       |         t9 ();
    0x00096064 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00096068 lw fp, 0x38(sp)               |         fp = *(var_38h);
    0x0009606c b 0x95ec0                     |         goto label_21;
                                             | label_37:
    0x00096070 sw zero, 0x30(sp)             |         *(var_30h) = 0;
    0x00096074 b 0x95434                     |         goto label_22;
                                             | label_36:
    0x00096078 lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x0009607c move a0, s5                   |         a0 = s5;
    0x00096080 jalr t9                       |         t9 ();
    0x00096084 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00096088 lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x0009608c move a0, s0                   |         a0 = s0;
    0x00096090 jalr t9                       |         t9 ();
    0x00096094 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00096098 b 0x95c48                     |         goto label_7;
                                             | label_53:
    0x0009609c lw v0, -0x7f7c(gp)            |         v0 = *((gp - 8159));
    0x000960a0 addiu v0, v0, 0x25d8          |         v0 += 0x25d8;
    0x000960a4 sw v0, 0x3c(sp)               |         *(var_3ch) = v0;
    0x000960a8 b 0x9581c                     |         goto label_23;
                                             | label_76:
    0x000960ac lw a0, 0x30(sp)               |         a0 = *(var_30h);
    0x000960b0 addiu fp, zero, 0x13          |         fp = 0x13;
    0x000960b4 jalr t9                       |         t9 ();
    0x000960b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000960bc lw t9, -0x7dac(gp)            |         t9 = *((gp - 8043));
    0x000960c0 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x000960c4 jalr t9                       |         t9 ();
    0x000960c8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000960cc lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x000960d0 move a0, s5                   |         a0 = s5;
    0x000960d4 jalr t9                       |         t9 ();
    0x000960d8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000960dc lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x000960e0 move a0, s0                   |         a0 = s0;
    0x000960e4 jalr t9                       |         t9 ();
    0x000960e8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000960ec b 0x95c48                     |         goto label_7;
                                             | label_48:
    0x000960f0 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x000960f4 lw a0, 0xa8(s5)               |         a0 = *((s5 + 42));
    0x000960f8 lw t9, -0x7c64(gp)            |         t9 = *((gp - 7961));
    0x000960fc addiu v0, v0, 1               |         v0++;
    0x00096100 lw a2, 0x3c(sp)               |         a2 = *(var_3ch);
    0x00096104 lw a1, 0x4c(sp)               |         a1 = *(var_4ch);
                                             |         /* aav.0x00010000 */
    0x00096108 addu a0, a0, v0               |         a0 += v0;
    0x0009610c jalr t9                       |         t9 ();
    0x00096110 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00096114 b 0x9564c                     |         goto label_24;
                                             | label_77:
    0x00096118 addiu v0, v0, 0x6dd8          |         v0 += 0x6dd8;
    0x0009611c sw v0, 0xcc(s5)               |         *((s5 + 51)) = v0;
    0x00096120 b 0x95940                     |         goto label_18;
    0x00096124 move a0, fp                   |         a0 = fp;
    0x00096128 jalr t9                       |         t9 ();
    0x0009612c ext a2, v0, 0, 0x1e           |         __asm ("ext a2, v0, 0, 0x1e");
    0x00096130 lw a0, 8(s6)                  |         a0 = *((s6 + 2));
    0x00096134 addiu v0, a2, 7               |         v0 = a2 + 7;
    0x00096138 slt v0, v0, a0                |         v0 = (v0 < a0) ? 1 : 0;
    0x0009613c lw a0, 0x4c(sp)               |         a0 = *(var_4ch);
    0x00096140 addiu v1, s5, 1               |         v1 = s5 + 1;
    0x00096144 subu a0, v1, a0               |         __asm ("subu a0, v1, a0");
    0x00096148 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0009614c sw a0, 0x44(sp)               |         *(var_44h) = a0;
                                             |         if (v0 != 0) {
    0x00096150 beqz v0, 0x96174              |             
    0x00096154 sll v1, a2, 1                 |             v1 = a2 << 1;
    0x00096158 addu v1, v1, a2               |             v1 += a2;
    0x0009615c lw v0, 4(s6)                  |             v0 = *((s6 + 1));
    0x00096160 sw a2, 0x30(sp)               |             *(var_30h) = a2;
    0x00096164 sw a0, 0x3c(sp)               |             *(var_3ch) = a0;
    0x00096168 addiu v1, v1, 0x121           |             v1 += 0x121;
    0x0009616c sw s1, 0x40(sp)               |             *(var_40h) = s1;
    0x00096170 b 0x95598                     |             goto label_5;
                                             |         }
    0x00096174 lw t9, -0x7f6c(gp)            |         t9 = *((gp - 8155));
    0x00096178 sw a2, 0x30(sp)               |         *(var_30h) = a2;
    0x0009617c addiu t9, t9, -0x3164         |         t9 += -0x3164;
    0x00096180 ori a0, zero, 0xd89f          |         a0 = 0xd89f;
    0x00096184 jalr t9                       |         t9 ();
    0x00096188 sw v0, 0x38(sp)               |         *(var_38h) = v0;
    0x0009618c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00096190 bnez v0, 0x96058              |         
                                             |     }
    0x00096194 lw a2, 0x30(sp)               |     a2 = *(var_30h);
    0x00096198 lw a0, 0x44(sp)               |     a0 = *(var_44h);
    0x0009619c sll v1, a2, 1                 |     v1 = a2 << 1;
    0x000961a0 addu v1, v1, a2               |     v1 += a2;
    0x000961a4 lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x000961a8 sw a0, 0x3c(sp)               |     *(var_3ch) = a0;
    0x000961ac addiu v1, v1, 0x121           |     v1 += 0x121;
    0x000961b0 sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x000961b4 b 0x95598                     |     goto label_5;
                                             | label_46:
    0x000961b8 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000961bc move a1, s1                   |     a1 = s1;
    0x000961c0 addiu t9, t9, -0x73ac         |     t9 += -0x73ac;
    0x000961c4 move a0, zero                 |     a0 = 0;
    0x000961c8 jalr t9                       |     t9 ();
    0x000961cc move fp, v0                   |     fp = v0;
    0x000961d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000961d4 beqz v0, 0x96218              |         goto label_62;
                                             |     }
    0x000961d8 lw t9, -0x7d84(gp)            |     t9 = *((gp - 8033));
    0x000961dc move a0, v0                   |     a0 = v0;
    0x000961e0 jalr t9                       |     t9 ();
    0x000961e4 ext a2, v0, 0, 0x1e           |     __asm ("ext a2, v0, 0, 0x1e");
    0x000961e8 sll v1, a2, 1                 |     v1 = a2 << 1;
    0x000961ec addu v1, v1, a2               |     v1 += a2;
    0x000961f0 addiu a0, zero, 1             |     a0 = 1;
    0x000961f4 lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x000961f8 sw a2, 0x30(sp)               |     *(var_30h) = a2;
    0x000961fc addiu v1, v1, 0x121           |     v1 += 0x121;
    0x00096200 sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
    0x00096204 sw a0, 0x38(sp)               |     *(var_38h) = a0;
    0x00096208 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x0009620c sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x00096210 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x00096214 b 0x95598                     |     goto label_5;
                                             |     do {
                                             | label_62:
    0x00096218 addiu fp, zero, 7             |         fp = 7;
    0x0009621c b 0x95ec0                     |         goto label_21;
                                             | label_52:
    0x00096220 addiu v0, zero, 0x401         |         v0 = 0x401;
    0x00096224 sh v0, 0x10(s5)               |         *((s5 + 8)) = v0;
    0x00096228 addiu v0, zero, 1             |         v0 = 1;
    0x0009622c sb v0, 0xd(s5)                |         *((s5 + 13)) = v0;
    0x00096230 addiu v0, zero, 1             |         v0 = 1;
    0x00096234 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x00096238 addiu s6, zero, 1             |         s6 = 1;
    0x0009623c b 0x957dc                     |         goto label_13;
                                             | label_47:
    0x00096240 lw t9, -0x7ea4(gp)            |         t9 = *((gp - 8105));
    0x00096244 beqz fp, 0x96218              |         
                                             |     } while (fp == 0);
    0x00096248 move a0, fp                   |     a0 = fp;
    0x0009624c jalr t9                       |     t9 ();
    0x00096250 addiu fp, zero, 7             |     fp = 7;
    0x00096254 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00096258 b 0x95ec0                     |     goto label_21;
                                             | label_34:
    0x0009625c lw t9, -0x7ea4(gp)            |     t9 = *((gp - 8105));
    0x00096260 move a0, s0                   |     a0 = s0;
    0x00096264 jalr t9                       |     t9 ();
    0x00096268 addiu fp, zero, 7             |     fp = 7;
    0x0009626c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00096270 b 0x95c48                     |     goto label_7;
                                             | label_51:
    0x00096274 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x00096278 addiu t9, t9, -0x2964         |     t9 += -aav.0x00002964;
    0x0009627c move a0, s5                   |     a0 = s5;
    0x00096280 jalr t9                       |     t9 ();
    0x00096284 lw v0, 0x94(s5)               |     v0 = *((s5 + 37));
    0x00096288 lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x0009628c sltu a0, a0, v0               |     a0 = (a0 < v0) ? 1 : 0;
    0x00096290 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 == 0) {
    0x00096294 beqz a0, 0x95790              |         goto label_25;
                                             |     }
    0x00096298 sltiu a0, v0, 0x2001          |     a0 = (v0 < 0x2001) ? 1 : 0;
    0x0009629c sw v0, 0x50(sp)               |     *(var_50h) = v0;
                                             |     if (a0 == 0) {
    0x000962a0 bnel a0, zero, 0x95790        |         goto label_25;
                                             |     }
    0x000962a4 addiu v0, zero, 0x2000        |     v0 = 0x2000;
    0x000962a8 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x000962ac b 0x95790                     |     goto label_25;
                                             | label_66:
    0x000962b8 lw t9, -0x7cac(gp)            |     t9 = *((gp - 7979));
    0x000962bc jalr t9                       |     t9 ();
    0x000962c0 nop                           |     
                                             | label_67:
    0x000962c4 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x000962c8 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x000962cc sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x000962d0 addiu v1, zero, 0x121         |     v1 = 0x121;
    0x000962d4 sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
    0x000962d8 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x000962dc move fp, zero                 |     fp = 0;
    0x000962e0 b 0x95598                     |     goto label_5;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsqlite3.so.0.8.6 @ 0x9eea0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0009eea0 ()                  | void fcn_0009eea0 () {
                                             | label_14:
    0x0009eea0 lui gp, 0xa                   |     
    0x0009eea4 addiu gp, gp, 0x5680          |     
    0x0009eea8 addu gp, gp, t9               |     gp += t9;
    0x0009eeac addiu sp, sp, -0x170          |     
    0x0009eeb0 sw s6, 0x160(sp)              |     *(var_160h) = s6;
    0x0009eeb4 lw s6, -0x7c68(gp)            |     s6 = *((gp - 7962));
    0x0009eeb8 sw s4, 0x158(sp)              |     *(var_158h) = s4;
    0x0009eebc lw s4, 8(a0)                  |     s4 = *((a0 + 2));
    0x0009eec0 lw v0, (s6)                   |     v0 = *(s6);
    0x0009eec4 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0009eec8 sw fp, 0x168(sp)              |     *(var_168h) = fp;
    0x0009eecc sw s7, 0x164(sp)              |     *(var_164h) = s7;
    0x0009eed0 sw s3, 0x154(sp)              |     *(var_154h) = s3;
    0x0009eed4 sw ra, 0x16c(sp)              |     *(var_16ch) = ra;
    0x0009eed8 sw s5, 0x15c(sp)              |     *(var_15ch) = s5;
    0x0009eedc sw s2, 0x150(sp)              |     *(var_150h) = s2;
    0x0009eee0 sw s1, 0x14c(sp)              |     *(var_14ch) = s1;
    0x0009eee4 sw s0, 0x148(sp)              |     *(var_148h) = s0;
    0x0009eee8 move fp, a0                   |     fp = a0;
    0x0009eeec move s3, a1                   |     s3 = a1;
    0x0009eef0 sw a2, 0x34(sp)               |     *(var_34h) = a2;
    0x0009eef4 sw v0, 0x144(sp)              |     *(var_144h) = v0;
    0x0009eef8 lw s7, (a0)                   |     s7 = *(a0);
                                             |     if (s4 == 0) {
    0x0009eefc bnez s4, 0x9ef18              |         
    0x0009ef00 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
    0x0009ef04 addiu t9, t9, 0x6350          |         t9 += 0x6350;
    0x0009ef08 jalr t9                       |         t9 ();
    0x0009ef0c nop                           |         
    0x0009ef10 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0009ef14 move s4, v0                   |         s4 = v0;
                                             |     }
    0x0009ef18 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (s3 == 0) {
    0x0009ef1c beqz s3, 0x9ef3c              |         goto label_0;
                                             |     }
    0x0009ef20 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
    0x0009ef24 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 != 0) {
    0x0009ef28 bnez v0, 0x9ef3c              |         goto label_0;
                                             |     }
    0x0009ef2c lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x0009ef30 lw v0, -0x7f70(gp)            |     v0 = *((gp - 8156));
    0x0009ef34 beqz v0, 0x9ef78              |     
                                             |     while (v0 != 0) {
    0x0009ef38 addiu v0, zero, 1             |         v0 = 1;
                                             | label_0:
    0x0009ef3c lw a0, 0x144(sp)              |         a0 = *(var_144h);
    0x0009ef40 lw v1, (s6)                   |         v1 = *(s6);
    0x0009ef44 lw ra, 0x16c(sp)              |         ra = *(var_16ch);
                                             |         if (a0 != v1) {
    0x0009ef48 bne a0, v1, 0xa2610           |             goto label_118;
                                             |         }
    0x0009ef4c lw fp, 0x168(sp)              |         fp = *(var_168h);
    0x0009ef50 lw s7, 0x164(sp)              |         s7 = *(var_164h);
    0x0009ef54 lw s6, 0x160(sp)              |         s6 = *(var_160h);
    0x0009ef58 lw s5, 0x15c(sp)              |         s5 = *(var_15ch);
    0x0009ef5c lw s4, 0x158(sp)              |         s4 = *(var_158h);
    0x0009ef60 lw s3, 0x154(sp)              |         s3 = *(var_154h);
    0x0009ef64 lw s2, 0x150(sp)              |         s2 = *(var_150h);
    0x0009ef68 lw s1, 0x14c(sp)              |         s1 = *(var_14ch);
    0x0009ef6c lw s0, 0x148(sp)              |         s0 = *(var_148h);
    0x0009ef70 addiu sp, sp, 0x170           |         
    0x0009ef74 jr ra                         |         return v0;
    0x0009ef78 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x0009ef7c addiu t9, v0, -0x4b2c         |         t9 = v0 + -0x4b2c;
    0x0009ef80 move a3, zero                 |         a3 = 0;
    0x0009ef84 move a2, zero                 |         a2 = 0;
    0x0009ef88 addiu a1, zero, 0x15          |         a1 = 0x15;
    0x0009ef8c move a0, fp                   |         a0 = fp;
    0x0009ef90 sw t9, 0x38(sp)               |         *(var_38h) = t9;
    0x0009ef94 jalr t9                       |         t9 ();
    0x0009ef98 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0009ef9c bnez v0, 0x9ef38              |         
                                             |     }
    0x0009efa0 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x0009efa4 addiu s2, sp, 0x114           |     s2 = sp + aav.0x00000114;
    0x0009efa8 sw zero, 0x114(sp)            |     *(var_114h) = 0;
    0x0009efac lbu v0, (v0)                  |     v0 = *(v0);
    0x0009efb0 sw zero, 4(s2)                |     *(var_118h) = 0;
    0x0009efb4 sltiu v0, v0, 9               |     v0 = (v0 < 9) ? 1 : 0;
    0x0009efb8 sw zero, 8(s2)                |     *(var_11ch) = 0;
    0x0009efbc sw zero, 0xc(s2)              |     *(var_120h) = 0;
    0x0009efc0 sw zero, 0x10(s2)             |     *(var_124h) = 0;
    0x0009efc4 sw zero, 0x14(s2)             |     *(var_128h) = 0;
    0x0009efc8 sw zero, 0x18(s2)             |     *(var_12ch) = 0;
    0x0009efcc sw zero, 0x1c(s2)             |     *(var_130h) = 0;
    0x0009efd0 sw zero, 0x20(s2)             |     *(var_134h) = 0;
    0x0009efd4 sw zero, 0x24(s2)             |     *(var_138h) = 0;
    0x0009efd8 sw zero, 0x28(s2)             |     *(var_13ch) = 0;
    0x0009efdc sw zero, 0x2c(s2)             |     *(var_140h) = 0;
                                             |     if (v0 != 0) {
    0x0009efe0 beqz v0, 0x9f014              |         
    0x0009efe4 lw a1, 0x30(s3)               |         a1 = *((s3 + 12));
    0x0009efe8 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
                                             |         if (a1 != 0) {
    0x0009efec beqz a1, 0x9f000              |             
    0x0009eff0 addiu t9, t9, 0x38a4          |             t9 += 0x38a4;
    0x0009eff4 move a0, s7                   |             a0 = s7;
    0x0009eff8 jalr t9                       |             t9 ();
    0x0009effc lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
    0x0009f000 lw v0, 8(s3)                  |         v0 = *((s3 + 2));
    0x0009f004 addiu a0, zero, -2            |         a0 = -2;
    0x0009f008 and v0, v0, a0                |         v0 &= a0;
    0x0009f00c sw zero, 0x30(s3)             |         *((s3 + 12)) = 0;
    0x0009f010 sw v0, 8(s3)                  |         *((s3 + 2)) = v0;
                                             |     }
    0x0009f014 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x0009f018 move a2, zero                 |     a2 = 0;
    0x0009f01c move a1, s3                   |     a1 = s3;
    0x0009f020 addiu t9, t9, 0x48e0          |     t9 += 0x48e0;
    0x0009f024 move a0, fp                   |     a0 = fp;
    0x0009f028 jalr t9                       |     t9 ();
    0x0009f02c lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x0009f030 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f034 sw v0, 0x44(sp)               |     *(var_44h) = v0;
                                             |     if (v0 != 0) {
    0x0009f038 bnez v0, 0x9f0fc              |         goto label_2;
                                             |     }
    0x0009f03c lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
    0x0009f040 sw v0, 0x48(sp)               |     *(var_48h) = v0;
                                             |     if (v0 != 0) {
    0x0009f044 bnez v0, 0x9f0fc              |         goto label_2;
                                             |     }
    0x0009f048 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x0009f04c lbu a0, (v0)                  |     a0 = *(v0);
    0x0009f050 addiu v0, zero, 9             |     v0 = 9;
                                             |     if (a0 == v0) {
    0x0009f054 beql a0, v0, 0x9f54c          |         goto label_119;
                                             |     }
    0x0009f058 lbu v0, 0xc7(fp)              |     v0 = *(arg_c7h);
                                             | label_6:
    0x0009f05c lw s0, 0x44(s3)               |     s0 = *((s3 + 17));
                                             | label_5:
    0x0009f060 lw a0, 0x34(s3)               |     a0 = *((s3 + 13));
                                             |     if (s0 == 0) {
    0x0009f064 beqz s0, 0x9f374              |         goto label_31;
                                             |     }
    0x0009f068 lw t9, -0x7dcc(gp)            |     t9 = *((gp - 8051));
                                             |     if (a0 == 0) {
    0x0009f06c beqz a0, 0x9fa18              |         goto label_120;
                                             |     }
    0x0009f070 addiu a2, zero, 0x24          |     a2 = 0x24;
    0x0009f074 move a1, zero                 |     a1 = 0;
    0x0009f078 addiu a0, sp, 0xf0            |     a0 = sp + 0xf0;
    0x0009f07c jalr t9                       |     t9 ();
    0x0009f080 lw v0, 0x30(s3)               |     v0 = *((s3 + 12));
    0x0009f084 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f088 sw v0, 0xec(sp)               |     *(var_ech) = v0;
                                             | label_3:
    0x0009f08c lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x0009f090 lw a2, 0x34(sp)               |     a2 = *(var_34h);
    0x0009f094 move a0, fp                   |     a0 = fp;
    0x0009f098 addiu t9, t9, 0x487c          |     t9 += 0x487c;
    0x0009f09c move a1, s3                   |     a1 = s3;
    0x0009f0a0 bal 0xb487c                   |     fcn_000b487c ();
    0x0009f0a4 lw a0, 0x38(s3)               |     a0 = *((s3 + 14));
    0x0009f0a8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (a0 != 0) {
    0x0009f0ac bnez a0, 0x9ef3c              |         goto label_0;
                                             |     }
    0x0009f0b0 lw a0, 0xd4(fp)               |     a0 = *(arg_d4h);
                                             |     if (a0 == 0) {
    0x0009f0b4 beql a0, zero, 0x9ef3c        |         goto label_0;
                                             |     }
    0x0009f0b8 sw a0, 0xd4(fp)               |     *(arg_d4h) = a0;
    0x0009f0bc lw a1, 8(fp)                  |     a1 = *(arg_8h);
                                             |     if (a0 < 0) {
    0x0009f0c0 bgez a0, 0x9f0cc              |         
    0x0009f0c4 lw a0, 0x6c(a1)               |         a0 = *((a1 + 27));
    0x0009f0c8 addiu a0, a0, -1              |         a0 += -1;
                                             |     }
    0x0009f0cc lw a2, (a1)                   |     a2 = *(a1);
    0x0009f0d0 lbu a2, 0x51(a2)              |     a2 = *((a2 + 81));
    0x0009f0d4 lw a0, -0x7fe4(gp)            |     a0 = *((gp - 8185));
                                             |     if (a2 == 0) {
    0x0009f0d8 bnel a2, zero, 0x9f170        |         goto label_121;
                                             |     }
    0x0009f0dc addiu a2, zero, 0x14          |     a2 = 0x14;
    0x0009f0e0 mul v1, a0, a2                |     __asm ("mul v1, a0, a2");
    0x0009f0e4 lw a1, 0x68(a1)               |     a1 = *((a1 + 26));
    0x0009f0e8 addu a0, v1, a1               |     a0 = v1 + a1;
    0x0009f0ec lw a0, 8(a0)                  |     a0 = *((a0 + 2));
                                             | label_1:
    0x0009f0f0 sw a0, 0xd4(fp)               |     *(arg_d4h) = a0;
    0x0009f0f4 b 0x9ef3c                     |     goto label_0;
                                             | label_15:
    0x0009f0f8 lw s7, 0x4c(sp)               |     s7 = *(var_4ch);
                                             | label_2:
    0x0009f0fc addiu v0, zero, 1             |     v0 = 1;
                                             | label_26:
    0x0009f100 lw a1, 0x130(sp)              |     a1 = *(var_130h);
    0x0009f104 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (a1 != 0) {
    0x0009f108 beqz a1, 0x9f124              |         
    0x0009f10c sw v0, 0x34(sp)               |         *(var_34h) = v0;
    0x0009f110 addiu t9, t9, 0x5858          |         t9 += 0x5858;
    0x0009f114 move a0, s7                   |         a0 = s7;
    0x0009f118 jalr t9                       |         t9 ();
    0x0009f11c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0009f120 lw v0, 0x34(sp)               |         v0 = *(var_34h);
                                             |     }
    0x0009f124 lw a1, 0x13c(sp)              |     a1 = *(var_13ch);
    0x0009f128 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (a1 != 0) {
    0x0009f12c beqz a1, 0x9f148              |         
    0x0009f130 sw v0, 0x34(sp)               |         *(var_34h) = v0;
    0x0009f134 addiu t9, t9, 0x5858          |         t9 += 0x5858;
    0x0009f138 move a0, s7                   |         a0 = s7;
    0x0009f13c jalr t9                       |         t9 ();
    0x0009f140 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0009f144 lw v0, 0x34(sp)               |         v0 = *(var_34h);
                                             |     }
    0x0009f148 lw a0, 0xd4(fp)               |     a0 = *(arg_d4h);
                                             |     if (a0 == 0) {
    0x0009f14c beql a0, zero, 0x9ef3c        |         goto label_0;
                                             |     }
    0x0009f150 sw a0, 0xd4(fp)               |     *(arg_d4h) = a0;
    0x0009f154 lw a2, 8(fp)                  |     a2 = *(arg_8h);
    0x0009f158 bltz a0, 0x9f194              |     
                                             |     while (1) {
    0x0009f15c lw a1, (a2)                   |         a1 = *(a2);
    0x0009f160 lbu a1, 0x51(a1)              |         a1 = *((a1 + 81));
    0x0009f164 sll a1, a0, 2                 |         a1 = a0 << 2;
                                             |         if (a1 != 0) {
    0x0009f168 beqz a1, 0x9f17c              |             
    0x0009f16c lw a0, -0x7fe4(gp)            |             a0 = *((gp - 8185));
                                             | label_121:
    0x0009f170 addiu a0, a0, -0x34c4         |             a0 += -0x34c4;
    0x0009f174 lw a0, 8(a0)                  |             a0 = *((a0 + 2));
    0x0009f178 b 0x9f0f0                     |             goto label_1;
                                             |         }
    0x0009f17c addu a1, a1, a0               |         a1 += a0;
    0x0009f180 lw a0, 0x68(a2)               |         a0 = *((a2 + 26));
    0x0009f184 sll a1, a1, 2                 |         a1 <<= 2;
    0x0009f188 addu a0, a0, a1               |         a0 += a1;
    0x0009f18c lw a0, 8(a0)                  |         a0 = *((a0 + 2));
    0x0009f190 b 0x9f0f0                     |         goto label_1;
    0x0009f194 lw a0, 0x6c(a2)               |         a0 = *((a2 + 27));
    0x0009f198 addiu a0, a0, -1              |         a0 += -1;
    0x0009f19c b 0x9f15c                     |         
                                             |     }
                                             | label_12:
    0x0009f1a0 lw a1, 0xec(sp)               |     a1 = *(var_ech);
    0x0009f1a4 lw s0, 0x70(sp)               |     s0 = *(var_70h);
    0x0009f1a8 lw s2, 0x74(sp)               |     s2 = *(var_74h);
                                             |     if (a1 == 0) {
    0x0009f1ac beqz a1, 0xa0ca4              |         goto label_122;
                                             |     }
                                             | label_43:
    0x0009f1b0 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x0009f1b4 lw t9, -0x7f6c(gp)            |     t9 = *((gp - 8155));
    0x0009f1b8 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009f1bc lw v0, 0x68(sp)               |     v0 = *(var_68h);
    0x0009f1c0 lw a3, 0x60(sp)               |     a3 = *(var_60h);
    0x0009f1c4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0009f1c8 lw v0, 0x64(sp)               |     v0 = *(var_64h);
    0x0009f1cc lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x0009f1d0 move a0, fp                   |     a0 = fp;
    0x0009f1d4 addiu t9, t9, -0x67e8         |     t9 += -0x67e8;
    0x0009f1d8 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x0009f1dc sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x0009f1e0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009f1e4 jalr t9                       |     t9 ();
    0x0009f1e8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f1ec move a3, zero                 |     a3 = 0;
    0x0009f1f0 move a2, zero                 |     a2 = 0;
    0x0009f1f4 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x0009f1f8 move a1, zero                 |     a1 = 0;
    0x0009f1fc move a0, fp                   |     a0 = fp;
    0x0009f200 addiu t9, t9, 0x446c          |     t9 += 0x446c;
    0x0009f204 move s1, v0                   |     s1 = v0;
    0x0009f208 jalr t9                       |     t9 ();
    0x0009f20c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f210 sw v0, 0x20(s3)               |     *((s3 + 8)) = v0;
                                             |     if (v0 == 0) {
    0x0009f214 beqz v0, 0xa09bc              |         goto label_123;
                                             |     }
    0x0009f218 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
    0x0009f21c move a1, v0                   |     a1 = v0;
    0x0009f220 move a0, fp                   |     a0 = fp;
    0x0009f224 addiu t9, t9, -0x52ac         |     t9 += -0x52ac;
    0x0009f228 sw s1, 0x1c(v0)               |     *((v0 + 7)) = s1;
    0x0009f22c jalr t9                       |     t9 ();
    0x0009f230 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f234 lw v0, 8(s1)                  |     v0 = *((s1 + 2));
    0x0009f238 move a1, s1                   |     a1 = s1;
    0x0009f23c lw t9, -0x7f60(gp)            |     t9 = *((gp - 8152));
    0x0009f240 ori v0, v0, 0x40              |     v0 |= 0x40;
    0x0009f244 sw v0, 8(s1)                  |     *((s1 + 2)) = v0;
    0x0009f248 addiu t9, t9, -0x12d8         |     t9 += -0x12d8;
    0x0009f24c move a0, fp                   |     a0 = fp;
    0x0009f250 bal 0x9ed28                   |     fcn_0009ed28 ();
    0x0009f254 lw a0, 0x58(sp)               |     a0 = *(var_58h);
                                             |     if (v0 == 0) {
    0x0009f258 beqz v0, 0xa0af4              |         goto label_124;
                                             |     }
    0x0009f25c move a1, v0                   |     a1 = v0;
    0x0009f260 addiu t3, v0, 0x50            |     t3 = v0 + 0x50;
                                             |     do {
    0x0009f264 lwl t0, 3(a1)                 |         __asm ("lwl t0, 3(a1)");
    0x0009f268 lwl a3, 7(a1)                 |         __asm ("lwl a3, 7(a1)");
    0x0009f26c lwl a2, 0xb(a1)               |         __asm ("lwl a2, 0xb(a1)");
    0x0009f270 lwl v1, 0xf(a1)               |         __asm ("lwl v1, 0xf(a1)");
    0x0009f274 lwr t0, (a1)                  |         __asm ("lwr t0, (a1)");
    0x0009f278 lwr a3, 4(a1)                 |         __asm ("lwr a3, 4(a1)");
    0x0009f27c lwr v1, 0xc(a1)               |         __asm ("lwr v1, 0xc(a1)");
    0x0009f280 lwr a2, 8(a1)                 |         __asm ("lwr a2, 8(a1)");
    0x0009f284 swl t0, 3(a0)                 |         __asm ("swl t0, 3(a0)");
    0x0009f288 swr t0, (a0)                  |         __asm ("swr t0, (a0)");
    0x0009f28c swl a3, 7(a0)                 |         __asm ("swl a3, 7(a0)");
    0x0009f290 swr a3, 4(a0)                 |         __asm ("swr a3, 4(a0)");
    0x0009f294 swl a2, 0xb(a0)               |         __asm ("swl a2, 0xb(a0)");
    0x0009f298 swr a2, 8(a0)                 |         __asm ("swr a2, 8(a0)");
    0x0009f29c addiu a1, a1, 0x10            |         a1 += 0x10;
    0x0009f2a0 swl v1, 0xf(a0)               |         __asm ("swl v1, 0xf(a0)");
    0x0009f2a4 swr v1, 0xc(a0)               |         __asm ("swr v1, 0xc(a0)");
    0x0009f2a8 addiu a0, a0, 0x10            |         a0 += 0x10;
    0x0009f2ac bne a1, t3, 0x9f264           |         
                                             |     } while (a1 != t3);
    0x0009f2b0 lw v1, 0x58(sp)               |     v1 = *(var_58h);
    0x0009f2b4 lw a1, 0x20(s3)               |     a1 = *((s3 + 8));
    0x0009f2b8 move s1, zero                 |     s1 = 0;
    0x0009f2bc lw a0, 0x24(v1)               |     a0 = *((v1 + 9));
    0x0009f2c0 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0009f2c4 ori a0, a0, 2                 |     a0 |= 2;
    0x0009f2c8 sw a0, 0x24(v1)               |     *((v1 + 9)) = a0;
    0x0009f2cc sw v1, 0x18(a1)               |     *((a1 + 6)) = v1;
                                             | label_37:
    0x0009f2d0 lw v0, 0xec(sp)               |     v0 = *(var_ech);
    0x0009f2d4 lw a2, 0x2c(s0)               |     a2 = *((s0 + 11));
    0x0009f2d8 lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x0009f2dc lw a3, (v0)                   |     a3 = *(v0);
    0x0009f2e0 addiu a1, zero, 0x71          |     a1 = 0x71;
    0x0009f2e4 move t9, s5                   |     t9 = s5;
    0x0009f2e8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0009f2ec jalr t9                       |     t9 ();
    0x0009f2f0 lw a3, 0x2c(s0)               |     a3 = *((s0 + 11));
    0x0009f2f4 lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x0009f2f8 addiu a2, a3, 1               |     a2 = a3 + 1;
    0x0009f2fc addiu a1, zero, 0x6f          |     a1 = 0x6f;
    0x0009f300 move t9, s5                   |     t9 = s5;
    0x0009f304 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0009f308 jalr t9                       |     t9 ();
    0x0009f30c lw a3, 0x2c(s0)               |     a3 = *((s0 + 11));
    0x0009f310 lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x0009f314 addiu a2, a3, 2               |     a2 = a3 + 2;
    0x0009f318 addiu a1, zero, 0x6f          |     a1 = 0x6f;
    0x0009f31c move t9, s5                   |     t9 = s5;
    0x0009f320 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0009f324 jalr t9                       |     t9 ();
    0x0009f328 lw a3, 0x2c(s0)               |     a3 = *((s0 + 11));
    0x0009f32c lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x0009f330 addiu a1, zero, 0x6f          |     a1 = 0x6f;
    0x0009f334 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0009f338 move t9, s5                   |     t9 = s5;
    0x0009f33c addiu a2, a3, 3               |     a2 = a3 + 3;
    0x0009f340 jalr t9                       |     t9 ();
    0x0009f344 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0009f348 lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x0009f34c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0009f350 bnez v0, 0xa099c              |         goto label_125;
                                             |     }
    0x0009f354 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
    0x0009f358 lw a1, 0x58(sp)               |     a1 = *(var_58h);
    0x0009f35c addiu t9, t9, 0x5858          |     t9 += 0x5858;
    0x0009f360 lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x0009f364 jalr t9                       |     t9 ();
    0x0009f368 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s1 != 0) {
    0x0009f36c bnez s1, 0x9f0fc              |         goto label_2;
                                             |     }
    0x0009f370 lw a0, 0x34(s3)               |     a0 = *((s3 + 13));
                                             | label_31:
    0x0009f374 lw a1, 8(s3)                  |     a1 = *((s3 + 2));
    0x0009f378 lw a2, 0x30(s3)               |     a2 = *((s3 + 12));
    0x0009f37c andi v0, a1, 8                |     v0 = a1 & 8;
    0x0009f380 lw t2, 0x20(s3)               |     t2 = *((s3 + 8));
    0x0009f384 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x0009f388 sw zero, 0xf0(sp)             |     *(var_f0h) = 0;
    0x0009f38c sw zero, 0xf4(sp)             |     *(var_f4h) = 0;
    0x0009f390 sw zero, 0xf8(sp)             |     *(var_f8h) = 0;
    0x0009f394 sw zero, 0xfc(sp)             |     *(var_fch) = 0;
    0x0009f398 sw zero, 0x100(sp)            |     *(var_100h) = 0;
    0x0009f39c sw zero, 0x104(sp)            |     *(var_104h) = 0;
    0x0009f3a0 sw zero, 0x108(sp)            |     *(var_108h) = 0;
    0x0009f3a4 sw zero, 0x10c(sp)            |     *(var_10ch) = 0;
    0x0009f3a8 sw zero, 0x110(sp)            |     *(var_110h) = 0;
    0x0009f3ac sw a2, 0xec(sp)               |     *(var_ech) = a2;
                                             |     if (a0 != 0) {
    0x0009f3b0 bnez a0, 0x9f08c              |         goto label_3;
                                             |     }
    0x0009f3b4 lw v0, (t2)                   |     v0 = *(t2);
    0x0009f3b8 lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
                                             |     if (v0 <= 0) {
    0x0009f3bc blez v0, 0xa02a0              |         goto label_30;
                                             |     }
    0x0009f3c0 move t1, zero                 |     t1 = 0;
    0x0009f3c4 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0009f3c8 lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
    0x0009f3cc sw s4, 0x4c(sp)               |     *(var_4ch) = s4;
    0x0009f3d0 addiu v0, v0, 0x3a54          |     v0 += 0x3a54;
    0x0009f3d4 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0009f3d8 lw v0, -0x7f70(gp)            |     v0 = *((gp - 8156));
    0x0009f3dc move s4, s3                   |     s4 = s3;
    0x0009f3e0 addiu v0, v0, 0x423c          |     v0 += 0x423c;
    0x0009f3e4 sw s2, 0x50(sp)               |     *(var_50h) = s2;
    0x0009f3e8 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0009f3ec move s2, fp                   |     s2 = fp;
    0x0009f3f0 move s3, t1                   |     s3 = t1;
    0x0009f3f4 move fp, t2                   |     fp = t2;
    0x0009f3f8 b 0x9f4cc                     |     
                                             |     if (s5 != 0) {
                                             |         while (v0 == 0) {
                                             | label_4:
    0x0009f3fc beql s5, zero, 0x9f4b0        |             
    0x0009f400 addiu s3, s3, 1               |             s3++;
    0x0009f404 lw v0, (s5)                   |             v0 = *(s5);
    0x0009f408 lh a2, 0x2a(s0)               |             a2 = *((s0 + 21));
    0x0009f40c lw v0, (v0)                   |             v0 = *(v0);
    0x0009f410 lw a1, -0x7fa0(gp)            |             a1 = *((gp - 8168));
                                             |             if (a2 != v0) {
    0x0009f414 bne a2, v0, 0xa0264           |                 goto label_126;
                                             |             }
    0x0009f418 lw v0, 8(s5)                  |             v0 = *((s5 + 2));
    0x0009f41c andi v0, v0, 8                |             v0 &= 8;
    0x0009f420 addiu s3, s3, 1               |             s3++;
                                             |             if (v0 == 0) {
    0x0009f424 bnel v0, zero, 0x9f4b0        |                 goto label_127;
                                             |             }
    0x0009f428 lw v0, 0x30(s5)               |             v0 = *((s5 + 12));
                                             |             if (v0 != 0) {
    0x0009f42c beql v0, zero, 0x9f470        |                 
    0x0009f430 lw s0, (s2)                   |                 s0 = *(s2);
    0x0009f434 lw s0, (s2)                   |                 s0 = *(s2);
                                             |                 if (s3 == 0) {
    0x0009f438 bnel s3, zero, 0x9f470        |                     goto label_128;
                                             |                 }
    0x0009f43c lw v0, 8(s4)                  |                 v0 = *((s4 + 2));
    0x0009f440 ext v0, v0, 0x12, 1           |                 __asm ("ext v0, v0, 0x12, 1");
                                             |                 if (v0 == 0) {
    0x0009f444 beql v0, zero, 0x9f470        |                     goto label_128;
                                             |                 }
    0x0009f448 lw s0, (s2)                   |                 s0 = *(s2);
    0x0009f44c lw a0, (fp)                   |                 a0 = *(fp);
    0x0009f450 addiu v0, zero, 1             |                 v0 = 1;
                                             |                 if (a0 == v0) {
    0x0009f454 beql a0, v0, 0x9fcd4          |                     goto label_129;
                                             |                 }
    0x0009f458 move s3, s4                   |                 s3 = s4;
    0x0009f45c lbu v0, 0x74(fp)              |                 v0 = *(arg_74h);
    0x0009f460 andi v0, v0, 0xa              |                 v0 &= 0xa;
    0x0009f464 addiu s3, zero, 1             |                 s3 = 1;
                                             |                 if (v0 == 0) {
    0x0009f468 bnel v0, zero, 0x9f4b0        |                     goto label_127;
                                             |                 }
    0x0009f46c lw s0, (s2)                   |                 s0 = *(s2);
                                             |             }
                                             | label_128:
    0x0009f470 lhu v0, 0x4c(s0)              |             v0 = *((s0 + 38));
    0x0009f474 andi v0, v0, 1                |             v0 &= 1;
    0x0009f478 lw fp, 0x20(s4)               |             fp = *((s4 + 8));
                                             |             if (v0 == 0) {
    0x0009f47c bnez v0, 0x9f48c              |                 
    0x0009f480 lw v0, 0x44(s4)               |                 v0 = *((s4 + 17));
    0x0009f484 addu v0, a3, s3               |                 v0 = a3 + s3;
                                             |                 if (v0 == 0) {
    0x0009f488 beqz v0, 0x9f810              |                     goto label_130;
                                             |                 }
                                             |             }
                                             | label_8:
    0x0009f48c lbu v0, 0x51(s7)              |             v0 = *((s7 + 81));
                                             | label_7:
    0x0009f490 lw v0, 0x34(sp)               |             v0 = *(var_34h);
                                             |             if (v0 != 0) {
    0x0009f494 bnez v0, 0xa0974              |                 goto label_111;
                                             |             }
    0x0009f498 lbu v0, (v0)                  |             v0 = *(v0);
    0x0009f49c sltiu v0, v0, 9               |             v0 = (v0 < 9) ? 1 : 0;
    0x0009f4a0 addiu s3, s3, 1               |             s3++;
                                             |             if (v0 != 0) {
    0x0009f4a4 bnez v0, 0x9f4b0              |                 goto label_127;
                                             |             }
    0x0009f4a8 lw v0, 0x30(s4)               |             v0 = *((s4 + 12));
    0x0009f4ac sw v0, 0xec(sp)               |             *(var_ech) = v0;
                                             |         }
                                             | label_127:
    0x0009f4b0 lw v0, 0x34(s4)               |         v0 = *((s4 + 13));
    0x0009f4b4 move fp, s2                   |         fp = s2;
                                             |         if (v0 == 0) {
    0x0009f4b8 bnel v0, zero, 0xa025c        |             goto label_131;
                                             |         }
    0x0009f4bc lw v0, (fp)                   |         v0 = *(fp);
    0x0009f4c0 slt a0, s3, v0                |         a0 = (s3 < v0) ? 1 : 0;
    0x0009f4c4 slti a0, v0, 2                |         a0 = (v0 < 2) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x0009f4c8 beqz a0, 0xa2a4c              |             goto label_132;
                                             |         }
    0x0009f4cc sll a3, s3, 3                 |         a3 = s3 << 3;
    0x0009f4d0 addu s1, a3, s3               |         s1 = a3 + s3;
    0x0009f4d4 sll s1, s1, 3                 |         s1 <<= 3;
    0x0009f4d8 addu s1, fp, s1               |         s1 = fp + s1;
    0x0009f4dc lbu v0, 0x2c(s1)              |         v0 = *((s1 + 44));
    0x0009f4e0 lw s5, 0x1c(s1)               |         s5 = *((s1 + 7));
    0x0009f4e4 andi v0, v0, 8                |         v0 &= 8;
    0x0009f4e8 lw s0, 0x18(s1)               |         s0 = *((s1 + 6));
    0x0009f4ec beqz v0, 0x9f3fc              |         
                                             |     }
    0x0009f4f0 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0009f4f4 lw a1, 0x30(s1)               |     a1 = *((s1 + 12));
    0x0009f4f8 lw a0, 0x24(s4)               |     a0 = *((s4 + 9));
    0x0009f4fc addiu t9, v0, 0x1de4          |     t9 = v0 + 0x1de4;
    0x0009f500 sw a3, 0x3c(sp)               |     *(var_3ch) = a3;
    0x0009f504 jalr t9                       |     t9 ();
    0x0009f508 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f50c lw a3, 0x3c(sp)               |     a3 = *(var_3ch);
                                             |     if (v0 == 0) {
    0x0009f510 beqz v0, 0x9f3fc              |         goto label_4;
                                             |     }
    0x0009f514 lhu v0, 0x4c(s7)              |     v0 = *((s7 + 38));
    0x0009f518 andi v0, v0, 0x2000           |     v0 &= 0x2000;
    0x0009f51c lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (v0 != 0) {
    0x0009f520 bnez v0, 0x9f3fc              |         goto label_4;
                                             |     }
    0x0009f524 lbu v0, 0x2c(s1)              |     v0 = *((s1 + 44));
    0x0009f528 andi v0, v0, 0xd7             |     v0 &= 0xd7;
    0x0009f52c lw a0, 0x24(s4)               |     a0 = *((s4 + 9));
    0x0009f530 lw a1, 0x30(s1)               |     a1 = *((s1 + 12));
    0x0009f534 addiu t9, t9, -0x4dc0         |     t9 += -0x4dc0;
    0x0009f538 sb v0, 0x2c(s1)               |     *((s1 + 44)) = v0;
    0x0009f53c jalr t9                       |     t9 ();
    0x0009f540 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f544 lw a3, 0x3c(sp)               |     a3 = *(var_3ch);
    0x0009f548 b 0x9f3fc                     |     goto label_4;
                                             | label_119:
    0x0009f54c lw s0, 0x44(s3)               |     s0 = *((s3 + 17));
                                             |     if (v0 == 0) {
    0x0009f550 bnel v0, zero, 0x9f060        |         goto label_5;
                                             |     }
    0x0009f554 lbu v0, 0x10(fp)              |     v0 = *(arg_10h);
    0x0009f558 lw s0, 0x44(s3)               |     s0 = *((s3 + 17));
                                             |     if (v0 == 0) {
    0x0009f55c bnel v0, zero, 0x9f060        |         goto label_5;
                                             |     }
    0x0009f560 move a0, s3                   |     a0 = s3;
                                             |     do {
    0x0009f564 lw v0, 0x34(a0)               |         v0 = *((a0 + 13));
    0x0009f568 move a0, v0                   |         a0 = v0;
    0x0009f56c bnel v0, zero, 0x9f564        |         
                                             |     } while (v0 == 0);
    0x0009f570 lw v0, 0x20(a0)               |     v0 = *((a0 + 8));
    0x0009f574 lw v1, (fp)                   |     v1 = *(fp);
    0x0009f578 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0009f57c addiu v0, zero, 1             |     v0 = 1;
    0x0009f580 lw s0, (a0)                   |     s0 = *(a0);
    0x0009f584 sb v0, 0x10(fp)               |     *(arg_10h) = v0;
    0x0009f588 lw s1, 0x20(v1)               |     s1 = *((v1 + 8));
    0x0009f58c lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x0009f590 lw s5, 8(fp)                  |     s5 = *(arg_8h);
    0x0009f594 andi v0, s1, 4                |     v0 = s1 & 4;
    0x0009f598 lw a1, (s0)                   |     a1 = *(s0);
    0x0009f59c sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x0009f5a0 andi v0, s1, 0x44             |     v0 = s1 & 0x44;
    0x0009f5a4 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0009f5a8 sw s0, 0x5c(sp)               |     *(var_5ch) = s0;
    0x0009f5ac sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
    0x0009f5b0 addiu t9, t9, -0x5d8          |     t9 += -0x5d8;
    0x0009f5b4 move a0, s5                   |     a0 = s5;
    0x0009f5b8 jalr t9                       |     t9 ();
    0x0009f5bc lw v0, (s0)                   |     v0 = *(s0);
    0x0009f5c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009f5c4 move a1, s0                   |     a1 = s0;
                                             |     if (v0 <= 0) {
    0x0009f5c8 blez v0, 0x9f05c              |         goto label_6;
                                             |     }
    0x0009f5cc lw v1, -0x7f78(gp)            |     v1 = *((gp - 8158));
    0x0009f5d0 lw a0, -0x7f70(gp)            |     a0 = *((gp - 8156));
    0x0009f5d4 sw v1, 0x54(sp)               |     *(var_54h) = v1;
    0x0009f5d8 lw v1, -0x7fa0(gp)            |     v1 = *((gp - 8168));
    0x0009f5dc addiu s0, s0, 4               |     s0 += 4;
    0x0009f5e0 sw v1, 0x74(sp)               |     *(var_74h) = v1;
    0x0009f5e4 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0009f5e8 move s1, zero                 |     s1 = 0;
    0x0009f5ec addiu v1, v1, 0x7268          |     v1 += 0x7268;
    0x0009f5f0 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x0009f5f4 lw v1, -0x7f50(gp)            |     v1 = *((gp - 8148));
    0x0009f5f8 sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x0009f5fc addiu v1, v1, 0x4738          |     v1 += 0x4738;
    0x0009f600 sw v1, 0x3c(sp)               |     *(var_3ch) = v1;
    0x0009f604 addiu v1, a0, 0x5298          |     v1 = a0 + 0x5298;
    0x0009f608 sw v1, 0x64(sp)               |     *(var_64h) = v1;
    0x0009f60c move v1, s5                   |     v1 = s5;
    0x0009f610 sw s2, 0x6c(sp)               |     *(var_6ch) = s2;
    0x0009f614 move s5, s1                   |     s5 = s1;
    0x0009f618 move s2, s0                   |     s2 = s0;
    0x0009f61c sw s3, 0x68(sp)               |     *(var_68h) = s3;
    0x0009f620 move s0, a1                   |     s0 = a1;
    0x0009f624 move s1, v1                   |     s1 = v1;
                                             |     do {
    0x0009f628 lw a3, 4(s2)                  |         a3 = *((s2 + 1));
    0x0009f62c addiu s3, s5, 1               |         s3 = s5 + 1;
                                             |         if (a3 == 0) {
    0x0009f630 beqz a3, 0x9f9a0              |             goto label_133;
                                             |         }
    0x0009f634 lw a0, (s1)                   |         a0 = *(s1);
                                             | label_39:
    0x0009f638 lbu a0, 0x51(a0)              |         a0 = *((a0 + 81));
    0x0009f63c slt a0, s3, v0                |         a0 = (s3 < v0) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x0009f640 bnez a0, 0x9f66c              |             
    0x0009f644 addiu v0, zero, -1            |             v0 = -1;
    0x0009f648 sw v0, 0x10(sp)               |             *(var_10h) = v0;
                                             | label_40:
    0x0009f64c lw t9, 0x3c(sp)               |             t9 = *(var_3ch);
    0x0009f650 move a2, zero                 |             a2 = 0;
    0x0009f654 move a1, s5                   |             a1 = s5;
    0x0009f658 move a0, s1                   |             a0 = s1;
    0x0009f65c jalr t9                       |             t9 ();
    0x0009f660 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             | label_10:
    0x0009f664 lw v0, (s0)                   |             v0 = *(s0);
                                             | label_11:
    0x0009f668 slt a0, s3, v0                |             a0 = (s3 < v0) ? 1 : 0;
                                             |         }
    0x0009f66c addiu s2, s2, 0x14            |         s2 += 0x14;
    0x0009f670 move s5, s3                   |         s5 = s3;
    0x0009f674 bnez a0, 0x9f628              |         
                                             |     } while (a0 != 0);
    0x0009f678 lw a0, 0x58(sp)               |     a0 = *(var_58h);
    0x0009f67c lw s3, 0x68(sp)               |     s3 = *(var_68h);
    0x0009f680 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
    0x0009f684 lw v1, 8(fp)                  |     v1 = *(arg_8h);
    0x0009f688 sw a0, 0xf0(sp)               |     *(var_f0h) = a0;
    0x0009f68c sw fp, 0xec(sp)               |     *(var_ech) = fp;
    0x0009f690 sw zero, 0xf8(sp)             |     *(var_f8h) = 0;
                                             |     if (v0 <= 0) {
    0x0009f694 blez v0, 0x9f05c              |         goto label_6;
                                             |     }
    0x0009f698 addiu v0, sp, 0xcc            |     v0 = sp + 0xcc;
    0x0009f69c sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0009f6a0 lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x0009f6a4 lw a0, 0x60(sp)               |     a0 = *(var_60h);
    0x0009f6a8 addiu v0, v0, -0x1c58         |     v0 += -0x1c58;
    0x0009f6ac sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x0009f6b0 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x0009f6b4 move a1, zero                 |     a1 = 0;
    0x0009f6b8 addiu v0, v0, 0x4738          |     v0 += 0x4738;
    0x0009f6bc sw s7, 0x50(sp)               |     *(var_50h) = s7;
    0x0009f6c0 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x0009f6c4 lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x0009f6c8 sw s2, 0x60(sp)               |     *(var_60h) = s2;
    0x0009f6cc sw s3, 0x5c(sp)               |     *(var_5ch) = s3;
    0x0009f6d0 addiu s1, sp, 0xb0            |     s1 = sp + 0xb0;
    0x0009f6d4 addiu s0, sp, 0xa4            |     s0 = sp + 0xa4;
    0x0009f6d8 addiu s5, sp, 0xec            |     s5 = sp + 0xec;
    0x0009f6dc sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x0009f6e0 sw s4, 0x54(sp)               |     *(var_54h) = s4;
    0x0009f6e4 move fp, v1                   |     fp = v1;
    0x0009f6e8 move s3, a0                   |     s3 = a0;
    0x0009f6ec move s2, a1                   |     s2 = a1;
                                             |     do {
    0x0009f6f0 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x0009f6f4 lw a1, (s3)                   |         a1 = *(s3);
    0x0009f6f8 lw t9, 0x4c(sp)               |         t9 = *(var_4ch);
    0x0009f6fc move a0, s5                   |         a0 = s5;
    0x0009f700 move a3, s1                   |         a3 = s1;
    0x0009f704 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0009f708 move a2, s0                   |         a2 = s0;
    0x0009f70c sw zero, 0xa4(sp)             |         *(var_a4h) = 0;
    0x0009f710 sw zero, 0xb0(sp)             |         *(var_b0h) = 0;
    0x0009f714 sw zero, 0xcc(sp)             |         *(var_cch) = 0;
    0x0009f718 jalr t9                       |         t9 ();
    0x0009f71c lw a0, (fp)                   |         a0 = *(fp);
    0x0009f720 move s4, v0                   |         s4 = v0;
    0x0009f724 lbu v0, 0x51(a0)              |         v0 = *((a0 + 81));
    0x0009f728 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0009f72c bnez v0, 0x9f7e4              |             
    0x0009f730 lw a3, 0xa4(sp)               |             a3 = *(var_a4h);
    0x0009f734 addiu v0, zero, -1            |             v0 = -1;
    0x0009f738 lw t9, 0x3c(sp)               |             t9 = *(var_3ch);
    0x0009f73c sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0009f740 addiu a2, zero, 2             |             a2 = 2;
    0x0009f744 move a1, s2                   |             a1 = s2;
    0x0009f748 move a0, fp                   |             a0 = fp;
    0x0009f74c jalr t9                       |             t9 ();
    0x0009f750 lw v0, (fp)                   |             v0 = *(fp);
    0x0009f754 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0009f758 lbu v0, 0x51(v0)              |             v0 = *((v0 + 81));
    0x0009f75c lw a3, 0xb0(sp)               |             a3 = *(var_b0h);
                                             |             if (v0 != 0) {
    0x0009f760 bnez v0, 0x9f7e4              |                 goto label_134;
                                             |             }
    0x0009f764 addiu v0, zero, -1            |             v0 = -1;
    0x0009f768 lw t9, 0x3c(sp)               |             t9 = *(var_3ch);
    0x0009f76c sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0009f770 addiu a2, zero, 3             |             a2 = 3;
    0x0009f774 move a1, s2                   |             a1 = s2;
    0x0009f778 move a0, fp                   |             a0 = fp;
    0x0009f77c jalr t9                       |             t9 ();
    0x0009f780 lw v0, (fp)                   |             v0 = *(fp);
    0x0009f784 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0009f788 lbu v0, 0x51(v0)              |             v0 = *((v0 + 81));
    0x0009f78c lw a3, 0xcc(sp)               |             a3 = *(var_cch);
                                             |             if (v0 != 0) {
    0x0009f790 bnez v0, 0x9f7e4              |                 goto label_134;
                                             |             }
    0x0009f794 addiu v0, zero, -1            |             v0 = -1;
    0x0009f798 lw t9, 0x3c(sp)               |             t9 = *(var_3ch);
    0x0009f79c sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0009f7a0 addiu a2, zero, 4             |             a2 = 4;
    0x0009f7a4 move a1, s2                   |             a1 = s2;
    0x0009f7a8 move a0, fp                   |             a0 = fp;
    0x0009f7ac jalr t9                       |             t9 ();
    0x0009f7b0 lw v0, (fp)                   |             v0 = *(fp);
    0x0009f7b4 lbu v0, 0x51(v0)              |             v0 = *((v0 + 81));
    0x0009f7b8 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 != 0) {
    0x0009f7bc bnez v0, 0x9f7e4              |                 goto label_134;
                                             |             }
    0x0009f7c0 addiu v0, zero, -1            |             v0 = -1;
    0x0009f7c4 lw t9, 0x3c(sp)               |             t9 = *(var_3ch);
    0x0009f7c8 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0009f7cc move a3, s4                   |             a3 = s4;
    0x0009f7d0 addiu a2, zero, 1             |             a2 = 1;
    0x0009f7d4 move a1, s2                   |             a1 = s2;
    0x0009f7d8 move a0, fp                   |             a0 = fp;
    0x0009f7dc jalr t9                       |             t9 ();
    0x0009f7e0 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
                                             | label_134:
    0x0009f7e4 lw v0, (s7)                   |         v0 = *(s7);
    0x0009f7e8 addiu s2, s2, 1               |         s2++;
    0x0009f7ec slt v0, s2, v0                |         v0 = (s2 < v0) ? 1 : 0;
    0x0009f7f0 addiu s3, s3, 0x14            |         s3 += 0x14;
    0x0009f7f4 bnez v0, 0x9f6f0              |         
                                             |     } while (v0 != 0);
    0x0009f7f8 lw s7, 0x50(sp)               |     s7 = *(var_50h);
    0x0009f7fc lw s4, 0x54(sp)               |     s4 = *(var_54h);
    0x0009f800 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x0009f804 lw s3, 0x5c(sp)               |     s3 = *(var_5ch);
    0x0009f808 lw s2, 0x60(sp)               |     s2 = *(var_60h);
    0x0009f80c b 0x9f05c                     |     goto label_6;
                                             | label_130:
    0x0009f810 sll v0, v0, 3                 |     v0 <<= 3;
    0x0009f814 addu v0, fp, v0               |     v0 = fp + v0;
    0x0009f818 lw s1, 0x1c(v0)               |     s1 = *((v0 + 7));
    0x0009f81c lw v0, 0x44(s1)               |     v0 = *((s1 + 17));
    0x0009f820 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (v0 == 0) {
    0x0009f824 bnel v0, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f828 lw a0, 0x3c(s1)               |     a0 = *((s1 + 15));
                                             |     if (a0 == 0) {
    0x0009f82c beql a0, zero, 0x9f85c        |         goto label_135;
                                             |     }
    0x0009f830 lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0009f834 lw v0, 0x3c(s4)               |     v0 = *((s4 + 15));
    0x0009f838 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (v0 == 0) {
    0x0009f83c bnel v0, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f840 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x0009f844 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (v0 == 0) {
    0x0009f848 bnel v0, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f84c lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0009f850 andi a1, v0, 0x100            |     a1 = v0 & aav.0x00000100;
    0x0009f854 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (a1 == 0) {
    0x0009f858 bnel a1, zero, 0x9f490        |         goto label_7;
                                             |     }
                                             | label_135:
    0x0009f85c lw a2, 0x20(s1)               |     a2 = *((s1 + 8));
    0x0009f860 lw a1, (a2)                   |     a1 = *(a2);
                                             |     if (a1 == 0) {
    0x0009f864 beql a1, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f868 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
    0x0009f86c lw a3, 8(s1)                  |     a3 = *((s1 + 2));
    0x0009f870 andi t2, a3, 1                |     t2 = a3 & 1;
    0x0009f874 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (t2 == 0) {
    0x0009f878 bnel t2, zero, 0x9f490        |         goto label_7;
                                             |     }
                                             |     if (a0 == 0) {
    0x0009f87c beql a0, zero, 0xa203c        |         goto label_136;
                                             |     }
    0x0009f880 lw a0, 0x30(s4)               |     a0 = *((s4 + 12));
    0x0009f884 lw a0, (fp)                   |     a0 = *(fp);
    0x0009f888 slti a0, a0, 2                |     a0 = (a0 < 2) ? 1 : 0;
    0x0009f88c lw v1, 0x60(sp)               |     v1 = *(var_60h);
                                             |     if (a0 == 0) {
    0x0009f890 beqz a0, 0x9f48c              |         goto label_8;
                                             |     }
    0x0009f894 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (v1 == 0) {
    0x0009f898 bnel v1, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f89c lw a0, 0x30(s4)               |     a0 = *((s4 + 12));
                                             |     if (a0 == 0) {
    0x0009f8a0 beql a0, zero, 0x9f8b8        |         goto label_137;
                                             |     }
    0x0009f8a4 lw t2, 0x24(s4)               |     t2 = *((s4 + 9));
    0x0009f8a8 lw t2, 0x30(s1)               |     t2 = *((s1 + 12));
    0x0009f8ac lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (t2 == 0) {
    0x0009f8b0 bnel t2, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f8b4 lw t2, 0x24(s4)               |     t2 = *((s4 + 9));
                                             | label_137:
    0x0009f8b8 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (t2 == 0) {
    0x0009f8bc bnel t2, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f8c0 andi t2, v0, 1                |     t2 = v0 & 1;
    0x0009f8c4 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (t2 == 0) {
    0x0009f8c8 bnel t2, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f8cc andi a3, a3, 0x2000           |     a3 &= 0x2000;
                                             | label_66:
    0x0009f8d0 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (a3 == 0) {
    0x0009f8d4 bnel a3, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f8d8 addiu a3, zero, 0x48          |     a3 = 0x48;
    0x0009f8dc mul v1, s3, a3                |     __asm ("mul v1, s3, a3");
    0x0009f8e0 addu a3, v1, fp               |     a3 = v1 + fp;
    0x0009f8e4 lbu a3, 0x2c(a3)              |     a3 = *((a3 + 44));
    0x0009f8e8 andi a3, a3, 0x20             |     a3 &= 0x20;
                                             |     if (a3 == 0) {
    0x0009f8ec beql a3, zero, 0x9f91c        |         goto label_138;
                                             |     }
    0x0009f8f0 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x0009f8f4 slti a1, a1, 2                |     a1 = (a1 < 2) ? 1 : 0;
    0x0009f8f8 lw v1, 0x60(sp)               |     v1 = *(var_60h);
                                             |     if (a1 == 0) {
    0x0009f8fc beqz a1, 0x9f48c              |         goto label_8;
                                             |     }
    0x0009f900 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (v1 == 0) {
    0x0009f904 bnel v1, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f908 lw a1, 0x18(a2)               |     a1 = *((a2 + 6));
    0x0009f90c lw a1, 0x38(a1)               |     a1 = *((a1 + 14));
    0x0009f910 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (a1 != 0) {
    0x0009f914 bnez a1, 0x9f48c              |         goto label_8;
                                             |     }
    0x0009f918 sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
                                             | label_138:
    0x0009f91c lw a1, 0x34(s1)               |     a1 = *((s1 + 13));
                                             |     if (a1 == 0) {
    0x0009f920 beql a1, zero, 0xa2970        |         goto label_139;
                                             |     }
    0x0009f924 addiu v0, zero, 0x48          |     v0 = 0x48;
    0x0009f928 lw a1, 0x30(s1)               |     a1 = *((s1 + 12));
    0x0009f92c lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (a1 == 0) {
    0x0009f930 bnel a1, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f934 lw v1, 0x60(sp)               |     v1 = *(var_60h);
    0x0009f938 andi v0, v0, 1                |     v0 &= 1;
    0x0009f93c or v0, v0, v1                 |     v0 |= v1;
    0x0009f940 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 != 0) {
    0x0009f944 bnez v0, 0x9f48c              |         goto label_8;
                                             |     }
    0x0009f948 lw a1, (fp)                   |     a1 = *(fp);
    0x0009f94c lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (a1 == v0) {
    0x0009f950 bnel a1, v0, 0x9f490          |         goto label_7;
                                             |     }
    0x0009f954 move v0, s1                   |     v0 = s1;
    0x0009f958 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x0009f95c lw v1, 8(v0)                  |     v1 = *((v0 + 2));
                                             | label_9:
    0x0009f960 andi v1, v1, 9                |     v1 &= 9;
    0x0009f964 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (v1 == 0) {
    0x0009f968 bnel v1, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x0009f96c lw v1, 0x34(v0)               |     v1 = *((v0 + 13));
                                             |     if (v1 == 0) {
    0x0009f970 beql v1, zero, 0xa2934        |         goto label_140;
                                             |     }
    0x0009f974 lw v0, 0x20(v0)               |     v0 = *((v0 + 8));
    0x0009f978 lbu a1, 4(v0)                 |     a1 = *((v0 + 4));
    0x0009f97c lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (a1 == a2) {
    0x0009f980 bnel a1, a2, 0x9f490          |         goto label_7;
                                             |     }
    0x0009f984 lw a1, 0x20(v0)               |     a1 = *((v0 + 8));
    0x0009f988 move v0, v1                   |     v0 = v1;
    0x0009f98c lw v1, (a1)                   |     v1 = *(a1);
                                             |     if (v1 > 0) {
    0x0009f990 bgtzl v1, 0x9f960             |         goto label_9;
                                             |     }
    0x0009f994 lw v1, 8(v0)                  |     v1 = *((v0 + 2));
    0x0009f998 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
    0x0009f99c b 0x9f490                     |     goto label_7;
                                             | label_133:
    0x0009f9a0 lw v1, 0x40(sp)               |     v1 = *(var_40h);
                                             |     if (v1 != 0) {
    0x0009f9a4 beql v1, zero, 0x9f9c4        |         
    0x0009f9a8 lw a1, 8(s2)                  |         a1 = *((s2 + 2));
    0x0009f9ac lw a0, (s2)                   |         a0 = *(s2);
    0x0009f9b0 addiu a1, zero, 0xa2          |         a1 = 0xa2;
    0x0009f9b4 lbu a2, (a0)                  |         a2 = *(a0);
                                             |         if (a2 == a1) {
    0x0009f9b8 beql a2, a1, 0xa0b50          |             goto label_141;
                                             |         }
    0x0009f9bc lh a1, 0x20(a0)               |         a1 = *((a0 + 16));
    0x0009f9c0 lw a1, 8(s2)                  |         a1 = *((s2 + 2));
                                             |     }
    0x0009f9c4 lw v0, 0x74(sp)               |     v0 = *(var_74h);
                                             |     if (a1 == 0) {
    0x0009f9c8 beqz a1, 0xa0a08              |         goto label_142;
                                             |     }
    0x0009f9cc lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0009f9d0 addiu t9, v0, -0x73ac         |     t9 = v0 + -0x73ac;
    0x0009f9d4 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x0009f9d8 jalr t9                       |     t9 ();
    0x0009f9dc lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_32:
    0x0009f9e0 lw a0, (s1)                   |     a0 = *(s1);
    0x0009f9e4 lbu a0, 0x51(a0)              |     a0 = *((a0 + 81));
    0x0009f9e8 lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (a0 != 0) {
    0x0009f9ec bnez a0, 0x9f664              |         goto label_10;
                                             |     }
    0x0009f9f0 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x0009f9f4 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0009f9f8 move a3, v0                   |     a3 = v0;
    0x0009f9fc move a2, zero                 |     a2 = 0;
    0x0009fa00 move a1, s5                   |     a1 = s5;
    0x0009fa04 move a0, s1                   |     a0 = s1;
    0x0009fa08 jalr t9                       |     t9 ();
    0x0009fa0c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fa10 lw v0, (s0)                   |     v0 = *(s0);
    0x0009fa14 b 0x9f668                     |     goto label_11;
                                             | label_120:
    0x0009fa18 lw v0, 8(fp)                  |     v0 = *(arg_8h);
    0x0009fa1c sw v0, 0x50(sp)               |     *(var_50h) = v0;
                                             |     if (v0 == 0) {
    0x0009fa20 bnez v0, 0x9fa40              |         
    0x0009fa24 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
    0x0009fa28 addiu t9, t9, 0x6350          |         t9 += 0x6350;
    0x0009fa2c move a0, fp                   |         a0 = fp;
    0x0009fa30 jalr t9                       |         t9 ();
    0x0009fa34 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0009fa38 lw s0, 0x44(s3)               |         s0 = *((s3 + 17));
    0x0009fa3c sw v0, 0x50(sp)               |         *(var_50h) = v0;
                                             |     }
    0x0009fa40 lw v0, (fp)                   |     v0 = *(fp);
    0x0009fa44 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x0009fa48 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0009fa4c move a0, v0                   |     a0 = v0;
    0x0009fa50 lw v0, 0x20(s3)               |     v0 = *((s3 + 8));
    0x0009fa54 addiu a2, zero, 0x50          |     a2 = 0x50;
    0x0009fa58 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x0009fa5c lw v0, 0x24(s3)               |     v0 = *((s3 + 9));
    0x0009fa60 move a3, zero                 |     a3 = 0;
    0x0009fa64 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x0009fa68 lw v0, 0x28(s3)               |     v0 = *((s3 + 10));
    0x0009fa6c sw zero, 0xec(sp)             |     *(var_ech) = 0;
    0x0009fa70 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0009fa74 lw v0, 0x2c(s3)               |     v0 = *((s3 + 11));
    0x0009fa78 addiu t9, t9, -0x79a4         |     t9 += -0x79a4;
    0x0009fa7c sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x0009fa80 jalr t9                       |     t9 ();
    0x0009fa84 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0009fa88 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0009fa8c beqz v0, 0x9f0fc              |         goto label_2;
                                             |     }
    0x0009fa90 lw v0, 8(s3)                  |     v0 = *((s3 + 2));
    0x0009fa94 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x0009fa98 addiu a0, zero, -9            |     a0 = -9;
    0x0009fa9c lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x0009faa0 lw a1, 8(s0)                  |     a1 = *((s0 + 2));
    0x0009faa4 and v0, v0, a0                |     v0 &= a0;
    0x0009faa8 move a2, zero                 |     a2 = 0;
    0x0009faac move a0, s5                   |     a0 = s5;
    0x0009fab0 addiu t9, t9, 0x78dc          |     t9 += 0x78dc;
    0x0009fab4 sw zero, 0x20(s3)             |     *((s3 + 8)) = 0;
    0x0009fab8 sw zero, 0x24(s3)             |     *((s3 + 9)) = 0;
    0x0009fabc sw zero, 0x28(s3)             |     *((s3 + 10)) = 0;
    0x0009fac0 sw zero, 0x2c(s3)             |     *((s3 + 11)) = 0;
    0x0009fac4 sw v0, 8(s3)                  |     *((s3 + 2)) = v0;
    0x0009fac8 jalr t9                       |     t9 ();
    0x0009facc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fad0 lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x0009fad4 move a0, fp                   |     a0 = fp;
    0x0009fad8 lw s1, -0x7f6c(gp)            |     s1 = *((gp - 8155));
    0x0009fadc addiu a3, zero, 1             |     a3 = 1;
    0x0009fae0 addiu t9, s1, -0x6980         |     t9 = s1 + -0x6980;
    0x0009fae4 move a1, v0                   |     a1 = v0;
    0x0009fae8 sw t9, 0x3c(sp)               |     *(var_3ch) = t9;
    0x0009faec jalr t9                       |     t9 ();
    0x0009faf0 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x0009faf4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009faf8 move a0, v0                   |     a0 = v0;
                                             |     if (v0 != 0) {
    0x0009fafc beqz v0, 0x9fb40              |         
    0x0009fb00 lw a1, 0x30(s3)               |         a1 = *((s3 + 12));
    0x0009fb04 lw t9, -0x7f70(gp)            |         t9 = *((gp - 8156));
                                             |         if (a1 == 0) {
    0x0009fb08 beqz a1, 0x9fb40              |             goto label_143;
                                             |         }
    0x0009fb0c addiu t9, t9, 0x6908          |         t9 += 0x6908;
    0x0009fb10 addiu a2, zero, -1            |         a2 = -1;
    0x0009fb14 jalr t9                       |         t9 ();
    0x0009fb18 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0009fb1c bnez v0, 0x9fb40              |             goto label_143;
                                             |         }
    0x0009fb20 lw a1, 0x30(s3)               |         a1 = *((s3 + 12));
    0x0009fb24 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
                                             |         if (a1 != 0) {
    0x0009fb28 beqz a1, 0x9fb3c              |             
    0x0009fb2c addiu t9, t9, 0x38a4          |             t9 += 0x38a4;
    0x0009fb30 move a0, s5                   |             a0 = s5;
    0x0009fb34 jalr t9                       |             t9 ();
    0x0009fb38 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
    0x0009fb3c sw zero, 0x30(s3)             |         *((s3 + 12)) = 0;
                                             |     }
                                             | label_143:
    0x0009fb40 lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x0009fb44 lw a3, (s3)                   |     a3 = *(s3);
    0x0009fb48 addiu t1, v0, 4               |     t1 = v0 + 4;
    0x0009fb4c sw v0, 0x2c(s0)               |     *((s0 + 11)) = v0;
    0x0009fb50 lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
    0x0009fb54 lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x0009fb58 addiu s1, v0, 0x1c34          |     s1 = v0 + 0x1c34;
    0x0009fb5c lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0009fb60 addiu s5, sp, 0xec            |     s5 = sp + 0xec;
    0x0009fb64 sw t1, 0x28(fp)               |     *(arg_28h) = t1;
    0x0009fb68 move a1, s0                   |     a1 = s0;
    0x0009fb6c move a0, fp                   |     a0 = fp;
    0x0009fb70 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009fb74 move t9, s1                   |     t9 = s1;
    0x0009fb78 sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x0009fb7c jalr t9                       |     t9 ();
    0x0009fb80 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0009fb84 lw a3, 0x30(s3)               |     a3 = *((s3 + 12));
    0x0009fb88 lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x0009fb8c move a1, s0                   |     a1 = s0;
    0x0009fb90 sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x0009fb94 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009fb98 move t9, s1                   |     t9 = s1;
    0x0009fb9c move a0, fp                   |     a0 = fp;
    0x0009fba0 jalr t9                       |     t9 ();
    0x0009fba4 lw a1, 0xec(sp)               |     a1 = *(var_ech);
    0x0009fba8 move v0, zero                 |     v0 = 0;
                                             |     if (a1 != 0) {
    0x0009fbac beqz a1, 0x9fbb4              |         
    0x0009fbb0 lw v0, (a1)                   |         v0 = *(a1);
                                             |     }
    0x0009fbb4 lw a2, 8(s0)                  |     a2 = *((s0 + 2));
    0x0009fbb8 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x0009fbbc move a3, zero                 |     a3 = 0;
    0x0009fbc0 move a0, fp                   |     a0 = fp;
    0x0009fbc4 sw v0, 0x48(s0)               |     *((s0 + 18)) = v0;
    0x0009fbc8 jalr t9                       |     t9 ();
    0x0009fbcc sw v0, 0xec(sp)               |     *(var_ech) = v0;
    0x0009fbd0 lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x0009fbd4 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x0009fbd8 move a1, v0                   |     a1 = v0;
    0x0009fbdc move a3, zero                 |     a3 = 0;
    0x0009fbe0 move a0, fp                   |     a0 = fp;
    0x0009fbe4 jalr t9                       |     t9 ();
    0x0009fbe8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fbec move a1, v0                   |     a1 = v0;
    0x0009fbf0 sw v0, 0xec(sp)               |     *(var_ech) = v0;
    0x0009fbf4 lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x0009fbf8 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x0009fbfc addiu v0, v0, 0x73b8          |     v0 += 0x73b8;
    0x0009fc00 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0009fc04 lw v0, -0x7f6c(gp)            |     v0 = *((gp - 8155));
    0x0009fc08 move s1, s0                   |     s1 = s0;
    0x0009fc0c addiu v0, v0, -0x6e38         |     v0 += -0x6e38;
    0x0009fc10 sw s0, 0x70(sp)               |     *(var_70h) = s0;
    0x0009fc14 sw s2, 0x74(sp)               |     *(var_74h) = s2;
    0x0009fc18 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x0009fc1c move s2, s1                   |     s2 = s1;
    0x0009fc20 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x0009fc24 lw s0, 0x54(sp)               |     s0 = *(var_54h);
    0x0009fc28 lw s1, 0x50(sp)               |     s1 = *(var_50h);
    0x0009fc2c b 0x9fcc4                     |     goto label_144;
                                             | label_13:
    0x0009fc30 lw v0, 0x44(s2)               |     v0 = *((s2 + 17));
    0x0009fc34 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x0009fc38 sw a0, 0x4c(s2)               |     *((s2 + 19)) = a0;
    0x0009fc3c lw a2, 0x14(v0)               |     a2 = *((v0 + 5));
    0x0009fc40 move a3, zero                 |     a3 = 0;
    0x0009fc44 move a0, fp                   |     a0 = fp;
    0x0009fc48 jalr t9                       |     t9 ();
    0x0009fc4c lw a1, 0x24(s2)               |     a1 = *((s2 + 9));
    0x0009fc50 sw v0, 0xec(sp)               |     *(var_ech) = v0;
                                             |     if (a1 != 0) {
    0x0009fc54 beqz a1, 0x9fc84              |         
    0x0009fc58 lw t9, 0x40(sp)               |         t9 = *(var_40h);
    0x0009fc5c move a3, zero                 |         a3 = 0;
    0x0009fc60 move a2, zero                 |         a2 = 0;
    0x0009fc64 move a0, s0                   |         a0 = s0;
    0x0009fc68 jalr t9                       |         t9 ();
    0x0009fc6c lw a1, 0xec(sp)               |         a1 = *(var_ech);
    0x0009fc70 lw a0, (fp)                   |         a0 = *(fp);
    0x0009fc74 lw t9, 0x4c(sp)               |         t9 = *(var_4ch);
    0x0009fc78 move a2, v0                   |         a2 = v0;
    0x0009fc7c jalr t9                       |         t9 ();
    0x0009fc80 sw v0, 0xec(sp)               |         *(var_ech) = v0;
                                             |     }
    0x0009fc84 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x0009fc88 move a2, zero                 |     a2 = 0;
    0x0009fc8c addiu a3, v0, 1               |     a3 = v0 + 1;
    0x0009fc90 addiu v0, v0, 2               |     v0 += 2;
    0x0009fc94 sw a3, 0x30(s2)               |     *((s2 + 12)) = a3;
    0x0009fc98 addiu a1, zero, 0x49          |     a1 = 0x49;
    0x0009fc9c sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x0009fca0 move a0, s1                   |     a0 = s1;
    0x0009fca4 sw v0, 0x34(s2)               |     *((s2 + 13)) = v0;
    0x0009fca8 move t9, s5                   |     t9 = s5;
    0x0009fcac sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0009fcb0 jalr t9                       |     t9 ();
    0x0009fcb4 lw s2, 0x20(s2)               |     s2 = *((s2 + 8));
    0x0009fcb8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s2 == 0) {
    0x0009fcbc beqz s2, 0x9f1a0              |         goto label_12;
                                             |     }
    0x0009fcc0 lw a1, 0xec(sp)               |     a1 = *(var_ech);
                                             | label_144:
    0x0009fcc4 lw a0, (a1)                   |     a0 = *(a1);
                                             |     if (a1 == 0) {
    0x0009fcc8 bnel a1, zero, 0x9fc30        |         goto label_13;
                                             |     }
    0x0009fccc move a0, zero                 |     a0 = 0;
    0x0009fcd0 b 0x9fc30                     |     goto label_13;
                                             | label_129:
    0x0009fcd4 move t2, fp                   |     t2 = fp;
    0x0009fcd8 lw v0, 0x34(s3)               |     v0 = *((s3 + 13));
    0x0009fcdc move fp, s2                   |     fp = s2;
    0x0009fce0 lw s4, 0x4c(sp)               |     s4 = *(var_4ch);
    0x0009fce4 lw s2, 0x50(sp)               |     s2 = *(var_50h);
                                             |     if (v0 != 0) {
    0x0009fce8 bnez v0, 0x9f08c              |         goto label_3;
                                             |     }
    0x0009fcec lw v0, -0x7fa0(gp)            |     v0 = *((gp - 8168));
                                             | label_27:
    0x0009fcf0 addiu s5, t2, 8               |     s5 = t2 + 8;
    0x0009fcf4 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x0009fcf8 lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
    0x0009fcfc sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x0009fd00 addiu v0, v0, 0x2458          |     v0 += 0x2458;
    0x0009fd04 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x0009fd08 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x0009fd0c sw s5, 0x68(sp)               |     *(var_68h) = s5;
    0x0009fd10 addiu v0, v0, 0x620c          |     v0 += 0x620c;
    0x0009fd14 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x0009fd18 lw v0, -0x7f70(gp)            |     v0 = *((gp - 8156));
    0x0009fd1c move s0, zero                 |     s0 = 0;
    0x0009fd20 addiu v0, v0, 0x6468          |     v0 += 0x6468;
    0x0009fd24 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0009fd28 move s1, t2                   |     s1 = t2;
    0x0009fd2c move s7, s5                   |     s7 = s5;
    0x0009fd30 sw s3, 0x40(sp)               |     *(var_40h) = s3;
    0x0009fd34 sw s2, 0x74(sp)               |     *(var_74h) = s2;
    0x0009fd38 b 0x9ff24                     |     goto label_145;
                                             | label_17:
    0x0009fd3c lw s2, 0x14(s7)               |     s2 = *((s7 + 5));
                                             | label_16:
    0x0009fd40 addiu v0, sp, 0xcc            |     v0 = sp + 0xcc;
                                             |     if (s2 == 0) {
    0x0009fd44 beqz s2, 0x9ff10              |         goto label_146;
                                             |     }
    0x0009fd48 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x0009fd4c lw t9, 0x50(sp)               |     t9 = *(var_50h);
    0x0009fd50 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0009fd54 move a1, v0                   |     a1 = v0;
    0x0009fd58 sw zero, 0xcc(sp)             |     *(var_cch) = 0;
    0x0009fd5c jalr t9                       |     t9 ();
    0x0009fd60 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0009fd64 lw v1, 0xd0(fp)               |     v1 = *(arg_d0h);
    0x0009fd68 lw a0, 0xcc(sp)               |     a0 = *(var_cch);
    0x0009fd6c lhu v0, 0x4c(v0)              |     v0 = *((v0 + 38));
    0x0009fd70 addu v1, v1, a0               |     v1 += a0;
    0x0009fd74 andi v0, v0, 0x1000           |     v0 &= aav.0x00001000;
    0x0009fd78 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fd7c sw v1, 0xd0(fp)               |     *(arg_d0h) = v1;
                                             |     if (v0 == 0) {
    0x0009fd80 beqz v0, 0xa01dc              |         goto label_147;
                                             |     }
    0x0009fd84 lw v1, 0xf0(fp)               |     v1 = *(arg_f0h);
                                             | label_21:
    0x0009fd88 lw v0, 8(s7)                  |     v0 = *((s7 + 2));
    0x0009fd8c sw v1, 0x54(sp)               |     *(var_54h) = v1;
    0x0009fd90 sw v0, 0xf0(fp)               |     *(arg_f0h) = v0;
                                             |     if (s0 != 0) {
    0x0009fd94 bnez s0, 0x9ff64              |         goto label_148;
                                             |     }
    0x0009fd98 lw v1, (s1)                   |     v1 = *(s1);
    0x0009fd9c addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v1 != v0) {
    0x0009fda0 beql v1, v0, 0x9fdbc          |         
    0x0009fda4 lw s5, 0x6c(s4)               |         s5 = *((s4 + 27));
    0x0009fda8 lbu v0, 0x74(s1)              |         v0 = *((s1 + 116));
    0x0009fdac andi v0, v0, 0xa              |         v0 &= 0xa;
                                             |         if (v0 == 0) {
    0x0009fdb0 beql v0, zero, 0x9ff68        |             goto label_149;
                                             |         }
    0x0009fdb4 lw v0, 0x2c(fp)               |         v0 = *(arg_2ch);
    0x0009fdb8 lw s5, 0x6c(s4)               |         s5 = *((s4 + 27));
                                             |     }
    0x0009fdbc lw a2, 0x2c(fp)               |     a2 = *(arg_2ch);
    0x0009fdc0 addiu s3, s5, 1               |     s3 = s5 + 1;
    0x0009fdc4 addiu a2, a2, 1               |     a2++;
    0x0009fdc8 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x0009fdcc sw a2, 0x2c(fp)               |     *(arg_2ch) = a2;
    0x0009fdd0 move a3, zero                 |     a3 = 0;
    0x0009fdd4 sw a2, 0x24(s1)               |     *((s1 + 9)) = a2;
    0x0009fdd8 addiu a1, zero, 0xd           |     a1 = 0xd;
    0x0009fddc move a0, s4                   |     a0 = s4;
    0x0009fde0 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x0009fde4 jalr t9                       |     t9 ();
    0x0009fde8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fdec addiu v1, zero, 0xd           |     v1 = 0xd;
    0x0009fdf0 lw v0, 0x24(s1)               |     v0 = *((s1 + 9));
    0x0009fdf4 sw s3, 0x20(s1)               |     *((s1 + 8)) = s3;
    0x0009fdf8 lw a2, -0x7fa0(gp)            |     a2 = *((gp - 8168));
    0x0009fdfc sb v1, 0xcc(sp)               |     *(var_cch) = v1;
    0x0009fe00 lw t9, -0x7f68(gp)            |     t9 = *((gp - 8154));
    0x0009fe04 lw a3, 0x14(s2)               |     a3 = *((s2 + 5));
    0x0009fe08 addiu a2, a2, -0x59c4         |     a2 += -0x59c4;
    0x0009fe0c addiu a1, zero, 1             |     a1 = 1;
    0x0009fe10 move a0, fp                   |     a0 = fp;
    0x0009fe14 sw v0, 0xd0(sp)               |     *(var_d0h) = v0;
    0x0009fe18 addiu t9, t9, -0x3668         |     t9 += -0x3668;
    0x0009fe1c sw zero, 0xdc(sp)             |     *(var_dch) = 0;
    0x0009fe20 sw zero, 0xd4(sp)             |     *(var_d4h) = 0;
    0x0009fe24 sw zero, 0xd8(sp)             |     *(var_d8h) = 0;
    0x0009fe28 jalr t9                       |     t9 ();
    0x0009fe2c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fe30 lw a2, 0x58(sp)               |     a2 = *(var_58h);
    0x0009fe34 move a1, s2                   |     a1 = s2;
    0x0009fe38 lw t9, -0x7f60(gp)            |     t9 = *((gp - 8152));
    0x0009fe3c addiu t9, t9, -0x1160         |     t9 += -0x1160;
    0x0009fe40 move a0, fp                   |     a0 = fp;
    0x0009fe44 bal 0x9eea0                   |     fcn_0009eea0 ();
                                             |     goto label_14;
    0x0009fe48 lbu v0, 0x2d(s1)              |     v0 = *((s1 + 45));
    0x0009fe4c lw v1, 0x18(s1)               |     v1 = *((s1 + 6));
    0x0009fe50 lhu a0, 6(s2)                 |     a0 = *((s2 + 3));
    0x0009fe54 addiu a1, zero, 1             |     a1 = 1;
    0x0009fe58 ins v0, a1, 4, 1              |     __asm ("ins v0, a1, 4, 1");
    0x0009fe5c sh a0, 0x2c(v1)               |     *((v1 + 22)) = a0;
    0x0009fe60 sb v0, 0x2d(s1)               |     *((s1 + 45)) = v0;
    0x0009fe64 lw v0, 0xd4(sp)               |     v0 = *(var_d4h);
    0x0009fe68 lw a2, 0x24(s1)               |     a2 = *((s1 + 9));
    0x0009fe6c lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x0009fe70 sw v0, 0x28(s1)               |     *((s1 + 10)) = v0;
    0x0009fe74 move a0, s4                   |     a0 = s4;
    0x0009fe78 move a3, zero                 |     a3 = 0;
    0x0009fe7c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0009fe80 addiu a1, zero, 0x43          |     a1 = 0x43;
    0x0009fe84 jalr t9                       |     t9 ();
    0x0009fe88 lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
    0x0009fe8c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fe90 sb zero, 0x13(v0)             |     *((v0 + 19)) = 0;
    0x0009fe94 sw zero, 0x1c(v0)             |     *((v0 + 7)) = 0;
    0x0009fe98 lw a0, 0x6c(s4)               |     a0 = *((s4 + 27));
                                             |     if (s5 < 0) {
    0x0009fe9c bgez s5, 0x9fea4              |         
    0x0009fea0 addiu s5, a0, -1              |         s5 = a0 + -1;
                                             |     }
    0x0009fea4 lw v0, (s4)                   |     v0 = *(s4);
    0x0009fea8 lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x0009feac lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
                                             |     if (v0 != 0) {
    0x0009feb0 bnez v0, 0xa0230              |         goto label_150;
                                             |     }
    0x0009feb4 sll v1, s5, 2                 |     v1 = s5 << 2;
    0x0009feb8 addu v1, v1, s5               |     v1 += s5;
    0x0009febc lw v0, 0x68(s4)               |     v0 = *((s4 + 26));
    0x0009fec0 sll v1, v1, 2                 |     v1 <<= 2;
    0x0009fec4 addu v0, v0, v1               |     v0 += v1;
                                             | label_24:
    0x0009fec8 sw a0, 8(v0)                  |     *((v0 + 2)) = a0;
    0x0009fecc sb zero, 0x13(fp)             |     *(arg_13h) = 0;
    0x0009fed0 sw zero, 0x1c(fp)             |     *(arg_1ch) = 0;
                                             | label_20:
    0x0009fed4 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0009fed8 lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x0009fedc lw a0, 0x40(sp)               |     a0 = *(var_40h);
                                             |     if (v0 != 0) {
    0x0009fee0 bnez v0, 0x9f0f8              |         goto label_15;
                                             |     }
    0x0009fee4 lw t9, 0x50(sp)               |     t9 = *(var_50h);
    0x0009fee8 addiu a1, sp, 0xb0            |     a1 = sp + 0xb0;
    0x0009feec sw zero, 0xb0(sp)             |     *(var_b0h) = 0;
    0x0009fef0 jalr t9                       |     t9 ();
    0x0009fef4 lw v1, 0x54(sp)               |     v1 = *(var_54h);
    0x0009fef8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009fefc lw v0, 0xd0(fp)               |     v0 = *(arg_d0h);
    0x0009ff00 sw v1, 0xf0(fp)               |     *(arg_f0h) = v1;
    0x0009ff04 lw v1, 0xb0(sp)               |     v1 = *(var_b0h);
    0x0009ff08 subu v0, v0, v1               |     __asm ("subu v0, v0, v1");
    0x0009ff0c sw v0, 0xd0(fp)               |     *(arg_d0h) = v0;
                                             | label_146:
    0x0009ff10 lw v0, (s1)                   |     v0 = *(s1);
    0x0009ff14 addiu s0, s0, 1               |     s0++;
    0x0009ff18 slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x0009ff1c addiu s7, s7, 0x48            |     s7 += 0x48;
                                             |     if (v0 == 0) {
    0x0009ff20 beqz v0, 0xa0984              |         goto label_151;
                                             |     }
                                             | label_145:
    0x0009ff24 lw v0, 0x38(s7)               |     v0 = *((s7 + 14));
    0x0009ff28 lw v1, 0x3c(s7)               |     v1 = *((s7 + 15));
    0x0009ff2c or v0, v0, v1                 |     v0 |= v1;
    0x0009ff30 lw s2, 0x14(s7)               |     s2 = *((s7 + 5));
                                             |     if (v0 == 0) {
    0x0009ff34 bnel v0, zero, 0x9fd40        |         goto label_16;
                                             |     }
    0x0009ff38 lw v0, 4(s7)                  |     v0 = *((s7 + 1));
    0x0009ff3c lw v1, 0x70(sp)               |     v1 = *(var_70h);
    0x0009ff40 lw a2, 8(s7)                  |     a2 = *((s7 + 2));
    0x0009ff44 lw t9, 0x38(sp)               |     t9 = *(var_38h);
    0x0009ff48 addiu a3, v1, -0x3094         |     a3 = v1 + -0x3094;
    0x0009ff4c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009ff50 addiu a1, zero, 0x14          |     a1 = 0x14;
    0x0009ff54 move a0, fp                   |     a0 = fp;
    0x0009ff58 jalr t9                       |     t9 ();
    0x0009ff5c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009ff60 b 0x9fd3c                     |     goto label_17;
                                             | label_148:
    0x0009ff64 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
                                             | label_149:
    0x0009ff68 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x0009ff6c addiu v0, v0, 1               |     v0++;
    0x0009ff70 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x0009ff74 move a2, zero                 |     a2 = 0;
    0x0009ff78 sw v0, 0x1c(s7)               |     *((s7 + 7)) = v0;
    0x0009ff7c move a3, v0                   |     a3 = v0;
    0x0009ff80 addiu a1, zero, 0x46          |     a1 = 0x46;
    0x0009ff84 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0009ff88 move a0, s4                   |     a0 = s4;
    0x0009ff8c jalr t9                       |     t9 ();
    0x0009ff90 sll v1, s0, 3                 |     v1 = s0 << 3;
    0x0009ff94 addu v1, v1, s0               |     v1 += s0;
    0x0009ff98 sll v1, v1, 3                 |     v1 <<= 3;
    0x0009ff9c move s5, v0                   |     s5 = v0;
    0x0009ffa0 addu v1, s1, v1               |     v1 = s1 + v1;
    0x0009ffa4 addiu v0, v0, 1               |     v0++;
    0x0009ffa8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0009ffac sw v0, 0x18(s7)               |     *((s7 + 6)) = v0;
    0x0009ffb0 lbu v0, 0x2d(v1)              |     v0 = *((v1 + 45));
    0x0009ffb4 andi v0, v0, 8                |     v0 &= 8;
    0x0009ffb8 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
                                             |     if (v0 == 0) {
    0x0009ffbc beqz v0, 0xa0238              |         goto label_152;
                                             |     }
    0x0009ffc0 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
                                             | label_25:
    0x0009ffc4 lw s3, 0x68(sp)               |     s3 = *(var_68h);
    0x0009ffc8 sltu v0, s3, s7               |     v0 = (s3 < s7) ? 1 : 0;
    0x0009ffcc lw v0, 0x14(s3)               |     v0 = *((s3 + 5));
                                             |     if (v0 == 0) {
    0x0009ffd0 bnel v0, zero, 0x9fff0        |         goto label_153;
                                             |     }
    0x0009ffd4 addiu v1, zero, 0xc           |     v1 = 0xc;
    0x0009ffd8 b 0xa017c                     |     goto label_154;
                                             | label_19:
    0x0009ffdc addiu s3, s3, 0x48            |     s3 += 0x48;
                                             |     do {
                                             | label_18:
    0x0009ffe0 sltu v0, s3, s7               |         v0 = (s3 < s7) ? 1 : 0;
    0x0009ffe4 addiu v1, zero, 0xc           |         v1 = 0xc;
                                             |         if (v0 == 0) {
    0x0009ffe8 beqz v0, 0xa017c              |             goto label_154;
                                             |         }
    0x0009ffec lw v0, 0x14(s3)               |         v0 = *((s3 + 5));
                                             | label_153:
    0x0009fff0 beql v0, zero, 0x9ffe0        |         
                                             |     } while (v0 == 0);
    0x0009fff4 addiu s3, s3, 0x48            |     s3 += 0x48;
    0x0009fff8 lbu v0, 0x25(s3)              |     v0 = *((s3 + 37));
    0x0009fffc andi v0, v0, 0x10             |     v0 &= 0x10;
    0x000a0000 addiu s3, s3, 0x48            |     s3 += 0x48;
                                             |     if (v0 == 0) {
    0x000a0004 bnel v0, zero, 0x9ffe0        |         goto label_18;
                                             |     }
    0x000a0008 lw a0, 8(s3)                  |     a0 = *((s3 + 2));
                                             |     if (a0 == 0) {
    0x000a000c beql a0, zero, 0x9ffe0        |         goto label_18;
                                             |     }
    0x000a0010 addiu s3, s3, 0x48            |     s3 += 0x48;
    0x000a0014 lw v1, 0x10(s3)               |     v1 = *((s3 + 4));
    0x000a0018 lw v0, 0x10(s7)               |     v0 = *((s7 + 4));
    0x000a001c lw v1, 0x48(v1)               |     v1 = *((v1 + 18));
    0x000a0020 lw v0, 0x48(v0)               |     v0 = *((v0 + 18));
    0x000a0024 addiu s3, s3, 0x48            |     s3 += 0x48;
                                             |     if (v1 == v0) {
    0x000a0028 bnel v1, v0, 0x9ffe0          |         goto label_18;
                                             |     }
    0x000a002c lw t9, -0x7e10(gp)            |     t9 = *((gp - 8068));
    0x000a0030 lw a1, 8(s7)                  |     a1 = *((s7 + 2));
    0x000a0034 jalr t9                       |     t9 ();
    0x000a0038 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x000a003c bnez v0, 0x9ffdc              |         goto label_19;
                                             |     }
    0x000a0040 lw a0, 0x10(s3)               |     a0 = *((s3 + 4));
    0x000a0044 lw v1, 0x14(s3)               |     v1 = *((s3 + 5));
    0x000a0048 lw a0, 0x48(a0)               |     a0 = *((a0 + 18));
    0x000a004c lw v0, 0x14(s7)               |     v0 = *((s7 + 5));
                                             |     if (a0 == 0) {
    0x000a0050 beqz a0, 0xa0210              |         goto label_155;
                                             |     }
    0x000a0054 lw a2, 0x24(v1)               |     a2 = *((v1 + 9));
                                             | label_22:
    0x000a0058 lw a1, 0x24(v0)               |     a1 = *((v0 + 9));
    0x000a005c lw t9, 0x64(sp)               |     t9 = *(var_64h);
    0x000a0060 sw v1, 0x6c(sp)               |     *(var_6ch) = v1;
    0x000a0064 addiu a3, zero, -1            |     a3 = -1;
    0x000a0068 move a0, zero                 |     a0 = 0;
    0x000a006c jalr t9                       |     t9 ();
    0x000a0070 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x000a0074 bnez v0, 0x9ffdc              |         goto label_19;
                                             |     }
    0x000a0078 lw v0, 0x14(s7)               |     v0 = *((s7 + 5));
    0x000a007c lw v1, 0x6c(sp)               |     v1 = *(var_6ch);
    0x000a0080 lw t9, 0x64(sp)               |     t9 = *(var_64h);
    0x000a0084 lw a1, 0x2c(v0)               |     a1 = *((v0 + 11));
    0x000a0088 lw a2, 0x2c(v1)               |     a2 = *((v1 + 11));
    0x000a008c addiu a3, zero, -1            |     a3 = -1;
    0x000a0090 move a0, zero                 |     a0 = 0;
    0x000a0094 jalr t9                       |     t9 ();
    0x000a0098 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x000a009c bnez v0, 0x9ffdc              |         goto label_19;
                                             |     }
    0x000a00a0 lw a2, 0x28(s7)               |     a2 = *((s7 + 10));
    0x000a00a4 lw a3, 0x28(s3)               |     a3 = *((s3 + 10));
    0x000a00a8 lw t9, 0x3c(sp)               |     t9 = *(var_3ch);
    0x000a00ac sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a00b0 addiu a1, zero, 0x6f          |     a1 = 0x6f;
    0x000a00b4 move a0, s4                   |     a0 = s4;
    0x000a00b8 jalr t9                       |     t9 ();
    0x000a00bc lw v0, 0x14(s3)               |     v0 = *((s3 + 5));
    0x000a00c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a00c4 lh v0, 6(v0)                  |     v0 = *((v0 + 3));
    0x000a00c8 sh v0, 6(s2)                  |     *((s2 + 3)) = v0;
                                             |     do {
    0x000a00cc lw v1, 0x10(s7)               |         v1 = *((s7 + 4));
    0x000a00d0 sh v0, 0x2c(v1)               |         *((v1 + 22)) = v0;
    0x000a00d4 lw v0, 0x5c(sp)               |         v0 = *(var_5ch);
                                             |         if (v0 != 0) {
    0x000a00d8 beql v0, zero, 0xa0120        |             
    0x000a00dc lw a2, 0x1c(s7)               |             a2 = *((s7 + 7));
    0x000a00e0 lw a0, 0x6c(s4)               |             a0 = *((s4 + 27));
                                             |             if (v0 < 0) {
    0x000a00e4 bgez v0, 0xa00f0              |                 
    0x000a00e8 addiu v0, a0, -1              |                 v0 = a0 + -1;
    0x000a00ec sw v0, 0x5c(sp)               |                 *(var_5ch) = v0;
                                             |             }
    0x000a00f0 lw v0, (s4)                   |             v0 = *(s4);
    0x000a00f4 lbu v0, 0x51(v0)              |             v0 = *((v0 + 81));
    0x000a00f8 lw v0, -0x7fe4(gp)            |             v0 = *((gp - 8185));
                                             |             if (v0 != 0) {
    0x000a00fc bnez v0, 0xa097c              |                 goto label_156;
                                             |             }
    0x000a0100 lw v0, 0x5c(sp)               |             v0 = *(var_5ch);
    0x000a0104 sll v1, v0, 2                 |             v1 = v0 << 2;
    0x000a0108 addu v1, v1, v0               |             v1 += v0;
    0x000a010c lw v0, 0x68(s4)               |             v0 = *((s4 + 26));
    0x000a0110 sll v1, v1, 2                 |             v1 <<= 2;
    0x000a0114 addu v0, v0, v1               |             v0 += v1;
                                             | label_29:
    0x000a0118 sw a0, 8(v0)                  |             *((v0 + 2)) = a0;
    0x000a011c lw a2, 0x1c(s7)               |             a2 = *((s7 + 7));
                                             |         }
    0x000a0120 lw t9, 0x3c(sp)               |         t9 = *(var_3ch);
    0x000a0124 move a3, zero                 |         a3 = 0;
    0x000a0128 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000a012c addiu a1, zero, 0x42          |         a1 = 0x42;
    0x000a0130 move a0, s4                   |         a0 = s4;
    0x000a0134 jalr t9                       |         t9 ();
    0x000a0138 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (s5 < 0) {
    0x000a013c bgez s5, 0xa0148              |             
    0x000a0140 lw s5, 0x6c(s4)               |             s5 = *((s4 + 27));
    0x000a0144 addiu s5, s5, -1              |             s5 += -1;
                                             |         }
    0x000a0148 lw v1, (s4)                   |         v1 = *(s4);
    0x000a014c lbu v1, 0x51(v1)              |         v1 = *((v1 + 81));
    0x000a0150 lw v1, -0x7fe4(gp)            |         v1 = *((gp - 8185));
                                             |         if (v1 != 0) {
    0x000a0154 bnez v1, 0xa0228              |             goto label_157;
                                             |         }
    0x000a0158 sll a0, s5, 2                 |         a0 = s5 << 2;
    0x000a015c addu a0, a0, s5               |         a0 += s5;
    0x000a0160 lw v1, 0x68(s4)               |         v1 = *((s4 + 26));
    0x000a0164 sll a0, a0, 2                 |         a0 <<= 2;
    0x000a0168 addu v1, v1, a0               |         v1 += a0;
                                             | label_23:
    0x000a016c sw v0, 4(v1)                  |         *((v1 + 1)) = v0;
    0x000a0170 sb zero, 0x13(fp)             |         *(arg_13h) = 0;
    0x000a0174 sw zero, 0x1c(fp)             |         *(arg_1ch) = 0;
    0x000a0178 b 0x9fed4                     |         goto label_20;
                                             | label_154:
    0x000a017c lw v0, 0x28(s7)               |         v0 = *((s7 + 10));
    0x000a0180 lw a2, -0x7fa0(gp)            |         a2 = *((gp - 8168));
    0x000a0184 sb v1, 0xcc(sp)               |         *(var_cch) = v1;
    0x000a0188 lw t9, -0x7f68(gp)            |         t9 = *((gp - 8154));
    0x000a018c lw a3, 0x14(s2)               |         a3 = *((s2 + 5));
    0x000a0190 addiu a2, a2, -0x5988         |         a2 += -0x5988;
    0x000a0194 addiu a1, zero, 1             |         a1 = 1;
    0x000a0198 move a0, fp                   |         a0 = fp;
    0x000a019c sw v0, 0xd0(sp)               |         *(var_d0h) = v0;
    0x000a01a0 addiu t9, t9, -0x3668         |         t9 += -0x3668;
    0x000a01a4 sw zero, 0xdc(sp)             |         *(var_dch) = 0;
    0x000a01a8 sw zero, 0xd4(sp)             |         *(var_d4h) = 0;
    0x000a01ac sw zero, 0xd8(sp)             |         *(var_d8h) = 0;
    0x000a01b0 jalr t9                       |         t9 ();
    0x000a01b4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a01b8 lw a2, 0x58(sp)               |         a2 = *(var_58h);
    0x000a01bc move a1, s2                   |         a1 = s2;
    0x000a01c0 lw t9, -0x7f60(gp)            |         t9 = *((gp - 8152));
    0x000a01c4 addiu t9, t9, -0x1160         |         t9 += -0x1160;
    0x000a01c8 move a0, fp                   |         a0 = fp;
    0x000a01cc bal 0x9eea0                   |         fcn_0009eea0 ();
                                             |         goto label_14;
    0x000a01d0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a01d4 lh v0, 6(s2)                  |         v0 = *((s2 + 3));
    0x000a01d8 b 0xa00cc                     |         
                                             |     } while (1);
                                             | label_147:
    0x000a01dc lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x000a01e0 lbu v0, 0x24(s7)              |     v0 = *((s7 + 36));
    0x000a01e4 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a01e8 lw a3, 0x28(s7)               |     a3 = *((s7 + 10));
    0x000a01ec ext v0, v0, 5, 1              |     __asm ("ext v0, v0, 5, 1");
    0x000a01f0 lw a2, 0x24(v1)               |     a2 = *((v1 + 9));
    0x000a01f4 move a1, s2                   |     a1 = s2;
    0x000a01f8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a01fc addiu t9, t9, -0x3bac         |     t9 += -0x3bac;
    0x000a0200 move a0, fp                   |     a0 = fp;
    0x000a0204 jalr t9                       |     t9 ();
    0x000a0208 lw v1, 0xf0(fp)               |     v1 = *(arg_f0h);
    0x000a020c b 0x9fd88                     |     goto label_21;
                                             | label_155:
    0x000a0210 lw a1, 0x14(v0)               |     a1 = *((v0 + 5));
    0x000a0214 lw a0, 0x14(v1)               |     a0 = *((v1 + 5));
                                             |     if (a1 == a0) {
    0x000a0218 beql a1, a0, 0xa0058          |         goto label_22;
                                             |     }
    0x000a021c lw a2, 0x24(v1)               |     a2 = *((v1 + 9));
    0x000a0220 addiu s3, s3, 0x48            |     s3 += 0x48;
    0x000a0224 b 0x9ffe0                     |     goto label_18;
                                             | label_157:
    0x000a0228 addiu v1, v1, -0x34c4         |     v1 += -0x34c4;
    0x000a022c b 0xa016c                     |     goto label_23;
                                             | label_150:
    0x000a0230 addiu v0, v0, -0x34c4         |     v0 += -0x34c4;
    0x000a0234 b 0x9fec8                     |     goto label_24;
                                             | label_152:
    0x000a0238 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a023c move a3, zero                 |     a3 = 0;
    0x000a0240 move a2, zero                 |     a2 = 0;
    0x000a0244 addiu a1, zero, 0x11          |     a1 = 0x11;
    0x000a0248 move a0, s4                   |     a0 = s4;
    0x000a024c jalr t9                       |     t9 ();
    0x000a0250 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x000a0254 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0258 b 0x9ffc4                     |     goto label_25;
                                             | label_131:
    0x000a025c move s3, s4                   |     s3 = s4;
    0x000a0260 b 0x9f08c                     |     goto label_3;
                                             | label_126:
    0x000a0264 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a0268 lw a3, (s0)                   |     a3 = *(s0);
    0x000a026c addiu a1, a1, -0x59ec         |     a1 += -0x59ec;
    0x000a0270 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a0274 addiu t9, t9, -0x52ec         |     t9 += -0x52ec;
    0x000a0278 move a0, s2                   |     a0 = s2;
    0x000a027c jalr t9                       |     t9 ();
    0x000a0280 move fp, s2                   |     fp = s2;
    0x000a0284 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0288 addiu v0, zero, 1             |     v0 = 1;
    0x000a028c b 0x9f100                     |     goto label_26;
                                             | label_102:
    0x000a0290 lw v0, (t2)                   |     v0 = *(t2);
                                             | label_101:
    0x000a0294 lw v0, -0x7fa0(gp)            |     v0 = *((gp - 8168));
                                             |     if (v0 > 0) {
    0x000a0298 bgtz v0, 0x9fcf0              |         goto label_27;
                                             |     }
    0x000a029c lw a1, 8(s3)                  |     a1 = *((s3 + 2));
                                             | label_30:
    0x000a02a0 lw v1, (s3)                   |     v1 = *(s3);
    0x000a02a4 andi a0, a1, 1                |     a0 = a1 & 1;
    0x000a02a8 sw v1, 0x3c(sp)               |     *(var_3ch) = v1;
    0x000a02ac lw v1, 0x24(s3)               |     v1 = *((s3 + 9));
    0x000a02b0 andi a1, a1, 9                |     a1 &= 9;
    0x000a02b4 sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
    0x000a02b8 lw v1, 0x28(s3)               |     v1 = *((s3 + 10));
    0x000a02bc addiu v0, zero, 1             |     v0 = 1;
    0x000a02c0 sw v1, 0x38(sp)               |     *(var_38h) = v1;
    0x000a02c4 lw v1, 0x2c(s3)               |     v1 = *((s3 + 11));
    0x000a02c8 sb a0, 0xa4(sp)               |     *(var_a4h) = a0;
    0x000a02cc sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x000a02d0 lw a0, 0xec(sp)               |     a0 = *(var_ech);
                                             |     if (a1 == v0) {
    0x000a02d4 beq a1, v0, 0xa1434           |         goto label_158;
                                             |     }
                                             | label_51:
    0x000a02d8 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (a0 == 0) {
    0x000a02dc beqz a0, 0xa0aec              |         goto label_159;
                                             |     }
    0x000a02e0 lw s0, 0x3c(sp)               |     s0 = *(var_3ch);
    0x000a02e4 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a02e8 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a02ec lw a3, (s0)                   |     a3 = *(s0);
    0x000a02f0 move a1, a0                   |     a1 = a0;
    0x000a02f4 move a2, zero                 |     a2 = 0;
    0x000a02f8 addiu t9, t9, 0x1eb4          |     t9 += 0x1eb4;
    0x000a02fc move a0, fp                   |     a0 = fp;
    0x000a0300 jalr t9                       |     t9 ();
    0x000a0304 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0308 lw a0, 0xec(sp)               |     a0 = *(var_ech);
    0x000a030c lw t1, 0x28(fp)               |     t1 = *(arg_28h);
    0x000a0310 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a0314 lw a0, (a0)                   |     a0 = *(a0);
    0x000a0318 lw a3, (s0)                   |     a3 = *(s0);
    0x000a031c addiu t4, t1, 1               |     t4 = t1 + 1;
    0x000a0320 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a0324 addiu a0, a0, 1               |     a0++;
    0x000a0328 addu a3, a0, a3               |     a3 = a0 + a3;
    0x000a032c move a2, t1                   |     a2 = t1;
    0x000a0330 sw t4, 0x28(fp)               |     *(arg_28h) = t4;
    0x000a0334 addiu a1, zero, 0x71          |     a1 = 0x71;
    0x000a0338 move a0, s4                   |     a0 = s4;
    0x000a033c sw t1, 0xf4(sp)               |     *(var_f4h) = t1;
    0x000a0340 move t9, s5                   |     t9 = s5;
    0x000a0344 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a0348 move s1, v0                   |     s1 = v0;
    0x000a034c jalr t9                       |     t9 ();
    0x000a0350 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0354 addiu a3, zero, -9            |     a3 = -9;
    0x000a0358 move a2, s1                   |     a2 = s1;
    0x000a035c lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000a0360 move a1, v0                   |     a1 = v0;
    0x000a0364 move a0, s4                   |     a0 = s4;
    0x000a0368 addiu t9, t9, -0x2340         |     t9 += -0x2340;
    0x000a036c move s0, v0                   |     s0 = v0;
    0x000a0370 jalr t9                       |     t9 ();
    0x000a0374 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0378 lw t2, 0x40(sp)               |     t2 = *(var_40h);
    0x000a037c sw s0, 0x100(sp)              |     *(var_100h) = s0;
                                             | label_36:
    0x000a0380 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a0384 lbu a0, (v0)                  |     a0 = *(v0);
    0x000a0388 addiu v0, zero, 0xc           |     v0 = 0xc;
    0x000a038c lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
                                             |     if (a0 == v0) {
    0x000a0390 beq a0, v0, 0xa1460           |         goto label_160;
                                             |     }
                                             | label_52:
    0x000a0394 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x000a0398 addiu v0, v0, -1              |     v0 += -1;
    0x000a039c sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x000a03a0 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x000a03a4 lw v0, 8(s3)                  |     v0 = *((s3 + 2));
    0x000a03a8 andi v0, v0, 0x4000           |     v0 &= aav.0x00004000;
    0x000a03ac lw t9, -0x7f60(gp)            |     t9 = *((gp - 8152));
                                             |     if (v0 == 0) {
    0x000a03b0 bnez v0, 0xa03bc              |         
    0x000a03b4 addiu v0, zero, 0x140         |         v0 = aav.0x00000140;
    0x000a03b8 sh v0, 6(s3)                  |         *((s3 + 3)) = v0;
                                             |     }
    0x000a03bc lw a2, 0x54(sp)               |     a2 = *(var_54h);
    0x000a03c0 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a03c4 move a1, s3                   |     a1 = s3;
    0x000a03c8 addiu t9, t9, 0x7368          |     t9 += 0x7368;
    0x000a03cc move a0, fp                   |     a0 = fp;
    0x000a03d0 bal 0xa7368                   |     fcn_000a7368 ();
    0x000a03d4 lw v0, 0xc(s3)                |     v0 = *((s3 + 3));
    0x000a03d8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a03dc lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (v0 == 0) {
    0x000a03e0 bnez v0, 0xa0424              |         
    0x000a03e4 lw v0, 0x100(sp)              |         v0 = *(var_100h);
                                             |         if (v0 < 0) {
    0x000a03e8 bltzl v0, 0xa0428             |             goto label_161;
                                             |         }
    0x000a03ec lw v0, 8(s3)                  |         v0 = *((s3 + 2));
    0x000a03f0 lw a0, (s4)                   |         a0 = *(s4);
    0x000a03f4 lbu a0, 0x51(a0)              |         a0 = *((a0 + 81));
    0x000a03f8 lw v0, -0x7fe4(gp)            |         v0 = *((gp - 8185));
                                             |         if (a0 == 0) {
    0x000a03fc bnel a0, zero, 0xa1a68        |             goto label_162;
                                             |         }
    0x000a0400 addiu a1, zero, 0x14          |         a1 = 0x14;
    0x000a0404 mul v1, v0, a1                |         __asm ("mul v1, v0, a1");
    0x000a0408 lw a0, 0x68(s4)               |         a0 = *((s4 + 26));
    0x000a040c addu v0, v1, a0               |         v0 = v1 + a0;
                                             | label_57:
    0x000a0410 addiu a0, zero, 0x72          |         a0 = 0x72;
    0x000a0414 sb a0, (v0)                   |         *(v0) = a0;
    0x000a0418 lbu v0, 0x10c(sp)             |         v0 = *(var_10ch);
    0x000a041c ori v0, v0, 1                 |         v0 |= 1;
    0x000a0420 sb v0, 0x10c(sp)              |         *(var_10ch) = v0;
                                             |     }
    0x000a0424 lw v0, 8(s3)                  |     v0 = *((s3 + 2));
                                             | label_161:
    0x000a0428 andi v0, v0, 1                |     v0 &= 1;
    0x000a042c lw s0, 0x28(fp)               |     s0 = *(arg_28h);
                                             |     if (v0 == 0) {
    0x000a0430 bnel v0, zero, 0xa0ba8        |         goto label_163;
                                             |     }
    0x000a0434 sb zero, 0xa5(sp)             |     *(var_a5h) = 0;
                                             | label_41:
    0x000a0438 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x000a043c lw v0, 0x38(sp)               |     v0 = *(var_38h);
                                             |     if (v0 != 0) {
    0x000a0440 bnez v0, 0xa0a24              |         goto label_164;
                                             |     }
    0x000a0444 lw a1, 0xec(sp)               |     a1 = *(var_ech);
                                             |     if (v0 == 0) {
    0x000a0448 beqz v0, 0xa1a70              |         goto label_165;
                                             |     }
                                             | label_33:
    0x000a044c lw v0, (s3)                   |     v0 = *(s3);
    0x000a0450 addiu a0, v0, 4               |     a0 = v0 + 4;
    0x000a0454 lw v0, (v0)                   |     v0 = *(v0);
    0x000a0458 lw v1, 0x38(sp)               |     v1 = *(var_38h);
                                             |     if (v0 <= 0) {
    0x000a045c blez v0, 0xa0474              |         goto label_166;
                                             |     }
                                             |     do {
    0x000a0460 addiu v0, v0, -1              |         v0 += -1;
    0x000a0464 sh zero, 0x12(a0)             |         *((a0 + 9)) = 0;
    0x000a0468 addiu a0, a0, 0x14            |         a0 += 0x14;
    0x000a046c bnez v0, 0xa0460              |         
                                             |     } while (v0 != 0);
    0x000a0470 lw v1, 0x38(sp)               |     v1 = *(var_38h);
                                             | label_166:
    0x000a0474 lw v0, (v1)                   |     v0 = *(v1);
    0x000a0478 addiu a0, v1, 4               |     a0 = v1 + 4;
                                             |     if (v0 <= 0) {
    0x000a047c blez v0, 0xa0490              |         goto label_167;
                                             |     }
                                             |     do {
    0x000a0480 addiu v0, v0, -1              |         v0 += -1;
    0x000a0484 sh zero, 0x12(a0)             |         *((a0 + 9)) = 0;
    0x000a0488 addiu a0, a0, 0x14            |         a0 += 0x14;
    0x000a048c bnez v0, 0xa0480              |         
                                             |     } while (v0 != 0);
                                             | label_167:
    0x000a0490 lh v0, 6(s3)                  |     v0 = *((s3 + 3));
    0x000a0494 slti v0, v0, 0x43             |     v0 = (v0 < 0x43) ? 1 : 0;
    0x000a0498 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
                                             |     if (v0 == 0) {
    0x000a049c bnez v0, 0xa04a8              |         
    0x000a04a0 addiu v0, zero, 0x42          |         v0 = 0x42;
    0x000a04a4 sh v0, 6(s3)                  |         *((s3 + 3)) = v0;
                                             |     }
    0x000a04a8 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x000a04ac sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a04b0 addiu t9, t9, 0x6908          |     t9 += 0x6908;
    0x000a04b4 addiu a2, zero, -1            |     a2 = -1;
    0x000a04b8 jalr t9                       |     t9 ();
    0x000a04bc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a04c0 lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (v0 != 0) {
    0x000a04c4 bnez v0, 0xa0c60              |         goto label_168;
                                             |     }
    0x000a04c8 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x000a04cc lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x000a04d0 addiu v0, v0, -1              |     v0 += -1;
    0x000a04d4 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x000a04d8 addiu a0, a0, 1               |     a0++;
    0x000a04dc sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x000a04e0 addiu v0, zero, 1             |     v0 = 1;
    0x000a04e4 sw zero, 0xd8(sp)             |     *(var_d8h) = 0;
    0x000a04e8 sw zero, 0xdc(sp)             |     *(var_dch) = 0;
    0x000a04ec sw zero, 0xe0(sp)             |     *(var_e0h) = 0;
    0x000a04f0 sw zero, 0xe4(sp)             |     *(var_e4h) = 0;
    0x000a04f4 sw zero, 0xe8(sp)             |     *(var_e8h) = 0;
    0x000a04f8 sw fp, 0xcc(sp)               |     *(var_cch) = fp;
    0x000a04fc sw t2, 0xd0(sp)               |     *(var_d0h) = t2;
    0x000a0500 sw s2, 0xd4(sp)               |     *(var_d4h) = s2;
    0x000a0504 sw a0, 0x124(sp)              |     *(var_124h) = a0;
    0x000a0508 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             | label_42:
    0x000a050c lw v1, 0x38(sp)               |     v1 = *(var_38h);
    0x000a0510 lw s0, -0x7f78(gp)            |     s0 = *((gp - 8158));
    0x000a0514 addiu s1, sp, 0xcc            |     s1 = sp + 0xcc;
    0x000a0518 lw v0, (v1)                   |     v0 = *(v1);
    0x000a051c lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000a0520 addiu s5, s0, 0x209c          |     s5 = s0 + 0x209c;
    0x000a0524 sw t2, 0x4c(sp)               |     *(var_4ch) = t2;
    0x000a0528 sw v0, 0x120(sp)              |     *(var_120h) = v0;
    0x000a052c move a0, s1                   |     a0 = s1;
    0x000a0530 sw v1, 0x12c(sp)              |     *(var_12ch) = v1;
    0x000a0534 move t9, s5                   |     t9 = s5;
    0x000a0538 sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x000a053c jalr t9                       |     t9 ();
    0x000a0540 lw a1, 0xec(sp)               |     a1 = *(var_ech);
    0x000a0544 move t9, s5                   |     t9 = s5;
    0x000a0548 move a0, s1                   |     a0 = s1;
    0x000a054c jalr t9                       |     t9 ();
    0x000a0550 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x000a0554 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0558 lw t2, 0x4c(sp)               |     t2 = *(var_4ch);
                                             |     if (v0 != 0) {
    0x000a055c beqz v0, 0xa05cc              |         
    0x000a0560 lw v0, -0x7f70(gp)            |         v0 = *((gp - 8156));
    0x000a0564 lw a1, 0x2c(s3)               |         a1 = *((s3 + 11));
    0x000a0568 addiu v0, v0, -0x393c         |         v0 += -0x393c;
    0x000a056c sw zero, 0xb8(sp)             |         *(var_b8h) = 0;
    0x000a0570 sw zero, 0xbc(sp)             |         *(var_bch) = 0;
    0x000a0574 sw zero, 0xc0(sp)             |         *(var_c0h) = 0;
    0x000a0578 sw zero, 0xc4(sp)             |         *(var_c4h) = 0;
    0x000a057c sw fp, 0xb0(sp)               |         *(var_b0h) = fp;
    0x000a0580 sw v0, 0xb4(sp)               |         *(var_b4h) = v0;
    0x000a0584 sw s3, 0xc8(sp)               |         *(var_c8h) = s3;
                                             |         if (a1 != 0) {
    0x000a0588 beqz a1, 0xa05a4              |             
    0x000a058c lw t9, -0x7f78(gp)            |             t9 = *((gp - 8158));
    0x000a0590 addiu t9, t9, 0x19fc          |             t9 += 0x19fc;
    0x000a0594 addiu a0, sp, 0xb0            |             a0 = sp + 0xb0;
    0x000a0598 jalr t9                       |             t9 ();
    0x000a059c lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x000a05a0 lw t2, 0x4c(sp)               |             t2 = *(var_4ch);
                                             |         }
    0x000a05a4 lw v0, 0x24(s3)               |         v0 = *((s3 + 9));
    0x000a05a8 sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
                                             | label_34:
    0x000a05ac lw t9, -0x7f78(gp)            |         t9 = *((gp - 8158));
    0x000a05b0 lw a1, 0x50(sp)               |         a1 = *(var_50h);
    0x000a05b4 lw a0, 0x40(sp)               |         a0 = *(var_40h);
    0x000a05b8 addiu t9, t9, 0x2004          |         t9 += 0x2004;
    0x000a05bc sw t2, 0x4c(sp)               |         *(var_4ch) = t2;
    0x000a05c0 jalr t9                       |         t9 ();
    0x000a05c4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a05c8 lw t2, 0x4c(sp)               |         t2 = *(var_4ch);
                                             |     }
    0x000a05cc lw v1, 0x28(s3)               |     v1 = *((s3 + 10));
                                             | label_35:
    0x000a05d0 lw v0, 0x134(sp)              |     v0 = *(var_134h);
    0x000a05d4 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
    0x000a05d8 sw v0, 0x138(sp)              |     *(var_138h) = v0;
    0x000a05dc lw a0, 0x140(sp)              |     a0 = *(var_140h);
                                             |     if (v1 == 0) {
    0x000a05e0 beqz v1, 0xa13a8              |         goto label_169;
                                             |     }
    0x000a05e4 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
                                             | label_47:
    0x000a05e8 lw a1, 0x13c(sp)              |     a1 = *(var_13ch);
                                             |     if (a0 <= 0) {
    0x000a05ec blez a0, 0xa065c              |         goto label_170;
                                             |     }
    0x000a05f0 move s0, zero                 |     s0 = 0;
                                             | label_48:
    0x000a05f4 sw s2, 0x68(sp)               |     *(var_68h) = s2;
                                             | label_49:
    0x000a05f8 lw v0, 0xe4(sp)               |     v0 = *(var_e4h);
    0x000a05fc move s2, s0                   |     s2 = s0;
    0x000a0600 addiu s1, zero, -9            |     s1 = -9;
    0x000a0604 sw t2, 0x64(sp)               |     *(var_64h) = t2;
    0x000a0608 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x000a060c b 0xa0614                     |     
                                             |     while (a1 != 0) {
    0x000a0610 lw a1, 0x13c(sp)              |         a1 = *(var_13ch);
    0x000a0614 sll a0, s2, 4                 |         a0 = s2 << 4;
    0x000a0618 ori v0, v0, 8                 |         v0 |= 8;
    0x000a061c lwx a1, a0(a1)                |         __asm ("lwx a1, a0(a1)");
    0x000a0620 move t9, s5                   |         t9 = s5;
    0x000a0624 move a0, s0                   |         a0 = s0;
    0x000a0628 lw a1, 0x14(a1)               |         a1 = *((a1 + 5));
    0x000a062c sw v0, 0xe4(sp)               |         *(var_e4h) = v0;
    0x000a0630 jalr t9                       |         t9 ();
    0x000a0634 lw v0, 0xe4(sp)               |         v0 = *(var_e4h);
    0x000a0638 lw a0, 0x140(sp)              |         a0 = *(var_140h);
    0x000a063c addiu s2, s2, 1               |         s2++;
    0x000a0640 and v0, v0, s1                |         v0 &= s1;
    0x000a0644 slt a1, s2, a0                |         a1 = (s2 < a0) ? 1 : 0;
    0x000a0648 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a064c sw v0, 0xe4(sp)               |         *(var_e4h) = v0;
    0x000a0650 bnez a1, 0xa0610              |         
                                             |     }
    0x000a0654 lw t2, 0x64(sp)               |     t2 = *(var_64h);
    0x000a0658 lw s2, 0x68(sp)               |     s2 = *(var_68h);
                                             | label_170:
    0x000a065c lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x000a0660 lbu a1, 0x51(s7)              |     a1 = *((s7 + 81));
    0x000a0664 sw v0, 0x128(sp)              |     *(var_128h) = v0;
                                             |     if (a1 != 0) {
    0x000a0668 bnez a1, 0xa0afc              |         goto label_80;
                                             |     }
    0x000a066c lw s1, 0x38(sp)               |     s1 = *(var_38h);
    0x000a0670 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
                                             |     if (s1 == 0) {
    0x000a0674 beqz s1, 0xa0cf0              |         goto label_171;
                                             |     }
    0x000a0678 lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x000a067c addiu t1, v0, 1               |     t1 = v0 + 1;
    0x000a0680 lw a3, 0x134(sp)              |     a3 = *(var_134h);
    0x000a0684 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a0688 sw t1, 0x28(fp)               |     *(arg_28h) = t1;
    0x000a068c move a2, zero                 |     a2 = 0;
    0x000a0690 move a1, s1                   |     a1 = s1;
    0x000a0694 move a0, fp                   |     a0 = fp;
    0x000a0698 addiu t9, t9, 0x1eb4          |     t9 += 0x1eb4;
    0x000a069c sw v0, 0x118(sp)              |     *(var_118h) = v0;
    0x000a06a0 jalr t9                       |     t9 ();
    0x000a06a4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a06a8 lw a3, 0x120(sp)              |     a3 = *(var_120h);
    0x000a06ac lw a2, 0x118(sp)              |     a2 = *(var_118h);
    0x000a06b0 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a06b4 addiu a1, zero, 0x72          |     a1 = 0x72;
    0x000a06b8 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a06bc move a0, s4                   |     a0 = s4;
    0x000a06c0 move t9, s5                   |     t9 = s5;
    0x000a06c4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a06c8 sw v0, 0x84(sp)               |     *(var_84h) = v0;
    0x000a06cc move s0, v0                   |     s0 = v0;
    0x000a06d0 jalr t9                       |     t9 ();
    0x000a06d4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a06d8 move a1, v0                   |     a1 = v0;
    0x000a06dc sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x000a06e0 lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x000a06e4 move a2, s0                   |     a2 = s0;
    0x000a06e8 addiu t9, v0, -0x2340         |     t9 = v0 + -0x2340;
    0x000a06ec addiu a3, zero, -9            |     a3 = -9;
    0x000a06f0 move a0, s4                   |     a0 = s4;
    0x000a06f4 sw t9, 0x90(sp)               |     *(var_90h) = t9;
    0x000a06f8 jalr t9                       |     t9 ();
    0x000a06fc lw t1, 0x38(fp)               |     t1 = *(arg_38h);
    0x000a0700 lw v1, 0x2c(fp)               |     v1 = *(arg_2ch);
    0x000a0704 addiu v0, t1, -2              |     v0 = t1 + -2;
    0x000a0708 sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x000a070c sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x000a0710 lw v0, (s1)                   |     v0 = *(s1);
    0x000a0714 addiu t2, v1, 1               |     t2 = v1 + 1;
    0x000a0718 addiu a0, v1, 4               |     a0 = v1 + 4;
    0x000a071c addiu a1, v1, 2               |     a1 = v1 + 2;
    0x000a0720 addiu t0, v1, 5               |     t0 = v1 + 5;
    0x000a0724 addiu v1, v1, 3               |     v1 += 3;
    0x000a0728 addu s0, a0, v0               |     s0 = a0 + v0;
    0x000a072c sw v1, 0x64(sp)               |     *(var_64h) = v1;
    0x000a0730 addiu v1, t1, -1              |     v1 = t1 + -1;
    0x000a0734 addu v0, v0, s0               |     v0 += s0;
    0x000a0738 sw v1, 0x78(sp)               |     *(var_78h) = v1;
    0x000a073c addiu v1, s0, 1               |     v1 = s0 + 1;
    0x000a0740 sw t2, 0x68(sp)               |     *(var_68h) = t2;
    0x000a0744 sw v1, 0x7c(sp)               |     *(var_7ch) = v1;
    0x000a0748 move a3, a1                   |     a3 = a1;
    0x000a074c sw a0, 0x6c(sp)               |     *(var_6ch) = a0;
    0x000a0750 sw a1, 0x80(sp)               |     *(var_80h) = a1;
    0x000a0754 move a2, zero                 |     a2 = 0;
    0x000a0758 addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a075c move a0, s4                   |     a0 = s4;
    0x000a0760 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x000a0764 sw t0, 0x88(sp)               |     *(var_88h) = t0;
    0x000a0768 move t9, s5                   |     t9 = s5;
    0x000a076c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a0770 jalr t9                       |     t9 ();
    0x000a0774 lw t0, 0x88(sp)               |     t0 = *(var_88h);
    0x000a0778 lw v0, (s1)                   |     v0 = *(s1);
    0x000a077c move a3, t0                   |     a3 = t0;
    0x000a0780 addu v0, t0, v0               |     v0 = t0 + v0;
    0x000a0784 addiu v0, v0, -1              |     v0 += -1;
    0x000a0788 move a2, zero                 |     a2 = 0;
    0x000a078c addiu a1, zero, 0x49          |     a1 = 0x49;
    0x000a0790 move a0, s4                   |     a0 = s4;
    0x000a0794 move t9, s5                   |     t9 = s5;
    0x000a0798 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a079c jalr t9                       |     t9 ();
    0x000a07a0 lw a3, 0x74(sp)               |     a3 = *(var_74h);
    0x000a07a4 lw a2, 0x6c(sp)               |     a2 = *(var_6ch);
    0x000a07a8 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x000a07ac move a0, s4                   |     a0 = s4;
    0x000a07b0 move t9, s5                   |     t9 = s5;
    0x000a07b4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a07b8 jalr t9                       |     t9 ();
    0x000a07bc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a07c0 lw v1, 0x58(sp)               |     v1 = *(var_58h);
    0x000a07c4 addiu a0, zero, 0x40          |     a0 = 0x40;
    0x000a07c8 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a07cc lw t2, 0x40(sp)               |     t2 = *(var_40h);
    0x000a07d0 addiu v0, zero, 0x240         |     v0 = 0x240;
                                             |     if (v1 != 0) {
    0x000a07d4 movz v0, a0, v1               |         v0 = a0;
                                             |     }
    0x000a07d8 lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x000a07dc sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x000a07e0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a07e4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a07e8 move a3, s1                   |     a3 = s1;
    0x000a07ec move a1, t2                   |     a1 = t2;
    0x000a07f0 addiu t9, t9, -0xd80          |     t9 += -0xd80;
    0x000a07f4 move a0, fp                   |     a0 = fp;
    0x000a07f8 bal 0xaf280                   |     fcn_000af280 ();
    0x000a07fc sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x000a0800 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a0804 beqz v0, 0xa0afc              |         goto label_80;
                                             |     }
    0x000a0808 lb a0, 0x2f(v0)               |     a0 = *((v0 + 47));
    0x000a080c lw v0, (s1)                   |     v0 = *(s1);
    0x000a0810 lw v1, 0x58(sp)               |     v1 = *(var_58h);
                                             |     if (v0 == a0) {
    0x000a0814 beq v0, a0, 0xa235c           |         goto label_172;
                                             |     }
    0x000a0818 lbu v0, 0xa4(sp)              |     v0 = *(var_a4h);
    0x000a081c lw a3, -0x7fa0(gp)            |     a3 = *((gp - 8168));
                                             |     if (v0 == 0) {
    0x000a0820 beqz v0, 0xa217c              |         goto label_173;
                                             |     }
    0x000a0824 lw v0, 8(s3)                  |     v0 = *((s3 + 2));
    0x000a0828 andi v0, v0, 1                |     v0 &= 1;
    0x000a082c addiu a3, a3, -0x5a40         |     a3 += -0x5a40;
                                             |     if (v0 == 0) {
    0x000a0830 bnez v0, 0xa083c              |         
    0x000a0834 lw a3, -0x7fa0(gp)            |         a3 = *((gp - 8168));
    0x000a0838 addiu a3, a3, -0x5a34         |         a3 += -0x5a34;
                                             |     }
                                             | label_71:
    0x000a083c lw a2, -0x7fa0(gp)            |     a2 = *((gp - 8168));
    0x000a0840 lw t9, -0x7f68(gp)            |     t9 = *((gp - 8154));
    0x000a0844 move a1, zero                 |     a1 = 0;
    0x000a0848 addiu a2, a2, -0x59b4         |     a2 += -0x59b4;
    0x000a084c addiu t9, t9, -0x3668         |     t9 += -0x3668;
    0x000a0850 move a0, fp                   |     a0 = fp;
    0x000a0854 jalr t9                       |     t9 ();
    0x000a0858 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000a085c lw a1, 0x134(sp)              |     a1 = *(var_134h);
    0x000a0860 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0864 lw t2, (v0)                   |     t2 = *(v0);
                                             |     if (a1 <= 0) {
    0x000a0868 blez a1, 0xa2894              |         goto label_174;
                                             |     }
    0x000a086c addiu a0, zero, 0x18          |     a0 = 0x18;
    0x000a0870 mul v1, a1, a0                |     __asm ("mul v1, a1, a0");
    0x000a0874 lw v0, 0x130(sp)              |     v0 = *(var_130h);
    0x000a0878 move s0, t2                   |     s0 = t2;
    0x000a087c addu a1, v1, v0               |     a1 = v1 + v0;
    0x000a0880 lw v1, 0xc(v0)                |     v1 = *((v0 + 3));
                                             |     do {
    0x000a0884 slt v1, v1, s0                |         v1 = (v1 < s0) ? 1 : 0;
                                             |         if (v1 != 0) {
    0x000a0888 beql v1, zero, 0xa0890        |             
    0x000a088c addiu s0, s0, 1               |             s0++;
                                             |         }
    0x000a0890 addiu v0, v0, 0x18            |         v0 += 0x18;
    0x000a0894 lw v1, 0xc(v0)                |         v1 = *((v0 + 3));
    0x000a0898 bnel a1, v0, 0xa0884          |         
                                             |     } while (a1 == v0);
                                             | label_97:
    0x000a089c lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000a08a0 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a08a4 move a1, s0                   |     a1 = s0;
    0x000a08a8 addiu t9, t9, 0x2c20          |     t9 += 0x2c20;
    0x000a08ac move a0, fp                   |     a0 = fp;
    0x000a08b0 jalr t9                       |     t9 ();
    0x000a08b4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a08b8 lw a1, 0x38(sp)               |     a1 = *(var_38h);
    0x000a08bc sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a08c0 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a08c4 move a3, zero                 |     a3 = 0;
    0x000a08c8 move a2, v0                   |     a2 = v0;
    0x000a08cc addiu t9, t9, -0x6a94         |     t9 += -0x6a94;
    0x000a08d0 move s1, v0                   |     s1 = v0;
    0x000a08d4 bal 0xa956c                   |     fcn_000a956c ();
    0x000a08d8 lw a1, 0x134(sp)              |     a1 = *(var_134h);
    0x000a08dc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a08e0 lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (a1 <= 0) {
    0x000a08e4 blez a1, 0xa14b4              |         goto label_175;
                                             |     }
    0x000a08e8 lw v0, -0x7f68(gp)            |     v0 = *((gp - 8154));
    0x000a08ec move t4, zero                 |     t4 = 0;
    0x000a08f0 move t3, zero                 |     t3 = 0;
    0x000a08f4 addiu v0, v0, -0x38e8         |     v0 += -0x38e8;
    0x000a08f8 sw s0, 0x48(sp)               |     *(var_48h) = s0;
    0x000a08fc sw s3, 0x5c(sp)               |     *(var_5ch) = s3;
    0x000a0900 sw s2, 0x94(sp)               |     *(var_94h) = s2;
    0x000a0904 move s3, s4                   |     s3 = s4;
    0x000a0908 move s2, s1                   |     s2 = s1;
    0x000a090c sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x000a0910 move s0, t2                   |     s0 = t2;
    0x000a0914 move s4, t3                   |     s4 = t3;
    0x000a0918 move s1, t4                   |     s1 = t4;
    0x000a091c b 0xa0930                     |     goto label_176;
                                             | label_28:
    0x000a0920 addiu s1, s1, 1               |     s1++;
                                             |     do {
    0x000a0924 slt v0, s1, a1                |         v0 = (s1 < a1) ? 1 : 0;
    0x000a0928 addiu s4, s4, 0x18            |         s4 += 0x18;
                                             |         if (v0 == 0) {
    0x000a092c beqz v0, 0xa14a0              |             goto label_177;
                                             |         }
                                             | label_176:
    0x000a0930 lw v0, 0x130(sp)              |         v0 = *(var_130h);
    0x000a0934 addu v0, v0, s4               |         v0 += s4;
    0x000a0938 lw v1, 0xc(v0)                |         v1 = *((v0 + 3));
    0x000a093c slt v1, v1, s0                |         v1 = (v1 < s0) ? 1 : 0;
    0x000a0940 addiu s1, s1, 1               |         s1++;
    0x000a0944 bnel v1, zero, 0xa0924        |         
                                             |     } while (v1 == 0);
    0x000a0948 lw a1, (v0)                   |     a1 = *(v0);
    0x000a094c lw a3, 8(v0)                  |     a3 = *((v0 + 2));
    0x000a0950 lw a2, 4(v0)                  |     a2 = *((v0 + 1));
    0x000a0954 lw t9, 0x40(sp)               |     t9 = *(var_40h);
    0x000a0958 addu v0, s2, s0               |     v0 = s2 + s0;
    0x000a095c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a0960 move a0, s3                   |     a0 = s3;
    0x000a0964 jalr t9                       |     t9 ();
    0x000a0968 addiu s0, s0, 1               |     s0++;
    0x000a096c lw a1, 0x134(sp)              |     a1 = *(var_134h);
    0x000a0970 b 0xa0920                     |     goto label_28;
                                             | label_111:
    0x000a0974 move fp, s2                   |     fp = s2;
    0x000a0978 b 0x9f0fc                     |     goto label_2;
                                             | label_156:
    0x000a097c addiu v0, v0, -0x34c4         |     v0 += -0x34c4;
    0x000a0980 b 0xa0118                     |     goto label_29;
                                             | label_151:
    0x000a0984 lw s3, 0x40(sp)               |     s3 = *(var_40h);
    0x000a0988 move t2, s1                   |     t2 = s1;
    0x000a098c lw s7, 0x4c(sp)               |     s7 = *(var_4ch);
    0x000a0990 lw s2, 0x74(sp)               |     s2 = *(var_74h);
    0x000a0994 lw a1, 8(s3)                  |     a1 = *((s3 + 2));
    0x000a0998 b 0xa02a0                     |     goto label_30;
                                             |     do {
                                             | label_125:
    0x000a099c lw t9, -0x7fb0(gp)            |         t9 = *((gp - 8172));
                                             | label_38:
    0x000a09a0 lw a1, 0x58(sp)               |         a1 = *(var_58h);
    0x000a09a4 addiu t9, t9, 0x5858          |         t9 += 0x5858;
    0x000a09a8 lw a0, 0x54(sp)               |         a0 = *(var_54h);
    0x000a09ac jalr t9                       |         t9 ();
    0x000a09b0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a09b4 addiu v0, zero, 1             |         v0 = 1;
    0x000a09b8 b 0x9f100                     |         goto label_26;
                                             | label_123:
    0x000a09bc lw s0, 0x54(sp)               |         s0 = *(var_54h);
                                             |         if (s1 == 0) {
    0x000a09c0 beqz s1, 0xa0b28              |             goto label_178;
                                             |         }
    0x000a09c4 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
    0x000a09c8 move a0, s0                   |         a0 = s0;
    0x000a09cc addiu a2, zero, 1             |         a2 = 1;
    0x000a09d0 addiu t9, t9, 0x3578          |         t9 += 0x3578;
    0x000a09d4 move a1, s1                   |         a1 = s1;
    0x000a09d8 jalr t9                       |         t9 ();
    0x000a09dc lbu v0, 0x51(s0)              |         v0 = *((s0 + 81));
    0x000a09e0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a09e4 move a0, s0                   |         a0 = s0;
    0x000a09e8 bnez v0, 0xa099c              |         
                                             |     } while (v0 != 0);
    0x000a09ec lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
    0x000a09f0 addiu t9, t9, 0x5858          |     t9 += 0x5858;
    0x000a09f4 lw a1, 0x58(sp)               |     a1 = *(var_58h);
    0x000a09f8 jalr t9                       |     t9 ();
    0x000a09fc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0a00 lw a0, 0x34(s3)               |     a0 = *((s3 + 13));
    0x000a0a04 b 0x9f374                     |     goto label_31;
                                             | label_142:
    0x000a0a08 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x000a0a0c lw t9, 0x64(sp)               |     t9 = *(var_64h);
    0x000a0a10 move a2, s3                   |     a2 = s3;
    0x000a0a14 addiu a1, v0, -0x5a5c         |     a1 = v0 + -0x5a5c;
    0x000a0a18 jalr t9                       |     t9 ();
    0x000a0a1c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0a20 b 0x9f9e0                     |     goto label_32;
                                             | label_164:
    0x000a0a24 lw a1, 0xec(sp)               |     a1 = *(var_ech);
                                             |     if (v0 != 0) {
    0x000a0a28 bnez v0, 0xa044c              |         goto label_33;
                                             |     }
    0x000a0a2c lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a0a30 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a0a34 sh zero, 6(s3)                |     *((s3 + 3)) = 0;
    0x000a0a38 addiu a2, zero, -1            |     a2 = -1;
    0x000a0a3c addiu t9, t9, 0x6908          |     t9 += 0x6908;
    0x000a0a40 move a0, zero                 |     a0 = 0;
    0x000a0a44 jalr t9                       |     t9 ();
    0x000a0a48 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0a4c lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (v0 != 0) {
    0x000a0a50 bnez v0, 0xa1fe0              |         goto label_179;
                                             |     }
    0x000a0a54 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x000a0a58 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x000a0a5c addiu v0, v0, -1              |     v0 += -1;
    0x000a0a60 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x000a0a64 addiu a0, a0, 1               |     a0++;
    0x000a0a68 sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x000a0a6c addiu v0, zero, 1             |     v0 = 1;
    0x000a0a70 sw zero, 0xd8(sp)             |     *(var_d8h) = 0;
    0x000a0a74 sw zero, 0xdc(sp)             |     *(var_dch) = 0;
    0x000a0a78 sw zero, 0xe0(sp)             |     *(var_e0h) = 0;
    0x000a0a7c sw zero, 0xe4(sp)             |     *(var_e4h) = 0;
    0x000a0a80 sw zero, 0xe8(sp)             |     *(var_e8h) = 0;
    0x000a0a84 sw fp, 0xcc(sp)               |     *(var_cch) = fp;
    0x000a0a88 sw t2, 0xd0(sp)               |     *(var_d0h) = t2;
    0x000a0a8c sw s2, 0xd4(sp)               |     *(var_d4h) = s2;
    0x000a0a90 sw a0, 0x124(sp)              |     *(var_124h) = a0;
    0x000a0a94 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             | label_63:
    0x000a0a98 lw s0, -0x7f78(gp)            |     s0 = *((gp - 8158));
    0x000a0a9c addiu s1, sp, 0xcc            |     s1 = sp + 0xcc;
    0x000a0aa0 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000a0aa4 addiu s5, s0, 0x209c          |     s5 = s0 + 0x209c;
    0x000a0aa8 sw t2, 0x4c(sp)               |     *(var_4ch) = t2;
    0x000a0aac move a0, s1                   |     a0 = s1;
    0x000a0ab0 move t9, s5                   |     t9 = s5;
    0x000a0ab4 sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x000a0ab8 sw zero, 0x120(sp)            |     *(var_120h) = 0;
    0x000a0abc sw zero, 0x12c(sp)            |     *(var_12ch) = 0;
    0x000a0ac0 jalr t9                       |     t9 ();
    0x000a0ac4 lw a1, 0xec(sp)               |     a1 = *(var_ech);
    0x000a0ac8 move t9, s5                   |     t9 = s5;
    0x000a0acc move a0, s1                   |     a0 = s1;
    0x000a0ad0 jalr t9                       |     t9 ();
    0x000a0ad4 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x000a0ad8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0adc lw t2, 0x4c(sp)               |     t2 = *(var_4ch);
                                             |     if (v0 != 0) {
    0x000a0ae0 bnez v0, 0xa05ac              |         goto label_34;
                                             |     }
    0x000a0ae4 lw v1, 0x28(s3)               |     v1 = *((s3 + 10));
    0x000a0ae8 b 0xa05d0                     |     goto label_35;
                                             | label_159:
    0x000a0aec sw v0, 0x100(sp)              |     *(var_100h) = v0;
    0x000a0af0 b 0xa0380                     |     goto label_36;
                                             | label_124:
    0x000a0af4 addiu s1, zero, 7             |     s1 = 7;
    0x000a0af8 b 0x9f2d0                     |     goto label_37;
                                             | label_80:
    0x000a0afc addiu v0, zero, 1             |     v0 = 1;
                                             | label_45:
    0x000a0b00 lw a1, 0x4c(sp)               |     a1 = *(var_4ch);
    0x000a0b04 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
                                             |     if (a1 == 0) {
    0x000a0b08 beqz a1, 0x9f100              |         goto label_26;
                                             |     }
    0x000a0b0c sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000a0b10 addiu t9, t9, 0x38a4          |     t9 += 0x38a4;
    0x000a0b14 move a0, s7                   |     a0 = s7;
    0x000a0b18 jalr t9                       |     t9 ();
    0x000a0b1c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0b20 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a0b24 b 0x9f100                     |     goto label_26;
                                             | label_178:
    0x000a0b28 lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x000a0b2c lbu v0, 0x51(a0)              |     v0 = *((a0 + 81));
    0x000a0b30 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (v0 != 0) {
    0x000a0b34 bnez v0, 0xa09a0              |         goto label_38;
                                             |     }
    0x000a0b38 addiu t9, t9, 0x5858          |     t9 += 0x5858;
    0x000a0b3c lw a1, 0x58(sp)               |     a1 = *(var_58h);
    0x000a0b40 jalr t9                       |     t9 ();
    0x000a0b44 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0b48 lw a0, 0x34(s3)               |     a0 = *((s3 + 13));
    0x000a0b4c b 0x9f374                     |     goto label_31;
                                             | label_141:
    0x000a0b50 lw a0, 0x2c(a0)               |     a0 = *((a0 + 11));
                                             |     if (a1 < 0) {
    0x000a0b54 bltz a1, 0xa2024              |         goto label_180;
                                             |     }
    0x000a0b58 lw a3, 4(a0)                  |     a3 = *((a0 + 1));
                                             | label_64:
    0x000a0b5c sll a1, a1, 4                 |     a1 <<= 4;
    0x000a0b60 lwx a3, a1(a3)                |     __asm ("lwx a3, a1(a3)");
                                             | label_65:
    0x000a0b64 lw v1, 0x70(sp)               |     v1 = *(var_70h);
                                             |     if (v1 == 0) {
    0x000a0b68 beql v1, zero, 0x9f638        |         goto label_39;
                                             |     }
    0x000a0b6c lw a0, (s1)                   |     a0 = *(s1);
    0x000a0b70 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000a0b74 lw a2, (a0)                   |     a2 = *(a0);
    0x000a0b78 lw t9, 0x64(sp)               |     t9 = *(var_64h);
    0x000a0b7c lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x000a0b80 addiu a1, a1, -0x1764         |     a1 += -0x1764;
    0x000a0b84 jalr t9                       |     t9 ();
    0x000a0b88 lw a0, (s1)                   |     a0 = *(s1);
    0x000a0b8c lbu a0, 0x51(a0)              |     a0 = *((a0 + 81));
    0x000a0b90 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (a0 != 0) {
    0x000a0b94 bnez a0, 0x9f664              |         goto label_10;
                                             |     }
    0x000a0b98 lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x000a0b9c move a3, v0                   |     a3 = v0;
    0x000a0ba0 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x000a0ba4 b 0x9f64c                     |     goto label_40;
                                             | label_163:
    0x000a0ba8 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a0bac lw a1, (s3)                   |     a1 = *(s3);
    0x000a0bb0 addiu v0, s0, 1               |     v0 = s0 + 1;
    0x000a0bb4 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a0bb8 move a3, zero                 |     a3 = 0;
    0x000a0bbc move a2, zero                 |     a2 = 0;
    0x000a0bc0 move a0, fp                   |     a0 = fp;
    0x000a0bc4 sw s0, 0xa8(sp)               |     *(var_a8h) = s0;
    0x000a0bc8 addiu t9, t9, 0x1eb4          |     t9 += 0x1eb4;
    0x000a0bcc sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x000a0bd0 jalr t9                       |     t9 ();
    0x000a0bd4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0bd8 move a2, s0                   |     a2 = s0;
    0x000a0bdc move a3, zero                 |     a3 = 0;
    0x000a0be0 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a0be4 addiu a1, zero, 0x71          |     a1 = 0x71;
    0x000a0be8 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a0bec move a0, s4                   |     a0 = s4;
    0x000a0bf0 move t9, s5                   |     t9 = s5;
    0x000a0bf4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a0bf8 move s1, v0                   |     s1 = v0;
    0x000a0bfc jalr t9                       |     t9 ();
    0x000a0c00 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0c04 move s0, v0                   |     s0 = v0;
    0x000a0c08 move a0, s4                   |     a0 = s4;
    0x000a0c0c lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000a0c10 addiu a3, zero, -9            |     a3 = -9;
    0x000a0c14 move a2, s1                   |     a2 = s1;
    0x000a0c18 addiu t9, t9, -0x2340         |     t9 += -0x2340;
    0x000a0c1c move a1, v0                   |     a1 = v0;
    0x000a0c20 jalr t9                       |     t9 ();
    0x000a0c24 sw s0, 0xac(sp)               |     *(var_ach) = s0;
    0x000a0c28 lw a0, 0x6c(s4)               |     a0 = *((s4 + 27));
    0x000a0c2c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0c30 lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (a0 > 0) {
    0x000a0c34 blez a0, 0xa0c54              |         
    0x000a0c38 sll v0, a0, 2                 |         v0 = a0 << 2;
    0x000a0c3c lw a1, 0x68(s4)               |         a1 = *((s4 + 26));
    0x000a0c40 addu v0, v0, a0               |         v0 += a0;
    0x000a0c44 sll v0, v0, 2                 |         v0 <<= 2;
    0x000a0c48 addu v0, a1, v0               |         v0 = a1 + v0;
    0x000a0c4c addiu a0, zero, 8             |         a0 = 8;
    0x000a0c50 sh a0, -0x12(v0)              |         *((v0 - 9)) = a0;
                                             |     }
    0x000a0c54 addiu v0, zero, 3             |     v0 = 3;
    0x000a0c58 sb v0, 0xa5(sp)               |     *(var_a5h) = v0;
    0x000a0c5c b 0xa0438                     |     goto label_41;
                                             | label_168:
    0x000a0c60 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x000a0c64 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x000a0c68 addiu v0, v0, -1              |     v0 += -1;
    0x000a0c6c addiu a0, a0, 1               |     a0++;
    0x000a0c70 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x000a0c74 sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x000a0c78 sw zero, 0xd8(sp)             |     *(var_d8h) = 0;
    0x000a0c7c sw zero, 0xdc(sp)             |     *(var_dch) = 0;
    0x000a0c80 sw zero, 0xe0(sp)             |     *(var_e0h) = 0;
    0x000a0c84 sw zero, 0xe4(sp)             |     *(var_e4h) = 0;
    0x000a0c88 sw zero, 0xe8(sp)             |     *(var_e8h) = 0;
    0x000a0c8c sw fp, 0xcc(sp)               |     *(var_cch) = fp;
    0x000a0c90 sw t2, 0xd0(sp)               |     *(var_d0h) = t2;
    0x000a0c94 sw s2, 0xd4(sp)               |     *(var_d4h) = s2;
    0x000a0c98 sw a0, 0x124(sp)              |     *(var_124h) = a0;
    0x000a0c9c sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x000a0ca0 b 0xa050c                     |     goto label_42;
                                             | label_122:
    0x000a0ca4 lw a2, -0x7fe4(gp)            |     a2 = *((gp - 8185));
    0x000a0ca8 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000a0cac lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x000a0cb0 move a3, zero                 |     a3 = 0;
    0x000a0cb4 addiu a2, a2, -0x5400         |     a2 += -0x5400;
    0x000a0cb8 addiu t9, t9, -0x6d14         |     t9 += -0x6d14;
    0x000a0cbc addiu a1, zero, 0x93          |     a1 = 0x93;
    0x000a0cc0 jalr t9                       |     t9 ();
    0x000a0cc4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0cc8 lw a0, (fp)                   |     a0 = *(fp);
    0x000a0ccc move a1, zero                 |     a1 = 0;
    0x000a0cd0 lw t9, -0x7f6c(gp)            |     t9 = *((gp - 8155));
    0x000a0cd4 addiu t9, t9, -0x6e38         |     t9 += -0x6e38;
    0x000a0cd8 move a2, v0                   |     a2 = v0;
    0x000a0cdc jalr t9                       |     t9 ();
    0x000a0ce0 move a1, v0                   |     a1 = v0;
    0x000a0ce4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0ce8 sw v0, 0xec(sp)               |     *(var_ech) = v0;
    0x000a0cec b 0x9f1b0                     |     goto label_43;
                                             | label_171:
    0x000a0cf0 lw a1, 0x24(s3)               |     a1 = *((s3 + 9));
    0x000a0cf4 addiu a1, zero, 1             |     a1 = 1;
                                             |     if (a1 != 0) {
    0x000a0cf8 bnez a1, 0xa23c8              |         goto label_181;
                                             |     }
    0x000a0cfc lw a2, (s3)                   |     a2 = *(s3);
    0x000a0d00 lw a3, (a2)                   |     a3 = *(a2);
    0x000a0d04 lw a1, 0x138(sp)              |     a1 = *(var_138h);
                                             |     if (a3 != a1) {
    0x000a0d08 bne a3, a1, 0xa23cc           |         goto label_182;
                                             |     }
    0x000a0d0c lw a1, 0x20(s3)               |     a1 = *((s3 + 8));
    0x000a0d10 lw t1, (a1)                   |     t1 = *(a1);
    0x000a0d14 lw a1, 0x138(sp)              |     a1 = *(var_138h);
                                             |     if (t1 == a3) {
    0x000a0d18 bnel t1, a3, 0xa23cc          |         goto label_182;
                                             |     }
    0x000a0d1c lw a3, 0x1c(a1)               |     a3 = *((a1 + 7));
    0x000a0d20 lw a1, 0x138(sp)              |     a1 = *(var_138h);
                                             |     if (a3 == 0) {
    0x000a0d24 bnel a3, zero, 0xa23cc        |         goto label_182;
                                             |     }
    0x000a0d28 lw s0, 0x18(a1)               |     s0 = *((a1 + 6));
    0x000a0d2c lw a1, 0x38(s0)               |     a1 = *((s0 + 14));
    0x000a0d30 lw a2, 4(a2)                  |     a2 = *((a2 + 1));
                                             |     if (a1 != 0) {
    0x000a0d34 bnez a1, 0xa23c8              |         goto label_181;
                                             |     }
    0x000a0d38 lbu a3, (a2)                  |     a3 = *(a2);
    0x000a0d3c addiu a1, zero, 0xa3          |     a1 = 0xa3;
    0x000a0d40 lw a1, 0x138(sp)              |     a1 = *(var_138h);
                                             |     if (a3 != a1) {
    0x000a0d44 bne a3, a1, 0xa23cc           |         goto label_182;
                                             |     }
    0x000a0d48 lw a1, 0x13c(sp)              |     a1 = *(var_13ch);
                                             |     if (a0 == 0) {
    0x000a0d4c beqz a0, 0xa2ba8              |         goto label_183;
                                             |     }
    0x000a0d50 lw a1, 4(a1)                  |     a1 = *((a1 + 1));
    0x000a0d54 lw a1, 4(a1)                  |     a1 = *((a1 + 1));
    0x000a0d58 andi a1, a1, 0x100            |     a1 &= aav.0x00000100;
    0x000a0d5c lw a1, 0x138(sp)              |     a1 = *(var_138h);
                                             |     if (a1 == 0) {
    0x000a0d60 beqz a1, 0xa23cc              |         goto label_182;
                                             |     }
    0x000a0d64 lw a1, 4(a2)                  |     a1 = *((a2 + 1));
    0x000a0d68 andi a1, a1, 2                |     a1 &= 2;
    0x000a0d6c lw a1, 0x138(sp)              |     a1 = *(var_138h);
                                             |     if (a1 != 0) {
    0x000a0d70 bnez a1, 0xa23cc              |         goto label_182;
                                             |     }
    0x000a0d74 lw a1, 0x48(s0)               |     a1 = *((s0 + 18));
    0x000a0d78 lw a0, (fp)                   |     a0 = *(fp);
                                             |     if (a1 == 0) {
    0x000a0d7c beqz a1, 0xa2b4c              |         goto label_184;
                                             |     }
    0x000a0d80 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000a0d84 addiu t9, t9, 0x42fc          |     t9 += 0x42fc;
    0x000a0d88 jalr t9                       |     t9 ();
    0x000a0d8c nop                           |     
    0x000a0d90 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0d94 move s5, v0                   |     s5 = v0;
                                             | label_104:
    0x000a0d98 lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x000a0d9c lw t9, -0x7f7c(gp)            |     t9 = *((gp - 8159));
    0x000a0da0 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x000a0da4 addiu v0, v0, 1               |     v0++;
    0x000a0da8 move a1, s5                   |     a1 = s5;
    0x000a0dac move a0, fp                   |     a0 = fp;
    0x000a0db0 sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x000a0db4 addiu t9, t9, 0x67dc          |     t9 += 0x67dc;
    0x000a0db8 lw s2, 0x1c(s0)               |     s2 = *((s0 + 7));
    0x000a0dbc bal 0x967dc                   |     fcn_000967dc ();
    0x000a0dc0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0dc4 lw v0, (s0)                   |     v0 = *(s0);
    0x000a0dc8 lw a2, 0x1c(s0)               |     a2 = *((s0 + 7));
    0x000a0dcc lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a0dd0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a0dd4 move a3, zero                 |     a3 = 0;
    0x000a0dd8 move a1, s5                   |     a1 = s5;
    0x000a0ddc addiu t9, t9, 0x5bfc          |     t9 += 0x5bfc;
    0x000a0de0 move a0, fp                   |     a0 = fp;
    0x000a0de4 jalr t9                       |     t9 ();
    0x000a0de8 lw v0, 0x24(s0)               |     v0 = *((s0 + 9));
    0x000a0dec andi v0, v0, 0x20             |     v0 &= 0x20;
    0x000a0df0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a0df4 beqz v0, 0xa2200              |         goto label_185;
                                             |     }
    0x000a0df8 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
                                             |     if (v0 == 0) {
    0x000a0dfc beql v0, zero, 0xa22a0        |         goto label_186;
                                             |     }
    0x000a0e00 lw s1, 0x38(sp)               |     s1 = *(var_38h);
    0x000a0e04 lbu a0, 0x37(v0)              |     a0 = *((v0 + 55));
    0x000a0e08 addiu a1, zero, 2             |     a1 = 2;
    0x000a0e0c andi a0, a0, 3                |     a0 &= 3;
    0x000a0e10 move s1, v0                   |     s1 = v0;
                                             |     if (a0 != a1) {
    0x000a0e14 bne a0, a1, 0xa0e2c           |         goto label_187;
                                             |     }
    0x000a0e18 lbu v1, 0x37(v0)              |     v1 = *((v0 + 55));
    0x000a0e1c b 0xa0e3c                     |     goto label_76;
                                             |     do {
    0x000a0e20 andi v1, v1, 3                |         v1 &= 3;
                                             |         if (v1 == a1) {
    0x000a0e24 beql v1, a1, 0xa0e3c          |             goto label_76;
                                             |         }
    0x000a0e28 lbu v1, 0x37(v0)              |         v1 = *((v0 + 55));
                                             | label_187:
    0x000a0e2c lw s1, 0x14(s1)               |         s1 = *((s1 + 5));
    0x000a0e30 lbu v1, 0x37(s1)              |         v1 = *((s1 + 55));
    0x000a0e34 bnel s1, zero, 0xa0e20        |         
                                             |     } while (s1 == 0);
    0x000a0e38 lbu v1, 0x37(v0)              |     v1 = *((v0 + 55));
                                             |     do {
                                             | label_76:
    0x000a0e3c andi v1, v1, 4                |         v1 &= 4;
    0x000a0e40 lw v0, 0x14(v0)               |         v0 = *((v0 + 5));
                                             |         if (v1 != 0) {
    0x000a0e44 bnel v1, zero, 0xa0e6c        |             
    0x000a0e48 lh a0, 0x30(v0)               |             a0 = *((v0 + 24));
    0x000a0e4c lh v1, 0x2e(s0)               |             v1 = *((s0 + 23));
    0x000a0e50 slt v1, a0, v1                |             v1 = (a0 < v1) ? 1 : 0;
                                             |             if (v1 == 0) {
    0x000a0e54 beql v1, zero, 0xa0e6c        |                 goto label_188;
                                             |             }
    0x000a0e58 lw v0, 0x14(v0)               |             v0 = *((v0 + 5));
    0x000a0e5c lw v1, 0x24(v0)               |             v1 = *((v0 + 9));
                                             |             if (v1 == 0) {
    0x000a0e60 beqz v1, 0xa2184              |                 goto label_189;
                                             |             }
    0x000a0e64 nop                           |             
                                             | label_72:
    0x000a0e68 lw v0, 0x14(v0)               |             v0 = *((v0 + 5));
                                             |         }
                                             | label_188:
    0x000a0e6c lbu v1, 0x37(v0)              |         v1 = *((v0 + 55));
    0x000a0e70 bnel v0, zero, 0xa0e3c        |         
                                             |     } while (v0 == 0);
    0x000a0e74 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
                                             |     if (s1 == 0) {
    0x000a0e78 beqz s1, 0xa229c              |         goto label_190;
                                             |     }
    0x000a0e7c lw a3, 0x2c(s1)               |     a3 = *((s1 + 11));
    0x000a0e80 move a1, s1                   |     a1 = s1;
    0x000a0e84 move a0, fp                   |     a0 = fp;
    0x000a0e88 addiu t9, t9, -0x46c          |     t9 += -0x46c;
    0x000a0e8c sw a3, 0x40(sp)               |     *(var_40h) = a3;
    0x000a0e90 jalr t9                       |     t9 ();
    0x000a0e94 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0e98 move s2, v0                   |     s2 = v0;
    0x000a0e9c lw a3, 0x40(sp)               |     a3 = *(var_40h);
    0x000a0ea0 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a0ea4 addiu v0, zero, 1             |     v0 = 1;
    0x000a0ea8 lw a2, 0x38(sp)               |     a2 = *(var_38h);
    0x000a0eac sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a0eb0 sw s5, 0x10(sp)               |     *(var_10h) = s5;
    0x000a0eb4 addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x000a0eb8 addiu t9, t9, 0x647c          |     t9 += 0x647c;
    0x000a0ebc move a0, s4                   |     a0 = s4;
    0x000a0ec0 jalr t9                       |     t9 ();
    0x000a0ec4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s2 != 0) {
    0x000a0ec8 beqz s2, 0xa0eec              |         
    0x000a0ecc lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
    0x000a0ed0 addiu a3, zero, -9            |         a3 = -9;
    0x000a0ed4 move a2, s2                   |         a2 = s2;
    0x000a0ed8 addiu a1, zero, -1            |         a1 = -1;
    0x000a0edc addiu t9, t9, -0x2340         |         t9 += -0x2340;
    0x000a0ee0 move a0, s4                   |         a0 = s4;
    0x000a0ee4 jalr t9                       |         t9 ();
    0x000a0ee8 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a0eec lw v0, 0x13c(sp)              |     v0 = *(var_13ch);
    0x000a0ef0 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a0ef4 lw s2, 0x38(sp)               |     s2 = *(var_38h);
    0x000a0ef8 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a0efc lw a3, 8(v0)                  |     a3 = *((v0 + 2));
    0x000a0f00 move a2, s2                   |     a2 = s2;
    0x000a0f04 addiu a1, zero, 0x5d          |     a1 = 0x5d;
    0x000a0f08 move a0, s4                   |     a0 = s4;
    0x000a0f0c move t9, s5                   |     t9 = s5;
    0x000a0f10 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a0f14 jalr t9                       |     t9 ();
    0x000a0f18 move a0, s4                   |     a0 = s4;
    0x000a0f1c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a0f20 move a3, zero                 |     a3 = 0;
    0x000a0f24 move a2, s2                   |     a2 = s2;
    0x000a0f28 move t9, s5                   |     t9 = s5;
    0x000a0f2c addiu a1, zero, 0x75          |     a1 = 0x75;
    0x000a0f30 jalr t9                       |     t9 ();
    0x000a0f34 lbu a0, 0xc7(fp)              |     a0 = *(arg_c7h);
    0x000a0f38 addiu v0, zero, 2             |     v0 = 2;
    0x000a0f3c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (a0 == v0) {
    0x000a0f40 beq a0, v0, 0xa2704           |         goto label_191;
                                             |     }
                                             | label_78:
    0x000a0f44 lw s0, 0x60(sp)               |     s0 = *(var_60h);
    0x000a0f48 lw t9, -0x7f60(gp)            |     t9 = *((gp - 8152));
    0x000a0f4c lw a1, 0x50(sp)               |     a1 = *(var_50h);
    0x000a0f50 addiu a3, zero, 0x10          |     a3 = 0x10;
    0x000a0f54 move a2, s0                   |     a2 = s0;
    0x000a0f58 move a0, fp                   |     a0 = fp;
    0x000a0f5c addiu t9, t9, 0x5410          |     t9 += 0x5410;
    0x000a0f60 sw zero, 0xec(sp)             |     *(var_ech) = 0;
    0x000a0f64 bal 0xa5410                   |     fcn_000a5410 ();
    0x000a0f68 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0f6c lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a0f70 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000a0f74 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a0f78 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a0f7c sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000a0f80 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a0f84 move a3, zero                 |     a3 = 0;
    0x000a0f88 addiu a2, zero, -1            |     a2 = -1;
    0x000a0f8c move a1, s3                   |     a1 = s3;
    0x000a0f90 addiu t9, t9, -0x5c58         |     t9 += -0x5c58;
    0x000a0f94 move a0, fp                   |     a0 = fp;
    0x000a0f98 bal 0xaa3a8                   |     fcn_000aa3a8 ();
    0x000a0f9c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a0fa0 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000a0fa4 addiu v0, v0, 0x5e54          |     v0 += 0x5e54;
    0x000a0fa8 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x000a0fac lw a1, 0x60(sp)               |     a1 = *(var_60h);
                                             | label_56:
    0x000a0fb0 lw t9, 0x40(sp)               |     t9 = *(var_40h);
    0x000a0fb4 move a0, s4                   |     a0 = s4;
    0x000a0fb8 jalr t9                       |     t9 ();
    0x000a0fbc lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_60:
    0x000a0fc0 lbu a0, 0xa5(sp)              |     a0 = *(var_a5h);
    0x000a0fc4 addiu v0, zero, 3             |     v0 = 3;
    0x000a0fc8 lw a3, -0x7fa0(gp)            |     a3 = *((gp - 8168));
                                             |     if (a0 == v0) {
    0x000a0fcc beq a0, v0, 0xa219c           |         goto label_192;
                                             |     }
                                             | label_73:
    0x000a0fd0 lw v0, 0xec(sp)               |     v0 = *(var_ech);
    0x000a0fd4 lw a1, 0x54(sp)               |     a1 = *(var_54h);
                                             |     if (v0 == 0) {
    0x000a0fd8 beqz v0, 0xa1338              |         goto label_193;
                                             |     }
    0x000a0fdc lw v0, 0xf0(sp)               |     v0 = *(var_f0h);
    0x000a0fe0 lw a3, -0x7fa0(gp)            |     a3 = *((gp - 8168));
                                             |     if (v0 <= 0) {
    0x000a0fe4 blez v0, 0xa1498              |         goto label_194;
                                             |     }
    0x000a0fe8 lw a3, -0x7fa0(gp)            |     a3 = *((gp - 8168));
    0x000a0fec addiu a3, a3, -0x5a10         |     a3 += -0x5a10;
                                             | label_53:
    0x000a0ff0 lw a2, -0x7fa0(gp)            |     a2 = *((gp - 8168));
    0x000a0ff4 lw t9, -0x7f68(gp)            |     t9 = *((gp - 8154));
    0x000a0ff8 addiu a2, a2, -0x59b4         |     a2 += -0x59b4;
    0x000a0ffc move a1, zero                 |     a1 = 0;
    0x000a1000 addiu t9, t9, -0x3668         |     t9 += -0x3668;
    0x000a1004 move a0, fp                   |     a0 = fp;
    0x000a1008 jalr t9                       |     t9 ();
    0x000a100c lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
    0x000a1010 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x000a1014 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1018 lw v1, (v1)                   |     v1 = *(v1);
    0x000a101c addiu v0, v0, -1              |     v0 += -1;
    0x000a1020 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x000a1024 sw v1, 0x38(sp)               |     *(var_38h) = v1;
    0x000a1028 lw v1, (s3)                   |     v1 = *(s3);
    0x000a102c sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x000a1030 lw v0, 0x104(sp)              |     v0 = *(var_104h);
    0x000a1034 sw v1, 0x64(sp)               |     *(var_64h) = v1;
    0x000a1038 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x000a103c lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a1040 lw a3, 0xfc(sp)               |     a3 = *(var_fch);
    0x000a1044 lw s0, 8(fp)                  |     s0 = *(arg_8h);
    0x000a1048 lbu v1, (v0)                  |     v1 = *(v0);
    0x000a104c lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x000a1050 lw s2, 0xec(sp)               |     s2 = *(var_ech);
    0x000a1054 sw v1, 0x3c(sp)               |     *(var_3ch) = v1;
    0x000a1058 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x000a105c lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
                                             |     if (a3 != 0) {
    0x000a1060 bnez a3, 0xa212c              |         goto label_195;
                                             |     }
    0x000a1064 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
                                             | label_70:
    0x000a1068 lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
    0x000a106c lw a0, 0xf4(sp)               |     a0 = *(var_f4h);
    0x000a1070 addiu v0, v1, -9              |     v0 = v1 + -9;
    0x000a1074 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x000a1078 sw a0, 0x58(sp)               |     *(var_58h) = a0;
                                             |     if (v0 != 0) {
    0x000a107c bnez v0, 0xa1398              |         goto label_196;
                                             |     }
    0x000a1080 addiu v0, zero, 0xd           |     v0 = 0xd;
    0x000a1084 lw v0, 0x34(sp)               |     v0 = *(var_34h);
                                             |     if (v1 == v0) {
    0x000a1088 beq v1, v0, 0xa139c           |         goto label_197;
                                             |     }
    0x000a108c lbu v0, 0x13(fp)              |     v0 = *(arg_13h);
    0x000a1090 addiu v0, v0, -1              |     v0 += -1;
                                             |     if (v0 == 0) {
    0x000a1094 beqz v0, 0xa26b0              |         goto label_198;
                                             |     }
    0x000a1098 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000a109c addiu a0, v0, 0x24            |     a0 = v0 + 0x24;
    0x000a10a0 sll a0, a0, 2                 |     a0 <<= 2;
    0x000a10a4 addu a0, fp, a0               |     a0 = fp + a0;
    0x000a10a8 lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
    0x000a10ac sb v0, 0x13(fp)               |     *(arg_13h) = v0;
    0x000a10b0 addiu v0, zero, 0xc           |     v0 = 0xc;
    0x000a10b4 lw a2, 4(a0)                  |     a2 = *((a0 + 1));
                                             |     if (v1 == v0) {
    0x000a10b8 beq v1, v0, 0xa267c           |         goto label_199;
                                             |     }
    0x000a10bc addiu v0, zero, 0xe           |     v0 = 0xe;
                                             |     if (v1 == v0) {
    0x000a10c0 beql v1, v0, 0xa2680          |         goto label_200;
                                             |     }
    0x000a10c4 lbu v0, 0x13(fp)              |     v0 = *(arg_13h);
    0x000a10c8 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
                                             | label_84:
    0x000a10cc lw a1, 0x38(sp)               |     a1 = *(var_38h);
    0x000a10d0 addiu t9, t9, 0x2c20          |     t9 += 0x2c20;
    0x000a10d4 move a0, fp                   |     a0 = fp;
    0x000a10d8 jalr t9                       |     t9 ();
    0x000a10dc sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a10e0 sw a2, 0x44(sp)               |     *(var_44h) = a2;
                                             | label_46:
    0x000a10e4 lw a1, (s2)                   |     a1 = *(s2);
    0x000a10e8 lbu v0, 0x10c(sp)             |     v0 = *(var_10ch);
    0x000a10ec lw a0, 0xf0(sp)               |     a0 = *(var_f0h);
    0x000a10f0 andi v0, v0, 1                |     v0 &= 1;
    0x000a10f4 subu v1, a1, a0               |     __asm ("subu v1, a1, a0");
    0x000a10f8 sw v1, 0x60(sp)               |     *(var_60h) = v1;
    0x000a10fc addiu s1, v1, 1               |     s1 = v1 + 1;
                                             |     if (v0 == 0) {
    0x000a1100 beqz v0, 0xa1f9c              |         goto label_201;
                                             |     }
    0x000a1104 lw v1, 0x2c(fp)               |     v1 = *(arg_2ch);
    0x000a1108 lw a0, 0x28(fp)               |     a0 = *(arg_28h);
    0x000a110c addiu s2, v1, 1               |     s2 = v1 + 1;
    0x000a1110 lw v0, 0xfc(sp)               |     v0 = *(var_fch);
    0x000a1114 lw v1, 0x38(sp)               |     v1 = *(var_38h);
    0x000a1118 sw a0, 0x50(sp)               |     *(var_50h) = a0;
    0x000a111c addiu a0, a0, 1               |     a0++;
    0x000a1120 sw s2, 0x2c(fp)               |     *(arg_2ch) = s2;
    0x000a1124 sw a0, 0x28(fp)               |     *(arg_28h) = a0;
    0x000a1128 addu t2, v1, s1               |     t2 = v1 + s1;
                                             |     if (v0 != 0) {
    0x000a112c bnez v0, 0xa1f1c              |         goto label_202;
                                             |     }
    0x000a1130 lw a2, 0x50(sp)               |     a2 = *(var_50h);
    0x000a1134 sw t2, 0x10(sp)               |     *(var_10h) = t2;
    0x000a1138 move a3, s2                   |     a3 = s2;
    0x000a113c addiu a1, zero, 0x74          |     a1 = 0x74;
    0x000a1140 move t9, s5                   |     t9 = s5;
    0x000a1144 move a0, s0                   |     a0 = s0;
    0x000a1148 jalr t9                       |     t9 ();
                                             | label_61:
    0x000a114c lw a3, 0x5c(sp)               |     a3 = *(var_5ch);
    0x000a1150 lw a2, 0x58(sp)               |     a2 = *(var_58h);
    0x000a1154 addiu a1, zero, 0x22          |     a1 = 0x22;
    0x000a1158 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a115c move t9, s5                   |     t9 = s5;
    0x000a1160 move a0, s0                   |     a0 = s0;
    0x000a1164 jalr t9                       |     t9 ();
    0x000a1168 lw a1, 0x10(s3)               |     a1 = *((s3 + 4));
    0x000a116c addiu v0, v0, 1               |     v0++;
    0x000a1170 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1174 sw v0, 0x70(sp)               |     *(var_70h) = v0;
                                             |     if (a1 > 0) {
    0x000a1178 blez a1, 0xa1190              |         
    0x000a117c lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
    0x000a1180 lw a2, 0x68(sp)               |         a2 = *(var_68h);
    0x000a1184 addiu t9, t9, 0x6f28          |         t9 += 0x6f28;
    0x000a1188 move a0, s0                   |         a0 = s0;
    0x000a118c jalr t9                       |         t9 ();
                                             |     }
    0x000a1190 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x000a1194 lw a2, 0x58(sp)               |     a2 = *(var_58h);
    0x000a1198 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a119c move a3, s2                   |     a3 = s2;
    0x000a11a0 addiu a1, zero, 0x7e          |     a1 = 0x7e;
    0x000a11a4 move t9, s5                   |     t9 = s5;
    0x000a11a8 move a0, s0                   |     a0 = s0;
    0x000a11ac jalr t9                       |     t9 ();
    0x000a11b0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_62:
    0x000a11b4 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x000a11b8 addiu s2, v0, -1              |     s2 = v0 + -1;
    0x000a11bc lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000a11c0 addiu s1, v0, -1              |     s1 = v0 + -1;
                                             |     if (v0 <= 0) {
    0x000a11c4 blez v0, 0xa2734              |         goto label_203;
                                             |     }
    0x000a11c8 sll a0, v0, 2                 |     a0 = v0 << 2;
    0x000a11cc addu a2, a0, v0               |     a2 = a0 + v0;
    0x000a11d0 lw v1, 0x64(sp)               |     v1 = *(var_64h);
    0x000a11d4 sll a2, a2, 2                 |     a2 <<= 2;
    0x000a11d8 move v0, v1                   |     v0 = v1;
    0x000a11dc addu a2, a2, v1               |     a2 += v1;
    0x000a11e0 lhu v1, 0x14(v0)              |     v1 = *((v0 + 10));
                                             |     if (v1 != 0) {
                                             |         do {
    0x000a11e4 beql v1, zero, 0xa11ec        |             
    0x000a11e8 addiu s2, s2, 1               |             s2++;
                                             |         }
    0x000a11ec addiu v0, v0, 0x14            |         v0 += 0x14;
    0x000a11f0 lhu v1, 0x14(v0)              |         v1 = *((v0 + 10));
    0x000a11f4 bnel a2, v0, 0xa11e4          |         
                                             |     } while (a2 == v0);
    0x000a11f8 lw v0, 0x38(sp)               |     v0 = *(var_38h);
                                             | label_89:
    0x000a11fc sw s4, 0x74(sp)               |     *(var_74h) = s4;
    0x000a1200 addu t0, a0, v0               |     t0 = a0 + v0;
    0x000a1204 lw v0, 0x64(sp)               |     v0 = *(var_64h);
    0x000a1208 sll t0, t0, 2                 |     t0 <<= 2;
    0x000a120c addu s3, v0, t0               |     s3 = v0 + t0;
    0x000a1210 sw s7, 0x64(sp)               |     *(var_64h) = s7;
    0x000a1214 move s4, s1                   |     s4 = s1;
    0x000a1218 move s7, s3                   |     s7 = s3;
    0x000a121c lw s1, 0x48(sp)               |     s1 = *(var_48h);
    0x000a1220 lw s3, 0x50(sp)               |     s3 = *(var_50h);
    0x000a1224 b 0xa1258                     |     
                                             |     while (v0 == 0) {
                                             | label_44:
    0x000a1228 addu v0, s4, s1               |         v0 = s4 + s1;
    0x000a122c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000a1230 move a2, s3                   |         a2 = s3;
    0x000a1234 addiu a1, zero, 0x5a          |         a1 = 0x5a;
    0x000a1238 move t9, s5                   |         t9 = s5;
    0x000a123c move a0, s0                   |         a0 = s0;
    0x000a1240 jalr t9                       |         t9 ();
    0x000a1244 addiu s4, s4, -1              |         s4 += -1;
    0x000a1248 addiu v0, zero, -1            |         v0 = -1;
    0x000a124c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a1250 addiu s7, s7, -0x14           |         s7 += -0x14;
                                             |         if (s4 == v0) {
    0x000a1254 beq s4, v0, 0xa1270           |             goto label_204;
                                             |         }
    0x000a1258 lhu v0, (s7)                  |         v0 = *(s7);
    0x000a125c addiu a3, v0, -1              |         a3 = v0 + -1;
    0x000a1260 bnel v0, zero, 0xa1228        |         
                                             |     }
    0x000a1264 move a3, s2                   |     a3 = s2;
    0x000a1268 addiu s2, s2, -1              |     s2 += -1;
    0x000a126c b 0xa1228                     |     goto label_44;
                                             | label_204:
    0x000a1270 lw s7, 0x64(sp)               |     s7 = *(var_64h);
    0x000a1274 lw s4, 0x74(sp)               |     s4 = *(var_74h);
    0x000a1278 lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
                                             | label_88:
    0x000a127c addiu v0, zero, 0xb           |     v0 = 0xb;
    0x000a1280 sltiu v0, v1, 0xc             |     v0 = (v1 < 0xc) ? 1 : 0;
                                             |     if (v1 == v0) {
    0x000a1284 beq v1, v0, 0xa2074           |         goto label_205;
                                             |     }
    0x000a1288 addiu v0, zero, 0xc           |     v0 = 0xc;
                                             |     if (v0 == 0) {
    0x000a128c beqz v0, 0xa1354              |         goto label_206;
                                             |     }
    0x000a1290 addiu v0, zero, 0xa           |     v0 = 0xa;
    0x000a1294 addiu v0, zero, 9             |     v0 = 9;
    0x000a1298 bne v1, v0, 0xa136c           |     
                                             |     while (1) {
                                             | label_77:
    0x000a129c lw v0, 0x44(sp)               |         v0 = *(var_44h);
    0x000a12a0 lw a1, 0x68(sp)               |         a1 = *(var_68h);
                                             |         if (v0 != 0) {
    0x000a12a4 beqz v0, 0xa12e4              |             
    0x000a12a8 lw v1, 0x3c(sp)               |             v1 = *(var_3ch);
    0x000a12ac addiu v0, zero, 0xb           |             v0 = 0xb;
    0x000a12b0 lw v1, 0x38(sp)               |             v1 = *(var_38h);
                                             |             if (v1 == v0) {
    0x000a12b4 beq v1, v0, 0xa20f8           |                 goto label_207;
                                             |             }
                                             | label_94:
    0x000a12b8 lw v0, 0x48(sp)               |             v0 = *(var_48h);
    0x000a12bc lw t9, -0x7f78(gp)            |             t9 = *((gp - 8158));
                                             |             if (v0 == 0) {
    0x000a12c0 beqz v0, 0xa2124              |                 goto label_208;
                                             |             }
    0x000a12c4 lw a1, 0x48(sp)               |             a1 = *(var_48h);
    0x000a12c8 addiu t9, t9, 0x2bf0          |             t9 += 0x2bf0;
    0x000a12cc move a0, fp                   |             a0 = fp;
    0x000a12d0 jalr t9                       |             t9 ();
                                             | label_69:
    0x000a12d4 lw a1, 0x44(sp)               |             a1 = *(var_44h);
    0x000a12d8 move a0, fp                   |             a0 = fp;
    0x000a12dc jalr t9                       |             t9 ();
                                             | label_68:
    0x000a12e0 lw a1, 0x68(sp)               |             a1 = *(var_68h);
                                             |         }
                                             | label_95:
    0x000a12e4 lw t9, 0x40(sp)               |         t9 = *(var_40h);
    0x000a12e8 move a0, s0                   |         a0 = s0;
    0x000a12ec jalr t9                       |         t9 ();
    0x000a12f0 lbu v0, 0x10c(sp)             |         v0 = *(var_10ch);
    0x000a12f4 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000a12f8 andi v0, v0, 1                |         v0 &= 1;
    0x000a12fc lw a3, 0x70(sp)               |         a3 = *(var_70h);
    0x000a1300 lw a2, 0x58(sp)               |         a2 = *(var_58h);
                                             |         if (v0 == 0) {
    0x000a1304 beqz v0, 0xa141c              |             goto label_209;
                                             |         }
    0x000a1308 addiu a1, zero, 3             |         a1 = 3;
    0x000a130c move t9, s5                   |         t9 = s5;
    0x000a1310 move a0, s0                   |         a0 = s0;
    0x000a1314 jalr t9                       |         t9 ();
    0x000a1318 lw a2, 0xf8(sp)               |         a2 = *(var_f8h);
                                             | label_50:
    0x000a131c sw zero, 0x10(sp)             |         *(var_10h) = 0;
                                             |         if (a2 == 0) {
    0x000a1320 bnel a2, zero, 0xa2058        |             goto label_210;
                                             |         }
    0x000a1324 lw a1, 0x5c(sp)               |         a1 = *(var_5ch);
                                             | label_67:
    0x000a1328 lw t9, 0x40(sp)               |         t9 = *(var_40h);
    0x000a132c move a0, s0                   |         a0 = s0;
    0x000a1330 jalr t9                       |         t9 ();
    0x000a1334 lw a1, 0x54(sp)               |         a1 = *(var_54h);
                                             | label_193:
    0x000a1338 lw t9, 0x40(sp)               |         t9 = *(var_40h);
    0x000a133c move a0, s4                   |         a0 = s4;
    0x000a1340 jalr t9                       |         t9 ();
    0x000a1344 lw v0, 0x24(fp)               |         v0 = *(arg_24h);
    0x000a1348 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a134c slt v0, zero, v0              |         v0 = (0 < v0) ? 1 : 0;
    0x000a1350 b 0xa0b00                     |         goto label_45;
                                             | label_206:
    0x000a1354 addiu v0, zero, 0xe           |         v0 = 0xe;
                                             |         if (v1 == v0) {
    0x000a1358 beq v1, v0, 0xa2214           |             goto label_211;
                                             |         }
    0x000a135c lw s1, 0x48(sp)               |         s1 = *(var_48h);
                                             |         if (v1 == v0) {
    0x000a1360 beq v1, v0, 0xa2218           |             goto label_212;
                                             |         }
    0x000a1364 lw v1, 0x3c(sp)               |         v1 = *(var_3ch);
    0x000a1368 addiu v0, zero, 9             |         v0 = 9;
    0x000a136c lw v0, 0x34(sp)               |         v0 = *(var_34h);
                                             |         if (v1 == v0) {
    0x000a1370 beq v1, v0, 0xa27f4           |             goto label_213;
                                             |         }
    0x000a1374 move a3, zero                 |         a3 = 0;
    0x000a1378 addiu a1, zero, 0xe           |         a1 = 0xe;
    0x000a137c lw a2, 4(v0)                  |         a2 = *((v0 + 1));
    0x000a1380 move a0, s0                   |         a0 = s0;
    0x000a1384 move t9, s5                   |         t9 = s5;
    0x000a1388 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000a138c jalr t9                       |         t9 ();
    0x000a1390 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a1394 b 0xa129c                     |         
                                             |     }
                                             | label_196:
    0x000a1398 lw v0, 0x34(sp)               |     v0 = *(var_34h);
                                             | label_197:
    0x000a139c lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x000a13a0 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a13a4 b 0xa10e4                     |     goto label_46;
                                             | label_169:
    0x000a13a8 lw v0, 0x2c(s3)               |     v0 = *((s3 + 11));
    0x000a13ac addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 != 0) {
    0x000a13b0 bnez v0, 0xa05e8              |         goto label_47;
                                             |     }
    0x000a13b4 lw a1, 0x13c(sp)              |     a1 = *(var_13ch);
                                             |     if (a0 != v0) {
    0x000a13b8 bne a0, v0, 0xa05e8           |         goto label_47;
                                             |     }
    0x000a13bc lw v0, (a1)                   |     v0 = *(a1);
    0x000a13c0 lw a3, 0x14(v0)               |     a3 = *((v0 + 5));
    0x000a13c4 move s0, zero                 |     s0 = 0;
                                             |     if (a3 == 0) {
    0x000a13c8 beqz a3, 0xa05f4              |         goto label_48;
                                             |     }
    0x000a13cc lw s1, (a3)                   |     s1 = *(a3);
    0x000a13d0 sw s2, 0x68(sp)               |     *(var_68h) = s2;
                                             |     if (s1 == a0) {
    0x000a13d4 bnel s1, a0, 0xa05f8          |         goto label_49;
                                             |     }
    0x000a13d8 lw t1, 8(v0)                  |     t1 = *((v0 + 2));
    0x000a13dc lw a0, -0x7fa0(gp)            |     a0 = *((gp - 8168));
    0x000a13e0 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000a13e4 move t4, t1                   |     t4 = t1;
    0x000a13e8 addiu a0, a0, -0x5a48         |     a0 += -0x5a48;
    0x000a13ec addiu v0, v0, -0x6d34         |     v0 += -0x6d34;
                                             |     do {
    0x000a13f0 lbu v1, (t4)                  |         v1 = *(t4);
    0x000a13f4 lbu a2, (a0)                  |         a2 = *(a0);
                                             |         if (v1 == a2) {
    0x000a13f8 beq v1, a2, 0xa2824           |             goto label_214;
                                             |         }
    0x000a13fc nop                           |         
    0x000a1400 lbux v1, v1(v0)               |         __asm ("lbux v1, v1(v0)");
    0x000a1404 lbux a2, a2(v0)               |         __asm ("lbux a2, a2(v0)");
    0x000a1408 lw a0, -0x7fa0(gp)            |         a0 = *((gp - 8168));
                                             |         if (v1 == a2) {
    0x000a140c bnel v1, a2, 0xa2b58          |             goto label_215;
                                             |         }
    0x000a1410 addiu t4, t4, 1               |         t4++;
                                             | label_96:
    0x000a1414 addiu a0, a0, 1               |         a0++;
    0x000a1418 b 0xa13f0                     |         
                                             |     } while (1);
                                             | label_209:
    0x000a141c addiu a1, zero, 5             |     a1 = 5;
    0x000a1420 move t9, s5                   |     t9 = s5;
    0x000a1424 move a0, s0                   |     a0 = s0;
    0x000a1428 jalr t9                       |     t9 ();
    0x000a142c lw a2, 0xf8(sp)               |     a2 = *(var_f8h);
    0x000a1430 b 0xa131c                     |     goto label_50;
                                             | label_158:
    0x000a1434 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a1438 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000a143c sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a1440 addiu t9, t9, 0x6908          |     t9 += 0x6908;
    0x000a1444 addiu a2, zero, -1            |     a2 = -1;
    0x000a1448 jalr t9                       |     t9 ();
    0x000a144c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1450 lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (v0 == 0) {
    0x000a1454 beqz v0, 0xa261c              |         goto label_216;
                                             |     }
    0x000a1458 lw a0, 0xec(sp)               |     a0 = *(var_ech);
    0x000a145c b 0xa02d8                     |     goto label_51;
                                             | label_160:
    0x000a1460 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a1464 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a1468 lw a3, (v0)                   |     a3 = *(v0);
    0x000a146c lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a1470 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a1474 addiu a1, zero, 0x71          |     a1 = 0x71;
    0x000a1478 lw a2, 4(v0)                  |     a2 = *((v0 + 1));
    0x000a147c move a0, s4                   |     a0 = s4;
    0x000a1480 move t9, s5                   |     t9 = s5;
    0x000a1484 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1488 jalr t9                       |     t9 ();
    0x000a148c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1490 lw t2, 0x40(sp)               |     t2 = *(var_40h);
    0x000a1494 b 0xa0394                     |     goto label_52;
                                             | label_194:
    0x000a1498 addiu a3, a3, -0x59f8         |     a3 += -0x59f8;
    0x000a149c b 0xa0ff0                     |     goto label_53;
                                             | label_177:
    0x000a14a0 move s1, s2                   |     s1 = s2;
    0x000a14a4 move s4, s3                   |     s4 = s3;
    0x000a14a8 lw s0, 0x48(sp)               |     s0 = *(var_48h);
    0x000a14ac lw s3, 0x5c(sp)               |     s3 = *(var_5ch);
    0x000a14b0 lw s2, 0x94(sp)               |     s2 = *(var_94h);
                                             | label_175:
    0x000a14b4 lbu v0, 0x13(fp)              |     v0 = *(arg_13h);
    0x000a14b8 addiu v0, v0, -1              |     v0 += -1;
                                             |     if (v0 == 0) {
    0x000a14bc beqz v0, 0xa26f4              |         goto label_217;
                                             |     }
    0x000a14c0 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000a14c4 addiu a0, v0, 0x24            |     a0 = v0 + 0x24;
    0x000a14c8 sll a0, a0, 2                 |     a0 <<= 2;
    0x000a14cc addu a0, fp, a0               |     a0 = fp + a0;
    0x000a14d0 sb v0, 0x13(fp)               |     *(arg_13h) = v0;
    0x000a14d4 lw v1, 4(a0)                  |     v1 = *((a0 + 1));
                                             | label_85:
    0x000a14d8 move a3, s0                   |     a3 = s0;
    0x000a14dc move a2, s1                   |     a2 = s1;
    0x000a14e0 addiu a1, zero, 0x5c          |     a1 = 0x5c;
    0x000a14e4 move a0, s4                   |     a0 = s4;
    0x000a14e8 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x000a14ec move t9, s5                   |     t9 = s5;
    0x000a14f0 sw v1, 0x40(sp)               |     *(var_40h) = v1;
    0x000a14f4 jalr t9                       |     t9 ();
    0x000a14f8 lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x000a14fc lw a2, 0x118(sp)              |     a2 = *(var_118h);
    0x000a1500 move a3, v1                   |     a3 = v1;
    0x000a1504 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1508 addiu a1, zero, 0x83          |     a1 = 0x83;
    0x000a150c move t9, s5                   |     t9 = s5;
    0x000a1510 move a0, s4                   |     a0 = s4;
    0x000a1514 jalr t9                       |     t9 ();
    0x000a1518 lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x000a151c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v1 != 0) {
    0x000a1520 beqz v1, 0xa153c              |         
    0x000a1524 lw t9, -0x7f78(gp)            |         t9 = *((gp - 8158));
    0x000a1528 move a1, v1                   |         a1 = v1;
    0x000a152c addiu t9, t9, 0x2bf0          |         t9 += 0x2bf0;
    0x000a1530 move a0, fp                   |         a0 = fp;
    0x000a1534 jalr t9                       |         t9 ();
    0x000a1538 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a153c addiu v0, zero, 1             |     v0 = 1;
    0x000a1540 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
                                             |     if (s0 == v0) {
    0x000a1544 beq s0, v0, 0xa276c           |         goto label_218;
                                             |     }
    0x000a1548 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x000a154c slt v0, v0, s0                |     v0 = (v0 < s0) ? 1 : 0;
    0x000a1550 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
                                             |     if (v0 != 0) {
    0x000a1554 beqz v0, 0xa1564              |         
    0x000a1558 sw s0, 0x1c(fp)               |         *(arg_1ch) = s0;
    0x000a155c sw s1, 0x20(fp)               |         *(arg_20h) = s1;
                                             | label_92:
    0x000a1560 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
                                             |     }
    0x000a1564 addiu t9, t9, 0x7fd4          |     t9 += 0x7fd4;
    0x000a1568 lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x000a156c jalr t9                       |     t9 ();
    0x000a1570 lw v1, 0x28(fp)               |     v1 = *(arg_28h);
    0x000a1574 lbu v0, 0x13(fp)              |     v0 = *(arg_13h);
    0x000a1578 addiu a0, v1, 1               |     a0 = v1 + 1;
    0x000a157c sw v1, 0x40(sp)               |     *(var_40h) = v1;
    0x000a1580 sw a0, 0x28(fp)               |     *(arg_28h) = a0;
    0x000a1584 sw v1, 0x11c(sp)              |     *(var_11ch) = v1;
                                             |     if (v0 == 0) {
    0x000a1588 beqz v0, 0xa2748              |         goto label_219;
                                             |     }
    0x000a158c addiu v0, v0, -1              |     v0 += -1;
    0x000a1590 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000a1594 addiu a0, v0, 0x24            |     a0 = v0 + 0x24;
    0x000a1598 sll a0, a0, 2                 |     a0 <<= 2;
    0x000a159c addu a0, fp, a0               |     a0 = fp + a0;
    0x000a15a0 sb v0, 0x13(fp)               |     *(arg_13h) = v0;
    0x000a15a4 lw t2, 4(a0)                  |     t2 = *((a0 + 1));
                                             | label_90:
    0x000a15a8 lw a2, 0x40(sp)               |     a2 = *(var_40h);
    0x000a15ac move a3, t2                   |     a3 = t2;
    0x000a15b0 sw t2, 0x48(sp)               |     *(var_48h) = t2;
    0x000a15b4 addiu a1, zero, 0x74          |     a1 = 0x74;
    0x000a15b8 move a0, s4                   |     a0 = s4;
    0x000a15bc move t9, s5                   |     t9 = s5;
    0x000a15c0 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x000a15c4 jalr t9                       |     t9 ();
    0x000a15c8 lw a2, 0x118(sp)              |     a2 = *(var_118h);
    0x000a15cc lw a3, 0x60(sp)               |     a3 = *(var_60h);
    0x000a15d0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a15d4 addiu a1, zero, 0x22          |     a1 = 0x22;
    0x000a15d8 move t9, s5                   |     t9 = s5;
    0x000a15dc move a0, s4                   |     a0 = s4;
    0x000a15e0 jalr t9                       |     t9 ();
    0x000a15e4 addiu v0, zero, 1             |     v0 = 1;
    0x000a15e8 sb v0, 0x115(sp)              |     *(var_115h) = v0;
    0x000a15ec lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x000a15f0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a15f4 lw t2, 0x48(sp)               |     t2 = *(var_48h);
                                             |     if (v0 != 0) {
    0x000a15f8 beqz v0, 0xa160c              |         
    0x000a15fc lhu v0, 0x4c(s7)              |         v0 = *((s7 + 38));
    0x000a1600 andi v0, v0, 4                |         v0 &= 4;
    0x000a1604 lw t9, -0x7f78(gp)            |         t9 = *((gp - 8158));
                                             |         if (v0 == 0) {
    0x000a1608 beqz v0, 0xa16e0              |             goto label_220;
                                             |         }
                                             |     }
    0x000a160c lw v0, 0x6c(s4)               |     v0 = *((s4 + 27));
    0x000a1610 sw v0, 0x48(sp)               |     *(var_48h) = v0;
                                             | label_55:
    0x000a1614 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x000a1618 lw a2, 0x118(sp)              |     a2 = *(var_118h);
    0x000a161c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a1620 move a3, t2                   |     a3 = t2;
    0x000a1624 addiu a1, zero, 0x7e          |     a1 = 0x7e;
    0x000a1628 move t9, s5                   |     t9 = s5;
    0x000a162c move a0, s4                   |     a0 = s4;
    0x000a1630 jalr t9                       |     t9 ();
    0x000a1634 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000a1638 addiu v1, zero, 1             |     v1 = 1;
    0x000a163c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1640 lw v0, (v0)                   |     v0 = *(v0);
    0x000a1644 sw v1, 0x58(sp)               |     *(var_58h) = v1;
                                             | label_79:
    0x000a1648 lw v1, 0x38(sp)               |     v1 = *(var_38h);
                                             |     if (v0 <= 0) {
    0x000a164c blez v0, 0xa1718              |         goto label_221;
                                             |     }
    0x000a1650 lw v0, -0x7f60(gp)            |     v0 = *((gp - 8152));
    0x000a1654 addiu s0, v1, 4               |     s0 = v1 + 4;
    0x000a1658 move s1, zero                 |     s1 = 0;
    0x000a165c addiu v0, v0, 0x71b8          |     v0 += 0x71b8;
    0x000a1660 sw s7, 0x94(sp)               |     *(var_94h) = s7;
    0x000a1664 sw s3, 0x98(sp)               |     *(var_98h) = s3;
    0x000a1668 sw s2, 0x9c(sp)               |     *(var_9ch) = s2;
    0x000a166c move s3, s1                   |     s3 = s1;
    0x000a1670 move s2, s0                   |     s2 = s0;
    0x000a1674 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x000a1678 move s7, v1                   |     s7 = v1;
    0x000a167c lw s1, 0x7c(sp)               |     s1 = *(var_7ch);
    0x000a1680 lw s0, 0x58(sp)               |     s0 = *(var_58h);
    0x000a1684 b 0xa16b8                     |     
                                             |     while (s0 != 0) {
    0x000a1688 sw a2, 0x10(sp)               |         *(var_10h) = a2;
    0x000a168c lw a2, 0x40(sp)               |         a2 = *(var_40h);
    0x000a1690 move a3, s3                   |         a3 = s3;
    0x000a1694 addiu a1, zero, 0x5a          |         a1 = 0x5a;
    0x000a1698 move t9, s5                   |         t9 = s5;
    0x000a169c move a0, s4                   |         a0 = s4;
    0x000a16a0 jalr t9                       |         t9 ();
    0x000a16a4 lw v0, (s7)                   |         v0 = *(s7);
                                             | label_54:
    0x000a16a8 addiu s3, s3, 1               |         s3++;
    0x000a16ac slt a0, s3, v0                |         a0 = (s3 < v0) ? 1 : 0;
    0x000a16b0 addiu s2, s2, 0x14            |         s2 += 0x14;
                                             |         if (a0 == 0) {
    0x000a16b4 beqz a0, 0xa170c              |             goto label_222;
                                             |         }
    0x000a16b8 addu a2, s1, s3               |         a2 = s1 + s3;
    0x000a16bc bnez s0, 0xa1688              |         
                                             |     }
    0x000a16c0 addiu v0, zero, 1             |     v0 = 1;
    0x000a16c4 sb v0, 0x114(sp)              |     *(var_114h) = v0;
    0x000a16c8 lw a1, (s2)                   |     a1 = *(s2);
    0x000a16cc lw t9, 0x5c(sp)               |     t9 = *(var_5ch);
    0x000a16d0 move a0, fp                   |     a0 = fp;
    0x000a16d4 jalr t9                       |     t9 ();
    0x000a16d8 lw v0, (s7)                   |     v0 = *(s7);
    0x000a16dc b 0xa16a8                     |     goto label_54;
                                             | label_220:
    0x000a16e0 lw a0, (s4)                   |     a0 = *(s4);
    0x000a16e4 lw a2, 0x100(sp)              |     a2 = *(var_100h);
    0x000a16e8 sw t2, 0x58(sp)               |     *(var_58h) = t2;
    0x000a16ec addiu a1, s4, 0x68            |     a1 = s4 + 0x68;
    0x000a16f0 addiu t9, t9, 0x5038          |     t9 += 0x5038;
    0x000a16f4 sw zero, 0xec(sp)             |     *(var_ech) = 0;
    0x000a16f8 jalr t9                       |     t9 ();
    0x000a16fc lw v0, 0x6c(s4)               |     v0 = *((s4 + 27));
    0x000a1700 lw t2, 0x58(sp)               |     t2 = *(var_58h);
    0x000a1704 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a1708 b 0xa1614                     |     goto label_55;
                                             | label_222:
    0x000a170c lw s7, 0x94(sp)               |     s7 = *(var_94h);
    0x000a1710 lw s3, 0x98(sp)               |     s3 = *(var_98h);
    0x000a1714 lw s2, 0x9c(sp)               |     s2 = *(var_9ch);
                                             | label_221:
    0x000a1718 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x000a171c lw s0, 0x88(sp)               |     s0 = *(var_88h);
                                             |     if (v1 != 0) {
    0x000a1720 beqz v1, 0xa1734              |         
    0x000a1724 lw a0, (v1)                   |         a0 = *(v1);
    0x000a1728 addiu a0, a0, 1               |         a0++;
    0x000a172c sw a0, (v1)                   |         *(v1) = a0;
    0x000a1730 lw s0, 0x88(sp)               |         s0 = *(var_88h);
                                             |     }
    0x000a1734 lw a3, 0x7c(sp)               |     a3 = *(var_7ch);
    0x000a1738 move a2, s0                   |     a2 = s0;
    0x000a173c addiu a1, zero, 0x57          |     a1 = 0x57;
    0x000a1740 move a0, s4                   |     a0 = s4;
    0x000a1744 move t9, s5                   |     t9 = s5;
    0x000a1748 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a174c jalr t9                       |     t9 ();
    0x000a1750 lw a2, 0x84(sp)               |     a2 = *(var_84h);
    0x000a1754 lw t9, 0x90(sp)               |     t9 = *(var_90h);
    0x000a1758 move a1, v0                   |     a1 = v0;
    0x000a175c addiu a3, zero, -9            |     a3 = -9;
    0x000a1760 move a0, s4                   |     a0 = s4;
    0x000a1764 jalr t9                       |     t9 ();
    0x000a1768 lw s1, 0x6c(s4)               |     s1 = *((s4 + 27));
    0x000a176c move a3, zero                 |     a3 = 0;
    0x000a1770 addiu v0, s1, 1               |     v0 = s1 + 1;
    0x000a1774 move a2, v0                   |     a2 = v0;
    0x000a1778 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x000a177c move a0, s4                   |     a0 = s4;
    0x000a1780 move t9, s5                   |     t9 = s5;
    0x000a1784 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a1788 jalr t9                       |     t9 ();
    0x000a178c lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000a1790 lw a0, 8(fp)                  |     a0 = *(arg_8h);
    0x000a1794 lw a2, 0x7c(sp)               |     a2 = *(var_7ch);
    0x000a1798 lw v0, (v0)                   |     v0 = *(v0);
    0x000a179c move a3, s0                   |     a3 = s0;
    0x000a17a0 addiu a1, zero, 0x4d          |     a1 = 0x4d;
    0x000a17a4 move t9, s5                   |     t9 = s5;
    0x000a17a8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a17ac jalr t9                       |     t9 ();
    0x000a17b0 lw a3, 0x78(sp)               |     a3 = *(var_78h);
    0x000a17b4 lw a2, 0x64(sp)               |     a2 = *(var_64h);
    0x000a17b8 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x000a17bc move a0, s4                   |     a0 = s4;
    0x000a17c0 move t9, s5                   |     t9 = s5;
    0x000a17c4 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a17c8 jalr t9                       |     t9 ();
    0x000a17cc lw a3, 0x60(sp)               |     a3 = *(var_60h);
    0x000a17d0 lw a2, 0x80(sp)               |     a2 = *(var_80h);
    0x000a17d4 addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x000a17d8 move a0, s4                   |     a0 = s4;
    0x000a17dc move t9, s5                   |     t9 = s5;
    0x000a17e0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a17e4 jalr t9                       |     t9 ();
    0x000a17e8 lw a3, 0x74(sp)               |     a3 = *(var_74h);
    0x000a17ec lw a2, 0x6c(sp)               |     a2 = *(var_6ch);
    0x000a17f0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a17f4 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x000a17f8 move t9, s5                   |     t9 = s5;
    0x000a17fc move a0, s4                   |     a0 = s4;
    0x000a1800 jalr t9                       |     t9 ();
    0x000a1804 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1808 lw v0, 0x6c(s4)               |     v0 = *((s4 + 27));
                                             |     if (s1 < 0) {
    0x000a180c bgez s1, 0xa1814              |         
    0x000a1810 addiu s1, v0, -1              |         s1 = v0 + -1;
                                             |     }
    0x000a1814 lw a0, (s4)                   |     a0 = *(s4);
    0x000a1818 lbu a0, 0x51(a0)              |     a0 = *((a0 + 81));
    0x000a181c lw s1, -0x7fe4(gp)            |     s1 = *((gp - 8185));
                                             |     if (a0 == 0) {
    0x000a1820 bnel a0, zero, 0xa21f8        |         goto label_223;
                                             |     }
    0x000a1824 addiu a1, zero, 0x14          |     a1 = 0x14;
    0x000a1828 mul v1, s1, a1                |     __asm ("mul v1, s1, a1");
    0x000a182c lw a0, 0x68(s4)               |     a0 = *((s4 + 26));
    0x000a1830 addu s1, v1, a0               |     s1 = v1 + a0;
                                             | label_75:
    0x000a1834 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a1838 lw s0, 0x68(sp)               |     s0 = *(var_68h);
    0x000a183c move a2, s2                   |     a2 = s2;
    0x000a1840 move a1, s0                   |     a1 = s0;
    0x000a1844 move a0, fp                   |     a0 = fp;
    0x000a1848 addiu t9, t9, -0x67c0         |     t9 += -0x67c0;
    0x000a184c sw v0, 8(s1)                  |     *((s1 + 2)) = v0;
    0x000a1850 bal 0xa9840                   |     fcn_000a9840 ();
    0x000a1854 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1858 move a3, s0                   |     a3 = s0;
    0x000a185c addiu a2, zero, 1             |     a2 = 1;
    0x000a1860 addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a1864 move t9, s5                   |     t9 = s5;
    0x000a1868 move a0, s4                   |     a0 = s4;
    0x000a186c jalr t9                       |     t9 ();
    0x000a1870 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x000a1874 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a1878 beqz v0, 0xa21c4              |         goto label_224;
                                             |     }
    0x000a187c lw a2, 0x118(sp)              |     a2 = *(var_118h);
    0x000a1880 lw a3, 0x48(sp)               |     a3 = *(var_48h);
    0x000a1884 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1888 addiu a1, zero, 3             |     a1 = 3;
    0x000a188c move t9, s5                   |     t9 = s5;
    0x000a1890 move a0, s4                   |     a0 = s4;
    0x000a1894 jalr t9                       |     t9 ();
    0x000a1898 lw s0, 0x64(sp)               |     s0 = *(var_64h);
                                             | label_74:
    0x000a189c lw a3, 0x78(sp)               |     a3 = *(var_78h);
    0x000a18a0 move a2, s0                   |     a2 = s0;
    0x000a18a4 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x000a18a8 move a0, s4                   |     a0 = s4;
    0x000a18ac move t9, s5                   |     t9 = s5;
    0x000a18b0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a18b4 jalr t9                       |     t9 ();
    0x000a18b8 lw a3, 0x60(sp)               |     a3 = *(var_60h);
    0x000a18bc move a2, zero                 |     a2 = 0;
    0x000a18c0 addiu a1, zero, 0xb           |     a1 = 0xb;
    0x000a18c4 move a0, s4                   |     a0 = s4;
    0x000a18c8 move t9, s5                   |     t9 = s5;
    0x000a18cc sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a18d0 jalr t9                       |     t9 ();
    0x000a18d4 lw a3, 0x80(sp)               |     a3 = *(var_80h);
    0x000a18d8 lw s1, 0x6c(s4)               |     s1 = *((s4 + 27));
    0x000a18dc addiu a2, zero, 1             |     a2 = 1;
    0x000a18e0 addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a18e4 move a0, s4                   |     a0 = s4;
    0x000a18e8 move t9, s5                   |     t9 = s5;
    0x000a18ec sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a18f0 jalr t9                       |     t9 ();
    0x000a18f4 move a2, s0                   |     a2 = s0;
    0x000a18f8 move a3, zero                 |     a3 = 0;
    0x000a18fc sw s0, 0x64(sp)               |     *(var_64h) = s0;
    0x000a1900 addiu a1, zero, 0x42          |     a1 = 0x42;
    0x000a1904 move a0, s4                   |     a0 = s4;
    0x000a1908 move t9, s5                   |     t9 = s5;
    0x000a190c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1910 jalr t9                       |     t9 ();
    0x000a1914 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1918 lw a1, 0x78(sp)               |     a1 = *(var_78h);
    0x000a191c move a0, s4                   |     a0 = s4;
    0x000a1920 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000a1924 addiu t9, v0, 0x5e54          |     t9 = v0 + 0x5e54;
    0x000a1928 sw t9, 0x40(sp)               |     *(var_40h) = t9;
    0x000a192c jalr t9                       |     t9 ();
    0x000a1930 lw s0, 0x6c(s4)               |     s0 = *((s4 + 27));
    0x000a1934 lw a2, 0x68(sp)               |     a2 = *(var_68h);
    0x000a1938 addiu a3, s0, 2               |     a3 = s0 + 2;
    0x000a193c addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x000a1940 move a0, s4                   |     a0 = s4;
    0x000a1944 move t9, s5                   |     t9 = s5;
    0x000a1948 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a194c jalr t9                       |     t9 ();
    0x000a1950 lw a2, 0x64(sp)               |     a2 = *(var_64h);
    0x000a1954 move a3, zero                 |     a3 = 0;
    0x000a1958 addiu a1, zero, 0x42          |     a1 = 0x42;
    0x000a195c move a0, s4                   |     a0 = s4;
    0x000a1960 move t9, s5                   |     t9 = s5;
    0x000a1964 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1968 jalr t9                       |     t9 ();
    0x000a196c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1970 lw a1, 0x13c(sp)              |     a1 = *(var_13ch);
    0x000a1974 lw a0, 8(fp)                  |     a0 = *(arg_8h);
    0x000a1978 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a197c addiu t9, t9, 0x6398          |     t9 += 0x6398;
    0x000a1980 addiu a2, sp, 0x140           |     a2 = sp + aav.0x00000140;
    0x000a1984 jalr t9                       |     t9 ();
    0x000a1988 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a198c addiu s0, s0, 1               |     s0++;
    0x000a1990 lw a1, 0x50(sp)               |     a1 = *(var_50h);
    0x000a1994 lw t9, -0x7f60(gp)            |     t9 = *((gp - 8152));
    0x000a1998 addiu a3, zero, 0x10          |     a3 = 0x10;
    0x000a199c move a2, s0                   |     a2 = s0;
    0x000a19a0 addiu t9, t9, 0x5410          |     t9 += 0x5410;
    0x000a19a4 move a0, fp                   |     a0 = fp;
    0x000a19a8 bal 0xa5410                   |     fcn_000a5410 ();
    0x000a19ac lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a19b0 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a19b4 addiu a3, sp, 0xec            |     a3 = sp + 0xec;
    0x000a19b8 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a19bc sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a19c0 addiu v0, sp, 0xa4            |     v0 = sp + 0xa4;
    0x000a19c4 addiu a2, zero, -1            |     a2 = -1;
    0x000a19c8 move a1, s3                   |     a1 = s3;
    0x000a19cc move a0, fp                   |     a0 = fp;
    0x000a19d0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a19d4 addiu t9, t9, -0x5c58         |     t9 += -0x5c58;
    0x000a19d8 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000a19dc sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000a19e0 bal 0xaa3a8                   |     fcn_000aa3a8 ();
    0x000a19e4 lw a2, 0x64(sp)               |     a2 = *(var_64h);
    0x000a19e8 move a3, zero                 |     a3 = 0;
    0x000a19ec addiu a1, zero, 0x42          |     a1 = 0x42;
    0x000a19f0 move a0, s4                   |     a0 = s4;
    0x000a19f4 move t9, s5                   |     t9 = s5;
    0x000a19f8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a19fc jalr t9                       |     t9 ();
    0x000a1a00 lw a1, 0x74(sp)               |     a1 = *(var_74h);
    0x000a1a04 lw t9, 0x40(sp)               |     t9 = *(var_40h);
    0x000a1a08 move a0, s4                   |     a0 = s4;
    0x000a1a0c jalr t9                       |     t9 ();
    0x000a1a10 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1a14 move a1, s2                   |     a1 = s2;
    0x000a1a18 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a1a1c addiu t9, t9, 0x3f10          |     t9 += 0x3f10;
    0x000a1a20 move a0, fp                   |     a0 = fp;
    0x000a1a24 jalr t9                       |     t9 ();
    0x000a1a28 lw a3, 0x68(sp)               |     a3 = *(var_68h);
    0x000a1a2c move a2, zero                 |     a2 = 0;
    0x000a1a30 addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a1a34 move a0, s4                   |     a0 = s4;
    0x000a1a38 move t9, s5                   |     t9 = s5;
    0x000a1a3c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1a40 jalr t9                       |     t9 ();
    0x000a1a44 lw a2, 0x6c(sp)               |     a2 = *(var_6ch);
    0x000a1a48 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1a4c move a3, zero                 |     a3 = 0;
    0x000a1a50 addiu a1, zero, 0x42          |     a1 = 0x42;
    0x000a1a54 move t9, s5                   |     t9 = s5;
    0x000a1a58 move a0, s4                   |     a0 = s4;
    0x000a1a5c jalr t9                       |     t9 ();
    0x000a1a60 lw a1, 0x60(sp)               |     a1 = *(var_60h);
    0x000a1a64 b 0xa0fb0                     |     goto label_56;
                                             | label_162:
    0x000a1a68 addiu v0, v0, -0x34c4         |     v0 += -0x34c4;
    0x000a1a6c b 0xa0410                     |     goto label_57;
                                             | label_165:
    0x000a1a70 lbu v1, 0xa4(sp)              |     v1 = *(var_a4h);
    0x000a1a74 lw v0, 8(s3)                  |     v0 = *((s3 + 2));
    0x000a1a78 sltu v1, zero, v1             |     v1 = (0 < v1) ? 1 : 0;
    0x000a1a7c sll v1, v1, 8                 |     v1 <<= 8;
    0x000a1a80 andi v0, v0, 0x4000           |     v0 &= aav.0x00004000;
    0x000a1a84 lw s0, 0x44(s3)               |     s0 = *((s3 + 17));
    0x000a1a88 or v0, v1, v0                 |     v0 = v1 | v0;
    0x000a1a8c sw v0, 0x48(sp)               |     *(var_48h) = v0;
                                             |     if (s0 == 0) {
    0x000a1a90 beqz s0, 0xa1d4c              |         goto label_98;
                                             |     }
    0x000a1a94 lw s1, 8(fp)                  |     s1 = *(arg_8h);
    0x000a1a98 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
                                             |     if (s1 != 0) {
    0x000a1a9c bnel s1, zero, 0xa1ac4        |         
    0x000a1aa0 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
    0x000a1aa4 sw t2, 0x38(sp)               |         *(var_38h) = t2;
    0x000a1aa8 addiu t9, t9, 0x6350          |         t9 += 0x6350;
    0x000a1aac move a0, fp                   |         a0 = fp;
    0x000a1ab0 jalr t9                       |         t9 ();
    0x000a1ab4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a1ab8 lw t2, 0x38(sp)               |         t2 = *(var_38h);
    0x000a1abc move s1, v0                   |         s1 = v0;
    0x000a1ac0 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
                                             |     }
    0x000a1ac4 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
                                             |     if (v0 == 0) {
    0x000a1ac8 beqz v0, 0xa2764              |         goto label_225;
                                             |     }
    0x000a1acc lw a1, 0x2c(fp)               |     a1 = *(arg_2ch);
    0x000a1ad0 lw v0, (v0)                   |     v0 = *(v0);
    0x000a1ad4 addiu a3, a1, 1               |     a3 = a1 + 1;
    0x000a1ad8 addu a0, v0, a3               |     a0 = v0 + a3;
    0x000a1adc addiu a0, a0, -1              |     a0 += -1;
    0x000a1ae0 addu v0, v0, a1               |     v0 += a1;
    0x000a1ae4 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a1ae8 sw a3, 0x40(s0)               |     *((s0 + 16)) = a3;
    0x000a1aec sw t2, 0x38(sp)               |     *(var_38h) = t2;
    0x000a1af0 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x000a1af4 move a2, zero                 |     a2 = 0;
    0x000a1af8 sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x000a1afc addiu a1, zero, 0x49          |     a1 = 0x49;
    0x000a1b00 move t9, s5                   |     t9 = s5;
    0x000a1b04 move a0, s1                   |     a0 = s1;
    0x000a1b08 jalr t9                       |     t9 ();
    0x000a1b0c lw t2, 0x38(sp)               |     t2 = *(var_38h);
                                             | label_91:
    0x000a1b10 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x000a1b14 sw t2, 0x38(sp)               |     *(var_38h) = t2;
    0x000a1b18 addiu v0, v0, 1               |     v0++;
    0x000a1b1c sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x000a1b20 addiu a2, zero, 1             |     a2 = 1;
    0x000a1b24 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
    0x000a1b28 move a3, v0                   |     a3 = v0;
    0x000a1b2c addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a1b30 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1b34 move t9, s5                   |     t9 = s5;
    0x000a1b38 move a0, s1                   |     a0 = s1;
    0x000a1b3c jalr t9                       |     t9 ();
    0x000a1b40 lbu v0, 0x14(s0)              |     v0 = *((s0 + 20));
    0x000a1b44 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1b48 lw t2, 0x38(sp)               |     t2 = *(var_38h);
                                             |     if (v0 != 0) {
    0x000a1b4c bnez v0, 0xa28b0              |         goto label_226;
                                             |     }
    0x000a1b50 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000a1b54 move s2, s0                   |     s2 = s0;
    0x000a1b58 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x000a1b5c lw v0, -0x7f70(gp)            |     v0 = *((gp - 8156));
    0x000a1b60 sw t2, 0x60(sp)               |     *(var_60h) = t2;
    0x000a1b64 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x000a1b68 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000a1b6c addiu v0, v0, -0x7154         |     v0 += -0x7154;
    0x000a1b70 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x000a1b74 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000a1b78 addiu v0, v0, -0x7160         |     v0 += -0x7160;
    0x000a1b7c sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x000a1b80 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000a1b84 addiu v0, v0, -0x716c         |     v0 += -0x716c;
    0x000a1b88 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x000a1b8c move v0, s3                   |     v0 = s3;
    0x000a1b90 move s3, fp                   |     s3 = fp;
    0x000a1b94 move fp, v0                   |     fp = v0;
    0x000a1b98 b 0xa1c88                     |     
                                             |     while (v0 == 0) {
    0x000a1b9c addiu v0, zero, 0x57          |         v0 = 0x57;
                                             |         if (a1 == v0) {
    0x000a1ba0 beql a1, v0, 0xa1ca0          |             goto label_227;
                                             |         }
    0x000a1ba4 lw v0, 0x20(a0)               |         v0 = *((a0 + 8));
    0x000a1ba8 lw v0, 0x44(s2)               |         v0 = *((s2 + 17));
    0x000a1bac move a3, zero                 |         a3 = 0;
    0x000a1bb0 move a2, zero                 |         a2 = 0;
    0x000a1bb4 lw a1, 0x14(v0)               |         a1 = *((v0 + 5));
    0x000a1bb8 lw v0, 0x58(sp)               |         v0 = *(var_58h);
    0x000a1bbc addiu t9, v0, 0x1eb4          |         t9 = v0 + 0x1eb4;
    0x000a1bc0 move a0, s3                   |         a0 = s3;
    0x000a1bc4 jalr t9                       |         t9 ();
    0x000a1bc8 lw a0, 0x2c(s3)               |         a0 = *((s3 + 11));
    0x000a1bcc lw a1, 0x28(s3)               |         a1 = *((s3 + 10));
    0x000a1bd0 addiu a2, a0, 1               |         a2 = a0 + 1;
    0x000a1bd4 addiu a3, a1, 1               |         a3 = a1 + 1;
    0x000a1bd8 addiu a0, a0, 3               |         a0 += 3;
    0x000a1bdc sw a3, 0x28(s3)               |         *((s3 + 10)) = a3;
    0x000a1be0 move t0, v0                   |         t0 = v0;
    0x000a1be4 sw a1, 0x38(s2)               |         *((s2 + 14)) = a1;
    0x000a1be8 sw a2, 0x3c(s2)               |         *((s2 + 15)) = a2;
    0x000a1bec sw a0, 0x2c(s3)               |         *((s3 + 11)) = a0;
                                             |         if (v0 != 0) {
    0x000a1bf0 beqz v0, 0xa1c18              |             
    0x000a1bf4 lw a0, 0x28(s2)               |             a0 = *((s2 + 10));
    0x000a1bf8 addiu v0, zero, 0x69          |             v0 = 0x69;
    0x000a1bfc lw a0, 0x20(a0)               |             a0 = *((a0 + 8));
    0x000a1c00 lb a0, 1(a0)                  |             a0 = *((a0 + 1));
    0x000a1c04 lw a2, 0x38(s2)               |             a2 = *((s2 + 14));
                                             |             if (a0 == v0) {
    0x000a1c08 bnel a0, v0, 0xa1c1c          |                 goto label_228;
                                             |             }
    0x000a1c0c lw v0, 0x10(t0)               |             v0 = *((t0 + 4));
    0x000a1c10 addiu a0, zero, 1             |             a0 = 1;
    0x000a1c14 sb a0, (v0)                   |             *(v0) = a0;
                                             |         }
    0x000a1c18 lw a2, 0x38(s2)               |         a2 = *((s2 + 14));
                                             | label_228:
    0x000a1c1c addiu a3, zero, 2             |         a3 = 2;
    0x000a1c20 sw t0, 0x64(sp)               |         *(var_64h) = t0;
    0x000a1c24 addiu a1, zero, 0x71          |         a1 = 0x71;
    0x000a1c28 move a0, s1                   |         a0 = s1;
    0x000a1c2c move t9, s5                   |         t9 = s5;
    0x000a1c30 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000a1c34 jalr t9                       |         t9 ();
    0x000a1c38 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a1c3c lw t0, 0x64(sp)               |         t0 = *(var_64h);
    0x000a1c40 addiu a2, zero, -9            |         a2 = -9;
    0x000a1c44 lw t9, -0x7f78(gp)            |         t9 = *((gp - 8158));
    0x000a1c48 move a1, t0                   |         a1 = t0;
    0x000a1c4c addiu t9, t9, 0x4fdc          |         t9 += 0x4fdc;
    0x000a1c50 move a0, s1                   |         a0 = s1;
    0x000a1c54 jalr t9                       |         t9 ();
    0x000a1c58 lw a3, 0x3c(s2)               |         a3 = *((s2 + 15));
    0x000a1c5c move a2, zero                 |         a2 = 0;
    0x000a1c60 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000a1c64 addiu a3, a3, 1               |         a3++;
    0x000a1c68 addiu a1, zero, 0x46          |         a1 = 0x46;
    0x000a1c6c move t9, s5                   |         t9 = s5;
    0x000a1c70 move a0, s1                   |         a0 = s1;
    0x000a1c74 jalr t9                       |         t9 ();
    0x000a1c78 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             | label_59:
    0x000a1c7c lw s2, 0x20(s2)               |         s2 = *((s2 + 8));
                                             | label_58:
    0x000a1c80 move v0, fp                   |         v0 = fp;
                                             |         if (s2 == 0) {
    0x000a1c84 beqz s2, 0xa1d40              |             goto label_229;
                                             |         }
    0x000a1c88 lw a0, 0x28(s2)               |         a0 = *((s2 + 10));
    0x000a1c8c lw v0, 4(a0)                  |         v0 = *((a0 + 1));
    0x000a1c90 andi v0, v0, 0x1000           |         v0 &= aav.0x00001000;
    0x000a1c94 lbu a1, 0x11(s2)              |         a1 = *((s2 + 17));
    0x000a1c98 bnel v0, zero, 0xa1b9c        |         
                                             |     }
    0x000a1c9c lw v0, 0x20(a0)               |     v0 = *((a0 + 8));
                                             | label_227:
    0x000a1ca0 lw v1, 0x38(sp)               |     v1 = *(var_38h);
    0x000a1ca4 lw v1, 0x40(sp)               |     v1 = *(var_40h);
                                             |     if (v0 == v1) {
    0x000a1ca8 beq v0, v1, 0xa1cf8           |         goto label_230;
                                             |     }
    0x000a1cac lw v1, 0x4c(sp)               |     v1 = *(var_4ch);
                                             |     if (v0 == v1) {
    0x000a1cb0 beq v0, v1, 0xa1cf8           |         goto label_230;
                                             |     }
    0x000a1cb4 addiu a0, v1, -0x7168         |     a0 = v1 + -0x7168;
    0x000a1cb8 lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (v0 == a0) {
    0x000a1cbc beq v0, a0, 0xa1cc8           |         goto label_231;
                                             |     }
    0x000a1cc0 lw s2, 0x20(s2)               |     s2 = *((s2 + 8));
                                             |     if (v0 == v1) {
    0x000a1cc4 bnel v0, v1, 0xa1c80          |         goto label_58;
                                             |     }
                                             | label_231:
    0x000a1cc8 lw a2, 0x28(s3)               |     a2 = *((s3 + 10));
    0x000a1ccc lw a3, 0x2c(s0)               |     a3 = *((s0 + 11));
    0x000a1cd0 addiu v0, a2, 1               |     v0 = a2 + 1;
    0x000a1cd4 sw v0, 0x28(s3)               |     *((s3 + 10)) = v0;
    0x000a1cd8 addiu a1, zero, 0x6f          |     a1 = 0x6f;
    0x000a1cdc sw a2, 0x38(s2)               |     *((s2 + 14)) = a2;
    0x000a1ce0 move a0, s1                   |     a0 = s1;
    0x000a1ce4 move t9, s5                   |     t9 = s5;
    0x000a1ce8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1cec jalr t9                       |     t9 ();
    0x000a1cf0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1cf4 b 0xa1c7c                     |     goto label_59;
                                             | label_230:
    0x000a1cf8 lw a0, 0x28(s3)               |     a0 = *((s3 + 10));
    0x000a1cfc lw v0, 0x2c(s3)               |     v0 = *((s3 + 11));
    0x000a1d00 lw a3, 0x2c(s0)               |     a3 = *((s0 + 11));
    0x000a1d04 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x000a1d08 addiu a1, a0, 1               |     a1 = a0 + 1;
    0x000a1d0c addiu v0, v0, 2               |     v0 += 2;
    0x000a1d10 sw a2, 0x3c(s2)               |     *((s2 + 15)) = a2;
    0x000a1d14 move t9, s5                   |     t9 = s5;
    0x000a1d18 sw a1, 0x28(s3)               |     *((s3 + 10)) = a1;
    0x000a1d1c move a2, a0                   |     a2 = a0;
    0x000a1d20 sw a0, 0x38(s2)               |     *((s2 + 14)) = a0;
    0x000a1d24 addiu a1, zero, 0x6f          |     a1 = 0x6f;
    0x000a1d28 sw v0, 0x2c(s3)               |     *((s3 + 11)) = v0;
    0x000a1d2c move a0, s1                   |     a0 = s1;
    0x000a1d30 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1d34 jalr t9                       |     t9 ();
    0x000a1d38 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1d3c b 0xa1c7c                     |     goto label_59;
                                             | label_229:
    0x000a1d40 lw t2, 0x60(sp)               |     t2 = *(var_60h);
    0x000a1d44 move fp, s3                   |     fp = s3;
    0x000a1d48 move s3, v0                   |     s3 = v0;
                                             | label_98:
    0x000a1d4c lh a0, 6(s3)                  |     a0 = *((s3 + 3));
    0x000a1d50 lw v0, (s3)                   |     v0 = *(s3);
    0x000a1d54 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a1d58 lw v1, 0x48(sp)               |     v1 = *(var_48h);
    0x000a1d5c lw a3, 0xec(sp)               |     a3 = *(var_ech);
    0x000a1d60 lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x000a1d64 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x000a1d68 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000a1d6c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a1d70 move a1, t2                   |     a1 = t2;
    0x000a1d74 addiu t9, t9, -0xd80          |     t9 += -0xd80;
    0x000a1d78 move a0, fp                   |     a0 = fp;
    0x000a1d7c bal 0xaf280                   |     fcn_000af280 ();
    0x000a1d80 move s2, v0                   |     s2 = v0;
    0x000a1d84 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a1d88 beqz v0, 0x9f0fc              |         goto label_2;
                                             |     }
    0x000a1d8c lh a0, 0x48(v0)               |     a0 = *((v0 + 36));
    0x000a1d90 lh v0, 6(s3)                  |     v0 = *((s3 + 3));
    0x000a1d94 slt v0, a0, v0                |     v0 = (a0 < v0) ? 1 : 0;
    0x000a1d98 sh a0, 6(s3)                  |     *((s3 + 3)) = a0;
                                             |     if (v0 != 0) {
    0x000a1d9c bnel v0, zero, 0xa1da0        |         
                                             |     }
    0x000a1da0 lbu v0, 0xa4(sp)              |     v0 = *(var_a4h);
    0x000a1da4 lw a1, 0xec(sp)               |     a1 = *(var_ech);
                                             |     if (v0 != 0) {
    0x000a1da8 beqz v0, 0xa1dbc              |         
    0x000a1dac lbu v0, 0x33(s2)              |         v0 = *((s2 + 51));
    0x000a1db0 sb v0, 0xa5(sp)               |         *(var_a5h) = v0;
                                             |         if (v0 != 0) {
    0x000a1db4 bnel v0, zero, 0xa1db8        |             
                                             |         }
    0x000a1db8 lw a1, 0xec(sp)               |         a1 = *(var_ech);
                                             |     }
    0x000a1dbc lw a2, 0x100(sp)              |     a2 = *(var_100h);
                                             |     if (a1 == 0) {
    0x000a1dc0 beqz a1, 0xa25f0              |         goto label_232;
                                             |     }
    0x000a1dc4 lb a0, 0x2f(s2)               |     a0 = *((s2 + 47));
    0x000a1dc8 sw a0, 0xf0(sp)               |     *(var_f0h) = a0;
    0x000a1dcc lbu v0, 0x34(s2)              |     v0 = *((s2 + 52));
    0x000a1dd0 addiu a2, zero, 0x50          |     a2 = 0x50;
                                             |     if (v0 == 0) {
    0x000a1dd4 beqz v0, 0xa2784              |         goto label_233;
                                             |     }
    0x000a1dd8 lbu v0, 0x2e(s2)              |     v0 = *((s2 + 46));
    0x000a1ddc addiu v0, v0, -1              |     v0 += -1;
    0x000a1de0 mul v1, v0, a2                |     __asm ("mul v1, v0, a2");
    0x000a1de4 addu v0, v1, s2               |     v0 = v1 + s2;
    0x000a1de8 lw v0, 0x300(v0)              |     v0 = *((v0 + 192));
                                             | label_93:
    0x000a1dec lw a1, (a1)                   |     a1 = *(a1);
    0x000a1df0 sw v0, 0x108(sp)              |     *(var_108h) = v0;
                                             |     if (a1 == a0) {
    0x000a1df4 beq a1, a0, 0xa25e8           |         goto label_234;
                                             |     }
                                             | label_83:
    0x000a1df8 lw t9, -0x7f60(gp)            |     t9 = *((gp - 8152));
                                             |     if (s0 == 0) {
    0x000a1dfc beqz s0, 0xa278c              |         goto label_235;
                                             |     }
    0x000a1e00 lw s0, 0x38(fp)               |     s0 = *(arg_38h);
    0x000a1e04 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x000a1e08 addiu v1, v0, 1               |     v1 = v0 + 1;
    0x000a1e0c addiu t0, s0, -1              |     t0 = s0 + -1;
    0x000a1e10 lw a2, 0x44(s3)               |     a2 = *((s3 + 17));
    0x000a1e14 addiu s1, s0, -3              |     s1 = s0 + -3;
    0x000a1e18 sw v1, 0x2c(fp)               |     *(arg_2ch) = v1;
    0x000a1e1c sw v1, 0x38(sp)               |     *(var_38h) = v1;
    0x000a1e20 move a3, s2                   |     a3 = s2;
    0x000a1e24 sw s1, 0x38(fp)               |     *(arg_38h) = s1;
    0x000a1e28 sw t0, 0x40(sp)               |     *(var_40h) = t0;
    0x000a1e2c sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x000a1e30 sw t0, 0x14(sp)               |     *(var_14h) = t0;
    0x000a1e34 addiu a1, s3, 0x20            |     a1 = s3 + 0x20;
    0x000a1e38 addiu t9, t9, 0x76f4          |     t9 += 0x76f4;
    0x000a1e3c move a0, fp                   |     a0 = fp;
    0x000a1e40 bal 0xa76f4                   |     fcn_000a76f4 ();
    0x000a1e44 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1e48 move a3, s1                   |     a3 = s1;
    0x000a1e4c move a2, zero                 |     a2 = 0;
    0x000a1e50 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a1e54 addiu a1, zero, 0xb           |     a1 = 0xb;
    0x000a1e58 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a1e5c move a0, s4                   |     a0 = s4;
    0x000a1e60 move t9, s5                   |     t9 = s5;
    0x000a1e64 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1e68 jalr t9                       |     t9 ();
    0x000a1e6c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1e70 lw t0, 0x40(sp)               |     t0 = *(var_40h);
    0x000a1e74 move a0, s4                   |     a0 = s4;
    0x000a1e78 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000a1e7c move a1, t0                   |     a1 = t0;
    0x000a1e80 addiu t9, v0, 0x5e54          |     t9 = v0 + 0x5e54;
    0x000a1e84 move s2, t9                   |     s2 = t9;
    0x000a1e88 jalr t9                       |     t9 ();
    0x000a1e8c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1e90 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a1e94 addiu s0, s0, -2              |     s0 += -2;
    0x000a1e98 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a1e9c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a1ea0 addiu v0, sp, 0xa4            |     v0 = sp + 0xa4;
    0x000a1ea4 addiu a3, sp, 0xec            |     a3 = sp + 0xec;
    0x000a1ea8 addiu a2, zero, -1            |     a2 = -1;
    0x000a1eac sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a1eb0 move a1, s3                   |     a1 = s3;
    0x000a1eb4 move a0, fp                   |     a0 = fp;
    0x000a1eb8 addiu t9, t9, -0x5c58         |     t9 += -0x5c58;
    0x000a1ebc sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000a1ec0 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000a1ec4 sw zero, 0x108(sp)            |     *(var_108h) = 0;
    0x000a1ec8 bal 0xaa3a8                   |     fcn_000aa3a8 ();
    0x000a1ecc move a1, s0                   |     a1 = s0;
    0x000a1ed0 move a0, s4                   |     a0 = s4;
    0x000a1ed4 move t9, s2                   |     t9 = s2;
    0x000a1ed8 sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x000a1edc jalr t9                       |     t9 ();
    0x000a1ee0 lw v1, 0x38(sp)               |     v1 = *(var_38h);
    0x000a1ee4 move a3, zero                 |     a3 = 0;
    0x000a1ee8 move a2, v1                   |     a2 = v1;
    0x000a1eec addiu a1, zero, 0x42          |     a1 = 0x42;
    0x000a1ef0 move a0, s4                   |     a0 = s4;
    0x000a1ef4 move t9, s5                   |     t9 = s5;
    0x000a1ef8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1efc jalr t9                       |     t9 ();
    0x000a1f00 lw t9, 0x40(sp)               |     t9 = *(var_40h);
    0x000a1f04 move a1, s1                   |     a1 = s1;
    0x000a1f08 move a0, s4                   |     a0 = s4;
    0x000a1f0c sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x000a1f10 jalr t9                       |     t9 ();
    0x000a1f14 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1f18 b 0xa0fc0                     |     goto label_60;
                                             | label_202:
    0x000a1f1c sw t2, 0x70(sp)               |     *(var_70h) = t2;
    0x000a1f20 move a3, zero                 |     a3 = 0;
    0x000a1f24 move a2, zero                 |     a2 = 0;
    0x000a1f28 addiu a1, zero, 0x11          |     a1 = 0x11;
    0x000a1f2c move a0, s0                   |     a0 = s0;
    0x000a1f30 move t9, s5                   |     t9 = s5;
    0x000a1f34 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1f38 jalr t9                       |     t9 ();
    0x000a1f3c lw t2, 0x70(sp)               |     t2 = *(var_70h);
    0x000a1f40 lw a2, 0x50(sp)               |     a2 = *(var_50h);
    0x000a1f44 move s1, v0                   |     s1 = v0;
    0x000a1f48 sw t2, 0x10(sp)               |     *(var_10h) = t2;
    0x000a1f4c move a3, s2                   |     a3 = s2;
    0x000a1f50 addiu a1, zero, 0x74          |     a1 = 0x74;
    0x000a1f54 move t9, s5                   |     t9 = s5;
    0x000a1f58 move a0, s0                   |     a0 = s0;
    0x000a1f5c jalr t9                       |     t9 ();
    0x000a1f60 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s1 == 0) {
    0x000a1f64 beqz s1, 0xa114c              |         goto label_61;
                                             |     }
    0x000a1f68 lw v0, 0x6c(s0)               |     v0 = *((s0 + 27));
                                             |     if (s1 < 0) {
    0x000a1f6c bgez s1, 0xa1f74              |         
    0x000a1f70 addiu s1, v0, -1              |         s1 = v0 + -1;
                                             |     }
    0x000a1f74 lw a0, (s0)                   |     a0 = *(s0);
    0x000a1f78 lbu a0, 0x51(a0)              |     a0 = *((a0 + 81));
    0x000a1f7c lw t1, -0x7fe4(gp)            |     t1 = *((gp - 8185));
                                             |     if (a0 != 0) {
    0x000a1f80 bnez a0, 0xa23bc              |         goto label_236;
                                             |     }
    0x000a1f84 addiu a1, zero, 0x14          |     a1 = 0x14;
    0x000a1f88 mul v1, s1, a1                |     __asm ("mul v1, s1, a1");
    0x000a1f8c lw a0, 0x68(s0)               |     a0 = *((s0 + 26));
    0x000a1f90 addu t1, v1, a0               |     t1 = v1 + a0;
    0x000a1f94 sw v0, 8(t1)                  |     *((t1 + 2)) = v0;
    0x000a1f98 b 0xa114c                     |     goto label_61;
                                             | label_201:
    0x000a1f9c lw s2, 0x58(sp)               |     s2 = *(var_58h);
    0x000a1fa0 lw a3, 0x5c(sp)               |     a3 = *(var_5ch);
    0x000a1fa4 addiu a1, zero, 0x23          |     a1 = 0x23;
    0x000a1fa8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a1fac move a2, s2                   |     a2 = s2;
    0x000a1fb0 move t9, s5                   |     t9 = s5;
    0x000a1fb4 move a0, s0                   |     a0 = s0;
    0x000a1fb8 jalr t9                       |     t9 ();
    0x000a1fbc lw a1, 0x10(s3)               |     a1 = *((s3 + 4));
    0x000a1fc0 addiu v0, v0, 1               |     v0++;
    0x000a1fc4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a1fc8 sw v0, 0x70(sp)               |     *(var_70h) = v0;
                                             |     if (a1 > 0) {
    0x000a1fcc bgtz a1, 0xa25c4              |         goto label_237;
                                             |     }
    0x000a1fd0 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x000a1fd4 sw s1, 0x60(sp)               |     *(var_60h) = s1;
    0x000a1fd8 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x000a1fdc b 0xa11b4                     |     goto label_62;
                                             | label_179:
    0x000a1fe0 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x000a1fe4 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x000a1fe8 addiu v0, v0, -1              |     v0 += -1;
    0x000a1fec addiu a0, a0, 1               |     a0++;
    0x000a1ff0 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x000a1ff4 sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x000a1ff8 sw zero, 0xd8(sp)             |     *(var_d8h) = 0;
    0x000a1ffc sw zero, 0xdc(sp)             |     *(var_dch) = 0;
    0x000a2000 sw zero, 0xe0(sp)             |     *(var_e0h) = 0;
    0x000a2004 sw zero, 0xe4(sp)             |     *(var_e4h) = 0;
    0x000a2008 sw zero, 0xe8(sp)             |     *(var_e8h) = 0;
    0x000a200c sw fp, 0xcc(sp)               |     *(var_cch) = fp;
    0x000a2010 sw t2, 0xd0(sp)               |     *(var_d0h) = t2;
    0x000a2014 sw s2, 0xd4(sp)               |     *(var_d4h) = s2;
    0x000a2018 sw a0, 0x124(sp)              |     *(var_124h) = a0;
    0x000a201c sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x000a2020 b 0xa0a98                     |     goto label_63;
                                             | label_180:
    0x000a2024 lh a1, 0x28(a0)               |     a1 = *((a0 + 20));
                                             |     if (a1 >= 0) {
    0x000a2028 bgezl a1, 0xa0b5c             |         goto label_64;
                                             |     }
    0x000a202c lw a3, 4(a0)                  |     a3 = *((a0 + 1));
    0x000a2030 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000a2034 addiu a3, a1, -0x6164         |     a3 = a1 + -0x6164;
    0x000a2038 b 0xa0b64                     |     goto label_65;
                                             | label_136:
    0x000a203c lw v1, 0x60(sp)               |     v1 = *(var_60h);
                                             |     if (a0 == 0) {
    0x000a2040 beqz a0, 0xa2660              |         goto label_238;
                                             |     }
    0x000a2044 lw t2, 0x30(s1)               |     t2 = *((s1 + 12));
    0x000a2048 lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (t2 == 0) {
    0x000a204c bnel t2, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x000a2050 andi a3, a3, 0x2000           |     a3 &= 0x2000;
    0x000a2054 b 0x9f8d0                     |     goto label_66;
                                             | label_210:
    0x000a2058 move a3, zero                 |     a3 = 0;
    0x000a205c addiu a1, zero, 0x42          |     a1 = 0x42;
    0x000a2060 move t9, s5                   |     t9 = s5;
    0x000a2064 move a0, s0                   |     a0 = s0;
    0x000a2068 jalr t9                       |     t9 ();
    0x000a206c lw a1, 0x5c(sp)               |     a1 = *(var_5ch);
    0x000a2070 b 0xa1328                     |     goto label_67;
                                             | label_205:
    0x000a2074 lw s3, 0x38(sp)               |     s3 = *(var_38h);
    0x000a2078 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x000a207c lw s2, 0x44(sp)               |     s2 = *(var_44h);
    0x000a2080 lw a2, 0x48(sp)               |     a2 = *(var_48h);
    0x000a2084 move a3, s3                   |     a3 = s3;
    0x000a2088 addiu a1, zero, 0x5c          |     a1 = 0x5c;
    0x000a208c move a0, s0                   |     a0 = s0;
    0x000a2090 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x000a2094 move t9, s5                   |     t9 = s5;
    0x000a2098 lw s1, 0x10(v1)               |     s1 = *((v1 + 4));
    0x000a209c jalr t9                       |     t9 ();
    0x000a20a0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a20a4 move a1, v0                   |     a1 = v0;
    0x000a20a8 move a3, s3                   |     a3 = s3;
    0x000a20ac lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000a20b0 move a2, s1                   |     a2 = s1;
    0x000a20b4 addiu t9, t9, -0x2340         |     t9 += -0x2340;
    0x000a20b8 move a0, s0                   |     a0 = s0;
    0x000a20bc jalr t9                       |     t9 ();
    0x000a20c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a20c4 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x000a20c8 lw a2, 0x6c(sp)               |     a2 = *(var_6ch);
    0x000a20cc lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a20d0 sw s3, 0x14(sp)               |     *(var_14h) = s3;
    0x000a20d4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a20d8 move a3, s2                   |     a3 = s2;
    0x000a20dc addiu a1, zero, 0x84          |     a1 = 0x84;
    0x000a20e0 addiu t9, t9, 0x647c          |     t9 += 0x647c;
    0x000a20e4 move a0, s0                   |     a0 = s0;
    0x000a20e8 jalr t9                       |     t9 ();
    0x000a20ec lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s2 == 0) {
    0x000a20f0 beqz s2, 0xa12e0              |         goto label_68;
                                             |     }
    0x000a20f4 lw v1, 0x38(sp)               |     v1 = *(var_38h);
                                             | label_207:
    0x000a20f8 addiu v0, zero, 1             |     v0 = 1;
    0x000a20fc lw v1, 0x38(sp)               |     v1 = *(var_38h);
                                             |     if (v1 == v0) {
    0x000a2100 beq v1, v0, 0xa2870           |         goto label_239;
                                             |     }
    0x000a2104 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x000a2108 slt v0, v0, v1                |     v0 = (v0 < v1) ? 1 : 0;
    0x000a210c lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
                                             |     if (v0 != 0) {
    0x000a2110 beqz v0, 0xa2124              |         
    0x000a2114 lw v0, 0x38(sp)               |         v0 = *(var_38h);
    0x000a2118 sw v0, 0x1c(fp)               |         *(arg_1ch) = v0;
    0x000a211c lw v0, 0x48(sp)               |         v0 = *(var_48h);
    0x000a2120 sw v0, 0x20(fp)               |         *(arg_20h) = v0;
                                             |     }
                                             | label_208:
    0x000a2124 addiu t9, t9, 0x2bf0          |     t9 += 0x2bf0;
    0x000a2128 b 0xa12d4                     |     goto label_69;
                                             | label_195:
    0x000a212c addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a2130 lw a2, 0xf8(sp)               |     a2 = *(var_f8h);
    0x000a2134 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x000a2138 move a0, s0                   |     a0 = s0;
    0x000a213c move t9, s5                   |     t9 = s5;
    0x000a2140 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a2144 jalr t9                       |     t9 ();
    0x000a2148 lw a3, 0x5c(sp)               |     a3 = *(var_5ch);
    0x000a214c move a2, zero                 |     a2 = 0;
    0x000a2150 addiu a1, zero, 0xb           |     a1 = 0xb;
    0x000a2154 move a0, s0                   |     a0 = s0;
    0x000a2158 move t9, s5                   |     t9 = s5;
    0x000a215c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a2160 jalr t9                       |     t9 ();
    0x000a2164 lw a1, 0xfc(sp)               |     a1 = *(var_fch);
    0x000a2168 lw t9, 0x40(sp)               |     t9 = *(var_40h);
    0x000a216c move a0, s0                   |     a0 = s0;
    0x000a2170 jalr t9                       |     t9 ();
    0x000a2174 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2178 b 0xa1068                     |     goto label_70;
                                             | label_173:
    0x000a217c addiu a3, a3, -0x5a40         |     a3 += -0x5a40;
    0x000a2180 b 0xa083c                     |     goto label_71;
                                             |     if (s1 == 0) {
                                             | label_189:
    0x000a2184 beql s1, zero, 0xa0e68        |         goto label_72;
                                             |     }
    0x000a2188 move s1, v0                   |     s1 = v0;
    0x000a218c lh v1, 0x30(s1)               |     v1 = *((s1 + 24));
    0x000a2190 slt a0, a0, v1                |     a0 = (a0 < v1) ? 1 : 0;
                                             |     if (a0 == 0) {
    0x000a2194 movn s1, v0, a0               |         s1 = v0;
                                             |     }
    0x000a2198 b 0xa0e68                     |     goto label_72;
                                             | label_192:
    0x000a219c lw a2, -0x7fa0(gp)            |     a2 = *((gp - 8168));
    0x000a21a0 lw t9, -0x7f68(gp)            |     t9 = *((gp - 8154));
    0x000a21a4 addiu a3, a3, -0x5a34         |     a3 += -0x5a34;
    0x000a21a8 addiu a2, a2, -0x59b4         |     a2 += -0x59b4;
    0x000a21ac move a1, zero                 |     a1 = 0;
    0x000a21b0 addiu t9, t9, -0x3668         |     t9 += -0x3668;
    0x000a21b4 move a0, fp                   |     a0 = fp;
    0x000a21b8 jalr t9                       |     t9 ();
    0x000a21bc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a21c0 b 0xa0fd0                     |     goto label_73;
                                             | label_224:
    0x000a21c4 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a21c8 addiu t9, t9, 0x7fd4          |     t9 += 0x7fd4;
    0x000a21cc lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x000a21d0 jalr t9                       |     t9 ();
    0x000a21d4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a21d8 lw a0, (s4)                   |     a0 = *(s4);
    0x000a21dc lw a2, 0x8c(sp)               |     a2 = *(var_8ch);
    0x000a21e0 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000a21e4 addiu t9, t9, 0x5038          |     t9 += 0x5038;
    0x000a21e8 addiu a1, s4, 0x68            |     a1 = s4 + 0x68;
    0x000a21ec jalr t9                       |     t9 ();
    0x000a21f0 lw s0, 0x64(sp)               |     s0 = *(var_64h);
    0x000a21f4 b 0xa189c                     |     goto label_74;
                                             | label_223:
    0x000a21f8 addiu s1, s1, -0x34c4         |     s1 += -0x34c4;
    0x000a21fc b 0xa1834                     |     goto label_75;
                                             | label_185:
    0x000a2200 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x000a2204 move s1, zero                 |     s1 = 0;
                                             |     if (v0 == 0) {
    0x000a2208 beqz v0, 0xa229c              |         goto label_190;
                                             |     }
    0x000a220c lbu v1, 0x37(v0)              |     v1 = *((v0 + 55));
    0x000a2210 b 0xa0e3c                     |     goto label_76;
                                             | label_211:
    0x000a2214 lw s1, 0x48(sp)               |     s1 = *(var_48h);
                                             | label_212:
    0x000a2218 lw a3, 0x60(sp)               |     a3 = *(var_60h);
    0x000a221c lw a2, 0x50(sp)               |     a2 = *(var_50h);
    0x000a2220 addiu a1, zero, 0x5a          |     a1 = 0x5a;
    0x000a2224 move a0, s0                   |     a0 = s0;
    0x000a2228 move t9, s5                   |     t9 = s5;
    0x000a222c sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x000a2230 jalr t9                       |     t9 ();
    0x000a2234 lw s2, 0x44(sp)               |     s2 = *(var_44h);
    0x000a2238 lw s3, 0x6c(sp)               |     s3 = *(var_6ch);
    0x000a223c move a3, s2                   |     a3 = s2;
    0x000a2240 move a2, s3                   |     a2 = s3;
    0x000a2244 addiu a1, zero, 0x79          |     a1 = 0x79;
    0x000a2248 move a0, s0                   |     a0 = s0;
    0x000a224c move t9, s5                   |     t9 = s5;
    0x000a2250 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a2254 jalr t9                       |     t9 ();
    0x000a2258 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x000a225c move a3, s1                   |     a3 = s1;
    0x000a2260 move a2, s3                   |     a2 = s3;
    0x000a2264 addiu a1, zero, 0x7a          |     a1 = 0x7a;
    0x000a2268 move t9, s5                   |     t9 = s5;
    0x000a226c move a0, s0                   |     a0 = s0;
    0x000a2270 jalr t9                       |     t9 ();
    0x000a2274 lw v0, 0x6c(s0)               |     v0 = *((s0 + 27));
    0x000a2278 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 <= 0) {
    0x000a227c blez v0, 0xa129c              |         goto label_77;
                                             |     }
    0x000a2280 addiu a1, zero, 0x14          |     a1 = 0x14;
    0x000a2284 mul v1, v0, a1                |     __asm ("mul v1, v0, a1");
    0x000a2288 lw a0, 0x68(s0)               |     a0 = *((s0 + 26));
    0x000a228c addu v0, v1, a0               |     v0 = v1 + a0;
    0x000a2290 addiu a0, zero, 8             |     a0 = 8;
    0x000a2294 sh a0, -0x12(v0)              |     *((v0 - 9)) = a0;
    0x000a2298 b 0xa129c                     |     goto label_77;
                                             | label_190:
    0x000a229c lw s1, 0x38(sp)               |     s1 = *(var_38h);
                                             | label_186:
    0x000a22a0 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a22a4 addiu v0, zero, 1             |     v0 = 1;
    0x000a22a8 move a3, s2                   |     a3 = s2;
    0x000a22ac move a2, s1                   |     a2 = s1;
    0x000a22b0 addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x000a22b4 move a0, s4                   |     a0 = s4;
    0x000a22b8 sw s5, 0x10(sp)               |     *(var_10h) = s5;
    0x000a22bc addiu t9, t9, 0x647c          |     t9 += 0x647c;
    0x000a22c0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a22c4 jalr t9                       |     t9 ();
    0x000a22c8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a22cc lw v0, 0x13c(sp)              |     v0 = *(var_13ch);
    0x000a22d0 move a2, s1                   |     a2 = s1;
    0x000a22d4 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a22d8 lw a3, 8(v0)                  |     a3 = *((v0 + 2));
    0x000a22dc addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a22e0 addiu a1, zero, 0x5d          |     a1 = 0x5d;
    0x000a22e4 move a0, s4                   |     a0 = s4;
    0x000a22e8 move t9, s5                   |     t9 = s5;
    0x000a22ec sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a22f0 jalr t9                       |     t9 ();
    0x000a22f4 move a0, s4                   |     a0 = s4;
    0x000a22f8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a22fc move a3, zero                 |     a3 = 0;
    0x000a2300 move a2, s1                   |     a2 = s1;
    0x000a2304 move t9, s5                   |     t9 = s5;
    0x000a2308 addiu a1, zero, 0x75          |     a1 = 0x75;
    0x000a230c jalr t9                       |     t9 ();
    0x000a2310 lbu a0, 0xc7(fp)              |     a0 = *(arg_c7h);
    0x000a2314 addiu v0, zero, 2             |     v0 = 2;
    0x000a2318 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (a0 != v0) {
    0x000a231c bne a0, v0, 0xa0f44           |         goto label_78;
                                             |     }
                                             | label_86:
    0x000a2320 lw v0, -0x7fa0(gp)            |     v0 = *((gp - 8168));
    0x000a2324 lw a3, (s0)                   |     a3 = *(s0);
    0x000a2328 addiu v0, v0, -0x3094         |     v0 += -0x3094;
    0x000a232c move a0, v0                   |     a0 = v0;
                                             | label_87:
    0x000a2330 lw a2, -0x7fa0(gp)            |     a2 = *((gp - 8168));
    0x000a2334 lw t9, -0x7f68(gp)            |     t9 = *((gp - 8154));
    0x000a2338 sw a0, 0x14(sp)               |     *(var_14h) = a0;
    0x000a233c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a2340 addiu a2, a2, -0x599c         |     a2 += -0x599c;
    0x000a2344 move a1, zero                 |     a1 = 0;
    0x000a2348 addiu t9, t9, -0x3668         |     t9 += -0x3668;
    0x000a234c move a0, fp                   |     a0 = fp;
    0x000a2350 jalr t9                       |     t9 ();
    0x000a2354 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2358 b 0xa0f44                     |     goto label_78;
                                             |     if (v1 == 0) {
                                             | label_172:
    0x000a235c beql v1, zero, 0xa2758        |         goto label_240;
                                             |     }
    0x000a2360 lw v1, 0x6c(s4)               |     v1 = *((s4 + 27));
    0x000a2364 lhu a0, 0x4c(s7)              |     a0 = *((s7 + 38));
    0x000a2368 andi a0, a0, 4                |     a0 &= 4;
    0x000a236c lw v1, 0x70(sp)               |     v1 = *(var_70h);
                                             |     if (a0 != 0) {
    0x000a2370 bnez a0, 0xa289c              |         goto label_241;
                                             |     }
    0x000a2374 lbu a0, 0x30(v1)              |     a0 = *((v1 + 48));
                                             |     if (a0 == 0) {
    0x000a2378 beql a0, zero, 0xa28a0        |         goto label_242;
                                             |     }
    0x000a237c lw v1, 0x6c(s4)               |     v1 = *((s4 + 27));
    0x000a2380 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000a2384 lw a0, (s4)                   |     a0 = *(s4);
    0x000a2388 lw a2, 0x100(sp)              |     a2 = *(var_100h);
    0x000a238c addiu a1, s4, 0x68            |     a1 = s4 + 0x68;
    0x000a2390 sw zero, 0xec(sp)             |     *(var_ech) = 0;
    0x000a2394 addiu t9, t9, 0x5038          |     t9 += 0x5038;
    0x000a2398 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x000a239c jalr t9                       |     t9 ();
    0x000a23a0 lw v0, 0x6c(s4)               |     v0 = *((s4 + 27));
    0x000a23a4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a23a8 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a23ac lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000a23b0 sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x000a23b4 lw v0, (v0)                   |     v0 = *(v0);
    0x000a23b8 b 0xa1648                     |     goto label_79;
                                             | label_236:
    0x000a23bc addiu t1, t1, -0x34c4         |     t1 += -0x34c4;
    0x000a23c0 sw v0, 8(t1)                  |     *((t1 + 2)) = v0;
    0x000a23c4 b 0xa114c                     |     goto label_61;
                                             | label_181:
    0x000a23c8 lw a1, 0x138(sp)              |     a1 = *(var_138h);
                                             | label_182:
    0x000a23cc lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
                                             |     if (a1 == 0) {
    0x000a23d0 beqz a1, 0xa2550              |         goto label_108;
                                             |     }
    0x000a23d4 lw a2, 0x13c(sp)              |     a2 = *(var_13ch);
                                             |     if (a0 <= 0) {
    0x000a23d8 blez a0, 0xa2544              |         goto label_243;
                                             |     }
    0x000a23dc lw a1, 4(a2)                  |     a1 = *((a2 + 1));
    0x000a23e0 lw a1, 4(a1)                  |     a1 = *((a1 + 1));
    0x000a23e4 andi a1, a1, 0x20             |     a1 &= 0x20;
    0x000a23e8 addiu a2, a2, 0x14            |     a2 += 0x14;
                                             |     if (a1 != 0) {
    0x000a23ec bnez a1, 0xa2550              |         goto label_108;
                                             |     }
    0x000a23f0 addiu a1, a1, 1               |     a1++;
    0x000a23f4 b 0xa240c                     |     
                                             |     while (a1 == a0) {
    0x000a23f8 lw v1, 4(v1)                  |         v1 = *((v1 + 1));
    0x000a23fc andi v1, v1, 0x20             |         v1 &= 0x20;
    0x000a2400 addiu a2, a2, 0x10            |         a2 += 0x10;
                                             |         if (v1 != 0) {
    0x000a2404 bnez v1, 0xa254c              |             goto label_244;
                                             |         }
    0x000a2408 addiu a1, a1, 1               |         a1++;
    0x000a240c lw v1, (a2)                   |         v1 = *(a2);
    0x000a2410 bnel a1, a0, 0xa23f8          |         
                                             |     }
    0x000a2414 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
                                             | label_81:
    0x000a2418 addiu s1, v0, 1               |     s1 = v0 + 1;
    0x000a241c addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a2420 sw t2, 0x38(sp)               |     *(var_38h) = t2;
    0x000a2424 move a3, s1                   |     a3 = s1;
    0x000a2428 move a2, zero                 |     a2 = 0;
    0x000a242c addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a2430 move a0, s4                   |     a0 = s4;
    0x000a2434 sw s1, 0x2c(fp)               |     *(arg_2ch) = s1;
    0x000a2438 move t9, s5                   |     t9 = s5;
    0x000a243c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a2440 jalr t9                       |     t9 ();
    0x000a2444 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2448 move a1, s2                   |     a1 = s2;
    0x000a244c lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a2450 addiu t9, t9, 0x3f10          |     t9 += 0x3f10;
    0x000a2454 move a0, fp                   |     a0 = fp;
    0x000a2458 jalr t9                       |     t9 ();
    0x000a245c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2460 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x000a2464 lw t2, 0x38(sp)               |     t2 = *(var_38h);
    0x000a2468 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a246c lw a3, 0x4c(sp)               |     a3 = *(var_4ch);
    0x000a2470 lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x000a2474 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x000a2478 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a247c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a2480 move a1, t2                   |     a1 = t2;
    0x000a2484 addiu t9, t9, -0xd80          |     t9 += -0xd80;
    0x000a2488 move a0, fp                   |     a0 = fp;
    0x000a248c bal 0xaf280                   |     fcn_000af280 ();
    0x000a2490 move s0, v0                   |     s0 = v0;
    0x000a2494 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a2498 beqz v0, 0xa0afc              |         goto label_80;
                                             |     }
    0x000a249c lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a24a0 move a2, s2                   |     a2 = s2;
    0x000a24a4 move a1, s1                   |     a1 = s1;
    0x000a24a8 addiu t9, t9, -0x67c0         |     t9 += -0x67c0;
    0x000a24ac move a0, fp                   |     a0 = fp;
    0x000a24b0 bal 0xa9840                   |     fcn_000a9840 ();
    0x000a24b4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s1 != 0) {
    0x000a24b8 beqz s1, 0xa24dc              |         
    0x000a24bc sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000a24c0 move a3, s1                   |         a3 = s1;
    0x000a24c4 addiu a2, zero, 1             |         a2 = 1;
    0x000a24c8 addiu a1, zero, 0x46          |         a1 = 0x46;
    0x000a24cc move t9, s5                   |         t9 = s5;
    0x000a24d0 move a0, s4                   |         a0 = s4;
    0x000a24d4 jalr t9                       |         t9 ();
    0x000a24d8 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
                                             | label_82:
    0x000a24dc lb v0, 0x2f(s0)               |     v0 = *((s0 + 47));
    0x000a24e0 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
                                             |     if (v0 > 0) {
    0x000a24e4 blez v0, 0xa2514              |         
    0x000a24e8 lw t3, -0x7f50(gp)            |         t3 = *((gp - 8148));
    0x000a24ec lw a3, 0x24(s0)               |         a3 = *((s0 + 9));
    0x000a24f0 addiu s5, t3, 0x620c          |         s5 = t3 + 0x620c;
    0x000a24f4 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000a24f8 move a2, zero                 |         a2 = 0;
    0x000a24fc addiu a1, zero, 0xb           |         a1 = 0xb;
    0x000a2500 move t9, s5                   |         t9 = s5;
    0x000a2504 move a0, s4                   |         a0 = s4;
    0x000a2508 jalr t9                       |         t9 ();
    0x000a250c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a2510 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
                                             |     }
    0x000a2514 addiu t9, t9, 0x7fd4          |     t9 += 0x7fd4;
    0x000a2518 move a0, s0                   |     a0 = s0;
    0x000a251c jalr t9                       |     t9 ();
    0x000a2520 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2524 lw a1, 0x13c(sp)              |     a1 = *(var_13ch);
    0x000a2528 lw a0, 8(fp)                  |     a0 = *(arg_8h);
    0x000a252c lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a2530 addiu t9, t9, 0x6398          |     t9 += 0x6398;
    0x000a2534 addiu a2, sp, 0x140           |     a2 = sp + aav.0x00000140;
    0x000a2538 jalr t9                       |     t9 ();
    0x000a253c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2540 b 0xa0f44                     |     goto label_78;
                                             | label_243:
    0x000a2544 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
                                             |     if (a0 == 0) {
    0x000a2548 beqz a0, 0xa2418              |         goto label_81;
                                             |     }
                                             | label_244:
    0x000a254c lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
                                             | label_108:
    0x000a2550 sw t2, 0x38(sp)               |     *(var_38h) = t2;
    0x000a2554 move a1, s2                   |     a1 = s2;
    0x000a2558 addiu t9, t9, 0x3f10          |     t9 += 0x3f10;
    0x000a255c move a0, fp                   |     a0 = fp;
    0x000a2560 jalr t9                       |     t9 ();
    0x000a2564 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2568 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x000a256c lw t2, 0x38(sp)               |     t2 = *(var_38h);
    0x000a2570 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a2574 lw a3, 0x4c(sp)               |     a3 = *(var_4ch);
    0x000a2578 lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x000a257c sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x000a2580 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a2584 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a2588 move a1, t2                   |     a1 = t2;
    0x000a258c addiu t9, t9, -0xd80          |     t9 += -0xd80;
    0x000a2590 move a0, fp                   |     a0 = fp;
    0x000a2594 bal 0xaf280                   |     fcn_000af280 ();
    0x000a2598 move s0, v0                   |     s0 = v0;
    0x000a259c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a25a0 beqz v0, 0xa0afc              |         goto label_80;
                                             |     }
    0x000a25a4 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a25a8 move a2, s2                   |     a2 = s2;
    0x000a25ac move a1, zero                 |     a1 = 0;
    0x000a25b0 addiu t9, t9, -0x67c0         |     t9 += -0x67c0;
    0x000a25b4 move a0, fp                   |     a0 = fp;
    0x000a25b8 bal 0xa9840                   |     fcn_000a9840 ();
    0x000a25bc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a25c0 b 0xa24dc                     |     goto label_82;
                                             | label_237:
    0x000a25c4 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a25c8 lw a2, 0x68(sp)               |     a2 = *(var_68h);
    0x000a25cc addiu t9, t9, 0x6f28          |     t9 += 0x6f28;
    0x000a25d0 move a0, s0                   |     a0 = s0;
    0x000a25d4 jalr t9                       |     t9 ();
    0x000a25d8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a25dc sw s1, 0x60(sp)               |     *(var_60h) = s1;
    0x000a25e0 sw s2, 0x50(sp)               |     *(var_50h) = s2;
    0x000a25e4 b 0xa11b4                     |     goto label_62;
                                             | label_234:
    0x000a25e8 sw zero, 0xec(sp)             |     *(var_ech) = 0;
    0x000a25ec lw a2, 0x100(sp)              |     a2 = *(var_100h);
                                             | label_232:
    0x000a25f0 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
                                             |     if (a2 < 0) {
    0x000a25f4 bltz a2, 0xa1df8              |         goto label_83;
                                             |     }
    0x000a25f8 lw a0, (s4)                   |     a0 = *(s4);
    0x000a25fc addiu t9, t9, 0x5038          |     t9 += 0x5038;
    0x000a2600 addiu a1, s4, 0x68            |     a1 = s4 + 0x68;
    0x000a2604 jalr t9                       |     t9 ();
    0x000a2608 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a260c b 0xa1df8                     |     goto label_83;
                                             | label_118:
    0x000a2610 lw t9, -0x7cac(gp)            |     t9 = *((gp - 7979));
    0x000a2614 jalr t9                       |     t9 ();
    0x000a2618 nop                           |     
                                             | label_216:
    0x000a261c lw v0, 8(s3)                  |     v0 = *((s3 + 2));
    0x000a2620 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000a2624 addiu a0, zero, -2            |     a0 = -2;
    0x000a2628 and v0, v0, a0                |     v0 &= a0;
    0x000a262c lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000a2630 sw t2, 0x40(sp)               |     *(var_40h) = t2;
    0x000a2634 move a0, s7                   |     a0 = s7;
    0x000a2638 sw v0, 8(s3)                  |     *((s3 + 2)) = v0;
    0x000a263c addiu t9, t9, 0x78dc          |     t9 += 0x78dc;
    0x000a2640 move a2, zero                 |     a2 = 0;
    0x000a2644 jalr t9                       |     t9 ();
    0x000a2648 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x000a264c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2650 lw a0, 0xec(sp)               |     a0 = *(var_ech);
    0x000a2654 sw v0, 0x28(s3)               |     *((s3 + 10)) = v0;
    0x000a2658 lw t2, 0x40(sp)               |     t2 = *(var_40h);
    0x000a265c b 0xa02d8                     |     goto label_51;
                                             |     if (v1 == 0) {
                                             | label_238:
    0x000a2660 beql v1, zero, 0x9f8d0        |         goto label_66;
                                             |     }
    0x000a2664 andi a3, a3, 0x2000           |     a3 &= 0x2000;
    0x000a2668 lw a0, 0x30(s1)               |     a0 = *((s1 + 12));
    0x000a266c lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
                                             |     if (a0 == 0) {
    0x000a2670 bnel a0, zero, 0x9f490        |         goto label_7;
                                             |     }
    0x000a2674 andi a3, a3, 0x2000           |     a3 &= 0x2000;
    0x000a2678 b 0x9f8d0                     |     goto label_66;
                                             | label_199:
    0x000a267c lbu v0, 0x13(fp)              |     v0 = *(arg_13h);
                                             | label_200:
    0x000a2680 addiu v0, v0, -1              |     v0 += -1;
                                             |     if (v0 == 0) {
    0x000a2684 beqz v0, 0xa2ba0              |         goto label_245;
                                             |     }
    0x000a2688 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000a268c addiu a0, v0, 0x24            |     a0 = v0 + 0x24;
    0x000a2690 sll a0, a0, 2                 |     a0 <<= 2;
    0x000a2694 addu a0, fp, a0               |     a0 = fp + a0;
    0x000a2698 sb v0, 0x13(fp)               |     *(arg_13h) = v0;
    0x000a269c lw v0, 4(a0)                  |     v0 = *((a0 + 1));
    0x000a26a0 sw zero, 0x38(sp)             |     *(var_38h) = 0;
    0x000a26a4 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a26a8 sw a2, 0x44(sp)               |     *(var_44h) = a2;
    0x000a26ac b 0xa10e4                     |     goto label_46;
                                             | label_198:
    0x000a26b0 lw s1, 0x2c(fp)               |     s1 = *(arg_2ch);
    0x000a26b4 lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
    0x000a26b8 addiu a2, s1, 1               |     a2 = s1 + 1;
    0x000a26bc addiu v0, zero, 0xc           |     v0 = 0xc;
    0x000a26c0 move s1, a2                   |     s1 = a2;
    0x000a26c4 sw a2, 0x2c(fp)               |     *(arg_2ch) = a2;
                                             |     if (v1 == v0) {
    0x000a26c8 beq v1, v0, 0xa26dc           |         goto label_107;
                                             |     }
    0x000a26cc lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
    0x000a26d0 addiu v0, zero, 0xe           |     v0 = 0xe;
    0x000a26d4 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
                                             |     if (v1 != v0) {
    0x000a26d8 bne v1, v0, 0xa10cc           |         goto label_84;
                                             |     }
                                             | label_107:
    0x000a26dc addiu v0, s1, 1               |     v0 = s1 + 1;
    0x000a26e0 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a26e4 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x000a26e8 sw zero, 0x38(sp)             |     *(var_38h) = 0;
    0x000a26ec sw a2, 0x44(sp)               |     *(var_44h) = a2;
    0x000a26f0 b 0xa10e4                     |     goto label_46;
                                             | label_217:
    0x000a26f4 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x000a26f8 addiu v1, v0, 1               |     v1 = v0 + 1;
    0x000a26fc sw v1, 0x2c(fp)               |     *(arg_2ch) = v1;
    0x000a2700 b 0xa14d8                     |     goto label_85;
                                             | label_191:
    0x000a2704 lw v0, 0x24(s0)               |     v0 = *((s0 + 9));
    0x000a2708 andi v0, v0, 0x20             |     v0 &= 0x20;
    0x000a270c lw v0, -0x7fa0(gp)            |     v0 = *((gp - 8168));
                                             |     if (v0 == 0) {
    0x000a2710 beqz v0, 0xa2724              |         goto label_246;
                                             |     }
    0x000a2714 lbu v0, 0x37(s1)              |     v0 = *((s1 + 55));
    0x000a2718 andi v0, v0, 3                |     v0 &= 3;
    0x000a271c lw v0, -0x7fa0(gp)            |     v0 = *((gp - 8168));
                                             |     if (v0 == a0) {
    0x000a2720 beq v0, a0, 0xa2320           |         goto label_86;
                                             |     }
                                             | label_246:
    0x000a2724 lw a3, (s0)                   |     a3 = *(s0);
    0x000a2728 lw a0, (s1)                   |     a0 = *(s1);
    0x000a272c addiu v0, v0, -0x5a28         |     v0 += -0x5a28;
    0x000a2730 b 0xa2330                     |     goto label_87;
                                             | label_203:
    0x000a2734 lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
                                             |     if (s1 < 0) {
    0x000a2738 bltz s1, 0xa127c              |         goto label_88;
                                             |     }
    0x000a273c lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000a2740 sll a0, v0, 2                 |     a0 = v0 << 2;
    0x000a2744 b 0xa11fc                     |     goto label_89;
                                             | label_219:
    0x000a2748 lw t2, 0x2c(fp)               |     t2 = *(arg_2ch);
    0x000a274c addiu t2, t2, 1               |     t2++;
    0x000a2750 sw t2, 0x2c(fp)               |     *(arg_2ch) = t2;
    0x000a2754 b 0xa15a8                     |     goto label_90;
                                             | label_240:
    0x000a2758 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x000a275c sw v1, 0x48(sp)               |     *(var_48h) = v1;
    0x000a2760 b 0xa1648                     |     goto label_79;
                                             | label_225:
    0x000a2764 addiu s5, t3, 0x620c          |     s5 = t3 + 0x620c;
    0x000a2768 b 0xa1b10                     |     goto label_91;
                                             | label_218:
    0x000a276c move a1, s1                   |     a1 = s1;
    0x000a2770 addiu t9, t9, 0x2c98          |     t9 += 0x2c98;
    0x000a2774 move a0, fp                   |     a0 = fp;
    0x000a2778 jalr t9                       |     t9 ();
    0x000a277c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2780 b 0xa1560                     |     goto label_92;
                                             | label_233:
    0x000a2784 lw v0, 0x20(s2)               |     v0 = *((s2 + 8));
    0x000a2788 b 0xa1dec                     |     goto label_93;
                                             | label_235:
    0x000a278c lw v0, 0x24(s2)               |     v0 = *((s2 + 9));
    0x000a2790 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000a2794 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x000a2798 lw v0, 0x20(s2)               |     v0 = *((s2 + 8));
    0x000a279c addiu a3, sp, 0xec            |     a3 = sp + 0xec;
    0x000a27a0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000a27a4 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000a27a8 addiu a2, zero, -1            |     a2 = -1;
    0x000a27ac sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000a27b0 addiu v0, sp, 0xa4            |     v0 = sp + 0xa4;
    0x000a27b4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000a27b8 move a1, s3                   |     a1 = s3;
    0x000a27bc addiu t9, t9, -0x5c58         |     t9 += -0x5c58;
    0x000a27c0 move a0, fp                   |     a0 = fp;
    0x000a27c4 bal 0xaa3a8                   |     fcn_000aa3a8 ();
    0x000a27c8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a27cc lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000a27d0 addiu t9, t9, 0x7fd4          |     t9 += 0x7fd4;
    0x000a27d4 move a0, s2                   |     a0 = s2;
    0x000a27d8 jalr t9                       |     t9 ();
    0x000a27dc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a27e0 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x000a27e4 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000a27e8 addiu v0, v0, 0x5e54          |     v0 += 0x5e54;
    0x000a27ec sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x000a27f0 b 0xa0fc0                     |     goto label_60;
                                             | label_213:
    0x000a27f4 lw a3, 0x38(sp)               |     a3 = *(var_38h);
    0x000a27f8 addiu a1, zero, 0x51          |     a1 = 0x51;
    0x000a27fc lw a2, 8(v0)                  |     a2 = *((v0 + 2));
    0x000a2800 move a0, s0                   |     a0 = s0;
    0x000a2804 move t9, s5                   |     t9 = s5;
    0x000a2808 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a280c jalr t9                       |     t9 ();
    0x000a2810 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x000a2814 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x000a2818 bnez v0, 0xa12b8              |         goto label_94;
                                             |     }
    0x000a281c lw a1, 0x68(sp)               |     a1 = *(var_68h);
    0x000a2820 b 0xa12e4                     |     goto label_95;
                                             | label_214:
    0x000a2824 addiu t4, t4, 1               |     t4++;
                                             |     if (v1 != 0) {
    0x000a2828 bnez v1, 0xa1414              |         goto label_96;
                                             |     }
                                             | label_106:
    0x000a282c lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000a2830 sw t2, 0x64(sp)               |     *(var_64h) = t2;
    0x000a2834 move a2, zero                 |     a2 = 0;
    0x000a2838 move a1, a3                   |     a1 = a3;
    0x000a283c addiu t9, t9, 0x78dc          |     t9 += 0x78dc;
    0x000a2840 move a0, s7                   |     a0 = s7;
    0x000a2844 jalr t9                       |     t9 ();
    0x000a2848 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x000a284c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2850 lw t2, 0x64(sp)               |     t2 = *(var_64h);
                                             |     if (v0 != 0) {
    0x000a2854 beqz v0, 0xa2860              |         
    0x000a2858 lw v1, 0x48(sp)               |         v1 = *(var_48h);
    0x000a285c sb v1, 0x10(v0)               |         *((v0 + 16)) = v1;
                                             |     }
    0x000a2860 andi v0, s1, 0xff             |     v0 = s1 & 0xff;
    0x000a2864 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a2868 lw a0, 0x140(sp)              |     a0 = *(var_140h);
    0x000a286c b 0xa05e8                     |     goto label_47;
                                             | label_239:
    0x000a2870 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000a2874 lw a1, 0x48(sp)               |     a1 = *(var_48h);
    0x000a2878 addiu t9, t9, 0x2c98          |     t9 += 0x2c98;
    0x000a287c move a0, fp                   |     a0 = fp;
    0x000a2880 jalr t9                       |     t9 ();
    0x000a2884 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2888 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000a288c addiu t9, t9, 0x2bf0          |     t9 += 0x2bf0;
    0x000a2890 b 0xa12d4                     |     goto label_69;
                                             | label_174:
    0x000a2894 move s0, t2                   |     s0 = t2;
    0x000a2898 b 0xa089c                     |     goto label_97;
                                             | label_241:
    0x000a289c lw v1, 0x6c(s4)               |     v1 = *((s4 + 27));
                                             | label_242:
    0x000a28a0 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x000a28a4 sw v1, 0x48(sp)               |     *(var_48h) = v1;
    0x000a28a8 sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x000a28ac b 0xa1648                     |     goto label_79;
                                             | label_226:
    0x000a28b0 lw t1, 0x28(fp)               |     t1 = *(arg_28h);
    0x000a28b4 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x000a28b8 addiu a0, t1, 1               |     a0 = t1 + 1;
    0x000a28bc addiu a3, v0, 1               |     a3 = v0 + 1;
    0x000a28c0 addiu v0, v0, 2               |     v0 += 2;
    0x000a28c4 sw a3, 0x54(s0)               |     *((s0 + 21)) = a3;
    0x000a28c8 addiu a2, zero, 1             |     a2 = 1;
    0x000a28cc sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x000a28d0 addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a28d4 sw v0, 0x58(s0)               |     *((s0 + 22)) = v0;
    0x000a28d8 move t9, s5                   |     t9 = s5;
    0x000a28dc sw a0, 0x28(fp)               |     *(arg_28h) = a0;
    0x000a28e0 sw t1, 0x38(s0)               |     *((s0 + 14)) = t1;
    0x000a28e4 move a0, s1                   |     a0 = s1;
    0x000a28e8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a28ec jalr t9                       |     t9 ();
    0x000a28f0 lw a3, 0x58(s0)               |     a3 = *((s0 + 22));
    0x000a28f4 move a2, zero                 |     a2 = 0;
    0x000a28f8 addiu a1, zero, 0x46          |     a1 = 0x46;
    0x000a28fc move a0, s1                   |     a0 = s1;
    0x000a2900 move t9, s5                   |     t9 = s5;
    0x000a2904 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a2908 jalr t9                       |     t9 ();
    0x000a290c lw a2, 0x38(s0)               |     a2 = *((s0 + 14));
    0x000a2910 lw a3, 0x2c(s0)               |     a3 = *((s0 + 11));
    0x000a2914 addiu a1, zero, 0x6f          |     a1 = 0x6f;
    0x000a2918 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a291c move t9, s5                   |     t9 = s5;
    0x000a2920 move a0, s1                   |     a0 = s1;
    0x000a2924 jalr t9                       |     t9 ();
    0x000a2928 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a292c lw t2, 0x38(sp)               |     t2 = *(var_38h);
    0x000a2930 b 0xa1d4c                     |     goto label_98;
                                             | label_140:
    0x000a2934 lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (v0 <= 0) {
    0x000a2938 blezl v0, 0x9f490             |         goto label_7;
                                             |     }
    0x000a293c lbu v0, 0x51(s7)              |     v0 = *((s7 + 81));
    0x000a2940 move v0, zero                 |     v0 = 0;
                                             |     if (a0 == 0) {
    0x000a2944 beqz a0, 0xa296c              |         goto label_247;
                                             |     }
    0x000a2948 lw a1, (a0)                   |     a1 = *(a0);
    0x000a294c addiu a0, a0, 0x14            |     a0 += 0x14;
    0x000a2950 b 0xa2960                     |     goto label_248;
                                             | label_99:
    0x000a2954 lhu v1, -0x14(a0)             |     v1 = *((a0 - 10));
    0x000a2958 addiu v0, v0, 1               |     v0++;
                                             |     if (v1 == 0) {
    0x000a295c beqz v1, 0x9f48c              |         goto label_8;
                                             |     }
                                             | label_248:
    0x000a2960 slt v1, v0, a1                |     v1 = (v0 < a1) ? 1 : 0;
    0x000a2964 addiu a0, a0, 0x14            |     a0 += 0x14;
                                             |     if (v1 == 0) {
    0x000a2968 bnel v1, zero, 0xa2954        |         goto label_99;
                                             |     }
                                             | label_247:
    0x000a296c addiu v0, zero, 0x48          |     v0 = 0x48;
                                             | label_139:
    0x000a2970 mul v1, s3, v0                |     __asm ("mul v1, s3, v0");
    0x000a2974 lw t9, 0x38(sp)               |     t9 = *(var_38h);
    0x000a2978 lw s5, 0xf0(s2)               |     s5 = *((s2 + 60));
    0x000a297c move a3, zero                 |     a3 = 0;
    0x000a2980 move a2, zero                 |     a2 = 0;
    0x000a2984 addu v0, v1, fp               |     v0 = v1 + fp;
    0x000a2988 addiu a1, zero, 0x15          |     a1 = 0x15;
    0x000a298c lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x000a2990 lw v0, 0x30(v0)               |     v0 = *((v0 + 12));
    0x000a2994 sw a0, 0xf0(s2)               |     *((s2 + 60)) = a0;
    0x000a2998 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x000a299c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000a29a0 move a0, s2                   |     a0 = s2;
    0x000a29a4 jalr t9                       |     t9 ();
    0x000a29a8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a29ac lw a3, 0x34(s1)               |     a3 = *((s1 + 13));
    0x000a29b0 sw s5, 0xf0(s2)               |     *((s2 + 60)) = s5;
    0x000a29b4 lw s1, -0x7f98(gp)            |     s1 = *((gp - 8166));
    0x000a29b8 sw s3, 0x64(sp)               |     *(var_64h) = s3;
    0x000a29bc addiu s1, s1, 0x7c94          |     s1 += 0x7c94;
    0x000a29c0 sw s2, 0x3c(sp)               |     *(var_3ch) = s2;
                                             |     do {
    0x000a29c4 move a2, zero                 |         a2 = 0;
                                             |         if (a3 == 0) {
    0x000a29c8 beqz a3, 0xa2bbc              |             goto label_249;
                                             |         }
    0x000a29cc lw s2, 0x30(s4)               |         s2 = *((s4 + 12));
    0x000a29d0 lw s3, 0x3c(s4)               |         s3 = *((s4 + 15));
    0x000a29d4 sw a3, 0x68(sp)               |         *(var_68h) = a3;
    0x000a29d8 lw s5, 0x34(s4)               |         s5 = *((s4 + 13));
    0x000a29dc sw zero, 0x30(s4)             |         *((s4 + 12)) = 0;
    0x000a29e0 sw zero, 0x20(s4)             |         *((s4 + 8)) = 0;
    0x000a29e4 sw zero, 0x34(s4)             |         *((s4 + 13)) = 0;
    0x000a29e8 sw zero, 0x3c(s4)             |         *((s4 + 15)) = 0;
    0x000a29ec move a1, s4                   |         a1 = s4;
    0x000a29f0 move t9, s1                   |         t9 = s1;
    0x000a29f4 move a0, s0                   |         a0 = s0;
    0x000a29f8 jalr t9                       |         t9 ();
    0x000a29fc addiu t2, zero, -0x80         |         t2 = -0x80;
    0x000a2a00 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000a2a04 sw s3, 0x3c(s4)               |         *((s4 + 15)) = s3;
    0x000a2a08 sw s2, 0x30(s4)               |         *((s4 + 12)) = s2;
    0x000a2a0c sw fp, 0x20(s4)               |         *((s4 + 8)) = fp;
    0x000a2a10 sb t2, 4(s4)                  |         *((s4 + 4)) = t2;
    0x000a2a14 lw a3, 0x68(sp)               |         a3 = *(var_68h);
                                             |         if (v0 == 0) {
    0x000a2a18 beqz v0, 0xa2a44              |             goto label_250;
                                             |         }
    0x000a2a1c sw s5, 0x34(v0)               |         *((v0 + 13)) = s5;
                                             |         if (s5 != 0) {
    0x000a2a20 beqz s5, 0xa2a28              |             
    0x000a2a24 sw v0, 0x38(s5)               |             *((s5 + 14)) = v0;
                                             |         }
    0x000a2a28 sw s4, 0x38(v0)               |         *((v0 + 14)) = s4;
    0x000a2a2c sw v0, 0x34(s4)               |         *((s4 + 13)) = v0;
                                             | label_100:
    0x000a2a30 lbu v0, 0x51(s0)              |         v0 = *((s0 + 81));
    0x000a2a34 lw s2, 0x3c(sp)               |         s2 = *(var_3ch);
                                             |         if (v0 != 0) {
    0x000a2a38 bnez v0, 0xa2e9c              |             goto label_251;
                                             |         }
    0x000a2a3c lw a3, 0x34(a3)               |         a3 = *((a3 + 13));
    0x000a2a40 b 0xa29c4                     |         
                                             |     } while (1);
                                             | label_250:
    0x000a2a44 sw s5, 0x34(s4)               |     *((s4 + 13)) = s5;
    0x000a2a48 b 0xa2a30                     |     goto label_100;
                                             | label_132:
    0x000a2a4c move t2, fp                   |     t2 = fp;
    0x000a2a50 move s3, s4                   |     s3 = s4;
    0x000a2a54 move fp, s2                   |     fp = s2;
    0x000a2a58 lw s4, 0x4c(sp)               |     s4 = *(var_4ch);
    0x000a2a5c lw s2, 0x50(sp)               |     s2 = *(var_50h);
                                             |     if (a0 != 0) {
    0x000a2a60 bnez a0, 0xa0294              |         goto label_101;
                                             |     }
    0x000a2a64 lh v0, 0x4c(s7)               |     v0 = *((s7 + 38));
    0x000a2a68 lw v0, -0x7fa0(gp)            |     v0 = *((gp - 8168));
                                             |     if (v0 < 0) {
    0x000a2a6c bltz v0, 0x9fcf0              |         goto label_27;
                                             |     }
    0x000a2a70 lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
    0x000a2a74 lw s0, -0x7f70(gp)            |     s0 = *((gp - 8156));
    0x000a2a78 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x000a2a7c lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000a2a80 sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x000a2a84 addiu v0, v0, -0x7a8c         |     v0 += -0x7a8c;
    0x000a2a88 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x000a2a8c lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x000a2a90 addiu s1, sp, 0xb0            |     s1 = sp + 0xb0;
    0x000a2a94 addiu v0, v0, 0xaf4           |     v0 += 0xaf4;
    0x000a2a98 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x000a2a9c lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
    0x000a2aa0 addiu s0, s0, 0x1ac8          |     s0 += 0x1ac8;
    0x000a2aa4 addiu v0, v0, 0x19fc          |     v0 += 0x19fc;
    0x000a2aa8 addiu s5, sp, 0xcc            |     s5 = sp + 0xcc;
    0x000a2aac sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x000a2ab0 sw t2, 0x54(sp)               |     *(var_54h) = t2;
    0x000a2ab4 b 0xa2ac4                     |     goto label_252;
                                             | label_103:
    0x000a2ab8 lw v0, 0xb8(sp)               |     v0 = *(var_b8h);
    0x000a2abc lw t2, 0x54(sp)               |     t2 = *(var_54h);
                                             |     if (v0 == 0) {
    0x000a2ac0 beqz v0, 0xa0290              |         goto label_102;
                                             |     }
                                             | label_252:
    0x000a2ac4 lw a1, 0x24(s3)               |     a1 = *((s3 + 9));
    0x000a2ac8 move a0, s1                   |     a0 = s1;
    0x000a2acc sw zero, 0xb4(sp)             |     *(var_b4h) = 0;
    0x000a2ad0 sw zero, 0xb8(sp)             |     *(var_b8h) = 0;
    0x000a2ad4 move t9, s0                   |     t9 = s0;
    0x000a2ad8 sw zero, 0xbc(sp)             |     *(var_bch) = 0;
    0x000a2adc jalr t9                       |     t9 ();
    0x000a2ae0 lw v0, 0xb4(sp)               |     v0 = *(var_b4h);
    0x000a2ae4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a2ae8 beqz v0, 0xa2ab8              |         goto label_103;
                                             |     }
    0x000a2aec lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x000a2af0 lw a1, 0x24(s3)               |     a1 = *((s3 + 9));
    0x000a2af4 sw v0, 0xd0(sp)               |     *(var_d0h) = v0;
    0x000a2af8 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x000a2afc sw zero, 0xd8(sp)             |     *(var_d8h) = 0;
    0x000a2b00 sw zero, 0xdc(sp)             |     *(var_dch) = 0;
    0x000a2b04 sw zero, 0xe0(sp)             |     *(var_e0h) = 0;
    0x000a2b08 sw fp, 0xcc(sp)               |     *(var_cch) = fp;
    0x000a2b0c sw v0, 0xd4(sp)               |     *(var_d4h) = v0;
    0x000a2b10 sw s1, 0xe4(sp)               |     *(var_e4h) = s1;
                                             |     if (a1 != 0) {
    0x000a2b14 beqz a1, 0xa2b28              |         
    0x000a2b18 lw t9, 0x50(sp)               |         t9 = *(var_50h);
    0x000a2b1c move a0, s5                   |         a0 = s5;
    0x000a2b20 jalr t9                       |         t9 ();
    0x000a2b24 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a2b28 lw a1, 0xbc(sp)               |     a1 = *(var_bch);
    0x000a2b2c lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
                                             |     if (a1 == 0) {
    0x000a2b30 beqz a1, 0xa2ab8              |         goto label_103;
                                             |     }
    0x000a2b34 addiu t9, v0, 0x5858          |     t9 = v0 + 0x5858;
    0x000a2b38 lw v0, 0xb0(sp)               |     v0 = *(var_b0h);
    0x000a2b3c lw a0, (v0)                   |     a0 = *(v0);
    0x000a2b40 jalr t9                       |     t9 ();
    0x000a2b44 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2b48 b 0xa2ab8                     |     goto label_103;
                                             | label_184:
    0x000a2b4c lui v0, 0xfff0                |     v0 = 0xfff00000;
    0x000a2b50 ori s5, v0, 0xbdc0            |     s5 = v0 | 0xbdc0;
    0x000a2b54 b 0xa0d98                     |     goto label_104;
                                             | label_215:
    0x000a2b58 addiu a0, a0, -0x5a44         |     a0 += -0x5a44;
                                             | label_105:
    0x000a2b5c lbu v1, (t1)                  |     v1 = *(t1);
    0x000a2b60 lbu a2, (a0)                  |     a2 = *(a0);
                                             |     if (v1 == a2) {
    0x000a2b64 beq v1, a2, 0xa2b88           |         goto label_253;
                                             |     }
    0x000a2b68 nop                           |     
    0x000a2b6c lbux v1, v1(v0)               |     __asm ("lbux v1, v1(v0)");
    0x000a2b70 lbux a2, a2(v0)               |     __asm ("lbux a2, a2(v0)");
    0x000a2b74 move s0, zero                 |     s0 = 0;
                                             |     if (v1 != a2) {
    0x000a2b78 bne v1, a2, 0xa05f4           |         goto label_48;
                                             |     }
    0x000a2b7c addiu t1, t1, 1               |     t1++;
                                             |     do {
    0x000a2b80 addiu a0, a0, 1               |         a0++;
    0x000a2b84 b 0xa2b5c                     |         goto label_105;
                                             | label_253:
    0x000a2b88 addiu t1, t1, 1               |         t1++;
    0x000a2b8c bnez v1, 0xa2b80              |         
                                             |     } while (v1 != 0);
    0x000a2b90 addiu v0, zero, 1             |     v0 = 1;
    0x000a2b94 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000a2b98 addiu s1, zero, 2             |     s1 = 2;
    0x000a2b9c b 0xa282c                     |     goto label_106;
                                             | label_245:
    0x000a2ba0 lw s1, 0x2c(fp)               |     s1 = *(arg_2ch);
    0x000a2ba4 b 0xa26dc                     |     goto label_107;
                                             | label_183:
    0x000a2ba8 lw a0, 0x138(sp)              |     a0 = *(var_138h);
    0x000a2bac lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
                                             |     if (a0 == 0) {
    0x000a2bb0 beqz a0, 0xa2550              |         goto label_108;
                                             |     }
    0x000a2bb4 lw t3, -0x7f50(gp)            |     t3 = *((gp - 8148));
    0x000a2bb8 b 0xa2418                     |     goto label_81;
                                             | label_249:
    0x000a2bbc lw s3, 0x64(sp)               |     s3 = *(var_64h);
    0x000a2bc0 addiu v0, zero, 0x48          |     v0 = 0x48;
    0x000a2bc4 mul v1, s3, v0                |     __asm ("mul v1, s3, v0");
    0x000a2bc8 lw s2, 0x3c(sp)               |     s2 = *(var_3ch);
    0x000a2bcc addu v0, v1, fp               |     v0 = v1 + fp;
    0x000a2bd0 lw a1, 0xc(v0)                |     a1 = *((v0 + 3));
    0x000a2bd4 lw v0, 0x1c(v0)               |     v0 = *((v0 + 7));
    0x000a2bd8 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
                                             |     if (a1 != 0) {
    0x000a2bdc beqz a1, 0xa2bf4              |         
    0x000a2be0 lw t9, -0x7fb0(gp)            |         t9 = *((gp - 8172));
    0x000a2be4 addiu t9, t9, 0x5858          |         t9 += 0x5858;
    0x000a2be8 move a0, s0                   |         a0 = s0;
    0x000a2bec jalr t9                       |         t9 ();
    0x000a2bf0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a2bf4 addiu v0, zero, 0x48          |     v0 = 0x48;
    0x000a2bf8 mul v1, s3, v0                |     __asm ("mul v1, s3, v0");
    0x000a2bfc addu v0, v1, fp               |     v0 = v1 + fp;
    0x000a2c00 lw a1, 0x10(v0)               |     a1 = *((v0 + 4));
    0x000a2c04 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (a1 != 0) {
    0x000a2c08 beqz a1, 0xa2c1c              |         
    0x000a2c0c addiu t9, t9, 0x5858          |         t9 += 0x5858;
    0x000a2c10 move a0, s0                   |         a0 = s0;
    0x000a2c14 jalr t9                       |         t9 ();
    0x000a2c18 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a2c1c addiu v0, zero, 0x48          |     v0 = 0x48;
    0x000a2c20 mul v1, s3, v0                |     __asm ("mul v1, s3, v0");
    0x000a2c24 addu v0, v1, fp               |     v0 = v1 + fp;
    0x000a2c28 lw a1, 0x14(v0)               |     a1 = *((v0 + 5));
    0x000a2c2c lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (a1 != 0) {
    0x000a2c30 beqz a1, 0xa2c44              |         
    0x000a2c34 addiu t9, t9, 0x5858          |         t9 += 0x5858;
    0x000a2c38 move a0, s0                   |         a0 = s0;
    0x000a2c3c jalr t9                       |         t9 ();
    0x000a2c40 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a2c44 addiu v0, zero, 0x48          |     v0 = 0x48;
    0x000a2c48 mul v1, s3, v0                |     __asm ("mul v1, s3, v0");
    0x000a2c4c addu v0, v1, fp               |     v0 = v1 + fp;
    0x000a2c50 lw a0, 0x18(v0)               |     a0 = *((v0 + 6));
    0x000a2c54 sw zero, 0xc(v0)              |     *((v0 + 3)) = 0;
    0x000a2c58 sw zero, 0x10(v0)             |     *((v0 + 4)) = 0;
    0x000a2c5c sw zero, 0x14(v0)             |     *((v0 + 5)) = 0;
    0x000a2c60 sw zero, 0x1c(v0)             |     *((v0 + 7)) = 0;
                                             |     if (a0 != 0) {
    0x000a2c64 beqz a0, 0xa2c8c              |         
    0x000a2c68 lw v0, 0x20(a0)               |         v0 = *((a0 + 8));
    0x000a2c6c addiu a1, zero, 1             |         a1 = 1;
    0x000a2c70 addiu v0, v0, -1              |         v0 += -1;
                                             |         if (v0 == a1) {
    0x000a2c74 beq v0, a1, 0xa2f78           |             goto label_254;
                                             |         }
    0x000a2c78 sw v0, 0x20(a0)               |         *((a0 + 8)) = v0;
                                             | label_117:
    0x000a2c7c addiu v0, zero, 0x48          |         v0 = 0x48;
    0x000a2c80 mul v1, s3, v0                |         __asm ("mul v1, s3, v0");
    0x000a2c84 addu v0, v1, fp               |         v0 = v1 + fp;
    0x000a2c88 sw zero, 0x18(v0)             |         *((v0 + 6)) = 0;
                                             |     }
    0x000a2c8c addiu v0, zero, 0x48          |     v0 = 0x48;
    0x000a2c90 mul v0, s3, v0                |     __asm ("mul v0, s3, v0");
    0x000a2c94 lw s5, 0x3c(sp)               |     s5 = *(var_3ch);
    0x000a2c98 sw s7, 0x68(sp)               |     *(var_68h) = s7;
    0x000a2c9c sw s4, 0x6c(sp)               |     *(var_6ch) = s4;
    0x000a2ca0 move s7, s5                   |     s7 = s5;
    0x000a2ca4 sw v0, 0x78(sp)               |     *(var_78h) = v0;
    0x000a2ca8 lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
    0x000a2cac move s5, s4                   |     s5 = s4;
    0x000a2cb0 sw v0, 0x80(sp)               |     *(var_80h) = v0;
    0x000a2cb4 addiu v0, zero, -1            |     v0 = -1;
    0x000a2cb8 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x000a2cbc lw v0, -0x7f70(gp)            |     v0 = *((gp - 8156));
    0x000a2cc0 sw fp, 0x84(sp)               |     *(var_84h) = fp;
    0x000a2cc4 addiu v0, v0, 0x446c          |     v0 += 0x446c;
    0x000a2cc8 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x000a2ccc move s4, s0                   |     s4 = s0;
                                             | label_110:
    0x000a2cd0 lw s0, 0x20(s7)               |     s0 = *((s7 + 8));
    0x000a2cd4 lw fp, 0x20(s5)               |     fp = *((s5 + 8));
    0x000a2cd8 lw s1, (s0)                   |     s1 = *(s0);
                                             |     if (fp == 0) {
    0x000a2cdc beqz fp, 0xa2f48              |         goto label_255;
                                             |     }
    0x000a2ce0 addiu v0, zero, 0x48          |     v0 = 0x48;
    0x000a2ce4 mul a0, s3, v0                |     __asm ("mul a0, s3, v0");
    0x000a2ce8 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x000a2cec addu v0, a0, v1               |     v0 = a0 + v1;
    0x000a2cf0 lbu v0, 0x2c(v0)              |     v0 = *((v0 + 44));
    0x000a2cf4 sw v0, 0x70(sp)               |     *(var_70h) = v0;
                                             | label_116:
    0x000a2cf8 slti v0, s1, 2                |     v0 = (s1 < 2) ? 1 : 0;
    0x000a2cfc addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 == 0) {
    0x000a2d00 beqz v0, 0xa2f1c              |         goto label_256;
                                             |     }
    0x000a2d04 addiu v0, zero, 0x48          |     v0 = 0x48;
                                             |     if (s1 != v0) {
    0x000a2d08 bne s1, v0, 0xa2dcc           |         goto label_257;
                                             |     }
                                             | label_115:
    0x000a2d0c lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x000a2d10 move t3, zero                 |     t3 = 0;
    0x000a2d14 addu t2, fp, v0               |     t2 = fp + v0;
    0x000a2d18 sw s3, 0x88(sp)               |     *(var_88h) = s3;
    0x000a2d1c sw s2, 0x8c(sp)               |     *(var_8ch) = s2;
    0x000a2d20 addiu s0, s0, 8               |     s0 += 8;
    0x000a2d24 move s3, t2                   |     s3 = t2;
    0x000a2d28 move s2, t3                   |     s2 = t3;
                                             | label_109:
    0x000a2d2c lw a1, 0x38(s3)               |     a1 = *((s3 + 14));
    0x000a2d30 lw t9, 0x54(sp)               |     t9 = *(var_54h);
                                             |     if (a1 != 0) {
    0x000a2d34 beqz a1, 0xa2d44              |         
    0x000a2d38 move a0, s4                   |         a0 = s4;
    0x000a2d3c jalr t9                       |         t9 ();
    0x000a2d40 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a2d44 move v0, s0                   |     v0 = s0;
    0x000a2d48 addiu v1, s3, 8               |     v1 = s3 + 8;
    0x000a2d4c addiu t0, s0, 0x40            |     t0 = s0 + 0x40;
                                             |     do {
    0x000a2d50 lw a3, (v0)                   |         a3 = *(v0);
    0x000a2d54 lw a2, 4(v0)                  |         a2 = *((v0 + 1));
    0x000a2d58 lw a1, 8(v0)                  |         a1 = *((v0 + 2));
    0x000a2d5c lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x000a2d60 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x000a2d64 sw a3, (v1)                   |         *(v1) = a3;
    0x000a2d68 sw a2, 4(v1)                  |         *((v1 + 1)) = a2;
    0x000a2d6c sw a1, 8(v1)                  |         *((v1 + 2)) = a1;
    0x000a2d70 sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x000a2d74 addiu v1, v1, 0x10            |         v1 += 0x10;
    0x000a2d78 bne v0, t0, 0xa2d50           |         
                                             |     } while (v0 != t0);
    0x000a2d7c lw a0, (v0)                   |     a0 = *(v0);
    0x000a2d80 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x000a2d84 sw a0, (v1)                   |     *(v1) = a0;
    0x000a2d88 sw v0, 4(v1)                  |     *((v1 + 1)) = v0;
    0x000a2d8c lw v0, 0x28(s0)               |     v0 = *((s0 + 10));
    0x000a2d90 lw t9, -0x7dcc(gp)            |     t9 = *((gp - 8051));
    0x000a2d94 move a0, s0                   |     a0 = s0;
    0x000a2d98 addiu a2, zero, 0x48          |     a2 = 0x48;
    0x000a2d9c move a1, zero                 |     a1 = 0;
    0x000a2da0 addiu s2, s2, 1               |     s2++;
    0x000a2da4 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x000a2da8 jalr t9                       |     t9 ();
    0x000a2dac slt v0, s2, s1                |     v0 = (s2 < s1) ? 1 : 0;
    0x000a2db0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2db4 addiu s3, s3, 0x48            |     s3 += 0x48;
    0x000a2db8 addiu s0, s0, 0x48            |     s0 += 0x48;
                                             |     if (v0 != 0) {
    0x000a2dbc bnez v0, 0xa2d2c              |         goto label_109;
                                             |     }
    0x000a2dc0 lw s3, 0x88(sp)               |     s3 = *(var_88h);
    0x000a2dc4 lw s2, 0x8c(sp)               |     s2 = *(var_8ch);
    0x000a2dc8 addiu v0, zero, 0x48          |     v0 = 0x48;
                                             | label_257:
    0x000a2dcc mul v1, s3, v0                |     __asm ("mul v1, s3, v0");
    0x000a2dd0 lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x000a2dd4 addu a3, v1, fp               |     a3 = v1 + fp;
    0x000a2dd8 sb v0, 0x2c(a3)               |     *((a3 + 44)) = v0;
    0x000a2ddc lw v0, 0x30(s7)               |     v0 = *((s7 + 12));
    0x000a2de0 lw a1, (v0)                   |     a1 = *(v0);
                                             |     if (v0 == 0) {
    0x000a2de4 bnel v0, zero, 0xa2ef0        |         goto label_258;
                                             |     }
                                             | label_113:
    0x000a2de8 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x000a2dec lw a3, 0x24(s7)               |     a3 = *((s7 + 9));
    0x000a2df0 sw zero, 0x24(s7)             |     *((s7 + 9)) = 0;
                                             |     if (v0 != 0) {
    0x000a2df4 beqz v0, 0xa2e10              |         
    0x000a2df8 lw v0, 0x80(sp)               |         v0 = *(var_80h);
    0x000a2dfc lw a1, 0x64(sp)               |         a1 = *(var_64h);
    0x000a2e00 addiu t9, v0, -0x4ec8         |         t9 = v0 + -0x4ec8;
    0x000a2e04 move a0, a3                   |         a0 = a3;
    0x000a2e08 jalr t9                       |         t9 ();
    0x000a2e0c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x000a2e10 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a2e14 lw a2, 0x24(s5)               |     a2 = *((s5 + 9));
    0x000a2e18 move a1, a3                   |     a1 = a3;
    0x000a2e1c addiu t9, t9, -0x3cb0         |     t9 += -0x3cb0;
    0x000a2e20 move a0, s2                   |     a0 = s2;
    0x000a2e24 jalr t9                       |     t9 ();
    0x000a2e28 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2e2c sw v0, 0x24(s5)               |     *((s5 + 9)) = v0;
    0x000a2e30 lbu v0, 0x51(s4)              |     v0 = *((s4 + 81));
    0x000a2e34 lw v1, 0x74(sp)               |     v1 = *(var_74h);
                                             |     if (v0 == 0) {
    0x000a2e38 beqz v0, 0xa2eb0              |         goto label_259;
                                             |     }
                                             | label_112:
    0x000a2e3c lw v1, 8(s7)                  |     v1 = *((s7 + 2));
    0x000a2e40 lw v0, 8(s5)                  |     v0 = *((s5 + 2));
    0x000a2e44 andi v1, v1, 0x100            |     v1 &= aav.0x00000100;
    0x000a2e48 lw a0, 0x3c(s7)               |     a0 = *((s7 + 15));
    0x000a2e4c or v0, v0, v1                 |     v0 |= v1;
    0x000a2e50 sw v0, 8(s5)                  |     *((s5 + 2)) = v0;
                                             |     if (a0 != 0) {
    0x000a2e54 beqz a0, 0xa2e60              |         
    0x000a2e58 sw a0, 0x3c(s5)               |         *((s5 + 15)) = a0;
    0x000a2e5c sw zero, 0x3c(s7)             |         *((s7 + 15)) = 0;
                                             |     }
    0x000a2e60 lw s5, 0x34(s5)               |     s5 = *((s5 + 13));
    0x000a2e64 lw s7, 0x34(s7)               |     s7 = *((s7 + 13));
                                             |     if (s5 != 0) {
    0x000a2e68 bnez s5, 0xa2cd0              |         goto label_110;
                                             |     }
                                             | label_114:
    0x000a2e6c lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x000a2e70 move s0, s4                   |     s0 = s4;
    0x000a2e74 lw s7, 0x68(sp)               |     s7 = *(var_68h);
    0x000a2e78 lw s4, 0x6c(sp)               |     s4 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x000a2e7c beqz v0, 0xa2e9c              |         
    0x000a2e80 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
    0x000a2e84 lw a1, 0x3c(sp)               |         a1 = *(var_3ch);
    0x000a2e88 addiu a2, zero, 1             |         a2 = 1;
    0x000a2e8c addiu t9, t9, 0x3578          |         t9 += 0x3578;
    0x000a2e90 move a0, s0                   |         a0 = s0;
    0x000a2e94 jalr t9                       |         t9 ();
    0x000a2e98 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
                                             | label_251:
    0x000a2e9c lw v0, 0x24(s2)               |     v0 = *((s2 + 9));
    0x000a2ea0 addiu s3, zero, -1            |     s3 = -1;
                                             |     if (v0 != 0) {
    0x000a2ea4 bnez v0, 0xa0974              |         goto label_111;
                                             |     }
    0x000a2ea8 lw fp, 0x20(s4)               |     fp = *((s4 + 8));
    0x000a2eac b 0x9f48c                     |     goto label_8;
                                             | label_259:
    0x000a2eb0 lw v0, (s7)                   |     v0 = *(s7);
    0x000a2eb4 sw v1, 0xd0(sp)               |     *(var_d0h) = v1;
    0x000a2eb8 lw v1, 0x64(sp)               |     v1 = *(var_64h);
    0x000a2ebc lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000a2ec0 sw v1, 0xd4(sp)               |     *(var_d4h) = v1;
    0x000a2ec4 lw v1, 0x5c(sp)               |     v1 = *(var_5ch);
    0x000a2ec8 move a2, zero                 |     a2 = 0;
    0x000a2ecc move a1, s5                   |     a1 = s5;
    0x000a2ed0 addiu a0, sp, 0xcc            |     a0 = sp + 0xcc;
    0x000a2ed4 sw s2, 0xcc(sp)               |     *(var_cch) = s2;
    0x000a2ed8 sw v1, 0xd8(sp)               |     *(var_d8h) = v1;
    0x000a2edc addiu t9, t9, -0x4d64         |     t9 += -0x4d64;
    0x000a2ee0 sw v0, 0xdc(sp)               |     *(var_dch) = v0;
    0x000a2ee4 jalr t9                       |     t9 ();
    0x000a2ee8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000a2eec b 0xa2e3c                     |     goto label_112;
                                             | label_258:
    0x000a2ef0 addiu a0, v0, 0x14            |     a0 = v0 + 0x14;
    0x000a2ef4 move v1, zero                 |     v1 = 0;
    0x000a2ef8 b 0xa2f04                     |     
                                             |     while (a2 == 0) {
    0x000a2efc addiu v1, v1, 1               |         v1++;
    0x000a2f00 addiu a0, a0, 0x14            |         a0 += 0x14;
    0x000a2f04 slt a2, v1, a1                |         a2 = (v1 < a1) ? 1 : 0;
    0x000a2f08 sh zero, (a0)                 |         *(a0) = 0;
    0x000a2f0c bnel a2, zero, 0xa2efc        |         
                                             |     }
    0x000a2f10 sw v0, 0x30(s5)               |     *((s5 + 12)) = v0;
    0x000a2f14 sw zero, 0x30(s7)             |     *((s7 + 12)) = 0;
    0x000a2f18 b 0xa2de8                     |     goto label_113;
                                             | label_256:
    0x000a2f1c lw t9, 0x58(sp)               |     t9 = *(var_58h);
    0x000a2f20 move a1, fp                   |     a1 = fp;
    0x000a2f24 addiu a3, s3, 1               |     a3 = s3 + 1;
    0x000a2f28 addiu a2, s1, -1              |     a2 = s1 + -1;
    0x000a2f2c move a0, s2                   |     a0 = s2;
    0x000a2f30 jalr t9                       |     t9 ();
    0x000a2f34 move fp, v0                   |     fp = v0;
    0x000a2f38 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a2f3c beqz v0, 0xa2e6c              |         goto label_114;
                                             |     }
    0x000a2f40 sw v0, 0x20(s5)               |     *((s5 + 8)) = v0;
    0x000a2f44 b 0xa2d0c                     |     goto label_115;
                                             | label_255:
    0x000a2f48 lw t9, 0x7c(sp)               |     t9 = *(var_7ch);
    0x000a2f4c move a3, zero                 |     a3 = 0;
    0x000a2f50 move a2, zero                 |     a2 = 0;
    0x000a2f54 move a1, zero                 |     a1 = 0;
    0x000a2f58 move a0, s2                   |     a0 = s2;
    0x000a2f5c jalr t9                       |     t9 ();
    0x000a2f60 move fp, v0                   |     fp = v0;
    0x000a2f64 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000a2f68 beqz v0, 0xa2e6c              |         goto label_114;
                                             |     }
    0x000a2f6c sw v0, 0x20(s5)               |     *((s5 + 8)) = v0;
    0x000a2f70 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x000a2f74 b 0xa2cf8                     |     goto label_116;
                                             | label_254:
    0x000a2f78 lw v0, 0x74(s2)               |     v0 = *((s2 + 29));
                                             |     if (v0 != 0) {
    0x000a2f7c movz v0, s2, v0               |         v0 = s2;
                                             |     }
    0x000a2f80 lw a1, 0x100(v0)              |     a1 = *(v0);
    0x000a2f84 sw a1, 0x4c(a0)               |     *((a0 + 19)) = a1;
    0x000a2f88 sw a0, 0x100(v0)              |     *(v0) = a0;
    0x000a2f8c b 0xa2c7c                     |     goto label_117;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsqlite3.so.0.8.6 @ 0xab45c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000ab45c ()                  | void fcn_000ab45c () {
                                             | label_10:
    0x000ab45c lui gp, 0xa                   |     
    0x000ab460 addiu gp, gp, -0x6f3c         |     
    0x000ab464 addu gp, gp, t9               |     gp += t9;
    0x000ab468 addiu sp, sp, -0xc8           |     
    0x000ab46c lw v0, -0x7c68(gp)            |     v0 = *((gp - 7962));
    0x000ab470 sw s1, 0xa4(sp)               |     *(var_a4h_2) = s1;
    0x000ab474 lw s1, (a1)                   |     s1 = *(a1);
    0x000ab478 sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
    0x000ab47c lw v0, (v0)                   |     v0 = *(v0);
    0x000ab480 lw v1, (s1)                   |     v1 = *(s1);
    0x000ab484 sw v0, 0x9c(sp)               |     *(var_9ch_2) = v0;
    0x000ab488 sw gp, 0x20(sp)               |     *(var_20h_2) = gp;
    0x000ab48c lw v0, (v1)                   |     v0 = *(v1);
    0x000ab490 sw ra, 0xc4(sp)               |     *(var_c4h) = ra;
    0x000ab494 sw fp, 0xc0(sp)               |     *(var_c0h) = fp;
    0x000ab498 sw s7, 0xbc(sp)               |     *(var_bch_2) = s7;
    0x000ab49c sw s6, 0xb8(sp)               |     *(var_b8h_2) = s6;
    0x000ab4a0 sw s5, 0xb4(sp)               |     *(var_b4h_2) = s5;
    0x000ab4a4 sw s4, 0xb0(sp)               |     *(var_b0h_2) = s4;
    0x000ab4a8 sw s3, 0xac(sp)               |     *(var_ach_2) = s3;
    0x000ab4ac sw s2, 0xa8(sp)               |     *(var_a8h_2) = s2;
    0x000ab4b0 sw s0, 0xa0(sp)               |     *(var_a0h_2) = s0;
    0x000ab4b4 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x000ab4b8 lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x000ab4bc sw a0, 0x38(sp)               |     *(var_38h_2) = a0;
    0x000ab4c0 sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x000ab4c4 sw a2, 0xd0(sp)               |     *(var_d0h) = a2;
    0x000ab4c8 sw v0, 0x50(sp)               |     *(var_50h_3) = v0;
                                             |     if (v0 != 0) {
    0x000ab4cc bnez v0, 0xab5ec              |         goto label_1;
                                             |     }
    0x000ab4d0 sll v0, a2, 1                 |     v0 = a2 << 1;
    0x000ab4d4 lw t0, 0x14(a1)               |     t0 = *((a1 + 5));
    0x000ab4d8 addu v0, v0, a2               |     v0 += a2;
    0x000ab4dc sll v0, v0, 4                 |     v0 <<= 4;
    0x000ab4e0 addu fp, t0, v0               |     fp = t0 + v0;
    0x000ab4e4 move s7, a1                   |     s7 = a1;
    0x000ab4e8 lw s0, (fp)                   |     s0 = *(fp);
    0x000ab4ec addiu a0, s1, 0x1e8           |     a0 = s1 + 0x1e8;
    0x000ab4f0 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x000ab4f4 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
    0x000ab4f8 sw a0, 0x2c(sp)               |     *(var_2ch_4) = a0;
                                             |     if (a1 == 0) {
    0x000ab4fc beqz a1, 0xab62c              |         goto label_87;
                                             |     }
    0x000ab500 lw a2, -0x7f98(gp)            |     a2 = *((gp - 8166));
    0x000ab504 addiu t9, a2, 0x6dcc          |     t9 = a2 + 0x6dcc;
    0x000ab508 jalr t9                       |     t9 ();
    0x000ab50c nop                           |     
    0x000ab510 lbu s6, (s0)                  |     s6 = *(s0);
    0x000ab514 move s4, v0                   |     s4 = v0;
    0x000ab518 addiu v0, zero, 0x31          |     v0 = 0x31;
    0x000ab51c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ab520 move s3, v1                   |     s3 = v1;
                                             |     if (s6 == v0) {
    0x000ab524 beq s6, v0, 0xab640           |         goto label_88;
                                             |     }
                                             | label_0:
    0x000ab528 addiu v0, zero, 0x32          |     v0 = 0x32;
    0x000ab52c lw a2, -0x7f98(gp)            |     a2 = *((gp - 8166));
                                             |     if (s6 == v0) {
    0x000ab530 beq s6, v0, 0xabf18           |         goto label_89;
                                             |     }
    0x000ab534 lw a1, 0x10(s0)               |     a1 = *((s0 + 4));
    0x000ab538 addiu t9, a2, 0x6dcc          |     t9 = a2 + 0x6dcc;
                                             |     if (a1 == 0) {
    0x000ab53c beqz a1, 0xab69c              |         goto label_90;
                                             |     }
    0x000ab540 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_4);
    0x000ab544 sw t9, 0x34(sp)               |     *(var_34h_2) = t9;
    0x000ab548 jalr t9                       |     t9 ();
                                             | label_3:
    0x000ab54c sw v0, 0x20(fp)               |     *(var_20h_2) = v0;
    0x000ab550 sw v1, 0x24(fp)               |     *(arg_24h) = v1;
                                             | label_2:
    0x000ab554 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_4);
    0x000ab558 lw t9, 0x34(sp)               |     t9 = *(var_34h_2);
    0x000ab55c sw zero, 0x1e8(s1)            |     *((s1 + 122)) = 0;
    0x000ab560 move a1, s0                   |     a1 = s0;
    0x000ab564 jalr t9                       |     t9 ();
    0x000ab568 lw a0, 0x1e8(s1)              |     a0 = *((s1 + 122));
    0x000ab56c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ab570 move t0, v0                   |     t0 = v0;
                                             |     if (a0 != 0) {
    0x000ab574 beqz a0, 0xab584              |         
    0x000ab578 lhu v0, 0xa(fp)               |         v0 = *(arg_ah);
    0x000ab57c ori v0, v0, 0x1000            |         v0 |= aav.0x00001000;
    0x000ab580 sh v0, 0xa(fp)                |         *(arg_ah) = v0;
                                             |     }
    0x000ab584 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x000ab588 andi v0, v0, 1                |     v0 &= 1;
                                             |     if (v0 == 0) {
    0x000ab58c beql v0, zero, 0xab6b0        |         goto label_91;
                                             |     }
    0x000ab590 sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x000ab594 lw a2, 0x1ec(s1)              |     a2 = *(s1);
    0x000ab598 lh a3, 0x24(s0)               |     a3 = *((s0 + 18));
                                             |     if (a2 <= 0) {
    0x000ab59c blez a2, 0xab5d0              |         goto label_13;
                                             |     }
    0x000ab5a0 lw v0, 0x1f0(s1)              |     v0 = *((s1 + 124));
                                             |     if (a3 == v0) {
    0x000ab5a4 beql a3, v0, 0xacd1c          |         goto label_92;
                                             |     }
    0x000ab5a8 addiu a0, zero, 1             |     a0 = 1;
    0x000ab5ac addiu v0, s1, 0x1f4           |     v0 = s1 + aav.0x000001f4;
    0x000ab5b0 move a0, zero                 |     a0 = 0;
    0x000ab5b4 b 0xab5c4                     |     
                                             |     while (a0 != a2) {
    0x000ab5b8 lw a1, -4(v0)                 |         a1 = *((v0 - 1));
                                             |         if (a3 == a1) {
    0x000ab5bc beql a3, a1, 0xabf34          |             goto label_93;
                                             |         }
    0x000ab5c0 addiu v0, zero, 1             |         v0 = 1;
    0x000ab5c4 addiu a0, a0, 1               |         a0++;
    0x000ab5c8 addiu v0, v0, 4               |         v0 += 4;
    0x000ab5cc bne a0, a2, 0xab5b8           |         
                                             |     }
                                             | label_13:
    0x000ab5d0 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
                                             | label_15:
    0x000ab5d4 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000ab5d8 lw a0, 0x3c(sp)               |     a0 = *(var_3ch_2);
    0x000ab5dc addiu t9, t9, -0x52ec         |     t9 += -0x52ec;
    0x000ab5e0 addiu a1, a1, -0x5854         |     a1 += -0x5854;
    0x000ab5e4 jalr t9                       |     t9 ();
    0x000ab5e8 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             | label_1:
    0x000ab5ec lw v0, 0x30(sp)               |     v0 = *(var_30h_2);
    0x000ab5f0 lw v1, 0x9c(sp)               |     v1 = *(var_9ch_2);
    0x000ab5f4 lw v0, (v0)                   |     v0 = *(v0);
    0x000ab5f8 lw ra, 0xc4(sp)               |     ra = *(var_c4h);
                                             |     if (v1 != v0) {
    0x000ab5fc bne v1, v0, 0xada9c           |         goto label_94;
                                             |     }
    0x000ab600 lw fp, 0xc0(sp)               |     fp = *(var_c0h);
    0x000ab604 lw s7, 0xbc(sp)               |     s7 = *(var_bch_2);
    0x000ab608 lw s6, 0xb8(sp)               |     s6 = *(var_b8h_2);
    0x000ab60c lw s5, 0xb4(sp)               |     s5 = *(var_b4h_2);
    0x000ab610 lw s4, 0xb0(sp)               |     s4 = *(var_b0h_2);
    0x000ab614 lw s3, 0xac(sp)               |     s3 = *(var_ach_2);
    0x000ab618 lw s2, 0xa8(sp)               |     s2 = *(var_a8h_2);
    0x000ab61c lw s1, 0xa4(sp)               |     s1 = *(var_a4h_2);
    0x000ab620 lw s0, 0xa0(sp)               |     s0 = *(var_a0h_2);
    0x000ab624 addiu sp, sp, 0xc8            |     
    0x000ab628 jr ra                         |     return v0;
                                             | label_87:
    0x000ab62c lbu s6, (s0)                  |     s6 = *(s0);
    0x000ab630 addiu v0, zero, 0x31          |     v0 = 0x31;
    0x000ab634 move s4, zero                 |     s4 = 0;
    0x000ab638 move s3, zero                 |     s3 = 0;
                                             |     if (s6 != v0) {
    0x000ab63c bne s6, v0, 0xab528           |         goto label_0;
                                             |     }
                                             | label_88:
    0x000ab640 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000ab644 lw a0, 0x3c(sp)               |     a0 = *(var_3ch_2);
    0x000ab648 addiu t9, t9, -0x4c0c         |     t9 += -0x4c0c;
    0x000ab64c move a1, s0                   |     a1 = s0;
    0x000ab650 jalr t9                       |     t9 ();
    0x000ab654 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x000ab658 bnez v0, 0xab5ec              |         goto label_1;
                                             |     }
    0x000ab65c lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x000ab660 andi v0, v0, 0x800            |     v0 &= aav.0x00000800;
    0x000ab664 lw a1, 0x14(s0)               |     a1 = *((s0 + 5));
                                             |     if (v0 != 0) {
    0x000ab668 bnez v0, 0xacc08              |         goto label_95;
                                             |     }
    0x000ab66c lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
                                             |     if (a1 == 0) {
    0x000ab670 beqz a1, 0xac224              |         goto label_96;
                                             |     }
    0x000ab674 addiu t9, t9, 0x7080          |     t9 += 0x7080;
    0x000ab678 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_4);
    0x000ab67c jalr t9                       |     t9 ();
    0x000ab680 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             | label_20:
    0x000ab684 lw a2, -0x7f98(gp)            |     a2 = *((gp - 8166));
    0x000ab688 sw v0, 0x20(fp)               |     *(var_20h_2) = v0;
    0x000ab68c addiu v0, a2, 0x6dcc          |     v0 = a2 + 0x6dcc;
    0x000ab690 sw v1, 0x24(fp)               |     *(arg_24h) = v1;
    0x000ab694 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x000ab698 b 0xab554                     |     goto label_2;
                                             | label_90:
    0x000ab69c addiu a0, a2, 0x6dcc          |     a0 = a2 + 0x6dcc;
    0x000ab6a0 move v0, zero                 |     v0 = 0;
    0x000ab6a4 move v1, zero                 |     v1 = 0;
    0x000ab6a8 sw a0, 0x34(sp)               |     *(var_34h_2) = a0;
    0x000ab6ac b 0xab54c                     |     goto label_3;
                                             | label_91:
    0x000ab6b0 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
                                             | label_12:
    0x000ab6b4 addiu v0, s6, -0x2d           |     v0 = s6 + -0x2d;
                                             | label_14:
    0x000ab6b8 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000ab6bc addiu a0, zero, -1            |     a0 = -1;
    0x000ab6c0 sltiu a1, v0, 0xd             |     a1 = (v0 < 0xd) ? 1 : 0;
    0x000ab6c4 sw t0, 0x28(fp)               |     *(arg_28h) = t0;
    0x000ab6c8 sw v1, 0x2c(fp)               |     *(var_2ch_4) = v1;
    0x000ab6cc sw a0, 0x14(fp)               |     *(arg_a4h) = a0;
    0x000ab6d0 sw a0, 0x10(fp)               |     *(arg_a0h) = a0;
    0x000ab6d4 sh zero, 0xc(fp)              |     *(arg_ch) = 0;
                                             |     if (a1 != 0) {
    0x000ab6d8 beqz a1, 0xab6f0              |         
    0x000ab6dc addiu a0, zero, 0x1f31        |         a0 = 0x1f31;
    0x000ab6e0 srlv v0, a0, v0               |         v0 = a0 >> v0;
    0x000ab6e4 ext v0, v0, 0, 1              |         __asm ("ext v0, v0, 0, 1");
    0x000ab6e8 lw a0, 0xc(s0)                |         a0 = *((s0 + 3));
                                             |         if (v0 == 0) {
    0x000ab6ec bnel v0, zero, 0xab834        |             goto label_97;
                                             |         }
                                             |     }
    0x000ab6f0 lbu v0, (s0)                  |     v0 = *(s0);
    0x000ab6f4 addiu v1, zero, 0x30          |     v1 = 0x30;
    0x000ab6f8 addiu v1, zero, 0x2b          |     v1 = 0x2b;
                                             |     if (v0 == v1) {
    0x000ab6fc beq v0, v1, 0xacab4           |         goto label_98;
                                             |     }
                                             |     if (v0 == v1) {
    0x000ab700 beql v0, v1, 0xac230          |         goto label_99;
                                             |     }
    0x000ab704 lw s5, (s7)                   |     s5 = *(s7);
                                             | label_7:
    0x000ab708 lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
    0x000ab70c addiu v1, zero, 0x2c          |     v1 = 0x2c;
                                             |     if (v0 != v1) {
    0x000ab710 beql v0, v1, 0xab748          |         
    0x000ab714 lbu v1, (s0)                  |         v1 = *(s0);
                                             | label_9:
    0x000ab718 lw a0, 0x14(s7)               |         a0 = *((s7 + 5));
                                             | label_8:
    0x000ab71c lw v0, 0x44(sp)               |         v0 = *(var_44h_2);
                                             | label_46:
    0x000ab720 lw a1, 0x48(sp)               |         a1 = *(var_48h);
    0x000ab724 addu v0, a0, v0               |         v0 = a0 + v0;
    0x000ab728 lw a0, 0x20(v0)               |         a0 = *((v0 + 8));
    0x000ab72c lw v1, 0x24(v0)               |         v1 = *((v0 + 9));
    0x000ab730 or a0, a0, a1                 |         a0 |= a1;
    0x000ab734 lw a1, 0x4c(sp)               |         a1 = *(var_4ch);
    0x000ab738 sw a0, 0x20(v0)               |         *((v0 + 8)) = a0;
    0x000ab73c or v1, v1, a1                 |         v1 |= a1;
    0x000ab740 sw v1, 0x24(v0)               |         *((v0 + 9)) = v1;
    0x000ab744 b 0xab5ec                     |         goto label_1;
                                             |     }
    0x000ab748 addiu a0, zero, 0xa1          |     a0 = 0xa1;
                                             |     if (v1 != a0) {
    0x000ab74c bne v1, a0, 0xabde8           |         goto label_100;
                                             |     }
    0x000ab750 nop                           |     
    0x000ab754 lw a0, 0x14(s0)               |     a0 = *((s0 + 5));
    0x000ab758 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
                                             |     if (a0 == 0) {
    0x000ab75c beqz a0, 0xabde4              |         goto label_101;
                                             |     }
    0x000ab760 lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
    0x000ab764 lw s3, (a0)                   |     s3 = *(a0);
    0x000ab768 lw s1, (v0)                   |     s1 = *(v0);
    0x000ab76c lw a1, 8(s0)                  |     a1 = *((s0 + 2));
    0x000ab770 addiu a3, zero, 1             |     a3 = 1;
    0x000ab774 sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x000ab778 move a2, s3                   |     a2 = s3;
    0x000ab77c addiu t9, t9, -0x482c         |     t9 += -0x482c;
    0x000ab780 move a0, s1                   |     a0 = s1;
    0x000ab784 jalr t9                       |     t9 ();
    0x000ab788 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000ab78c beqz v0, 0xabdd0              |         goto label_102;
                                             |     }
    0x000ab790 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x000ab794 sw v1, 0x54(sp)               |     *(var_54h_2) = v1;
    0x000ab798 andi v1, v1, 4                |     v1 &= 4;
                                             |     if (v1 == 0) {
    0x000ab79c beql v1, zero, 0xabdd4        |         goto label_30;
                                             |     }
    0x000ab7a0 lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
    0x000ab7a4 slti s3, s3, 3                |     s3 = (s3 < 3) ? 1 : 0;
    0x000ab7a8 lw a2, 0x14(s0)               |     a2 = *((s0 + 5));
                                             |     if (s3 == 0) {
    0x000ab7ac beqz s3, 0xace1c              |         goto label_103;
                                             |     }
    0x000ab7b0 sb zero, 0x9b(sp)             |     *(var_9bh) = 0;
                                             | label_43:
    0x000ab7b4 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x000ab7b8 lw s3, 4(a2)                  |     s3 = *((a2 + 1));
    0x000ab7bc lbu a1, (v0)                  |     a1 = *(v0);
    0x000ab7c0 lbu a0, 1(v0)                 |     a0 = *((v0 + 1));
    0x000ab7c4 lbu v0, 2(v0)                 |     v0 = *((v0 + 2));
    0x000ab7c8 sb a1, 0x98(sp)               |     *(var_98h_2) = a1;
    0x000ab7cc sb a0, 0x99(sp)               |     *(var_99h) = a0;
    0x000ab7d0 sb v0, 0x9a(sp)               |     *(var_9ah) = v0;
                                             |     if (s3 == 0) {
    0x000ab7d4 beqz s3, 0xab82c              |         goto label_104;
                                             |     }
    0x000ab7d8 lw v0, 4(s3)                  |     v0 = *((s3 + 1));
    0x000ab7dc lui a0, 4                     |     a0 = 0x40000;
                                             |     /* esilref: '&0' */
    0x000ab7e0 addiu a0, a0, 0x1000          |     
    0x000ab7e4 and v1, v0, a0                |     v1 = v0 & a0;
    0x000ab7e8 lui a1, 4                     |     a1 = 0x40000;
                                             |     if (v1 == 0) {
    0x000ab7ec beqz v1, 0xac8e0              |         goto label_105;
                                             |     }
    0x000ab7f0 and v0, v0, a1                |     v0 &= a1;
    0x000ab7f4 b 0xab818                     |     
                                             |     while (v0 == 0) {
    0x000ab7f8 lw s3, 4(v0)                  |         s3 = *((v0 + 1));
                                             |         if (s3 == 0) {
    0x000ab7fc beqz s3, 0xab82c              |             goto label_104;
                                             |         }
    0x000ab800 nop                           |         
    0x000ab804 lw v0, 4(s3)                  |         v0 = *((s3 + 1));
                                             | label_4:
    0x000ab808 and v1, v0, a0                |         v1 = v0 & a0;
                                             |         if (v1 == 0) {
    0x000ab80c beql v1, zero, 0xac8e4        |             goto label_106;
                                             |         }
    0x000ab810 lbu t0, (s3)                  |         t0 = *(s3);
    0x000ab814 and v0, v0, a1                |         v0 &= a1;
    0x000ab818 lw v0, 0x14(s3)               |         v0 = *((s3 + 5));
    0x000ab81c bnel v0, zero, 0xab7f8        |         
                                             |     }
    0x000ab820 lw s3, 0xc(s3)                |     s3 = *((s3 + 3));
    0x000ab824 lw v0, 4(s3)                  |     v0 = *((s3 + 1));
                                             |     if (s3 == 0) {
    0x000ab828 bnel s3, zero, 0xab808        |         goto label_4;
                                             |     }
                                             | label_104:
    0x000ab82c lbu v0, (zero)                |     v0 = *(zero);
    0x000ab830 teq zero, zero                |     __asm ("teq zero, zero");
                                             | label_97:
    0x000ab834 lui a2, 4                     |     a2 = 0x40000;
                                             |     if (a0 == 0) {
    0x000ab838 beqz a0, 0xab88c              |         goto label_107;
                                             |     }
    0x000ab83c lw v0, 4(a0)                  |     v0 = *((a0 + 1));
                                             |     /* esilref: '&0' */
    0x000ab840 addiu a2, a2, 0x1000          |     a2 += aav.0x00001000;
    0x000ab844 and a1, v0, a2                |     a1 = v0 & a2;
                                             |     if (a1 == 0) {
    0x000ab848 beql a1, zero, 0xab890        |         goto label_108;
                                             |     }
    0x000ab84c lw s5, 0x10(s0)               |     s5 = *((s0 + 4));
    0x000ab850 lui a3, 4                     |     a3 = 0x40000;
    0x000ab854 b 0xab874                     |     
                                             |     while (v0 == 0) {
    0x000ab858 lw a0, 4(v0)                  |         a0 = *((v0 + 1));
                                             |         if (a0 == 0) {
    0x000ab85c beql a0, zero, 0xab890        |             goto label_108;
                                             |         }
    0x000ab860 lw s5, 0x10(s0)               |         s5 = *((s0 + 4));
    0x000ab864 lw v0, 4(a0)                  |         v0 = *((a0 + 1));
                                             | label_5:
    0x000ab868 and a1, v0, a2                |         a1 = v0 & a2;
                                             |         if (a1 == 0) {
    0x000ab86c beql a1, zero, 0xab890        |             goto label_108;
                                             |         }
    0x000ab870 lw s5, 0x10(s0)               |         s5 = *((s0 + 4));
    0x000ab874 and v0, v0, a3                |         v0 &= a3;
    0x000ab878 lw v0, 0x14(a0)               |         v0 = *((a0 + 5));
    0x000ab87c bnel v0, zero, 0xab858        |         
                                             |     }
    0x000ab880 lw a0, 0xc(a0)                |     a0 = *((a0 + 3));
    0x000ab884 lw v0, 4(a0)                  |     v0 = *((a0 + 1));
                                             |     if (a0 == 0) {
    0x000ab888 bnel a0, zero, 0xab868        |         goto label_5;
                                             |     }
                                             | label_107:
    0x000ab88c lw s5, 0x10(s0)               |     s5 = *((s0 + 4));
                                             | label_108:
    0x000ab890 lui a2, 4                     |     a2 = 0x40000;
                                             |     if (s5 == 0) {
    0x000ab894 beqz s5, 0xab8e8              |         goto label_109;
                                             |     }
    0x000ab898 lw v0, 4(s5)                  |     v0 = *((s5 + 1));
                                             |     /* esilref: '&0' */
    0x000ab89c addiu a2, a2, 0x1000          |     a2 += aav.0x00001000;
    0x000ab8a0 and a1, v0, a2                |     a1 = v0 & a2;
                                             |     if (a1 == 0) {
    0x000ab8a4 beql a1, zero, 0xab8ec        |         goto label_110;
                                             |     }
    0x000ab8a8 lw s2, 0x20(fp)               |     s2 = *(var_20h_2);
    0x000ab8ac lui a3, 4                     |     a3 = 0x40000;
    0x000ab8b0 b 0xab8d0                     |     
                                             |     while (v0 == 0) {
    0x000ab8b4 lw s5, 4(v0)                  |         s5 = *((v0 + 1));
                                             |         if (s5 == 0) {
    0x000ab8b8 beql s5, zero, 0xab8ec        |             goto label_110;
                                             |         }
    0x000ab8bc lw s2, 0x20(fp)               |         s2 = *(var_20h_2);
    0x000ab8c0 lw v0, 4(s5)                  |         v0 = *((s5 + 1));
                                             | label_6:
    0x000ab8c4 and a1, v0, a2                |         a1 = v0 & a2;
                                             |         if (a1 == 0) {
    0x000ab8c8 beql a1, zero, 0xab8ec        |             goto label_110;
                                             |         }
    0x000ab8cc lw s2, 0x20(fp)               |         s2 = *(var_20h_2);
    0x000ab8d0 and v0, v0, a3                |         v0 &= a3;
    0x000ab8d4 lw v0, 0x14(s5)               |         v0 = *((s5 + 5));
    0x000ab8d8 bnel v0, zero, 0xab8b4        |         
                                             |     }
    0x000ab8dc lw s5, 0xc(s5)                |     s5 = *((s5 + 3));
    0x000ab8e0 lw v0, 4(s5)                  |     v0 = *((s5 + 1));
                                             |     if (s5 == 0) {
    0x000ab8e4 bnel s5, zero, 0xab8c4        |         goto label_6;
                                             |     }
                                             | label_109:
    0x000ab8e8 lw s2, 0x20(fp)               |     s2 = *(var_20h_2);
                                             | label_110:
    0x000ab8ec lw a1, 0x24(fp)               |     a1 = *(arg_24h);
    0x000ab8f0 and s2, s2, s4                |     s2 &= s4;
    0x000ab8f4 and a1, a1, s3                |     a1 &= s3;
    0x000ab8f8 or s2, s2, a1                 |     s2 |= a1;
    0x000ab8fc addiu a2, zero, 0x800         |     a2 = aav.0x00000800;
    0x000ab900 addiu a1, zero, 0x1fff        |     a1 = 0x1fff;
    0x000ab904 lw v0, 0x18(fp)               |     v0 = *(arg_a8h);
                                             |     if (s2 == 0) {
    0x000ab908 movn a1, a2, s2               |         a1 = a2;
                                             |     }
    0x000ab90c move s2, a1                   |     s2 = a1;
                                             |     if (v0 > 0) {
    0x000ab910 blez v0, 0xab930              |         
    0x000ab914 addiu v0, v0, -1              |         v0 += -1;
    0x000ab918 sll a1, v0, 2                 |         a1 = v0 << 2;
    0x000ab91c lw a0, 0x14(a0)               |         a0 = *((a0 + 5));
    0x000ab920 addu v0, a1, v0               |         v0 = a1 + v0;
    0x000ab924 sll v0, v0, 2                 |         v0 <<= 2;
    0x000ab928 addu v0, a0, v0               |         v0 = a0 + v0;
    0x000ab92c lw a0, 4(v0)                  |         a0 = *((v0 + 1));
                                             |     }
    0x000ab930 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000ab934 sw a0, 0x14(sp)               |     *(var_14h) = a0;
    0x000ab938 addiu t9, t9, 0x7e24          |     t9 += 0x7e24;
    0x000ab93c addiu s1, sp, 0x90            |     s1 = sp + 0x90;
    0x000ab940 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x000ab944 sw v1, 0x5c(sp)               |     *(var_5ch_2) = v1;
    0x000ab948 sw t0, 0x58(sp)               |     *(var_58h_2) = t0;
    0x000ab94c sw t9, 0x54(sp)               |     *(var_54h_2) = t9;
    0x000ab950 sw s6, 0x18(sp)               |     *(var_18h_2) = s6;
    0x000ab954 sw s1, 0x10(sp)               |     *(var_10h_3) = s1;
    0x000ab958 move a2, s4                   |     a2 = s4;
    0x000ab95c move a3, s3                   |     a3 = s3;
    0x000ab960 jalr t9                       |     t9 ();
    0x000ab964 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ab968 lw t9, 0x54(sp)               |     t9 = *(var_54h_2);
    0x000ab96c lw t0, 0x58(sp)               |     t0 = *(var_58h_2);
    0x000ab970 lw v1, 0x5c(sp)               |     v1 = *(var_5ch_2);
                                             |     if (v0 != 0) {
    0x000ab974 beqz v0, 0xab9bc              |         
    0x000ab978 lw a0, 0x90(sp)               |         a0 = *(var_90h_2);
    0x000ab97c addiu v0, zero, 0x31          |         v0 = 0x31;
    0x000ab980 sw a0, 0x14(fp)               |         *(arg_a4h) = a0;
    0x000ab984 lw a0, 0x94(sp)               |         a0 = *(var_94h_2);
    0x000ab988 sw a0, 0x1c(fp)               |         *(arg_1ch) = a0;
                                             |         if (s6 == v0) {
    0x000ab98c beq s6, v0, 0xabf98           |             goto label_111;
                                             |         }
    0x000ab990 addiu v0, zero, 0x32          |         v0 = 0x32;
    0x000ab994 addiu v0, zero, 0x100         |         v0 = aav.0x00000100;
                                             |         if (s6 != v0) {
    0x000ab998 beq s6, v0, 0xab9b4           |             
    0x000ab99c addiu v0, zero, 0x2d          |             v0 = 0x2d;
    0x000ab9a0 addiu a0, s6, -0x35           |             a0 = s6 + -0x35;
                                             |             if (s6 == v0) {
    0x000ab9a4 beq s6, v0, 0xacc44           |                 goto label_112;
                                             |             }
    0x000ab9a8 addiu v0, zero, 2             |             v0 = 2;
    0x000ab9ac sllv v0, v0, a0               |             v0 <<= a0;
    0x000ab9b0 andi v0, v0, 0xffff           |             v0 &= 0xffff;
                                             |         }
                                             | label_16:
    0x000ab9b4 and v0, s2, v0                |         v0 = s2 & v0;
    0x000ab9b8 sh v0, 0xc(fp)                |         *(arg_ch) = v0;
                                             |     }
    0x000ab9bc addiu v0, zero, 0x2d          |     v0 = 0x2d;
    0x000ab9c0 sw v1, 0x58(sp)               |     *(var_58h_2) = v1;
                                             |     if (s6 != v0) {
    0x000ab9c4 bnel s6, v0, 0xab9d8          |         
    0x000ab9c8 lhu v0, 0xa(fp)               |         v0 = *(arg_ah);
    0x000ab9cc ori v0, v0, 0x800             |         v0 |= aav.0x00000800;
    0x000ab9d0 sh v0, 0xa(fp)                |         *(arg_ah) = v0;
    0x000ab9d4 sw v1, 0x58(sp)               |         *(var_58h_2) = v1;
                                             |     }
    0x000ab9d8 sw t0, 0x54(sp)               |     *(var_54h_2) = t0;
                                             |     if (s5 == 0) {
    0x000ab9dc beqz s5, 0xab708              |         goto label_7;
                                             |     }
    0x000ab9e0 lw a2, 0x20(fp)               |     a2 = *(var_20h_2);
    0x000ab9e4 lw a3, 0x24(fp)               |     a3 = *(arg_24h);
    0x000ab9e8 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x000ab9ec sw s6, 0x18(sp)               |     *(var_18h_2) = s6;
    0x000ab9f0 sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x000ab9f4 sw s1, 0x10(sp)               |     *(var_10h_3) = s1;
    0x000ab9f8 jalr t9                       |     t9 ();
    0x000ab9fc lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000aba00 beqz v0, 0xab708              |         goto label_7;
                                             |     }
    0x000aba04 lw v0, 0x14(fp)               |     v0 = *(arg_a4h);
    0x000aba08 lw t0, 0x54(sp)               |     t0 = *(var_54h_2);
    0x000aba0c lw v1, 0x58(sp)               |     v1 = *(var_58h_2);
                                             |     if (v0 < 0) {
    0x000aba10 bltz v0, 0xabfa0              |         goto label_113;
                                             |     }
    0x000aba14 lw s1, 0x40(sp)               |     s1 = *(var_40h_2);
    0x000aba18 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000aba1c sw v1, 0x58(sp)               |     *(var_58h_2) = v1;
    0x000aba20 sw t0, 0x54(sp)               |     *(var_54h_2) = t0;
    0x000aba24 move a0, s1                   |     a0 = s1;
    0x000aba28 move a3, zero                 |     a3 = 0;
    0x000aba2c move a2, zero                 |     a2 = 0;
    0x000aba30 addiu t9, t9, 0x73b8          |     t9 += 0x73b8;
    0x000aba34 move a1, s0                   |     a1 = s0;
    0x000aba38 jalr t9                       |     t9 ();
    0x000aba3c lbu a0, 0x51(s1)              |     a0 = *((s1 + 81));
    0x000aba40 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000aba44 move s5, v0                   |     s5 = v0;
    0x000aba48 lw t0, 0x54(sp)               |     t0 = *(var_54h_2);
    0x000aba4c lw v1, 0x58(sp)               |     v1 = *(var_58h_2);
                                             |     if (a0 == 0) {
    0x000aba50 beqz a0, 0xac05c              |         goto label_114;
                                             |     }
    0x000aba54 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
                                             |     if (v0 == 0) {
    0x000aba58 beqz v0, 0xab5ec              |         goto label_1;
                                             |     }
    0x000aba5c move a1, v0                   |     a1 = v0;
    0x000aba60 addiu t9, t9, 0x3738          |     t9 += 0x3738;
    0x000aba64 move a0, s1                   |     a0 = s1;
    0x000aba68 jalr t9                       |     t9 ();
    0x000aba6c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000aba70 b 0xab5ec                     |     goto label_1;
                                             | label_69:
    0x000abb08 lw v0, 0x54(sp)               |     v0 = *(var_54h_2);
    0x000abb0c andi v0, v0, 8                |     v0 &= 8;
    0x000abb10 lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
                                             |     if (v0 != 0) {
    0x000abb14 bnez v0, 0xad208              |         goto label_115;
                                             |     }
    0x000abb18 lw v0, (v0)                   |     v0 = *(v0);
    0x000abb1c lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x000abb20 lw v0, 0x40(sp)               |     v0 = *(var_40h_2);
                                             |     if (v0 != 0) {
    0x000abb24 bnez v0, 0xabba0              |         void (*0xabba0)() ();
                                             |     }
                                             | label_102:
    0x000abdd0 lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
                                             | label_30:
    0x000abdd4 addiu v1, zero, 0x2c          |     v1 = 0x2c;
    0x000abdd8 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (v0 == v1) {
    0x000abddc bnel v0, v1, 0xab71c          |         goto label_8;
                                             |     }
    0x000abde0 lbu v1, (s0)                  |     v1 = *(s0);
                                             | label_101:
    0x000abde4 addiu a0, zero, 0xa1          |     a0 = 0xa1;
                                             | label_100:
    0x000abde8 move a2, v1                   |     a2 = v1;
                                             |     if (v1 == a0) {
    0x000abdec beq v1, a0, 0xac81c           |         goto label_116;
                                             |     }
    0x000abdf0 addiu v0, zero, 0xa0          |     v0 = 0xa0;
    0x000abdf4 addiu v0, v1, -0x33           |     v0 = v1 + -0x33;
                                             |     if (v1 == v0) {
    0x000abdf8 beq v1, v0, 0xac4a8           |         goto label_117;
                                             |     }
    0x000abdfc sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x000abe00 lw s6, 0xc(s0)                |     s6 = *((s0 + 3));
                                             |     if (v0 == 0) {
    0x000abe04 bnel v0, zero, 0xac4ac        |         goto label_118;
                                             |     }
                                             | label_26:
    0x000abe08 addiu v0, zero, 0x35          |     v0 = 0x35;
    0x000abe0c addiu v0, zero, 0x2d          |     v0 = 0x2d;
                                             |     if (a2 == v0) {
    0x000abe10 beq a2, v0, 0xac6a4           |         goto label_119;
                                             |     }
                                             |     if (a2 == v0) {
    0x000abe14 beql a2, v0, 0xac6a8          |         goto label_120;
                                             |     }
    0x000abe18 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
                                             | label_25:
    0x000abe1c addiu v0, zero, 0x31          |     v0 = 0x31;
                                             | label_24:
    0x000abe20 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (a2 == v0) {
    0x000abe24 bnel a2, v0, 0xab71c          |         goto label_8;
                                             |     }
    0x000abe28 lw s3, 0x18(fp)               |     s3 = *(arg_a8h);
    0x000abe2c lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (s3 == 0) {
    0x000abe30 bnel s3, zero, 0xab71c        |         goto label_8;
                                             |     }
    0x000abe34 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x000abe38 addiu a0, zero, 0xa9          |     a0 = 0xa9;
    0x000abe3c lbu v0, (v1)                  |     v0 = *(v1);
    0x000abe40 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (v0 == a0) {
    0x000abe44 bnel v0, a0, 0xab71c          |         goto label_8;
                                             |     }
    0x000abe48 lw a0, 0x14(s0)               |     a0 = *((s0 + 5));
    0x000abe4c lw a0, 0x34(a0)               |     a0 = *((a0 + 13));
    0x000abe50 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (a0 == 0) {
    0x000abe54 bnel a0, zero, 0xab71c        |         goto label_8;
                                             |     }
    0x000abe58 lw s2, -0x7f98(gp)            |     s2 = *((gp - 8166));
    0x000abe5c lw s1, -0x7f40(gp)            |     s1 = *((gp - 8144));
    0x000abe60 addiu s5, zero, 0xa9          |     s5 = 0xa9;
    0x000abe64 addiu s2, s2, 0x44c4          |     s2 += 0x44c4;
    0x000abe68 addiu s1, s1, -0x4ba4         |     s1 += -0x4ba4;
                                             | label_11:
    0x000abe6c addiu a0, zero, 0x83          |     a0 = 0x83;
                                             |     if (v0 == s5) {
    0x000abe70 beq v0, s5, 0xad1fc           |         goto label_121;
                                             |     }
                                             |     if (v0 == a0) {
    0x000abe74 beql v0, a0, 0xad190          |         goto label_122;
                                             |     }
    0x000abe78 lw v0, 0x14(v1)               |     v0 = *((v1 + 5));
    0x000abe7c addiu v0, zero, 1             |     v0 = 1;
                                             | label_61:
    0x000abe80 slt v0, s3, v0                |     v0 = (s3 < v0) ? 1 : 0;
    0x000abe84 addiu a2, zero, 2             |     a2 = 2;
                                             |     if (v0 == 0) {
    0x000abe88 beqz v0, 0xab718              |         goto label_9;
                                             |     }
    0x000abe8c move a1, s0                   |     a1 = s0;
    0x000abe90 move t9, s2                   |     t9 = s2;
    0x000abe94 move a0, s7                   |     a0 = s7;
    0x000abe98 jalr t9                       |     t9 ();
    0x000abe9c sll s4, v0, 1                 |     s4 = v0 << 1;
    0x000abea0 lw v1, 0x14(s7)               |     v1 = *((s7 + 5));
    0x000abea4 addu s4, s4, v0               |     s4 += v0;
    0x000abea8 sll s4, s4, 4                 |     s4 <<= 4;
    0x000abeac addu v1, v1, s4               |     v1 += s4;
    0x000abeb0 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x000abeb4 addiu s3, s3, 1               |     s3++;
    0x000abeb8 sw s3, 0x18(v1)               |     *((v1 + 6)) = s3;
    0x000abebc move a2, v0                   |     a2 = v0;
    0x000abec0 move t9, s1                   |     t9 = s1;
    0x000abec4 move a1, s7                   |     a1 = s7;
    0x000abec8 bal 0xab45c                   |     fcn_000ab45c ();
                                             |     goto label_10;
    0x000abecc lw v0, 0x14(s7)               |     v0 = *((s7 + 5));
    0x000abed0 lw v1, 0x44(sp)               |     v1 = *(var_44h_2);
    0x000abed4 addu s4, v0, s4               |     s4 = v0 + s4;
    0x000abed8 addu v1, v0, v1               |     v1 = v0 + v1;
    0x000abedc lw a1, 0xd0(sp)               |     a1 = *(var_d0h);
    0x000abee0 lh v0, 8(v1)                  |     v0 = *((v1 + 4));
    0x000abee4 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000abee8 sw a1, 0x10(s4)               |     *((s4 + 4)) = a1;
    0x000abeec sh v0, 8(s4)                  |     *((s4 + 4)) = v0;
    0x000abef0 lbu v0, 0xe(v1)               |     v0 = *((v1 + 14));
    0x000abef4 addiu a0, zero, 0xa8          |     a0 = 0xa8;
    0x000abef8 addiu v0, v0, 1               |     v0++;
    0x000abefc sb v0, 0xe(v1)                |     *((v1 + 14)) = v0;
    0x000abf00 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x000abf04 lbu v0, (v1)                  |     v0 = *(v1);
                                             |     if (v0 == a0) {
    0x000abf08 beql v0, a0, 0xabe6c          |         goto label_11;
                                             |     }
    0x000abf0c lbu v0, 0x26(v1)              |     v0 = *((v1 + 38));
    0x000abf10 b 0xabe6c                     |     goto label_11;
    0x000abf14 nop                           |     
                                             | label_89:
    0x000abf18 move v0, zero                 |     v0 = 0;
    0x000abf1c move v1, zero                 |     v1 = 0;
    0x000abf20 sw v0, 0x20(fp)               |     *(var_20h_2) = v0;
    0x000abf24 addiu v0, a2, 0x6dcc          |     v0 = a2 + 0x6dcc;
    0x000abf28 sw v1, 0x24(fp)               |     *(arg_24h) = v1;
    0x000abf2c sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x000abf30 b 0xab554                     |     goto label_2;
                                             | label_93:
    0x000abf34 andi a1, a0, 0x20             |     a1 = a0 & 0x20;
    0x000abf38 sllv a0, v0, a0               |     a0 = v0 << a0;
    0x000abf3c move v0, a0                   |     v0 = a0;
                                             |     if (a1 == 0) {
    0x000abf40 movn a0, zero, a1             |         a0 = 0;
                                             |     }
                                             |     if (a1 != 0) {
    0x000abf44 movz v0, zero, a1             |         v0 = 0;
                                             |     }
    0x000abf48 addiu a1, a0, -1              |     a1 = a0 + -1;
    0x000abf4c sltu a3, a1, a0               |     a3 = (a1 < a0) ? 1 : 0;
    0x000abf50 addiu a2, v0, -1              |     a2 = v0 + -1;
    0x000abf54 sw a1, 0x48(sp)               |     *(var_48h) = a1;
    0x000abf58 addu a1, a3, a2               |     a1 = a3 + a2;
    0x000abf5c sw a1, 0x4c(sp)               |     *(var_4ch) = a1;
                                             | label_36:
    0x000abf60 or v1, v1, v0                 |     v1 |= v0;
    0x000abf64 or t0, t0, a0                 |     t0 |= a0;
    0x000abf68 srl a2, v1, 1                 |     a2 = v1 >> 1;
    0x000abf6c sll t1, v1, 0x1f              |     t1 = v1 << 0x1f;
    0x000abf70 srl a1, t0, 1                 |     a1 = t0 >> 1;
    0x000abf74 sltu a3, a2, v0               |     a3 = (a2 < v0) ? 1 : 0;
    0x000abf78 or a1, t1, a1                 |     a1 = t1 | a1;
                                             |     if (a3 != 0) {
    0x000abf7c bnez a3, 0xab6b4              |         goto label_12;
                                             |     }
    0x000abf80 sltu a0, a1, a0               |     a0 = (a1 < a0) ? 1 : 0;
                                             |     if (v0 != a2) {
    0x000abf84 bne v0, a2, 0xab5d0           |         goto label_13;
                                             |     }
    0x000abf88 addiu v0, s6, -0x2d           |     v0 = s6 + -0x2d;
                                             |     if (a0 != 0) {
    0x000abf8c bnez a0, 0xab6b8              |         goto label_14;
                                             |     }
    0x000abf90 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000abf94 b 0xab5d4                     |     goto label_15;
                                             | label_111:
    0x000abf98 addiu v0, zero, 1             |     v0 = 1;
    0x000abf9c b 0xab9b4                     |     goto label_16;
                                             | label_113:
    0x000abfa0 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
    0x000abfa4 move s5, s0                   |     s5 = s0;
    0x000abfa8 move s1, fp                   |     s1 = fp;
    0x000abfac move s6, zero                 |     s6 = 0;
                                             | label_17:
    0x000abfb0 lw a0, 0x10(s5)               |     a0 = *((s5 + 4));
    0x000abfb4 lw v0, 4(a1)                  |     v0 = *((a1 + 1));
    0x000abfb8 lw a2, 4(a0)                  |     a2 = *((a0 + 1));
    0x000abfbc andi v0, v0, 0x100            |     v0 &= aav.0x00000100;
    0x000abfc0 andi a3, a2, 0x100            |     a3 = a2 & aav.0x00000100;
                                             |     if (a3 == v0) {
    0x000abfc4 beq a3, v0, 0xac208           |         goto label_123;
                                             |     }
    0x000abfc8 nop                           |     
                                             | label_18:
    0x000abfcc lbu v0, (s5)                  |     v0 = *(s5);
    0x000abfd0 sw a1, 0x10(s5)               |     *((s5 + 4)) = a1;
    0x000abfd4 sltiu a1, v0, 0x36            |     a1 = (v0 < 0x36) ? 1 : 0;
    0x000abfd8 sw a0, 0xc(s5)                |     *((s5 + 3)) = a0;
                                             |     if (a1 == 0) {
    0x000abfdc bnez a1, 0xabff4              |         
    0x000abfe0 addiu v0, v0, -0x36           |         v0 += -0x36;
    0x000abfe4 xori v0, v0, 2                |         v0 ^= 2;
    0x000abfe8 addiu v0, v0, 0x36            |         v0 += 0x36;
    0x000abfec andi v0, v0, 0xff             |         v0 &= 0xff;
    0x000abff0 sb v0, (s5)                   |         *(s5) = v0;
                                             |     }
    0x000abff4 lw a0, 0x48(sp)               |     a0 = *(var_48h);
    0x000abff8 lw a1, 0x90(sp)               |     a1 = *(var_90h_2);
    0x000abffc or s4, a0, s4                 |     s4 = a0 | s4;
    0x000ac000 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x000ac004 sw a1, 0x14(s1)               |     *((s1 + 5)) = a1;
    0x000ac008 lw a1, 0x94(sp)               |     a1 = *(var_94h_2);
    0x000ac00c or s3, a0, s3                 |     s3 = a0 | s3;
    0x000ac010 addiu a0, zero, 0x31          |     a0 = 0x31;
    0x000ac014 sw a1, 0x1c(s1)               |     *((s1 + 7)) = a1;
    0x000ac018 sw s4, 0x20(s1)               |     *((s1 + 8)) = s4;
    0x000ac01c sw s3, 0x24(s1)               |     *((s1 + 9)) = s3;
    0x000ac020 sw t0, 0x28(s1)               |     *((s1 + 10)) = t0;
    0x000ac024 sw v1, 0x2c(s1)               |     *((s1 + 11)) = v1;
                                             |     if (v0 == a0) {
    0x000ac028 beq v0, a0, 0xac21c           |         goto label_124;
                                             |     }
    0x000ac02c addiu v1, zero, 0x32          |     v1 = 0x32;
    0x000ac030 addiu v1, zero, 0x2d          |     v1 = 0x2d;
                                             |     if (v0 == v1) {
    0x000ac034 beq v0, v1, 0xacdf4           |         goto label_125;
                                             |     }
    0x000ac038 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == v1) {
    0x000ac03c beq v0, v1, 0xaceb4           |         goto label_126;
                                             |     }
    0x000ac040 addiu v0, v0, -0x35           |     v0 += -0x35;
    0x000ac044 sllv v0, v1, v0               |     v0 = v1 << v0;
    0x000ac048 andi v0, v0, 0xffff           |     v0 &= 0xffff;
                                             | label_19:
    0x000ac04c addu s6, s6, v0               |     s6 += v0;
    0x000ac050 and s2, s6, s2                |     s2 = s6 & s2;
    0x000ac054 sh s2, 0xc(s1)                |     *((s1 + 6)) = s2;
    0x000ac058 b 0xab708                     |     goto label_7;
                                             | label_114:
    0x000ac05c lw s1, -0x7f98(gp)            |     s1 = *((gp - 8166));
    0x000ac060 sw v1, 0x58(sp)               |     *(var_58h_2) = v1;
    0x000ac064 addiu s1, s1, 0x44c4          |     s1 += 0x44c4;
    0x000ac068 sw t0, 0x54(sp)               |     *(var_54h_2) = t0;
    0x000ac06c addiu a2, zero, 3             |     a2 = 3;
    0x000ac070 move a1, v0                   |     a1 = v0;
    0x000ac074 move t9, s1                   |     t9 = s1;
    0x000ac078 move a0, s7                   |     a0 = s7;
    0x000ac07c jalr t9                       |     t9 ();
    0x000ac080 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000ac084 beqz v0, 0xab5ec              |         goto label_1;
                                             |     }
    0x000ac088 lw s1, 0x14(s7)               |     s1 = *((s7 + 5));
    0x000ac08c lw v1, 0x44(sp)               |     v1 = *(var_44h_2);
    0x000ac090 sll a0, v0, 1                 |     a0 = v0 << 1;
    0x000ac094 addu a1, s1, v1               |     a1 = s1 + v1;
    0x000ac098 addu v0, a0, v0               |     v0 = a0 + v0;
    0x000ac09c sll v0, v0, 4                 |     v0 <<= 4;
    0x000ac0a0 addu s1, s1, v0               |     s1 += v0;
    0x000ac0a4 lw v1, 0xd0(sp)               |     v1 = *(var_d0h);
    0x000ac0a8 lh v0, 8(a1)                  |     v0 = *((a1 + 4));
    0x000ac0ac sw v1, 0x10(s1)               |     *((s1 + 4)) = v1;
    0x000ac0b0 sh v0, 8(s1)                  |     *((s1 + 4)) = v0;
    0x000ac0b4 lbu v0, 0xe(a1)               |     v0 = *((a1 + 14));
    0x000ac0b8 addiu a0, zero, 0x2d          |     a0 = 0x2d;
    0x000ac0bc addiu v0, v0, 1               |     v0++;
    0x000ac0c0 sb v0, 0xe(a1)                |     *((a1 + 14)) = v0;
    0x000ac0c4 lw t0, 0x54(sp)               |     t0 = *(var_54h_2);
    0x000ac0c8 lw v1, 0x58(sp)               |     v1 = *(var_58h_2);
                                             |     if (s6 == a0) {
    0x000ac0cc bne s6, a0, 0xac0dc           |         
    0x000ac0d0 lhu v0, 0xa(s1)               |         v0 = *((s1 + 5));
    0x000ac0d4 ori v0, v0, 0x800             |         v0 |= aav.0x00000800;
    0x000ac0d8 sh v0, 0xa(s1)                |         *((s1 + 5)) = v0;
                                             |     }
    0x000ac0dc lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
    0x000ac0e0 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
    0x000ac0e4 lw a1, 0x44(sp)               |     a1 = *(var_44h_2);
    0x000ac0e8 lw v0, (v0)                   |     v0 = *(v0);
    0x000ac0ec addu fp, a0, a1               |     fp = a0 + a1;
    0x000ac0f0 lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x000ac0f4 lhu a0, 0xa(fp)               |     a0 = *(arg_ah);
    0x000ac0f8 lhu v0, 0x4c(v0)              |     v0 = *((v0 + 38));
    0x000ac0fc ori a0, a0, 8                 |     a0 |= 8;
    0x000ac100 andi v0, v0, 0x80             |     v0 &= 0x80;
    0x000ac104 sh a0, 0xa(fp)                |     *(arg_ah) = a0;
                                             |     if (v0 != 0) {
    0x000ac108 bnez v0, 0xacce0              |         goto label_127;
                                             |     }
    0x000ac10c lbu v0, (s5)                  |     v0 = *(s5);
    0x000ac110 addiu a0, zero, 0x35          |     a0 = 0x35;
    0x000ac114 addiu a0, zero, 0x2d          |     a0 = 0x2d;
                                             |     if (v0 == a0) {
    0x000ac118 beq v0, a0, 0xac124           |         goto label_128;
                                             |     }
    0x000ac11c move s6, zero                 |     s6 = 0;
                                             |     if (v0 != a0) {
    0x000ac120 bne v0, a0, 0xabfb0           |         goto label_17;
                                             |     }
                                             | label_128:
    0x000ac124 lw v0, 4(s5)                  |     v0 = *((s5 + 1));
    0x000ac128 andi v0, v0, 1                |     v0 &= 1;
    0x000ac12c move s6, zero                 |     s6 = 0;
                                             |     if (v0 == 0) {
    0x000ac130 bnel v0, zero, 0xabfb0        |         goto label_17;
                                             |     }
    0x000ac134 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
    0x000ac138 sw v1, 0x5c(sp)               |     *(var_5ch_2) = v1;
    0x000ac13c addiu t9, t9, 0x710           |     t9 += 0x710;
    0x000ac140 sw t0, 0x58(sp)               |     *(var_58h_2) = t0;
    0x000ac144 move a0, a1                   |     a0 = a1;
    0x000ac148 sw t9, 0x54(sp)               |     *(var_54h_2) = t9;
    0x000ac14c jalr t9                       |     t9 ();
    0x000ac150 lw a0, 0x10(s5)               |     a0 = *((s5 + 4));
    0x000ac154 lw t9, 0x54(sp)               |     t9 = *(var_54h_2);
    0x000ac158 move s6, v0                   |     s6 = v0;
    0x000ac15c jalr t9                       |     t9 ();
    0x000ac160 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ac164 lw t0, 0x58(sp)               |     t0 = *(var_58h_2);
    0x000ac168 lw v1, 0x5c(sp)               |     v1 = *(var_5ch_2);
                                             |     if (s6 == v0) {
    0x000ac16c beq s6, v0, 0xada14           |         goto label_129;
                                             |     }
    0x000ac170 slti s6, s6, 0x43             |     s6 = (s6 < 0x43) ? 1 : 0;
    0x000ac174 lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
                                             |     if (s6 != 0) {
    0x000ac178 bnez s6, 0xacce0              |         goto label_127;
                                             |     }
    0x000ac17c slti v0, v0, 0x43             |     v0 = (v0 < 0x43) ? 1 : 0;
    0x000ac180 move s6, zero                 |     s6 = 0;
                                             |     if (v0 != 0) {
    0x000ac184 bnez v0, 0xabfb0              |         goto label_17;
                                             |     }
                                             | label_79:
    0x000ac188 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000ac18c lw s6, 0x3c(sp)               |     s6 = *(var_3ch_2);
    0x000ac190 lw a2, 0x10(s5)               |     a2 = *((s5 + 4));
    0x000ac194 sw v1, 0x58(sp)               |     *(var_58h_2) = v1;
    0x000ac198 sw t0, 0x54(sp)               |     *(var_54h_2) = t0;
    0x000ac19c addiu t9, t9, 0x16cc          |     t9 += 0x16cc;
    0x000ac1a0 move a0, s6                   |     a0 = s6;
    0x000ac1a4 jalr t9                       |     t9 ();
    0x000ac1a8 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ac1ac lw t0, 0x54(sp)               |     t0 = *(var_54h_2);
    0x000ac1b0 lw v1, 0x58(sp)               |     v1 = *(var_58h_2);
                                             |     if (v0 != 0) {
    0x000ac1b4 beqz v0, 0xac1f0              |         
    0x000ac1b8 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x000ac1bc lw v0, -0x7fb0(gp)            |         v0 = *((gp - 8172));
    0x000ac1c0 addiu v0, v0, 0x2ddc          |         v0 += 0x2ddc;
    0x000ac1c4 lw t9, -0x7f70(gp)            |         t9 = *((gp - 8156));
                                             |         if (a0 == v0) {
    0x000ac1c8 beq a0, v0, 0xac1f0           |             goto label_130;
                                             |         }
    0x000ac1cc lw a2, 0x10(s5)               |         a2 = *((s5 + 4));
    0x000ac1d0 lw a1, 0xc(s5)                |         a1 = *((s5 + 3));
    0x000ac1d4 addiu t9, t9, 0x2160          |         t9 += 0x2160;
    0x000ac1d8 move a0, s6                   |         a0 = s6;
    0x000ac1dc jalr t9                       |         t9 ();
    0x000ac1e0 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000ac1e4 lw t0, 0x54(sp)               |         t0 = *(var_54h_2);
    0x000ac1e8 lw v1, 0x58(sp)               |         v1 = *(var_58h_2);
                                             |         if (v0 == 0) {
    0x000ac1ec beqz v0, 0xadaf0              |             goto label_131;
                                             |         }
                                             |     }
                                             | label_130:
    0x000ac1f0 lhu v0, 0xc(fp)               |     v0 = *(arg_ch);
    0x000ac1f4 lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x000ac1f8 ori v0, v0, 0x800             |     v0 |= aav.0x00000800;
    0x000ac1fc sh v0, 0xc(fp)                |     *(arg_ch) = v0;
    0x000ac200 addiu s6, zero, 0x800         |     s6 = aav.0x00000800;
    0x000ac204 b 0xabfb0                     |     goto label_17;
                                             | label_123:
    0x000ac208 addiu v0, zero, -0x101        |     v0 = -0x101;
                                             |     if (a3 == 0) {
    0x000ac20c beqz a3, 0xace54              |         goto label_132;
                                             |     }
    0x000ac210 and a2, a2, v0                |     a2 &= v0;
    0x000ac214 sw a2, 4(a0)                  |     *((a0 + 1)) = a2;
    0x000ac218 b 0xabfcc                     |     goto label_18;
                                             | label_124:
    0x000ac21c addiu v0, zero, 1             |     v0 = 1;
    0x000ac220 b 0xac04c                     |     goto label_19;
                                             | label_96:
    0x000ac224 move v0, zero                 |     v0 = 0;
    0x000ac228 move v1, zero                 |     v1 = 0;
    0x000ac22c b 0xab684                     |     goto label_20;
                                             | label_99:
    0x000ac230 lw s2, 0x14(s7)               |     s2 = *((s7 + 5));
    0x000ac234 lw v1, 0x44(sp)               |     v1 = *(var_44h_2);
    0x000ac238 lw v0, (s5)                   |     v0 = *(s5);
    0x000ac23c addu s1, s2, v1               |     s1 = s2 + v1;
    0x000ac240 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000ac244 sw v0, 0x68(sp)               |     *(var_68h_3) = v0;
    0x000ac248 lw s2, (s1)                   |     s2 = *(s1);
    0x000ac24c lw v0, (v0)                   |     v0 = *(v0);
    0x000ac250 sw s1, 0x64(sp)               |     *(var_64h_3) = s1;
    0x000ac254 addiu a2, zero, 0x1a0         |     a2 = 0x1a0;
    0x000ac258 move a3, zero                 |     a3 = 0;
    0x000ac25c sw v0, 0x58(sp)               |     *(var_58h_2) = v0;
    0x000ac260 move a0, v0                   |     a0 = v0;
    0x000ac264 addiu t9, t9, -0x79a4         |     t9 += -0x79a4;
    0x000ac268 sw s2, 0x70(sp)               |     *(var_70h_3) = s2;
    0x000ac26c jalr t9                       |     t9 ();
    0x000ac270 move s4, v0                   |     s4 = v0;
    0x000ac274 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ac278 sw v0, 0x1c(s1)               |     *((s1 + 7)) = v0;
                                             |     if (v0 == 0) {
    0x000ac27c beqz v0, 0xac498              |         goto label_70;
                                             |     }
    0x000ac280 lhu v0, 0xa(s1)               |     v0 = *((s1 + 5));
    0x000ac284 lw t9, -0x7dcc(gp)            |     t9 = *((gp - 8051));
    0x000ac288 addiu v1, s4, 0x18            |     v1 = s4 + 0x18;
    0x000ac28c ori v0, v0, 0x10              |     v0 |= 0x10;
    0x000ac290 move a0, v1                   |     a0 = v1;
    0x000ac294 addiu a2, zero, 0x180         |     a2 = 0x180;
    0x000ac298 move a1, zero                 |     a1 = 0;
    0x000ac29c sh v0, 0xa(s1)                |     *((s1 + 5)) = v0;
    0x000ac2a0 jalr t9                       |     t9 ();
    0x000ac2a4 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ac2a8 move v1, v0                   |     v1 = v0;
    0x000ac2ac addiu v0, zero, 8             |     v0 = 8;
    0x000ac2b0 sw v0, 0x10(s4)               |     *((s4 + 4)) = v0;
    0x000ac2b4 lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x000ac2b8 sw s5, (s4)                   |     *(s4) = s5;
    0x000ac2bc addiu t9, v0, 0x4810          |     t9 = v0 + aav.0x00004810;
    0x000ac2c0 sb zero, 9(s4)                |     *((s4 + 9)) = 0;
    0x000ac2c4 sw zero, 4(s4)                |     *((s4 + 1)) = 0;
    0x000ac2c8 sw zero, 0xc(s4)              |     *((s4 + 3)) = 0;
    0x000ac2cc sw v1, 0x14(s4)               |     *((s4 + 5)) = v1;
    0x000ac2d0 addiu a2, zero, 0x2b          |     a2 = 0x2b;
    0x000ac2d4 move a1, s2                   |     a1 = s2;
    0x000ac2d8 move a0, s4                   |     a0 = s4;
    0x000ac2dc sw t9, 0x74(sp)               |     *(var_74h_3) = t9;
    0x000ac2e0 jalr t9                       |     t9 ();
    0x000ac2e4 lw s3, 0xc(s4)                |     s3 = *((s4 + 3));
    0x000ac2e8 addiu s3, s3, -1              |     s3 += -1;
    0x000ac2ec lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (s3 < 0) {
    0x000ac2f0 bltz s3, 0xad784              |         goto label_133;
                                             |     }
    0x000ac2f4 lw v1, -0x7f40(gp)            |     v1 = *((gp - 8144));
    0x000ac2f8 lw s2, 0x38(sp)               |     s2 = *(var_38h_2);
    0x000ac2fc addiu s6, v1, -0x4ba4         |     s6 = v1 + -0x4ba4;
    0x000ac300 addiu s1, zero, -1            |     s1 = -1;
    0x000ac304 sw s6, 0x54(sp)               |     *(var_54h_2) = s6;
                                             |     do {
    0x000ac308 move a2, s3                   |         a2 = s3;
    0x000ac30c move a1, s4                   |         a1 = s4;
    0x000ac310 move a0, s2                   |         a0 = s2;
    0x000ac314 move t9, s6                   |         t9 = s6;
    0x000ac318 addiu s3, s3, -1              |         s3 += -1;
    0x000ac31c bal 0xab45c                   |         fcn_000ab45c ();
                                             |         goto label_10;
    0x000ac320 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000ac324 bne s3, s1, 0xac308           |         
                                             |     } while (s3 != s1);
    0x000ac328 lw v0, 0x58(sp)               |     v0 = *(var_58h_2);
    0x000ac32c lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x000ac330 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (v0 == 0) {
    0x000ac334 bnel v0, zero, 0xac49c        |         goto label_73;
                                             |     }
    0x000ac338 lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
    0x000ac33c addiu fp, v0, -1              |     fp = v0 + -1;
    0x000ac340 lw s3, 0x14(s4)               |     s3 = *((s4 + 5));
                                             |     if (fp < 0) {
    0x000ac344 bltz fp, 0xad794              |         goto label_134;
                                             |     }
    0x000ac348 addiu v0, zero, -1            |     v0 = -1;
    0x000ac34c sw v0, 0x5c(sp)               |     *(var_5ch_2) = v0;
    0x000ac350 sw v0, 0x60(sp)               |     *(var_60h_2) = v0;
    0x000ac354 lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
    0x000ac358 addiu t1, zero, -1            |     t1 = -1;
    0x000ac35c addiu v0, v0, -0x7a80         |     v0 += -0x7a80;
    0x000ac360 addiu t2, zero, -1            |     t2 = -1;
    0x000ac364 addiu s1, zero, -1            |     s1 = -1;
    0x000ac368 sw v0, 0x6c(sp)               |     *(var_6ch_3) = v0;
                                             |     do {
    0x000ac36c lhu a1, 0xc(s3)               |         a1 = *((s3 + 6));
                                             | label_39:
    0x000ac370 andi v0, a1, 0x1ff            |         v0 = a1 & 0x1ff;
    0x000ac374 lw a0, 0x58(sp)               |         a0 = *(var_58h_2);
                                             |         if (v0 == 0) {
    0x000ac378 beqz v0, 0xacce8              |             goto label_135;
                                             |         }
    0x000ac37c lhu v0, 0xa(s3)               |         v0 = *((s3 + 5));
    0x000ac380 andi v1, v0, 8                |         v1 = v0 & 8;
                                             |         if (v1 == 0) {
    0x000ac384 beql v1, zero, 0xacd44        |             goto label_136;
                                             |         }
    0x000ac388 lw a2, 0x1ec(s5)              |         a2 = *(s5);
                                             | label_34:
    0x000ac38c addiu fp, fp, -1              |         fp += -1;
    0x000ac390 addiu s3, s3, 0x30            |         s3 += 0x30;
    0x000ac394 bne fp, s1, 0xac36c           |         
                                             |     } while (fp != s1);
                                             | label_38:
    0x000ac398 lw v1, 0x5c(sp)               |     v1 = *(var_5ch_2);
    0x000ac39c lw a0, 0x60(sp)               |     a0 = *(var_60h_2);
    0x000ac3a0 sw v1, 0x198(s4)              |     *(s4) = v1;
    0x000ac3a4 or v0, v1, a0                 |     v0 = v1 | a0;
    0x000ac3a8 sw a0, 0x19c(s4)              |     *(s4) = a0;
                                             |     if (v0 == 0) {
    0x000ac3ac beqz v0, 0xacde4              |         goto label_84;
                                             |     }
    0x000ac3b0 lw v1, 0x64(sp)               |     v1 = *(var_64h_3);
    0x000ac3b4 addiu v0, zero, 0x200         |     v0 = 0x200;
    0x000ac3b8 sh v0, 0xc(v1)                |     *((v1 + 6)) = v0;
    0x000ac3bc addiu v0, zero, 1             |     v0 = 1;
    0x000ac3c0 sb v0, 9(s7)                  |     *((s7 + 9)) = v0;
    0x000ac3c4 lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
    0x000ac3c8 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == v1) {
    0x000ac3cc beql v0, v1, 0xad7d0          |         goto label_137;
                                             |     }
    0x000ac3d0 lw a0, -0x7f70(gp)            |     a0 = *((gp - 8156));
                                             | label_40:
    0x000ac3d4 or v0, t1, t2                 |     v0 = t1 | t2;
                                             |     if (v0 == 0) {
    0x000ac3d8 beql v0, zero, 0xac49c        |         goto label_73;
                                             |     }
    0x000ac3dc lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
    0x000ac3e0 lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
                                             | label_74:
    0x000ac3e4 lw s3, -0x7fb0(gp)            |     s3 = *((gp - 8172));
    0x000ac3e8 move fp, zero                 |     fp = 0;
    0x000ac3ec addiu v1, s3, 0x710           |     v1 = s3 + 0x710;
    0x000ac3f0 sw v1, 0x60(sp)               |     *(var_60h_2) = v1;
    0x000ac3f4 lw v1, -0x7f70(gp)            |     v1 = *((gp - 8156));
    0x000ac3f8 sw s0, 0x54(sp)               |     *(var_54h_2) = s0;
    0x000ac3fc addiu v1, v1, 0x6468          |     v1 += 0x6468;
    0x000ac400 move s0, s5                   |     s0 = s5;
    0x000ac404 sw s7, 0x5c(sp)               |     *(var_5ch_2) = s7;
    0x000ac408 addiu a2, zero, -1            |     a2 = -1;
    0x000ac40c sw v1, 0x6c(sp)               |     *(var_6ch_3) = v1;
    0x000ac410 move s5, s4                   |     s5 = s4;
    0x000ac414 move s7, fp                   |     s7 = fp;
    0x000ac418 move s2, t1                   |     s2 = t1;
    0x000ac41c move s3, t2                   |     s3 = t2;
                                             | label_52:
    0x000ac420 addiu s4, v0, -1              |     s4 = v0 + -1;
    0x000ac424 lw s1, 0x14(s5)               |     s1 = *((s5 + 5));
                                             |     if (s4 < 0) {
    0x000ac428 bltz s4, 0xac490              |         goto label_51;
                                             |     }
    0x000ac42c addiu a3, zero, -0x41         |     a3 = -0x41;
    0x000ac430 addiu t4, zero, 1             |     t4 = 1;
    0x000ac434 addiu t3, zero, -1            |     t3 = -1;
                                             | label_21:
    0x000ac438 lhu v0, 0xa(s1)               |     v0 = *((s1 + 5));
    0x000ac43c lw s6, 0x14(s1)               |     s6 = *((s1 + 5));
    0x000ac440 and v0, v0, a3                |     v0 &= a3;
    0x000ac444 sh v0, 0xa(s1)                |     *((s1 + 5)) = v0;
                                             |     if (a2 == s6) {
    0x000ac448 beq a2, s6, 0xac484           |         goto label_50;
                                             |     }
    0x000ac44c lw a1, 0x1ec(s0)              |     a1 = *(s0);
                                             |     if (a1 <= 0) {
    0x000ac450 blezl a1, 0xac488             |         goto label_138;
                                             |     }
    0x000ac454 addiu s4, s4, -1              |     s4 += -1;
    0x000ac458 lw v0, 0x1f0(s0)              |     v0 = *((s0 + 124));
    0x000ac45c addiu v1, s0, 0x1f4           |     v1 = s0 + aav.0x000001f4;
                                             |     if (s6 == v0) {
    0x000ac460 beq s6, v0, 0xacfdc           |         goto label_139;
                                             |     }
    0x000ac464 move v0, zero                 |     v0 = 0;
    0x000ac468 b 0xac478                     |     
                                             |     while (a1 == v0) {
    0x000ac46c lw a0, -4(v1)                 |         a0 = *((v1 - 1));
    0x000ac470 andi a0, v0, 0x20             |         a0 = v0 & 0x20;
                                             |         if (s6 == a0) {
    0x000ac474 beq s6, a0, 0xacfe4           |             goto label_140;
                                             |         }
    0x000ac478 addiu v0, v0, 1               |         v0++;
    0x000ac47c addiu v1, v1, 4               |         v1 += 4;
    0x000ac480 bnel a1, v0, 0xac46c          |         
                                             |     }
                                             | label_50:
    0x000ac484 addiu s4, s4, -1              |     s4 += -1;
                                             | label_138:
    0x000ac488 addiu s1, s1, 0x30            |     s1 += 0x30;
                                             |     if (s4 != t3) {
    0x000ac48c bne s4, t3, 0xac438           |         goto label_21;
                                             |     }
                                             | label_51:
    0x000ac490 lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
    0x000ac494 lw s7, 0x5c(sp)               |     s7 = *(var_5ch_2);
                                             | label_70:
    0x000ac498 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             | label_73:
    0x000ac49c lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
    0x000ac4a0 addu fp, a0, v0               |     fp = a0 + v0;
    0x000ac4a4 b 0xab708                     |     goto label_7;
                                             | label_117:
    0x000ac4a8 lw s6, 0xc(s0)                |     s6 = *((s0 + 3));
                                             | label_118:
    0x000ac4ac addiu v0, zero, 0xa2          |     v0 = 0xa2;
    0x000ac4b0 lbu a0, (s6)                  |     a0 = *(s6);
    0x000ac4b4 lw s1, 0x10(s0)               |     s1 = *((s0 + 4));
                                             |     if (a0 == v0) {
    0x000ac4b8 beq a0, v0, 0xacd2c           |         goto label_141;
                                             |     }
    0x000ac4bc move s2, zero                 |     s2 = 0;
                                             | label_37:
    0x000ac4c0 addiu v0, zero, 0xa2          |     v0 = 0xa2;
                                             |     if (s1 != 0) {
    0x000ac4c4 beqz s1, 0xac4d4              |         
    0x000ac4c8 lbu a0, (s1)                  |         a0 = *(s1);
                                             |         if (a0 == v0) {
    0x000ac4cc beql a0, v0, 0xace94          |             goto label_142;
                                             |         }
    0x000ac4d0 lw v0, 0x2c(s1)               |         v0 = *((s1 + 11));
                                             |     }
                                             | label_45:
    0x000ac4d4 addiu v0, zero, 0x34          |     v0 = 0x34;
                                             | label_44:
    0x000ac4d8 addiu v0, zero, 0xa0          |     v0 = 0xa0;
                                             |     if (v1 == v0) {
    0x000ac4dc beq v1, v0, 0xacd3c           |         goto label_143;
                                             |     }
                                             |     if (v1 != v0) {
    0x000ac4e0 beql v1, v0, 0xac4f4          |         
    0x000ac4e4 addiu s5, zero, 0x45          |         s5 = 0x45;
    0x000ac4e8 xori v1, v1, 0x33             |         v1 ^= 0x33;
    0x000ac4ec addiu s5, zero, 0x46          |         s5 = 0x46;
                                             |         if (v1 != 0) {
    0x000ac4f0 movn s5, zero, v1             |             s5 = 0;
                                             |             goto label_29;
                                             |         }
                                             |     }
                                             | label_29:
    0x000ac4f4 lw v0, -0x7f70(gp)            |     v0 = *((gp - 8156));
    0x000ac4f8 sw s5, 0x58(sp)               |     *(var_58h_2) = s5;
    0x000ac4fc addiu v0, v0, -0x3f64         |     v0 += -0x3f64;
    0x000ac500 sw v0, 0x50(sp)               |     *(var_50h_3) = v0;
    0x000ac504 lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x000ac508 lw s5, 0x44(sp)               |     s5 = *(var_44h_2);
    0x000ac50c addiu v0, v0, 0x44c4          |     v0 += 0x44c4;
    0x000ac510 sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x000ac514 lw v0, -0x7f98(gp)            |     v0 = *((gp - 8166));
    0x000ac518 sw v0, 0x5c(sp)               |     *(var_5ch_2) = v0;
    0x000ac51c b 0xac568                     |     
                                             |     while (s1 != 0) {
    0x000ac520 lw t9, 0x34(sp)               |         t9 = *(var_34h_2);
    0x000ac524 move a1, s1                   |         a1 = s1;
    0x000ac528 jalr t9                       |         t9 ();
    0x000ac52c move s3, v0                   |         s3 = v0;
    0x000ac530 move s4, v1                   |         s4 = v1;
                                             |         if (s6 == 0) {
    0x000ac534 beqz s6, 0xac670              |             goto label_144;
                                             |         }
    0x000ac538 lw a0, 0x2c(sp)               |         a0 = *(var_2ch_4);
    0x000ac53c lw t9, 0x34(sp)               |         t9 = *(var_34h_2);
    0x000ac540 move a1, s6                   |         a1 = s6;
    0x000ac544 jalr t9                       |         t9 ();
    0x000ac548 and v0, s3, v0                |         v0 = s3 & v0;
    0x000ac54c and v1, s4, v1                |         v1 = s4 & v1;
    0x000ac550 or v0, v0, v1                 |         v0 |= v1;
    0x000ac554 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
                                             |         if (v0 == 0) {
    0x000ac558 beqz v0, 0xac670              |             goto label_144;
                                             |         }
                                             | label_22:
    0x000ac55c move v0, s6                   |         v0 = s6;
    0x000ac560 move s6, s1                   |         s6 = s1;
    0x000ac564 move s1, v0                   |         s1 = v0;
    0x000ac568 addiu s2, s2, -1              |         s2 += -1;
    0x000ac56c addiu v0, zero, -1            |         v0 = -1;
                                             |         if (s2 == v0) {
    0x000ac570 beql s2, v0, 0xac808          |             goto label_27;
                                             |         }
    0x000ac574 lbu v0, 8(s7)                 |         v0 = *((s7 + 8));
    0x000ac578 lw a0, 0x2c(sp)               |         a0 = *(var_2ch_4);
    0x000ac57c bnez s1, 0xac520              |         
                                             |     }
    0x000ac580 lw t9, 0x34(sp)               |     t9 = *(var_34h_2);
                                             |     if (s6 == 0) {
    0x000ac584 beqz s6, 0xac694              |         goto label_145;
                                             |     }
    0x000ac588 move a1, s6                   |     a1 = s6;
    0x000ac58c jalr t9                       |     t9 ();
    0x000ac590 move s3, zero                 |     s3 = 0;
    0x000ac594 move a3, zero                 |     a3 = 0;
    0x000ac598 move s4, zero                 |     s4 = 0;
                                             |     do {
                                             | label_23:
    0x000ac59c lw a0, 0x3c(sp)               |         a0 = *(var_3ch_2);
    0x000ac5a0 lw t9, 0x50(sp)               |         t9 = *(var_50h_3);
    0x000ac5a4 move a2, zero                 |         a2 = 0;
    0x000ac5a8 addiu a1, zero, 0x2e          |         a1 = 0x2e;
    0x000ac5ac jalr t9                       |         t9 ();
    0x000ac5b0 lw v1, 4(s0)                  |         v1 = *((s0 + 1));
    0x000ac5b4 andi v1, v1, 1                |         v1 &= 1;
    0x000ac5b8 lw t9, 0x54(sp)               |         t9 = *(var_54h_2);
                                             |         if (v1 != 0) {
    0x000ac5bc beqz v1, 0xac5d8              |             
    0x000ac5c0 addiu a2, zero, 3             |             a2 = 3;
                                             |             if (v0 == 0) {
    0x000ac5c4 beqz v0, 0xac5dc              |                 goto label_146;
                                             |             }
    0x000ac5c8 lw v1, 4(v0)                  |             v1 = *((v0 + 1));
    0x000ac5cc ori v1, v1, 1                 |             v1 |= 1;
    0x000ac5d0 sw v1, 4(v0)                  |             *((v0 + 1)) = v1;
    0x000ac5d4 lw t9, 0x54(sp)               |             t9 = *(var_54h_2);
                                             |         }
    0x000ac5d8 addiu a2, zero, 3             |         a2 = 3;
                                             | label_146:
    0x000ac5dc move a1, v0                   |         a1 = v0;
    0x000ac5e0 move a0, s7                   |         a0 = s7;
    0x000ac5e4 jalr t9                       |         t9 ();
    0x000ac5e8 sll v1, v0, 1                 |         v1 = v0 << 1;
    0x000ac5ec lw a0, 0x14(s7)               |         a0 = *((s7 + 5));
    0x000ac5f0 addu v0, v1, v0               |         v0 = v1 + v0;
    0x000ac5f4 sll v0, v0, 4                 |         v0 <<= 4;
    0x000ac5f8 addu v0, a0, v0               |         v0 = a0 + v0;
    0x000ac5fc addu v1, a0, s5               |         v1 = a0 + s5;
    0x000ac600 lw a0, 0x58(sp)               |         a0 = *(var_58h_2);
    0x000ac604 lh a1, 0x20(s6)               |         a1 = *((s6 + 16));
    0x000ac608 lw a2, 0x1c(s6)               |         a2 = *((s6 + 7));
    0x000ac60c lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000ac610 sb a0, 0xf(v0)                |         *((v0 + 15)) = a0;
    0x000ac614 lh a0, 8(v1)                  |         a0 = *((v1 + 4));
    0x000ac618 sw a1, 0x1c(v0)               |         *((v0 + 7)) = a1;
    0x000ac61c addiu a1, zero, 0x40          |         a1 = 0x40;
    0x000ac620 sh a1, 0xc(v0)                |         *((v0 + 6)) = a1;
    0x000ac624 lw a1, 0xd0(sp)               |         a1 = *(var_d0h);
    0x000ac628 sw s4, 0x24(v0)               |         *((v0 + 9)) = s4;
    0x000ac62c sw a2, 0x14(v0)               |         *((v0 + 5)) = a2;
    0x000ac630 sw a1, 0x10(v0)               |         *((v0 + 4)) = a1;
    0x000ac634 sw s3, 0x20(v0)               |         *((v0 + 8)) = s3;
    0x000ac638 sh a0, 8(v0)                  |         *((v0 + 4)) = a0;
    0x000ac63c lbu a0, 0xe(v1)               |         a0 = *((v1 + 14));
    0x000ac640 addiu a0, a0, 1               |         a0++;
    0x000ac644 sb a0, 0xe(v1)                |         *((v1 + 14)) = a0;
    0x000ac648 lw a2, 0x14(s7)               |         a2 = *((s7 + 5));
    0x000ac64c addu fp, a2, s5               |         fp = a2 + s5;
    0x000ac650 lhu v1, 0xa(fp)               |         v1 = *(arg_ah);
    0x000ac654 lw a0, 0x28(fp)               |         a0 = *(arg_28h);
    0x000ac658 lw a1, 0x2c(fp)               |         a1 = *(var_2ch_4);
    0x000ac65c ori v1, v1, 8                 |         v1 |= 8;
    0x000ac660 sh v1, 0xa(fp)                |         *(arg_ah) = v1;
    0x000ac664 sw a0, 0x28(v0)               |         *((v0 + 10)) = a0;
    0x000ac668 sw a1, 0x2c(v0)               |         *((v0 + 11)) = a1;
    0x000ac66c b 0xac55c                     |         goto label_22;
                                             | label_144:
    0x000ac670 lw v0, 0x5c(sp)               |         v0 = *(var_5ch_2);
    0x000ac674 lw a0, 0x40(sp)               |         a0 = *(var_40h_2);
    0x000ac678 move a3, zero                 |         a3 = 0;
    0x000ac67c move a2, zero                 |         a2 = 0;
    0x000ac680 addiu t9, v0, 0x73b8          |         t9 = v0 + 0x73b8;
    0x000ac684 move a1, s1                   |         a1 = s1;
    0x000ac688 jalr t9                       |         t9 ();
    0x000ac68c move a3, v0                   |         a3 = v0;
    0x000ac690 b 0xac59c                     |         
                                             |     } while (1);
                                             | label_145:
    0x000ac694 move a3, zero                 |     a3 = 0;
    0x000ac698 move s3, zero                 |     s3 = 0;
    0x000ac69c move s4, zero                 |     s4 = 0;
    0x000ac6a0 b 0xac59c                     |     goto label_23;
                                             | label_119:
    0x000ac6a4 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
                                             | label_120:
    0x000ac6a8 addiu v1, zero, 0xa8          |     v1 = 0xa8;
    0x000ac6ac lbu v0, (a1)                  |     v0 = *(a1);
                                             |     if (v0 != v1) {
    0x000ac6b0 beql v0, v1, 0xac6b8          |         
    0x000ac6b4 lbu v0, 0x26(a1)              |         v0 = *((a1 + 38));
                                             |     }
    0x000ac6b8 addiu v1, zero, 0xa9          |     v1 = 0xa9;
    0x000ac6bc addiu v1, zero, 0x83          |     v1 = 0x83;
                                             |     if (v0 == v1) {
    0x000ac6c0 beq v0, v1, 0xacd10           |         goto label_147;
                                             |     }
    0x000ac6c4 addiu v0, zero, 0x31          |     v0 = 0x31;
                                             |     if (v0 != v1) {
    0x000ac6c8 bne v0, v1, 0xabe20           |         goto label_24;
                                             |     }
    0x000ac6cc lw v0, 0x14(a1)               |     v0 = *((a1 + 5));
    0x000ac6d0 lw v0, (v0)                   |     v0 = *(v0);
    0x000ac6d4 lw s5, (v0)                   |     s5 = *(v0);
                                             | label_35:
    0x000ac6d8 slti v0, s5, 2                |     v0 = (s5 < 2) ? 1 : 0;
    0x000ac6dc addiu a0, zero, 0xa8          |     a0 = 0xa8;
                                             |     if (v0 != 0) {
    0x000ac6e0 bnez v0, 0xabe1c              |         goto label_25;
                                             |     }
    0x000ac6e4 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
    0x000ac6e8 lbu v0, (v1)                  |     v0 = *(v1);
                                             |     if (v0 != a0) {
    0x000ac6ec beql v0, a0, 0xac6f4          |         
    0x000ac6f0 lbu v0, 0x26(v1)              |         v0 = *((v1 + 38));
                                             |     }
    0x000ac6f4 addiu a0, zero, 0xa9          |     a0 = 0xa9;
    0x000ac6f8 addiu a0, zero, 0x83          |     a0 = 0x83;
                                             |     if (v0 == a0) {
    0x000ac6fc beq v0, a0, 0xacfd0           |         goto label_148;
                                             |     }
    0x000ac700 addiu v0, zero, 0x31          |     v0 = 0x31;
                                             |     if (v0 != a0) {
    0x000ac704 bne v0, a0, 0xabe20           |         goto label_24;
                                             |     }
    0x000ac708 lw v0, 0x14(v1)               |     v0 = *((v1 + 5));
    0x000ac70c lw v0, (v0)                   |     v0 = *(v0);
    0x000ac710 lw v0, (v0)                   |     v0 = *(v0);
                                             | label_49:
    0x000ac714 addiu v0, zero, 0x31          |     v0 = 0x31;
                                             |     if (s5 != v0) {
    0x000ac718 bne s5, v0, 0xabe20           |         goto label_24;
                                             |     }
    0x000ac71c lw v0, 4(a1)                  |     v0 = *((a1 + 1));
    0x000ac720 andi v0, v0, 0x800            |     v0 &= aav.0x00000800;
                                             |     if (v0 == 0) {
    0x000ac724 beql v0, zero, 0xac740        |         goto label_149;
                                             |     }
    0x000ac728 lw v1, -0x7f40(gp)            |     v1 = *((gp - 8144));
    0x000ac72c lw v0, 4(v1)                  |     v0 = *((v1 + 1));
    0x000ac730 andi v0, v0, 0x800            |     v0 &= aav.0x00000800;
    0x000ac734 addiu v0, zero, 0x31          |     v0 = 0x31;
                                             |     if (v0 != 0) {
    0x000ac738 bnez v0, 0xabe20              |         goto label_24;
                                             |     }
    0x000ac73c lw v1, -0x7f40(gp)            |     v1 = *((gp - 8144));
                                             | label_149:
    0x000ac740 lw s1, -0x7f98(gp)            |     s1 = *((gp - 8166));
    0x000ac744 lw t0, -0x7f70(gp)            |     t0 = *((gp - 8156));
    0x000ac748 lw s4, -0x7f70(gp)            |     s4 = *((gp - 8156));
    0x000ac74c addiu v0, v1, -0x4ba4         |     v0 = v1 + -0x4ba4;
    0x000ac750 lw s6, 0x3c(sp)               |     s6 = *(var_3ch_2);
    0x000ac754 move s3, zero                 |     s3 = 0;
    0x000ac758 addiu s1, s1, 0x44c4          |     s1 += 0x44c4;
    0x000ac75c addiu s2, t0, -0x3f64         |     s2 = t0 + -0x3f64;
    0x000ac760 sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x000ac764 addiu s4, s4, -0x3db8         |     s4 += -0x3db8;
                                             |     do {
    0x000ac768 move a2, s3                   |         a2 = s3;
    0x000ac76c move t9, s4                   |         t9 = s4;
    0x000ac770 move a0, s6                   |         a0 = s6;
    0x000ac774 jalr t9                       |         t9 ();
    0x000ac778 lw a1, 0x10(s0)               |         a1 = *((s0 + 4));
    0x000ac77c move a2, s3                   |         a2 = s3;
    0x000ac780 move a0, s6                   |         a0 = s6;
    0x000ac784 move t9, s4                   |         t9 = s4;
    0x000ac788 move fp, v0                   |         fp = v0;
    0x000ac78c jalr t9                       |         t9 ();
    0x000ac790 lbu a1, (s0)                  |         a1 = *(s0);
    0x000ac794 move a3, v0                   |         a3 = v0;
    0x000ac798 move a2, fp                   |         a2 = fp;
    0x000ac79c move t9, s2                   |         t9 = s2;
    0x000ac7a0 move a0, s6                   |         a0 = s6;
    0x000ac7a4 jalr t9                       |         t9 ();
    0x000ac7a8 addiu a2, zero, 1             |         a2 = 1;
                                             |         if (v0 != 0) {
    0x000ac7ac beqz v0, 0xac7cc              |             
    0x000ac7b0 lw a0, 4(s0)                  |             a0 = *((s0 + 1));
    0x000ac7b4 lw v1, 4(v0)                  |             v1 = *((v0 + 1));
    0x000ac7b8 lh a1, 0x24(s0)               |             a1 = *((s0 + 18));
    0x000ac7bc andi a0, a0, 1                |             a0 &= 1;
    0x000ac7c0 or v1, v1, a0                 |             v1 |= a0;
    0x000ac7c4 sw v1, 4(v0)                  |             *((v0 + 1)) = v1;
    0x000ac7c8 sh a1, 0x24(v0)               |             *((v0 + 18)) = a1;
                                             |         }
    0x000ac7cc move a1, v0                   |         a1 = v0;
    0x000ac7d0 move t9, s1                   |         t9 = s1;
    0x000ac7d4 move a0, s7                   |         a0 = s7;
    0x000ac7d8 jalr t9                       |         t9 ();
    0x000ac7dc lw a0, 0x38(sp)               |         a0 = *(var_38h_2);
    0x000ac7e0 lw t9, 0x54(sp)               |         t9 = *(var_54h_2);
    0x000ac7e4 move a2, v0                   |         a2 = v0;
    0x000ac7e8 move a1, s7                   |         a1 = s7;
    0x000ac7ec addiu s3, s3, 1               |         s3++;
    0x000ac7f0 jalr t9                       |         t9 ();
    0x000ac7f4 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
                                             |         if (s3 == s5) {
    0x000ac7f8 beq s3, s5, 0xacebc           |             goto label_150;
                                             |         }
    0x000ac7fc lw a1, 0xc(s0)                |         a1 = *((s0 + 3));
    0x000ac800 b 0xac768                     |         
                                             |     } while (1);
                                             | label_28:
    0x000ac804 lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
                                             | label_27:
    0x000ac808 addiu v1, zero, 0x2c          |     v1 = 0x2c;
    0x000ac80c lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (v0 == v1) {
    0x000ac810 bnel v0, v1, 0xab71c          |         goto label_8;
                                             |     }
    0x000ac814 lbu a2, (s0)                  |     a2 = *(s0);
    0x000ac818 b 0xabe08                     |     goto label_26;
                                             | label_116:
    0x000ac81c lw s1, 0x14(s0)               |     s1 = *((s0 + 5));
    0x000ac820 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (s1 == 0) {
    0x000ac824 beqz s1, 0xab718              |         goto label_9;
                                             |     }
    0x000ac828 lw a0, (s1)                   |     a0 = *(s1);
    0x000ac82c lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (a0 == v1) {
    0x000ac830 bnel a0, v1, 0xab71c          |         goto label_8;
                                             |     }
    0x000ac834 lw s6, 0x18(s1)               |     s6 = *((s1 + 6));
    0x000ac838 addiu v1, zero, 0xa2          |     v1 = 0xa2;
    0x000ac83c lbu a0, (s6)                  |     a0 = *(s6);
                                             |     if (a0 == v1) {
    0x000ac840 beql a0, v1, 0xad0d0          |         goto label_151;
                                             |     }
    0x000ac844 lw v1, 0x2c(s6)               |     v1 = *((s6 + 11));
                                             | label_58:
    0x000ac848 lw s6, 4(s1)                  |     s6 = *((s1 + 1));
                                             | label_56:
    0x000ac84c addiu v1, zero, 0xa2          |     v1 = 0xa2;
    0x000ac850 lbu a0, (s6)                  |     a0 = *(s6);
    0x000ac854 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (a0 == v1) {
    0x000ac858 bnel a0, v1, 0xab71c          |         goto label_8;
                                             |     }
    0x000ac85c lw v1, 0x2c(s6)               |     v1 = *((s6 + 11));
    0x000ac860 lw a0, 0x38(v1)               |     a0 = *((v1 + 14));
                                             |     if (a0 == 0) {
    0x000ac864 beql a0, zero, 0xab71c        |         goto label_8;
                                             |     }
    0x000ac868 lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
    0x000ac86c lw v1, 0x40(v1)               |     v1 = *((v1 + 16));
    0x000ac870 lw a1, 0x40(sp)               |     a1 = *(var_40h_2);
                                             |     if (v1 == 0) {
    0x000ac874 beqz v1, 0xadb7c              |         goto label_152;
                                             |     }
    0x000ac878 lw a0, (v1)                   |     a0 = *(v1);
                                             |     if (a1 == a0) {
    0x000ac87c beql a1, a0, 0xac8a0          |         goto label_153;
                                             |     }
    0x000ac880 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
    0x000ac884 lw v1, 0x18(v1)               |     v1 = *((v1 + 6));
                                             |     if (v1 == 0) {
                                             |         do {
    0x000ac888 beqz v1, 0xadb7c              |             goto label_152;
                                             |         }
    0x000ac88c nop                           |         
    0x000ac890 lw a0, (v1)                   |         a0 = *(v1);
    0x000ac894 lw v1, 0x18(v1)               |         v1 = *((v1 + 6));
    0x000ac898 bnel a1, a0, 0xac888          |         
                                             |     } while (a1 == a0);
    0x000ac89c lw a0, 8(v1)                  |     a0 = *((v1 + 2));
                                             | label_153:
    0x000ac8a0 lw v1, (a0)                   |     v1 = *(a0);
    0x000ac8a4 lw t9, 0x48(v1)               |     t9 = *((v1 + 18));
    0x000ac8a8 addiu a3, sp, 0x84            |     a3 = sp + 0x84;
                                             |     if (t9 == 0) {
    0x000ac8ac beqz t9, 0xac808              |         goto label_27;
                                             |     }
    0x000ac8b0 lw a2, 8(s0)                  |     a2 = *((s0 + 2));
    0x000ac8b4 addiu v0, sp, 0x88            |     v0 = sp + 0x88;
    0x000ac8b8 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x000ac8bc addiu a1, zero, 2             |     a1 = 2;
    0x000ac8c0 jalr t9                       |     t9 ();
    0x000ac8c4 slti v1, v0, 0x96             |     v1 = (v0 < 0x96) ? 1 : 0;
    0x000ac8c8 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v1 != 0) {
    0x000ac8cc bnez v1, 0xac804              |         goto label_28;
                                             |     }
    0x000ac8d0 andi s5, v0, 0xff             |     s5 = v0 & 0xff;
    0x000ac8d4 lw s1, 0x18(s1)               |     s1 = *((s1 + 6));
    0x000ac8d8 addiu s2, zero, 1             |     s2 = 1;
    0x000ac8dc b 0xac4f4                     |     goto label_29;
                                             | label_105:
    0x000ac8e0 lbu t0, (s3)                  |     t0 = *(s3);
                                             | label_106:
    0x000ac8e4 addiu v0, zero, 0x94          |     v0 = 0x94;
    0x000ac8e8 lw a3, 0x18(a2)               |     a3 = *((a2 + 6));
                                             |     if (t0 == v0) {
    0x000ac8ec beq t0, v0, 0xacc4c           |         goto label_154;
                                             |     }
    0x000ac8f0 addiu v0, zero, 0x6e          |     v0 = 0x6e;
                                             |     if (t0 == v0) {
    0x000ac8f4 beql t0, v0, 0xac920          |         goto label_155;
                                             |     }
    0x000ac8f8 lw v0, 8(s3)                  |     v0 = *((s3 + 2));
    0x000ac8fc move s6, zero                 |     s6 = 0;
                                             |     do {
                                             | label_31:
    0x000ac900 move a0, s6                   |         a0 = s6;
                                             | label_41:
    0x000ac904 lw t9, -0x7fb0(gp)            |         t9 = *((gp - 8172));
    0x000ac908 addiu t9, t9, 0x63b8          |         t9 += 0x63b8;
    0x000ac90c jalr t9                       |         t9 ();
    0x000ac910 nop                           |         
    0x000ac914 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000ac918 lbu v0, 8(s7)                 |         v0 = *((s7 + 8));
    0x000ac91c b 0xabdd4                     |         goto label_30;
                                             | label_155:
    0x000ac920 move s6, zero                 |         s6 = 0;
                                             | label_81:
    0x000ac924 lbu a2, 0x98(sp)              |         a2 = *(var_98h_2);
    0x000ac928 beqz v0, 0xac900              |         
                                             |     } while (v0 == 0);
    0x000ac92c lbu t4, (v0)                  |     t4 = *(v0);
    0x000ac930 lbu t1, 0x99(sp)              |     t1 = *(var_99h);
    0x000ac934 lbu t3, 0x9a(sp)              |     t3 = *(var_9ah);
    0x000ac938 lbu s5, 0x9b(sp)              |     s5 = *(var_9bh);
    0x000ac93c move v1, t4                   |     v1 = t4;
    0x000ac940 move a1, zero                 |     a1 = 0;
                                             |     if (v1 == 0) {
                                             |         do {
                                             | label_33:
    0x000ac944 beqz v1, 0xace04              |             goto label_156;
                                             |         }
    0x000ac948 nop                           |         
                                             |         if (a2 == v1) {
    0x000ac94c beq a2, v1, 0xace04           |             goto label_156;
                                             |         }
    0x000ac950 nop                           |         
                                             |         if (t1 == v1) {
    0x000ac954 beq t1, v1, 0xace04           |             goto label_156;
                                             |         }
    0x000ac958 nop                           |         
    0x000ac95c addiu s4, a1, 1               |         s4 = a1 + 1;
                                             |         if (t3 == v1) {
    0x000ac960 beq t3, v1, 0xace04           |             goto label_156;
                                             |         }
    0x000ac964 addu t2, v0, s4               |         t2 = v0 + s4;
    0x000ac968 lbu a0, (t2)                  |         a0 = *(t2);
                                             |         if (s5 == v1) {
    0x000ac96c beq s5, v1, 0xac97c           |             goto label_157;
                                             |         }
    0x000ac970 move v1, a0                   |         v1 = a0;
    0x000ac974 move a1, s4                   |         a1 = s4;
    0x000ac978 b 0xac944                     |         
                                             |     } while (1);
                                             | label_157:
    0x000ac97c addiu s4, a1, 2               |     s4 = a1 + 2;
                                             |     if (a0 == 0) {
    0x000ac980 bnel a0, zero, 0xacc34        |         goto label_158;
                                             |     }
                                             | label_42:
    0x000ac984 lbu a0, -1(t2)                |     a0 = *((t2 - 1));
    0x000ac988 addiu v1, zero, 0xff          |     v1 = 0xff;
    0x000ac98c addiu v1, zero, 1             |     v1 = 1;
                                             |     if (a0 == v1) {
    0x000ac990 beq a0, v1, 0xac900           |         goto label_31;
                                             |     }
    0x000ac994 lw v1, 0x50(sp)               |     v1 = *(var_50h_3);
                                             |     if (s4 == v1) {
    0x000ac998 beq s4, v1, 0xad330           |         goto label_159;
                                             |     }
                                             |     if (a2 == v1) {
                                             | label_64:
    0x000ac99c beql a2, v1, 0xad4e8          |         goto label_160;
                                             |     }
    0x000ac9a0 lbu v1, 1(t2)                 |     v1 = *((t2 + 1));
    0x000ac9a4 sw zero, 0x50(sp)             |     *(var_50h_3) = 0;
                                             | label_67:
    0x000ac9a8 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000ac9ac sw t0, 0x5c(sp)               |     *(var_5ch_2) = t0;
    0x000ac9b0 sw a3, 0x58(sp)               |     *(var_58h_2) = a3;
    0x000ac9b4 move a2, v0                   |     a2 = v0;
    0x000ac9b8 addiu a1, zero, 0x6e          |     a1 = 0x6e;
    0x000ac9bc addiu t9, t9, -0x6998         |     t9 += -0x6998;
    0x000ac9c0 move a0, s1                   |     a0 = s1;
    0x000ac9c4 jalr t9                       |     t9 ();
    0x000ac9c8 move s2, v0                   |     s2 = v0;
    0x000ac9cc lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ac9d0 lw t0, 0x5c(sp)               |     t0 = *(var_5ch_2);
                                             |     if (v0 == 0) {
    0x000ac9d4 beqz v0, 0xad4f4              |         goto label_161;
                                             |     }
    0x000ac9d8 lw v1, 8(v0)                  |     v1 = *((v0 + 2));
    0x000ac9dc addiu t3, zero, 1             |     t3 = 1;
    0x000ac9e0 addu a0, v1, s4               |     a0 = v1 + s4;
    0x000ac9e4 lw a3, 0x58(sp)               |     a3 = *(var_58h_2);
    0x000ac9e8 move v0, v1                   |     v0 = v1;
    0x000ac9ec sb zero, (a0)                 |     *(a0) = 0;
    0x000ac9f0 move a2, zero                 |     a2 = 0;
    0x000ac9f4 subu t3, t3, v1               |     __asm ("subu t3, t3, v1");
                                             |     do {
    0x000ac9f8 addu a0, v1, a2               |         a0 = v1 + a2;
    0x000ac9fc lb a0, (a0)                   |         a0 = *(a0);
    0x000aca00 addiu a1, a2, 1               |         a1 = a2 + 1;
                                             |         if (a0 == s5) {
    0x000aca04 bne a0, s5, 0xaca14           |             
    0x000aca08 addu a0, v1, a1               |             a0 = v1 + a1;
    0x000aca0c addiu a1, a2, 2               |             a1 = a2 + 2;
    0x000aca10 lb a0, (a0)                   |             a0 = *(a0);
                                             |         }
    0x000aca14 slt t4, a1, s4                |         t4 = (a1 < s4) ? 1 : 0;
    0x000aca18 addu t2, t3, v0               |         t2 = t3 + v0;
    0x000aca1c move t1, v0                   |         t1 = v0;
    0x000aca20 sb a0, (v0)                   |         *(v0) = a0;
    0x000aca24 move a2, a1                   |         a2 = a1;
    0x000aca28 addiu v0, v0, 1               |         v0++;
    0x000aca2c bnez t4, 0xac9f8              |         
                                             |     } while (t4 != 0);
    0x000aca30 addu v0, v1, t2               |     v0 = v1 + t2;
    0x000aca34 addiu a0, zero, 0xa2          |     a0 = 0xa2;
    0x000aca38 sb zero, (v0)                 |     *(v0) = 0;
    0x000aca3c lbu v0, (a3)                  |     v0 = *(a3);
    0x000aca40 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (v0 == a0) {
    0x000aca44 beq v0, a0, 0xad394           |         goto label_162;
                                             |     }
                                             | label_66:
    0x000aca48 lw s4, -0x7fdc(gp)            |     s4 = *((gp - 8183));
    0x000aca4c addiu s5, sp, 0x88            |     s5 = sp + 0x88;
    0x000aca50 addiu s4, s4, 0x7518          |     s4 += fcn.00007518;
    0x000aca54 sw t1, 0x64(sp)               |     *(var_64h_3) = t1;
    0x000aca58 sw t0, 0x60(sp)               |     *(var_60h_2) = t0;
    0x000aca5c move a2, t2                   |     a2 = t2;
    0x000aca60 sw t2, 0x5c(sp)               |     *(var_5ch_2) = t2;
    0x000aca64 move a0, v1                   |     a0 = v1;
    0x000aca68 sw v1, 0x58(sp)               |     *(var_58h_2) = v1;
    0x000aca6c addiu a3, zero, 1             |     a3 = 1;
    0x000aca70 move t9, s4                   |     t9 = s4;
    0x000aca74 move a1, s5                   |     a1 = s5;
    0x000aca78 jalr t9                       |     t9 ();
    0x000aca7c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000aca80 lw v1, 0x58(sp)               |     v1 = *(var_58h_2);
    0x000aca84 lw t2, 0x5c(sp)               |     t2 = *(var_5ch_2);
    0x000aca88 lw t0, 0x60(sp)               |     t0 = *(var_60h_2);
    0x000aca8c lw t1, 0x64(sp)               |     t1 = *(var_64h_3);
                                             |     if (v0 <= 0) {
    0x000aca90 blez v0, 0xaba74              |         void (*0xaba74)() ();
                                             |     }
                                             | label_98:
    0x000acab4 lbu v1, 8(s7)                 |     v1 = *((s7 + 8));
    0x000acab8 addiu v0, zero, 0x2c          |     v0 = 0x2c;
    0x000acabc lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (v1 == v0) {
    0x000acac0 bnel v1, v0, 0xab71c          |         goto label_8;
                                             |     }
    0x000acac4 lw s1, -0x7f98(gp)            |     s1 = *((gp - 8166));
    0x000acac8 lw v1, -0x7f40(gp)            |     v1 = *((gp - 8144));
    0x000acacc addiu s1, s1, 0x44c4          |     s1 += 0x44c4;
    0x000acad0 lw s4, -0x7f98(gp)            |     s4 = *((gp - 8166));
    0x000acad4 addiu v0, v1, -0x4ba4         |     v0 = v1 + -0x4ba4;
    0x000acad8 lw s3, 0x14(s0)               |     s3 = *((s0 + 5));
    0x000acadc lw t0, -0x7f70(gp)            |     t0 = *((gp - 8156));
    0x000acae0 move fp, s1                   |     fp = s1;
    0x000acae4 lw s1, 0xc(s0)                |     s1 = *((s0 + 3));
    0x000acae8 sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x000acaec addiu v0, s4, 0x73b8          |     v0 = s4 + 0x73b8;
    0x000acaf0 addiu s3, s3, 4               |     s3 += 4;
    0x000acaf4 addiu s6, zero, 0x39          |     s6 = 0x39;
    0x000acaf8 move s5, zero                 |     s5 = 0;
    0x000acafc addiu s2, t0, -0x3f64         |     s2 = t0 + -0x3f64;
    0x000acb00 sw v0, 0x58(sp)               |     *(var_58h_2) = v0;
    0x000acb04 addiu s4, zero, 1             |     s4 = 1;
    0x000acb08 beqz s1, 0xacb28              |     
                                             |     while (s1 != 0) {
    0x000acb0c lw a0, 0x40(sp)               |         a0 = *(var_40h_2);
    0x000acb10 lw t9, 0x58(sp)               |         t9 = *(var_58h_2);
    0x000acb14 move a1, s1                   |         a1 = s1;
    0x000acb18 move a3, zero                 |         a3 = 0;
    0x000acb1c move a2, zero                 |         a2 = 0;
    0x000acb20 jalr t9                       |         t9 ();
    0x000acb24 move s1, v0                   |         s1 = v0;
    0x000acb28 lw a3, (s3)                   |         a3 = *(s3);
                                             | label_32:
    0x000acb2c lw a0, 0x40(sp)               |         a0 = *(var_40h_2);
                                             |         if (a3 != 0) {
    0x000acb30 beqz a3, 0xacb4c              |             
    0x000acb34 lw t9, 0x58(sp)               |             t9 = *(var_58h_2);
    0x000acb38 move a1, a3                   |             a1 = a3;
    0x000acb3c move a2, zero                 |             a2 = 0;
    0x000acb40 move a3, zero                 |             a3 = 0;
    0x000acb44 jalr t9                       |             t9 ();
    0x000acb48 move a3, v0                   |             a3 = v0;
                                             |         }
    0x000acb4c lw a0, 0x3c(sp)               |         a0 = *(var_3ch_2);
    0x000acb50 move a2, s1                   |         a2 = s1;
    0x000acb54 move t9, s2                   |         t9 = s2;
    0x000acb58 move a1, s6                   |         a1 = s6;
    0x000acb5c jalr t9                       |         t9 ();
    0x000acb60 addiu a2, zero, 3             |         a2 = 3;
                                             |         if (v0 != 0) {
    0x000acb64 beqz v0, 0xacb84              |             
    0x000acb68 lw a0, 4(s0)                  |             a0 = *((s0 + 1));
    0x000acb6c lw v1, 4(v0)                  |             v1 = *((v0 + 1));
    0x000acb70 lh a1, 0x24(s0)               |             a1 = *((s0 + 18));
    0x000acb74 andi a0, a0, 1                |             a0 &= 1;
    0x000acb78 or v1, v1, a0                 |             v1 |= a0;
    0x000acb7c sw v1, 4(v0)                  |             *((v0 + 1)) = v1;
    0x000acb80 sh a1, 0x24(v0)               |             *((v0 + 18)) = a1;
                                             |         }
    0x000acb84 move a1, v0                   |         a1 = v0;
    0x000acb88 move t9, fp                   |         t9 = fp;
    0x000acb8c move a0, s7                   |         a0 = s7;
    0x000acb90 jalr t9                       |         t9 ();
    0x000acb94 lw a0, 0x38(sp)               |         a0 = *(var_38h_2);
    0x000acb98 lw t9, 0x54(sp)               |         t9 = *(var_54h_2);
    0x000acb9c move a2, v0                   |         a2 = v0;
    0x000acba0 move a1, s7                   |         a1 = s7;
    0x000acba4 move s6, v0                   |         s6 = v0;
    0x000acba8 jalr t9                       |         t9 ();
    0x000acbac lw v1, 0x14(s7)               |         v1 = *((s7 + 5));
    0x000acbb0 lw v0, 0x44(sp)               |         v0 = *(var_44h_2);
    0x000acbb4 sll a0, s6, 1                 |         a0 = s6 << 1;
    0x000acbb8 addu a1, v1, v0               |         a1 = v1 + v0;
    0x000acbbc addu v0, a0, s6               |         v0 = a0 + s6;
    0x000acbc0 sll v0, v0, 4                 |         v0 <<= 4;
    0x000acbc4 addu v1, v1, v0               |         v1 += v0;
    0x000acbc8 lw a0, 0xd0(sp)               |         a0 = *(var_d0h);
    0x000acbcc lh v0, 8(a1)                  |         v0 = *((a1 + 4));
    0x000acbd0 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000acbd4 sw a0, 0x10(v1)               |         *((v1 + 4)) = a0;
    0x000acbd8 sh v0, 8(v1)                  |         *((v1 + 4)) = v0;
    0x000acbdc lbu v0, 0xe(a1)               |         v0 = *((a1 + 14));
    0x000acbe0 addiu s3, s3, 0x14            |         s3 += 0x14;
    0x000acbe4 addiu v0, v0, 1               |         v0++;
    0x000acbe8 sb v0, 0xe(a1)                |         *((a1 + 14)) = v0;
                                             |         if (s5 == s4) {
    0x000acbec beq s5, s4, 0xacdfc           |             goto label_163;
                                             |         }
    0x000acbf0 lw s1, 0xc(s0)                |         s1 = *((s0 + 3));
    0x000acbf4 addiu s6, zero, 0x37          |         s6 = 0x37;
    0x000acbf8 addiu s5, zero, 1             |         s5 = 1;
    0x000acbfc bnez s1, 0xacb0c              |         
                                             |     }
    0x000acc00 lw a3, (s3)                   |     a3 = *(s3);
    0x000acc04 b 0xacb2c                     |     goto label_32;
                                             | label_95:
    0x000acc08 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000acc0c addiu t9, t9, 0x717c          |     t9 += 0x717c;
    0x000acc10 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_4);
    0x000acc14 jalr t9                       |     t9 ();
    0x000acc18 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000acc1c sw v0, 0x20(fp)               |     *(var_20h_2) = v0;
    0x000acc20 sw v1, 0x24(fp)               |     *(arg_24h) = v1;
    0x000acc24 lw a2, -0x7f98(gp)            |     a2 = *((gp - 8166));
    0x000acc28 addiu v0, a2, 0x6dcc          |     v0 = a2 + 0x6dcc;
    0x000acc2c sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x000acc30 b 0xab554                     |     goto label_2;
                                             | label_158:
    0x000acc34 move a1, s4                   |     a1 = s4;
    0x000acc38 lbux a0, s4(v0)               |     __asm ("lbux a0, s4(v0)");
    0x000acc3c move v1, a0                   |     v1 = a0;
    0x000acc40 b 0xac944                     |     goto label_33;
                                             | label_112:
    0x000acc44 addiu v0, zero, 0x80          |     v0 = 0x80;
    0x000acc48 b 0xab9b4                     |     goto label_16;
                                             | label_154:
    0x000acc4c lw v0, 0x20(s1)               |     v0 = *((s1 + 8));
    0x000acc50 ext v0, v0, 0x17, 1           |     __asm ("ext v0, v0, 0x17, 1");
    0x000acc54 move s6, zero                 |     s6 = 0;
                                             |     if (v0 != 0) {
    0x000acc58 bnez v0, 0xac900              |         goto label_31;
                                             |     }
    0x000acc5c lw s2, 0x3c(sp)               |     s2 = *(var_3ch_2);
    0x000acc60 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000acc64 lh s4, 0x20(s3)               |     s4 = *((s3 + 16));
    0x000acc68 lw a0, 0xdc(s2)               |     a0 = *((s2 + 55));
    0x000acc6c sw t0, 0x5c(sp)               |     *(var_5ch_2) = t0;
    0x000acc70 sw a3, 0x58(sp)               |     *(var_58h_2) = a3;
    0x000acc74 addiu t9, t9, -0x6688         |     t9 += -0x6688;
    0x000acc78 move a1, s4                   |     a1 = s4;
    0x000acc7c jalr t9                       |     t9 ();
    0x000acc80 move s6, v0                   |     s6 = v0;
    0x000acc84 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000acc88 lw a3, 0x58(sp)               |     a3 = *(var_58h_2);
    0x000acc8c lw t0, 0x5c(sp)               |     t0 = *(var_5ch_2);
                                             |     if (v0 == 0) {
    0x000acc90 beqz v0, 0xad168              |         goto label_164;
                                             |     }
    0x000acc94 lw t9, -0x7d0c(gp)            |     t9 = *((gp - 8003));
    0x000acc98 sw t0, 0x5c(sp)               |     *(var_5ch_2) = t0;
    0x000acc9c sw a3, 0x58(sp)               |     *(var_58h_2) = a3;
    0x000acca0 move a0, v0                   |     a0 = v0;
    0x000acca4 jalr t9                       |     t9 ();
    0x000acca8 addiu v1, zero, 3             |     v1 = 3;
    0x000accac lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000accb0 lw a3, 0x58(sp)               |     a3 = *(var_58h_2);
    0x000accb4 lw t0, 0x5c(sp)               |     t0 = *(var_5ch_2);
                                             |     if (v0 == v1) {
    0x000accb8 beq v0, v1, 0xada30           |         goto label_165;
                                             |     }
    0x000accbc lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
    0x000accc0 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x000accc4 slti v0, s4, 0x20             |     v0 = (s4 < 0x20) ? 1 : 0;
    0x000accc8 lw v1, 0xd0(a0)               |     v1 = *((a0 + 52));
                                             |     if (v0 != 0) {
    0x000acccc bnez v0, 0xad178              |         goto label_166;
                                             |     }
                                             | label_60:
    0x000accd0 lui v0, 0x8000                |     v0 = 0x80000000;
    0x000accd4 or v0, v1, v0                 |     v0 = v1 | v0;
    0x000accd8 sw v0, 0xd0(a0)               |     *((a0 + 52)) = v0;
    0x000accdc b 0xac900                     |     goto label_31;
                                             | label_127:
    0x000acce0 move s6, zero                 |     s6 = 0;
    0x000acce4 b 0xabfb0                     |     goto label_17;
                                             | label_135:
    0x000acce8 lw t9, 0x6c(sp)               |     t9 = *(var_6ch_3);
    0x000accec addiu a2, zero, 0x198         |     a2 = aav.0x00000198;
    0x000accf0 move a3, zero                 |     a3 = 0;
    0x000accf4 jalr t9                       |     t9 ();
    0x000accf8 move s6, v0                   |     s6 = v0;
    0x000accfc lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x000acd00 bnez v0, 0xacef0              |         goto label_167;
                                             |     }
    0x000acd04 move t1, zero                 |     t1 = 0;
    0x000acd08 move t2, zero                 |     t2 = 0;
    0x000acd0c b 0xac38c                     |     goto label_34;
                                             | label_147:
    0x000acd10 lw v0, 0x14(a1)               |     v0 = *((a1 + 5));
    0x000acd14 lw s5, (v0)                   |     s5 = *(v0);
    0x000acd18 b 0xac6d8                     |     goto label_35;
                                             | label_92:
    0x000acd1c move v0, zero                 |     v0 = 0;
    0x000acd20 sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x000acd24 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x000acd28 b 0xabf60                     |     goto label_36;
                                             | label_141:
    0x000acd2c lw v0, 0x2c(s6)               |     v0 = *((s6 + 11));
    0x000acd30 lw s2, 0x38(v0)               |     s2 = *((v0 + 14));
    0x000acd34 sltu s2, zero, s2             |     s2 = (0 < s2) ? 1 : 0;
    0x000acd38 b 0xac4c0                     |     goto label_37;
                                             | label_143:
    0x000acd3c addiu s5, zero, 0x44          |     s5 = 0x44;
    0x000acd40 b 0xac4f4                     |     goto label_29;
                                             | label_136:
    0x000acd44 lw t0, 0x14(s3)               |     t0 = *((s3 + 5));
    0x000acd48 andi a3, v0, 2                |     a3 = v0 & 2;
                                             |     if (a2 <= 0) {
    0x000acd4c blez a2, 0xadaa8              |         goto label_168;
                                             |     }
    0x000acd50 lw t4, 0x1f0(s5)              |     t4 = *((s5 + 124));
    0x000acd54 addiu v1, s5, 0x1f4           |     v1 = s5 + aav.0x000001f4;
                                             |     if (t0 == t4) {
    0x000acd58 beq t0, t4, 0xad0b0           |         goto label_169;
                                             |     }
    0x000acd5c move v0, zero                 |     v0 = 0;
    0x000acd60 b 0xacd70                     |     
                                             |     while (v0 != a2) {
    0x000acd64 lw a0, -4(v1)                 |         a0 = *((v1 - 1));
    0x000acd68 addiu a0, zero, 1             |         a0 = 1;
                                             |         if (t0 == a0) {
    0x000acd6c beq t0, a0, 0xad0b8           |             goto label_170;
                                             |         }
    0x000acd70 addiu v0, v0, 1               |         v0++;
    0x000acd74 addiu v1, v1, 4               |         v1 += 4;
    0x000acd78 bne v0, a2, 0xacd64           |         
                                             |     }
    0x000acd7c move v0, zero                 |     v0 = 0;
    0x000acd80 move t0, zero                 |     t0 = 0;
                                             | label_55:
    0x000acd84 lw a3, 0x10(s3)               |     a3 = *((s3 + 4));
                                             |     if (a3 == 0) {
    0x000acd88 bnel a3, zero, 0xad19c        |         goto label_171;
                                             |     }
                                             | label_62:
    0x000acd8c lw v1, 0x5c(sp)               |     v1 = *(var_5ch_2);
    0x000acd90 andi a1, a1, 2                |     a1 &= 2;
    0x000acd94 and v1, v1, v0                |     v1 &= v0;
    0x000acd98 sw v1, 0x5c(sp)               |     *(var_5ch_2) = v1;
    0x000acd9c lw v1, 0x60(sp)               |     v1 = *(var_60h_2);
    0x000acda0 and v1, v1, t0                |     v1 &= t0;
    0x000acda4 sw v1, 0x60(sp)               |     *(var_60h_2) = v1;
                                             |     if (a1 == 0) {
    0x000acda8 beqz a1, 0xacfc4              |         goto label_172;
                                             |     }
    0x000acdac and t1, t1, v0                |     t1 &= v0;
    0x000acdb0 and t2, t2, t0                |     t2 &= t0;
                                             | label_48:
    0x000acdb4 addiu fp, fp, -1              |     fp += -1;
    0x000acdb8 addiu s3, s3, 0x30            |     s3 += 0x30;
                                             |     if (fp == s1) {
    0x000acdbc beq fp, s1, 0xac398           |         goto label_38;
                                             |     }
    0x000acdc0 lw v0, 0x5c(sp)               |     v0 = *(var_5ch_2);
    0x000acdc4 lw v1, 0x60(sp)               |     v1 = *(var_60h_2);
    0x000acdc8 or v0, v0, v1                 |     v0 |= v1;
    0x000acdcc lhu a1, 0xc(s3)               |     a1 = *((s3 + 6));
                                             |     if (v0 == 0) {
    0x000acdd0 bnel v0, zero, 0xac370        |         goto label_39;
                                             |     }
                                             | label_47:
    0x000acdd4 move v0, zero                 |     v0 = 0;
    0x000acdd8 move v1, zero                 |     v1 = 0;
    0x000acddc sw v0, 0x198(s4)              |     *(s4) = v0;
    0x000acde0 sw v1, 0x19c(s4)              |     *(s4) = v1;
                                             | label_84:
    0x000acde4 lw v1, 0x64(sp)               |     v1 = *(var_64h_3);
    0x000acde8 addiu v0, zero, 0x200         |     v0 = 0x200;
    0x000acdec sh v0, 0xc(v1)                |     *((v1 + 6)) = v0;
    0x000acdf0 b 0xac3d4                     |     goto label_40;
                                             | label_125:
    0x000acdf4 addiu v0, zero, 0x100         |     v0 = aav.0x00000100;
    0x000acdf8 b 0xac04c                     |     goto label_19;
                                             | label_163:
    0x000acdfc move fp, a1                   |     fp = a1;
    0x000ace00 b 0xab708                     |     goto label_7;
                                             | label_156:
    0x000ace04 move a0, s6                   |     a0 = s6;
                                             |     if (a1 == 0) {
    0x000ace08 beqz a1, 0xac904              |         goto label_41;
                                             |     }
    0x000ace0c move s4, a1                   |     s4 = a1;
    0x000ace10 sw v1, 0x50(sp)               |     *(var_50h_3) = v1;
    0x000ace14 addu t2, v0, a1               |     t2 = v0 + a1;
    0x000ace18 b 0xac984                     |     goto label_42;
                                             | label_103:
    0x000ace1c lw v1, 0x2c(a2)               |     v1 = *((a2 + 11));
    0x000ace20 addiu a0, zero, 0x6e          |     a0 = 0x6e;
    0x000ace24 lbu a1, (v1)                  |     a1 = *(v1);
    0x000ace28 lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
                                             |     if (a1 == a0) {
    0x000ace2c bnel a1, a0, 0xabdd4          |         goto label_30;
                                             |     }
    0x000ace30 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
    0x000ace34 lb v1, (a0)                   |     v1 = *(a0);
                                             |     if (v1 == 0) {
    0x000ace38 beql v1, zero, 0xabdd4        |         goto label_30;
                                             |     }
    0x000ace3c lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
    0x000ace40 lb a0, 1(a0)                  |     a0 = *((a0 + 1));
    0x000ace44 lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
                                             |     if (a0 == 0) {
    0x000ace48 bnel a0, zero, 0xabdd4        |         goto label_30;
                                             |     }
    0x000ace4c sb v1, 0x9b(sp)               |     *(var_9bh) = v1;
    0x000ace50 b 0xab7b4                     |     goto label_43;
                                             | label_132:
    0x000ace54 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000ace58 lw a0, 0x3c(sp)               |     a0 = *(var_3ch_2);
    0x000ace5c sw v1, 0x58(sp)               |     *(var_58h_2) = v1;
    0x000ace60 addiu t9, t9, 0x14b0          |     t9 += 0x14b0;
    0x000ace64 sw t0, 0x54(sp)               |     *(var_54h_2) = t0;
    0x000ace68 jalr t9                       |     t9 ();
    0x000ace6c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ace70 lw t0, 0x54(sp)               |     t0 = *(var_54h_2);
    0x000ace74 lw v1, 0x58(sp)               |     v1 = *(var_58h_2);
                                             |     if (v0 == 0) {
    0x000ace78 beqz v0, 0xad340              |         goto label_173;
                                             |     }
    0x000ace7c lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x000ace80 lw a0, 0x10(s5)               |     a0 = *((s5 + 4));
    0x000ace84 lw v0, 4(a1)                  |     v0 = *((a1 + 1));
    0x000ace88 ori v0, v0, 0x100             |     v0 |= aav.0x00000100;
    0x000ace8c sw v0, 4(a1)                  |     *((a1 + 1)) = v0;
    0x000ace90 b 0xabfcc                     |     goto label_18;
                                             | label_142:
    0x000ace94 lw v0, 0x38(v0)               |     v0 = *((v0 + 14));
    0x000ace98 addiu v0, zero, 0x34          |     v0 = 0x34;
                                             |     if (v0 == 0) {
    0x000ace9c beqz v0, 0xac4d8              |         goto label_44;
                                             |     }
    0x000acea0 move v0, s6                   |     v0 = s6;
    0x000acea4 addiu s2, s2, 1               |     s2++;
    0x000acea8 move s6, s1                   |     s6 = s1;
    0x000aceac move s1, v0                   |     s1 = v0;
    0x000aceb0 b 0xac4d4                     |     goto label_45;
                                             | label_126:
    0x000aceb4 addiu v0, zero, 0x80          |     v0 = 0x80;
    0x000aceb8 b 0xac04c                     |     goto label_19;
                                             | label_150:
    0x000acebc lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
    0x000acec0 lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
    0x000acec4 addiu v1, zero, 0x2c          |     v1 = 0x2c;
    0x000acec8 addu fp, a0, v0               |     fp = a0 + v0;
    0x000acecc lhu v0, 0xa(fp)               |     v0 = *(arg_ah);
    0x000aced0 sh zero, 0xc(fp)              |     *(arg_ch) = 0;
    0x000aced4 ori v0, v0, 6                 |     v0 |= 6;
    0x000aced8 sh v0, 0xa(fp)                |     *(arg_ah) = v0;
    0x000acedc lbu v0, 8(s7)                 |     v0 = *((s7 + 8));
    0x000acee0 lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
                                             |     if (v0 != v1) {
    0x000acee4 bne v0, v1, 0xab720           |         goto label_46;
                                             |     }
    0x000acee8 lbu a2, (s0)                  |     a2 = *(s0);
    0x000aceec b 0xabe1c                     |     goto label_25;
                                             | label_167:
    0x000acef0 lhu v0, 0xa(s3)               |     v0 = *((s3 + 5));
    0x000acef4 lw t9, -0x7dcc(gp)            |     t9 = *((gp - 8051));
    0x000acef8 ori v0, v0, 0x20              |     v0 |= 0x20;
    0x000acefc addiu v1, s6, 0x18            |     v1 = s6 + 0x18;
    0x000acf00 sh v0, 0xa(s3)                |     *((s3 + 5)) = v0;
    0x000acf04 addiu v0, zero, 0x400         |     v0 = aav.0x00000400;
    0x000acf08 move a0, v1                   |     a0 = v1;
    0x000acf0c addiu a2, zero, 0x180         |     a2 = 0x180;
    0x000acf10 move a1, zero                 |     a1 = 0;
    0x000acf14 sw s6, 0x1c(s3)               |     *((s3 + 7)) = s6;
    0x000acf18 sh v0, 0xc(s3)                |     *((s3 + 6)) = v0;
    0x000acf1c jalr t9                       |     t9 ();
    0x000acf20 move v1, v0                   |     v1 = v0;
    0x000acf24 lw v0, (s7)                   |     v0 = *(s7);
    0x000acf28 sb zero, 9(s6)                |     *((s6 + 9)) = 0;
    0x000acf2c lw a1, (s3)                   |     a1 = *(s3);
    0x000acf30 lw t9, 0x74(sp)               |     t9 = *(var_74h_3);
    0x000acf34 sw v0, (s6)                   |     *(s6) = v0;
    0x000acf38 addiu v0, zero, 8             |     v0 = 8;
    0x000acf3c sw zero, 4(s6)                |     *((s6 + 1)) = 0;
    0x000acf40 sw zero, 0xc(s6)              |     *((s6 + 3)) = 0;
    0x000acf44 sw v0, 0x10(s6)               |     *((s6 + 4)) = v0;
    0x000acf48 sw v1, 0x14(s6)               |     *((s6 + 5)) = v1;
    0x000acf4c addiu a2, zero, 0x2c          |     a2 = 0x2c;
    0x000acf50 move a0, s6                   |     a0 = s6;
    0x000acf54 jalr t9                       |     t9 ();
    0x000acf58 lw s2, 0xc(s6)                |     s2 = *((s6 + 3));
    0x000acf5c addiu s2, s2, -1              |     s2 += -1;
    0x000acf60 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (s2 < 0) {
    0x000acf64 bltz s2, 0xacfa0              |         goto label_174;
                                             |     }
    0x000acf68 sw fp, 0x78(sp)               |     *(var_78h_3) = fp;
    0x000acf6c sw s0, 0x7c(sp)               |     *(var_7ch_3) = s0;
    0x000acf70 lw fp, 0x38(sp)               |     fp = *(var_38h_2);
    0x000acf74 lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
                                             |     do {
    0x000acf78 move a2, s2                   |         a2 = s2;
    0x000acf7c move a1, s6                   |         a1 = s6;
    0x000acf80 move a0, fp                   |         a0 = fp;
    0x000acf84 move t9, s0                   |         t9 = s0;
    0x000acf88 addiu s2, s2, -1              |         s2 += -1;
    0x000acf8c jalr t9                       |         t9 ();
    0x000acf90 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000acf94 bne s2, s1, 0xacf78           |         
                                             |     } while (s2 != s1);
    0x000acf98 lw fp, 0x78(sp)               |     fp = *(var_78h_3);
    0x000acf9c lw s0, 0x7c(sp)               |     s0 = *(var_7ch_3);
                                             | label_174:
    0x000acfa0 lw v0, 0x58(sp)               |     v0 = *(var_58h_2);
    0x000acfa4 sw s7, 4(s6)                  |     *((s6 + 1)) = s7;
    0x000acfa8 lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
                                             |     if (v0 == 0) {
    0x000acfac beql v0, zero, 0xad6ac        |         goto label_175;
                                             |     }
    0x000acfb0 lw t1, 0xc(s6)                |     t1 = *((s6 + 3));
    0x000acfb4 move t1, zero                 |     t1 = 0;
                                             |     if (fp == 0) {
    0x000acfb8 beqz fp, 0xadab4              |         goto label_176;
                                             |     }
    0x000acfbc move t2, zero                 |     t2 = 0;
    0x000acfc0 b 0xacdd4                     |     goto label_47;
                                             | label_172:
    0x000acfc4 move t1, zero                 |     t1 = 0;
    0x000acfc8 move t2, zero                 |     t2 = 0;
    0x000acfcc b 0xacdb4                     |     goto label_48;
                                             | label_148:
    0x000acfd0 lw v0, 0x14(v1)               |     v0 = *((v1 + 5));
    0x000acfd4 lw v0, (v0)                   |     v0 = *(v0);
    0x000acfd8 b 0xac714                     |     goto label_49;
                                             | label_139:
    0x000acfdc move v0, zero                 |     v0 = 0;
    0x000acfe0 andi a0, v0, 0x20             |     a0 = v0 & 0x20;
                                             | label_140:
    0x000acfe4 sllv v0, t4, v0               |     v0 = t4 << v0;
    0x000acfe8 move v1, v0                   |     v1 = v0;
                                             |     if (a0 != 0) {
    0x000acfec movz v1, zero, a0             |         v1 = 0;
                                             |     }
                                             |     if (a0 == 0) {
    0x000acff0 movn v0, zero, a0             |         v0 = 0;
                                             |     }
    0x000acff4 and v0, v0, s2                |     v0 &= s2;
    0x000acff8 and v1, v1, s3                |     v1 &= s3;
    0x000acffc or v0, v0, v1                 |     v0 |= v1;
    0x000ad000 move v0, s6                   |     v0 = s6;
                                             |     if (v0 == 0) {
    0x000ad004 beqz v0, 0xac484              |         goto label_50;
                                             |     }
    0x000ad008 lw a0, (s1)                   |     a0 = *(s1);
    0x000ad00c lw fp, 0x1c(s1)               |     fp = *((s1 + 7));
    0x000ad010 lw v1, 0xc(a0)                |     v1 = *((a0 + 3));
    0x000ad014 sw v1, 0x64(sp)               |     *(var_64h_3) = v1;
                                             |     if (s6 == v0) {
    0x000ad018 beq s6, v0, 0xad044           |         goto label_177;
                                             |     }
    0x000ad01c lhu v0, 0xa(s1)               |     v0 = *((s1 + 5));
                                             |     do {
    0x000ad020 andi v0, v0, 0xffbf           |         v0 &= 0xffbf;
    0x000ad024 sh v0, 0xa(s1)                |         *((s1 + 5)) = v0;
                                             | label_54:
    0x000ad028 addiu s4, s4, -1              |         s4 += -1;
    0x000ad02c addiu v0, zero, -1            |         v0 = -1;
    0x000ad030 addiu s1, s1, 0x30            |         s1 += 0x30;
                                             |         if (s4 == v0) {
    0x000ad034 beq s4, v0, 0xad520           |             goto label_178;
                                             |         }
    0x000ad038 lw v0, 0x14(s1)               |         v0 = *((s1 + 5));
    0x000ad03c lhu v0, 0xa(s1)               |         v0 = *((s1 + 5));
    0x000ad040 bnel s6, v0, 0xad020          |         
                                             |     } while (s6 == v0);
                                             | label_177:
    0x000ad044 lw v0, 0x1c(s1)               |     v0 = *((s1 + 7));
                                             |     if (fp == v0) {
    0x000ad048 beql fp, v0, 0xad064          |         goto label_179;
                                             |     }
    0x000ad04c addiu v1, zero, -2            |     v1 = -2;
                                             | label_53:
    0x000ad050 move a2, s6                   |     a2 = s6;
                                             |     if (s7 != 0) {
    0x000ad054 bnez s7, 0xac490              |         goto label_51;
                                             |     }
    0x000ad058 lw v0, 0xc(s5)                |     v0 = *((s5 + 3));
    0x000ad05c addiu s7, zero, 1             |     s7 = 1;
    0x000ad060 b 0xac420                     |     goto label_52;
                                             | label_179:
    0x000ad064 lw v0, (s1)                   |     v0 = *(s1);
                                             |     if (fp == v1) {
    0x000ad068 beq fp, v1, 0xad36c           |         goto label_180;
                                             |     }
                                             | label_65:
    0x000ad06c lw t9, 0x60(sp)               |     t9 = *(var_60h_2);
    0x000ad070 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x000ad074 jalr t9                       |     t9 ();
    0x000ad078 lw a0, (s1)                   |     a0 = *(s1);
    0x000ad07c lw t9, 0x60(sp)               |     t9 = *(var_60h_2);
    0x000ad080 sw v0, 0x74(sp)               |     *(var_74h_3) = v0;
    0x000ad084 lw a0, 0xc(a0)                |     a0 = *((a0 + 3));
    0x000ad088 jalr t9                       |     t9 ();
    0x000ad08c lw v1, 0x74(sp)               |     v1 = *(var_74h_3);
    0x000ad090 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v1 == 0) {
    0x000ad094 beqz v1, 0xad0a0              |         goto label_181;
                                             |     }
                                             |     if (v1 != v0) {
    0x000ad098 bne v1, v0, 0xad050           |         goto label_53;
                                             |     }
    0x000ad09c nop                           |     
                                             | label_181:
    0x000ad0a0 lhu v0, 0xa(s1)               |     v0 = *((s1 + 5));
    0x000ad0a4 ori v0, v0, 0x40              |     v0 |= 0x40;
    0x000ad0a8 sh v0, 0xa(s1)                |     *((s1 + 5)) = v0;
    0x000ad0ac b 0xad028                     |     goto label_54;
                                             | label_169:
    0x000ad0b0 move v0, zero                 |     v0 = 0;
    0x000ad0b4 addiu a0, zero, 1             |     a0 = 1;
                                             | label_170:
    0x000ad0b8 andi v1, v0, 0x20             |     v1 = v0 & 0x20;
    0x000ad0bc sllv v0, a0, v0               |     v0 = a0 << v0;
    0x000ad0c0 move t0, v0                   |     t0 = v0;
                                             |     if (v1 != 0) {
    0x000ad0c4 movz t0, zero, v1             |         t0 = 0;
                                             |     }
                                             |     if (v1 == 0) {
    0x000ad0c8 movn v0, zero, v1             |         v0 = 0;
                                             |     }
    0x000ad0cc b 0xacd84                     |     goto label_55;
                                             | label_151:
    0x000ad0d0 lw v1, 0x38(v1)               |     v1 = *((v1 + 14));
                                             |     if (v1 == 0) {
    0x000ad0d4 beql v1, zero, 0xac84c        |         goto label_56;
                                             |     }
    0x000ad0d8 lw s6, 4(s1)                  |     s6 = *((s1 + 1));
    0x000ad0dc lw t2, -0x7fe4(gp)            |     t2 = *((gp - 8185));
    0x000ad0e0 lw a3, -0x7fa0(gp)            |     a3 = *((gp - 8168));
    0x000ad0e4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000ad0e8 addiu t2, t2, -0x5d6c         |     t2 += -0x5d6c;
    0x000ad0ec lw t5, 8(s0)                  |     t5 = *((s0 + 2));
    0x000ad0f0 move t4, t2                   |     t4 = t2;
    0x000ad0f4 addiu v1, zero, 0x6d          |     v1 = 0x6d;
    0x000ad0f8 addiu a3, a3, -0x400          |     a3 += -aav.0x00000400;
    0x000ad0fc move t3, zero                 |     t3 = 0;
    0x000ad100 addiu a2, a2, -0x6d34         |     a2 += -0x6d34;
    0x000ad104 addiu t6, zero, 4             |     t6 = 4;
                                             | label_59:
    0x000ad108 move a1, t5                   |     a1 = t5;
    0x000ad10c b 0xad128                     |     
                                             |     while (a0 == v1) {
    0x000ad110 lbux v1, v1(a2)               |         __asm ("lbux v1, v1(a2)");
    0x000ad114 addiu t3, t3, 1               |         t3++;
                                             |         if (a0 == v1) {
    0x000ad118 bnel a0, v1, 0xad154          |             goto label_182;
                                             |         }
    0x000ad11c addiu a3, a3, 1               |         a3++;
                                             | label_57:
    0x000ad120 lbu v1, (a3)                  |         v1 = *(a3);
    0x000ad124 addiu a1, a1, 1               |         a1++;
    0x000ad128 lbu a0, (a1)                  |         a0 = *(a1);
    0x000ad12c lbux a0, a0(a2)               |         __asm ("lbux a0, a0(a2)");
    0x000ad130 bnel a0, v1, 0xad110          |         
                                             |     }
    0x000ad134 addiu a3, a3, 1               |     a3++;
                                             |     if (v1 == 0) {
    0x000ad138 bnel v1, zero, 0xad120        |         goto label_57;
                                             |     }
    0x000ad13c sll t3, t3, 3                 |     t3 <<= 3;
    0x000ad140 addu t3, t2, t3               |     t3 = t2 + t3;
    0x000ad144 lw s1, 4(s1)                  |     s1 = *((s1 + 1));
    0x000ad148 lbu s5, 4(t3)                 |     s5 = *((t3 + 4));
    0x000ad14c addiu s2, zero, 1             |     s2 = 1;
    0x000ad150 b 0xac4f4                     |     goto label_29;
                                             | label_182:
    0x000ad154 addiu t4, t4, 8               |     t4 += 8;
                                             |     if (t3 == t6) {
    0x000ad158 beq t3, t6, 0xac848           |         goto label_58;
                                             |     }
    0x000ad15c lw a3, (t4)                   |     a3 = *(t4);
    0x000ad160 lbu v1, (a3)                  |     v1 = *(a3);
    0x000ad164 b 0xad108                     |     goto label_59;
                                             | label_164:
    0x000ad168 lw a0, 8(s2)                  |     a0 = *((s2 + 2));
    0x000ad16c slti v0, s4, 0x20             |     v0 = (s4 < 0x20) ? 1 : 0;
    0x000ad170 lw v1, 0xd0(a0)               |     v1 = *((a0 + 52));
                                             |     if (v0 == 0) {
    0x000ad174 beqz v0, 0xaccd0              |         goto label_60;
                                             |     }
                                             | label_166:
    0x000ad178 addiu s4, s4, -1              |     s4 += -1;
    0x000ad17c addiu v0, zero, 1             |     v0 = 1;
    0x000ad180 sllv v0, v0, s4               |     v0 <<= s4;
    0x000ad184 or v0, v0, v1                 |     v0 |= v1;
    0x000ad188 sw v0, 0xd0(a0)               |     *((a0 + 52)) = v0;
    0x000ad18c b 0xac900                     |     goto label_31;
                                             | label_122:
    0x000ad190 lw v0, (v0)                   |     v0 = *(v0);
    0x000ad194 lw v0, (v0)                   |     v0 = *(v0);
    0x000ad198 b 0xabe80                     |     goto label_61;
                                             | label_171:
    0x000ad19c lw a0, 0x14(s4)               |     a0 = *((s4 + 5));
    0x000ad1a0 sll v1, a3, 1                 |     v1 = a3 << 1;
    0x000ad1a4 addu v1, v1, a3               |     v1 += a3;
    0x000ad1a8 sll v1, v1, 4                 |     v1 <<= 4;
    0x000ad1ac addu v1, a0, v1               |     v1 = a0 + v1;
    0x000ad1b0 lw t3, 0x14(v1)               |     t3 = *((v1 + 5));
    0x000ad1b4 addiu a0, s5, 0x1f4           |     a0 = s5 + aav.0x000001f4;
                                             |     if (t4 == t3) {
    0x000ad1b8 beq t4, t3, 0xadb74           |         goto label_183;
                                             |     }
    0x000ad1bc move v1, zero                 |     v1 = 0;
    0x000ad1c0 addiu v1, v1, 1               |     v1++;
                                             | label_63:
    0x000ad1c4 addiu a0, a0, 4               |     a0 += 4;
                                             |     if (v1 == a2) {
    0x000ad1c8 beq v1, a2, 0xacd8c           |         goto label_62;
                                             |     }
    0x000ad1cc lw a3, -4(a0)                 |     a3 = *((a0 - 1));
    0x000ad1d0 addiu v1, v1, 1               |     v1++;
                                             |     if (a3 == t3) {
    0x000ad1d4 bnel a3, t3, 0xad1c4          |         goto label_63;
                                             |     }
                                             | label_86:
    0x000ad1d8 addiu a2, zero, 1             |     a2 = 1;
    0x000ad1dc andi a0, v1, 0x20             |     a0 = v1 & 0x20;
    0x000ad1e0 sllv v1, a2, v1               |     v1 = a2 << v1;
    0x000ad1e4 move a2, v1                   |     a2 = v1;
                                             |     if (a0 != 0) {
    0x000ad1e8 movz a2, zero, a0             |         a2 = 0;
                                             |     }
                                             |     if (a0 == 0) {
    0x000ad1ec movn v1, zero, a0             |         v1 = 0;
                                             |     }
    0x000ad1f0 or v0, v0, v1                 |     v0 |= v1;
    0x000ad1f4 or t0, t0, a2                 |     t0 |= a2;
    0x000ad1f8 b 0xacd8c                     |     goto label_62;
                                             | label_121:
    0x000ad1fc lw v0, 0x14(v1)               |     v0 = *((v1 + 5));
    0x000ad200 lw v0, (v0)                   |     v0 = *(v0);
    0x000ad204 b 0xabe80                     |     goto label_61;
                                             | label_115:
    0x000ad208 lw v0, 0x40(sp)               |     v0 = *(var_40h_2);
    0x000ad20c lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x000ad210 lw s3, -0x7fd8(gp)            |     s3 = *((gp - 8182));
                                             |     if (v0 != 0) {
    0x000ad214 bnez v0, 0xad24c              |         void (*0xad24c)() ();
                                             |     }
                                             |     if (s5 != t4) {
                                             | label_159:
    0x000ad330 bne s5, t4, 0xac99c           |         goto label_64;
                                             |     }
    0x000ad334 nop                           |     
    0x000ad338 move a0, s6                   |     a0 = s6;
    0x000ad33c b 0xac904                     |     goto label_41;
                                             | label_173:
    0x000ad340 lw a0, 0x10(s5)               |     a0 = *((s5 + 4));
    0x000ad344 lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x000ad348 b 0xabfcc                     |     goto label_18;
                                             | label_180:
    0x000ad36c lw a1, 0xc(v0)                |     a1 = *((v0 + 3));
    0x000ad370 lw a2, 0x64(sp)               |     a2 = *(var_64h_3);
    0x000ad374 lw a0, 0x68(sp)               |     a0 = *(var_68h_3);
    0x000ad378 lw t9, 0x6c(sp)               |     t9 = *(var_6ch_3);
    0x000ad37c addiu a3, zero, -1            |     a3 = -1;
    0x000ad380 jalr t9                       |     t9 ();
    0x000ad384 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x000ad388 bnez v0, 0xad050              |         goto label_53;
                                             |     }
    0x000ad38c lw v0, (s1)                   |     v0 = *(s1);
    0x000ad390 b 0xad06c                     |     goto label_65;
                                             | label_162:
    0x000ad394 move a0, a3                   |     a0 = a3;
    0x000ad398 sw t2, 0x68(sp)               |     *(var_68h_3) = t2;
    0x000ad39c sw t1, 0x64(sp)               |     *(var_64h_3) = t1;
    0x000ad3a0 sw v1, 0x60(sp)               |     *(var_60h_2) = v1;
    0x000ad3a4 sw t0, 0x5c(sp)               |     *(var_5ch_2) = t0;
    0x000ad3a8 addiu t9, t9, 0x710           |     t9 += 0x710;
    0x000ad3ac sw a3, 0x58(sp)               |     *(var_58h_2) = a3;
    0x000ad3b0 jalr t9                       |     t9 ();
    0x000ad3b4 addiu a0, zero, 0x42          |     a0 = 0x42;
    0x000ad3b8 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ad3bc lw a3, 0x58(sp)               |     a3 = *(var_58h_2);
    0x000ad3c0 lw t0, 0x5c(sp)               |     t0 = *(var_5ch_2);
    0x000ad3c4 lw v1, 0x60(sp)               |     v1 = *(var_60h_2);
    0x000ad3c8 lw t1, 0x64(sp)               |     t1 = *(var_64h_3);
    0x000ad3cc lw t2, 0x68(sp)               |     t2 = *(var_68h_3);
                                             |     if (v0 != a0) {
    0x000ad3d0 bne v0, a0, 0xaca48           |         goto label_66;
                                             |     }
                                             | label_68:
    0x000ad3f0 lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
    0x000ad3f4 lh v1, 0x20(s3)               |     v1 = *((s3 + 16));
    0x000ad3f8 lw s4, 8(v0)                  |     s4 = *((v0 + 2));
    0x000ad3fc slti a0, v1, 0x20             |     a0 = (v1 < 0x20) ? 1 : 0;
    0x000ad400 lw v0, 0xd0(s4)               |     v0 = *((s4 + 52));
                                             |     if (a0 != 0) {
    0x000ad404 bnez a0, 0xada1c              |         goto label_184;
                                             |     }
    0x000ad408 lui v1, 0x8000                |     v1 = 0x80000000;
    0x000ad40c or v0, v0, v1                 |     v0 |= v1;
                                             | label_80:
    0x000ad410 sw v0, 0xd0(s4)               |     *((s4 + 52)) = v0;
    0x000ad414 lw v0, 0x50(sp)               |     v0 = *(var_50h_3);
    0x000ad418 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (v0 != 0) {
    0x000ad41c beqz v0, 0xad4c0              |         
    0x000ad420 lw v0, 8(s3)                  |         v0 = *((s3 + 2));
    0x000ad424 lb v0, 1(v0)                  |         v0 = *((v0 + 1));
    0x000ad428 addiu t9, t9, 0x63b8          |         t9 += 0x63b8;
                                             |         if (v0 == 0) {
    0x000ad42c beqz v0, 0xad4c4              |             goto label_185;
                                             |         }
                                             |     }
    0x000ad4c0 addiu t9, t9, 0x63b8          |     t9 += 0x63b8;
                                             | label_185:
    0x000ad4c4 move a0, s6                   |     a0 = s6;
    0x000ad4c8 jalr t9                       |     t9 ();
    0x000ad4cc lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x000ad4d0 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ad4d4 move s6, zero                 |     s6 = 0;
    0x000ad4d8 lw s4, 0x18(v0)               |     s4 = *((v0 + 6));
                                             |     if (s2 != 0) {
    0x000ad4dc bnez s2, 0xabae4              |         void (*0xabae4)() ();
                                             |     }
                                             | label_160:
    0x000ad4e8 sltiu v1, v1, 1               |     v1 = (v1 < 1) ? 1 : 0;
    0x000ad4ec sw v1, 0x50(sp)               |     *(var_50h_3) = v1;
    0x000ad4f0 b 0xac9a8                     |     goto label_67;
                                             | label_161:
    0x000ad4f4 addiu v0, zero, 0x94          |     v0 = 0x94;
    0x000ad4f8 lw t9, -0x7fb0(gp)            |     t9 = *((gp - 8172));
                                             |     if (t0 == v0) {
    0x000ad4fc beq t0, v0, 0xad3f0           |         goto label_68;
                                             |     }
    0x000ad500 addiu t9, t9, 0x63b8          |     t9 += 0x63b8;
    0x000ad504 move a0, s6                   |     a0 = s6;
    0x000ad508 jalr t9                       |     t9 ();
    0x000ad50c lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x000ad510 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ad514 move s6, zero                 |     s6 = 0;
    0x000ad518 lw s4, 0x18(v0)               |     s4 = *((v0 + 6));
    0x000ad51c b 0xabb08                     |     goto label_69;
                                             | label_178:
    0x000ad520 move s4, s5                   |     s4 = s5;
    0x000ad524 lw s7, 0x5c(sp)               |     s7 = *(var_5ch_2);
    0x000ad528 lw v1, 0xc(s4)                |     v1 = *((s4 + 3));
    0x000ad52c move s5, s0                   |     s5 = s0;
    0x000ad530 addiu s2, v1, -1              |     s2 = v1 + -1;
    0x000ad534 lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
    0x000ad538 lw s4, 0x14(s4)               |     s4 = *((s4 + 5));
                                             |     if (s2 < 0) {
    0x000ad53c bltz s2, 0xadb24              |         goto label_186;
                                             |     }
    0x000ad540 lw s1, -0x7f6c(gp)            |     s1 = *((gp - 8155));
    0x000ad544 lw s3, -0x7f98(gp)            |     s3 = *((gp - 8166));
    0x000ad548 move v0, zero                 |     v0 = 0;
    0x000ad54c move fp, zero                 |     fp = 0;
    0x000ad550 addiu s1, s1, -0x6e38         |     s1 += -0x6e38;
    0x000ad554 addiu s3, s3, 0x73b8          |     s3 += 0x73b8;
    0x000ad558 addiu s6, zero, -1            |     s6 = -1;
                                             |     do {
    0x000ad55c lhu v1, 0xa(s4)               |         v1 = *((s4 + 5));
    0x000ad560 andi v1, v1, 0x40             |         v1 &= 0x40;
                                             |         if (v1 != 0) {
    0x000ad564 beql v1, zero, 0xad5bc        |             
    0x000ad568 addiu s2, s2, -1              |             s2 += -1;
    0x000ad56c lw v0, (s4)                   |             v0 = *(s4);
    0x000ad570 lw a2, 0x10(v0)               |             a2 = *((v0 + 4));
    0x000ad574 lw a0, 0x58(sp)               |             a0 = *(var_58h_2);
                                             |             if (a2 != 0) {
    0x000ad578 beqz a2, 0xad594              |                 
    0x000ad57c move a1, a2                   |                 a1 = a2;
    0x000ad580 move a3, zero                 |                 a3 = 0;
    0x000ad584 move t9, s3                   |                 t9 = s3;
    0x000ad588 move a2, zero                 |                 a2 = 0;
    0x000ad58c jalr t9                       |                 t9 ();
    0x000ad590 move a2, v0                   |                 a2 = v0;
                                             |             }
    0x000ad594 lw v0, (s5)                   |             v0 = *(s5);
    0x000ad598 move a1, fp                   |             a1 = fp;
    0x000ad59c move t9, s1                   |             t9 = s1;
    0x000ad5a0 lw a0, (v0)                   |             a0 = *(v0);
    0x000ad5a4 jalr t9                       |             t9 ();
    0x000ad5a8 lw v1, (s4)                   |             v1 = *(s4);
    0x000ad5ac move fp, v0                   |             fp = v0;
    0x000ad5b0 lw gp, 0x20(sp)               |             gp = *(var_20h_2);
    0x000ad5b4 lw v0, 0xc(v1)                |             v0 = *((v1 + 3));
    0x000ad5b8 addiu s2, s2, -1              |             s2 += -1;
                                             |         }
    0x000ad5bc addiu s4, s4, 0x30            |         s4 += 0x30;
    0x000ad5c0 bne s2, s6, 0xad55c           |         
                                             |     } while (s2 != s6);
    0x000ad5c4 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
                                             |     if (v0 != 0) {
    0x000ad5c8 beqz v0, 0xad5e8              |         
    0x000ad5cc lw a0, 0x58(sp)               |         a0 = *(var_58h_2);
    0x000ad5d0 move a1, v0                   |         a1 = v0;
    0x000ad5d4 move a3, zero                 |         a3 = 0;
    0x000ad5d8 addiu t9, t9, 0x73b8          |         t9 += 0x73b8;
    0x000ad5dc move a2, zero                 |         a2 = 0;
    0x000ad5e0 jalr t9                       |         t9 ();
    0x000ad5e4 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
                                             |     }
    0x000ad5e8 lw t0, -0x7f70(gp)            |     t0 = *((gp - 8156));
    0x000ad5ec lw a0, 0x68(sp)               |     a0 = *(var_68h_3);
    0x000ad5f0 addiu s2, t0, -0x3f64         |     s2 = t0 + -0x3f64;
    0x000ad5f4 move a3, zero                 |     a3 = 0;
    0x000ad5f8 move a2, v0                   |     a2 = v0;
    0x000ad5fc move t9, s2                   |     t9 = s2;
    0x000ad600 addiu a1, zero, 0x31          |     a1 = 0x31;
    0x000ad604 jalr t9                       |     t9 ();
    0x000ad608 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000ad60c beqz v0, 0xada74              |         goto label_187;
                                             |     }
                                             | label_85:
    0x000ad610 lw a1, 0x70(sp)               |     a1 = *(var_70h_3);
    0x000ad614 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x000ad618 lw s1, -0x7f98(gp)            |     s1 = *((gp - 8166));
    0x000ad61c lw a0, 4(a1)                  |     a0 = *((a1 + 1));
    0x000ad620 lh a3, 0x24(a1)               |     a3 = *((a1 + 18));
    0x000ad624 andi a0, a0, 1                |     a0 &= 1;
    0x000ad628 or v1, v1, a0                 |     v1 |= a0;
    0x000ad62c addiu s1, s1, 0x44c4          |     s1 += 0x44c4;
    0x000ad630 move t9, s1                   |     t9 = s1;
    0x000ad634 addiu a2, zero, 3             |     a2 = 3;
    0x000ad638 move a1, v0                   |     a1 = v0;
    0x000ad63c move a0, s7                   |     a0 = s7;
    0x000ad640 sw v1, 4(v0)                  |     *((v0 + 1)) = v1;
    0x000ad644 sh a3, 0x24(v0)               |     *((v0 + 18)) = a3;
    0x000ad648 sw fp, 0x14(v0)               |     *((v0 + 5)) = fp;
    0x000ad64c jalr t9                       |     t9 ();
    0x000ad650 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ad654 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x000ad658 move a2, v0                   |     a2 = v0;
    0x000ad65c lw v1, -0x7f40(gp)            |     v1 = *((gp - 8144));
    0x000ad660 move a1, s7                   |     a1 = s7;
    0x000ad664 addiu t9, v1, -0x4ba4         |     t9 = v1 + -0x4ba4;
    0x000ad668 move s1, v0                   |     s1 = v0;
    0x000ad66c bal 0xab45c                   |     fcn_000ab45c ();
                                             |     goto label_10;
    0x000ad670 addiu a0, zero, 0x30          |     a0 = 0x30;
    0x000ad674 mul a1, s1, a0                |     __asm ("mul a1, s1, a0");
    0x000ad678 lw v1, 0x14(s7)               |     v1 = *((s7 + 5));
    0x000ad67c lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
    0x000ad680 lw a0, 0xd0(sp)               |     a0 = *(var_d0h);
    0x000ad684 addu v0, v1, v0               |     v0 = v1 + v0;
    0x000ad688 addu s1, a1, v1               |     s1 = a1 + v1;
    0x000ad68c lh v1, 8(v0)                  |     v1 = *((v0 + 4));
    0x000ad690 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ad694 sw a0, 0x10(s1)               |     *((s1 + 4)) = a0;
    0x000ad698 sh v1, 8(s1)                  |     *((s1 + 4)) = v1;
    0x000ad69c lbu v1, 0xe(v0)               |     v1 = *((v0 + 14));
    0x000ad6a0 addiu v1, v1, 1               |     v1++;
    0x000ad6a4 sb v1, 0xe(v0)                |     *((v0 + 14)) = v1;
    0x000ad6a8 b 0xac498                     |     goto label_70;
                                             | label_175:
    0x000ad6ac lw a3, 0x14(s6)               |     a3 = *((s6 + 5));
                                             |     if (t1 <= 0) {
    0x000ad6b0 blez t1, 0xadb04              |         goto label_188;
                                             |     }
    0x000ad6b4 move t0, zero                 |     t0 = 0;
    0x000ad6b8 move t3, zero                 |     t3 = 0;
    0x000ad6bc move t2, zero                 |     t2 = 0;
    0x000ad6c0 addiu t5, zero, 0x40          |     t5 = 0x40;
    0x000ad6c4 addiu t4, zero, 0x1f31        |     t4 = 0x1f31;
                                             |     do {
    0x000ad6c8 lw v0, (a3)                   |         v0 = *(a3);
    0x000ad6cc lbu v0, (v0)                  |         v0 = *(v0);
    0x000ad6d0 addiu v0, v0, -0x2d           |         v0 += -0x2d;
    0x000ad6d4 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x000ad6d8 sltiu v1, v0, 0xd             |         v1 = (v0 < 0xd) ? 1 : 0;
                                             |         if (v1 != 0) {
    0x000ad6dc beql v1, zero, 0xad6f8        |             
    0x000ad6e0 lhu v0, 0xc(a3)               |             v0 = *((a3 + 6));
    0x000ad6e4 srlv v0, t4, v0               |             v0 = t4 >> v0;
    0x000ad6e8 ext v0, v0, 0, 1              |             __asm ("ext v0, v0, 0, 1");
    0x000ad6ec lw a1, 0x1ec(s5)              |             a1 = *(s5);
                                             |             if (v0 == 0) {
    0x000ad6f0 bnel v0, zero, 0xad730        |                 goto label_189;
                                             |             }
    0x000ad6f4 lhu v0, 0xc(a3)               |             v0 = *((a3 + 6));
                                             |         }
                                             |         if (v0 == t5) {
    0x000ad6f8 beql v0, t5, 0xad730          |             goto label_189;
                                             |         }
    0x000ad6fc lw a1, 0x1ec(s5)              |         a1 = *(s5);
                                             | label_71:
    0x000ad700 addiu t0, t0, 1               |         t0++;
    0x000ad704 addiu a3, a3, 0x30            |         a3 += 0x30;
    0x000ad708 bne t0, t1, 0xad6c8           |         
                                             |     } while (t0 != t1);
    0x000ad70c lw v0, 0x5c(sp)               |     v0 = *(var_5ch_2);
    0x000ad710 move t1, zero                 |     t1 = 0;
    0x000ad714 and v0, v0, t3                |     v0 &= t3;
    0x000ad718 sw v0, 0x5c(sp)               |     *(var_5ch_2) = v0;
    0x000ad71c lw v0, 0x60(sp)               |     v0 = *(var_60h_2);
    0x000ad720 and v0, v0, t2                |     v0 &= t2;
    0x000ad724 sw v0, 0x60(sp)               |     *(var_60h_2) = v0;
    0x000ad728 move t2, zero                 |     t2 = 0;
    0x000ad72c b 0xacdb4                     |     goto label_48;
                                             | label_189:
    0x000ad730 lw a2, 0x14(a3)               |     a2 = *((a3 + 5));
                                             |     if (a1 <= 0) {
    0x000ad734 blez a1, 0xad700              |         goto label_71;
                                             |     }
    0x000ad738 lw v0, 0x1f0(s5)              |     v0 = *((s5 + 124));
    0x000ad73c addiu v1, s5, 0x1f4           |     v1 = s5 + aav.0x000001f4;
                                             |     if (a2 == v0) {
    0x000ad740 beq a2, v0, 0xada94           |         goto label_190;
                                             |     }
    0x000ad744 move v0, zero                 |     v0 = 0;
    0x000ad748 addiu v0, v0, 1               |     v0++;
                                             | label_72:
    0x000ad74c addiu v1, v1, 4               |     v1 += 4;
                                             |     if (v0 == a1) {
    0x000ad750 beq v0, a1, 0xad700           |         goto label_71;
                                             |     }
    0x000ad754 lw a0, -4(v1)                 |     a0 = *((v1 - 1));
    0x000ad758 addiu v0, v0, 1               |     v0++;
                                             |     if (a2 == a0) {
    0x000ad75c bnel a2, a0, 0xad74c          |         goto label_72;
                                             |     }
                                             | label_82:
    0x000ad760 addiu a0, zero, 1             |     a0 = 1;
    0x000ad764 andi v1, v0, 0x20             |     v1 = v0 & 0x20;
    0x000ad768 sllv v0, a0, v0               |     v0 = a0 << v0;
    0x000ad76c move a0, v0                   |     a0 = v0;
                                             |     if (v1 != 0) {
    0x000ad770 movz a0, zero, v1             |         a0 = 0;
                                             |     }
                                             |     if (v1 == 0) {
    0x000ad774 movn v0, zero, v1             |         v0 = 0;
                                             |     }
    0x000ad778 or t3, t3, v0                 |     t3 |= v0;
    0x000ad77c or t2, t2, a0                 |     t2 |= a0;
    0x000ad780 b 0xad700                     |     goto label_71;
                                             | label_133:
    0x000ad784 lw v0, 0x58(sp)               |     v0 = *(var_58h_2);
    0x000ad788 lbu v0, 0x51(v0)              |     v0 = *((v0 + 81));
    0x000ad78c lw a0, 0x14(s7)               |     a0 = *((s7 + 5));
                                             |     if (v0 == 0) {
    0x000ad790 bnel v0, zero, 0xac49c        |         goto label_73;
                                             |     }
                                             | label_134:
    0x000ad794 addiu v1, zero, -1            |     v1 = -1;
    0x000ad798 sw v1, 0x19c(s4)              |     *(s4) = v1;
    0x000ad79c lw v1, 0x64(sp)               |     v1 = *(var_64h_3);
    0x000ad7a0 addiu v0, zero, -1            |     v0 = -1;
    0x000ad7a4 sw v0, 0x198(s4)              |     *(s4) = v0;
    0x000ad7a8 addiu v0, zero, 0x200         |     v0 = 0x200;
    0x000ad7ac sh v0, 0xc(v1)                |     *((v1 + 6)) = v0;
    0x000ad7b0 addiu v0, zero, 1             |     v0 = 1;
    0x000ad7b4 sb v0, 9(s7)                  |     *((s7 + 9)) = v0;
    0x000ad7b8 lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
    0x000ad7bc addiu v1, zero, 2             |     v1 = 2;
    0x000ad7c0 addiu t1, zero, -1            |     t1 = -1;
    0x000ad7c4 addiu t2, zero, -1            |     t2 = -1;
                                             |     if (v0 != v1) {
    0x000ad7c8 bne v0, v1, 0xac3e4           |         goto label_74;
                                             |     }
    0x000ad7cc lw a0, -0x7f70(gp)            |     a0 = *((gp - 8156));
                                             | label_137:
    0x000ad7d0 lw v0, 0x14(s4)               |     v0 = *((s4 + 5));
    0x000ad7d4 addiu a0, a0, 0x6468          |     a0 += 0x6468;
    0x000ad7d8 sw a0, 0x60(sp)               |     *(var_60h_2) = a0;
    0x000ad7dc lw a0, -0x7f98(gp)            |     a0 = *((gp - 8166));
    0x000ad7e0 move v1, zero                 |     v1 = 0;
    0x000ad7e4 addiu a0, a0, 0x73b8          |     a0 += 0x73b8;
    0x000ad7e8 sw a0, 0x6c(sp)               |     *(var_6ch_3) = a0;
    0x000ad7ec lw a0, -0x7f98(gp)            |     a0 = *((gp - 8166));
    0x000ad7f0 sw s0, 0x54(sp)               |     *(var_54h_2) = s0;
    0x000ad7f4 addiu a0, a0, 0x44c4          |     a0 += 0x44c4;
    0x000ad7f8 sw a0, 0x74(sp)               |     *(var_74h_3) = a0;
    0x000ad7fc move s6, t1                   |     s6 = t1;
    0x000ad800 move fp, t2                   |     fp = t2;
                                             | label_76:
    0x000ad804 lhu a1, 0xc(v0)               |     a1 = *((v0 + 6));
    0x000ad808 addiu a0, zero, 0x400         |     a0 = aav.0x00000400;
    0x000ad80c addiu s2, v1, 1               |     s2 = v1 + 1;
                                             |     if (a1 == a0) {
    0x000ad810 beq a1, a0, 0xad9c4           |         goto label_191;
                                             |     }
    0x000ad814 lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
                                             |     if (v1 != 0) {
    0x000ad818 bnez v1, 0xad9f8              |         goto label_192;
                                             |     }
    0x000ad81c move s0, v0                   |     s0 = v0;
    0x000ad820 lw s3, -0x7f40(gp)            |     s3 = *((gp - 8144));
                                             | label_78:
    0x000ad824 lhu a0, 0x3c(v0)              |     a0 = *((v0 + 30));
    0x000ad828 addiu v1, s3, -0x4ba4         |     v1 = s3 + -0x4ba4;
    0x000ad82c sw s2, 0x5c(sp)               |     *(var_5ch_2) = s2;
    0x000ad830 move s1, zero                 |     s1 = 0;
    0x000ad834 sw v1, 0x64(sp)               |     *(var_64h_3) = v1;
    0x000ad838 move s2, s0                   |     s2 = s0;
                                             |     do {
                                             | label_75:
    0x000ad83c addiu v1, zero, 0x400         |         v1 = aav.0x00000400;
                                             |         if (a0 == v1) {
    0x000ad840 beql a0, v1, 0xad99c          |             goto label_193;
                                             |         }
    0x000ad844 lw a1, 0x4c(v0)               |         a1 = *((v0 + 19));
    0x000ad848 lw s2, 0x5c(sp)               |         s2 = *(var_5ch_2);
                                             |         if (s1 == 0) {
    0x000ad84c bnel s1, zero, 0xad994        |             goto label_194;
                                             |         }
    0x000ad850 addiu s0, v0, 0x30            |         s0 = v0 + 0x30;
                                             |         if (s0 == 0) {
                                             | label_77:
    0x000ad854 beql s0, zero, 0xad994        |             goto label_194;
                                             |         }
    0x000ad858 lw s2, 0x5c(sp)               |         s2 = *(var_5ch_2);
    0x000ad85c lhu s3, 0xc(s2)               |         s3 = *((s2 + 6));
    0x000ad860 andi v1, s3, 0x3e             |         v1 = s3 & 0x3e;
    0x000ad864 beql v1, zero, 0xad83c        |         
                                             |     } while (v1 == 0);
    0x000ad868 addiu s1, s1, 1               |     s1++;
    0x000ad86c lhu v1, 0xc(s0)               |     v1 = *((s0 + 6));
    0x000ad870 andi a1, v1, 0x3e             |     a1 = v1 & 0x3e;
                                             |     if (a1 == 0) {
    0x000ad874 beql a1, zero, 0xad83c        |         goto label_75;
                                             |     }
    0x000ad878 addiu s1, s1, 1               |     s1++;
    0x000ad87c or s3, s3, v1                 |     s3 |= v1;
    0x000ad880 andi v1, s3, 0x1a             |     v1 = s3 & 0x1a;
    0x000ad884 andi v1, s3, 0x26             |     v1 = s3 & 0x26;
                                             |     if (s3 == v1) {
    0x000ad888 beq s3, v1, 0xad894           |         goto label_195;
                                             |     }
    0x000ad88c addiu s1, s1, 1               |     s1++;
                                             |     if (s3 == v1) {
    0x000ad890 bnel s3, v1, 0xad83c          |         goto label_75;
                                             |     }
                                             | label_195:
    0x000ad894 lw v1, (s0)                   |     v1 = *(s0);
    0x000ad898 lw v0, (s2)                   |     v0 = *(s2);
    0x000ad89c lw t9, 0x60(sp)               |     t9 = *(var_60h_2);
    0x000ad8a0 lw a2, 0xc(v1)                |     a2 = *((v1 + 3));
    0x000ad8a4 lw a1, 0xc(v0)                |     a1 = *((v0 + 3));
    0x000ad8a8 addiu a3, zero, -1            |     a3 = -1;
    0x000ad8ac move a0, zero                 |     a0 = 0;
    0x000ad8b0 jalr t9                       |     t9 ();
    0x000ad8b4 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x000ad8b8 bnez v0, 0xada04              |         goto label_196;
                                             |     }
    0x000ad8bc lw v1, (s0)                   |     v1 = *(s0);
    0x000ad8c0 lw v0, (s2)                   |     v0 = *(s2);
    0x000ad8c4 lw t9, 0x60(sp)               |     t9 = *(var_60h_2);
    0x000ad8c8 lw a2, 0x10(v1)               |     a2 = *((v1 + 4));
    0x000ad8cc lw a1, 0x10(v0)               |     a1 = *((v0 + 4));
    0x000ad8d0 addiu a3, zero, -1            |     a3 = -1;
    0x000ad8d4 move a0, zero                 |     a0 = 0;
    0x000ad8d8 jalr t9                       |     t9 ();
    0x000ad8dc lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x000ad8e0 bnez v0, 0xada04              |         goto label_196;
                                             |     }
    0x000ad8e4 addiu v0, s3, -1              |     v0 = s3 + -1;
    0x000ad8e8 and v0, v0, s3                |     v0 &= s3;
    0x000ad8ec lw a1, (s2)                   |     a1 = *(s2);
                                             |     if (v0 != 0) {
    0x000ad8f0 beqz v0, 0xad908              |         
    0x000ad8f4 andi s3, s3, 0x18             |         s3 &= 0x18;
    0x000ad8f8 addiu v1, zero, 8             |         v1 = 8;
    0x000ad8fc addiu v0, zero, 0x20          |         v0 = 0x20;
                                             |         if (s3 == 0) {
    0x000ad900 movn v0, v1, s3               |             v0 = v1;
                                             |         }
    0x000ad904 move s3, v0                   |         s3 = v0;
                                             |     }
    0x000ad908 lw t9, 0x6c(sp)               |     t9 = *(var_6ch_3);
                                             |     if (a1 == 0) {
    0x000ad90c beqz a1, 0xada04              |         goto label_196;
                                             |     }
    0x000ad910 lw v0, (s7)                   |     v0 = *(s7);
    0x000ad914 move a3, zero                 |     a3 = 0;
    0x000ad918 lw v0, (v0)                   |     v0 = *(v0);
    0x000ad91c move a2, zero                 |     a2 = 0;
    0x000ad920 lw a0, (v0)                   |     a0 = *(v0);
    0x000ad924 jalr t9                       |     t9 ();
    0x000ad928 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000ad92c beqz v0, 0xada04              |         goto label_196;
                                             |     }
    0x000ad930 addiu v1, zero, 2             |     v1 = 2;
    0x000ad934 addiu a2, zero, 2             |     a2 = 2;
                                             |     if (s3 == v1) {
    0x000ad938 beq s3, v1, 0xadafc           |         goto label_197;
                                             |     }
    0x000ad93c addiu a0, zero, 0x35          |     a0 = 0x35;
                                             |     do {
    0x000ad940 addiu a1, a0, -0x34           |         a1 = a0 + -0x34;
    0x000ad944 addiu v1, a0, 1               |         v1 = a0 + 1;
    0x000ad948 sllv a1, a2, a1               |         a1 = a2 << a1;
    0x000ad94c move a0, v1                   |         a0 = v1;
    0x000ad950 bne a1, s3, 0xad940           |         
                                             |     } while (a1 != s3);
                                             | label_83:
    0x000ad954 lw t9, 0x74(sp)               |     t9 = *(var_74h_3);
    0x000ad958 addiu a2, zero, 3             |     a2 = 3;
    0x000ad95c move a1, v0                   |     a1 = v0;
    0x000ad960 move a0, s7                   |     a0 = s7;
    0x000ad964 sb v1, (v0)                   |     *(v0) = v1;
    0x000ad968 jalr t9                       |     t9 ();
    0x000ad96c lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x000ad970 lw t9, 0x64(sp)               |     t9 = *(var_64h_3);
    0x000ad974 move a2, v0                   |     a2 = v0;
    0x000ad978 move a1, s7                   |     a1 = s7;
    0x000ad97c jalr t9                       |     t9 ();
    0x000ad980 lw v0, 0x14(s4)               |     v0 = *((s4 + 5));
    0x000ad984 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ad988 lhu a0, 0x3c(v0)              |     a0 = *((v0 + 30));
    0x000ad98c addiu s1, s1, 1               |     s1++;
    0x000ad990 b 0xad83c                     |     goto label_75;
                                             |     do {
                                             | label_194:
    0x000ad994 move v1, s2                   |         v1 = s2;
    0x000ad998 b 0xad804                     |         goto label_76;
                                             | label_193:
    0x000ad99c lw v1, 0xc(a1)                |         v1 = *((a1 + 3));
    0x000ad9a0 slt v1, s1, v1                |         v1 = (s1 < v1) ? 1 : 0;
    0x000ad9a4 beql v1, zero, 0xad994        |         
                                             |     } while (v1 == 0);
    0x000ad9a8 lw s2, 0x5c(sp)               |     s2 = *(var_5ch_2);
    0x000ad9ac sll v1, s1, 1                 |     v1 = s1 << 1;
    0x000ad9b0 addu v1, v1, s1               |     v1 += s1;
    0x000ad9b4 lw s0, 0x14(a1)               |     s0 = *((a1 + 5));
    0x000ad9b8 sll v1, v1, 4                 |     v1 <<= 4;
    0x000ad9bc addu s0, s0, v1               |     s0 += v1;
    0x000ad9c0 b 0xad854                     |     goto label_77;
                                             | label_191:
    0x000ad9c4 lw a1, 0x1c(v0)               |     a1 = *((v0 + 7));
    0x000ad9c8 lw a0, 0xc(a1)                |     a0 = *((a1 + 3));
    0x000ad9cc slt a0, v1, a0                |     a0 = (v1 < a0) ? 1 : 0;
    0x000ad9d0 lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
                                             |     if (a0 == 0) {
    0x000ad9d4 beqz a0, 0xad9f8              |         goto label_192;
                                             |     }
    0x000ad9d8 sll a0, v1, 1                 |     a0 = v1 << 1;
    0x000ad9dc addu v1, a0, v1               |     v1 = a0 + v1;
    0x000ad9e0 lw t0, 0x14(a1)               |     t0 = *((a1 + 5));
    0x000ad9e4 sll v1, v1, 4                 |     v1 <<= 4;
    0x000ad9e8 addu s0, t0, v1               |     s0 = t0 + v1;
    0x000ad9ec lw s3, -0x7f40(gp)            |     s3 = *((gp - 8144));
                                             |     if (s0 == 0) {
    0x000ad9f0 bnel s0, zero, 0xad824        |         goto label_78;
                                             |     }
    0x000ad9f4 lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
                                             | label_192:
    0x000ad9f8 move t1, s6                   |     t1 = s6;
    0x000ad9fc move t2, fp                   |     t2 = fp;
    0x000ada00 b 0xac3d4                     |     goto label_40;
                                             | label_196:
    0x000ada04 lw v0, 0x14(s4)               |     v0 = *((s4 + 5));
    0x000ada08 addiu s1, s1, 1               |     s1++;
    0x000ada0c lhu a0, 0x3c(v0)              |     a0 = *((v0 + 30));
    0x000ada10 b 0xad83c                     |     goto label_75;
                                             | label_129:
    0x000ada14 lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x000ada18 b 0xac188                     |     goto label_79;
                                             | label_184:
    0x000ada1c addiu v1, v1, -1              |     v1 += -1;
    0x000ada20 addiu a0, zero, 1             |     a0 = 1;
    0x000ada24 sllv v1, a0, v1               |     v1 = a0 << v1;
    0x000ada28 or v0, v1, v0                 |     v0 = v1 | v0;
    0x000ada2c b 0xad410                     |     goto label_80;
                                             | label_165:
    0x000ada30 lw t9, -0x7ea8(gp)            |     t9 = *(gp);
    0x000ada34 sw t0, 0x5c(sp)               |     *(var_5ch_2) = t0;
    0x000ada38 sw a3, 0x58(sp)               |     *(var_58h_2) = a3;
    0x000ada3c move a0, s6                   |     a0 = s6;
    0x000ada40 jalr t9                       |     t9 ();
    0x000ada44 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x000ada48 slti a0, s4, 0x20             |     a0 = (s4 < 0x20) ? 1 : 0;
    0x000ada4c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ada50 lw v1, 8(v1)                  |     v1 = *((v1 + 2));
    0x000ada54 lw a3, 0x58(sp)               |     a3 = *(var_58h_2);
    0x000ada58 lw t0, 0x5c(sp)               |     t0 = *(var_5ch_2);
                                             |     if (a0 != 0) {
    0x000ada5c bnez a0, 0xadad4              |         goto label_198;
                                             |     }
    0x000ada60 lw a0, 0xd0(v1)               |     a0 = *((v1 + 52));
    0x000ada64 lui a1, 0x8000                |     a1 = 0x80000000;
    0x000ada68 or a0, a0, a1                 |     a0 |= a1;
    0x000ada6c sw a0, 0xd0(v1)               |     *((v1 + 52)) = a0;
    0x000ada70 b 0xac924                     |     goto label_81;
                                             | label_187:
    0x000ada74 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
                                             |     if (fp == 0) {
    0x000ada78 beqz fp, 0xac498              |         goto label_70;
                                             |     }
    0x000ada7c lw a0, 0x58(sp)               |     a0 = *(var_58h_2);
    0x000ada80 addiu t9, t9, 0x38a4          |     t9 += 0x38a4;
    0x000ada84 move a1, fp                   |     a1 = fp;
    0x000ada88 jalr t9                       |     t9 ();
    0x000ada8c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000ada90 b 0xac498                     |     goto label_70;
                                             | label_190:
    0x000ada94 move v0, zero                 |     v0 = 0;
    0x000ada98 b 0xad760                     |     goto label_82;
                                             | label_94:
    0x000ada9c lw t9, -0x7cac(gp)            |     t9 = *((gp - 7979));
    0x000adaa0 jalr t9                       |     t9 ();
    0x000adaa4 nop                           |     
                                             | label_168:
    0x000adaa8 move v0, zero                 |     v0 = 0;
    0x000adaac move t0, zero                 |     t0 = 0;
    0x000adab0 b 0xacd8c                     |     goto label_62;
                                             | label_176:
    0x000adab4 move v1, zero                 |     v1 = 0;
                                             |     do {
    0x000adab8 sw v1, 0x19c(s4)              |         *(s4) = v1;
    0x000adabc lw v1, 0x64(sp)               |         v1 = *(var_64h_3);
    0x000adac0 move v0, zero                 |         v0 = 0;
    0x000adac4 sw v0, 0x198(s4)              |         *(s4) = v0;
    0x000adac8 addiu v0, zero, 0x200         |         v0 = 0x200;
    0x000adacc sh v0, 0xc(v1)                |         *((v1 + 6)) = v0;
    0x000adad0 b 0xac498                     |         goto label_70;
                                             | label_198:
    0x000adad4 lw a0, 0xd0(v1)               |         a0 = *((v1 + 52));
    0x000adad8 addiu s4, s4, -1              |         s4 += -1;
    0x000adadc addiu a1, zero, 1             |         a1 = 1;
    0x000adae0 sllv s4, a1, s4               |         s4 = a1 << s4;
    0x000adae4 or a0, a0, s4                 |         a0 |= s4;
    0x000adae8 sw a0, 0xd0(v1)               |         *((v1 + 52)) = a0;
    0x000adaec b 0xac924                     |         goto label_81;
                                             | label_131:
    0x000adaf0 lw a1, 0xc(s5)                |         a1 = *((s5 + 3));
    0x000adaf4 move s6, zero                 |         s6 = 0;
    0x000adaf8 b 0xabfb0                     |         goto label_17;
                                             | label_197:
    0x000adafc addiu v1, zero, 0x35          |         v1 = 0x35;
    0x000adb00 b 0xad954                     |         goto label_83;
                                             | label_188:
    0x000adb04 move v1, zero                 |         v1 = 0;
    0x000adb08 bnez fp, 0xadab8              |         
                                             |     } while (fp != 0);
    0x000adb0c move v0, zero                 |     v0 = 0;
    0x000adb10 sw v0, 0x198(s4)              |     *(s4) = v0;
    0x000adb14 sw v1, 0x19c(s4)              |     *(s4) = v1;
    0x000adb18 move t1, zero                 |     t1 = 0;
    0x000adb1c move t2, zero                 |     t2 = 0;
    0x000adb20 b 0xacde4                     |     goto label_84;
                                             | label_186:
    0x000adb24 lw t0, -0x7f70(gp)            |     t0 = *((gp - 8156));
    0x000adb28 lw a0, 0x68(sp)               |     a0 = *(var_68h_3);
    0x000adb2c addiu s2, t0, -0x3f64         |     s2 = t0 + -0x3f64;
    0x000adb30 move a3, zero                 |     a3 = 0;
    0x000adb34 move a2, zero                 |     a2 = 0;
    0x000adb38 move t9, s2                   |     t9 = s2;
    0x000adb3c addiu a1, zero, 0x31          |     a1 = 0x31;
    0x000adb40 jalr t9                       |     t9 ();
    0x000adb44 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000adb48 beqz v0, 0xac498              |         goto label_70;
                                             |     }
    0x000adb4c move fp, zero                 |     fp = 0;
    0x000adb50 b 0xad610                     |     goto label_85;
                                             | label_183:
    0x000adb74 move v1, zero                 |     v1 = 0;
    0x000adb78 b 0xad1d8                     |     goto label_86;
                                             | label_152:
    0x000adb7c lw v0, 8(zero)                |     v0 = *((zero + 2));
    0x000adb80 teq zero, zero                |     __asm ("teq zero, zero");
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libsqlite3.so.0.8.6 @ 0xde530 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000de530 ()                  | void fcn_000de530 () {
    0x000de530 lui gp, 6                     |     
    0x000de534 addiu gp, gp, 0x5ff0          |     
    0x000de538 addu gp, gp, t9               |     gp += t9;
    0x000de53c addiu sp, sp, -0x58           |     
    0x000de540 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x000de544 lw fp, (a0)                   |     fp = *(a0);
    0x000de548 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x000de54c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000de550 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x000de554 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x000de558 sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x000de55c sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x000de560 sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x000de564 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x000de568 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x000de56c sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x000de570 lbu v0, 0x51(fp)              |     v0 = *(arg_51h);
    0x000de574 move s1, a1                   |     s1 = a1;
    0x000de578 sw a3, 0x20(sp)               |     *(var_20h) = a3;
    0x000de57c beqz v0, 0xde5c0              |     
                                             |     while (v0 != 0) {
                                             | label_0:
    0x000de580 lw t9, -0x7f98(gp)            |         t9 = *((gp - 8166));
                                             | label_4:
    0x000de584 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x000de588 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x000de58c lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x000de590 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x000de594 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x000de598 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x000de59c lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x000de5a0 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x000de5a4 move a1, s1                   |         a1 = s1;
    0x000de5a8 move a0, fp                   |         a0 = fp;
    0x000de5ac lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x000de5b0 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x000de5b4 addiu t9, t9, 0x5abc          |         t9 += 0x5abc;
    0x000de5b8 addiu sp, sp, 0x58            |         
    0x000de5bc jr t9                         |         t9 ();
    0x000de5c0 lw t9, -0x7f64(gp)            |         t9 = *((gp - 8153));
    0x000de5c4 move s0, a0                   |         s0 = a0;
    0x000de5c8 addiu t9, t9, 0x4ba4          |         t9 += 0x4ba4;
    0x000de5cc move s3, a2                   |         s3 = a2;
    0x000de5d0 bal 0xc4ba4                   |         fcn_000c4ba4 ();
    0x000de5d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000de5d8 bnez v0, 0xde580              |         
                                             |     }
    0x000de5dc lw a3, 0x20(sp)               |     a3 = *(var_20h);
    0x000de5e0 addiu a2, s1, 8               |     a2 = s1 + 8;
                                             |     if (a3 != 0) {
    0x000de5e4 bnez a3, 0xde95c              |         goto label_26;
                                             |     }
    0x000de5e8 lw t9, -0x7f64(gp)            |     t9 = *((gp - 8153));
    0x000de5ec move a1, s3                   |     a1 = s3;
    0x000de5f0 addiu t9, t9, 0x57ac          |     t9 += 0x57ac;
    0x000de5f4 move a0, s0                   |     a0 = s0;
    0x000de5f8 bal 0xc57ac                   |     fcn_000c57ac ();
    0x000de5fc move s2, v0                   |     s2 = v0;
    0x000de600 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000de604 beqz v0, 0xde580              |         goto label_0;
                                             |     }
                                             | label_1:
    0x000de608 lw a1, 0x48(s2)               |     a1 = *((s2 + 18));
    0x000de60c lw a2, 0x38(s2)               |     a2 = *((s2 + 14));
                                             |     if (a1 == 0) {
    0x000de610 beqz a1, 0xdec80              |         goto label_27;
                                             |     }
    0x000de614 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000de618 addiu t9, t9, 0x42fc          |     t9 += 0x42fc;
    0x000de61c move a0, fp                   |     a0 = fp;
    0x000de620 jalr t9                       |     t9 ();
    0x000de624 move s4, v0                   |     s4 = v0;
    0x000de628 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a2 != 0) {
    0x000de62c bnez a2, 0xde9bc              |         goto label_28;
                                             |     }
                                             | label_3:
    0x000de630 addiu v0, zero, 1             |     v0 = 1;
    0x000de634 sll s5, s4, 4                 |     s5 = s4 << 4;
                                             |     if (s4 == v0) {
    0x000de638 beq s4, v0, 0xde9b0           |         goto label_29;
                                             |     }
                                             | label_20:
    0x000de63c lw a2, -0x7fb4(gp)            |     a2 = *((gp - 8173));
    0x000de640 addiu a2, a2, 0x7f14          |     a2 += 0x7f14;
                                             | label_2:
    0x000de644 lw s7, 0x10(fp)               |     s7 = *(arg_10h);
    0x000de648 lw s6, -0x7f70(gp)            |     s6 = *((gp - 8156));
    0x000de64c move a3, zero                 |     a3 = 0;
    0x000de650 lwx s7, s5(s7)                |     __asm ("lwx s7, s5(s7)");
    0x000de654 addiu s6, s6, -0x4b2c         |     s6 += -0x4b2c;
    0x000de658 sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x000de65c addiu a1, zero, 9             |     a1 = 9;
    0x000de660 move t9, s6                   |     t9 = s6;
    0x000de664 move a0, s0                   |     a0 = s0;
    0x000de668 jalr t9                       |     t9 ();
    0x000de66c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000de670 bnez v0, 0xde580              |         goto label_0;
                                             |     }
                                             |     if (s3 == 0) {
    0x000de674 beql s3, zero, 0xde9e0        |         goto label_30;
                                             |     }
    0x000de678 lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
    0x000de67c xori a1, s4, 1                |     a1 = s4 ^ 1;
    0x000de680 addiu a0, zero, 0xf           |     a0 = 0xf;
    0x000de684 addiu v0, zero, 0x11          |     v0 = 0x11;
                                             |     if (a1 != 0) {
    0x000de688 movz v0, a0, a1               |         v0 = a0;
                                             |     }
    0x000de68c move a3, zero                 |     a3 = 0;
    0x000de690 move a1, v0                   |     a1 = v0;
                                             | label_5:
    0x000de694 lw a2, (s2)                   |     a2 = *(s2);
    0x000de698 move a0, s0                   |     a0 = s0;
    0x000de69c move t9, s6                   |     t9 = s6;
    0x000de6a0 sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x000de6a4 jalr t9                       |     t9 ();
    0x000de6a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000de6ac bnez v0, 0xde580              |         goto label_0;
                                             |     }
    0x000de6b0 lw a2, (s2)                   |     a2 = *(s2);
    0x000de6b4 move a3, zero                 |     a3 = 0;
    0x000de6b8 sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x000de6bc addiu a1, zero, 9             |     a1 = 9;
    0x000de6c0 move t9, s6                   |     t9 = s6;
    0x000de6c4 move a0, s0                   |     a0 = s0;
    0x000de6c8 jalr t9                       |     t9 ();
    0x000de6cc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000de6d0 bnez v0, 0xde580              |         goto label_0;
                                             |     }
    0x000de6d4 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000de6d8 lw t9, -0x7ee0(gp)            |     t9 = *((gp - 8120));
    0x000de6dc lw a0, (s2)                   |     a0 = *(s2);
    0x000de6e0 addiu a2, zero, 7             |     a2 = 7;
    0x000de6e4 addiu a1, a1, -0x754c         |     a1 += -0x754c;
    0x000de6e8 jalr t9                       |     t9 ();
    0x000de6ec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000de6f0 beqz v0, 0xdead8              |         goto label_31;
                                             |     }
                                             | label_7:
    0x000de6f4 lw v0, 0xc(s2)                |     v0 = *((s2 + 3));
                                             |     if (s3 == 0) {
    0x000de6f8 beqz s3, 0xdea38              |         goto label_32;
                                             |     }
    0x000de6fc lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
                                             |     if (v0 == 0) {
    0x000de700 beqz v0, 0xdec9c              |         goto label_33;
                                             |     }
    0x000de704 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x000de708 lw s6, -0x7f7c(gp)            |     s6 = *((gp - 8159));
                                             |     if (v0 == 0) {
    0x000de70c beqz v0, 0xdeb3c              |         goto label_34;
                                             |     }
                                             | label_11:
    0x000de710 move a2, s4                   |     a2 = s4;
    0x000de714 addiu s6, s6, 0x682c          |     s6 += 0x682c;
    0x000de718 addiu a1, zero, 1             |     a1 = 1;
    0x000de71c move t9, s6                   |     t9 = s6;
    0x000de720 move a0, s0                   |     a0 = s0;
    0x000de724 jalr t9                       |     t9 ();
    0x000de728 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000de72c lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
                                             | label_22:
    0x000de730 lw v1, 8(s0)                  |     v1 = *((s0 + 2));
                                             | label_21:
    0x000de734 addiu v0, v0, 0x620c          |     v0 += 0x620c;
    0x000de738 lw s7, (s0)                   |     s7 = *(s0);
    0x000de73c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x000de740 sw v0, 0x28(sp)               |     *(var_28h) = v0;
                                             | label_6:
    0x000de744 lw v0, 0x10(s7)               |     v0 = *((s7 + 4));
    0x000de748 addu v0, v0, s5               |     v0 += s5;
    0x000de74c sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x000de750 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x000de754 move a2, s4                   |     a2 = s4;
                                             |     if (v0 == 0) {
    0x000de758 bnez v0, 0xde774              |         
    0x000de75c lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
    0x000de760 addiu t9, t9, 0x6350          |         t9 += 0x6350;
    0x000de764 move a0, s0                   |         a0 = s0;
    0x000de768 jalr t9                       |         t9 ();
    0x000de76c sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x000de770 move a2, s4                   |         a2 = s4;
                                             |     }
    0x000de774 addiu a1, zero, 1             |     a1 = 1;
    0x000de778 move t9, s6                   |     t9 = s6;
    0x000de77c move a0, s0                   |     a0 = s0;
    0x000de780 jalr t9                       |     t9 ();
    0x000de784 lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
    0x000de788 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000de78c bnez v0, 0xdeb90              |         goto label_35;
                                             |     }
                                             | label_13:
    0x000de790 lw t9, -0x7f78(gp)            |     t9 = *((gp - 8158));
    0x000de794 lbu a1, 0x92(s0)              |     a1 = *((s0 + 146));
    0x000de798 lw a0, (s0)                   |     a0 = *(s0);
    0x000de79c addiu t9, t9, 0x4d48          |     t9 += 0x4d48;
    0x000de7a0 move a2, s2                   |     a2 = s2;
    0x000de7a4 jalr t9                       |     t9 ();
    0x000de7a8 move s6, v0                   |     s6 = v0;
    0x000de7ac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000de7b0 beqz v0, 0xde7dc              |         goto label_36;
                                             |     }
    0x000de7b4 lw v0, -0x7f3c(gp)            |     v0 = *((gp - 8143));
    0x000de7b8 addiu v0, v0, -0x1edc         |     v0 += -0x1edc;
    0x000de7bc sw v0, 0x20(sp)               |     *(var_20h) = v0;
                                             |     do {
    0x000de7c0 lw t9, 0x20(sp)               |         t9 = *(var_20h);
    0x000de7c4 move a1, s6                   |         a1 = s6;
    0x000de7c8 move a0, s0                   |         a0 = s0;
    0x000de7cc jalr t9                       |         t9 ();
    0x000de7d0 lw s6, 0x20(s6)               |         s6 = *((s6 + 8));
    0x000de7d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000de7d8 bnez s6, 0xde7c0              |         
                                             |     } while (s6 != 0);
                                             | label_36:
    0x000de7dc lw v0, 0x24(s2)               |     v0 = *((s2 + 9));
    0x000de7e0 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x000de7e4 andi v0, v0, 8                |     v0 &= 8;
    0x000de7e8 lw a3, (s2)                   |     a3 = *(s2);
    0x000de7ec lw a2, (v1)                   |     a2 = *(v1);
                                             |     if (v0 != 0) {
    0x000de7f0 bnez v0, 0xdeb5c              |         goto label_37;
                                             |     }
    0x000de7f4 lw t9, -0x7f3c(gp)            |     t9 = *((gp - 8143));
    0x000de7f8 addiu t9, t9, -0x2264         |     t9 += -0x2264;
                                             | label_12:
    0x000de7fc lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000de800 sw a3, 0x10(sp)               |     *(var_10h) = a3;
    0x000de804 lw a3, -0x7fb4(gp)            |     a3 = *((gp - 8173));
    0x000de808 addiu a1, a1, -0x3300         |     a1 += -0x3300;
    0x000de80c addiu a3, a3, 0x7f14          |     a3 += 0x7f14;
    0x000de810 move a0, s0                   |     a0 = s0;
    0x000de814 jalr t9                       |     t9 ();
    0x000de818 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s3 != 0) {
    0x000de81c bnez s3, 0xdeb1c              |         goto label_14;
                                             |     }
    0x000de820 lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
    0x000de824 lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
                                             |     if (v0 == 0) {
    0x000de828 beqz v0, 0xdebb4              |         goto label_38;
                                             |     }
                                             | label_8:
    0x000de82c lw s6, 0x24(sp)               |     s6 = *(var_24h);
    0x000de830 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x000de834 lw s3, (s2)                   |     s3 = *(s2);
    0x000de838 move a3, zero                 |     a3 = 0;
    0x000de83c move a2, s4                   |     a2 = s4;
    0x000de840 addiu a1, zero, 0xa2          |     a1 = 0xa2;
    0x000de844 move a0, s6                   |     a0 = s6;
    0x000de848 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000de84c jalr t9                       |     t9 ();
    0x000de850 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000de854 move a2, s3                   |     a2 = s3;
    0x000de858 move a1, v0                   |     a1 = v0;
    0x000de85c lw s3, -0x7f98(gp)            |     s3 = *((gp - 8166));
    0x000de860 move a0, s6                   |     a0 = s6;
    0x000de864 addiu s3, s3, -0x2340         |     s3 += -0x2340;
    0x000de868 move t9, s3                   |     t9 = s3;
    0x000de86c move a3, zero                 |     a3 = 0;
    0x000de870 jalr t9                       |     t9 ();
    0x000de874 lw v0, 0x74(s0)               |     v0 = *((s0 + 29));
    0x000de878 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v0 != 0) {
    0x000de87c movz v0, s0, v0               |         v0 = s0;
                                             |     }
    0x000de880 sb a0, 0x15(v0)               |     *((v0 + 21)) = a0;
                                             | label_9:
    0x000de884 lw s6, 0x24(sp)               |     s6 = *(var_24h);
    0x000de888 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x000de88c lw s2, (s2)                   |     s2 = *(s2);
    0x000de890 move a3, zero                 |     a3 = 0;
    0x000de894 move a2, s4                   |     a2 = s4;
    0x000de898 addiu a1, zero, 0x8f          |     a1 = 0x8f;
    0x000de89c move a0, s6                   |     a0 = s6;
    0x000de8a0 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000de8a4 jalr t9                       |     t9 ();
    0x000de8a8 move a1, v0                   |     a1 = v0;
    0x000de8ac move a3, zero                 |     a3 = 0;
    0x000de8b0 move a2, s2                   |     a2 = s2;
    0x000de8b4 move t9, s3                   |     t9 = s3;
    0x000de8b8 move a0, s6                   |     a0 = s6;
    0x000de8bc jalr t9                       |     t9 ();
    0x000de8c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000de8c4 lw a1, 8(s0)                  |     a1 = *((s0 + 2));
    0x000de8c8 lw a0, (s0)                   |     a0 = *(s0);
    0x000de8cc lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000de8d0 addiu t9, t9, 0x6e0c          |     t9 += 0x6e0c;
    0x000de8d4 move a2, s4                   |     a2 = s4;
    0x000de8d8 jalr t9                       |     t9 ();
    0x000de8dc lw v0, 0x10(s7)               |     v0 = *((s7 + 4));
    0x000de8e0 addu v0, v0, s5               |     v0 += s5;
    0x000de8e4 lw a0, 0xc(v0)                |     a0 = *((v0 + 3));
    0x000de8e8 lhu v0, 0x4e(a0)              |     v0 = *((a0 + 39));
    0x000de8ec andi a1, v0, 2                |     a1 = v0 & 2;
    0x000de8f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a1 == 0) {
    0x000de8f4 beqz a1, 0xde580              |         goto label_0;
                                             |     }
    0x000de8f8 lw s0, 0x10(a0)               |     s0 = *((a0 + 4));
    0x000de8fc lw s3, -0x7f98(gp)            |     s3 = *((gp - 8166));
                                             |     if (s0 == 0) {
    0x000de900 beqz s0, 0xde950              |         goto label_39;
                                             |     }
    0x000de904 addiu s3, s3, 0x3df0          |     s3 += 0x3df0;
    0x000de908 lw s2, 8(s0)                  |     s2 = *((s0 + 2));
                                             |     do {
    0x000de90c lw v0, 0xc(s2)                |         v0 = *((s2 + 3));
    0x000de910 addiu a2, s2, 0x2a            |         a2 = s2 + 0x2a;
                                             |         if (v0 != 0) {
    0x000de914 beqz v0, 0xde934              |             
    0x000de918 addiu a1, s2, 4               |             a1 = s2 + 4;
    0x000de91c move t9, s3                   |             t9 = s3;
    0x000de920 move a0, s7                   |             a0 = s7;
    0x000de924 jalr t9                       |             t9 ();
    0x000de928 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000de92c sw zero, 4(s2)                |             *((s2 + 1)) = 0;
    0x000de930 sh zero, 0x2a(s2)             |             *((s2 + 21)) = 0;
                                             |         }
    0x000de934 lw s0, (s0)                   |         s0 = *(s0);
    0x000de938 lw s2, 8(s0)                  |         s2 = *((s0 + 2));
    0x000de93c bnel s0, zero, 0xde90c        |         
                                             |     } while (s0 == 0);
    0x000de940 lw v0, 0x10(s7)               |     v0 = *((s7 + 4));
    0x000de944 addu s5, v0, s5               |     s5 = v0 + s5;
    0x000de948 lw a0, 0xc(s5)                |     a0 = *((s5 + 3));
    0x000de94c lhu v0, 0x4e(a0)              |     v0 = *((a0 + 39));
                                             | label_39:
    0x000de950 andi v0, v0, 0xfffd           |     v0 &= 0xfffd;
    0x000de954 sh v0, 0x4e(a0)               |     *((a0 + 39)) = v0;
    0x000de958 b 0xde580                     |     goto label_0;
                                             | label_26:
    0x000de95c lbu v0, 0x55(fp)              |     v0 = *(arg_55h);
    0x000de960 lw t9, -0x7f64(gp)            |     t9 = *((gp - 8153));
    0x000de964 addiu v0, v0, 1               |     v0++;
    0x000de968 move a0, s0                   |     a0 = s0;
    0x000de96c sb v0, 0x55(fp)               |     *(arg_55h) = v0;
    0x000de970 addiu t9, t9, 0x57ac          |     t9 += 0x57ac;
    0x000de974 move a1, s3                   |     a1 = s3;
    0x000de978 bal 0xc57ac                   |     fcn_000c57ac ();
    0x000de97c lbu a0, 0x55(fp)              |     a0 = *(arg_55h);
    0x000de980 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000de984 addiu a0, a0, -1              |     a0 += -1;
    0x000de988 move s2, v0                   |     s2 = v0;
    0x000de98c sb a0, 0x55(fp)               |     *(arg_55h) = a0;
                                             |     if (v0 != 0) {
    0x000de990 bnez v0, 0xde608              |         goto label_1;
                                             |     }
    0x000de994 lw t9, -0x7f7c(gp)            |     t9 = *((gp - 8159));
    0x000de998 lw a1, 0xc(s1)                |     a1 = *((s1 + 3));
    0x000de99c addiu t9, t9, 0x68a8          |     t9 += 0x68a8;
    0x000de9a0 move a0, s0                   |     a0 = s0;
    0x000de9a4 jalr t9                       |     t9 ();
    0x000de9a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000de9ac b 0xde580                     |     goto label_0;
                                             | label_29:
    0x000de9b0 lw a2, -0x7fb4(gp)            |     a2 = *((gp - 8173));
    0x000de9b4 addiu a2, a2, 0x7f24          |     a2 += 0x7f24;
    0x000de9b8 b 0xde644                     |     goto label_2;
                                             | label_28:
    0x000de9bc lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000de9c0 move a1, s2                   |     a1 = s2;
    0x000de9c4 addiu t9, t9, 0x6d44          |     t9 += 0x6d44;
    0x000de9c8 move a0, s0                   |     a0 = s0;
    0x000de9cc jalr t9                       |     t9 ();
    0x000de9d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000de9d4 beqz v0, 0xde630              |         goto label_3;
                                             |     }
    0x000de9d8 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000de9dc b 0xde584                     |     goto label_4;
                                             | label_30:
    0x000de9e0 xori a1, s4, 1                |     a1 = s4 ^ 1;
                                             |     if (v0 == 0) {
    0x000de9e4 beqz v0, 0xdea20              |         goto label_40;
                                             |     }
    0x000de9e8 lw v0, 0x40(s2)               |     v0 = *((s2 + 16));
    0x000de9ec lw a0, (v0)                   |     a0 = *(v0);
                                             |     if (v0 == 0) {
    0x000de9f0 bnel v0, zero, 0xdea08        |         goto label_41;
                                             |     }
    0x000de9f4 b 0xdeef4                     |     goto label_42;
    0x000de9f8 nop                           |     
                                             |     if (v0 == 0) {
                                             |         do {
    0x000de9fc beqz v0, 0xdeef4              |             goto label_42;
                                             |         }
    0x000dea00 nop                           |         
    0x000dea04 lw a0, (v0)                   |         a0 = *(v0);
                                             | label_41:
    0x000dea08 lw v0, 0x18(v0)               |         v0 = *((v0 + 6));
    0x000dea0c bnel fp, a0, 0xde9fc          |         
                                             |     } while (fp == a0);
    0x000dea10 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x000dea14 addiu a1, zero, 0x1e          |     a1 = 0x1e;
    0x000dea18 lw a3, 4(v0)                  |     a3 = *((v0 + 1));
    0x000dea1c b 0xde694                     |     goto label_5;
                                             | label_40:
    0x000dea20 addiu a0, zero, 0xd           |     a0 = 0xd;
    0x000dea24 addiu v0, zero, 0xb           |     v0 = 0xb;
                                             |     if (a1 != 0) {
    0x000dea28 movz v0, a0, a1               |         v0 = a0;
                                             |     }
    0x000dea2c move a3, zero                 |     a3 = 0;
    0x000dea30 move a1, v0                   |     a1 = v0;
    0x000dea34 b 0xde694                     |     goto label_5;
                                             | label_32:
    0x000dea38 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
                                             |     if (v0 != 0) {
    0x000dea3c bnez v0, 0xdeb30              |         goto label_43;
                                             |     }
    0x000dea40 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x000dea44 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
                                             |     if (v0 != 0) {
    0x000dea48 bnez v0, 0xdea60              |         goto label_44;
                                             |     }
    0x000dea4c addiu t9, t9, 0x6350          |     t9 += 0x6350;
    0x000dea50 move a0, s0                   |     a0 = s0;
    0x000dea54 jalr t9                       |     t9 ();
    0x000dea58 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000dea5c beqz v0, 0xde580              |         goto label_0;
                                             |     }
                                             | label_44:
    0x000dea60 lw s6, -0x7f7c(gp)            |     s6 = *((gp - 8159));
    0x000dea64 move a2, s4                   |     a2 = s4;
    0x000dea68 addiu s6, s6, 0x682c          |     s6 += 0x682c;
    0x000dea6c addiu a1, zero, 1             |     a1 = 1;
    0x000dea70 move t9, s6                   |     t9 = s6;
    0x000dea74 move a0, s0                   |     a0 = s0;
    0x000dea78 jalr t9                       |     t9 ();
    0x000dea7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000dea80 lw a3, (s2)                   |     a3 = *(s2);
    0x000dea84 move a1, s4                   |     a1 = s4;
    0x000dea88 lw a2, -0x7fa0(gp)            |     a2 = *((gp - 8168));
    0x000dea8c lw t9, -0x7f3c(gp)            |     t9 = *((gp - 8143));
    0x000dea90 addiu a2, a2, -0x5a60         |     a2 += -0x5a60;
    0x000dea94 addiu t9, t9, -0x2024         |     t9 += -aav.0x00002024;
    0x000dea98 move a0, s0                   |     a0 = s0;
    0x000dea9c bal 0xddfdc                   |     fcn_000ddfdc ();
    0x000deaa0 lw s7, (s0)                   |     s7 = *(s0);
    0x000deaa4 lw v0, 0x20(s7)               |     v0 = *((s7 + 8));
    0x000deaa8 andi v0, v0, 0x4000           |     v0 &= aav.0x00004000;
    0x000deaac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000deab0 beqz v0, 0xdec68              |         goto label_45;
                                             |     }
    0x000deab4 lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
    0x000deab8 lw v1, 8(s0)                  |     v1 = *((s0 + 2));
    0x000deabc sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000deac0 sw v1, 0x24(sp)               |     *(var_24h) = v1;
                                             |     if (v0 == 0) {
    0x000deac4 beqz v0, 0xdeca8              |         goto label_46;
                                             |     }
    0x000deac8 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000deacc addiu v0, v0, 0x620c          |     v0 += 0x620c;
    0x000dead0 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x000dead4 b 0xde744                     |     goto label_6;
                                             | label_31:
    0x000dead8 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000deadc lw t9, -0x7ee0(gp)            |     t9 = *((gp - 8120));
    0x000deae0 lw a0, (s2)                   |     a0 = *(s2);
    0x000deae4 addiu a2, zero, 0xb           |     a2 = 0xb;
    0x000deae8 addiu a1, a1, -0x339c         |     a1 += -0x339c;
    0x000deaec jalr t9                       |     t9 ();
    0x000deaf0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000deaf4 beqz v0, 0xde6f4              |         goto label_7;
                                             |     }
    0x000deaf8 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000deafc lw a2, (s2)                   |     a2 = *(s2);
    0x000deb00 addiu a1, a1, -0x3390         |     a1 += -0x3390;
                                             | label_10:
    0x000deb04 lw t9, -0x7f70(gp)            |     t9 = *((gp - 8156));
    0x000deb08 addiu t9, t9, -0x52ec         |     t9 += -0x52ec;
    0x000deb0c move a0, s0                   |     a0 = s0;
    0x000deb10 jalr t9                       |     t9 ();
    0x000deb14 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000deb18 b 0xde580                     |     goto label_0;
                                             | label_14:
    0x000deb1c lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
                                             | label_15:
    0x000deb20 lw s3, -0x7f98(gp)            |     s3 = *((gp - 8166));
                                             |     if (v0 != 0) {
    0x000deb24 bnez v0, 0xde82c              |         goto label_8;
                                             |     }
    0x000deb28 addiu s3, s3, -0x2340         |     s3 += -0x2340;
    0x000deb2c b 0xde884                     |     goto label_9;
                                             | label_43:
    0x000deb30 lw a2, (s2)                   |     a2 = *(s2);
    0x000deb34 addiu a1, a1, -0x3350         |     a1 += -0x3350;
    0x000deb38 b 0xdeb04                     |     goto label_10;
                                             | label_34:
    0x000deb3c lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000deb40 addiu t9, t9, 0x6350          |     t9 += 0x6350;
    0x000deb44 move a0, s0                   |     a0 = s0;
    0x000deb48 jalr t9                       |     t9 ();
    0x000deb4c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000deb50 beqz v0, 0xde580              |         goto label_0;
                                             |     }
    0x000deb54 lw s6, -0x7f7c(gp)            |     s6 = *((gp - 8159));
    0x000deb58 b 0xde710                     |     goto label_11;
                                             | label_37:
    0x000deb5c lw t9, -0x7f3c(gp)            |     t9 = *((gp - 8143));
    0x000deb60 lw a1, -0x7fa0(gp)            |     a1 = *((gp - 8168));
    0x000deb64 addiu t9, t9, -0x2264         |     t9 += -0x2264;
    0x000deb68 sw t9, 0x20(sp)               |     *(var_20h) = t9;
    0x000deb6c addiu a1, a1, -0x3330         |     a1 += -0x3330;
    0x000deb70 move a0, s0                   |     a0 = s0;
    0x000deb74 bal 0xddd9c                   |     fcn_000ddd9c ();
    0x000deb78 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x000deb7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000deb80 lw a3, (s2)                   |     a3 = *(s2);
    0x000deb84 lw a2, (v0)                   |     a2 = *(v0);
    0x000deb88 lw t9, 0x20(sp)               |     t9 = *(var_20h);
    0x000deb8c b 0xde7fc                     |     goto label_12;
                                             | label_35:
    0x000deb90 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x000deb94 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x000deb98 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000deb9c move a3, zero                 |     a3 = 0;
    0x000deba0 move a2, zero                 |     a2 = 0;
    0x000deba4 addiu a1, zero, 0xa0          |     a1 = 0xa0;
    0x000deba8 jalr t9                       |     t9 ();
    0x000debac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000debb0 b 0xde790                     |     goto label_13;
                                             | label_38:
    0x000debb4 lw s6, -0x7f3c(gp)            |     s6 = *((gp - 8143));
    0x000debb8 addiu v0, v0, 0x42fc          |     v0 += 0x42fc;
    0x000debbc sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x000debc0 lw s3, 0x1c(s2)               |     s3 = *((s2 + 7));
    0x000debc4 addiu v0, s6, -0x1c50         |     v0 = s6 + -0x1c50;
    0x000debc8 move a1, zero                 |     a1 = 0;
    0x000debcc sw v0, 0x20(sp)               |     *(var_20h) = v0;
                                             | label_16:
    0x000debd0 lw v0, 8(s2)                  |     v0 = *((s2 + 2));
                                             |     if (a1 == 0) {
    0x000debd4 beqz a1, 0xdec58              |         goto label_47;
                                             |     }
    0x000debd8 slt a0, s3, a1                |     a0 = (s3 < a1) ? 1 : 0;
                                             |     if (a0 != 0) {
    0x000debdc bnez a0, 0xdec58              |         goto label_47;
                                             |     }
    0x000debe0 nop                           |     
    0x000debe4 move s6, zero                 |     s6 = 0;
                                             |     if (v0 == 0) {
    0x000debe8 beqz v0, 0xdeb1c              |         goto label_14;
                                             |     }
                                             |     do {
                                             | label_18:
    0x000debec lw a0, 0x2c(v0)               |         a0 = *((v0 + 11));
                                             |         if (a1 == 0) {
    0x000debf0 beqz a1, 0xdec4c              |             goto label_48;
                                             |         }
    0x000debf4 slt a2, a0, a1                |         a2 = (a0 < a1) ? 1 : 0;
    0x000debf8 slt a2, s6, a0                |         a2 = (s6 < a0) ? 1 : 0;
                                             |         if (a2 != 0) {
    0x000debfc bnez a2, 0xdec50              |             goto label_49;
                                             |         }
                                             | label_17:
    0x000dec00 lw v0, 0x14(v0)               |         v0 = *((v0 + 5));
    0x000dec04 bnez v0, 0xdebec              |         
                                             |     } while (v0 != 0);
    0x000dec08 nop                           |     
                                             |     if (s6 == 0) {
                                             | label_19:
    0x000dec0c beql s6, zero, 0xdeb20        |         goto label_15;
                                             |     }
    0x000dec10 lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
    0x000dec14 lw a1, 0x48(s2)               |     a1 = *((s2 + 18));
    0x000dec18 lw a0, (s0)                   |     a0 = *(s0);
                                             |     if (a1 == 0) {
    0x000dec1c beqz a1, 0xdeee8              |         goto label_50;
                                             |     }
    0x000dec20 lw t9, 0x2c(sp)               |     t9 = *(var_2ch);
    0x000dec24 jalr t9                       |     t9 ();
    0x000dec28 nop                           |     
    0x000dec2c move a2, v0                   |     a2 = v0;
                                             | label_25:
    0x000dec30 lw t9, 0x20(sp)               |     t9 = *(var_20h);
    0x000dec34 move a1, s6                   |     a1 = s6;
    0x000dec38 move a0, s0                   |     a0 = s0;
    0x000dec3c jalr t9                       |     t9 ();
    0x000dec40 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000dec44 move a1, s6                   |     a1 = s6;
    0x000dec48 b 0xdebd0                     |     goto label_16;
                                             | label_48:
    0x000dec4c slt a2, s6, a0                |     a2 = (s6 < a0) ? 1 : 0;
                                             |     if (a2 == 0) {
                                             | label_49:
    0x000dec50 movn s6, a0, a2               |         s6 = a0;
                                             |     }
    0x000dec54 b 0xdec00                     |     goto label_17;
                                             | label_47:
    0x000dec58 move s6, s3                   |     s6 = s3;
                                             |     if (v0 != 0) {
    0x000dec5c bnez v0, 0xdebec              |         goto label_18;
                                             |     }
    0x000dec60 b 0xdec0c                     |     goto label_19;
    0x000dec64 nop                           |     
                                             | label_45:
    0x000dec68 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000dec6c lw v1, 8(s0)                  |     v1 = *((s0 + 2));
    0x000dec70 addiu v0, v0, 0x620c          |     v0 += 0x620c;
    0x000dec74 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x000dec78 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x000dec7c b 0xde744                     |     goto label_6;
                                             | label_27:
    0x000dec80 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x000dec84 bnez a2, 0xdeddc              |     
                                             |     while (v0 == 0) {
    0x000dec88 lui s5, 0xff0b                |         s5 = 0xff0b0000;
    0x000dec8c lui s4, 0xfff0                |         s4 = 0xfff00000;
    0x000dec90 ori s5, s5, 0xdc00            |         s5 |= 0xdc00;
    0x000dec94 ori s4, s4, 0xbdc0            |         s4 |= 0xbdc0;
    0x000dec98 b 0xde63c                     |         goto label_20;
                                             | label_33:
    0x000dec9c lw a2, (s2)                   |         a2 = *(s2);
    0x000deca0 addiu a1, a1, -0x3374         |         a1 += -0x3374;
    0x000deca4 b 0xdeb04                     |         goto label_10;
                                             | label_46:
    0x000deca8 lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x000decac lw t9, -0x7fb0(gp)            |         t9 = *((gp - 8172));
                                             |         if (v0 == 0) {
    0x000decb0 bnez v0, 0xdecd0              |             
    0x000decb4 lw t9, -0x7f50(gp)            |             t9 = *((gp - 8148));
    0x000decb8 addiu t9, t9, 0x6350          |             t9 += 0x6350;
    0x000decbc move a0, s0                   |             a0 = s0;
    0x000decc0 jalr t9                       |             t9 ();
    0x000decc4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000decc8 sw v0, 0x24(sp)               |             *(var_24h) = v0;
    0x000deccc lw t9, -0x7fb0(gp)            |             t9 = *((gp - 8172));
                                             |         }
    0x000decd0 lw a0, 0x48(s2)               |         a0 = *((s2 + 18));
    0x000decd4 lw a1, (s2)                   |         a1 = *(s2);
    0x000decd8 move a2, zero                 |         a2 = 0;
    0x000decdc addiu t9, t9, -0x7a88         |         t9 += -0x7a88;
    0x000dece0 addiu a0, a0, 0x38            |         a0 += 0x38;
    0x000dece4 jalr t9                       |         t9 ();
    0x000dece8 lw v0, 8(v0)                  |         v0 = *((v0 + 2));
    0x000decec lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000decf0 beqz v0, 0xdedfc              |             goto label_51;
                                             |         }
    0x000decf4 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
    0x000decf8 addiu v0, zero, 1             |         v0 = 1;
    0x000decfc move a2, zero                 |         a2 = 0;
    0x000ded00 move a1, s1                   |         a1 = s1;
    0x000ded04 move a0, s7                   |         a0 = s7;
    0x000ded08 addiu t9, t9, -0x7f98         |         t9 += -0x7f98;
    0x000ded0c sb v0, 0x92(s0)               |         *((s0 + 146)) = v0;
    0x000ded10 jalr t9                       |         t9 ();
    0x000ded14 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000ded18 move a1, v0                   |         a1 = v0;
    0x000ded1c move a2, zero                 |         a2 = 0;
    0x000ded20 lw t9, -0x7f34(gp)            |         t9 = *((gp - 8141));
    0x000ded24 addiu t9, t9, -0x608          |         t9 += -aav.0x00000608;
    0x000ded28 move a0, s0                   |         a0 = s0;
    0x000ded2c bal 0xcf9f8                   |         fcn_000cf9f8 ();
    0x000ded30 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000ded34 sb zero, 0x92(s0)             |         *((s0 + 146)) = 0;
    0x000ded38 lw v0, 0x20(s7)               |         v0 = *((s7 + 8));
    0x000ded3c ext v0, v0, 0x13, 1           |         __asm ("ext v0, v0, 0x13, 1");
    0x000ded40 lw v0, -0x7f50(gp)            |         v0 = *((gp - 8148));
                                             |         if (v0 != 0) {
    0x000ded44 beqz v0, 0xded50              |             
    0x000ded48 lw v1, 8(s0)                  |             v1 = *((s0 + 2));
    0x000ded4c b 0xde734                     |             goto label_21;
                                             |         }
    0x000ded50 addiu v0, v0, 0x620c          |         v0 += 0x620c;
    0x000ded54 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x000ded58 lw a0, 0x24(sp)               |         a0 = *(var_24h);
                                             | label_24:
    0x000ded5c lw t9, 0x28(sp)               |         t9 = *(var_28h);
    0x000ded60 move a2, zero                 |         a2 = 0;
    0x000ded64 lw a3, 0x6c(a0)               |         a3 = *((a0 + 27));
    0x000ded68 addiu a1, zero, 0x2e          |         a1 = 0x2e;
    0x000ded6c addiu a3, a3, 2               |         a3 += 2;
    0x000ded70 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000ded74 jalr t9                       |         t9 ();
    0x000ded78 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000ded7c addiu v0, zero, 4             |         v0 = 4;
    0x000ded80 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x000ded84 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
    0x000ded88 addiu v0, zero, -1            |         v0 = -1;
    0x000ded8c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000ded90 move a3, zero                 |         a3 = 0;
    0x000ded94 addiu a2, zero, 2             |         a2 = 2;
    0x000ded98 addiu a1, zero, 0x313         |         a1 = 0x313;
    0x000ded9c addiu t9, t9, 0x65dc          |         t9 += 0x65dc;
    0x000deda0 move a0, s0                   |         a0 = s0;
    0x000deda4 jalr t9                       |         t9 ();
    0x000deda8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000dedac lw v0, 0x20(sp)               |         v0 = *(var_20h);
                                             | label_23:
    0x000dedb0 lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
                                             |         if (v0 == 0) {
    0x000dedb4 beqz v0, 0xdeed8              |             goto label_52;
                                             |         }
    0x000dedb8 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x000dedbc addiu t9, t9, 0x5e54          |         t9 += 0x5e54;
    0x000dedc0 lw a1, 0x20(sp)               |         a1 = *(var_20h);
    0x000dedc4 jalr t9                       |         t9 ();
    0x000dedc8 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x000dedcc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000dedd0 lw s7, (s0)                   |         s7 = *(s0);
    0x000dedd4 sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x000dedd8 b 0xde744                     |         goto label_6;
    0x000deddc move a1, s2                   |         a1 = s2;
    0x000dede0 addiu t9, t9, 0x6d44          |         t9 += 0x6d44;
    0x000dede4 move a0, s0                   |         a0 = s0;
    0x000dede8 jalr t9                       |         t9 ();
    0x000dedec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000dedf0 beqz v0, 0xdec88              |         
                                             |     }
    0x000dedf4 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x000dedf8 b 0xde584                     |     goto label_4;
                                             | label_51:
    0x000dedfc lw v0, 0x10(s2)               |     v0 = *((s2 + 4));
                                             |     if (v0 == 0) {
    0x000dee00 beql v0, zero, 0xde730        |         goto label_22;
                                             |     }
    0x000dee04 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000dee08 lbu a0, 0x18(v0)              |     a0 = *((v0 + 24));
    0x000dee0c lw a0, 0x38(s0)               |     a0 = *((s0 + 14));
                                             |     if (a0 == 0) {
    0x000dee10 bnel a0, zero, 0xdee48        |         goto label_53;
                                             |     }
    0x000dee14 lw a0, 0x20(s7)               |     a0 = *((s7 + 8));
    0x000dee18 ext a0, a0, 0x13, 1           |     __asm ("ext a0, a0, 0x13, 1");
                                             |     if (a0 == 0) {
    0x000dee1c beql a0, zero, 0xdee38        |         goto label_54;
                                             |     }
    0x000dee20 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x000dee24 lw a0, 0x38(s0)               |     a0 = *((s0 + 14));
    0x000dee28 b 0xdee48                     |     goto label_53;
                                             |     do {
    0x000dee2c lw a0, 0x38(s0)               |         a0 = *((s0 + 14));
                                             |         if (a0 == 0) {
    0x000dee30 bnel a0, zero, 0xdee48        |             goto label_53;
                                             |         }
    0x000dee34 lw v0, 4(v0)                  |         v0 = *((v0 + 1));
                                             | label_54:
    0x000dee38 lbu a0, 0x18(v0)              |         a0 = *((v0 + 24));
    0x000dee3c bnel v0, zero, 0xdee2c        |         
                                             |     } while (v0 == 0);
    0x000dee40 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000dee44 b 0xde730                     |     goto label_22;
                                             | label_53:
    0x000dee48 lw v0, -0x7f50(gp)            |     v0 = *((gp - 8148));
    0x000dee4c addiu v1, a0, -1              |     v1 = a0 + -1;
    0x000dee50 addiu t9, v0, 0x620c          |     t9 = v0 + 0x620c;
    0x000dee54 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x000dee58 sw v1, 0x38(s0)               |     *((s0 + 14)) = v1;
    0x000dee5c sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x000dee60 move a3, v1                   |     a3 = v1;
    0x000dee64 addiu a2, zero, 1             |     a2 = 1;
    0x000dee68 addiu a1, zero, 0x2e          |     a1 = 0x2e;
    0x000dee6c sw t9, 0x28(sp)               |     *(var_28h) = t9;
    0x000dee70 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x000dee74 jalr t9                       |     t9 ();
    0x000dee78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000dee7c addiu v0, zero, 1             |     v0 = 1;
    0x000dee80 move a2, zero                 |     a2 = 0;
    0x000dee84 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x000dee88 move a1, s1                   |     a1 = s1;
    0x000dee8c move a0, s7                   |     a0 = s7;
    0x000dee90 addiu t9, t9, -0x7f98         |     t9 += -0x7f98;
    0x000dee94 sb v0, 0x92(s0)               |     *((s0 + 146)) = v0;
    0x000dee98 jalr t9                       |     t9 ();
    0x000dee9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000deea0 move a1, v0                   |     a1 = v0;
    0x000deea4 move a2, zero                 |     a2 = 0;
    0x000deea8 lw t9, -0x7f34(gp)            |     t9 = *((gp - 8141));
    0x000deeac addiu t9, t9, -0x608          |     t9 += -aav.0x00000608;
    0x000deeb0 move a0, s0                   |     a0 = s0;
    0x000deeb4 bal 0xcf9f8                   |     fcn_000cf9f8 ();
    0x000deeb8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000deebc sb zero, 0x92(s0)             |     *((s0 + 146)) = 0;
    0x000deec0 lw v0, 0x20(s7)               |     v0 = *((s7 + 8));
    0x000deec4 ext v0, v0, 0x13, 1           |     __asm ("ext v0, v0, 0x13, 1");
    0x000deec8 lw v0, 0x20(sp)               |     v0 = *(var_20h);
                                             |     if (v0 != 0) {
    0x000deecc bnez v0, 0xdedb0              |         goto label_23;
                                             |     }
    0x000deed0 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x000deed4 b 0xded5c                     |     goto label_24;
                                             | label_52:
    0x000deed8 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x000deedc lw s7, (s0)                   |     s7 = *(s0);
    0x000deee0 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000deee4 b 0xde744                     |     goto label_6;
                                             | label_50:
    0x000deee8 lui v0, 0xfff0                |     v0 = 0xfff00000;
    0x000deeec ori a2, v0, 0xbdc0            |     a2 = 0xfff0bdc0;
    0x000deef0 b 0xdec30                     |     goto label_25;
                                             | label_42:
    0x000deef4 lw v0, 4(zero)                |     v0 = *((zero + 1));
    0x000deef8 teq zero, zero                |     __asm ("teq zero, zero");
                                             | }

[*] Function popen used 1 times libsqlite3.so.0.8.6