[*] Binary protection state of zip

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


[*] Function mmap tear down of zip

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/zip @ 0x237b0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.get_option ()                | void get_option () {
    0x000237b0 lui gp, 3                     |     
    0x000237b4 addiu gp, gp, -0x1b20         |     
    0x000237b8 addu gp, gp, t9               |     gp += t9;
    0x000237bc addiu sp, sp, -0xe0           |     
    0x000237c0 lw v0, -0x7a44(gp)            |     v0 = *((gp - 7825));
    0x000237c4 sw a1, 0x38(sp)               |     *(var_38h) = a1;
    0x000237c8 lw a1, 0xf4(sp)               |     a1 = *(arg_f4h);
    0x000237cc lw v1, 0xf0(sp)               |     v1 = *(arg_f0h);
    0x000237d0 sw a1, 0x48(sp)               |     *(var_48h) = a1;
    0x000237d4 lw a1, 0xf8(sp)               |     a1 = *(arg_f8h);
    0x000237d8 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000237dc sw a1, 0x44(sp)               |     *(var_44h) = a1;
    0x000237e0 lw v0, (v0)                   |     v0 = *(v0);
    0x000237e4 lw a1, 0xfc(sp)               |     a1 = *(arg_fch);
    0x000237e8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000237ec sw ra, 0xdc(sp)               |     *(var_dch) = ra;
    0x000237f0 sw fp, 0xd8(sp)               |     *(var_d8h) = fp;
    0x000237f4 sw s7, 0xd4(sp)               |     *(var_d4h) = s7;
    0x000237f8 sw s6, 0xd0(sp)               |     *(var_d0h) = s6;
    0x000237fc sw s5, 0xcc(sp)               |     *(var_cch) = s5;
    0x00023800 sw s4, 0xc8(sp)               |     *(var_c8h) = s4;
    0x00023804 sw s3, 0xc4(sp)               |     *(var_c4h) = s3;
    0x00023808 sw s2, 0xc0(sp)               |     *(var_c0h) = s2;
    0x0002380c sw s1, 0xbc(sp)               |     *(var_bch) = s1;
    0x00023810 sw s0, 0xb8(sp)               |     *(var_b8h) = s0;
    0x00023814 sw v1, 0x2c(sp)               |     *(var_2ch) = v1;
    0x00023818 sw a0, 0x30(sp)               |     *(var_30h) = a0;
    0x0002381c sw a2, 0x3c(sp)               |     *(var_3ch) = a2;
    0x00023820 sw a3, 0x40(sp)               |     *(var_40h) = a3;
    0x00023824 sw a1, 0x28(sp)               |     *(var_28h) = a1;
    0x00023828 sw v0, 0xb4(sp)               |     *(var_b4h) = v0;
    0x0002382c sw zero, (v1)                 |     *(v1) = 0;
                                             |     if (a0 == 0) {
    0x00023830 beqz a0, 0x23f9c              |         goto label_68;
                                             |     }
    0x00023834 lw s6, (a0)                   |     s6 = *(a0);
    0x00023838 sw s6, 0x7c(sp)               |     *(var_7ch) = s6;
                                             |     if (s6 == 0) {
    0x0002383c beqz s6, 0x23f9c              |         goto label_68;
                                             |     }
    0x00023840 lw v0, (s6)                   |     v0 = *(s6);
    0x00023844 move fp, zero                 |     fp = 0;
                                             |     if (v0 == 0) {
    0x00023848 beqz v0, 0x23a34              |         goto label_69;
                                             |     }
    0x0002384c addiu v0, s6, 4               |     v0 = s6 + 4;
                                             |     do {
    0x00023850 addiu v0, v0, 4               |         v0 += 4;
    0x00023854 lw s0, -4(v0)                 |         s0 = *((v0 - 1));
    0x00023858 addiu fp, fp, 1               |         fp++;
    0x0002385c bnez s0, 0x23850              |         
                                             |     } while (s0 != 0);
    0x00023860 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
    0x00023864 lw v0, 0x48(sp)               |     v0 = *(var_48h);
                                             |     if (v0 != 0) {
    0x00023868 bnez v0, 0x239e8              |         goto label_70;
                                             |     }
    0x0002386c addiu v0, zero, 1             |     v0 = 1;
    0x00023870 lw v0, 0x38(sp)               |     v0 = *(var_38h);
                                             |     if (fp == v0) {
    0x00023874 beq fp, v0, 0x23a38           |         goto label_71;
                                             |     }
    0x00023878 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0002387c sw zero, (v0)                 |     *(v0) = 0;
    0x00023880 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x00023884 lw s5, (v0)                   |     s5 = *(v0);
    0x00023888 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0002388c lw s4, (v0)                   |     s4 = *(v0);
    0x00023890 addiu v0, s5, 1               |     v0 = s5 + 1;
    0x00023894 addiu a0, s4, 7               |     a0 = s4 + 7;
    0x00023898 sltiu v1, a0, 1               |     v1 = (a0 < 1) ? 1 : 0;
    0x0002389c sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x000238a0 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
                                             |     if (v0 != 0) {
    0x000238a4 bnez v0, 0x23a10              |         goto label_72;
                                             |     }
                                             | label_1:
    0x000238a8 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x000238ac lw s7, (v0)                   |     s7 = *(v0);
    0x000238b0 lw v0, 0x28(sp)               |     v0 = *(var_28h);
    0x000238b4 lw a0, (v0)                   |     a0 = *(v0);
    0x000238b8 addiu v0, zero, -1            |     v0 = -1;
    0x000238bc sll v0, a0, 1                 |     v0 = a0 << 1;
                                             |     if (a0 == v0) {
    0x000238c0 beq a0, v0, 0x24f58           |         goto label_73;
                                             |     }
    0x000238c4 addu v0, v0, a0               |     v0 += a0;
    0x000238c8 lw a0, -0x7dd0(gp)            |     a0 = *(gp);
    0x000238cc sll v0, v0, 3                 |     v0 <<= 3;
    0x000238d0 addu v0, a0, v0               |     v0 = a0 + v0;
    0x000238d4 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x000238d8 sw v0, 0x24(sp)               |     *(var_24h) = v0;
                                             | label_2:
    0x000238dc lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x000238e0 lw v0, -0x7c40(gp)            |     v0 = *(gp);
                                             |     if (v0 != 0) {
    0x000238e4 bnez v0, 0x2499c              |         goto label_74;
                                             |     }
    0x000238e8 lw v1, -0x7f7c(gp)            |     v1 = *((gp - 8159));
    0x000238ec sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000238f0 lw v0, -0x7f90(gp)            |     v0 = *(gp);
    0x000238f4 sw v1, 0x60(sp)               |     *(var_60h) = v1;
    0x000238f8 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x000238fc lw v0, -0x7f90(gp)            |     v0 = *(gp);
    0x00023900 sw s0, 0x74(sp)               |     *(var_74h) = s0;
    0x00023904 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x00023908 lw v0, -0x7f90(gp)            |     v0 = *(gp);
                                             |     /* str.short_option__c_not_supported */
    0x0002390c addiu v0, v0, 0x7c14          |     v0 += 0x7c14;
    0x00023910 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x00023914 addiu v0, v1, -0x588c         |     v0 = v1 + -0x588c;
    0x00023918 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x0002391c lw v0, -0x7f90(gp)            |     v0 = *(gp);
                                             |     /* esilref: ''&s'' */
    0x00023920 addiu v0, v0, -0x1d5c         |     v0 += -0x1d5c;
    0x00023924 sw v0, 0x64(sp)               |     *(var_64h) = v0;
                                             | label_25:
    0x00023928 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0002392c move s0, fp                   |     s0 = fp;
    0x00023930 lw v0, (v0)                   |     v0 = *(v0);
                                             | label_18:
    0x00023934 addiu v0, zero, -5            |     v0 = -5;
                                             |     if (v0 == 0) {
    0x00023938 beqz v0, 0x239c8              |         goto label_75;
                                             |     }
    0x0002393c addiu v0, s4, 2               |     v0 = s4 + 2;
                                             |     do {
    0x00023940 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x00023944 addiu v0, s4, 4               |         v0 = s4 + 4;
                                             |         if (v0 != 0) {
    0x00023948 bnez v0, 0x23c54              |             goto label_76;
                                             |         }
    0x0002394c sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x00023950 addiu v0, zero, -6            |         v0 = -6;
                                             |         if (v0 != 0) {
    0x00023954 bnez v0, 0x23c08              |             goto label_77;
                                             |         }
                                             |         if (s4 == v0) {
    0x00023958 beq s4, v0, 0x23fac           |             goto label_78;
                                             |         }
    0x0002395c nop                           |         
                                             | label_0:
    0x00023960 slt v0, s0, s5                |         v0 = (s0 < s5) ? 1 : 0;
                                             | label_6:
    0x00023964 sll s3, s5, 2                 |         s3 = s5 << 2;
                                             |         if (v0 != 0) {
    0x00023968 bnez v0, 0x2409c              |             goto label_79;
                                             |         }
    0x0002396c addu s3, s6, s3               |         s3 = s6 + s3;
    0x00023970 lw s1, (s3)                   |         s1 = *(s3);
    0x00023974 move fp, s5                   |         fp = s5;
                                             |         if (s1 == 0) {
    0x00023978 beqz s1, 0x23bc0              |             goto label_80;
                                             |         }
    0x0002397c sll v0, s7, 2                 |         v0 = s7 << 2;
                                             |         if (s7 >= 0) {
    0x00023980 bltz s7, 0x23990              |             
    0x00023984 lwx v0, v0(s6)                |             __asm ("lwx v0, v0(s6)");
    0x00023988 move s2, s5                   |             s2 = s5;
                                             |             if (v0 == 0) {
    0x0002398c beqz v0, 0x250cc              |                 goto label_81;
                                             |             }
                                             |         }
                                             | label_5:
    0x00023990 lb v0, (s1)                   |         v0 = *(s1);
    0x00023994 addiu v1, zero, 0x2d          |         v1 = 0x2d;
                                             |         if (v0 == v1) {
    0x00023998 beql v0, v1, 0x23aa8          |             goto label_82;
                                             |         }
    0x0002399c lb v1, 1(s1)                  |         v1 = *((s1 + 1));
    0x000239a0 lw v0, 0x20(sp)               |         v0 = *(var_20h);
    0x000239a4 lw v0, (v0)                   |         v0 = *(v0);
    0x000239a8 lw t9, -0x7ae0(gp)            |         t9 = sym.imp.strlen;
                                             |         if (v0 == 0) {
    0x000239ac beqz v0, 0x240a4              |             goto label_83;
                                             |         }
                                             |         if (s7 < 0) {
                                             | label_4:
    0x000239b0 bltzl s7, 0x23a2c             |             goto label_84;
                                             |         }
    0x000239b4 move s7, s5                   |         s7 = s5;
    0x000239b8 addiu s5, s5, 1               |         s5++;
                                             | label_3:
    0x000239bc addiu v0, s4, 2               |         v0 = s4 + 2;
    0x000239c0 bnez v0, 0x23940              |         
                                             |     } while (v0 != 0);
    0x000239c4 addiu v0, zero, -5            |     v0 = -5;
                                             |     if (s4 != v0) {
                                             | label_75:
    0x000239c8 beql s4, v0, 0x239e0          |         
    0x000239cc addiu s5, s5, 1               |         s5++;
                                             | label_10:
    0x000239d0 addiu v0, zero, -6            |         v0 = -6;
    0x000239d4 addiu v0, s4, 4               |         v0 = s4 + 4;
                                             |         if (s4 != v0) {
    0x000239d8 bne s4, v0, 0x23a88           |             goto label_8;
                                             |         }
                                             | label_22:
    0x000239dc addiu s5, s5, 1               |         s5++;
                                             |     }
                                             | label_12:
    0x000239e0 move s4, zero                 |     s4 = 0;
    0x000239e4 b 0x23960                     |     goto label_0;
                                             | label_70:
    0x000239e8 sw zero, (v0)                 |     *(v0) = 0;
    0x000239ec lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x000239f0 lw s4, (v0)                   |     s4 = *(v0);
    0x000239f4 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x000239f8 addiu a0, s4, 7               |     a0 = s4 + 7;
    0x000239fc sltiu v1, a0, 1               |     v1 = (a0 < 1) ? 1 : 0;
    0x00023a00 lw s5, (v0)                   |     s5 = *(v0);
    0x00023a04 addiu v0, zero, -1            |     v0 = -1;
    0x00023a08 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
                                             |     if (s5 != v0) {
    0x00023a0c bne s5, v0, 0x238a8           |         goto label_1;
                                             |     }
                                             | label_72:
    0x00023a10 lw v1, 0x28(sp)               |     v1 = *(var_28h);
    0x00023a14 addiu v0, zero, -1            |     v0 = -1;
    0x00023a18 addiu s4, zero, -2            |     s4 = -2;
    0x00023a1c sw v0, (v1)                   |     *(v1) = v0;
    0x00023a20 addiu s7, zero, -1            |     s7 = -1;
    0x00023a24 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00023a28 b 0x238dc                     |     goto label_2;
                                             | label_84:
    0x00023a2c addiu s5, s5, 1               |     s5++;
    0x00023a30 b 0x239bc                     |     goto label_3;
                                             | label_69:
    0x00023a34 lw v0, 0x38(sp)               |     v0 = *(var_38h);
                                             | label_71:
    0x00023a38 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00023a3c sw fp, (v0)                   |     *(v0) = fp;
                                             | label_11:
    0x00023a40 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00023a44 lw a0, 0xb4(sp)               |     a0 = *(var_b4h);
    0x00023a48 lw v1, (v0)                   |     v1 = *(v0);
    0x00023a4c lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (a0 != v1) {
    0x00023a50 bne a0, v1, 0x24f4c           |         goto label_85;
                                             |     }
    0x00023a54 lw ra, 0xdc(sp)               |     ra = *(var_dch);
    0x00023a58 lw fp, 0xd8(sp)               |     fp = *(var_d8h);
    0x00023a5c lw s7, 0xd4(sp)               |     s7 = *(var_d4h);
    0x00023a60 lw s6, 0xd0(sp)               |     s6 = *(var_d0h);
    0x00023a64 lw s5, 0xcc(sp)               |     s5 = *(var_cch);
    0x00023a68 lw s4, 0xc8(sp)               |     s4 = *(var_c8h);
    0x00023a6c lw s3, 0xc4(sp)               |     s3 = *(var_c4h);
    0x00023a70 lw s2, 0xc0(sp)               |     s2 = *(var_c0h);
    0x00023a74 lw s1, 0xbc(sp)               |     s1 = *(var_bch);
    0x00023a78 lw s0, 0xb8(sp)               |     s0 = *(var_b8h);
    0x00023a7c addiu sp, sp, 0xe0            |     
    0x00023a80 jr ra                         |     return v0;
                                             | label_7:
    0x00023a84 addiu v0, s4, 4               |     v0 = s4 + 4;
                                             | label_8:
    0x00023a88 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x00023a8c addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v0 != 0) {
    0x00023a90 bnez v0, 0x23c10              |         goto label_86;
                                             |     }
    0x00023a94 addiu v0, zero, -2            |     v0 = -2;
                                             |     if (s4 != v0) {
    0x00023a98 bne s4, v0, 0x23d50           |         goto label_87;
                                             |     }
    0x00023a9c addiu s5, s5, 2               |     s5 += 2;
    0x00023aa0 move s4, zero                 |     s4 = 0;
    0x00023aa4 b 0x23960                     |     goto label_0;
                                             |     if (v1 != 0) {
                                             | label_82:
    0x00023aa8 beql v1, zero, 0x23b54        |         
    0x00023aac lw v1, 0x28(sp)               |         v1 = *(var_28h);
    0x00023ab0 addiu v0, s4, 1               |         v0 = s4 + 1;
                                             |         if (v1 != v0) {
    0x00023ab4 bne v1, v0, 0x23e28           |             goto label_88;
                                             |         }
    0x00023ab8 lb v0, 2(s1)                  |         v0 = *((s1 + 2));
    0x00023abc lw v0, -0x7c3c(gp)            |         v0 = *(gp);
                                             |         if (v0 != 0) {
    0x00023ac0 bnez v0, 0x248d0              |             goto label_89;
                                             |         }
    0x00023ac4 lw v0, (v0)                   |         v0 = *(v0);
    0x00023ac8 lw v1, 0x28(sp)               |         v1 = *(var_28h);
                                             |         if (v0 == 0) {
    0x00023acc beqz v0, 0x23b54              |             goto label_90;
                                             |         }
    0x00023ad0 slti v0, s7, 1                |         v0 = (s7 < 1) ? 1 : 0;
    0x00023ad4 move fp, s0                   |         fp = s0;
                                             |         if (v0 != 0) {
    0x00023ad8 movz s5, s7, v0               |             s5 = s7;
                                             |         }
    0x00023adc addiu s4, zero, -7            |         s4 = -7;
                                             | label_43:
    0x00023ae0 slt v0, fp, s5                |         v0 = (fp < s5) ? 1 : 0;
    0x00023ae4 sw zero, 0x24(sp)             |         *(var_24h) = 0;
                                             |         if (v0 == 0) {
    0x00023ae8 bnel v0, zero, 0x23d24        |             goto label_13;
                                             |         }
    0x00023aec sll s0, s5, 2                 |         s0 = s5 << 2;
    0x00023af0 lwx s0, s0(s6)                |         __asm ("lwx s0, s0(s6)");
    0x00023af4 lw t9, -0x7ae0(gp)            |         t9 = sym.imp.strlen;
                                             |         if (s0 == 0) {
    0x00023af8 beqz s0, 0x23d20              |             goto label_91;
                                             |         }
    0x00023afc move a0, s0                   |         a0 = s0;
    0x00023b00 jalr t9                       |         t9 ();
    0x00023b04 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023b08 lw t9, -0x7ab4(gp)            |         t9 = sym.imp.malloc;
    0x00023b0c addiu a0, v0, 1               |         a0 = v0 + 1;
    0x00023b10 jalr t9                       |         t9 ();
    0x00023b14 lw v1, 0x2c(sp)               |         v1 = *(var_2ch);
    0x00023b18 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023b1c sw v0, (v1)                   |         *(v1) = v0;
                                             |         if (v0 == 0) {
    0x00023b20 beqz v0, 0x24978              |             goto label_92;
                                             |         }
                                             | label_42:
    0x00023b24 lw t9, -0x7a9c(gp)            |         t9 = sym.imp.strcpy;
    0x00023b28 move a1, s0                   |         a1 = s0;
    0x00023b2c move a0, v0                   |         a0 = v0;
    0x00023b30 jalr t9                       |         t9 ();
    0x00023b34 lw v1, 0x28(sp)               |         v1 = *(var_28h);
    0x00023b38 addiu v0, zero, -1            |         v0 = -1;
    0x00023b3c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023b40 sw v0, (v1)                   |         *(v1) = v0;
    0x00023b44 ori v0, zero, 0xffff          |         v0 = 0xffff;
    0x00023b48 lw s6, 0x7c(sp)               |         s6 = *(var_7ch);
    0x00023b4c sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x00023b50 b 0x23d24                     |         goto label_13;
                                             |     }
                                             | label_90:
    0x00023b54 addiu v0, zero, -1            |     v0 = -1;
    0x00023b58 sw v0, (v1)                   |     *(v1) = v0;
    0x00023b5c lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x00023b60 lw v0, (v0)                   |     v0 = *(v0);
    0x00023b64 lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
                                             |     if (v0 != 0) {
    0x00023b68 bnez v0, 0x239b0              |         goto label_4;
                                             |     }
    0x00023b6c move a0, s1                   |     a0 = s1;
    0x00023b70 jalr t9                       |     t9 ();
    0x00023b74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023b78 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00023b7c lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00023b80 move fp, s0                   |     fp = s0;
    0x00023b84 jalr t9                       |     t9 ();
    0x00023b88 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x00023b8c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023b90 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x00023b94 beqz v0, 0x249ec              |         goto label_93;
                                             |     }
                                             | label_46:
    0x00023b98 lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x00023b9c move a1, s1                   |     a1 = s1;
    0x00023ba0 move a0, v0                   |     a0 = v0;
    0x00023ba4 jalr t9                       |     t9 ();
    0x00023ba8 ori v0, zero, 0xffff          |     v0 = 0xffff;
    0x00023bac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023bb0 addiu s4, zero, -5            |     s4 = -5;
    0x00023bb4 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x00023bb8 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00023bbc b 0x23d24                     |     goto label_13;
                                             |     if (s7 < 0) {
                                             | label_80:
    0x00023bc0 bltzl s7, 0x23d20             |         goto label_91;
                                             |     }
    0x00023bc4 move fp, s0                   |     fp = s0;
    0x00023bc8 sll v0, s7, 2                 |     v0 = s7 << 2;
    0x00023bcc addu s3, s6, v0               |     s3 = s6 + v0;
    0x00023bd0 lw s1, (s3)                   |     s1 = *(s3);
    0x00023bd4 move fp, s7                   |     fp = s7;
                                             |     if (s1 == 0) {
    0x00023bd8 beqz s1, 0x23d1c              |         goto label_94;
                                             |     }
    0x00023bdc addiu v1, zero, -5            |     v1 = -5;
                                             |     if (s4 == v1) {
    0x00023be0 beql s4, v1, 0x24040          |         goto label_95;
                                             |     }
    0x00023be4 addiu s7, s7, 1               |     s7++;
    0x00023be8 slt v0, s0, s7                |     v0 = (s0 < s7) ? 1 : 0;
    0x00023bec move s2, fp                   |     s2 = fp;
                                             |     if (v0 != 0) {
    0x00023bf0 bnez v0, 0x24060              |         goto label_96;
                                             |     }
                                             | label_24:
    0x00023bf4 move v0, s7                   |     v0 = s7;
                                             |     if (s5 >= 0) {
    0x00023bf8 bgez s5, 0x2427c              |         goto label_97;
                                             |     }
    0x00023bfc move s7, s5                   |     s7 = s5;
    0x00023c00 move s5, v0                   |     s5 = v0;
    0x00023c04 b 0x23990                     |     goto label_5;
                                             | label_77:
    0x00023c08 sll v0, s7, 2                 |     v0 = s7 << 2;
                                             |     if (s7 >= 0) {
    0x00023c0c bgez s7, 0x23c5c              |         goto label_98;
                                             |     }
                                             | label_86:
    0x00023c10 addiu v0, zero, -3            |     v0 = -3;
    0x00023c14 addiu s3, s5, 1               |     s3 = s5 + 1;
                                             |     if (s4 != v0) {
    0x00023c18 bne s4, v0, 0x23db8           |         goto label_99;
                                             |     }
    0x00023c1c addiu s5, s5, 2               |     s5 += 2;
    0x00023c20 sll s2, s5, 2                 |     s2 = s5 << 2;
    0x00023c24 addu s1, s6, s2               |     s1 = s6 + s2;
    0x00023c28 lw a0, (s1)                   |     a0 = *(s1);
                                             |     if (a0 == 0) {
    0x00023c2c beqz a0, 0x23dd8              |         goto label_100;
                                             |     }
    0x00023c30 nop                           |     
                                             | label_15:
    0x00023c34 lb v0, (a0)                   |     v0 = *(a0);
                                             | label_14:
    0x00023c38 addiu v1, zero, 0x40          |     v1 = 0x40;
    0x00023c3c addiu v1, zero, 0x2d          |     v1 = 0x2d;
                                             |     if (v0 == v1) {
    0x00023c40 beq v0, v1, 0x23d60           |         goto label_101;
                                             |     }
    0x00023c44 move s4, zero                 |     s4 = 0;
                                             |     if (v0 != v1) {
    0x00023c48 bne v0, v1, 0x23d6c           |         goto label_102;
                                             |     }
    0x00023c4c slt v0, s0, s5                |     v0 = (s0 < s5) ? 1 : 0;
    0x00023c50 b 0x23964                     |     goto label_6;
                                             | label_76:
    0x00023c54 sll v0, s7, 2                 |     v0 = s7 << 2;
                                             |     if (s7 < 0) {
    0x00023c58 bltz s7, 0x23a84              |         goto label_7;
                                             |     }
                                             | label_98:
    0x00023c5c addu t0, s6, v0               |     t0 = s6 + v0;
    0x00023c60 lw s3, (t0)                   |     s3 = *(t0);
                                             |     if (s3 == 0) {
    0x00023c64 beql s3, zero, 0x23a88        |         goto label_8;
                                             |     }
    0x00023c68 addiu v0, s4, 4               |     v0 = s4 + 4;
    0x00023c6c addiu v1, zero, -3            |     v1 = -3;
                                             | label_23:
    0x00023c70 and v1, s4, v1                |     v1 = s4 & v1;
    0x00023c74 addiu a0, v1, 3               |     a0 = v1 + 3;
    0x00023c78 sltiu a0, a0, 1               |     a0 = (a0 < 1) ? 1 : 0;
    0x00023c7c slt v1, s7, s5                |     v1 = (s7 < s5) ? 1 : 0;
    0x00023c80 sw a0, 0x50(sp)               |     *(var_50h) = a0;
                                             |     if (v1 == 0) {
    0x00023c84 beqz v1, 0x23d0c              |         goto label_103;
                                             |     }
    0x00023c88 addu s1, a0, s5               |     s1 = a0 + s5;
    0x00023c8c subu fp, s1, s7               |     __asm ("subu fp, s1, s7");
    0x00023c90 sll s2, s1, 2                 |     s2 = s1 << 2;
    0x00023c94 addiu v0, v0, 4               |     v0 += 4;
    0x00023c98 addu s2, s6, s2               |     s2 = s6 + s2;
    0x00023c9c slt s1, s7, s1                |     s1 = (s7 < s1) ? 1 : 0;
    0x00023ca0 sll v1, fp, 2                 |     v1 = fp << 2;
    0x00023ca4 addu v0, s6, v0               |     v0 = s6 + v0;
    0x00023ca8 sw s0, 0x54(sp)               |     *(var_54h) = s0;
    0x00023cac sw s4, 0x58(sp)               |     *(var_58h) = s4;
    0x00023cb0 move s0, s3                   |     s0 = s3;
                                             |     if (s1 != 0) {
    0x00023cb4 movz s2, t0, s1               |         s2 = t0;
                                             |     }
    0x00023cb8 move s4, s7                   |     s4 = s7;
    0x00023cbc move s3, v0                   |     s3 = v0;
    0x00023cc0 move fp, v1                   |     fp = v1;
                                             |     if (s1 == 0) {
    0x00023cc4 beqz s1, 0x23cf8              |         goto label_104;
                                             |     }
                                             |     do {
    0x00023cc8 lw t9, -0x7a38(gp)            |         t9 = sym.imp.memmove;
    0x00023ccc move a0, t0                   |         a0 = t0;
    0x00023cd0 move a2, fp                   |         a2 = fp;
    0x00023cd4 move a1, s3                   |         a1 = s3;
    0x00023cd8 jalr t9                       |         t9 ();
    0x00023cdc addiu s4, s4, 1               |         s4++;
    0x00023ce0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00023ce4 move t0, v0                   |         t0 = v0;
    0x00023ce8 sw s0, (s2)                   |         *(s2) = s0;
                                             |         if (s4 == s5) {
    0x00023cec beq s4, s5, 0x23d04           |             goto label_105;
                                             |         }
                                             | label_9:
    0x00023cf0 lw s0, (t0)                   |         s0 = *(t0);
    0x00023cf4 bnez s1, 0x23cc8              |         
                                             |     } while (s1 != 0);
                                             | label_104:
    0x00023cf8 addiu s4, s4, 1               |     s4++;
    0x00023cfc sw s0, (s2)                   |     *(s2) = s0;
                                             |     if (s4 != s5) {
    0x00023d00 bne s4, s5, 0x23cf0           |         goto label_9;
                                             |     }
                                             | label_105:
    0x00023d04 lw s0, 0x54(sp)               |     s0 = *(var_54h);
    0x00023d08 lw s4, 0x58(sp)               |     s4 = *(var_58h);
                                             | label_103:
    0x00023d0c lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00023d10 addiu s3, v0, 1               |     s3 = v0 + 1;
    0x00023d14 addu s7, s7, s3               |     s7 += s3;
    0x00023d18 b 0x239d0                     |     goto label_10;
                                             | label_94:
    0x00023d1c move fp, s0                   |     fp = s0;
                                             | label_91:
    0x00023d20 sw zero, 0x24(sp)             |     *(var_24h) = 0;
                                             | label_13:
    0x00023d24 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00023d28 sw s6, (v0)                   |     *(v0) = s6;
    0x00023d2c lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00023d30 sw fp, (v0)                   |     *(v0) = fp;
    0x00023d34 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x00023d38 sw s7, (v0)                   |     *(v0) = s7;
    0x00023d3c lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x00023d40 sw s5, (v0)                   |     *(v0) = s5;
    0x00023d44 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x00023d48 sw s4, (v0)                   |     *(v0) = s4;
    0x00023d4c b 0x23a40                     |     goto label_11;
                                             | label_87:
    0x00023d50 slt v0, s0, s5                |     v0 = (s0 < s5) ? 1 : 0;
                                             |     if (s4 != v0) {
    0x00023d54 bne s4, v0, 0x23964           |         goto label_6;
                                             |     }
    0x00023d58 addiu s5, s5, 1               |     s5++;
    0x00023d5c b 0x239e0                     |     goto label_12;
                                             | label_101:
    0x00023d60 lb v0, 1(a0)                  |     v0 = *((a0 + 1));
    0x00023d64 lw v0, 0x20(sp)               |     v0 = *(var_20h);
                                             |     if (v0 == 0) {
    0x00023d68 beqz v0, 0x24074              |         goto label_106;
                                             |     }
                                             | label_102:
    0x00023d6c lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
    0x00023d70 move fp, s0                   |     fp = s0;
    0x00023d74 jalr t9                       |     t9 ();
    0x00023d78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023d7c lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00023d80 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00023d84 jalr t9                       |     t9 ();
    0x00023d88 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x00023d8c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023d90 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x00023d94 beqz v0, 0x2443c              |         goto label_107;
                                             |     }
                                             | label_31:
    0x00023d98 lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x00023d9c lw a1, (s1)                   |     a1 = *(s1);
    0x00023da0 move a0, v0                   |     a0 = v0;
    0x00023da4 jalr t9                       |     t9 ();
    0x00023da8 addiu s4, zero, -4            |     s4 = -4;
    0x00023dac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023db0 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x00023db4 b 0x23d24                     |     goto label_13;
                                             | label_99:
    0x00023db8 move v0, s3                   |     v0 = s3;
    0x00023dbc move s3, s5                   |     s3 = s5;
    0x00023dc0 move s5, v0                   |     s5 = v0;
    0x00023dc4 sll s2, s5, 2                 |     s2 = s5 << 2;
    0x00023dc8 addu s1, s6, s2               |     s1 = s6 + s2;
    0x00023dcc lw a0, (s1)                   |     a0 = *(s1);
    0x00023dd0 lb v0, (a0)                   |     v0 = *(a0);
                                             |     if (a0 == 0) {
    0x00023dd4 bnel a0, zero, 0x23c38        |         goto label_14;
                                             |     }
                                             | label_100:
    0x00023dd8 move s4, zero                 |     s4 = 0;
                                             |     if (s7 < 0) {
    0x00023ddc bltz s7, 0x23960              |         goto label_0;
                                             |     }
    0x00023de0 lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x00023de4 lw t9, -0x7c38(gp)            |     t9 = sym.insert_arg;
    0x00023de8 move a2, s7                   |     a2 = s7;
    0x00023dec addiu a0, sp, 0x7c            |     a0 = sp + 0x7c;
    0x00023df0 addiu a3, zero, 1             |     a3 = 1;
    0x00023df4 addiu a1, a1, 0x4d60          |     a1 += 0x4d60;
    0x00023df8 bal 0x234a4                   |     sym_insert_arg ();
    0x00023dfc addiu s5, s3, 2               |     s5 = s3 + 2;
    0x00023e00 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x00023e04 sll s2, s5, 2                 |     s2 = s5 << 2;
    0x00023e08 addu s1, s6, s2               |     s1 = s6 + s2;
    0x00023e0c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023e10 lw a0, (s1)                   |     a0 = *(s1);
    0x00023e14 move s0, v0                   |     s0 = v0;
    0x00023e18 addiu s7, s7, 1               |     s7++;
                                             |     if (a0 != 0) {
    0x00023e1c bnez a0, 0x23c34              |         goto label_15;
                                             |     }
    0x00023e20 move s4, zero                 |     s4 = 0;
    0x00023e24 b 0x23960                     |     goto label_0;
                                             | label_88:
    0x00023e28 addu a3, s1, v0               |     a3 = s1 + v0;
    0x00023e2c sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x00023e30 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00023e34 sw zero, (v0)                 |     *(v0) = 0;
    0x00023e38 lb a2, (a3)                   |     a2 = *(a3);
    0x00023e3c lw s2, -0x7dd0(gp)            |     s2 = *(gp);
                                             |     if (a2 == 0) {
    0x00023e40 beqz a2, 0x24080              |         goto label_108;
                                             |     }
    0x00023e44 lw v0, 0x10(s2)               |     v0 = *((s2 + 4));
    0x00023e48 move v0, s2                   |     v0 = s2;
                                             |     if (v0 == 0) {
    0x00023e4c beqz v0, 0x23f50              |         goto label_109;
                                             |     }
    0x00023e50 move a0, zero                 |     a0 = 0;
    0x00023e54 addiu s3, zero, -1            |     s3 = -1;
    0x00023e58 b 0x23e68                     |     
                                             |     while (v1 == 0) {
                                             | label_16:
    0x00023e5c lw v1, 0x10(v0)               |         v1 = *((v0 + 4));
                                             | label_17:
    0x00023e60 addiu a0, a0, 1               |         a0++;
                                             |         if (v1 == 0) {
    0x00023e64 beqz v1, 0x23f44              |             goto label_110;
                                             |         }
                                             | label_19:
    0x00023e68 lw v1, (v0)                   |         v1 = *(v0);
    0x00023e6c beql v1, zero, 0x23e5c        |         
                                             |     }
    0x00023e70 addiu v0, v0, 0x18            |     v0 += 0x18;
    0x00023e74 lb a1, (v1)                   |     a1 = *(v1);
    0x00023e78 addiu v0, v0, 0x18            |     v0 += 0x18;
                                             |     if (a1 != a2) {
    0x00023e7c bne a1, a2, 0x23e5c           |         goto label_16;
                                             |     }
    0x00023e80 lb v1, 1(v1)                  |     v1 = *((v1 + 1));
                                             |     if (v1 == 0) {
    0x00023e84 beqz v1, 0x23f34              |         goto label_111;
                                             |     }
    0x00023e88 nop                           |     
    0x00023e8c lb a1, 1(a3)                  |     a1 = *((a3 + 1));
    0x00023e90 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
                                             |     if (a1 == v1) {
    0x00023e94 bnel a1, v1, 0x23e60          |         goto label_17;
                                             |     }
    0x00023e98 addiu v0, s4, 2               |     v0 = s4 + 2;
    0x00023e9c sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x00023ea0 move s3, a0                   |     s3 = a0;
    0x00023ea4 addu a3, s1, v0               |     a3 = s1 + v0;
    0x00023ea8 lb v1, 1(a3)                  |     v1 = *((a3 + 1));
                                             | label_20:
    0x00023eac addiu v0, zero, 0x2d          |     v0 = 0x2d;
    0x00023eb0 sll s4, s3, 1                 |     s4 = s3 << 1;
                                             |     if (v1 == v0) {
    0x00023eb4 beq v1, v0, 0x241b8           |         goto label_112;
                                             |     }
    0x00023eb8 addu v0, s4, s3               |     v0 = s4 + s3;
    0x00023ebc sll v0, v0, 3                 |     v0 <<= 3;
    0x00023ec0 addu v0, s2, v0               |     v0 = s2 + v0;
    0x00023ec4 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
                                             | label_29:
    0x00023ec8 addiu v1, zero, 4             |     v1 = 4;
                                             | label_28:
    0x00023ecc addiu v1, zero, 5             |     v1 = 5;
                                             |     if (v0 == v1) {
    0x00023ed0 beq v0, v1, 0x24104           |         goto label_113;
                                             |     }
    0x00023ed4 addiu a1, zero, 2             |     a1 = 2;
                                             |     if (v0 == v1) {
    0x00023ed8 beq v0, v1, 0x24468           |         goto label_114;
                                             |     }
    0x00023edc addiu v1, zero, -3            |     v1 = -3;
                                             |     if (v0 == a1) {
    0x00023ee0 beq v0, a1, 0x24610           |         goto label_115;
                                             |     }
    0x00023ee4 and v0, v0, v1                |     v0 &= v1;
    0x00023ee8 addiu v1, zero, 1             |     v1 = 1;
    0x00023eec lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (v0 == v1) {
    0x00023ef0 beq v0, v1, 0x24338           |         goto label_116;
                                             |     }
                                             | label_27:
    0x00023ef4 addu v0, s4, s3               |     v0 = s4 + s3;
                                             | label_38:
    0x00023ef8 sll v0, v0, 3                 |     v0 <<= 3;
    0x00023efc addu s2, s2, v0               |     s2 += v0;
    0x00023f00 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00023f04 lw v1, 0x10(s2)               |     v1 = *((s2 + 4));
    0x00023f08 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x00023f0c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00023f10 sw s3, (a0)                   |     *(a0) = s3;
                                             |     if (v1 == v0) {
    0x00023f14 beq v1, v0, 0x24858           |         goto label_47;
                                             |     }
                                             | label_21:
    0x00023f18 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00023f1c lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
                                             |     if (v0 != 0) {
    0x00023f20 bnez v0, 0x250c0              |         goto label_117;
                                             |     }
    0x00023f24 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x00023f28 addiu s4, zero, -2            |     s4 = -2;
    0x00023f2c lw v0, (v0)                   |     v0 = *(v0);
    0x00023f30 b 0x23934                     |     goto label_18;
                                             | label_111:
    0x00023f34 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
    0x00023f38 move s3, a0                   |     s3 = a0;
    0x00023f3c addiu a0, a0, 1               |     a0++;
                                             |     if (v1 != 0) {
    0x00023f40 bnez v1, 0x23e68              |         goto label_19;
                                             |     }
                                             | label_110:
    0x00023f44 addiu v0, zero, -1            |     v0 = -1;
    0x00023f48 lb v1, 1(a3)                  |     v1 = *((a3 + 1));
                                             |     if (s3 == v0) {
    0x00023f4c bnel s3, v0, 0x23eac          |         goto label_20;
                                             |     }
                                             | label_109:
    0x00023f50 lw s1, 0x5c(sp)               |     s1 = *(var_5ch);
    0x00023f54 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00023f58 lw a3, 0x6c(sp)               |     a3 = *(var_6ch);
    0x00023f5c sw a2, 0x10(sp)               |     *(var_10h) = a2;
    0x00023f60 addiu a1, zero, 1             |     a1 = 1;
    0x00023f64 addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x00023f68 move a0, s1                   |     a0 = s1;
    0x00023f6c jalr t9                       |     t9 ();
    0x00023f70 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
    0x00023f74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023f78 lw t4, 0x60(sp)               |     t4 = *(var_60h);
                                             |     if (v0 > 0) {
    0x00023f7c bgtz v0, 0x2401c              |         goto label_26;
                                             |     }
    0x00023f80 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
    0x00023f84 move a1, s1                   |     a1 = s1;
    0x00023f88 addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00023f8c sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00023f90 bal 0xd694                    |     sym_ziperr ();
    0x00023f94 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00023f98 b 0x23f18                     |     goto label_21;
                                             | label_68:
    0x00023f9c lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00023fa0 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00023fa4 sw zero, (v0)                 |     *(v0) = 0;
    0x00023fa8 b 0x23a40                     |     goto label_11;
                                             | label_78:
    0x00023fac sll v0, s7, 2                 |     v0 = s7 << 2;
                                             |     if (s7 < 0) {
    0x00023fb0 bltz s7, 0x239dc              |         goto label_22;
                                             |     }
    0x00023fb4 addu t0, s6, v0               |     t0 = s6 + v0;
    0x00023fb8 lw s3, (t0)                   |     s3 = *(t0);
    0x00023fbc addiu v1, zero, -3            |     v1 = -3;
                                             |     if (s3 != 0) {
    0x00023fc0 bnez s3, 0x23c70              |         goto label_23;
                                             |     }
    0x00023fc4 addiu s5, s5, 1               |     s5++;
    0x00023fc8 b 0x239e0                     |     goto label_12;
                                             | label_62:
    0x00023fcc addiu v0, zero, -1            |     v0 = -1;
    0x00023fd0 lw s0, 0x50(sp)               |     s0 = *(var_50h);
    0x00023fd4 move v1, s3                   |     v1 = s3;
                                             |     if (s3 != v0) {
    0x00023fd8 bne s3, v0, 0x24c14           |         goto label_118;
                                             |     }
    0x00023fdc lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x00023fe0 lw t4, -0x7f7c(gp)            |     t4 = *((gp - 8159));
    0x00023fe4 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
                                             |     /* str.long_option__s_not_supported */
    0x00023fe8 addiu a3, a3, 0x7b90          |     a3 += 0x7b90;
                                             | label_64:
    0x00023fec addiu a0, t4, -0x588c         |     a0 = t4 + -0x588c;
    0x00023ff0 sw t4, 0x20(sp)               |     *(var_20h) = t4;
    0x00023ff4 addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x00023ff8 addiu a1, zero, 1             |     a1 = 1;
    0x00023ffc sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x00024000 jalr t9                       |     t9 ();
    0x00024004 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024008 lw t9, -0x7a3c(gp)            |     t9 = sym.imp.free;
    0x0002400c lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x00024010 jalr t9                       |     t9 ();
    0x00024014 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024018 lw t4, 0x20(sp)               |     t4 = *(var_20h);
                                             | label_26:
    0x0002401c lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x00024020 lw t9, -0x7edc(gp)            |     t9 = sym.zipwarn;
    0x00024024 addiu a1, a1, 0x66d4          |     a1 += 0x66d4;
    0x00024028 addiu a0, t4, -0x588c         |     a0 = t4 + -0x588c;
    0x0002402c bal 0xe4c4                    |     sym_zipwarn ();
    0x00024030 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x00024034 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024038 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0002403c b 0x23a40                     |     goto label_11;
                                             | label_95:
    0x00024040 slt v1, s0, s7                |     v1 = (s0 < s7) ? 1 : 0;
    0x00024044 addiu s3, v0, 4               |     s3 = v0 + 4;
                                             |     if (v1 != 0) {
    0x00024048 bnez v1, 0x2488c              |         goto label_119;
                                             |     }
    0x0002404c addu s3, s6, s3               |     s3 = s6 + s3;
    0x00024050 lw s1, (s3)                   |     s1 = *(s3);
    0x00024054 move fp, s7                   |     fp = s7;
                                             |     if (s1 != 0) {
    0x00024058 bnez s1, 0x23bf4              |         goto label_24;
                                             |     }
    0x0002405c move s2, fp                   |     s2 = fp;
                                             | label_96:
    0x00024060 move s7, s5                   |     s7 = s5;
    0x00024064 move fp, s0                   |     fp = s0;
    0x00024068 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x0002406c move s5, s2                   |     s5 = s2;
    0x00024070 b 0x23d24                     |     goto label_13;
                                             | label_106:
    0x00024074 addiu s4, zero, -6            |     s4 = -6;
    0x00024078 lw v0, (v0)                   |     v0 = *(v0);
    0x0002407c b 0x23934                     |     goto label_18;
                                             | label_108:
    0x00024080 lw v1, 0x28(sp)               |     v1 = *(var_28h);
    0x00024084 addiu v0, zero, -1            |     v0 = -1;
    0x00024088 move fp, s0                   |     fp = s0;
    0x0002408c sw v0, (v1)                   |     *(v1) = v0;
    0x00024090 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00024094 addiu s4, zero, -2            |     s4 = -2;
    0x00024098 b 0x23928                     |     goto label_25;
                                             | label_79:
    0x0002409c move fp, s0                   |     fp = s0;
    0x000240a0 b 0x23d24                     |     goto label_13;
                                             | label_83:
    0x000240a4 move a0, s1                   |     a0 = s1;
    0x000240a8 jalr t9                       |     t9 ();
    0x000240ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000240b0 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x000240b4 lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x000240b8 move fp, s0                   |     fp = s0;
    0x000240bc jalr t9                       |     t9 ();
    0x000240c0 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x000240c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000240c8 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x000240cc beqz v0, 0x24418              |         goto label_120;
                                             |     }
                                             | label_30:
    0x000240d0 lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x000240d4 move a1, s1                   |     a1 = s1;
    0x000240d8 move a0, v0                   |     a0 = v0;
    0x000240dc jalr t9                       |     t9 ();
    0x000240e0 lw v1, 0x28(sp)               |     v1 = *(var_28h);
    0x000240e4 addiu v0, zero, -1            |     v0 = -1;
    0x000240e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000240ec sw v0, (v1)                   |     *(v1) = v0;
    0x000240f0 ori v0, zero, 0xffff          |     v0 = 0xffff;
    0x000240f4 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x000240f8 addiu s4, zero, -5            |     s4 = -5;
    0x000240fc sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00024100 b 0x23d24                     |     goto label_13;
                                             | label_113:
    0x00024104 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00024108 addiu s6, v0, 1               |     s6 = v0 + 1;
    0x0002410c addu s1, s1, s6               |     s1 += s6;
    0x00024110 lb v0, (s1)                   |     v0 = *(s1);
    0x00024114 addu v0, s4, s3               |     v0 = s4 + s3;
                                             |     if (v0 != 0) {
    0x00024118 bnez v0, 0x243e0              |         goto label_121;
                                             |     }
    0x0002411c sll v0, v0, 3                 |     v0 <<= 3;
    0x00024120 addu v0, s2, v0               |     v0 = s2 + v0;
    0x00024124 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00024128 lw a0, 0x14(v0)               |     a0 = *((v0 + 5));
    0x0002412c lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (a0 == 0) {
    0x00024130 beqz a0, 0x24544              |         goto label_122;
                                             |     }
    0x00024134 lb v1, (a0)                   |     v1 = *(a0);
    0x00024138 addiu v1, sp, 0x80            |     v1 = sp + 0x80;
                                             |     if (v1 == 0) {
    0x0002413c beqz v1, 0x24548              |         goto label_123;
                                             |     }
    0x00024140 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00024144 lw v0, 0x68(sp)               |     v0 = *(var_68h);
    0x00024148 sw a0, 0x14(sp)               |     *(var_14h) = a0;
    0x0002414c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00024150 move a0, v1                   |     a0 = v1;
    0x00024154 addiu a3, v0, 0x75ac          |     a3 = v0 + 0x75ac;
    0x00024158 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x0002415c addiu a1, zero, 1             |     a1 = 1;
    0x00024160 jalr t9                       |     t9 ();
    0x00024164 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024168 lw v1, 0x24(sp)               |     v1 = *(var_24h);
                                             | label_33:
    0x0002416c lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x00024170 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00024174 sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.option__s_requires_one_character_value */
    0x00024178 addiu a3, a3, 0x7bec          |     a3 += 0x7bec;
                                             | label_36:
    0x0002417c lw s1, 0x5c(sp)               |     s1 = *(var_5ch);
    0x00024180 addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x00024184 addiu a1, zero, 1             |     a1 = 1;
    0x00024188 move a0, s1                   |     a0 = s1;
    0x0002418c jalr t9                       |     t9 ();
    0x00024190 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
    0x00024194 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024198 lw t4, 0x60(sp)               |     t4 = *(var_60h);
                                             |     if (v0 > 0) {
    0x0002419c bgtz v0, 0x2401c              |         goto label_26;
                                             |     }
    0x000241a0 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
    0x000241a4 move a1, s1                   |     a1 = s1;
    0x000241a8 addiu a0, zero, 0x10          |     a0 = 0x10;
    0x000241ac bal 0xd694                    |     sym_ziperr ();
    0x000241b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000241b4 b 0x23ef4                     |     goto label_27;
                                             | label_112:
    0x000241b8 addu v1, s4, s3               |     v1 = s4 + s3;
    0x000241bc sll v1, v1, 3                 |     v1 <<= 3;
    0x000241c0 addu v1, s2, v1               |     v1 = s2 + v1;
    0x000241c4 lw v0, 0xc(v1)                |     v0 = *((v1 + 3));
    0x000241c8 lw a0, 0x48(sp)               |     a0 = *(var_48h);
                                             |     if (v0 != 0) {
    0x000241cc bnez v0, 0x24308              |         goto label_124;
                                             |     }
    0x000241d0 lw v0, 8(v1)                  |     v0 = *((v1 + 2));
    0x000241d4 addiu v1, zero, 4             |     v1 = 4;
                                             |     if (v0 == 0) {
    0x000241d8 bnel v0, zero, 0x23ecc        |         goto label_28;
                                             |     }
    0x000241dc lw v0, 0x14(v1)               |     v0 = *((v1 + 5));
    0x000241e0 lw a0, (v1)                   |     a0 = *(v1);
    0x000241e4 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
                                             |     if (v0 == 0) {
    0x000241e8 beqz v0, 0x24860              |         goto label_125;
                                             |     }
    0x000241ec lb v1, (v0)                   |     v1 = *(v0);
    0x000241f0 addiu v1, sp, 0x80            |     v1 = sp + 0x80;
                                             |     if (v1 == 0) {
    0x000241f4 beqz v1, 0x24864              |         goto label_126;
                                             |     }
    0x000241f8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000241fc lw v0, 0x68(sp)               |     v0 = *(var_68h);
    0x00024200 sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x00024204 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00024208 move a0, v1                   |     a0 = v1;
    0x0002420c addiu a3, v0, 0x75ac          |     a3 = v0 + 0x75ac;
    0x00024210 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x00024214 addiu a1, zero, 1             |     a1 = 1;
    0x00024218 jalr t9                       |     t9 ();
    0x0002421c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024220 lw v1, 0x24(sp)               |     v1 = *(var_24h);
                                             | label_40:
    0x00024224 lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x00024228 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x0002422c lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
    0x00024230 sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.option__s_not_negatable */
    0x00024234 addiu a3, a3, 0x7c74          |     a3 += 0x7c74;
    0x00024238 addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x0002423c addiu a1, zero, 1             |     a1 = 1;
    0x00024240 jalr t9                       |     t9 ();
    0x00024244 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
    0x00024248 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002424c lw t4, 0x60(sp)               |     t4 = *(var_60h);
                                             |     if (v0 > 0) {
    0x00024250 bgtz v0, 0x2401c              |         goto label_26;
                                             |     }
    0x00024254 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
    0x00024258 lw a1, 0x5c(sp)               |     a1 = *(var_5ch);
    0x0002425c addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00024260 bal 0xd694                    |     sym_ziperr ();
    0x00024264 addu v0, s4, s3               |     v0 = s4 + s3;
    0x00024268 sll v0, v0, 3                 |     v0 <<= 3;
    0x0002426c addu v0, s2, v0               |     v0 = s2 + v0;
    0x00024270 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024274 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00024278 b 0x23ec8                     |     goto label_29;
                                             | label_97:
    0x0002427c move fp, s0                   |     fp = s0;
                                             | label_66:
    0x00024280 addiu v0, zero, -5            |     v0 = -5;
                                             |     if (s4 != v0) {
    0x00024284 beql s4, v0, 0x2428c          |         
    0x00024288 addiu s7, s7, 1               |         s7++;
                                             |     }
    0x0002428c slt v0, fp, s7                |     v0 = (fp < s7) ? 1 : 0;
    0x00024290 move v0, s7                   |     v0 = s7;
                                             |     if (v0 != 0) {
    0x00024294 bnel v0, zero, 0x24328        |         
    0x00024298 sll s2, s7, 2                 |         s2 = s7 << 2;
    0x0002429c addu s0, s6, s2               |         s0 = s6 + s2;
    0x000242a0 lw a0, (s0)                   |         a0 = *(s0);
    0x000242a4 lw t9, -0x7ae0(gp)            |         t9 = sym.imp.strlen;
                                             |         if (a0 != 0) {
    0x000242a8 beqz a0, 0x24324              |             
    0x000242ac jalr t9                       |             t9 ();
    0x000242b0 nop                           |             
    0x000242b4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000242b8 lw t9, -0x7ab4(gp)            |             t9 = sym.imp.malloc;
    0x000242bc addiu a0, v0, 1               |             a0 = v0 + 1;
    0x000242c0 jalr t9                       |             t9 ();
    0x000242c4 lw v1, 0x2c(sp)               |             v1 = *(var_2ch);
    0x000242c8 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000242cc sw v0, (v1)                   |             *(v1) = v0;
                                             |             if (v0 == 0) {
    0x000242d0 beqz v0, 0x24a94              |                 goto label_127;
                                             |             }
                                             | label_49:
    0x000242d4 lw t9, -0x7a9c(gp)            |             t9 = sym.imp.strcpy;
    0x000242d8 lw a1, (s0)                   |             a1 = *(s0);
    0x000242dc move a0, v0                   |             a0 = v0;
    0x000242e0 jalr t9                       |             t9 ();
    0x000242e4 move v0, s7                   |             v0 = s7;
    0x000242e8 move s7, s5                   |             s7 = s5;
    0x000242ec move s5, v0                   |             s5 = v0;
    0x000242f0 ori v0, zero, 0xffff          |             v0 = 0xffff;
    0x000242f4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000242f8 lw s6, 0x7c(sp)               |             s6 = *(var_7ch);
    0x000242fc addiu s4, zero, -5            |             s4 = -5;
    0x00024300 sw v0, 0x24(sp)               |             *(var_24h) = v0;
    0x00024304 b 0x23d24                     |             goto label_13;
                                             | label_124:
    0x00024308 addiu v0, zero, 1             |             v0 = 1;
    0x0002430c sw v0, (a0)                   |             *(a0) = v0;
    0x00024310 lw v0, 8(v1)                  |             v0 = *((v1 + 2));
    0x00024314 lw v1, 0x50(sp)               |             v1 = *(var_50h);
    0x00024318 addiu v1, v1, 1               |             v1++;
    0x0002431c sw v1, 0x50(sp)               |             *(var_50h) = v1;
    0x00024320 b 0x23ec8                     |             goto label_29;
                                             |         }
    0x00024324 move v0, s7                   |         v0 = s7;
                                             |     }
    0x00024328 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x0002432c move s7, s5                   |     s7 = s5;
    0x00024330 move s5, v0                   |     s5 = v0;
    0x00024334 b 0x23d24                     |     goto label_13;
                                             | label_116:
    0x00024338 addu v1, s1, v1               |     v1 = s1 + v1;
    0x0002433c lb a0, 1(v1)                  |     a0 = *((v1 + 1));
    0x00024340 lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (a0 != 0) {
    0x00024344 bnez a0, 0x2474c              |         goto label_128;
                                             |     }
    0x00024348 addiu s1, fp, 1               |     s1 = fp + 1;
    0x0002434c sll s1, s1, 2                 |     s1 <<= 2;
    0x00024350 addu s1, s6, s1               |     s1 = s6 + s1;
    0x00024354 lw a0, (s1)                   |     a0 = *(s1);
    0x00024358 lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
                                             |     if (a0 == 0) {
    0x0002435c beqz a0, 0x246e4              |         goto label_129;
                                             |     }
    0x00024360 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x00024364 jalr t9                       |     t9 ();
    0x00024368 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002436c addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00024370 lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00024374 move fp, s0                   |     fp = s0;
    0x00024378 jalr t9                       |     t9 ();
    0x0002437c lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x00024380 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024384 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x00024388 beqz v0, 0x24a2c              |         goto label_130;
                                             |     }
                                             | label_48:
    0x0002438c lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x00024390 lw a1, (s1)                   |     a1 = *(s1);
    0x00024394 move a0, v0                   |     a0 = v0;
    0x00024398 jalr t9                       |     t9 ();
    0x0002439c addu v0, s4, s3               |     v0 = s4 + s3;
    0x000243a0 lw v1, 0x20(sp)               |     v1 = *(var_20h);
    0x000243a4 sll v0, v0, 3                 |     v0 <<= 3;
    0x000243a8 addu s4, v1, v0               |     s4 = v1 + v0;
    0x000243ac addiu v0, zero, 3             |     v0 = 3;
    0x000243b0 lw a0, 8(s4)                  |     a0 = *((s4 + 2));
    0x000243b4 lw v1, 0x10(s4)               |     v1 = *((s4 + 4));
    0x000243b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000243bc sw v1, 0x24(sp)               |     *(var_24h) = v1;
                                             |     if (a0 == v0) {
    0x000243c0 beq a0, v0, 0x24a10           |         goto label_131;
                                             |     }
    0x000243c4 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x000243c8 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x000243cc sw s3, (a0)                   |     *(a0) = s3;
                                             |     if (v1 == v0) {
    0x000243d0 beq v1, v0, 0x24858           |         goto label_47;
                                             |     }
                                             | label_39:
    0x000243d4 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x000243d8 addiu s4, zero, -1            |     s4 = -1;
    0x000243dc b 0x23d24                     |     goto label_13;
                                             | label_121:
    0x000243e0 lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x000243e4 addiu a0, zero, 2             |     a0 = 2;
    0x000243e8 jalr t9                       |     t9 ();
    0x000243ec lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x000243f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000243f4 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x000243f8 beqz v0, 0x249c8              |         goto label_132;
                                             |     }
                                             | label_45:
    0x000243fc lb v1, (s1)                   |     v1 = *(s1);
    0x00024400 sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x00024404 sb v1, (v0)                   |     *(v0) = v1;
    0x00024408 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x0002440c lw v0, (v0)                   |     v0 = *(v0);
    0x00024410 sb zero, 1(v0)                |     *((v0 + 1)) = 0;
    0x00024414 b 0x23ef4                     |     goto label_27;
                                             | label_120:
    0x00024418 lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x0002441c lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'go' */
    0x00024420 addiu a1, a1, 0x7b78          |     a1 += 0x7b78;
    0x00024424 addiu a0, zero, 4             |     a0 = 4;
    0x00024428 bal 0xd694                    |     sym_ziperr ();
    0x0002442c lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00024430 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024434 lw v0, (v0)                   |     v0 = *(v0);
    0x00024438 b 0x240d0                     |     goto label_30;
                                             | label_107:
    0x0002443c lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x00024440 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'go' */
    0x00024444 addiu a1, a1, 0x7b78          |     a1 += 0x7b78;
    0x00024448 addiu a0, zero, 4             |     a0 = 4;
    0x0002444c bal 0xd694                    |     sym_ziperr ();
    0x00024450 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00024454 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x00024458 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002445c lw v0, (v0)                   |     v0 = *(v0);
    0x00024460 addu s1, s6, s2               |     s1 = s6 + s2;
    0x00024464 b 0x23d98                     |     goto label_31;
                                             | label_114:
    0x00024468 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0002446c addiu v1, zero, 0x2b          |     v1 = 0x2b;
    0x00024470 addiu v0, v0, 1               |     v0++;
    0x00024474 addu s1, s1, v0               |     s1 += v0;
    0x00024478 lb v0, (s1)                   |     v0 = *(s1);
    0x0002447c addiu v1, zero, 0x2d          |     v1 = 0x2d;
                                             |     if (v0 == v1) {
    0x00024480 beq v0, v1, 0x2453c           |         goto label_133;
                                             |     }
    0x00024484 addiu fp, s1, 1               |     fp = s1 + 1;
                                             |     if (v0 != v1) {
    0x00024488 beq v0, v1, 0x24490           |         
    0x0002448c move fp, s1                   |         fp = s1;
                                             |     }
                                             | label_32:
    0x00024490 lw t9, -0x7b98(gp)            |     t9 = sym.imp.__ctype_b_loc;
    0x00024494 move s6, fp                   |     s6 = fp;
    0x00024498 jalr t9                       |     t9 ();
    0x0002449c lb a0, (fp)                   |     a0 = *(fp);
    0x000244a0 lw v1, (v0)                   |     v1 = *(v0);
    0x000244a4 sll v0, a0, 1                 |     v0 = a0 << 1;
    0x000244a8 addu v0, v1, v0               |     v0 = v1 + v0;
    0x000244ac lhu v0, (v0)                  |     v0 = *(v0);
    0x000244b0 andi v0, v0, 0x800            |     v0 &= 0x800;
    0x000244b4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000244b8 beqz v0, 0x24570              |         goto label_134;
                                             |     }
    0x000244bc addiu s6, s6, 1               |     s6++;
                                             |     do {
    0x000244c0 lb v0, (s6)                   |         v0 = *(s6);
    0x000244c4 sll v0, v0, 1                 |         v0 <<= 1;
    0x000244c8 addu v0, v1, v0               |         v0 = v1 + v0;
    0x000244cc lhu v0, (v0)                  |         v0 = *(v0);
    0x000244d0 andi v0, v0, 0x800            |         v0 &= 0x800;
    0x000244d4 addiu s6, s6, 1               |         s6++;
    0x000244d8 bnel v0, zero, 0x244c0        |         
                                             |     } while (v0 == 0);
    0x000244dc addu v0, s4, s3               |     v0 = s4 + s3;
                                             |     if (s6 != fp) {
    0x000244e0 beq s6, fp, 0x24574           |         
                                             | label_34:
    0x000244e4 lw t9, -0x7ab4(gp)            |         t9 = sym.imp.malloc;
    0x000244e8 subu s6, s6, s1               |         __asm ("subu s6, s6, s1");
    0x000244ec addiu a0, s6, 1               |         a0 = s6 + 1;
    0x000244f0 jalr t9                       |         t9 ();
    0x000244f4 lw v1, 0x2c(sp)               |         v1 = *(var_2ch);
    0x000244f8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000244fc sw v0, (v1)                   |         *(v1) = v0;
                                             |         if (v0 == 0) {
    0x00024500 beqz v0, 0x249a4              |             goto label_135;
                                             |         }
                                             | label_44:
    0x00024504 lw t9, -0x7b0c(gp)            |         t9 = sym.imp.strncpy;
    0x00024508 move a2, s6                   |         a2 = s6;
    0x0002450c move a1, s1                   |         a1 = s1;
    0x00024510 move a0, v0                   |         a0 = v0;
    0x00024514 jalr t9                       |         t9 ();
    0x00024518 lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x0002451c lw v1, 0x50(sp)               |         v1 = *(var_50h);
    0x00024520 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024524 lw v0, (v0)                   |         v0 = *(v0);
    0x00024528 addu v1, v1, s6               |         v1 += s6;
    0x0002452c addu s6, v0, s6               |         s6 = v0 + s6;
    0x00024530 sw v1, 0x50(sp)               |         *(var_50h) = v1;
    0x00024534 sb zero, (s6)                 |         *(s6) = 0;
    0x00024538 b 0x23ef4                     |         goto label_27;
                                             | label_133:
    0x0002453c addiu fp, s1, 1               |         fp = s1 + 1;
    0x00024540 b 0x24490                     |         goto label_32;
                                             | label_122:
    0x00024544 addiu v1, sp, 0x80            |         v1 = sp + 0x80;
                                             | label_123:
    0x00024548 lw a3, 0x64(sp)               |         a3 = *(var_64h);
    0x0002454c move a0, v1                   |         a0 = v1;
    0x00024550 sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x00024554 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00024558 addiu a2, zero, 0x32          |         a2 = 0x32;
    0x0002455c addiu a1, zero, 1             |         a1 = 1;
    0x00024560 jalr t9                       |         t9 ();
    0x00024564 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024568 lw v1, 0x24(sp)               |         v1 = *(var_24h);
    0x0002456c b 0x2416c                     |         goto label_33;
                                             | label_134:
    0x00024570 addu v0, s4, s3               |         v0 = s4 + s3;
                                             |     }
    0x00024574 sll v0, v0, 3                 |     v0 <<= 3;
    0x00024578 addu v0, s2, v0               |     v0 = s2 + v0;
    0x0002457c lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00024580 lw a0, 0x14(v0)               |     a0 = *((v0 + 5));
    0x00024584 lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (a0 == 0) {
    0x00024588 beqz a0, 0x246b8              |         goto label_136;
                                             |     }
    0x0002458c lb v1, (a0)                   |     v1 = *(a0);
    0x00024590 addiu v1, sp, 0x80            |     v1 = sp + 0x80;
                                             |     if (v1 == 0) {
    0x00024594 beqz v1, 0x246bc              |         goto label_137;
                                             |     }
    0x00024598 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002459c lw v0, 0x68(sp)               |     v0 = *(var_68h);
    0x000245a0 sw a0, 0x14(sp)               |     *(var_14h) = a0;
    0x000245a4 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x000245a8 move a0, v1                   |     a0 = v1;
    0x000245ac addiu a3, v0, 0x75ac          |     a3 = v0 + 0x75ac;
    0x000245b0 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x000245b4 addiu a1, zero, 1             |     a1 = 1;
    0x000245b8 jalr t9                       |     t9 ();
    0x000245bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000245c0 lw v1, 0x24(sp)               |     v1 = *(var_24h);
                                             | label_35:
    0x000245c4 lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x000245c8 lw fp, 0x5c(sp)               |     fp = *(var_5ch);
    0x000245cc lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x000245d0 sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.option__s_requires_number_value */
    0x000245d4 addiu a3, a3, 0x7bcc          |     a3 += 0x7bcc;
    0x000245d8 addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x000245dc addiu a1, zero, 1             |     a1 = 1;
    0x000245e0 move a0, fp                   |     a0 = fp;
    0x000245e4 jalr t9                       |     t9 ();
    0x000245e8 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
    0x000245ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000245f0 lw t4, 0x60(sp)               |     t4 = *(var_60h);
                                             |     if (v0 > 0) {
    0x000245f4 bgtz v0, 0x2401c              |         goto label_26;
                                             |     }
    0x000245f8 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
    0x000245fc move a1, fp                   |     a1 = fp;
    0x00024600 addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00024604 bal 0xd694                    |     sym_ziperr ();
    0x00024608 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002460c b 0x244e4                     |     goto label_34;
                                             | label_115:
    0x00024610 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00024614 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00024618 addu a0, s1, a0               |     a0 = s1 + a0;
    0x0002461c lb v0, (a0)                   |     v0 = *(a0);
                                             |     if (v0 == 0) {
    0x00024620 beql v0, zero, 0x247c8        |         goto label_138;
                                             |     }
    0x00024624 addiu s1, fp, 1               |     s1 = fp + 1;
    0x00024628 addiu a1, zero, 0x3d          |     a1 = 0x3d;
    0x0002462c move fp, s0                   |     fp = s0;
    0x00024630 sw s2, 0x20(sp)               |     *(var_20h) = s2;
                                             |     if (v0 == a1) {
    0x00024634 beq v0, a1, 0x24a50           |         goto label_139;
                                             |     }
    0x00024638 addiu s2, zero, 1             |     s2 = 1;
                                             | label_67:
    0x0002463c lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
    0x00024640 jalr t9                       |     t9 ();
    0x00024644 nop                           |     
    0x00024648 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002464c lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00024650 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00024654 jalr t9                       |     t9 ();
    0x00024658 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x0002465c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024660 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x00024664 beqz v0, 0x24f04              |         goto label_140;
                                             |     }
                                             | label_58:
    0x00024668 lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x0002466c lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x00024670 addu a1, v1, s2               |     a1 = v1 + s2;
    0x00024674 addu a1, s1, a1               |     a1 = s1 + a1;
                                             |     do {
                                             | label_37:
    0x00024678 move a0, v0                   |         a0 = v0;
    0x0002467c jalr t9                       |         t9 ();
    0x00024680 addu v0, s4, s3               |         v0 = s4 + s3;
    0x00024684 lw v1, 0x20(sp)               |         v1 = *(var_20h);
    0x00024688 sll v0, v0, 3                 |         v0 <<= 3;
    0x0002468c addu s4, v1, v0               |         s4 = v1 + v0;
    0x00024690 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00024694 lw v1, 0x10(s4)               |         v1 = *((s4 + 4));
    0x00024698 ori v0, zero, 0xfffe          |         v0 = 0xfffe;
    0x0002469c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000246a0 sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x000246a4 sw s3, (a0)                   |         *(a0) = s3;
                                             |         if (v1 == v0) {
    0x000246a8 beq v1, v0, 0x24858           |             goto label_47;
                                             |         }
    0x000246ac lw s6, 0x7c(sp)               |         s6 = *(var_7ch);
    0x000246b0 addiu s4, zero, -2            |         s4 = -2;
    0x000246b4 b 0x23d24                     |         goto label_13;
                                             | label_136:
    0x000246b8 addiu v1, sp, 0x80            |         v1 = sp + 0x80;
                                             | label_137:
    0x000246bc lw a3, 0x64(sp)               |         a3 = *(var_64h);
    0x000246c0 move a0, v1                   |         a0 = v1;
    0x000246c4 sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x000246c8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000246cc addiu a2, zero, 0x32          |         a2 = 0x32;
    0x000246d0 addiu a1, zero, 1             |         a1 = 1;
    0x000246d4 jalr t9                       |         t9 ();
    0x000246d8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000246dc lw v1, 0x24(sp)               |         v1 = *(var_24h);
    0x000246e0 b 0x245c4                     |         goto label_35;
                                             | label_129:
    0x000246e4 addu v0, s4, s3               |         v0 = s4 + s3;
    0x000246e8 sll v0, v0, 3                 |         v0 <<= 3;
    0x000246ec addu v0, s2, v0               |         v0 = s2 + v0;
    0x000246f0 lw t9, -0x7ba0(gp)            |         t9 = sym.imp.__sprintf_chk;
    0x000246f4 lw a0, 0x14(v0)               |         a0 = *((v0 + 5));
    0x000246f8 lw v0, (v0)                   |         v0 = *(v0);
                                             |         if (a0 == 0) {
    0x000246fc beqz a0, 0x248a4              |             goto label_141;
                                             |         }
    0x00024700 lb v1, (a0)                   |         v1 = *(a0);
    0x00024704 addiu v1, sp, 0x80            |         v1 = sp + 0x80;
                                             |         if (v1 == 0) {
    0x00024708 beqz v1, 0x248a8              |             goto label_142;
                                             |         }
    0x0002470c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00024710 lw v0, 0x68(sp)               |         v0 = *(var_68h);
    0x00024714 sw a0, 0x14(sp)               |         *(var_14h) = a0;
    0x00024718 sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x0002471c move a0, v1                   |         a0 = v1;
    0x00024720 addiu a3, v0, 0x75ac          |         a3 = v0 + 0x75ac;
    0x00024724 addiu a2, zero, 0x32          |         a2 = 0x32;
    0x00024728 addiu a1, zero, 1             |         a1 = 1;
    0x0002472c jalr t9                       |         t9 ();
    0x00024730 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024734 lw v1, 0x24(sp)               |         v1 = *(var_24h);
                                             | label_41:
    0x00024738 lw v0, 0x70(sp)               |         v0 = *(var_70h);
    0x0002473c lw t9, -0x7ba0(gp)            |         t9 = sym.imp.__sprintf_chk;
    0x00024740 sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x00024744 addiu a3, v0, 0x7c58          |         a3 = v0 + 0x7c58;
    0x00024748 b 0x2417c                     |         goto label_36;
                                             | label_128:
    0x0002474c xori a0, a0, 0x3d             |         a0 ^= 0x3d;
                                             |         if (a0 != 0) {
    0x00024750 movz v0, a1, a0               |             v0 = a1;
                                             |         }
    0x00024754 move fp, s0                   |         fp = s0;
    0x00024758 addu s0, v1, v0               |         s0 = v1 + v0;
    0x0002475c lw t9, -0x7ae0(gp)            |         t9 = sym.imp.strlen;
    0x00024760 addu s0, s1, s0               |         s0 = s1 + s0;
    0x00024764 move a0, s0                   |         a0 = s0;
    0x00024768 sw s2, 0x20(sp)               |         *(var_20h) = s2;
    0x0002476c jalr t9                       |         t9 ();
    0x00024770 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024774 lw t9, -0x7ab4(gp)            |         t9 = sym.imp.malloc;
    0x00024778 addiu a0, v0, 1               |         a0 = v0 + 1;
    0x0002477c jalr t9                       |         t9 ();
    0x00024780 lw v1, 0x2c(sp)               |         v1 = *(var_2ch);
    0x00024784 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024788 sw v0, (v1)                   |         *(v1) = v0;
                                             |         if (v0 == 0) {
    0x0002478c beqz v0, 0x2479c              |             goto label_143;
                                             |         }
    0x00024790 lw t9, -0x7a9c(gp)            |         t9 = sym.imp.strcpy;
    0x00024794 move a1, s0                   |         a1 = s0;
    0x00024798 b 0x24678                     |         
                                             |     } while (1);
                                             | label_143:
    0x0002479c lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x000247a0 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'gso' */
    0x000247a4 addiu a1, a1, 0x7b80          |     a1 += 0x7b80;
    0x000247a8 addiu a0, zero, 4             |     a0 = 4;
    0x000247ac bal 0xd694                    |     sym_ziperr ();
    0x000247b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000247b4 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x000247b8 move a1, s0                   |     a1 = s0;
    0x000247bc lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x000247c0 lw v0, (v0)                   |     v0 = *(v0);
    0x000247c4 b 0x24678                     |     goto label_37;
                                             | label_138:
    0x000247c8 sll s1, s1, 2                 |     s1 <<= 2;
    0x000247cc addu s1, s6, s1               |     s1 = s6 + s1;
    0x000247d0 lw a0, (s1)                   |     a0 = *(s1);
    0x000247d4 addiu v0, zero, 0x2d          |     v0 = 0x2d;
                                             |     if (a0 == 0) {
    0x000247d8 beqz a0, 0x23ef4              |         goto label_27;
                                             |     }
    0x000247dc lb v1, (a0)                   |     v1 = *(a0);
    0x000247e0 addu v0, s4, s3               |     v0 = s4 + s3;
                                             |     if (v1 == v0) {
    0x000247e4 beq v1, v0, 0x23ef8           |         goto label_38;
                                             |     }
    0x000247e8 lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
    0x000247ec sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x000247f0 jalr t9                       |     t9 ();
    0x000247f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000247f8 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x000247fc lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00024800 move fp, s0                   |     fp = s0;
    0x00024804 jalr t9                       |     t9 ();
    0x00024808 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x0002480c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024810 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x00024814 beqz v0, 0x24f28              |         goto label_144;
                                             |     }
                                             | label_59:
    0x00024818 lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x0002481c lw a1, (s1)                   |     a1 = *(s1);
    0x00024820 move a0, v0                   |     a0 = v0;
    0x00024824 jalr t9                       |     t9 ();
    0x00024828 addu v0, s4, s3               |     v0 = s4 + s3;
    0x0002482c lw v1, 0x20(sp)               |     v1 = *(var_20h);
    0x00024830 sll v0, v0, 3                 |     v0 <<= 3;
    0x00024834 addu s4, v1, v0               |     s4 = v1 + v0;
    0x00024838 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x0002483c lw v1, 0x10(s4)               |     v1 = *((s4 + 4));
    0x00024840 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x00024844 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024848 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x0002484c sw s3, (a0)                   |     *(a0) = s3;
                                             |     if (v1 != v0) {
    0x00024850 bne v1, v0, 0x243d4           |         goto label_39;
                                             |     }
    0x00024854 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
                                             | label_47:
    0x00024858 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0002485c b 0x23a40                     |     goto label_11;
                                             | label_125:
    0x00024860 addiu v1, sp, 0x80            |     v1 = sp + 0x80;
                                             | label_126:
    0x00024864 lw a3, 0x64(sp)               |     a3 = *(var_64h);
    0x00024868 sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x0002486c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00024870 move a0, v1                   |     a0 = v1;
    0x00024874 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x00024878 addiu a1, zero, 1             |     a1 = 1;
    0x0002487c jalr t9                       |     t9 ();
    0x00024880 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024884 lw v1, 0x24(sp)               |     v1 = *(var_24h);
    0x00024888 b 0x24224                     |     goto label_40;
                                             | label_119:
    0x0002488c move v0, s7                   |     v0 = s7;
    0x00024890 move fp, s0                   |     fp = s0;
    0x00024894 move s7, s5                   |     s7 = s5;
    0x00024898 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x0002489c move s5, v0                   |     s5 = v0;
    0x000248a0 b 0x23d24                     |     goto label_13;
                                             | label_141:
    0x000248a4 addiu v1, sp, 0x80            |     v1 = sp + 0x80;
                                             | label_142:
    0x000248a8 lw a3, 0x64(sp)               |     a3 = *(var_64h);
    0x000248ac move a0, v1                   |     a0 = v1;
    0x000248b0 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x000248b4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000248b8 addiu a2, zero, 0x32          |     a2 = 0x32;
    0x000248bc addiu a1, zero, 1             |     a1 = 1;
    0x000248c0 jalr t9                       |     t9 ();
    0x000248c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000248c8 lw v1, 0x24(sp)               |     v1 = *(var_24h);
    0x000248cc b 0x24738                     |     goto label_41;
                                             | label_89:
    0x000248d0 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x000248d4 move s2, fp                   |     s2 = fp;
    0x000248d8 move fp, s0                   |     fp = s0;
    0x000248dc sw zero, (v0)                 |     *(v0) = 0;
    0x000248e0 lw s0, 0x74(sp)               |     s0 = *(var_74h);
                                             |     if (s6 == 0) {
    0x000248e4 beqz s6, 0x24bec              |         goto label_145;
                                             |     }
    0x000248e8 lw s1, (s3)                   |     s1 = *(s3);
    0x000248ec lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s1 == 0) {
    0x000248f0 beqz s1, 0x24bec              |         goto label_145;
                                             |     }
    0x000248f4 move a0, s1                   |     a0 = s1;
    0x000248f8 jalr t9                       |     t9 ();
    0x000248fc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024900 lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00024904 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00024908 jalr t9                       |     t9 ();
    0x0002490c sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00024910 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00024914 beqz v0, 0x24f9c              |         goto label_146;
                                             |     }
                                             | label_61:
    0x00024918 move a1, s1                   |     a1 = s1;
    0x0002491c lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00024920 lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x00024924 move a0, s1                   |     a0 = s1;
    0x00024928 jalr t9                       |     t9 ();
    0x0002492c lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x00024930 lb v0, 2(s1)                  |     v0 = *((s1 + 2));
    0x00024934 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024938 addiu s1, s1, 2               |     s1 += 2;
    0x0002493c sw zero, (v1)                 |     *(v1) = 0;
                                             |     if (v0 == 0) {
    0x00024940 beqz v0, 0x24adc              |         goto label_147;
                                             |     }
    0x00024944 addiu a0, zero, 0x3d          |     a0 = 0x3d;
    0x00024948 move a0, s1                   |     a0 = s1;
                                             |     if (v0 == a0) {
    0x0002494c beq v0, a0, 0x24ac0           |         goto label_148;
                                             |     }
    0x00024950 addiu a3, zero, 0x3d          |     a3 = 0x3d;
    0x00024954 b 0x24964                     |     
                                             |     while (v1 != 0) {
    0x00024958 move v0, v1                   |         v0 = v1;
                                             |         if (v1 == a3) {
    0x0002495c beq v1, a3, 0x24ac4           |             goto label_149;
                                             |         }
    0x00024960 move a0, a1                   |         a0 = a1;
    0x00024964 lb v1, 1(a0)                  |         v1 = *((a0 + 1));
    0x00024968 addiu a1, a0, 1               |         a1 = a0 + 1;
    0x0002496c bnez v1, 0x24958              |         
                                             |     }
    0x00024970 addiu a1, zero, 0x2d          |     a1 = 0x2d;
    0x00024974 b 0x24ad4                     |     goto label_150;
                                             | label_92:
    0x00024978 lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x0002497c lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'go' */
    0x00024980 addiu a1, a1, 0x7b78          |     a1 += 0x7b78;
    0x00024984 addiu a0, zero, 4             |     a0 = 4;
    0x00024988 bal 0xd694                    |     sym_ziperr ();
    0x0002498c lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00024990 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024994 lw v0, (v0)                   |     v0 = *(v0);
    0x00024998 b 0x23b24                     |     goto label_42;
                                             | label_74:
    0x0002499c addiu s5, s5, 1               |     s5++;
    0x000249a0 b 0x23ae0                     |     goto label_43;
                                             | label_135:
    0x000249a4 lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x000249a8 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'gso' */
    0x000249ac addiu a1, a1, 0x7b80          |     a1 += 0x7b80;
    0x000249b0 addiu a0, zero, 4             |     a0 = 4;
    0x000249b4 bal 0xd694                    |     sym_ziperr ();
    0x000249b8 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x000249bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000249c0 lw v0, (v0)                   |     v0 = *(v0);
    0x000249c4 b 0x24504                     |     goto label_44;
                                             | label_132:
    0x000249c8 lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x000249cc lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'gso' */
    0x000249d0 addiu a1, a1, 0x7b80          |     a1 += 0x7b80;
    0x000249d4 addiu a0, zero, 4             |     a0 = 4;
    0x000249d8 bal 0xd694                    |     sym_ziperr ();
    0x000249dc lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x000249e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000249e4 lw v0, (v0)                   |     v0 = *(v0);
    0x000249e8 b 0x243fc                     |     goto label_45;
                                             | label_93:
    0x000249ec lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x000249f0 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'go' */
    0x000249f4 addiu a1, a1, 0x7b78          |     a1 += 0x7b78;
    0x000249f8 addiu a0, zero, 4             |     a0 = 4;
    0x000249fc bal 0xd694                    |     sym_ziperr ();
    0x00024a00 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00024a04 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024a08 lw v0, (v0)                   |     v0 = *(v0);
    0x00024a0c b 0x23b98                     |     goto label_46;
                                             | label_131:
    0x00024a10 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00024a14 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x00024a18 sw s3, (a0)                   |     *(a0) = s3;
                                             |     if (v1 == v0) {
    0x00024a1c beq v1, v0, 0x24858           |         goto label_47;
                                             |     }
    0x00024a20 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x00024a24 addiu s4, zero, -3            |     s4 = -3;
    0x00024a28 b 0x23d24                     |     goto label_13;
                                             | label_130:
    0x00024a2c lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x00024a30 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'gso' */
    0x00024a34 addiu a1, a1, 0x7b80          |     a1 += 0x7b80;
    0x00024a38 addiu a0, zero, 4             |     a0 = 4;
    0x00024a3c bal 0xd694                    |     sym_ziperr ();
    0x00024a40 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00024a44 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024a48 lw v0, (v0)                   |     v0 = *(v0);
    0x00024a4c b 0x2438c                     |     goto label_48;
                                             | label_139:
    0x00024a50 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00024a54 addiu a0, v0, 2               |     a0 = v0 + 2;
    0x00024a58 addu a0, s1, a0               |     a0 = s1 + a0;
    0x00024a5c lb v0, (a0)                   |     v0 = *(a0);
    0x00024a60 addu v0, s4, s3               |     v0 = s4 + s3;
                                             |     if (v0 != 0) {
    0x00024a64 bnez v0, 0x250dc              |         goto label_151;
                                             |     }
    0x00024a68 sll v0, v0, 3                 |     v0 <<= 3;
    0x00024a6c addu s4, s2, v0               |     s4 = s2 + v0;
    0x00024a70 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00024a74 lw v1, 0x10(s4)               |     v1 = *((s4 + 4));
    0x00024a78 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x00024a7c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00024a80 sw s3, (a0)                   |     *(a0) = s3;
                                             |     if (v1 == v0) {
    0x00024a84 beq v1, v0, 0x24858           |         goto label_47;
                                             |     }
    0x00024a88 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x00024a8c addiu s4, zero, -2            |     s4 = -2;
    0x00024a90 b 0x23d24                     |     goto label_13;
                                             | label_127:
    0x00024a94 lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x00024a98 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'go' */
    0x00024a9c addiu a1, a1, 0x7b78          |     a1 += 0x7b78;
    0x00024aa0 addiu a0, zero, 4             |     a0 = 4;
    0x00024aa4 bal 0xd694                    |     sym_ziperr ();
    0x00024aa8 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00024aac lw s0, 0x7c(sp)               |     s0 = *(var_7ch);
    0x00024ab0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024ab4 lw v0, (v0)                   |     v0 = *(v0);
    0x00024ab8 addu s0, s0, s2               |     s0 += s2;
    0x00024abc b 0x242d4                     |     goto label_49;
                                             | label_148:
    0x00024ac0 move a1, s1                   |     a1 = s1;
                                             | label_149:
    0x00024ac4 sb zero, (a1)                 |     *(a1) = 0;
    0x00024ac8 lb v0, (a0)                   |     v0 = *(a0);
    0x00024acc addiu s0, a1, 1               |     s0 = a1 + 1;
    0x00024ad0 addiu a1, zero, 0x2d          |     a1 = 0x2d;
                                             |     if (v0 == a1) {
                                             | label_150:
    0x00024ad4 beql v0, a1, 0x24d0c          |         goto label_152;
                                             |     }
    0x00024ad8 sb zero, (a0)                 |     *(a0) = 0;
                                             | label_147:
    0x00024adc move v0, zero                 |     v0 = 0;
                                             | label_51:
    0x00024ae0 lw v1, -0x7dd0(gp)            |     v1 = *(gp);
    0x00024ae4 lw a0, 0x48(sp)               |     a0 = *(var_48h);
    0x00024ae8 sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x00024aec sw v0, (a0)                   |     *(a0) = v0;
    0x00024af0 lw v0, 0x10(v1)               |     v0 = *((v1 + 4));
    0x00024af4 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
                                             |     if (v0 == 0) {
    0x00024af8 beqz v0, 0x25068              |         goto label_153;
                                             |     }
    0x00024afc lw v0, -0x7f90(gp)            |     v0 = *(gp);
                                             |     if (v0 > 0) {
    0x00024b00 bgtz v0, 0x24fcc              |         goto label_154;
                                             |     }
    0x00024b04 lw s3, -0x7f7c(gp)            |     s3 = *((gp - 8159));
                                             |     /* str.long_option__s_ambiguous */
    0x00024b08 addiu v0, v0, 0x7bb0          |     v0 += 0x7bb0;
    0x00024b0c addiu s4, v1, 4               |     s4 = v1 + 4;
    0x00024b10 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00024b14 addiu v1, zero, -1            |     v1 = -1;
    0x00024b18 addiu v0, s3, -0x588c         |     v0 = s3 + -0x588c;
    0x00024b1c sw s0, 0x54(sp)               |     *(var_54h) = s0;
    0x00024b20 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x00024b24 sw s2, 0x50(sp)               |     *(var_50h) = s2;
    0x00024b28 lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x00024b2c move s0, v1                   |     s0 = v1;
    0x00024b30 b 0x24b44                     |     
                                             |     while (s2 == 0) {
                                             | label_50:
    0x00024b34 addiu s4, s4, 0x18            |         s4 += 0x18;
    0x00024b38 lw v0, 0xc(s4)                |         v0 = *((s4 + 3));
    0x00024b3c addiu s3, s3, 1               |         s3++;
                                             |         if (v0 == 0) {
    0x00024b40 beqz v0, 0x24c00              |             goto label_155;
                                             |         }
    0x00024b44 lw s2, (s4)                   |         s2 = *(s4);
    0x00024b48 lw t9, -0x7a1c(gp)            |         t9 = sym.imp.strcmp;
    0x00024b4c beqz s2, 0x24b34              |         
                                             |     }
    0x00024b50 move a1, s1                   |     a1 = s1;
    0x00024b54 move a0, s2                   |     a0 = s2;
    0x00024b58 jalr t9                       |     t9 ();
    0x00024b5c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00024b60 beqz v0, 0x24fbc              |         goto label_156;
                                             |     }
    0x00024b64 lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
    0x00024b68 move a0, s1                   |     a0 = s1;
    0x00024b6c jalr t9                       |     t9 ();
    0x00024b70 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024b74 move a2, v0                   |     a2 = v0;
    0x00024b78 move a1, s1                   |     a1 = s1;
    0x00024b7c lw t9, -0x7b68(gp)            |     t9 = sym.imp.strncmp;
    0x00024b80 move a0, s2                   |     a0 = s2;
    0x00024b84 jalr t9                       |     t9 ();
    0x00024b88 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00024b8c bnez v0, 0x24b34              |         goto label_50;
                                             |     }
    0x00024b90 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (s0 == v0) {
    0x00024b94 beql s0, v0, 0x24b34          |         goto label_50;
                                             |     }
    0x00024b98 move s0, s3                   |     s0 = s3;
    0x00024b9c lw s0, 0x5c(sp)               |     s0 = *(var_5ch);
    0x00024ba0 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00024ba4 lw a3, 0x58(sp)               |     a3 = *(var_58h);
    0x00024ba8 addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x00024bac addiu a1, zero, 1             |     a1 = 1;
    0x00024bb0 move a0, s0                   |     a0 = s0;
    0x00024bb4 sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x00024bb8 jalr t9                       |     t9 ();
    0x00024bbc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024bc0 lw t9, -0x7a3c(gp)            |     t9 = sym.imp.free;
    0x00024bc4 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x00024bc8 jalr t9                       |     t9 ();
    0x00024bcc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024bd0 move a1, s0                   |     a1 = s0;
    0x00024bd4 addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00024bd8 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
    0x00024bdc move s0, s3                   |     s0 = s3;
    0x00024be0 bal 0xd694                    |     sym_ziperr ();
    0x00024be4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024be8 b 0x24b34                     |     goto label_50;
                                             | label_145:
    0x00024bec lw v1, 0x28(sp)               |     v1 = *(var_28h);
    0x00024bf0 addiu v0, zero, -1            |     v0 = -1;
    0x00024bf4 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00024bf8 sw v0, (v1)                   |     *(v1) = v0;
    0x00024bfc b 0x23d24                     |     goto label_13;
                                             | label_155:
    0x00024c00 move v1, s0                   |     v1 = s0;
    0x00024c04 addiu v0, zero, -1            |     v0 = -1;
    0x00024c08 lw s2, 0x50(sp)               |     s2 = *(var_50h);
    0x00024c0c lw s0, 0x54(sp)               |     s0 = *(var_54h);
                                             |     if (v1 == v0) {
    0x00024c10 beq v1, v0, 0x24d14           |         goto label_157;
                                             |     }
                                             | label_118:
    0x00024c14 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
                                             | label_52:
    0x00024c18 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x00024c1c lw v0, (v0)                   |     v0 = *(v0);
    0x00024c20 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
                                             |     if (v0 != 0) {
    0x00024c24 bnez v0, 0x24ddc              |         goto label_158;
                                             |     }
    0x00024c28 sll s3, v0, 1                 |     s3 = v0 << 1;
                                             | label_56:
    0x00024c2c lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x00024c30 lw v1, 0x20(sp)               |     v1 = *(var_20h);
                                             | label_54:
    0x00024c34 addu v0, s3, v0               |     v0 = s3 + v0;
    0x00024c38 sll v0, v0, 3                 |     v0 <<= 3;
    0x00024c3c addu v0, v1, v0               |     v0 = v1 + v0;
    0x00024c40 addiu a0, zero, 2             |     a0 = 2;
    0x00024c44 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00024c48 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v0 == a0) {
    0x00024c4c beq v0, a0, 0x24d7c           |         goto label_159;
                                             |     }
    0x00024c50 addiu a0, v0, -3              |     a0 = v0 + -3;
                                             |     if (v0 == a0) {
    0x00024c54 beq v0, a0, 0x24d8c           |         goto label_160;
                                             |     }
    0x00024c58 sltiu a0, a0, 3               |     a0 = (a0 < 3) ? 1 : 0;
                                             |     if (a0 != 0) {
    0x00024c5c bnez a0, 0x24d8c              |         goto label_160;
                                             |     }
    0x00024c60 nop                           |     
    0x00024c64 addiu s4, zero, -2            |     s4 = -2;
                                             |     if (v0 == 0) {
    0x00024c68 bnez v0, 0x24cc8              |         
    0x00024c6c lw a0, -0x7f90(gp)            |         a0 = *(gp);
                                             |         if (s0 == 0) {
    0x00024c70 beqz s0, 0x24d84              |             goto label_161;
                                             |         }
    0x00024c74 lw a1, 0x4c(sp)               |         a1 = *(var_4ch);
    0x00024c78 addiu a2, zero, 1             |         a2 = 1;
                                             |         /* str.option__s_does_not_allow_a_value */
    0x00024c7c addiu a0, a0, 0x7c34          |         a0 += 0x7c34;
                                             | label_60:
    0x00024c80 lw t9, -0x7ca8(gp)            |         t9 = *(gp);
                                             |         /* fcn.0001ccf4 */
    0x00024c84 addiu t9, t9, -0x330c         |         t9 += -0x330c;
    0x00024c88 bal 0x1ccf4                   |         fcn_0001ccf4 ();
    0x00024c8c nop                           |         
    0x00024c90 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024c94 lw t9, -0x7a3c(gp)            |         t9 = sym.imp.free;
    0x00024c98 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x00024c9c jalr t9                       |         t9 ();
    0x00024ca0 lw v0, 0x100(sp)              |         v0 = *(arg_100h);
    0x00024ca4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 > 0) {
    0x00024ca8 bgtz v0, 0x24d74              |             goto label_55;
                                             |         }
    0x00024cac lw a1, -0x7f7c(gp)            |         a1 = *((gp - 8159));
    0x00024cb0 lw t9, -0x7f28(gp)            |         t9 = sym.ziperr;
    0x00024cb4 addiu a1, a1, -0x588c         |         a1 += -0x588c;
    0x00024cb8 addiu a0, zero, 0x10          |         a0 = 0x10;
    0x00024cbc bal 0xd694                    |         sym_ziperr ();
    0x00024cc0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024cc4 addiu s4, zero, -2            |         s4 = -2;
                                             |     }
                                             | label_53:
    0x00024cc8 lw t9, -0x7a3c(gp)            |     t9 = sym.imp.free;
    0x00024ccc lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x00024cd0 jalr t9                       |     t9 ();
    0x00024cd4 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x00024cd8 lw v1, 0x20(sp)               |     v1 = *(var_20h);
    0x00024cdc addu v0, s3, a0               |     v0 = s3 + a0;
    0x00024ce0 sll v0, v0, 3                 |     v0 <<= 3;
    0x00024ce4 addu v1, v1, v0               |     v1 += v0;
    0x00024ce8 lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x00024cec lw v1, 0x10(v1)               |     v1 = *((v1 + 4));
    0x00024cf0 ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x00024cf4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024cf8 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00024cfc sw a0, (a1)                   |     *(a1) = a0;
                                             |     if (v1 == v0) {
    0x00024d00 beq v1, v0, 0x24858           |         goto label_47;
                                             |     }
    0x00024d04 lw s6, 0x7c(sp)               |     s6 = *(var_7ch);
    0x00024d08 b 0x23d24                     |     goto label_13;
                                             | label_152:
    0x00024d0c addiu v0, zero, 1             |     v0 = 1;
    0x00024d10 b 0x24ae0                     |     goto label_51;
                                             | label_157:
    0x00024d14 lw t4, -0x7f7c(gp)            |     t4 = *((gp - 8159));
    0x00024d18 lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x00024d1c lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00024d20 addiu a0, t4, -0x588c         |     a0 = t4 + -0x588c;
    0x00024d24 sw t4, 0x4c(sp)               |     *(var_4ch) = t4;
                                             |     /* str.long_option__s_not_supported */
    0x00024d28 addiu a3, a3, 0x7b90          |     a3 += 0x7b90;
    0x00024d2c addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x00024d30 addiu a1, zero, 1             |     a1 = 1;
    0x00024d34 sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x00024d38 jalr t9                       |     t9 ();
    0x00024d3c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024d40 lw t9, -0x7a3c(gp)            |     t9 = sym.imp.free;
    0x00024d44 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x00024d48 jalr t9                       |     t9 ();
    0x00024d4c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024d50 lw t4, 0x4c(sp)               |     t4 = *(var_4ch);
    0x00024d54 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             | label_65:
    0x00024d58 addiu v0, zero, -1            |     v0 = -1;
    0x00024d5c addiu a1, t4, -0x588c         |     a1 = t4 + -0x588c;
    0x00024d60 addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00024d64 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x00024d68 bal 0xd694                    |     sym_ziperr ();
    0x00024d6c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024d70 b 0x24c18                     |     goto label_52;
                                             | label_55:
    0x00024d74 lw t4, -0x7f7c(gp)            |     t4 = *((gp - 8159));
    0x00024d78 b 0x2401c                     |     goto label_26;
                                             | label_159:
    0x00024d7c lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s0 == 0) {
    0x00024d80 bnez s0, 0x24d94              |         
                                             | label_161:
    0x00024d84 addiu s4, zero, -2            |         s4 = -2;
    0x00024d88 b 0x24cc8                     |         goto label_53;
                                             | label_160:
    0x00024d8c lw t9, -0x7ae0(gp)            |         t9 = sym.imp.strlen;
                                             |         if (s0 == 0) {
    0x00024d90 beqz s0, 0x24e7c              |             goto label_162;
                                             |         }
                                             |     }
    0x00024d94 move a0, s0                   |     a0 = s0;
    0x00024d98 jalr t9                       |     t9 ();
    0x00024d9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024da0 lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00024da4 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00024da8 jalr t9                       |     t9 ();
    0x00024dac lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x00024db0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024db4 sw v0, (v1)                   |     *(v1) = v0;
                                             |     if (v0 == 0) {
    0x00024db8 beqz v0, 0x24e50              |         goto label_163;
                                             |     }
                                             | label_57:
    0x00024dbc lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00024dc0 lw t9, -0x7a9c(gp)            |     t9 = sym.imp.strcpy;
    0x00024dc4 move a1, s0                   |     a1 = s0;
    0x00024dc8 lw a0, (v0)                   |     a0 = *(v0);
    0x00024dcc addiu s4, zero, -2            |     s4 = -2;
    0x00024dd0 jalr t9                       |     t9 ();
    0x00024dd4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024dd8 b 0x24cc8                     |     goto label_53;
                                             | label_158:
    0x00024ddc lw v1, 0x20(sp)               |     v1 = *(var_20h);
    0x00024de0 sll s3, v0, 1                 |     s3 = v0 << 1;
    0x00024de4 addu v0, s3, v0               |     v0 = s3 + v0;
    0x00024de8 sll v0, v0, 3                 |     v0 <<= 3;
    0x00024dec addu v0, v1, v0               |     v0 = v1 + v0;
    0x00024df0 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x00024df4 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
                                             |     if (v0 != 0) {
    0x00024df8 bnez v0, 0x24c34              |         goto label_54;
                                             |     }
    0x00024dfc lw a0, -0x7f90(gp)            |     a0 = *(gp);
    0x00024e00 lw t9, -0x7ca8(gp)            |     t9 = *(gp);
    0x00024e04 lw a1, 0x4c(sp)               |     a1 = *(var_4ch);
    0x00024e08 addiu a2, zero, 1             |     a2 = 1;
                                             |     /* fcn.0001ccf4 */
    0x00024e0c addiu t9, t9, -0x330c         |     t9 += -0x330c;
                                             |     /* str.option__s_not_negatable */
    0x00024e10 addiu a0, a0, 0x7c74          |     a0 += 0x7c74;
    0x00024e14 bal 0x1ccf4                   |     fcn_0001ccf4 ();
    0x00024e18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024e1c lw t9, -0x7a3c(gp)            |     t9 = sym.imp.free;
    0x00024e20 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x00024e24 jalr t9                       |     t9 ();
    0x00024e28 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
    0x00024e2c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 > 0) {
    0x00024e30 bgtz v0, 0x24d74              |         goto label_55;
                                             |     }
    0x00024e34 lw t4, -0x7f7c(gp)            |     t4 = *((gp - 8159));
    0x00024e38 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
    0x00024e3c addiu a1, t4, -0x588c         |     a1 = t4 + -0x588c;
    0x00024e40 addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00024e44 bal 0xd694                    |     sym_ziperr ();
    0x00024e48 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024e4c b 0x24c2c                     |     goto label_56;
                                             | label_163:
    0x00024e50 lw t9, -0x7a3c(gp)            |     t9 = sym.imp.free;
    0x00024e54 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x00024e58 jalr t9                       |     t9 ();
    0x00024e5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024e60 addiu a0, zero, 4             |     a0 = 4;
    0x00024e64 lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x00024e68 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'glo' */
    0x00024e6c addiu a1, a1, 0x7b7c          |     a1 += 0x7b7c;
    0x00024e70 bal 0xd694                    |     sym_ziperr ();
    0x00024e74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024e78 b 0x24dbc                     |     goto label_57;
                                             | label_162:
    0x00024e7c addiu s0, s2, 1               |     s0 = s2 + 1;
    0x00024e80 sll s0, s0, 2                 |     s0 <<= 2;
    0x00024e84 addu s0, s6, s0               |     s0 = s6 + s0;
    0x00024e88 lw a0, (s0)                   |     a0 = *(s0);
                                             |     if (a0 == 0) {
    0x00024e8c beql a0, zero, 0x24f8c        |         goto label_164;
                                             |     }
    0x00024e90 lw a0, -0x7f90(gp)            |     a0 = *(gp);
    0x00024e94 jalr t9                       |     t9 ();
    0x00024e98 nop                           |     
    0x00024e9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024ea0 lw t9, -0x7ab4(gp)            |     t9 = sym.imp.malloc;
    0x00024ea4 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00024ea8 jalr t9                       |     t9 ();
    0x00024eac lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x00024eb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024eb4 sw v0, (v1)                   |     *(v1) = v0;
    0x00024eb8 beqz v0, 0x24f60              |     
                                             |     while (1) {
    0x00024ebc lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x00024ec0 lw t9, -0x7a9c(gp)            |         t9 = sym.imp.strcpy;
    0x00024ec4 lw a1, (s0)                   |         a1 = *(s0);
    0x00024ec8 lw a0, (v0)                   |         a0 = *(v0);
    0x00024ecc jalr t9                       |         t9 ();
    0x00024ed0 lw v1, 0x4c(sp)               |         v1 = *(var_4ch);
    0x00024ed4 addiu v0, zero, 0x18          |         v0 = 0x18;
    0x00024ed8 mul a1, v1, v0                |         __asm ("mul a1, v1, v0");
    0x00024edc lw a0, 0x20(sp)               |         a0 = *(var_20h);
    0x00024ee0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024ee4 addu v0, a1, a0               |         v0 = a1 + a0;
    0x00024ee8 addiu a0, zero, -3            |         a0 = -3;
    0x00024eec lw a3, 8(v0)                  |         a3 = *((v0 + 2));
    0x00024ef0 addiu v0, zero, -1            |         v0 = -1;
    0x00024ef4 xori a3, a3, 3                |         a3 ^= 3;
                                             |         if (a3 != 0) {
    0x00024ef8 movz v0, a0, a3               |             v0 = a0;
                                             |         }
    0x00024efc move s4, v0                   |         s4 = v0;
    0x00024f00 b 0x24cc8                     |         goto label_53;
                                             | label_140:
    0x00024f04 lw a1, -0x7f90(gp)            |         a1 = *(gp);
    0x00024f08 lw t9, -0x7f28(gp)            |         t9 = sym.ziperr;
                                             |         /* esilref: 'gso' */
    0x00024f0c addiu a1, a1, 0x7b80          |         a1 += 0x7b80;
    0x00024f10 addiu a0, zero, 4             |         a0 = 4;
    0x00024f14 bal 0xd694                    |         sym_ziperr ();
    0x00024f18 lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x00024f1c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024f20 lw v0, (v0)                   |         v0 = *(v0);
    0x00024f24 b 0x24668                     |         goto label_58;
                                             | label_144:
    0x00024f28 lw a1, -0x7f90(gp)            |         a1 = *(gp);
    0x00024f2c lw t9, -0x7f28(gp)            |         t9 = sym.ziperr;
                                             |         /* esilref: 'gso' */
    0x00024f30 addiu a1, a1, 0x7b80          |         a1 += 0x7b80;
    0x00024f34 addiu a0, zero, 4             |         a0 = 4;
    0x00024f38 bal 0xd694                    |         sym_ziperr ();
    0x00024f3c lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x00024f40 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024f44 lw v0, (v0)                   |         v0 = *(v0);
    0x00024f48 b 0x24818                     |         goto label_59;
                                             | label_85:
    0x00024f4c lw t9, -0x7a64(gp)            |         t9 = sym.imp.__stack_chk_fail;
    0x00024f50 jalr t9                       |         t9 ();
    0x00024f54 nop                           |         
                                             | label_73:
    0x00024f58 sw zero, 0x24(sp)             |         *(var_24h) = 0;
    0x00024f5c b 0x238dc                     |         goto label_2;
    0x00024f60 lw t9, -0x7a3c(gp)            |         t9 = sym.imp.free;
    0x00024f64 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x00024f68 jalr t9                       |         t9 ();
    0x00024f6c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024f70 addiu a0, zero, 4             |         a0 = 4;
    0x00024f74 lw a1, -0x7f90(gp)            |         a1 = *(gp);
    0x00024f78 lw t9, -0x7f28(gp)            |         t9 = sym.ziperr;
                                             |         /* esilref: 'glo' */
    0x00024f7c addiu a1, a1, 0x7b7c          |         a1 += 0x7b7c;
    0x00024f80 bal 0xd694                    |         sym_ziperr ();
    0x00024f84 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00024f88 b 0x24ebc                     |         
                                             |     }
                                             | label_164:
    0x00024f8c addiu a2, zero, 1             |     a2 = 1;
    0x00024f90 lw a1, 0x4c(sp)               |     a1 = *(var_4ch);
                                             |     /* str.option__s_requires_a_value */
    0x00024f94 addiu a0, a0, 0x7c58          |     a0 += 0x7c58;
    0x00024f98 b 0x24c80                     |     goto label_60;
                                             | label_146:
    0x00024f9c lw a1, -0x7f90(gp)            |     a1 = *(gp);
    0x00024fa0 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
                                             |     /* esilref: 'glo' */
    0x00024fa4 addiu a1, a1, 0x7b7c          |     a1 += 0x7b7c;
    0x00024fa8 addiu a0, zero, 4             |     a0 = 4;
    0x00024fac bal 0xd694                    |     sym_ziperr ();
    0x00024fb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00024fb4 lw s1, (s3)                   |     s1 = *(s3);
    0x00024fb8 b 0x24918                     |     goto label_61;
                                             | label_156:
    0x00024fbc lw s2, 0x50(sp)               |     s2 = *(var_50h);
    0x00024fc0 lw s0, 0x54(sp)               |     s0 = *(var_54h);
    0x00024fc4 sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00024fc8 b 0x24c18                     |     goto label_52;
                                             | label_154:
    0x00024fcc lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x00024fd0 addiu v1, zero, -1            |     v1 = -1;
    0x00024fd4 addiu s4, v0, 4               |     s4 = v0 + 4;
    0x00024fd8 sw s0, 0x50(sp)               |     *(var_50h) = s0;
    0x00024fdc move s3, v1                   |     s3 = v1;
    0x00024fe0 b 0x24ffc                     |     goto label_165;
                                             | label_63:
    0x00024fe4 addiu s4, s4, 0x18            |     s4 += 0x18;
    0x00024fe8 lw v1, 0x4c(sp)               |     v1 = *(var_4ch);
    0x00024fec lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
    0x00024ff0 addiu v1, v1, 1               |     v1++;
    0x00024ff4 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
                                             |     if (v0 == 0) {
    0x00024ff8 beqz v0, 0x23fcc              |         goto label_62;
                                             |     }
                                             | label_165:
    0x00024ffc lw s0, (s4)                   |     s0 = *(s4);
    0x00025000 lw t9, -0x7a1c(gp)            |     t9 = sym.imp.strcmp;
                                             |     if (s0 == 0) {
    0x00025004 beqz s0, 0x24fe4              |         goto label_63;
                                             |     }
    0x00025008 move a1, s1                   |     a1 = s1;
    0x0002500c move a0, s0                   |     a0 = s0;
    0x00025010 jalr t9                       |     t9 ();
    0x00025014 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00025018 beqz v0, 0x250b8              |         goto label_166;
                                             |     }
    0x0002501c lw t9, -0x7ae0(gp)            |     t9 = sym.imp.strlen;
    0x00025020 move a0, s1                   |     a0 = s1;
    0x00025024 jalr t9                       |     t9 ();
    0x00025028 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002502c move a2, v0                   |     a2 = v0;
    0x00025030 move a1, s1                   |     a1 = s1;
    0x00025034 lw t9, -0x7b68(gp)            |     t9 = sym.imp.strncmp;
    0x00025038 move a0, s0                   |     a0 = s0;
    0x0002503c jalr t9                       |     t9 ();
    0x00025040 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00025044 bnez v0, 0x24fe4              |         goto label_63;
                                             |     }
    0x00025048 addiu v0, zero, -1            |     v0 = -1;
    0x0002504c lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
                                             |     if (s3 == v0) {
    0x00025050 beq s3, v0, 0x24fe4           |         goto label_63;
                                             |     }
    0x00025054 lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x00025058 lw t4, -0x7f7c(gp)            |     t4 = *((gp - 8159));
    0x0002505c lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
                                             |     /* str.long_option__s_ambiguous */
    0x00025060 addiu a3, a3, 0x7bb0          |     a3 += 0x7bb0;
    0x00025064 b 0x23fec                     |     goto label_64;
                                             | label_153:
    0x00025068 lw t4, -0x7f7c(gp)            |     t4 = *((gp - 8159));
    0x0002506c lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x00025070 lw t9, -0x7ba0(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00025074 addiu a0, t4, -0x588c         |     a0 = t4 + -0x588c;
    0x00025078 sw t4, 0x4c(sp)               |     *(var_4ch) = t4;
                                             |     /* str.long_option__s_not_supported */
    0x0002507c addiu a3, a3, 0x7b90          |     a3 += 0x7b90;
    0x00025080 addiu a2, zero, 0x17a1        |     a2 = 0x17a1;
    0x00025084 addiu a1, zero, 1             |     a1 = 1;
    0x00025088 sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x0002508c jalr t9                       |     t9 ();
    0x00025090 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00025094 lw t9, -0x7a3c(gp)            |     t9 = sym.imp.free;
    0x00025098 lw a0, 0x24(sp)               |     a0 = *(var_24h);
    0x0002509c jalr t9                       |     t9 ();
    0x000250a0 lw v0, 0x100(sp)              |     v0 = *(arg_100h);
    0x000250a4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000250a8 lw t4, 0x4c(sp)               |     t4 = *(var_4ch);
                                             |     if (v0 > 0) {
    0x000250ac bgtz v0, 0x2401c              |         goto label_26;
                                             |     }
    0x000250b0 lw t9, -0x7f28(gp)            |     t9 = sym.ziperr;
    0x000250b4 b 0x24d58                     |     goto label_65;
                                             | label_166:
    0x000250b8 lw s0, 0x50(sp)               |     s0 = *(var_50h);
    0x000250bc b 0x24c18                     |     goto label_52;
                                             | label_117:
    0x000250c0 move fp, s0                   |     fp = s0;
    0x000250c4 lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x000250c8 b 0x23d24                     |     goto label_13;
                                             | label_81:
    0x000250cc move fp, s0                   |     fp = s0;
    0x000250d0 move s5, s7                   |     s5 = s7;
    0x000250d4 move s7, s2                   |     s7 = s2;
    0x000250d8 b 0x24280                     |     goto label_66;
                                             | label_151:
    0x000250dc addiu s2, zero, 2             |     s2 = 2;
    0x000250e0 b 0x2463c                     |     goto label_67;
                                             | }

[*] Function mmap used 1 times zip