[*] Binary protection state of iostat

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of iostat

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0x4828 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.write_plain_cpu_stat ()      | void write_plain_cpu_stat () {
    0x00004828 lui gp, 2                     |     
    0x0000482c addiu gp, gp, 0x4888          |     
    0x00004830 addu gp, gp, t9               |     gp += t9;
    0x00004834 addiu sp, sp, -0x88           |     
    0x00004838 lw a1, -0x7fcc(gp)            |     a1 = *(gp);
    0x0000483c lw t9, -0x7dd4(gp)            |     t9 = sym.imp.__printf_chk
    0x00004840 addiu a1, a1, -0x560          |     a1 += -0x560;
    0x00004844 sw ra, 0x84(sp)               |     *(var_84h) = ra;
    0x00004848 sw gp, 0x40(sp)               |     *(var_40h) = gp;
    0x0000484c sw fp, 0x80(sp)               |     *(var_80h) = fp;
    0x00004850 sw s7, 0x7c(sp)               |     *(var_7ch) = s7;
    0x00004854 sw s6, 0x78(sp)               |     *(var_78h) = s6;
    0x00004858 sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x0000485c sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x00004860 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x00004864 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x00004868 sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x0000486c move s2, a0                   |     s2 = a0;
    0x00004870 sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x00004874 addiu a0, zero, 1             |     a0 = 1;
    0x00004878 move s0, a2                   |     s0 = a2;
    0x0000487c move s1, a3                   |     s1 = a3;
    0x00004880 jalr t9                       |     t9 ();
    0x00004884 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00004888 addiu a0, zero, 1             |     a0 = 1;
    0x0000488c lw a1, -0x7fcc(gp)            |     a1 = *(gp);
    0x00004890 lw t9, -0x7dd4(gp)            |     t9 = sym.imp.__printf_chk
    0x00004894 addiu a1, a1, -0x520          |     a1 += -0x520;
    0x00004898 jalr t9                       |     t9 ();
    0x0000489c lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x000048a0 sltiu v0, s2, 1               |     v0 = (s2 < 1) ? 1 : 0;
    0x000048a4 sll v0, v0, 2                 |     v0 <<= 2;
    0x000048a8 lw t1, -0x7fb4(gp)            |     t1 = *(gp);
    0x000048ac sll t0, s2, 2                 |     t0 = s2 << 2;
    0x000048b0 addu s6, t1, v0               |     s6 = t1 + v0;
    0x000048b4 addu s7, t1, t0               |     s7 = t1 + t0;
    0x000048b8 lw v0, (s6)                   |     v0 = *(s6);
    0x000048bc lw v1, (s7)                   |     v1 = *(s7);
    0x000048c0 lw t9, -0x7f88(gp)            |     t9 = sym.ll_sp_value;
    0x000048c4 lw a0, (v0)                   |     a0 = *(v0);
    0x000048c8 lw a1, 4(v0)                  |     a1 = *((v0 + 1));
    0x000048cc lw v0, -0x7fd4(gp)            |     v0 = *(gp);
    0x000048d0 lw a2, (v1)                   |     a2 = *(v1);
    0x000048d4 lw a3, 4(v1)                  |     a3 = *((v1 + 1));
    0x000048d8 lw fp, (v0)                   |     fp = *(v0);
    0x000048dc sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x000048e0 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x000048e4 bal 0xa710                    |     sym_ll_sp_value ();
    0x000048e8 lw a1, (s7)                   |     a1 = *(s7);
    0x000048ec lw a0, (s6)                   |     a0 = *(s6);
    0x000048f0 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x000048f4 lw a2, 8(a1)                  |     a2 = *((a1 + 2));
    0x000048f8 lw a3, 0xc(a1)                |     a3 = *((a1 + 3));
    0x000048fc lw a1, 0xc(a0)                |     a1 = *((a0 + 3));
    0x00004900 lw t9, -0x7f88(gp)            |     t9 = sym.ll_sp_value;
    0x00004904 lw a0, 8(a0)                  |     a0 = *((a0 + 2));
    0x00004908 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x0000490c sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00004910 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x00004914 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
    0x00004918 bal 0xa710                    |     sym_ll_sp_value ();
    0x0000491c lw t4, (s7)                   |     t4 = *(s7);
    0x00004920 lw t3, (s6)                   |     t3 = *(s6);
    0x00004924 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00004928 lw t7, 0x10(t4)               |     t7 = *((t4 + 4));
    0x0000492c lw t2, 0x10(t3)               |     t2 = *((t3 + 4));
    0x00004930 lw t8, 0x38(t4)               |     t8 = *((t4 + 14));
    0x00004934 lw a1, 0x38(t3)               |     a1 = *((t3 + 14));
    0x00004938 lw s5, 0x3c(t4)               |     s5 = *((t4 + 15));
    0x0000493c lw t6, 0x14(t4)               |     t6 = *((t4 + 5));
    0x00004940 lw s4, 0x3c(t3)               |     s4 = *((t3 + 15));
    0x00004944 lw t5, 0x14(t3)               |     t5 = *((t3 + 5));
    0x00004948 addu t8, t7, t8               |     t8 = t7 + t8;
    0x0000494c lw a2, 0x30(t4)               |     a2 = *((t4 + 12));
    0x00004950 lw a0, 0x30(t3)               |     a0 = *((t3 + 12));
    0x00004954 addu a1, t2, a1               |     a1 = t2 + a1;
    0x00004958 lw s3, 0x34(t4)               |     s3 = *((t4 + 13));
    0x0000495c lw s2, 0x34(t3)               |     s2 = *((t3 + 13));
    0x00004960 sltu a3, t8, t7               |     a3 = (t8 < t7) ? 1 : 0;
    0x00004964 addu t3, t6, s5               |     t3 = t6 + s5;
    0x00004968 addu t5, t5, s4               |     t5 += s4;
    0x0000496c sltu t2, a1, t2               |     t2 = (a1 < t2) ? 1 : 0;
    0x00004970 addu t3, a3, t3               |     t3 = a3 + t3;
    0x00004974 addu t2, t2, t5               |     t2 += t5;
    0x00004978 addu a2, t8, a2               |     a2 = t8 + a2;
    0x0000497c addu a0, a1, a0               |     a0 = a1 + a0;
    0x00004980 sltu t8, a2, t8               |     t8 = (a2 < t8) ? 1 : 0;
    0x00004984 addu a3, t3, s3               |     a3 = t3 + s3;
    0x00004988 addu t2, t2, s2               |     t2 += s2;
    0x0000498c sltu a1, a0, a1               |     a1 = (a0 < a1) ? 1 : 0;
    0x00004990 lw t9, -0x7f88(gp)            |     t9 = sym.ll_sp_value;
    0x00004994 addu a3, t8, a3               |     a3 = t8 + a3;
    0x00004998 addu a1, a1, t2               |     a1 += t2;
    0x0000499c sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x000049a0 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x000049a4 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x000049a8 sw v1, 0x54(sp)               |     *(var_54h) = v1;
    0x000049ac bal 0xa710                    |     sym_ll_sp_value ();
    0x000049b0 lw a1, (s7)                   |     a1 = *(s7);
    0x000049b4 lw a0, (s6)                   |     a0 = *(s6);
    0x000049b8 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x000049bc lw a2, 0x20(a1)               |     a2 = *((a1 + 8));
    0x000049c0 lw a3, 0x24(a1)               |     a3 = *((a1 + 9));
    0x000049c4 lw a1, 0x24(a0)               |     a1 = *((a0 + 9));
    0x000049c8 lw t9, -0x7f88(gp)            |     t9 = sym.ll_sp_value;
    0x000049cc lw a0, 0x20(a0)               |     a0 = *((a0 + 8));
    0x000049d0 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x000049d4 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x000049d8 move s2, v0                   |     s2 = v0;
    0x000049dc move s3, v1                   |     s3 = v1;
    0x000049e0 bal 0xa710                    |     sym_ll_sp_value ();
    0x000049e4 lw a1, (s7)                   |     a1 = *(s7);
    0x000049e8 lw a0, (s6)                   |     a0 = *(s6);
    0x000049ec lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x000049f0 lw a2, 0x28(a1)               |     a2 = *((a1 + 10));
    0x000049f4 lw a3, 0x2c(a1)               |     a3 = *((a1 + 11));
    0x000049f8 lw a1, 0x2c(a0)               |     a1 = *((a0 + 11));
    0x000049fc lw t9, -0x7f88(gp)            |     t9 = sym.ll_sp_value;
    0x00004a00 lw a0, 0x28(a0)               |     a0 = *((a0 + 10));
    0x00004a04 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00004a08 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x00004a0c move s4, v0                   |     s4 = v0;
    0x00004a10 move s5, v1                   |     s5 = v1;
    0x00004a14 bal 0xa710                    |     sym_ll_sp_value ();
    0x00004a18 lw a2, (s7)                   |     a2 = *(s7);
    0x00004a1c lw a0, (s6)                   |     a0 = *(s6);
    0x00004a20 move t0, v0                   |     t0 = v0;
    0x00004a24 lw a3, 0x1c(a2)               |     a3 = *((a2 + 7));
    0x00004a28 lw a1, 0x1c(a0)               |     a1 = *((a0 + 7));
    0x00004a2c ext fp, fp, 0x14, 1           |     __asm ("ext fp, fp, 0x14, 1");
    0x00004a30 sltu v0, a3, a1               |     v0 = (a3 < a1) ? 1 : 0;
    0x00004a34 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00004a38 move t1, v1                   |     t1 = v1;
    0x00004a3c lw a2, 0x18(a2)               |     a2 = *((a2 + 6));
    0x00004a40 lw a0, 0x18(a0)               |     a0 = *((a0 + 6));
                                             |     if (v0 == 0) {
    0x00004a44 beqz v0, 0x4ae8               |         goto label_1;
                                             |     }
    0x00004a48 move v0, zero                 |     v0 = 0;
                                             |     do {
    0x00004a4c move v1, zero                 |         v1 = 0;
                                             | label_0:
    0x00004a50 sw v0, 0x38(sp)               |         *(var_38h) = v0;
    0x00004a54 sw v1, 0x3c(sp)               |         *(var_3ch) = v1;
    0x00004a58 lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x00004a5c lw v1, 0x54(sp)               |         v1 = *(var_54h);
    0x00004a60 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x00004a64 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00004a68 lw v0, 0x48(sp)               |         v0 = *(var_48h);
    0x00004a6c lw v1, 0x4c(sp)               |         v1 = *(var_4ch);
    0x00004a70 lw t9, -0x7f84(gp)            |         t9 = sym.cprintf_pc
    0x00004a74 move a0, fp                   |         a0 = fp;
    0x00004a78 sw s4, 0x28(sp)               |         *(var_28h) = s4;
    0x00004a7c sw s5, 0x2c(sp)               |         *(var_2ch) = s5;
    0x00004a80 sw s2, 0x20(sp)               |         *(var_20h) = s2;
    0x00004a84 sw s3, 0x24(sp)               |         *(var_24h) = s3;
    0x00004a88 sw t0, 0x30(sp)               |         *(var_30h) = t0;
    0x00004a8c sw t1, 0x34(sp)               |         *(var_34h) = t1;
    0x00004a90 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00004a94 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00004a98 addiu a3, zero, 2             |         a3 = 2;
    0x00004a9c addiu a2, zero, 7             |         a2 = 7;
    0x00004aa0 addiu a1, zero, 6             |         a1 = 6;
    0x00004aa4 bal 0xb804                    |         sym_cprintf_pc ()
    0x00004aa8 lw gp, 0x40(sp)               |         gp = *(var_40h);
    0x00004aac lw ra, 0x84(sp)               |         ra = *(var_84h);
    0x00004ab0 lw fp, 0x80(sp)               |         fp = *(var_80h);
    0x00004ab4 lw a0, -0x7fcc(gp)            |         a0 = *(gp);
    0x00004ab8 lw s7, 0x7c(sp)               |         s7 = *(var_7ch);
    0x00004abc lw s6, 0x78(sp)               |         s6 = *(var_78h);
    0x00004ac0 lw s5, 0x74(sp)               |         s5 = *(var_74h);
    0x00004ac4 lw s4, 0x70(sp)               |         s4 = *(var_70h);
    0x00004ac8 lw s3, 0x6c(sp)               |         s3 = *(var_6ch);
    0x00004acc lw s2, 0x68(sp)               |         s2 = *(var_68h);
    0x00004ad0 lw s1, 0x64(sp)               |         s1 = *(var_64h);
    0x00004ad4 lw s0, 0x60(sp)               |         s0 = *(var_60h);
    0x00004ad8 lw t9, -0x7d80(gp)            |         t9 = sym.imp.puts;
    0x00004adc addiu a0, a0, -0x798          |         a0 += -aav.0x00000798;
    0x00004ae0 addiu sp, sp, 0x88            |         
    0x00004ae4 jr t9                         |         t9 ();
                                             | label_1:
    0x00004ae8 lw t9, -0x7f88(gp)            |         t9 = sym.ll_sp_value;
                                             |         if (a1 != a3) {
    0x00004aec bne a1, a3, 0x4b00            |             goto label_2;
                                             |         }
    0x00004af0 sltu v0, a2, a0               |         v0 = (a2 < a0) ? 1 : 0;
    0x00004af4 move v0, zero                 |         v0 = 0;
    0x00004af8 bnel v0, zero, 0x4a4c         |         
                                             |     } while (v0 == 0);
    0x00004afc lw t9, -0x7f88(gp)            |     t9 = sym.ll_sp_value;
                                             | label_2:
    0x00004b00 sw t0, 0x58(sp)               |     *(var_58h) = t0;
    0x00004b04 sw t1, 0x5c(sp)               |     *(var_5ch) = t1;
    0x00004b08 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00004b0c sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x00004b10 bal 0xa710                    |     sym_ll_sp_value ();
    0x00004b14 lw gp, 0x40(sp)               |     gp = *(var_40h);
    0x00004b18 lw t0, 0x58(sp)               |     t0 = *(var_58h);
    0x00004b1c lw t1, 0x5c(sp)               |     t1 = *(var_5ch);
    0x00004b20 b 0x4a50                      |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0x51ac */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.write_plain_ext_stat ()      | void write_plain_ext_stat () {
    0x000051ac lui gp, 2                     |     
    0x000051b0 addiu gp, gp, 0x3f04          |     
    0x000051b4 addu gp, gp, t9               |     gp += t9;
    0x000051b8 addiu sp, sp, -0x68           |     
    0x000051bc addiu v1, zero, 3             |     v1 = 3;
    0x000051c0 sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x000051c4 lw fp, 0x78(sp)               |     fp = *(arg_78h);
    0x000051c8 lw t0, 0x84(sp)               |     t0 = *(arg_84h);
    0x000051cc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000051d0 sw t0, 0x24(sp)               |     *(var_24h) = t0;
    0x000051d4 lw v0, 0x80(fp)               |     v0 = *(arg_80h);
    0x000051d8 lw t0, 0x88(sp)               |     t0 = *(arg_88h);
    0x000051dc sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x000051e0 sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x000051e4 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x000051e8 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x000051ec sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x000051f0 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x000051f4 sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x000051f8 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x000051fc sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00005200 lw s3, 0x7c(sp)               |     s3 = *(arg_7ch);
    0x00005204 lw s6, 0x80(sp)               |     s6 = *(arg_sp_80h);
    0x00005208 sw t0, 0x20(sp)               |     *(var_20h) = t0;
    0x0000520c lw s2, 0x8c(sp)               |     s2 = *(arg_8ch);
                                             |     if (v0 == v1) {
    0x00005210 beq v0, v1, 0x5998            |         goto label_10;
                                             |     }
    0x00005214 lw s0, -0x7fd4(gp)            |     s0 = *(gp);
    0x00005218 move s4, a0                   |     s4 = a0;
    0x0000521c move s1, a3                   |     s1 = a3;
    0x00005220 lw v1, (s0)                   |     v1 = *(s0);
    0x00005224 sw a2, 0x28(sp)               |     *(var_28h) = a2;
    0x00005228 andi a0, v1, 0x1000           |     a0 = v1 & 0x1000;
    0x0000522c move s5, a1                   |     s5 = a1;
                                             |     if (a0 == 0) {
    0x00005230 beqz a0, 0x596c               |         goto label_11;
                                             |     }
                                             | label_2:
    0x00005234 slti a0, v0, 4                |     a0 = (v0 < 4) ? 1 : 0;
    0x00005238 addiu v0, v0, -3              |     v0 += -3;
                                             |     if (a0 == 0) {
    0x0000523c beqz a0, 0x52d4               |         goto label_12;
                                             |     }
    0x00005240 addiu v0, zero, 1             |     v0 = 1;
    0x00005244 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00005248 lui v0, 0x20                  |     v0 = 0x200000;
    0x0000524c and v0, v1, v0                |     v0 = v1 & v0;
    0x00005250 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
                                             |     if (v0 != 0) {
    0x00005254 bnez v0, 0x52e8               |         goto label_13;
                                             |     }
                                             |     do {
    0x00005258 sltiu v0, s1, 2               |         v0 = (s1 < 2) ? 1 : 0;
    0x0000525c addiu v0, zero, 2             |         v0 = 2;
                                             |         if (v0 != 0) {
    0x00005260 bnez v0, 0x5a54               |             goto label_14;
                                             |         }
    0x00005264 lw t9, -0x7fc8(gp)            |         t9 = *(gp);
                                             |         if (s1 == v0) {
    0x00005268 beq s1, v0, 0x5e74            |             goto label_15;
                                             |         }
                                             | label_6:
    0x0000526c addiu v0, zero, 3             |         v0 = 3;
    0x00005270 lw t9, -0x7fc8(gp)            |         t9 = *(gp);
                                             |         if (s1 == v0) {
    0x00005274 beq s1, v0, 0x55e0            |             goto label_16;
                                             |         }
    0x00005278 move a0, s4                   |         a0 = s4;
                                             |         if (s1 == 0) {
    0x0000527c beqz s1, 0x55e4               |             goto label_17;
                                             |         }
    0x00005280 addiu v0, zero, 4             |         v0 = 4;
                                             |         if (s1 == v0) {
    0x00005284 beq s1, v0, 0x5ed8            |             goto label_18;
                                             |         }
    0x00005288 nop                           |         
                                             | label_0:
    0x0000528c lw v0, (s0)                   |         v0 = *(s0);
    0x00005290 andi v0, v0, 0x1000           |         v0 &= 0x1000;
    0x00005294 lw a1, -0x7fcc(gp)            |         a1 = *(gp);
                                             |         if (v0 != 0) {
    0x00005298 bnez v0, 0x5918               |             goto label_19;
                                             |         }
                                             | label_1:
    0x0000529c lw ra, 0x64(sp)               |         ra = *(var_64h);
    0x000052a0 lw fp, 0x60(sp)               |         fp = *(var_60h);
    0x000052a4 lw s7, 0x5c(sp)               |         s7 = *(var_5ch);
    0x000052a8 lw s6, 0x58(sp)               |         s6 = *(var_58h);
    0x000052ac lw s5, 0x54(sp)               |         s5 = *(var_54h);
    0x000052b0 lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x000052b4 lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x000052b8 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x000052bc lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x000052c0 lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x000052c4 lw t9, -0x7db0(gp)            |         t9 = sym.imp.putchar;
    0x000052c8 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x000052cc addiu sp, sp, 0x68            |         
    0x000052d0 jr t9                         |         t9 ();
                                             | label_12:
    0x000052d4 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x000052d8 lui v0, 0x20                  |         v0 = 0x200000;
    0x000052dc and v0, v1, v0                |         v0 = v1 & v0;
    0x000052e0 sw v0, 0x2c(sp)               |         *(var_2ch) = v0;
    0x000052e4 beqz v0, 0x5258               |         
                                             |     } while (v0 == 0);
                                             | label_13:
    0x000052e8 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
    0x000052ec move a0, s4                   |     a0 = s4;
    0x000052f0 move a1, s5                   |     a1 = s5;
    0x000052f4 bal 0xef40                    |     fcn_0000ef40 ();
    0x000052f8 lw a1, 0x14(s3)               |     a1 = *((s3 + 5));
    0x000052fc lw a0, 0xc(s3)                |     a0 = *((s3 + 3));
    0x00005300 lw a2, 0x1c(s3)               |     a2 = *((s3 + 7));
    0x00005304 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005308 addu a0, a0, a1               |     a0 += a1;
    0x0000530c lw a1, 0xc(s6)                |     a1 = *((s6 + 3));
    0x00005310 addu a0, a0, a2               |     a0 += a2;
    0x00005314 lw a3, 0x14(s6)               |     a3 = *((s6 + 5));
    0x00005318 subu a1, a0, a1               |     __asm ("subu a1, a0, a1");
    0x0000531c lw a2, 0x1c(s6)               |     a2 = *((s6 + 7));
    0x00005320 subu a0, a1, a3               |     __asm ("subu a0, a1, a3");
    0x00005324 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x00005328 subu a0, a0, a2               |     __asm ("subu a0, a0, a2");
    0x0000532c lw s7, -0x7fcc(gp)            |     s7 = *(gp);
    0x00005330 move s4, v0                   |     s4 = v0;
    0x00005334 move s5, v1                   |     s5 = v1;
    0x00005338 bal 0xeea0                    |     fcn_0000eea0 ();
    0x0000533c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005340 move a2, s4                   |     a2 = s4;
    0x00005344 move a3, s5                   |     a3 = s5;
    0x00005348 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x0000534c move a0, v0                   |     a0 = v0;
    0x00005350 move a1, v1                   |     a1 = v1;
    0x00005354 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005358 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000535c lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x00005360 lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x00005364 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005368 move a0, v0                   |     a0 = v0;
    0x0000536c move a1, v1                   |     a1 = v1;
    0x00005370 bal 0xe820                    |     fcn_0000e820 ();
    0x00005374 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005378 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000537c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005380 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005384 addiu a3, zero, 2             |     a3 = 2;
    0x00005388 addiu a2, zero, 8             |     a2 = 8;
    0x0000538c addiu a1, zero, 1             |     a1 = 1;
    0x00005390 addiu a0, zero, -1            |     a0 = -1;
    0x00005394 bal 0xb568                    |     sym_cprintf_f ()
    0x00005398 lw v0, (s0)                   |     v0 = *(s0);
    0x0000539c ext v0, v0, 0x14, 1           |     __asm ("ext v0, v0, 0x14, 1");
    0x000053a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000053a4 beqz v0, 0x5a08               |         goto label_20;
                                             |     }
    0x000053a8 lw v0, 0x30(s2)               |     v0 = *((s2 + 12));
    0x000053ac lw v1, 0x34(s2)               |     v1 = *((s2 + 13));
    0x000053b0 move a0, zero                 |     a0 = 0;
                                             | label_4:
    0x000053b4 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x000053b8 addiu a3, zero, 2             |     a3 = 2;
    0x000053bc addiu a2, zero, 9             |     a2 = 9;
    0x000053c0 addiu a1, zero, 1             |     a1 = 1;
    0x000053c4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000053c8 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000053cc bal 0xb568                    |     sym_cprintf_f ()
    0x000053d0 lw a0, 0x18(s3)               |     a0 = *((s3 + 6));
    0x000053d4 lw v0, 0x10(s3)               |     v0 = *((s3 + 4));
    0x000053d8 lw v1, 0x20(s3)               |     v1 = *((s3 + 8));
    0x000053dc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000053e0 addu v0, v0, a0               |     v0 += a0;
    0x000053e4 lw a0, 0x10(s6)               |     a0 = *((s6 + 4));
    0x000053e8 addu v0, v0, v1               |     v0 += v1;
    0x000053ec lw v1, 0x18(s6)               |     v1 = *((s6 + 6));
    0x000053f0 subu v0, v0, a0               |     __asm ("subu v0, v0, a0");
    0x000053f4 lw a0, 0x20(s6)               |     a0 = *((s6 + 8));
    0x000053f8 subu v0, v0, v1               |     __asm ("subu v0, v0, v1");
    0x000053fc lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x00005400 subu a0, v0, a0               |     __asm ("subu a0, v0, a0");
    0x00005404 bal 0xeea0                    |     fcn_0000eea0 ();
    0x00005408 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000540c move a2, s4                   |     a2 = s4;
    0x00005410 move a3, s5                   |     a3 = s5;
    0x00005414 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005418 move a0, v0                   |     a0 = v0;
    0x0000541c move a1, v1                   |     a1 = v1;
    0x00005420 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005424 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005428 lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x0000542c lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x00005430 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005434 move a0, v0                   |     a0 = v0;
    0x00005438 move a1, v1                   |     a1 = v1;
    0x0000543c bal 0xe820                    |     fcn_0000e820 ();
    0x00005440 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005444 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005448 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0000544c lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005450 addiu a3, zero, 2             |     a3 = 2;
    0x00005454 addiu a2, zero, 8             |     a2 = 8;
    0x00005458 addiu a1, zero, 1             |     a1 = 1;
    0x0000545c addiu a0, zero, -1            |     a0 = -1;
    0x00005460 bal 0xb568                    |     sym_cprintf_f ()
    0x00005464 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x00005468 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000546c addiu a3, zero, 2             |     a3 = 2;
    0x00005470 lw v0, 8(s2)                  |     v0 = *((s2 + 2));
    0x00005474 lw v1, 0xc(s2)                |     v1 = *((s2 + 3));
    0x00005478 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x0000547c addiu a2, zero, 7             |     a2 = 7;
    0x00005480 addiu a1, zero, 1             |     a1 = 1;
    0x00005484 addiu a0, zero, -1            |     a0 = -1;
    0x00005488 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000548c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005490 bal 0xb568                    |     sym_cprintf_f ()
    0x00005494 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005498 lw s1, (s0)                   |     s1 = *(s0);
    0x0000549c lw a0, 0x10(s2)               |     a0 = *((s2 + 4));
    0x000054a0 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x000054a4 lw a1, 0x14(s2)               |     a1 = *((s2 + 5));
    0x000054a8 ext s1, s1, 0x14, 1           |     __asm ("ext s1, s1, 0x14, 1");
    0x000054ac lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x000054b0 lw a2, 0x28(v0)               |     a2 = *((v0 + 10));
    0x000054b4 lw a3, 0x2c(v0)               |     a3 = *((v0 + 11));
    0x000054b8 addiu v1, zero, 2             |     v1 = 2;
    0x000054bc addiu v0, zero, -1            |     v0 = -1;
                                             |     if (s1 == 0) {
    0x000054c0 movn v0, v1, s1               |         v0 = v1;
                                             |     }
    0x000054c4 move s1, v0                   |     s1 = v0;
    0x000054c8 bal 0xe820                    |     fcn_0000e820 ();
    0x000054cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000054d0 addiu a3, zero, 2             |     a3 = 2;
    0x000054d4 addiu a2, zero, 8             |     a2 = 8;
    0x000054d8 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x000054dc addiu a1, zero, 1             |     a1 = 1;
    0x000054e0 move a0, s1                   |     a0 = s1;
    0x000054e4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000054e8 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000054ec bal 0xb568                    |     sym_cprintf_f ()
    0x000054f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000054f4 lw a0, 0x38(s3)               |     a0 = *((s3 + 14));
    0x000054f8 lw v0, 0x38(s6)               |     v0 = *((s6 + 14));
    0x000054fc lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x00005500 subu a0, a0, v0               |     __asm ("subu a0, a0, v0");
    0x00005504 bal 0xeea0                    |     fcn_0000eea0 ();
    0x00005508 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000550c move a2, s4                   |     a2 = s4;
    0x00005510 move a3, s5                   |     a3 = s5;
    0x00005514 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005518 move a0, v0                   |     a0 = v0;
    0x0000551c move a1, v1                   |     a1 = v1;
    0x00005520 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005524 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005528 lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x0000552c lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x00005530 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005534 move a0, v0                   |     a0 = v0;
    0x00005538 move a1, v1                   |     a1 = v1;
    0x0000553c bal 0xe820                    |     fcn_0000e820 ();
    0x00005540 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005544 move a0, v0                   |     a0 = v0;
    0x00005548 move a1, v1                   |     a1 = v1;
    0x0000554c lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x00005550 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005554 lw a2, 0x20(v0)               |     a2 = *((v0 + 8));
    0x00005558 lw a3, 0x24(v0)               |     a3 = *((v0 + 9));
    0x0000555c bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005560 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005564 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005568 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0000556c lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005570 addiu a3, zero, 2             |     a3 = 2;
    0x00005574 addiu a2, zero, 7             |     a2 = 7;
    0x00005578 addiu a1, zero, 1             |     a1 = 1;
    0x0000557c addiu a0, zero, -1            |     a0 = -1;
    0x00005580 bal 0xb568                    |     sym_cprintf_f ()
    0x00005584 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005588 lw a1, 4(s2)                  |     a1 = *((s2 + 1));
    0x0000558c lw a0, (s2)                   |     a0 = *(s2);
    0x00005590 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x00005594 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005598 lw s1, (s0)                   |     s1 = *(s0);
    0x0000559c lw a2, 0x30(v0)               |     a2 = *((v0 + 12));
    0x000055a0 lw a3, 0x34(v0)               |     a3 = *((v0 + 13));
    0x000055a4 ext s1, s1, 0x14, 1           |     __asm ("ext s1, s1, 0x14, 1");
    0x000055a8 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x000055ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000055b0 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x000055b4 move s2, v0                   |     s2 = v0;
    0x000055b8 lw t9, -0x7fb8(gp)            |     t9 = *(gp);
    0x000055bc move s3, v1                   |     s3 = v1;
    0x000055c0 bal 0xedc0                    |     fcn_0000edc0 ();
    0x000055c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000055c8 move a2, v0                   |     a2 = v0;
    0x000055cc move a3, v1                   |     a3 = v1;
    0x000055d0 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x000055d4 move a0, s2                   |     a0 = s2;
    0x000055d8 move a1, s3                   |     a1 = s3;
    0x000055dc b 0x58d8                      |     goto label_21;
                                             | label_16:
    0x000055e0 move a0, s4                   |     a0 = s4;
                                             | label_17:
    0x000055e4 move a1, s5                   |     a1 = s5;
    0x000055e8 bal 0xef40                    |     fcn_0000ef40 ();
    0x000055ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000055f0 lw a1, 0x1c(s3)               |     a1 = *((s3 + 7));
    0x000055f4 lw a0, 0x1c(s6)               |     a0 = *((s6 + 7));
    0x000055f8 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x000055fc subu a0, a1, a0               |     __asm ("subu a0, a1, a0");
    0x00005600 lw s7, -0x7fcc(gp)            |     s7 = *(gp);
    0x00005604 move s4, v0                   |     s4 = v0;
    0x00005608 move s5, v1                   |     s5 = v1;
    0x0000560c bal 0xeea0                    |     fcn_0000eea0 ();
    0x00005610 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005614 move a2, s4                   |     a2 = s4;
    0x00005618 move a3, s5                   |     a3 = s5;
    0x0000561c lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005620 move a0, v0                   |     a0 = v0;
    0x00005624 move a1, v1                   |     a1 = v1;
    0x00005628 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x0000562c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005630 lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x00005634 lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x00005638 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x0000563c move a0, v0                   |     a0 = v0;
    0x00005640 move a1, v1                   |     a1 = v1;
    0x00005644 bal 0xe820                    |     fcn_0000e820 ();
    0x00005648 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000564c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005650 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005654 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005658 addiu a3, zero, 2             |     a3 = 2;
    0x0000565c addiu a2, zero, 7             |     a2 = 7;
    0x00005660 addiu a1, zero, 1             |     a1 = 1;
    0x00005664 addiu a0, zero, -1            |     a0 = -1;
    0x00005668 bal 0xb568                    |     sym_cprintf_f ()
    0x0000566c lw v0, (s0)                   |     v0 = *(s0);
    0x00005670 ext v0, v0, 0x14, 1           |     __asm ("ext v0, v0, 0x14, 1");
    0x00005674 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00005678 beqz v0, 0x59c8               |         goto label_22;
                                             |     }
    0x0000567c lw v0, 0x28(s2)               |     v0 = *((s2 + 10));
    0x00005680 lw v1, 0x2c(s2)               |     v1 = *((s2 + 11));
                                             | label_3:
    0x00005684 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005688 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0000568c addiu a3, zero, 2             |     a3 = 2;
    0x00005690 addiu a2, zero, 9             |     a2 = 9;
    0x00005694 addiu a1, zero, 1             |     a1 = 1;
    0x00005698 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000569c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000056a0 bal 0xb568                    |     sym_cprintf_f ()
    0x000056a4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000056a8 lw a0, 0x20(s3)               |     a0 = *((s3 + 8));
    0x000056ac lw v0, 0x20(s6)               |     v0 = *((s6 + 8));
    0x000056b0 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x000056b4 subu a0, a0, v0               |     __asm ("subu a0, a0, v0");
    0x000056b8 bal 0xeea0                    |     fcn_0000eea0 ();
    0x000056bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000056c0 move a2, s4                   |     a2 = s4;
    0x000056c4 move a3, s5                   |     a3 = s5;
    0x000056c8 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x000056cc move a0, v0                   |     a0 = v0;
    0x000056d0 move a1, v1                   |     a1 = v1;
    0x000056d4 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x000056d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000056dc lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x000056e0 lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x000056e4 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x000056e8 move a0, v0                   |     a0 = v0;
    0x000056ec move a1, v1                   |     a1 = v1;
    0x000056f0 bal 0xe820                    |     fcn_0000e820 ();
    0x000056f4 nop                           |     
    0x000056f8 sw zero, (t8)                 |     *(t8) = 0;
    0x000056fc sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005700 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005704 addiu a3, zero, 2             |     a3 = 2;
    0x00005708 addiu a2, zero, 8             |     a2 = 8;
    0x0000570c addiu a1, zero, 1             |     a1 = 1;
    0x00005710 addiu a0, zero, -1            |     a0 = -1;
    0x00005714 bal 0xb568                    |     sym_cprintf_f ()
    0x00005718 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000571c lw v0, 0x48(s2)               |     v0 = *((s2 + 18));
    0x00005720 lw v1, 0x4c(s2)               |     v1 = *((s2 + 19));
    0x00005724 lw a0, (s0)                   |     a0 = *(s0);
    0x00005728 lw t9, -0x7f84(gp)            |     t9 = sym.cprintf_pc
    0x0000572c addiu a3, zero, 2             |     a3 = 2;
    0x00005730 addiu a2, zero, 6             |     a2 = 6;
    0x00005734 addiu a1, zero, 1             |     a1 = 1;
    0x00005738 ext a0, a0, 0x14, 1           |     __asm ("ext a0, a0, 0x14, 1");
    0x0000573c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005740 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005744 bal 0xb804                    |     sym_cprintf_pc ()
    0x00005748 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000574c lw v0, 0x10(s2)               |     v0 = *((s2 + 4));
    0x00005750 lw v1, 0x14(s2)               |     v1 = *((s2 + 5));
    0x00005754 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005758 addiu a3, zero, 2             |     a3 = 2;
    0x0000575c addiu a2, zero, 7             |     a2 = 7;
    0x00005760 addiu a1, zero, 1             |     a1 = 1;
    0x00005764 addiu a0, zero, -1            |     a0 = -1;
    0x00005768 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000576c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005770 bal 0xb568                    |     sym_cprintf_f ()
    0x00005774 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005778 lw v0, (s0)                   |     v0 = *(s0);
    0x0000577c lw a0, 0x60(s2)               |     a0 = *((s2 + 24));
    0x00005780 lw v1, -0x7fcc(gp)            |     v1 = *(gp);
    0x00005784 lw a1, 0x64(s2)               |     a1 = *((s2 + 25));
    0x00005788 ext s2, v0, 0x14, 1           |     __asm ("ext s2, v0, 0x14, 1");
    0x0000578c lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005790 lw a2, 0x28(v1)               |     a2 = *((v1 + 10));
    0x00005794 lw a3, 0x2c(v1)               |     a3 = *((v1 + 11));
    0x00005798 addiu v0, zero, -1            |     v0 = -1;
    0x0000579c addiu v1, zero, 2             |     v1 = 2;
                                             |     if (s2 == 0) {
    0x000057a0 movn v0, v1, s2               |         v0 = v1;
                                             |     }
    0x000057a4 move s2, v0                   |     s2 = v0;
    0x000057a8 bal 0xe820                    |     fcn_0000e820 ();
    0x000057ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000057b0 addiu a3, zero, 2             |     a3 = 2;
    0x000057b4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000057b8 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x000057bc sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000057c0 addiu a2, zero, 8             |     a2 = 8;
    0x000057c4 addiu a1, zero, 1             |     a1 = 1;
    0x000057c8 move a0, s2                   |     a0 = s2;
    0x000057cc bal 0xb568                    |     sym_cprintf_f ()
    0x000057d0 addiu a3, zero, -5            |     a3 = -5;
    0x000057d4 and s1, s1, a3                |     s1 &= a3;
    0x000057d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s1 != 0) {
    0x000057dc bnez s1, 0x528c               |         goto label_0;
                                             |     }
                                             | label_9:
    0x000057e0 lw a0, 0x38(s3)               |     a0 = *((s3 + 14));
    0x000057e4 lw v0, 0x38(s6)               |     v0 = *((s6 + 14));
    0x000057e8 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x000057ec subu a0, a0, v0               |     __asm ("subu a0, a0, v0");
    0x000057f0 bal 0xeea0                    |     fcn_0000eea0 ();
    0x000057f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000057f8 move a2, s4                   |     a2 = s4;
    0x000057fc move a3, s5                   |     a3 = s5;
    0x00005800 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005804 move a0, v0                   |     a0 = v0;
    0x00005808 move a1, v1                   |     a1 = v1;
    0x0000580c bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005810 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005814 lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x00005818 lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x0000581c lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005820 move a0, v0                   |     a0 = v0;
    0x00005824 move a1, v1                   |     a1 = v1;
    0x00005828 bal 0xe820                    |     fcn_0000e820 ();
    0x0000582c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005830 move a0, v0                   |     a0 = v0;
    0x00005834 move a1, v1                   |     a1 = v1;
    0x00005838 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x0000583c lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005840 lw a2, 0x20(v0)               |     a2 = *((v0 + 8));
    0x00005844 lw a3, 0x24(v0)               |     a3 = *((v0 + 9));
    0x00005848 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x0000584c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005850 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005854 addiu a0, zero, -1            |     a0 = -1;
    0x00005858 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x0000585c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005860 addiu a3, zero, 2             |     a3 = 2;
    0x00005864 addiu a2, zero, 7             |     a2 = 7;
    0x00005868 addiu a1, zero, 1             |     a1 = 1;
    0x0000586c bal 0xb568                    |     sym_cprintf_f ()
    0x00005870 lw a0, 0x80(fp)               |     a0 = *(arg_80h);
    0x00005874 slti v0, a0, 4                |     v0 = (a0 < 4) ? 1 : 0;
    0x00005878 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0000587c bnez v0, 0x5a44               |         goto label_23;
                                             |     }
    0x00005880 lw t9, -0x7fb8(gp)            |     t9 = *(gp);
    0x00005884 addiu a0, a0, -3              |     a0 += -3;
    0x00005888 bal 0xedc0                    |     fcn_0000edc0 ();
    0x0000588c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005890 move s2, v0                   |     s2 = v0;
    0x00005894 move s3, v1                   |     s3 = v1;
                                             | label_5:
    0x00005898 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0000589c lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x000058a0 lw s1, (s0)                   |     s1 = *(s0);
    0x000058a4 lw a0, (v0)                   |     a0 = *(v0);
    0x000058a8 lw a1, 4(v0)                  |     a1 = *((v0 + 1));
    0x000058ac lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x000058b0 ext s1, s1, 0x14, 1           |     __asm ("ext s1, s1, 0x14, 1");
    0x000058b4 lw a2, 0x30(v0)               |     a2 = *((v0 + 12));
    0x000058b8 lw a3, 0x34(v0)               |     a3 = *((v0 + 13));
    0x000058bc bal 0xddc0                    |     fcn_0000ddc0 ();
    0x000058c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000058c4 move a2, s2                   |     a2 = s2;
    0x000058c8 move a3, s3                   |     a3 = s3;
    0x000058cc lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x000058d0 move a0, v0                   |     a0 = v0;
    0x000058d4 move a1, v1                   |     a1 = v1;
                                             | label_21:
    0x000058d8 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x000058dc nop                           |     
    0x000058e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000058e4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000058e8 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000058ec lw t9, -0x7f84(gp)            |     t9 = sym.cprintf_pc
    0x000058f0 addiu a3, zero, 2             |     a3 = 2;
    0x000058f4 addiu a2, zero, 6             |     a2 = 6;
    0x000058f8 addiu a1, zero, 1             |     a1 = 1;
    0x000058fc move a0, s1                   |     a0 = s1;
    0x00005900 bal 0xb804                    |     sym_cprintf_pc ()
    0x00005904 lw v0, (s0)                   |     v0 = *(s0);
    0x00005908 andi v0, v0, 0x1000           |     v0 &= 0x1000;
    0x0000590c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00005910 beqz v0, 0x529c               |         goto label_1;
                                             |     }
    0x00005914 lw a1, -0x7fcc(gp)            |     a1 = *(gp);
                                             | label_19:
    0x00005918 lw t9, -0x7f6c(gp)            |     t9 = sym.cprintf_in
    0x0000591c lw a2, 0x24(sp)               |     a2 = *(var_24h);
    0x00005920 addiu a0, zero, 1             |     a0 = 1;
    0x00005924 move a3, zero                 |     a3 = 0;
    0x00005928 addiu a1, a1, -0x2e0          |     a1 += -0x2e0;
    0x0000592c bal 0xbae0                    |     sym_cprintf_in ()
    0x00005930 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005934 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x00005938 lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x0000593c lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x00005940 lw s6, 0x58(sp)               |     s6 = *(var_58h);
    0x00005944 lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x00005948 lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x0000594c lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x00005950 lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x00005954 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00005958 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x0000595c lw t9, -0x7db0(gp)            |     t9 = sym.imp.putchar;
    0x00005960 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00005964 addiu sp, sp, 0x68            |     
    0x00005968 jr t9                         |     t9 ();
                                             | label_11:
    0x0000596c lw a1, -0x7fcc(gp)            |     a1 = *(gp);
    0x00005970 lw t9, -0x7f6c(gp)            |     t9 = sym.cprintf_in
    0x00005974 lw a2, 0x24(sp)               |     a2 = *(var_24h);
    0x00005978 move a3, zero                 |     a3 = 0;
    0x0000597c addiu a1, a1, -0x2e8          |     a1 += -0x2e8;
    0x00005980 addiu a0, zero, 1             |     a0 = 1;
    0x00005984 bal 0xbae0                    |     sym_cprintf_in ()
    0x00005988 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000598c lw v0, 0x80(fp)               |     v0 = *(arg_80h);
    0x00005990 lw v1, (s0)                   |     v1 = *(s0);
    0x00005994 b 0x5234                      |     goto label_2;
                                             | label_10:
    0x00005998 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x0000599c lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x000059a0 lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x000059a4 lw s6, 0x58(sp)               |     s6 = *(var_58h);
    0x000059a8 lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x000059ac lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x000059b0 lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x000059b4 lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x000059b8 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x000059bc lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x000059c0 addiu sp, sp, 0x68            |     
    0x000059c4 jr ra                         |     return v1;
                                             | label_22:
    0x000059c8 lw t9, -0x7fb8(gp)            |     t9 = *(gp);
    0x000059cc lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x000059d0 bal 0xedc0                    |     fcn_0000edc0 ();
    0x000059d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000059d8 lw a0, 0x28(s2)               |     a0 = *((s2 + 10));
    0x000059dc lw a1, 0x2c(s2)               |     a1 = *((s2 + 11));
    0x000059e0 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x000059e4 move a2, v0                   |     a2 = v0;
    0x000059e8 move a3, v1                   |     a3 = v1;
    0x000059ec bal 0xddc0                    |     fcn_0000ddc0 ();
    0x000059f0 addiu a0, zero, -1            |     a0 = -1;
    0x000059f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000059f8 sw a0, 0x2c(sp)               |     *(var_2ch) = a0;
    0x000059fc sw v0, 0x28(s2)               |     *((s2 + 10)) = v0;
    0x00005a00 sw v1, 0x2c(s2)               |     *((s2 + 11)) = v1;
    0x00005a04 b 0x5684                      |     goto label_3;
                                             | label_20:
    0x00005a08 lw t9, -0x7fb8(gp)            |     t9 = *(gp);
    0x00005a0c lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00005a10 bal 0xedc0                    |     fcn_0000edc0 ();
    0x00005a14 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005a18 lw a0, 0x30(s2)               |     a0 = *((s2 + 12));
    0x00005a1c lw a1, 0x34(s2)               |     a1 = *((s2 + 13));
    0x00005a20 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005a24 move a2, v0                   |     a2 = v0;
    0x00005a28 move a3, v1                   |     a3 = v1;
    0x00005a2c bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005a30 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005a34 addiu a0, zero, -1            |     a0 = -1;
    0x00005a38 sw v0, 0x30(s2)               |     *((s2 + 12)) = v0;
    0x00005a3c sw v1, 0x34(s2)               |     *((s2 + 13)) = v1;
    0x00005a40 b 0x53b4                      |     goto label_4;
                                             | label_23:
    0x00005a44 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x00005a48 lw s2, 0x10(v0)               |     s2 = *((v0 + 4));
    0x00005a4c lw s3, 0x14(v0)               |     s3 = *((v0 + 5));
    0x00005a50 b 0x5898                      |     goto label_5;
                                             | label_14:
    0x00005a54 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
    0x00005a58 move a0, s4                   |     a0 = s4;
    0x00005a5c move a1, s5                   |     a1 = s5;
    0x00005a60 bal 0xef40                    |     fcn_0000ef40 ();
    0x00005a64 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005a68 lw a1, 0xc(s3)                |     a1 = *((s3 + 3));
    0x00005a6c lw a0, 0xc(s6)                |     a0 = *((s6 + 3));
    0x00005a70 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x00005a74 subu a0, a1, a0               |     __asm ("subu a0, a1, a0");
    0x00005a78 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00005a7c lw s7, -0x7fcc(gp)            |     s7 = *(gp);
    0x00005a80 sw v1, 0x34(sp)               |     *(var_34h) = v1;
    0x00005a84 bal 0xeea0                    |     fcn_0000eea0 ();
    0x00005a88 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005a8c lw a2, 0x30(sp)               |     a2 = *(var_30h);
    0x00005a90 lw a3, 0x34(sp)               |     a3 = *(var_34h);
    0x00005a94 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005a98 move a0, v0                   |     a0 = v0;
    0x00005a9c move a1, v1                   |     a1 = v1;
    0x00005aa0 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005aa4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005aa8 lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x00005aac lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x00005ab0 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005ab4 move a0, v0                   |     a0 = v0;
    0x00005ab8 move a1, v1                   |     a1 = v1;
    0x00005abc bal 0xe820                    |     fcn_0000e820 ();
    0x00005ac0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005ac4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005ac8 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005acc lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005ad0 addiu a3, zero, 2             |     a3 = 2;
    0x00005ad4 addiu a2, zero, 7             |     a2 = 7;
    0x00005ad8 addiu a1, zero, 1             |     a1 = 1;
    0x00005adc addiu a0, zero, -1            |     a0 = -1;
    0x00005ae0 bal 0xb568                    |     sym_cprintf_f ()
    0x00005ae4 lw v0, (s0)                   |     v0 = *(s0);
    0x00005ae8 ext v0, v0, 0x14, 1           |     __asm ("ext v0, v0, 0x14, 1");
    0x00005aec lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00005af0 beqz v0, 0x5e9c               |         goto label_24;
                                             |     }
    0x00005af4 lw v0, 0x18(s2)               |     v0 = *((s2 + 6));
    0x00005af8 lw v1, 0x1c(s2)               |     v1 = *((s2 + 7));
    0x00005afc move a0, zero                 |     a0 = 0;
                                             | label_8:
    0x00005b00 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005b04 addiu a3, zero, 2             |     a3 = 2;
    0x00005b08 addiu a2, zero, 9             |     a2 = 9;
    0x00005b0c addiu a1, zero, 1             |     a1 = 1;
    0x00005b10 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005b14 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005b18 bal 0xb568                    |     sym_cprintf_f ()
    0x00005b1c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005b20 lw a0, 0x10(s3)               |     a0 = *((s3 + 4));
    0x00005b24 lw v0, 0x10(s6)               |     v0 = *((s6 + 4));
    0x00005b28 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x00005b2c subu a0, a0, v0               |     __asm ("subu a0, a0, v0");
    0x00005b30 bal 0xeea0                    |     fcn_0000eea0 ();
    0x00005b34 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005b38 lw a2, 0x30(sp)               |     a2 = *(var_30h);
    0x00005b3c lw a3, 0x34(sp)               |     a3 = *(var_34h);
    0x00005b40 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005b44 move a0, v0                   |     a0 = v0;
    0x00005b48 move a1, v1                   |     a1 = v1;
    0x00005b4c bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005b50 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005b54 lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x00005b58 lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x00005b5c lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005b60 move a0, v0                   |     a0 = v0;
    0x00005b64 move a1, v1                   |     a1 = v1;
    0x00005b68 bal 0xe820                    |     fcn_0000e820 ();
    0x00005b6c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005b70 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005b74 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005b78 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005b7c addiu a3, zero, 2             |     a3 = 2;
    0x00005b80 addiu a2, zero, 8             |     a2 = 8;
    0x00005b84 addiu a1, zero, 1             |     a1 = 1;
    0x00005b88 addiu a0, zero, -1            |     a0 = -1;
    0x00005b8c bal 0xb568                    |     sym_cprintf_f ()
    0x00005b90 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005b94 lw a0, (s0)                   |     a0 = *(s0);
    0x00005b98 lw v0, 0x38(s2)               |     v0 = *((s2 + 14));
    0x00005b9c lw v1, 0x3c(s2)               |     v1 = *((s2 + 15));
    0x00005ba0 lw t9, -0x7f84(gp)            |     t9 = sym.cprintf_pc
    0x00005ba4 addiu a3, zero, 2             |     a3 = 2;
    0x00005ba8 addiu a2, zero, 6             |     a2 = 6;
    0x00005bac addiu a1, zero, 1             |     a1 = 1;
    0x00005bb0 ext a0, a0, 0x14, 1           |     __asm ("ext a0, a0, 0x14, 1");
    0x00005bb4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005bb8 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005bbc bal 0xb804                    |     sym_cprintf_pc ()
    0x00005bc0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005bc4 lw v0, (s2)                   |     v0 = *(s2);
    0x00005bc8 lw v1, 4(s2)                  |     v1 = *((s2 + 1));
    0x00005bcc lw a0, -0x7fcc(gp)            |     a0 = *(gp);
    0x00005bd0 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005bd4 sw a0, 0x38(sp)               |     *(var_38h) = a0;
    0x00005bd8 addiu a3, zero, 2             |     a3 = 2;
    0x00005bdc addiu a2, zero, 7             |     a2 = 7;
    0x00005be0 addiu a1, zero, 1             |     a1 = 1;
    0x00005be4 addiu a0, zero, -1            |     a0 = -1;
    0x00005be8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005bec sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005bf0 bal 0xb568                    |     sym_cprintf_f ()
    0x00005bf4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005bf8 lw t0, (s0)                   |     t0 = *(s0);
    0x00005bfc addiu v1, zero, 2             |     v1 = 2;
    0x00005c00 lw a0, -0x7fcc(gp)            |     a0 = *(gp);
    0x00005c04 ext t0, t0, 0x14, 1           |     __asm ("ext t0, t0, 0x14, 1");
    0x00005c08 addiu v0, zero, -1            |     v0 = -1;
    0x00005c0c lw a2, 0x28(a0)               |     a2 = *((a0 + 10));
    0x00005c10 lw a3, 0x2c(a0)               |     a3 = *((a0 + 11));
                                             |     if (t0 == 0) {
    0x00005c14 movn v0, v1, t0               |         v0 = v1;
                                             |     }
    0x00005c18 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005c1c lw a0, 0x50(s2)               |     a0 = *((s2 + 20));
    0x00005c20 lw a1, 0x54(s2)               |     a1 = *((s2 + 21));
    0x00005c24 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00005c28 bal 0xe820                    |     fcn_0000e820 ();
    0x00005c2c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005c30 lw t0, 0x3c(sp)               |     t0 = *(var_3ch);
    0x00005c34 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005c38 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005c3c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005c40 addiu a3, zero, 2             |     a3 = 2;
    0x00005c44 addiu a2, zero, 8             |     a2 = 8;
    0x00005c48 addiu a1, zero, 1             |     a1 = 1;
    0x00005c4c move a0, t0                   |     a0 = t0;
    0x00005c50 bal 0xb568                    |     sym_cprintf_f ()
    0x00005c54 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s1 != 0) {
    0x00005c58 bnez s1, 0x528c               |         goto label_0;
                                             |     }
                                             | label_7:
    0x00005c5c lw a0, 0x14(s3)               |     a0 = *((s3 + 5));
    0x00005c60 lw v0, 0x14(s6)               |     v0 = *((s6 + 5));
    0x00005c64 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x00005c68 subu a0, a0, v0               |     __asm ("subu a0, a0, v0");
    0x00005c6c bal 0xeea0                    |     fcn_0000eea0 ();
    0x00005c70 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005c74 lw a2, 0x30(sp)               |     a2 = *(var_30h);
    0x00005c78 lw a3, 0x34(sp)               |     a3 = *(var_34h);
    0x00005c7c lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005c80 move a0, v0                   |     a0 = v0;
    0x00005c84 move a1, v1                   |     a1 = v1;
    0x00005c88 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005c8c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005c90 lw a2, 0x18(s7)               |     a2 = *((s7 + 6));
    0x00005c94 lw a3, 0x1c(s7)               |     a3 = *((s7 + 7));
    0x00005c98 lw t9, -0x7fbc(gp)            |     t9 = *(gp);
    0x00005c9c move a0, v0                   |     a0 = v0;
    0x00005ca0 move a1, v1                   |     a1 = v1;
    0x00005ca4 bal 0xe820                    |     fcn_0000e820 ();
    0x00005ca8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005cac sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00005cb0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00005cb4 lw t9, -0x7f70(gp)            |     t9 = sym.cprintf_f
    0x00005cb8 addiu a3, zero, 2             |     a3 = 2;
    0x00005cbc addiu a2, zero, 7             |     a2 = 7;
    0x00005cc0 addiu a1, zero, 1             |     a1 = 1;
    0x00005cc4 addiu a0, zero, -1            |     a0 = -1;
    0x00005cc8 bal 0xb568                    |     sym_cprintf_f ()
    0x00005ccc lw v0, (s0)                   |     v0 = *(s0);
    0x00005cd0 ext v0, v0, 0x14, 1           |     __asm ("ext v0, v0, 0x14, 1");
    0x00005cd4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00005cd8 beqz v0, 0x5e38               |         goto label_25;
                                             |     }
    0x00005cdc lw v0, 0x20(s2)               |     v0 = *((s2 + 8));
    0x00005ce0 lw v1, 0x24(s2)               |     v1 = *((s2 + 9));
    0x00005ce4 move a0, zero                 |     a0 = 0;
                                             |     do {
    0x00005ce8 lw t9, -0x7f70(gp)            |         t9 = sym.cprintf_f
    0x00005cec addiu a3, zero, 2             |         a3 = 2;
    0x00005cf0 addiu a2, zero, 9             |         a2 = 9;
    0x00005cf4 addiu a1, zero, 1             |         a1 = 1;
    0x00005cf8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00005cfc sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00005d00 bal 0xb568                    |         sym_cprintf_f ()
    0x00005d04 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005d08 lw a0, 0x18(s3)               |         a0 = *((s3 + 6));
    0x00005d0c lw v0, 0x18(s6)               |         v0 = *((s6 + 6));
    0x00005d10 lw t9, -0x7fc4(gp)            |         t9 = *(gp);
    0x00005d14 subu a0, a0, v0               |         __asm ("subu a0, a0, v0");
    0x00005d18 bal 0xeea0                    |         fcn_0000eea0 ();
    0x00005d1c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005d20 lw a2, 0x30(sp)               |         a2 = *(var_30h);
    0x00005d24 lw a3, 0x34(sp)               |         a3 = *(var_34h);
    0x00005d28 lw t9, -0x7fc0(gp)            |         t9 = *(gp);
    0x00005d2c move a0, v0                   |         a0 = v0;
    0x00005d30 move a1, v1                   |         a1 = v1;
    0x00005d34 bal 0xddc0                    |         fcn_0000ddc0 ();
    0x00005d38 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005d3c lw a2, 0x18(s7)               |         a2 = *((s7 + 6));
    0x00005d40 lw a3, 0x1c(s7)               |         a3 = *((s7 + 7));
    0x00005d44 lw t9, -0x7fbc(gp)            |         t9 = *(gp);
    0x00005d48 move a0, v0                   |         a0 = v0;
    0x00005d4c move a1, v1                   |         a1 = v1;
    0x00005d50 bal 0xe820                    |         fcn_0000e820 ();
    0x00005d54 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005d58 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00005d5c sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00005d60 lw t9, -0x7f70(gp)            |         t9 = sym.cprintf_f
    0x00005d64 addiu a3, zero, 2             |         a3 = 2;
    0x00005d68 addiu a2, zero, 8             |         a2 = 8;
    0x00005d6c addiu a1, zero, 1             |         a1 = 1;
    0x00005d70 addiu a0, zero, -1            |         a0 = -1;
    0x00005d74 bal 0xb568                    |         sym_cprintf_f ()
    0x00005d78 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005d7c lw a0, (s0)                   |         a0 = *(s0);
    0x00005d80 lw v0, 0x40(s2)               |         v0 = *((s2 + 16));
    0x00005d84 lw v1, 0x44(s2)               |         v1 = *((s2 + 17));
    0x00005d88 lw t9, -0x7f84(gp)            |         t9 = sym.cprintf_pc
    0x00005d8c addiu a3, zero, 2             |         a3 = 2;
    0x00005d90 addiu a2, zero, 6             |         a2 = 6;
    0x00005d94 addiu a1, zero, 1             |         a1 = 1;
    0x00005d98 ext a0, a0, 0x14, 1           |         __asm ("ext a0, a0, 0x14, 1");
    0x00005d9c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00005da0 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00005da4 bal 0xb804                    |         sym_cprintf_pc ()
    0x00005da8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005dac lw v0, 8(s2)                  |         v0 = *((s2 + 2));
    0x00005db0 lw v1, 0xc(s2)                |         v1 = *((s2 + 3));
    0x00005db4 lw t9, -0x7f70(gp)            |         t9 = sym.cprintf_f
    0x00005db8 addiu a3, zero, 2             |         a3 = 2;
    0x00005dbc addiu a2, zero, 7             |         a2 = 7;
    0x00005dc0 addiu a1, zero, 1             |         a1 = 1;
    0x00005dc4 addiu a0, zero, -1            |         a0 = -1;
    0x00005dc8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00005dcc sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00005dd0 bal 0xb568                    |         sym_cprintf_f ()
    0x00005dd4 lw v0, 0x38(sp)               |         v0 = *(var_38h);
    0x00005dd8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005ddc lw s7, (s0)                   |         s7 = *(s0);
    0x00005de0 lw a2, 0x28(v0)               |         a2 = *((v0 + 10));
    0x00005de4 lw a3, 0x2c(v0)               |         a3 = *((v0 + 11));
    0x00005de8 lw a0, 0x58(s2)               |         a0 = *((s2 + 22));
    0x00005dec lw t9, -0x7fbc(gp)            |         t9 = *(gp);
    0x00005df0 lw a1, 0x5c(s2)               |         a1 = *((s2 + 23));
    0x00005df4 ext s7, s7, 0x14, 1           |         __asm ("ext s7, s7, 0x14, 1");
    0x00005df8 addiu v1, zero, 2             |         v1 = 2;
    0x00005dfc addiu v0, zero, -1            |         v0 = -1;
                                             |         if (s7 == 0) {
    0x00005e00 movn v0, v1, s7               |             v0 = v1;
                                             |         }
    0x00005e04 move s7, v0                   |         s7 = v0;
    0x00005e08 bal 0xe820                    |         fcn_0000e820 ();
    0x00005e0c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005e10 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00005e14 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00005e18 lw t9, -0x7f70(gp)            |         t9 = sym.cprintf_f
    0x00005e1c addiu a3, zero, 2             |         a3 = 2;
    0x00005e20 addiu a2, zero, 8             |         a2 = 8;
    0x00005e24 addiu a1, zero, 1             |         a1 = 1;
    0x00005e28 move a0, s7                   |         a0 = s7;
    0x00005e2c bal 0xb568                    |         sym_cprintf_f ()
    0x00005e30 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005e34 b 0x526c                      |         goto label_6;
                                             | label_25:
    0x00005e38 lw t9, -0x7fb8(gp)            |         t9 = *(gp);
    0x00005e3c lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00005e40 bal 0xedc0                    |         fcn_0000edc0 ();
    0x00005e44 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005e48 lw a0, 0x20(s2)               |         a0 = *((s2 + 8));
    0x00005e4c lw a1, 0x24(s2)               |         a1 = *((s2 + 9));
    0x00005e50 lw t9, -0x7fc0(gp)            |         t9 = *(gp);
    0x00005e54 move a2, v0                   |         a2 = v0;
    0x00005e58 move a3, v1                   |         a3 = v1;
    0x00005e5c bal 0xddc0                    |         fcn_0000ddc0 ();
    0x00005e60 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005e64 addiu a0, zero, -1            |         a0 = -1;
    0x00005e68 sw v0, 0x20(s2)               |         *((s2 + 8)) = v0;
    0x00005e6c sw v1, 0x24(s2)               |         *((s2 + 9)) = v1;
    0x00005e70 b 0x5ce8                      |         
                                             |     } while (1);
                                             | label_15:
    0x00005e74 move a0, s4                   |     a0 = s4;
    0x00005e78 move a1, s5                   |     a1 = s5;
    0x00005e7c bal 0xef40                    |     fcn_0000ef40 ();
    0x00005e80 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005e84 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00005e88 sw v1, 0x34(sp)               |     *(var_34h) = v1;
    0x00005e8c lw a0, -0x7fcc(gp)            |     a0 = *(gp);
    0x00005e90 lw s7, -0x7fcc(gp)            |     s7 = *(gp);
    0x00005e94 sw a0, 0x38(sp)               |     *(var_38h) = a0;
    0x00005e98 b 0x5c5c                      |     goto label_7;
                                             | label_24:
    0x00005e9c lw t9, -0x7fb8(gp)            |     t9 = *(gp);
    0x00005ea0 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00005ea4 bal 0xedc0                    |     fcn_0000edc0 ();
    0x00005ea8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005eac lw a0, 0x18(s2)               |     a0 = *((s2 + 6));
    0x00005eb0 lw a1, 0x1c(s2)               |     a1 = *((s2 + 7));
    0x00005eb4 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00005eb8 move a2, v0                   |     a2 = v0;
    0x00005ebc move a3, v1                   |     a3 = v1;
    0x00005ec0 bal 0xddc0                    |     fcn_0000ddc0 ();
    0x00005ec4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005ec8 addiu a0, zero, -1            |     a0 = -1;
    0x00005ecc sw v0, 0x18(s2)               |     *((s2 + 6)) = v0;
    0x00005ed0 sw v1, 0x1c(s2)               |     *((s2 + 7)) = v1;
    0x00005ed4 b 0x5b00                      |     goto label_8;
                                             | label_18:
    0x00005ed8 move a1, s5                   |     a1 = s5;
    0x00005edc bal 0xef40                    |     fcn_0000ef40 ();
    0x00005ee0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00005ee4 move s4, v0                   |     s4 = v0;
    0x00005ee8 move s5, v1                   |     s5 = v1;
    0x00005eec lw s7, -0x7fcc(gp)            |     s7 = *(gp);
    0x00005ef0 b 0x57e0                      |     goto label_9;
                                             | }

[*] Function printf used 61 times iostat