[*] Binary protection state of parhand

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


[*] Function strcat tear down of parhand

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0xca48 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000ca48 ()                  | void fcn_0000ca48 () {
    0x0000ca48 lui gp, 3                     |     
    0x0000ca4c addiu gp, gp, 0x6908          |     
    0x0000ca50 addu gp, gp, t9               |     gp += t9;
    0x0000ca54 addiu sp, sp, -0x38           |     
    0x0000ca58 lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x0000ca5c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000ca60 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0000ca64 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0000ca68 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0000ca6c sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0000ca70 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0000ca74 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0000ca78 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0000ca7c move s1, a0                   |     s1 = a0;
    0x0000ca80 addiu a0, zero, 0x50          |     a0 = 0x50;
    0x0000ca84 move s4, a1                   |     s4 = a1;
    0x0000ca88 move s0, a2                   |     s0 = a2;
    0x0000ca8c jalr t9                       |     t9 ();
    0x0000ca90 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000ca94 beqz v0, 0xcd68               |         goto label_7;
                                             |     }
    0x0000ca98 move s2, v0                   |     s2 = v0;
    0x0000ca9c lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000caa0 lw s3, -0x4660(v0)            |     s3 = *((v0 - 4504));
                                             |     if (s3 == 0) {
    0x0000caa4 beql s3, zero, 0xccf0         |         goto label_8;
                                             |     }
    0x0000caa8 sw s2, -0x4660(v0)            |     *((v0 - 4504)) = s2;
    0x0000caac lw v1, (s3)                   |     v1 = *(s3);
    0x0000cab0 lw v0, (v1)                   |     v0 = *(v1);
                                             |     if (v1 == 0) {
    0x0000cab4 bnel v1, zero, 0xcac4         |         goto label_9;
                                             |     }
    0x0000cab8 move v1, s3                   |     v1 = s3;
    0x0000cabc b 0xcd60                      |     goto label_10;
                                             |     do {
    0x0000cac0 lw v0, (v1)                   |         v0 = *(v1);
                                             | label_9:
    0x0000cac4 move v1, v0                   |         v1 = v0;
    0x0000cac8 bnel v0, zero, 0xcac0         |         
                                             |     } while (v0 == 0);
    0x0000cacc addiu v0, zero, 2             |     v0 = 2;
                                             | label_5:
    0x0000cad0 sw s2, (v1)                   |     *(v1) = s2;
    0x0000cad4 sw zero, (s2)                 |     *(s2) = 0;
    0x0000cad8 addiu v1, s2, 8               |     v1 = s2 + 8;
                                             |     if (s0 == v0) {
    0x0000cadc beq s0, v0, 0xcd04            |         goto label_11;
                                             |     }
                                             | label_2:
    0x0000cae0 lw t9, -0x7b88(gp)            |     t9 = sym.imp.strncpy;
    0x0000cae4 addiu a2, zero, 0x40          |     a2 = 0x40;
    0x0000cae8 move a1, s1                   |     a1 = s1;
    0x0000caec move a0, v1                   |     a0 = v1;
    0x0000caf0 jalr t9                       |     t9 ();
    0x0000caf4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000caf8 sw s4, 0x4c(s2)               |     *((s2 + 19)) = s4;
                                             | label_3:
    0x0000cafc sw s0, 4(s2)                  |     *((s2 + 1)) = s0;
    0x0000cb00 sb zero, 0x48(s2)             |     *((s2 + 72)) = 0;
    0x0000cb04 move s0, s3                   |     s0 = s3;
    0x0000cb08 move s1, zero                 |     s1 = 0;
                                             |     do {
    0x0000cb0c lw t9, -0x7c44(gp)            |         t9 = sym.imp.strlen;
    0x0000cb10 addiu a0, s0, 8               |         a0 = s0 + 8;
    0x0000cb14 jalr t9                       |         t9 ();
    0x0000cb18 lw s0, (s0)                   |         s0 = *(s0);
    0x0000cb1c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000cb20 addu s1, s1, v0               |         s1 += v0;
    0x0000cb24 bnez s0, 0xcb0c               |         
                                             |     } while (s0 != 0);
    0x0000cb28 lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
                                             |     if (s1 == 0) {
    0x0000cb2c beqz s1, 0xcd4c               |         goto label_12;
                                             |     }
    0x0000cb30 addiu a0, s1, 1               |     a0 = s1 + 1;
    0x0000cb34 jalr t9                       |     t9 ();
    0x0000cb38 move s1, v0                   |     s1 = v0;
    0x0000cb3c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000cb40 beqz v0, 0xcc64               |         goto label_13;
                                             |     }
    0x0000cb44 sb zero, (v0)                 |     *(v0) = 0;
    0x0000cb48 move s0, s3                   |     s0 = s3;
    0x0000cb4c move s5, zero                 |     s5 = 0;
    0x0000cb50 addiu s4, zero, 1             |     s4 = 1;
    0x0000cb54 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.strcat
                                             |     do {
    0x0000cb58 addiu a1, s0, 8               |         a1 = s0 + 8;
    0x0000cb5c move a0, s1                   |         a0 = s1;
    0x0000cb60 jalr t9                       |         t9 ();
    0x0000cb64 lw v0, 4(s0)                  |         v0 = *((s0 + 1));
    0x0000cb68 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == s4) {
    0x0000cb6c bne v0, s4, 0xcb74            |             
    0x0000cb70 lw s5, 0x4c(s3)               |             s5 = *((s3 + 19));
                                             |         }
    0x0000cb74 lw s0, (s0)                   |         s0 = *(s0);
    0x0000cb78 lw t9, -0x7ce0(gp)            |         t9 = sym.imp.strcat
    0x0000cb7c bnez s0, 0xcb58               |         
                                             |     } while (s0 != 0);
    0x0000cb80 lw t9, -0x7edc(gp)            |     t9 = sym.map_getParamByGroupAndMapping;
    0x0000cb84 move a1, s1                   |     a1 = s1;
    0x0000cb88 move a0, s5                   |     a0 = s5;
    0x0000cb8c bal 0x7744                    |     sym_map_getParamByGroupAndMapping ();
    0x0000cb90 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000cb94 move a0, s1                   |     a0 = s1;
    0x0000cb98 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x0000cb9c move s0, v0                   |     s0 = v0;
    0x0000cba0 jalr t9                       |     t9 ();
    0x0000cba4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000cba8 lw s1, -0x7fd4(gp)            |     s1 = *((gp - 8181));
                                             |     if (s0 == 0) {
    0x0000cbac beqz s0, 0xcd58               |         goto label_14;
                                             |     }
    0x0000cbb0 lw v0, -0x4670(s1)            |     v0 = *((s1 - 4508));
    0x0000cbb4 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     if (v0 != 0) {
    0x0000cbb8 beqz v0, 0xcbd8               |         
    0x0000cbbc lw t9, -0x7fc8(gp)            |         t9 = sym.fatald;
                                             |         /* str.No_double_mapping_allowed_ */
    0x0000cbc0 addiu a1, a1, 0x738c          |         a1 += 0x738c;
                                             | label_6:
    0x0000cbc4 lw a0, -0x7fc4(gp)            |         a0 = *(gp);
                                             |         /* str.mappinginterface.c */
    0x0000cbc8 addiu a0, a0, 0x7238          |         a0 += 0x7238;
    0x0000cbcc bal 0x199c0                   |         sym_fatald ();
    0x0000cbd0 addiu v0, zero, -1            |         v0 = -1;
    0x0000cbd4 b 0xcc40                      |         goto label_15;
                                             |     }
    0x0000cbd8 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000cbdc sw s0, -0x4670(s1)            |     *((s1 - 4508)) = s0;
    0x0000cbe0 sw s2, -0x4664(v0)            |     *((v0 - 4505)) = s2;
                                             |     do {
    0x0000cbe4 lw v0, 0x38(s0)               |         v0 = *((s0 + 14));
    0x0000cbe8 addiu v0, v0, -2              |         v0 += -2;
    0x0000cbec sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x0000cbf0 lw t9, -0x7ee0(gp)            |         t9 = sym.parser_setSynchronizationMode;
                                             |         if (v0 != 0) {
    0x0000cbf4 bnez v0, 0xcc94               |             goto label_16;
                                             |         }
    0x0000cbf8 move a0, zero                 |         a0 = 0;
    0x0000cbfc bal 0x958c                    |         sym_parser_setSynchronizationMode ();
    0x0000cc00 lw a0, -0x4670(s1)            |         a0 = *((s1 - 4508));
    0x0000cc04 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (a0 == 0) {
    0x0000cc08 beqz a0, 0xccac               |             goto label_17;
                                             |         }
                                             | label_0:
    0x0000cc0c lw v1, 0x38(a0)               |         v1 = *((a0 + 14));
    0x0000cc10 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000cc14 xori v0, v1, 2                |         v0 = v1 ^ 2;
    0x0000cc18 sltiu v0, v0, 1               |         v0 = (v0 < 1) ? 1 : 0;
    0x0000cc1c sw v0, -0x4674(a1)            |         *((a1 - 4509)) = v0;
    0x0000cc20 lw v0, -0x7fd4(gp)            |         v0 = *((gp - 8181));
                                             |         if (v1 != 0) {
    0x0000cc24 bnez v1, 0xcce8               |             goto label_18;
                                             |         }
    0x0000cc28 addiu v1, zero, 1             |         v1 = 1;
    0x0000cc2c sw v1, -0x4678(v0)            |         *((v0 - 4510)) = v1;
                                             | label_1:
    0x0000cc30 lw t9, -0x7ed8(gp)            |         t9 = sym.map_notifyParamHandled;
    0x0000cc34 bal 0x714c                    |         sym_map_notifyParamHandled ();
    0x0000cc38 nop                           |         
    0x0000cc3c move v0, zero                 |         v0 = 0;
                                             | label_15:
    0x0000cc40 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x0000cc44 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x0000cc48 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x0000cc4c lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x0000cc50 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x0000cc54 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0000cc58 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0000cc5c addiu sp, sp, 0x38            |         
    0x0000cc60 jr ra                         |         return v0;
                                             | label_13:
    0x0000cc64 lw s1, -0x7fd4(gp)            |         s1 = *((gp - 8181));
    0x0000cc68 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0000cc6c lw a0, -0x7fc4(gp)            |         a0 = *(gp);
    0x0000cc70 lw t9, -0x7fc8(gp)            |         t9 = sym.fatald;
                                             |         /* str.Memory_allocation_failed._Couldnt_allocate_Mapping_Path_buffer_ */
    0x0000cc74 addiu a1, a1, 0x7348          |         a1 += 0x7348;
                                             |         /* str.mappinginterface.c */
    0x0000cc78 addiu a0, a0, 0x7238          |         a0 += 0x7238;
    0x0000cc7c bal 0x199c0                   |         sym_fatald ();
    0x0000cc80 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000cc84 lw s0, -0x4670(s1)            |         s0 = *((s1 - 4508));
                                             | label_4:
    0x0000cc88 lw v0, -0x7fd4(gp)            |         v0 = *((gp - 8181));
    0x0000cc8c sw s2, -0x4664(v0)            |         *((v0 - 4505)) = s2;
    0x0000cc90 bnez s0, 0xcbe4               |         
                                             |     } while (s0 != 0);
                                             | label_16:
    0x0000cc94 lw t9, -0x7ee0(gp)            |     t9 = sym.parser_setSynchronizationMode;
    0x0000cc98 addiu a0, zero, 1             |     a0 = 1;
    0x0000cc9c bal 0x958c                    |     sym_parser_setSynchronizationMode ();
    0x0000cca0 lw a0, -0x4670(s1)            |     a0 = *((s1 - 4508));
    0x0000cca4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (a0 != 0) {
    0x0000cca8 bnez a0, 0xcc0c               |         goto label_0;
                                             |     }
                                             | label_17:
    0x0000ccac lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000ccb0 addiu v1, zero, 1             |     v1 = 1;
    0x0000ccb4 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0000ccb8 sw v1, -0x4674(v0)            |     *((v0 - 4509)) = v1;
    0x0000ccbc lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000ccc0 lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x0000ccc4 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x0000ccc8 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0000cccc lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0000ccd0 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0000ccd4 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0000ccd8 sw zero, -0x4678(v0)          |     *((v0 - 4510)) = 0;
    0x0000ccdc move v0, zero                 |     v0 = 0;
    0x0000cce0 addiu sp, sp, 0x38            |     
    0x0000cce4 jr ra                         |     return v0;
                                             | label_18:
    0x0000cce8 sw zero, -0x4678(v0)          |     *((v0 - 4510)) = 0;
    0x0000ccec b 0xcc30                      |     goto label_1;
                                             | label_8:
    0x0000ccf0 addiu v0, zero, 2             |     v0 = 2;
    0x0000ccf4 move s3, s2                   |     s3 = s2;
    0x0000ccf8 sw zero, (s2)                 |     *(s2) = 0;
    0x0000ccfc addiu v1, s2, 8               |     v1 = s2 + 8;
                                             |     if (s0 != v0) {
    0x0000cd00 bne s0, v0, 0xcae0            |         goto label_2;
                                             |     }
                                             | label_11:
    0x0000cd04 lw t9, -0x7d54(gp)            |     t9 = sym.imp.__strncat_chk;
    0x0000cd08 addiu v0, zero, 0x7b          |     v0 = 0x7b;
    0x0000cd0c move a0, v1                   |     a0 = v1;
    0x0000cd10 sb v0, 8(s2)                  |     *((s2 + 8)) = v0;
    0x0000cd14 addiu a3, zero, 0x41          |     a3 = 0x41;
    0x0000cd18 addiu a2, zero, 0x3e          |     a2 = 0x3e;
    0x0000cd1c move a1, s1                   |     a1 = s1;
    0x0000cd20 sb zero, 1(v1)                |     *((v1 + 1)) = 0;
    0x0000cd24 jalr t9                       |     t9 ();
    0x0000cd28 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000cd2c addiu a2, zero, 0x41          |     a2 = 0x41;
    0x0000cd30 move a0, v0                   |     a0 = v0;
    0x0000cd34 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0000cd38 lw t9, -0x7bd4(gp)            |     t9 = sym.imp.__strcat_chk
    0x0000cd3c addiu a1, a1, 0x7344          |     a1 += 0x7344;
    0x0000cd40 jalr t9                       |     t9 ();
    0x0000cd44 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000cd48 b 0xcafc                      |     goto label_3;
                                             | label_12:
    0x0000cd4c lw s1, -0x7fd4(gp)            |     s1 = *((gp - 8181));
    0x0000cd50 lw s0, -0x4670(s1)            |     s0 = *((s1 - 4508));
    0x0000cd54 b 0xcc88                      |     goto label_4;
                                             | label_14:
    0x0000cd58 lw s0, -0x4670(s1)            |     s0 = *((s1 - 4508));
    0x0000cd5c b 0xcc88                      |     goto label_4;
                                             | label_10:
    0x0000cd60 addiu v0, zero, 2             |     v0 = 2;
    0x0000cd64 b 0xcad0                      |     goto label_5;
                                             | label_7:
    0x0000cd68 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0000cd6c lw t9, -0x7fc8(gp)            |     t9 = sym.fatald;
                                             |     /* str.Memory_allocation_failed._Couldnt_allocate_Mapping_Context_Entry_ */
    0x0000cd70 addiu a1, a1, 0x7300          |     a1 += 0x7300;
    0x0000cd74 b 0xcbc4                      |     goto label_6;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x2063c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.delete_group ()              | void delete_group () {
    0x0002063c lui gp, 2                     |     
    0x00020640 addiu gp, gp, 0x2d14          |     
    0x00020644 addu gp, gp, t9               |     gp += t9;
    0x00020648 lw v0, -0x7c68(gp)            |     v0 = *((gp - 7962));
    0x0002064c addiu sp, sp, -0x1c0          |     
    0x00020650 lw t9, -0x7e80(gp)            |     t9 = sym.map_getGroupByPath;
    0x00020654 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00020658 lw v0, (v0)                   |     v0 = *(v0);
    0x0002065c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00020660 sw s0, 0x198(sp)              |     *(var_198h) = s0;
    0x00020664 sw ra, 0x1bc(sp)              |     *(var_1bch) = ra;
    0x00020668 sw fp, 0x1b8(sp)              |     *(var_1b8h) = fp;
    0x0002066c sw s7, 0x1b4(sp)              |     *(var_1b4h) = s7;
    0x00020670 sw s6, 0x1b0(sp)              |     *(var_1b0h) = s6;
    0x00020674 sw s5, 0x1ac(sp)              |     *(var_1ach) = s5;
    0x00020678 sw s4, 0x1a8(sp)              |     *(var_1a8h) = s4;
    0x0002067c sw s3, 0x1a4(sp)              |     *(var_1a4h) = s3;
    0x00020680 sw s2, 0x1a0(sp)              |     *(var_1a0h) = s2;
    0x00020684 sw s1, 0x19c(sp)              |     *(var_19ch) = s1;
    0x00020688 sw a0, 0x34(sp)               |     *(var_34h) = a0;
    0x0002068c sw a1, 0x1c4(sp)              |     *(arg_1c4h) = a1;
    0x00020690 sw v0, 0x194(sp)              |     *(var_194h) = v0;
    0x00020694 sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x00020698 move s0, a0                   |     s0 = a0;
    0x0002069c bal 0x7978                    |     sym_map_getGroupByPath ();
    0x000206a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000206a4 beqz v0, 0x21764              |         goto label_36;
                                             |     }
    0x000206a8 lw t9, -0x7d34(gp)            |     t9 = sym.imp.strdup;
    0x000206ac move a0, s0                   |     a0 = s0;
    0x000206b0 jalr t9                       |     t9 ();
    0x000206b4 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x000206b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000206bc beqz v0, 0x21778              |         goto label_37;
                                             |     }
    0x000206c0 lw t9, -0x7fc4(gp)            |     t9 = *(gp);
    0x000206c4 lw a0, 0x30(sp)               |     a0 = *(var_30h);
                                             |     /* fcn.0001cf08 */
    0x000206c8 addiu t9, t9, -0x30f8         |     t9 += -0x30f8;
    0x000206cc addiu a1, sp, 0x68            |     a1 = sp + 0x68;
    0x000206d0 bal 0x1cf08                   |     fcn_0001cf08 ();
    0x000206d4 lw s1, 0x68(sp)               |     s1 = *(var_68h);
    0x000206d8 lw a0, (s1)                   |     a0 = *(s1);
    0x000206dc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a0 == 0) {
    0x000206e0 beqz a0, 0x21888              |         goto label_38;
                                             |     }
    0x000206e4 lw v0, 4(s1)                  |     v0 = *((s1 + 1));
    0x000206e8 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
                                             |     if (v0 == 0) {
    0x000206ec beqz v0, 0x20c84              |         goto label_39;
                                             |     }
    0x000206f0 addiu s0, s1, 4               |     s0 = s1 + 4;
    0x000206f4 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x000206f8 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x000206fc sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x00020700 move s3, s0                   |     s3 = s0;
    0x00020704 move s2, zero                 |     s2 = 0;
                                             |     do {
    0x00020708 lw t9, -0x7c44(gp)            |         t9 = sym.imp.strlen;
    0x0002070c addiu s3, s3, 4               |         s3 += 4;
    0x00020710 jalr t9                       |         t9 ();
    0x00020714 lw a0, -4(s3)                 |         a0 = *((s3 - 1));
    0x00020718 addiu s2, s2, 1               |         s2++;
    0x0002071c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00020720 addu s2, s2, v0               |         s2 += v0;
    0x00020724 bnez a0, 0x20708              |         
                                             |     } while (a0 != 0);
    0x00020728 lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x0002072c move a0, s2                   |     a0 = s2;
    0x00020730 jalr t9                       |     t9 ();
    0x00020734 move s7, v0                   |     s7 = v0;
    0x00020738 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0002073c beqz v0, 0x21858              |         goto label_40;
                                             |     }
    0x00020740 lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x00020744 addiu a0, zero, 0xe           |     a0 = 0xe;
    0x00020748 jalr t9                       |     t9 ();
    0x0002074c sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00020750 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020754 beqz v0, 0x21818              |         goto label_41;
                                             |     }
    0x00020758 lw s4, -0x7fbc(gp)            |     s4 = *((gp - 8175));
    0x0002075c lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x00020760 lw s2, -0x7fc4(gp)            |     s2 = *(gp);
    0x00020764 lw fp, -0x7fbc(gp)            |     fp = *((gp - 8175));
    0x00020768 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x0002076c lw t9, -0x7d00(gp)            |     t9 = sym.imp.__sprintf_chk;
                                             |     /* str._tmp */
    0x00020770 addiu v0, v0, -0x6d4c         |     v0 += -0x6d4c;
                                             |     /* str.temp_grp */
    0x00020774 addiu s4, s4, -0x6d58         |     s4 += -0x6d58;
                                             |     /* str._s__s */
    0x00020778 addiu a3, fp, -0x7280         |     a3 = fp + -0x7280;
    0x0002077c addiu a2, zero, 0xe           |     a2 = 0xe;
    0x00020780 addiu a1, zero, 1             |     a1 = 1;
    0x00020784 move a0, s3                   |     a0 = s3;
    0x00020788 sw s2, 0x54(sp)               |     *(var_54h) = s2;
    0x0002078c sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x00020790 sw s4, 0x14(sp)               |     *(var_14h) = s4;
    0x00020794 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00020798 jalr t9                       |     t9 ();
    0x0002079c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000207a0 addiu a1, s2, 0x68e0          |     a1 = s2 + 0x68e0;
    0x000207a4 lw t9, -0x7cc8(gp)            |     t9 = sym.imp.fopen;
    0x000207a8 move a0, s3                   |     a0 = s3;
    0x000207ac jalr t9                       |     t9 ();
    0x000207b0 move s2, v0                   |     s2 = v0;
    0x000207b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000207b8 beqz v0, 0x21918              |         goto label_42;
                                             |     }
    0x000207bc sb zero, (s7)                 |     *(s7) = 0;
    0x000207c0 lw s6, (s1)                   |     s6 = *(s1);
    0x000207c4 move s3, zero                 |     s3 = 0;
    0x000207c8 addiu s5, zero, 0x2e          |     s5 = 0x2e;
                                             |     if (s6 != 0) {
    0x000207cc bnez s6, 0x20c68              |         goto label_43;
                                             |     }
                                             | label_1:
    0x000207d0 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000207d4 move a0, s7                   |     a0 = s7;
                                             |     /* fcn.0001dca8 */
    0x000207d8 addiu t9, v0, -0x2358         |     t9 = v0 + -0x2358;
    0x000207dc sw t9, 0x50(sp)               |     *(var_50h) = t9;
    0x000207e0 bal 0x1dca8                   |     fcn_0001dca8 ();
    0x000207e4 move s0, v0                   |     s0 = v0;
    0x000207e8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000207ec beqz v0, 0x21310              |         goto label_44;
                                             |     }
    0x000207f0 lw a1, -0x7fbc(gp)            |     a1 = *((gp - 8175));
    0x000207f4 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x000207f8 lw t9, -0x7cc8(gp)            |     t9 = sym.imp.fopen;
    0x000207fc lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x00020800 addiu a1, a1, -0x6754         |     a1 += -0x6754;
    0x00020804 jalr t9                       |     t9 ();
    0x00020808 move s3, v0                   |     s3 = v0;
    0x0002080c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020810 beqz v0, 0x21468              |         goto label_45;
                                             |     }
    0x00020814 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x00020818 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             | label_15:
    0x0002081c lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00020820 move s0, zero                 |     s0 = 0;
    0x00020824 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x00020828 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0002082c lw s6, -0x7fc4(gp)            |     s6 = *(gp);
                                             |     /* fcn.0001d1d8 */
    0x00020830 addiu v0, v0, -0x2e28         |     v0 += -0x2e28;
    0x00020834 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x00020838 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0002083c sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x00020840 addiu v0, v0, -0x2fd4         |     v0 += -0x2fd4;
    0x00020844 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00020848 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x0002084c sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00020850 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00020854 move v0, s0                   |     v0 = s0;
    0x00020858 move s4, zero                 |     s4 = 0;
    0x0002085c move s0, s1                   |     s0 = s1;
    0x00020860 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x00020864 addiu s5, sp, 0x6c            |     s5 = sp + 0x6c;
                                             |     /* str.group */
    0x00020868 addiu s6, s6, 0x6e58          |     s6 += 0x6e58;
    0x0002086c move s1, v0                   |     s1 = v0;
    0x00020870 b 0x20908                     |     
                                             |     while (v0 != 0) {
    0x00020874 lw a0, 0x70(sp)               |         a0 = *(var_70h);
    0x00020878 lw v0, 0x74(sp)               |         v0 = *(var_74h);
    0x0002087c lw t9, 0x38(sp)               |         t9 = *(var_38h);
                                             |         if (a0 == v0) {
    0x00020880 bne a0, v0, 0x208d8           |             
    0x00020884 addiu a2, sp, 0x74            |             a2 = sp + 0x74;
                                             |             if (s4 != 0) {
    0x00020888 bnez s4, 0x208dc              |                 goto label_46;
                                             |             }
    0x0002088c lw t9, -0x7c98(gp)            |             t9 = sym.imp.strstr;
    0x00020890 move a1, s6                   |             a1 = s6;
    0x00020894 move a0, s1                   |             a0 = s1;
    0x00020898 jalr t9                       |             t9 ();
    0x0002089c lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 != 0) {
    0x000208a0 beqz v0, 0x208d4              |                 
    0x000208a4 addiu v1, sp, 0x154           |                 v1 = sp + 0x154;
    0x000208a8 sw v1, 0x48(sp)               |                 *(var_48h) = v1;
    0x000208ac move a3, v1                   |                 a3 = v1;
    0x000208b0 lw v1, 0x40(sp)               |                 v1 = *(var_40h);
    0x000208b4 lw t9, -0x7cf4(gp)            |                 t9 = sym.imp.sscanf;
    0x000208b8 move a0, v0                   |                 a0 = v0;
    0x000208bc addiu a2, sp, 0x114           |                 a2 = sp + aav.0x00000114;
    0x000208c0 addiu a1, v1, -0x7278         |                 a1 = v1 + -0x7278;
    0x000208c4 jalr t9                       |                 t9 ();
    0x000208c8 addiu a0, zero, 2             |                 a0 = 2;
    0x000208cc lw gp, 0x20(sp)               |                 gp = *(var_20h);
                                             |                 if (v0 == a0) {
    0x000208d0 beq v0, a0, 0x212b4           |                     goto label_47;
                                             |                 }
                                             |             }
                                             | label_14:
    0x000208d4 lw t9, 0x38(sp)               |             t9 = *(var_38h);
                                             |         }
    0x000208d8 addiu a2, sp, 0x74            |         a2 = sp + 0x74;
                                             | label_46:
    0x000208dc addiu a1, sp, 0x70            |         a1 = sp + 0x70;
    0x000208e0 move a0, s1                   |         a0 = s1;
    0x000208e4 jalr t9                       |         t9 ();
    0x000208e8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000208ec move a0, s1                   |         a0 = s1;
    0x000208f0 lw t9, -0x7afc(gp)            |         t9 = sym.imp.fputs;
    0x000208f4 move a1, s2                   |         a1 = s2;
    0x000208f8 jalr t9                       |         t9 ();
    0x000208fc addiu a0, zero, -1            |         a0 = -1;
    0x00020900 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == a0) {
    0x00020904 beq v0, a0, 0x211e4           |             goto label_48;
                                             |         }
    0x00020908 lw t9, 0x28(sp)               |         t9 = *(var_28h);
                                             | label_33:
    0x0002090c move a1, s1                   |         a1 = s1;
    0x00020910 move a2, s5                   |         a2 = s5;
    0x00020914 move a0, s3                   |         a0 = s3;
    0x00020918 jalr t9                       |         t9 ();
    0x0002091c move s1, v0                   |         s1 = v0;
    0x00020920 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00020924 bnez v0, 0x20874              |         
                                             |     }
    0x00020928 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x0002092c move a0, s7                   |     a0 = s7;
    0x00020930 move s0, v0                   |     s0 = v0;
    0x00020934 jalr t9                       |     t9 ();
    0x00020938 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002093c lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00020940 move a0, s3                   |     a0 = s3;
    0x00020944 jalr t9                       |     t9 ();
    0x00020948 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002094c lw t9, -0x7bfc(gp)            |     t9 = sym.imp.fflush;
    0x00020950 move a0, s2                   |     a0 = s2;
    0x00020954 jalr t9                       |     t9 ();
    0x00020958 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002095c lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00020960 move a0, s2                   |     a0 = s2;
    0x00020964 jalr t9                       |     t9 ();
    0x00020968 lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x0002096c sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00020970 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020974 lw a0, (s4)                   |     a0 = *(s4);
    0x00020978 sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x0002097c addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a0 == 0) {
    0x00020980 beqz a0, 0x209b0              |         goto label_49;
                                             |     }
    0x00020984 addiu s3, s4, 4               |     s3 = s4 + 4;
    0x00020988 addiu s1, zero, 1             |     s1 = 1;
                                             |     do {
    0x0002098c lw t9, -0x7c44(gp)            |         t9 = sym.imp.strlen;
    0x00020990 addiu s3, s3, 4               |         s3 += 4;
    0x00020994 jalr t9                       |         t9 ();
    0x00020998 addiu s1, s1, 1               |         s1++;
    0x0002099c lw a0, -4(s3)                 |         a0 = *((s3 - 1));
    0x000209a0 addu s1, s1, v0               |         s1 += v0;
    0x000209a4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000209a8 move v0, s1                   |         v0 = s1;
    0x000209ac bnez a0, 0x2098c              |         
                                             |     } while (a0 != 0);
                                             | label_49:
    0x000209b0 lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x000209b4 move a0, v0                   |     a0 = v0;
    0x000209b8 jalr t9                       |     t9 ();
    0x000209bc move s1, v0                   |     s1 = v0;
    0x000209c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000209c4 beqz v0, 0x218cc              |         goto label_50;
                                             |     }
    0x000209c8 lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x000209cc addiu a0, zero, 0xe           |     a0 = 0xe;
    0x000209d0 jalr t9                       |     t9 ();
    0x000209d4 move s7, v0                   |     s7 = v0;
    0x000209d8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000209dc beqz v0, 0x2194c              |         goto label_51;
                                             |     }
    0x000209e0 lw s6, -0x7fbc(gp)            |     s6 = *((gp - 8175));
    0x000209e4 move a0, v0                   |     a0 = v0;
    0x000209e8 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x000209ec lw t9, -0x7d00(gp)            |     t9 = sym.imp.__sprintf_chk;
                                             |     /* str.temp_par */
    0x000209f0 addiu s6, s6, -0x6d64         |     s6 += -0x6d64;
                                             |     /* str._s__s */
    0x000209f4 addiu a3, fp, -0x7280         |     a3 = fp + -0x7280;
    0x000209f8 addiu a2, zero, 0xe           |     a2 = 0xe;
    0x000209fc addiu a1, zero, 1             |     a1 = 1;
    0x00020a00 sw s6, 0x14(sp)               |     *(var_14h) = s6;
    0x00020a04 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00020a08 jalr t9                       |     t9 ();
    0x00020a0c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020a10 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x00020a14 move a0, s7                   |     a0 = s7;
    0x00020a18 lw t9, -0x7cc8(gp)            |     t9 = sym.imp.fopen;
    0x00020a1c addiu a1, v0, 0x68e0          |     a1 = v0 + 0x68e0;
    0x00020a20 jalr t9                       |     t9 ();
    0x00020a24 move s5, v0                   |     s5 = v0;
    0x00020a28 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020a2c beqz v0, 0x2199c              |         goto label_52;
                                             |     }
    0x00020a30 lw a3, -0x7fbc(gp)            |     a3 = *((gp - 8175));
    0x00020a34 lw v0, (s4)                   |     v0 = *(s4);
    0x00020a38 lw t9, -0x7d00(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00020a3c sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* esilref: '[&s' */
    0x00020a40 addiu a3, a3, -0x6f94         |     a3 += -0x6f94;
    0x00020a44 addiu a2, zero, -1            |     a2 = -1;
    0x00020a48 addiu a1, zero, 1             |     a1 = 1;
    0x00020a4c move a0, s1                   |     a0 = s1;
    0x00020a50 jalr t9                       |     t9 ();
    0x00020a54 lw fp, 4(s4)                  |     fp = *((s4 + 1));
    0x00020a58 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (fp == 0) {
    0x00020a5c beqz fp, 0x2175c              |         goto label_53;
                                             |     }
    0x00020a60 addiu s4, s4, 8               |     s4 += 8;
    0x00020a64 move s3, zero                 |     s3 = 0;
    0x00020a68 addiu s2, zero, 0x2e          |     s2 = 0x2e;
    0x00020a6c b 0x20aa8                     |     
                                             |     while (v0 != 0) {
    0x00020a70 move a0, s1                   |         a0 = s1;
    0x00020a74 jalr t9                       |         t9 ();
    0x00020a78 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00020a7c addu v1, s1, v0               |         v1 = s1 + v0;
    0x00020a80 addiu v0, v0, 1               |         v0++;
    0x00020a84 lw t9, -0x7c60(gp)            |         t9 = sym.map_getChildGroupByParentGroupAndNr;
    0x00020a88 addiu s4, s4, 4               |         s4 += 4;
    0x00020a8c move a1, fp                   |         a1 = fp;
    0x00020a90 sb s2, (v1)                   |         *(v1) = s2;
    0x00020a94 addu a0, s1, v0               |         a0 = s1 + v0;
    0x00020a98 jalr t9                       |         t9 ();
    0x00020a9c lw fp, -4(s4)                 |         fp = *((s4 - 1));
    0x00020aa0 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (fp == 0) {
    0x00020aa4 beqz fp, 0x20ac8              |             goto label_29;
                                             |         }
    0x00020aa8 lw v0, (s4)                   |         v0 = *(s4);
                                             | label_0:
    0x00020aac lw t9, -0x7c44(gp)            |         t9 = sym.imp.strlen;
    0x00020ab0 bnez v0, 0x20a70              |         
                                             |     }
    0x00020ab4 addiu s4, s4, 4               |     s4 += 4;
    0x00020ab8 move s3, fp                   |     s3 = fp;
    0x00020abc lw fp, -4(s4)                 |     fp = *((s4 - 1));
    0x00020ac0 lw v0, (s4)                   |     v0 = *(s4);
                                             |     if (fp == 0) {
    0x00020ac4 bnel fp, zero, 0x20aac        |         goto label_0;
                                             |     }
                                             | label_29:
    0x00020ac8 addiu s4, s1, 1               |     s4 = s1 + 1;
    0x00020acc lw t9, 0x50(sp)               |     t9 = *(var_50h);
    0x00020ad0 move a0, s4                   |     a0 = s4;
    0x00020ad4 jalr t9                       |     t9 ();
    0x00020ad8 move fp, v0                   |     fp = v0;
    0x00020adc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020ae0 beqz v0, 0x21594              |         goto label_54;
                                             |     }
    0x00020ae4 lw a1, -0x7fbc(gp)            |     a1 = *((gp - 8175));
    0x00020ae8 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00020aec lw t9, -0x7cc8(gp)            |     t9 = sym.imp.fopen;
    0x00020af0 lw a0, 0xc(v0)                |     a0 = *((v0 + 3));
    0x00020af4 addiu a1, a1, -0x6754         |     a1 += -0x6754;
    0x00020af8 jalr t9                       |     t9 ();
    0x00020afc move s2, v0                   |     s2 = v0;
    0x00020b00 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020b04 beqz v0, 0x21630              |         goto label_55;
                                             |     }
    0x00020b08 lw v0, 0xc(fp)                |     v0 = *(arg_ch);
    0x00020b0c sw v0, 0x38(sp)               |     *(var_38h) = v0;
                                             | label_26:
    0x00020b10 lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
    0x00020b14 move a0, s1                   |     a0 = s1;
    0x00020b18 jalr t9                       |     t9 ();
    0x00020b1c addu v1, s1, v0               |     v1 = s1 + v0;
    0x00020b20 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020b24 addiu v0, v0, 1               |     v0++;
    0x00020b28 addiu a0, zero, 0x2e          |     a0 = 0x2e;
    0x00020b2c sb a0, (v1)                   |     *(v1) = a0;
    0x00020b30 addu a0, s1, v0               |     a0 = s1 + v0;
    0x00020b34 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00020b38 lw t9, -0x7bb8(gp)            |     t9 = sym.imp.stpcpy;
    0x00020b3c move a1, s3                   |     a1 = s3;
    0x00020b40 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00020b44 jalr t9                       |     t9 ();
    0x00020b48 subu s4, v0, s1               |     __asm ("subu s4, v0, s1");
    0x00020b4c addiu fp, sp, 0x74            |     fp = sp + 0x74;
    0x00020b50 addiu s3, zero, 0x5d          |     s3 = 0x5d;
                                             |     do {
                                             | label_16:
    0x00020b54 lw t9, 0x28(sp)               |         t9 = *(var_28h);
    0x00020b58 move a1, s0                   |         a1 = s0;
    0x00020b5c move a2, fp                   |         a2 = fp;
    0x00020b60 move a0, s2                   |         a0 = s2;
    0x00020b64 jalr t9                       |         t9 ();
    0x00020b68 move s0, v0                   |         s0 = v0;
    0x00020b6c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00020b70 beqz v0, 0x214d0              |             goto label_56;
                                             |         }
    0x00020b74 lw t9, -0x7c98(gp)            |         t9 = sym.imp.strstr;
    0x00020b78 move a1, s1                   |         a1 = s1;
    0x00020b7c move a0, s0                   |         a0 = s0;
    0x00020b80 jalr t9                       |         t9 ();
    0x00020b84 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x00020b88 beqz v0, 0x20ba4              |             
    0x00020b8c addu v0, v0, s4               |             v0 += s4;
    0x00020b90 lb v0, (v0)                   |             v0 = *(v0);
    0x00020b94 addiu v1, zero, 0x2e          |             v1 = 0x2e;
                                             |             if (v0 == s3) {
    0x00020b98 beq v0, s3, 0x213cc           |                 goto label_57;
                                             |             }
                                             |             if (v0 == v1) {
    0x00020b9c beql v0, v1, 0x213d0          |                 goto label_58;
                                             |             }
    0x00020ba0 addiu s6, zero, 0x2e          |             s6 = 0x2e;
                                             |         }
                                             | label_18:
    0x00020ba4 lw t9, -0x7afc(gp)            |         t9 = sym.imp.fputs;
                                             | label_20:
    0x00020ba8 move a1, s5                   |         a1 = s5;
    0x00020bac move a0, s0                   |         a0 = s0;
    0x00020bb0 jalr t9                       |         t9 ();
    0x00020bb4 addiu v1, zero, -1            |         v1 = -1;
    0x00020bb8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00020bbc bne v0, v1, 0x20b54           |         
                                             |     } while (v0 != v1);
    0x00020bc0 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00020bc4 move a0, s2                   |     a0 = s2;
    0x00020bc8 jalr t9                       |     t9 ();
    0x00020bcc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020bd0 lw t9, -0x7bfc(gp)            |     t9 = sym.imp.fflush;
    0x00020bd4 move a0, s5                   |     a0 = s5;
    0x00020bd8 jalr t9                       |     t9 ();
    0x00020bdc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020be0 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00020be4 move a0, s5                   |     a0 = s5;
    0x00020be8 jalr t9                       |     t9 ();
    0x00020bec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020bf0 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00020bf4 move a0, s1                   |     a0 = s1;
    0x00020bf8 jalr t9                       |     t9 ();
    0x00020bfc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020c00 lw t9, -0x7ca8(gp)            |     t9 = sym.imp.remove;
    0x00020c04 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00020c08 jalr t9                       |     t9 ();
    0x00020c0c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020c10 lw t9, -0x7ca8(gp)            |     t9 = sym.imp.remove;
    0x00020c14 move a0, s7                   |     a0 = s7;
    0x00020c18 jalr t9                       |     t9 ();
    0x00020c1c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020c20 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x00020c24 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00020c28 b 0x2127c                     |     goto label_27;
                                             | label_4:
    0x00020c2c move a0, s7                   |     a0 = s7;
    0x00020c30 jalr t9                       |     t9 ();
    0x00020c34 addu v0, s7, v0               |     v0 = s7 + v0;
    0x00020c38 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020c3c sb s5, (v0)                   |     *(v0) = s5;
    0x00020c40 sb zero, 1(v0)                |     *((v0 + 1)) = 0;
    0x00020c44 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.strcat
                                             | label_3:
    0x00020c48 move a1, s6                   |     a1 = s6;
    0x00020c4c move a0, s7                   |     a0 = s7;
    0x00020c50 jalr t9                       |     t9 ();
    0x00020c54 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020c58 addiu s0, s0, 4               |     s0 += 4;
                                             | label_2:
    0x00020c5c lw s6, -4(s0)                 |     s6 = *((s0 - 1));
    0x00020c60 addiu s3, s3, 1               |     s3++;
                                             |     if (s6 == 0) {
    0x00020c64 beqz s6, 0x207d0              |         goto label_1;
                                             |     }
                                             | label_43:
    0x00020c68 lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (v0 == 0) {
    0x00020c6c beql v0, zero, 0x20c5c        |         goto label_2;
                                             |     }
    0x00020c70 addiu s0, s0, 4               |     s0 += 4;
                                             |     if (s3 == 0) {
    0x00020c74 beql s3, zero, 0x20c48        |         goto label_3;
                                             |     }
    0x00020c78 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.strcat
    0x00020c7c lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
    0x00020c80 b 0x20c2c                     |     goto label_4;
                                             | label_39:
    0x00020c84 addiu v0, zero, 1             |     v0 = 1;
    0x00020c88 sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x00020c8c sw v0, 0x80(sp)               |     *(var_80h) = v0;
    0x00020c90 move s7, zero                 |     s7 = 0;
                                             | label_23:
    0x00020c94 addiu s0, s1, 4               |     s0 = s1 + 4;
    0x00020c98 move s2, zero                 |     s2 = 0;
                                             |     do {
    0x00020c9c lw t9, -0x7c44(gp)            |         t9 = sym.imp.strlen;
    0x00020ca0 addiu s0, s0, 4               |         s0 += 4;
    0x00020ca4 jalr t9                       |         t9 ();
    0x00020ca8 lw a0, -4(s0)                 |         a0 = *((s0 - 1));
    0x00020cac addiu v0, v0, 1               |         v0++;
    0x00020cb0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00020cb4 addu s2, s2, v0               |         s2 += v0;
    0x00020cb8 bnez a0, 0x20c9c              |         
                                             |     } while (a0 != 0);
                                             | label_24:
    0x00020cbc lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x00020cc0 move a0, s2                   |     a0 = s2;
    0x00020cc4 jalr t9                       |     t9 ();
    0x00020cc8 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x00020ccc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020cd0 beqz v0, 0x218ec              |         goto label_59;
                                             |     }
    0x00020cd4 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x00020cd8 sb zero, (s3)                 |     *(s3) = 0;
    0x00020cdc lw s2, (s1)                   |     s2 = *(s1);
    0x00020ce0 addiu s1, s1, 4               |     s1 += 4;
                                             |     if (s2 == 0) {
    0x00020ce4 beqz s2, 0x21460              |         goto label_60;
                                             |     }
    0x00020ce8 addiu s0, zero, 0x2e          |     s0 = 0x2e;
    0x00020cec lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
                                             |     do {
    0x00020cf0 move a0, s3                   |         a0 = s3;
    0x00020cf4 jalr t9                       |         t9 ();
    0x00020cf8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00020cfc move a1, s2                   |         a1 = s2;
    0x00020d00 lw t9, -0x7bb8(gp)            |         t9 = sym.imp.stpcpy;
    0x00020d04 addu a0, s3, v0               |         a0 = s3 + v0;
    0x00020d08 jalr t9                       |         t9 ();
    0x00020d0c lw s2, (s1)                   |         s2 = *(s1);
    0x00020d10 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s2 == 0) {
    0x00020d14 beqz s2, 0x21460              |             goto label_60;
                                             |         }
    0x00020d18 addiu s1, s1, 4               |         s1 += 4;
    0x00020d1c lw v1, (s1)                   |         v1 = *(s1);
    0x00020d20 lw t9, -0x7c44(gp)            |         t9 = sym.imp.strlen;
                                             |         if (v1 == 0) {
    0x00020d24 beqz v1, 0x20d34              |             goto label_61;
                                             |         }
    0x00020d28 sb s0, (v0)                   |         *(v0) = s0;
    0x00020d2c sb zero, 1(v0)                |         *((v0 + 1)) = 0;
    0x00020d30 b 0x20cf0                     |         
                                             |     } while (1);
                                             | label_61:
    0x00020d34 move a0, s2                   |     a0 = s2;
    0x00020d38 jalr t9                       |     t9 ();
    0x00020d3c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020d40 move a0, v0                   |     a0 = v0;
                                             | label_22:
    0x00020d44 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00020d48 lw v1, -0x7fbc(gp)            |     v1 = *((gp - 8175));
                                             |     /* fcn.0001d93c */
    0x00020d4c addiu v0, v0, -0x26c4         |     v0 += -0x26c4;
    0x00020d50 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x00020d54 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x00020d58 sw v1, 0x38(sp)               |     *(var_38h) = v1;
                                             |     /* str..conf */
    0x00020d5c addiu v0, v0, -0x6f50         |     v0 += -0x6f50;
    0x00020d60 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x00020d64 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00020d68 lw v1, -0x7fbc(gp)            |     v1 = *((gp - 8175));
                                             |     /* fcn.0001d0dc */
    0x00020d6c addiu v0, v0, -0x2f24         |     v0 += -0x2f24;
    0x00020d70 sw v1, 0x48(sp)               |     *(var_48h) = v1;
    0x00020d74 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00020d78 lw v1, -0x7fbc(gp)            |     v1 = *((gp - 8175));
    0x00020d7c lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x00020d80 sw v1, 0x64(sp)               |     *(var_64h) = v1;
    0x00020d84 addiu s6, sp, 0x78            |     s6 = sp + 0x78;
    0x00020d88 addiu v1, sp, 0x7c            |     v1 = sp + 0x7c;
                                             |     /* esilref: '..' */
    0x00020d8c addiu v0, v0, -0x6f44         |     v0 += -0x6f44;
    0x00020d90 sw s7, 0x60(sp)               |     *(var_60h) = s7;
    0x00020d94 addiu s3, sp, 0x84            |     s3 = sp + 0x84;
    0x00020d98 move a2, zero                 |     a2 = 0;
    0x00020d9c sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00020da0 move s7, v1                   |     s7 = v1;
    0x00020da4 move fp, a0                   |     fp = a0;
    0x00020da8 sw s6, 0x5c(sp)               |     *(var_5ch) = s6;
                                             | label_8:
    0x00020dac lw a1, 0x5c(sp)               |     a1 = *(var_5ch);
    0x00020db0 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00020db4 lw t9, 0x4c(sp)               |     t9 = *(var_4ch);
    0x00020db8 addiu a3, zero, 1             |     a3 = 1;
    0x00020dbc sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00020dc0 jalr t9                       |     t9 ();
    0x00020dc4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00020dc8 beqz v0, 0x20ddc              |         
    0x00020dcc lw t9, -0x7c2c(gp)            |         t9 = sym.imp.fclose;
    0x00020dd0 move a0, v0                   |         a0 = v0;
    0x00020dd4 jalr t9                       |         t9 ();
    0x00020dd8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x00020ddc lw s0, 0x78(sp)               |     s0 = *(var_78h);
    0x00020de0 lw t9, -0x7bbc(gp)            |     t9 = sym.imp.strrchr;
    0x00020de4 addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x00020de8 move a0, s0                   |     a0 = s0;
    0x00020dec jalr t9                       |     t9 ();
    0x00020df0 addiu fp, fp, 1               |     fp++;
    0x00020df4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020df8 beqz v0, 0x21168              |         goto label_62;
                                             |     }
    0x00020dfc lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
    0x00020e00 addiu s0, v0, 1               |     s0 = v0 + 1;
    0x00020e04 move a0, s0                   |     a0 = s0;
    0x00020e08 sb zero, (v0)                 |     *(v0) = 0;
    0x00020e0c jalr t9                       |     t9 ();
    0x00020e10 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020e14 addu a0, v0, fp               |     a0 = v0 + fp;
    0x00020e18 move s5, v0                   |     s5 = v0;
    0x00020e1c lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x00020e20 lw s4, 0x78(sp)               |     s4 = *(var_78h);
    0x00020e24 jalr t9                       |     t9 ();
    0x00020e28 move s1, v0                   |     s1 = v0;
    0x00020e2c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020e30 beqz v0, 0x216bc              |         goto label_63;
                                             |     }
    0x00020e34 lw t9, -0x7c38(gp)            |     t9 = sym.imp.memcpy;
    0x00020e38 addiu a2, s5, 1               |     a2 = s5 + 1;
    0x00020e3c move a1, s0                   |     a1 = s0;
    0x00020e40 move a0, v0                   |     a0 = v0;
    0x00020e44 jalr t9                       |     t9 ();
    0x00020e48 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020e4c lw t9, -0x7c04(gp)            |     t9 = sym.imp.opendir;
    0x00020e50 move a0, s4                   |     a0 = s4;
    0x00020e54 jalr t9                       |     t9 ();
    0x00020e58 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020e5c move s5, v0                   |     s5 = v0;
                                             | label_10:
    0x00020e60 lw t9, -0x7c98(gp)            |     t9 = sym.imp.strstr;
                                             |     if (s5 == 0) {
    0x00020e64 beqz s5, 0x216f8              |         goto label_64;
                                             |     }
    0x00020e68 lw a1, 0x50(sp)               |     a1 = *(var_50h);
    0x00020e6c move a0, s1                   |     a0 = s1;
    0x00020e70 jalr t9                       |     t9 ();
    0x00020e74 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020e78 beqz v0, 0x21744              |         goto label_65;
                                             |     }
    0x00020e7c lw v1, 0x64(sp)               |     v1 = *(var_64h);
                                             |     if (s2 == 0) {
    0x00020e80 beqz s2, 0x21160              |         goto label_66;
                                             |     }
    0x00020e84 lw t9, -0x7d00(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00020e88 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x00020e8c addiu a3, v1, -0x6f48         |     a3 = v1 + -0x6f48;
    0x00020e90 addiu a2, zero, -1            |     a2 = -1;
    0x00020e94 addiu a1, zero, 1             |     a1 = 1;
    0x00020e98 move a0, v0                   |     a0 = v0;
    0x00020e9c jalr t9                       |     t9 ();
                                             | label_9:
    0x00020ea0 lw t9, 0x54(sp)               |     t9 = *(var_54h);
    0x00020ea4 move a0, s1                   |     a0 = s1;
    0x00020ea8 jalr t9                       |     t9 ();
    0x00020eac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020eb0 lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
    0x00020eb4 move a0, s1                   |     a0 = s1;
    0x00020eb8 jalr t9                       |     t9 ();
    0x00020ebc move fp, v0                   |     fp = v0;
    0x00020ec0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020ec4 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x00020ec8 addiu v0, v0, -0x6f34         |     v0 += -0x6f34;
    0x00020ecc sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00020ed0 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x00020ed4 sw v0, 0x44(sp)               |     *(var_44h) = v0;
                                             |     do {
                                             | label_5:
    0x00020ed8 lw t9, -0x7bdc(gp)            |         t9 = sym.imp.readdir;
                                             | label_7:
    0x00020edc move a0, s5                   |         a0 = s5;
    0x00020ee0 jalr t9                       |         t9 ();
    0x00020ee4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00020ee8 beqz v0, 0x20ffc              |             goto label_21;
                                             |         }
                                             | label_6:
    0x00020eec lw t9, -0x7d40(gp)            |         t9 = sym.imp.strcmp;
    0x00020ef0 addiu s0, v0, 0xb             |         s0 = v0 + 0xb;
    0x00020ef4 lw a1, 0x40(sp)               |         a1 = *(var_40h);
    0x00020ef8 move a0, s0                   |         a0 = s0;
    0x00020efc jalr t9                       |         t9 ();
    0x00020f00 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00020f04 beqz v0, 0x20ed8              |         
                                             |     } while (v0 == 0);
    0x00020f08 lw t9, -0x7d40(gp)            |     t9 = sym.imp.strcmp;
    0x00020f0c lw a1, 0x58(sp)               |     a1 = *(var_58h);
    0x00020f10 move a0, s0                   |     a0 = s0;
    0x00020f14 jalr t9                       |     t9 ();
    0x00020f18 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020f1c beqz v0, 0x20ed8              |         goto label_5;
                                             |     }
    0x00020f20 lw t9, -0x7d04(gp)            |     t9 = sym.imp.strncmp;
    0x00020f24 move a2, fp                   |     a2 = fp;
    0x00020f28 move a1, s0                   |     a1 = s0;
    0x00020f2c move a0, s1                   |     a0 = s1;
    0x00020f30 jalr t9                       |     t9 ();
    0x00020f34 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00020f38 bnez v0, 0x20ed8              |         goto label_5;
                                             |     }
    0x00020f3c lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s4 == 0) {
    0x00020f40 beqz s4, 0x21114              |         goto label_67;
                                             |     }
    0x00020f44 move a0, s4                   |     a0 = s4;
    0x00020f48 jalr t9                       |     t9 ();
    0x00020f4c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020f50 move a0, s0                   |     a0 = s0;
    0x00020f54 lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
    0x00020f58 move s6, v0                   |     s6 = v0;
    0x00020f5c jalr t9                       |     t9 ();
    0x00020f60 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020f64 addu v0, s6, v0               |     v0 = s6 + v0;
    0x00020f68 lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x00020f6c addiu a0, v0, 2               |     a0 = v0 + 2;
    0x00020f70 jalr t9                       |     t9 ();
    0x00020f74 move s6, v0                   |     s6 = v0;
    0x00020f78 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020f7c beqz v0, 0x21438              |         goto label_68;
                                             |     }
    0x00020f80 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x00020f84 lw t9, -0x7d00(gp)            |     t9 = sym.imp.__sprintf_chk;
    0x00020f88 addiu a3, v0, -0x7280         |     a3 = v0 + -0x7280;
    0x00020f8c addiu a2, zero, -1            |     a2 = -1;
    0x00020f90 addiu a1, zero, 1             |     a1 = 1;
    0x00020f94 move a0, s6                   |     a0 = s6;
    0x00020f98 sw s0, 0x14(sp)               |     *(var_14h) = s0;
    0x00020f9c sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x00020fa0 jalr t9                       |     t9 ();
    0x00020fa4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020fa8 move a2, s3                   |     a2 = s3;
    0x00020fac move a1, s6                   |     a1 = s6;
    0x00020fb0 lw t9, -0x7b50(gp)            |     t9 = sym.imp.__xstat;
    0x00020fb4 addiu a0, zero, 3             |     a0 = 3;
    0x00020fb8 jalr t9                       |     t9 ();
    0x00020fbc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00020fc0 bnez v0, 0x20fd8              |         
    0x00020fc4 lw v0, 0x98(sp)               |         v0 = *(var_98h);
    0x00020fc8 ori v1, zero, 0x8000          |         v1 = 0x8000;
    0x00020fcc andi v0, v0, 0xf000           |         v0 &= 0xf000;
    0x00020fd0 lw t9, -0x7ca8(gp)            |         t9 = sym.imp.remove;
                                             |         if (v0 == v1) {
    0x00020fd4 beq v0, v1, 0x212a4           |             goto label_69;
                                             |         }
                                             |     }
                                             | label_13:
    0x00020fd8 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00020fdc move a0, s6                   |     a0 = s6;
    0x00020fe0 jalr t9                       |     t9 ();
    0x00020fe4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00020fe8 lw t9, -0x7bdc(gp)            |     t9 = sym.imp.readdir;
    0x00020fec move a0, s5                   |     a0 = s5;
    0x00020ff0 jalr t9                       |     t9 ();
    0x00020ff4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00020ff8 bnez v0, 0x20eec              |         goto label_6;
                                             |     }
                                             | label_21:
    0x00020ffc lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021000 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00021004 addiu s7, s7, 4               |     s7 += 4;
    0x00021008 jalr t9                       |     t9 ();
    0x0002100c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021010 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021014 move a0, s1                   |     a0 = s1;
    0x00021018 jalr t9                       |     t9 ();
    0x0002101c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021020 lw t9, -0x7c8c(gp)            |     t9 = sym.imp.closedir;
    0x00021024 move a0, s5                   |     a0 = s5;
    0x00021028 jalr t9                       |     t9 ();
    0x0002102c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s3 != s7) {
    0x00021030 bne s3, s7, 0x21158           |         goto label_70;
                                             |     }
    0x00021034 lw s7, 0x60(sp)               |     s7 = *(var_60h);
                                             | label_28:
    0x00021038 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x0002103c lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x00021040 jalr t9                       |     t9 ();
    0x00021044 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_34:
    0x00021048 lw v0, 0x1c4(sp)              |     v0 = *(arg_1c4h);
    0x0002104c sltiu v0, v0, 9               |     v0 = (v0 < 9) ? 1 : 0;
    0x00021050 lw t9, -0x7da0(gp)            |     t9 = sym.map_removeGroupByPath;
                                             |     if (v0 != 0) {
    0x00021054 bnez v0, 0x211cc              |         goto label_71;
                                             |     }
    0x00021058 lw a2, 0x1c4(sp)              |     a2 = *(arg_1c4h);
    0x0002105c lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x00021060 addiu a1, zero, 1             |     a1 = 1;
    0x00021064 bal 0x8250                    |     sym_map_removeGroupByPath ();
    0x00021068 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_11:
    0x0002106c lw a1, -0x7fbc(gp)            |     a1 = *((gp - 8175));
    0x00021070 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00021074 lw t9, -0x7fb8(gp)            |     t9 = sym.loginfo;
    0x00021078 lw a2, 0x34(sp)               |     a2 = *(var_34h);
                                             |     /* str.Deleted__s. */
    0x0002107c addiu a1, a1, -0x6f40         |     a1 += -0x6f40;
    0x00021080 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x00021084 bal 0x19b04                   |     sym_loginfo ();
    0x00021088 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002108c move s0, zero                 |     s0 = 0;
                                             | label_12:
    0x00021090 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021094 lw a0, 0x68(sp)               |     a0 = *(var_68h);
    0x00021098 jalr t9                       |     t9 ();
    0x0002109c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000210a0 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x000210a4 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x000210a8 jalr t9                       |     t9 ();
    0x000210ac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000210b0 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x000210b4 move a0, s7                   |     a0 = s7;
    0x000210b8 jalr t9                       |     t9 ();
    0x000210bc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000210c0 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x000210c4 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x000210c8 jalr t9                       |     t9 ();
    0x000210cc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_30:
    0x000210d0 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x000210d4 lw a0, 0x194(sp)              |     a0 = *(var_194h);
    0x000210d8 lw v1, (v0)                   |     v1 = *(v0);
    0x000210dc move v0, s0                   |     v0 = s0;
                                             |     if (a0 != v1) {
    0x000210e0 bne a0, v1, 0x21a74           |         goto label_72;
                                             |     }
    0x000210e4 lw ra, 0x1bc(sp)              |     ra = *(var_1bch);
    0x000210e8 lw fp, 0x1b8(sp)              |     fp = *(var_1b8h);
    0x000210ec lw s7, 0x1b4(sp)              |     s7 = *(var_1b4h);
    0x000210f0 lw s6, 0x1b0(sp)              |     s6 = *(var_1b0h);
    0x000210f4 lw s5, 0x1ac(sp)              |     s5 = *(var_1ach);
    0x000210f8 lw s4, 0x1a8(sp)              |     s4 = *(var_1a8h);
    0x000210fc lw s3, 0x1a4(sp)              |     s3 = *(var_1a4h);
    0x00021100 lw s2, 0x1a0(sp)              |     s2 = *(var_1a0h);
    0x00021104 lw s1, 0x19c(sp)              |     s1 = *(var_19ch);
    0x00021108 lw s0, 0x198(sp)              |     s0 = *(var_198h);
    0x0002110c addiu sp, sp, 0x1c0           |     
    0x00021110 jr ra                         |     return v0;
                                             | label_67:
    0x00021114 lw t9, -0x7b50(gp)            |     t9 = sym.imp.__xstat;
    0x00021118 move a2, s3                   |     a2 = s3;
    0x0002111c move a1, s0                   |     a1 = s0;
    0x00021120 addiu a0, zero, 3             |     a0 = 3;
    0x00021124 jalr t9                       |     t9 ();
    0x00021128 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0002112c bnez v0, 0x20ed8              |         goto label_5;
                                             |     }
    0x00021130 lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x00021134 ori v1, zero, 0x8000          |     v1 = 0x8000;
    0x00021138 andi v0, v0, 0xf000           |     v0 &= 0xf000;
    0x0002113c lw t9, -0x7bdc(gp)            |     t9 = sym.imp.readdir;
                                             |     if (v0 != v1) {
    0x00021140 bne v0, v1, 0x20edc           |         goto label_7;
                                             |     }
    0x00021144 lw t9, -0x7ca8(gp)            |     t9 = sym.imp.remove;
    0x00021148 move a0, s0                   |     a0 = s0;
    0x0002114c jalr t9                       |     t9 ();
    0x00021150 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021154 b 0x20ed8                     |     goto label_5;
                                             | label_70:
    0x00021158 lw a2, (s7)                   |     a2 = *(s7);
    0x0002115c b 0x20dac                     |     goto label_8;
                                             | label_66:
    0x00021160 sb zero, (v0)                 |     *(v0) = 0;
    0x00021164 b 0x20ea0                     |     goto label_9;
                                             | label_62:
    0x00021168 lw t9, -0x7c44(gp)            |     t9 = sym.imp.strlen;
    0x0002116c move a0, s0                   |     a0 = s0;
    0x00021170 jalr t9                       |     t9 ();
    0x00021174 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021178 addu a0, v0, fp               |     a0 = v0 + fp;
    0x0002117c lw t9, -0x7cac(gp)            |     t9 = sym.imp.malloc;
    0x00021180 move s4, v0                   |     s4 = v0;
    0x00021184 jalr t9                       |     t9 ();
    0x00021188 move s1, v0                   |     s1 = v0;
    0x0002118c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00021190 beqz v0, 0x216bc              |         goto label_63;
                                             |     }
    0x00021194 lw t9, -0x7c38(gp)            |     t9 = sym.imp.memcpy;
    0x00021198 addiu a2, s4, 1               |     a2 = s4 + 1;
    0x0002119c move a1, s0                   |     a1 = s0;
    0x000211a0 move a0, v0                   |     a0 = v0;
    0x000211a4 jalr t9                       |     t9 ();
    0x000211a8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000211ac lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x000211b0 move s4, zero                 |     s4 = 0;
    0x000211b4 lw t9, -0x7c04(gp)            |     t9 = sym.imp.opendir;
    0x000211b8 addiu a0, v0, -0x6f34         |     a0 = v0 + -0x6f34;
    0x000211bc jalr t9                       |     t9 ();
    0x000211c0 move s5, v0                   |     s5 = v0;
    0x000211c4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000211c8 b 0x20e60                     |     goto label_10;
                                             | label_71:
    0x000211cc lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x000211d0 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x000211d4 addiu a1, zero, 1             |     a1 = 1;
    0x000211d8 bal 0x8250                    |     sym_map_removeGroupByPath ();
    0x000211dc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000211e0 b 0x2106c                     |     goto label_11;
                                             | label_48:
    0x000211e4 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x000211e8 lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x000211ec lw a1, -0x7fbc(gp)            |     a1 = *((gp - 8175));
    0x000211f0 move s0, s1                   |     s0 = s1;
    0x000211f4 lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x000211f8 lw t9, -0x7fb0(gp)            |     t9 = sym.logerr;
    0x000211fc move a3, s1                   |     a3 = s1;
                                             |     /* str.remove_group_file */
    0x00021200 addiu a2, a2, -0x6e8c         |     a2 += -0x6e8c;
                                             |     /* str._s__fputs___failed_to_put_line_in_file__s. */
    0x00021204 addiu a1, a1, -0x6fc4         |     a1 += -0x6fc4;
                                             |     /* str.dynamic.c */
    0x00021208 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x0002120c sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00021210 bal 0x19b80                   |     sym_logerr ();
    0x00021214 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021218 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x0002121c move a0, s0                   |     a0 = s0;
    0x00021220 jalr t9                       |     t9 ();
    0x00021224 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021228 move a0, s7                   |     a0 = s7;
    0x0002122c lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021230 move s7, zero                 |     s7 = 0;
    0x00021234 jalr t9                       |     t9 ();
    0x00021238 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002123c lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00021240 move a0, s3                   |     a0 = s3;
    0x00021244 jalr t9                       |     t9 ();
    0x00021248 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002124c lw t9, -0x7bfc(gp)            |     t9 = sym.imp.fflush;
    0x00021250 move a0, s2                   |     a0 = s2;
    0x00021254 jalr t9                       |     t9 ();
    0x00021258 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002125c lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00021260 move a0, s2                   |     a0 = s2;
    0x00021264 jalr t9                       |     t9 ();
    0x00021268 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002126c lw t9, -0x7ca8(gp)            |     t9 = sym.imp.remove;
    0x00021270 move a0, s1                   |     a0 = s1;
    0x00021274 jalr t9                       |     t9 ();
    0x00021278 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_27:
    0x0002127c lw a1, -0x7fbc(gp)            |     a1 = *((gp - 8175));
    0x00021280 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00021284 lw t9, -0x7fb0(gp)            |     t9 = sym.logerr;
    0x00021288 lw a2, 0x34(sp)               |     a2 = *(var_34h);
                                             |     /* str.delete_group__s_failed_ */
    0x0002128c addiu a1, a1, -0x6f90         |     a1 += -0x6f90;
    0x00021290 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x00021294 bal 0x19b80                   |     sym_logerr ();
    0x00021298 addiu s0, zero, -1            |     s0 = -1;
    0x0002129c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000212a0 b 0x21090                     |     goto label_12;
                                             | label_69:
    0x000212a4 move a0, s6                   |     a0 = s6;
    0x000212a8 jalr t9                       |     t9 ();
    0x000212ac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000212b0 b 0x20fd8                     |     goto label_13;
                                             | label_47:
    0x000212b4 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x000212b8 sll a2, v0, 2                 |     a2 = v0 << 2;
    0x000212bc lw v0, -0x7fac(gp)            |     v0 = *(gp);
    0x000212c0 addu a2, s0, a2               |     a2 = s0 + a2;
    0x000212c4 sw a2, 0x60(sp)               |     *(var_60h) = a2;
    0x000212c8 lw v0, (v0)                   |     v0 = *(v0);
    0x000212cc lw a1, (a2)                   |     a1 = *(a2);
                                             |     if (v0 == 0) {
    0x000212d0 beqz v0, 0x213ac              |         goto label_73;
                                             |     }
    0x000212d4 lw t9, -0x7d40(gp)            |     t9 = sym.imp.strcmp;
    0x000212d8 lw a0, 0x48(sp)               |     a0 = *(var_48h);
    0x000212dc jalr t9                       |     t9 ();
    0x000212e0 sw zero, 0x74(sp)             |     *(var_74h) = 0;
                                             |     if (v0 == 0) {
    0x000212e4 bnel v0, zero, 0x213c4        |         goto label_74;
                                             |     }
    0x000212e8 lw a2, 0x60(sp)               |     a2 = *(var_60h);
                                             |     do {
    0x000212ec lw v1, 0x44(sp)               |         v1 = *(var_44h);
    0x000212f0 lw v0, 4(a2)                  |         v0 = *((a2 + 1));
    0x000212f4 addiu v1, v1, 1               |         v1++;
    0x000212f8 sw v1, 0x44(sp)               |         *(var_44h) = v1;
                                             |         if (v0 == 0) {
    0x000212fc beqz v0, 0x217a4              |             goto label_75;
                                             |         }
    0x00021300 addiu v0, zero, -1            |         v0 = -1;
    0x00021304 sw v0, 0x70(sp)               |         *(var_70h) = v0;
    0x00021308 sw zero, 0x74(sp)             |         *(var_74h) = 0;
    0x0002130c b 0x208d4                     |         goto label_14;
                                             | label_44:
    0x00021310 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00021314 addiu a3, zero, 1             |         a3 = 1;
    0x00021318 move a2, zero                 |         a2 = 0;
    0x0002131c addiu a1, sp, 0x78            |         a1 = sp + 0x78;
                                             |         /* fcn.0001d93c */
    0x00021320 addiu t9, v0, -0x26c4         |         t9 = v0 + -0x26c4;
    0x00021324 move a0, s7                   |         a0 = s7;
    0x00021328 bal 0x1d93c                   |         fcn_0001d93c ();
    0x0002132c move s3, v0                   |         s3 = v0;
    0x00021330 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00021334 beqz v0, 0x21468              |             goto label_45;
                                             |         }
    0x00021338 lw t9, -0x7c44(gp)            |         t9 = sym.imp.strlen;
    0x0002133c move a0, s7                   |         a0 = s7;
    0x00021340 jalr t9                       |         t9 ();
    0x00021344 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021348 lw t9, -0x7cac(gp)            |         t9 = sym.imp.malloc;
    0x0002134c addiu a0, v0, 0xf             |         a0 = v0 + 0xf;
    0x00021350 jalr t9                       |         t9 ();
    0x00021354 sw v0, 0x58(sp)               |         *(var_58h) = v0;
    0x00021358 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0002135c beqz v0, 0x21a00              |             goto label_76;
                                             |         }
    0x00021360 lw a3, -0x7fbc(gp)            |         a3 = *((gp - 8175));
    0x00021364 lw s0, 0x58(sp)               |         s0 = *(var_58h);
    0x00021368 lw v0, 0x4c(sp)               |         v0 = *(var_4ch);
    0x0002136c lw t9, -0x7d00(gp)            |         t9 = sym.imp.__sprintf_chk;
                                             |         /* str._s__s__s */
    0x00021370 addiu a3, a3, -0x72c4         |         a3 += -0x72c4;
    0x00021374 addiu a2, zero, -1            |         a2 = -1;
    0x00021378 addiu a1, zero, 1             |         a1 = 1;
    0x0002137c move a0, s0                   |         a0 = s0;
    0x00021380 sw s4, 0x18(sp)               |         *(var_18h) = s4;
    0x00021384 sw s7, 0x14(sp)               |         *(var_14h) = s7;
    0x00021388 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0002138c jalr t9                       |         t9 ();
    0x00021390 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021394 lw t9, -0x7fc4(gp)            |         t9 = *(gp);
                                             |         /* fcn.0001d0dc */
    0x00021398 addiu t9, t9, -0x2f24         |         t9 += -0x2f24;
    0x0002139c move a0, s0                   |         a0 = s0;
    0x000213a0 bal 0x1d0dc                   |         fcn_0001d0dc ();
    0x000213a4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000213a8 b 0x2081c                     |         goto label_15;
                                             | label_73:
    0x000213ac lw t9, -0x7c78(gp)            |         t9 = sym.imp.strcasecmp;
    0x000213b0 lw a0, 0x48(sp)               |         a0 = *(var_48h);
    0x000213b4 jalr t9                       |         t9 ();
    0x000213b8 lw a2, 0x60(sp)               |         a2 = *(var_60h);
    0x000213bc beqz v0, 0x212ec              |         
                                             |     } while (v0 == 0);
    0x000213c0 sw zero, 0x74(sp)             |     *(var_74h) = 0;
                                             | label_74:
    0x000213c4 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x000213c8 b 0x208d4                     |     goto label_14;
                                             | label_57:
    0x000213cc addiu s6, zero, 0x2e          |     s6 = 0x2e;
                                             | label_58:
    0x000213d0 lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             | label_17:
    0x000213d4 move a1, s0                   |     a1 = s0;
                                             | label_19:
    0x000213d8 move a2, fp                   |     a2 = fp;
    0x000213dc move a0, s2                   |     a0 = s2;
    0x000213e0 jalr t9                       |     t9 ();
    0x000213e4 move s0, v0                   |     s0 = v0;
    0x000213e8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000213ec beqz v0, 0x20b54              |         goto label_16;
                                             |     }
    0x000213f0 lb v0, (s0)                   |     v0 = *(s0);
    0x000213f4 addiu v1, zero, 0x5b          |     v1 = 0x5b;
    0x000213f8 lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             |     if (v0 != v1) {
    0x000213fc bne v0, v1, 0x213d4           |         goto label_17;
                                             |     }
    0x00021400 lw t9, -0x7c98(gp)            |     t9 = sym.imp.strstr;
    0x00021404 move a1, s1                   |     a1 = s1;
    0x00021408 move a0, s0                   |     a0 = s0;
    0x0002140c jalr t9                       |     t9 ();
    0x00021410 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00021414 beqz v0, 0x20ba4              |         goto label_18;
                                             |     }
    0x00021418 addu v0, v0, s4               |     v0 += s4;
    0x0002141c lb v0, (v0)                   |     v0 = *(v0);
    0x00021420 lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             |     if (v0 == s3) {
    0x00021424 beq v0, s3, 0x213d4           |         goto label_17;
                                             |     }
    0x00021428 move a1, s0                   |     a1 = s0;
                                             |     if (v0 == s6) {
    0x0002142c beq v0, s6, 0x213d8           |         goto label_19;
                                             |     }
    0x00021430 lw t9, -0x7afc(gp)            |     t9 = sym.imp.fputs;
    0x00021434 b 0x20ba8                     |     goto label_20;
                                             | label_68:
    0x00021438 lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x0002143c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00021440 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00021444 lw t9, -0x7fc8(gp)            |     t9 = sym.fatald;
                                             |     /* str.remove_dependant_files */
    0x00021448 addiu a2, a2, -0x6eb8         |     a2 += -0x6eb8;
                                             |     /* str.Memory_allocation_failed__in_function__s_. */
    0x0002144c addiu a1, a1, 0x6404          |     a1 += 0x6404;
    0x00021450 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x00021454 bal 0x199c0                   |     sym_fatald ();
    0x00021458 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002145c b 0x20ffc                     |     goto label_21;
                                             | label_60:
    0x00021460 move a0, zero                 |     a0 = 0;
    0x00021464 b 0x20d44                     |     goto label_22;
                                             | label_45:
    0x00021468 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x0002146c move a0, s7                   |     a0 = s7;
    0x00021470 jalr t9                       |     t9 ();
    0x00021474 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021478 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0002147c lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021480 move s7, zero                 |     s7 = 0;
    0x00021484 jalr t9                       |     t9 ();
    0x00021488 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002148c lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00021490 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021494 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00021498 jalr t9                       |     t9 ();
    0x0002149c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000214a0 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x000214a4 move a0, s2                   |     a0 = s2;
    0x000214a8 jalr t9                       |     t9 ();
    0x000214ac lw s1, 0x68(sp)               |     s1 = *(var_68h);
    0x000214b0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000214b4 lw a0, (s1)                   |     a0 = *(s1);
                                             | label_25:
    0x000214b8 addiu v0, zero, 1             |     v0 = 1;
    0x000214bc sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x000214c0 sw v0, 0x80(sp)               |     *(var_80h) = v0;
                                             |     if (a0 != 0) {
    0x000214c4 bnez a0, 0x20c94              |         goto label_23;
                                             |     }
    0x000214c8 move s2, zero                 |     s2 = 0;
    0x000214cc b 0x20cbc                     |     goto label_24;
                                             | label_56:
    0x000214d0 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x000214d4 move a0, s2                   |     a0 = s2;
    0x000214d8 jalr t9                       |     t9 ();
    0x000214dc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000214e0 lw t9, -0x7bfc(gp)            |     t9 = sym.imp.fflush;
    0x000214e4 move a0, s5                   |     a0 = s5;
    0x000214e8 jalr t9                       |     t9 ();
    0x000214ec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000214f0 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x000214f4 move a0, s5                   |     a0 = s5;
    0x000214f8 jalr t9                       |     t9 ();
    0x000214fc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021500 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021504 move a0, s1                   |     a0 = s1;
    0x00021508 jalr t9                       |     t9 ();
    0x0002150c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021510 lw t9, -0x7d34(gp)            |     t9 = sym.imp.strdup;
    0x00021514 lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x00021518 jalr t9                       |     t9 ();
    0x0002151c move s0, v0                   |     s0 = v0;
    0x00021520 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00021524 beqz v0, 0x21a80              |         goto label_77;
                                             |     }
    0x00021528 lw t9, -0x7bbc(gp)            |     t9 = sym.imp.strrchr;
    0x0002152c addiu a1, zero, 0x2e          |     a1 = 0x2e;
    0x00021530 move a0, s0                   |     a0 = s0;
    0x00021534 jalr t9                       |     t9 ();
    0x00021538 lw t9, 0x50(sp)               |     t9 = *(var_50h);
    0x0002153c sb zero, (v0)                 |     *(v0) = 0;
    0x00021540 move a0, s0                   |     a0 = s0;
    0x00021544 jalr t9                       |     t9 ();
    0x00021548 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0002154c beqz v0, 0x21690              |     
                                             |     while (1) {
    0x00021550 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021554 move a0, s0                   |         a0 = s0;
    0x00021558 jalr t9                       |         t9 ();
    0x0002155c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021560 lw a1, 0x58(sp)               |         a1 = *(var_58h);
    0x00021564 lw t9, -0x7f18(gp)            |         t9 = sym.move_file;
    0x00021568 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x0002156c bal 0x22d4c                   |         sym_move_file ();
    0x00021570 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021574 lw a1, 0x38(sp)               |         a1 = *(var_38h);
    0x00021578 lw t9, -0x7f18(gp)            |         t9 = sym.move_file;
    0x0002157c move a0, s7                   |         a0 = s7;
    0x00021580 bal 0x22d4c                   |         sym_move_file ();
    0x00021584 lw s1, 0x68(sp)               |         s1 = *(var_68h);
    0x00021588 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0002158c lw a0, (s1)                   |         a0 = *(s1);
    0x00021590 b 0x214b8                     |         goto label_25;
                                             | label_54:
    0x00021594 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00021598 addiu a3, zero, 1             |         a3 = 1;
    0x0002159c addiu a2, zero, 1             |         a2 = 1;
    0x000215a0 addiu a1, sp, 0x78            |         a1 = sp + 0x78;
                                             |         /* fcn.0001d93c */
    0x000215a4 addiu t9, v0, -0x26c4         |         t9 = v0 + -0x26c4;
    0x000215a8 move a0, s4                   |         a0 = s4;
    0x000215ac bal 0x1d93c                   |         fcn_0001d93c ();
    0x000215b0 move s2, v0                   |         s2 = v0;
    0x000215b4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x000215b8 beqz v0, 0x21630              |             
    0x000215bc lw t9, -0x7c44(gp)            |             t9 = sym.imp.strlen;
    0x000215c0 move a0, s1                   |             a0 = s1;
    0x000215c4 jalr t9                       |             t9 ();
    0x000215c8 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x000215cc lw t9, -0x7cac(gp)            |             t9 = sym.imp.malloc;
    0x000215d0 addiu a0, v0, 0xf             |             a0 = v0 + 0xf;
    0x000215d4 jalr t9                       |             t9 ();
    0x000215d8 sw v0, 0x38(sp)               |             *(var_38h) = v0;
    0x000215dc lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x000215e0 beqz v0, 0x21aa8              |                 goto label_78;
                                             |             }
    0x000215e4 lw a3, -0x7fbc(gp)            |             a3 = *((gp - 8175));
    0x000215e8 lw fp, 0x38(sp)               |             fp = *(var_38h);
    0x000215ec lw v0, 0x4c(sp)               |             v0 = *(var_4ch);
    0x000215f0 lw t9, -0x7d00(gp)            |             t9 = sym.imp.__sprintf_chk;
                                             |             /* str._s__s__s */
    0x000215f4 addiu a3, a3, -0x72c4         |             a3 += -0x72c4;
    0x000215f8 addiu a2, zero, -1            |             a2 = -1;
    0x000215fc addiu a1, zero, 1             |             a1 = 1;
    0x00021600 move a0, fp                   |             a0 = fp;
    0x00021604 sw s6, 0x18(sp)               |             *(var_18h) = s6;
    0x00021608 sw s4, 0x14(sp)               |             *(var_14h) = s4;
    0x0002160c sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x00021610 jalr t9                       |             t9 ();
    0x00021614 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x00021618 lw t9, -0x7fc4(gp)            |             t9 = *(gp);
                                             |             /* fcn.0001d0dc */
    0x0002161c addiu t9, t9, -0x2f24         |             t9 += -0x2f24;
    0x00021620 move a0, fp                   |             a0 = fp;
    0x00021624 bal 0x1d0dc                   |             fcn_0001d0dc ();
    0x00021628 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0002162c b 0x20b10                     |             goto label_26;
                                             |         }
                                             | label_55:
    0x00021630 lw t9, -0x7c2c(gp)            |         t9 = sym.imp.fclose;
    0x00021634 move a0, s5                   |         a0 = s5;
    0x00021638 jalr t9                       |         t9 ();
    0x0002163c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021640 move a0, s7                   |         a0 = s7;
    0x00021644 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021648 move s7, zero                 |         s7 = 0;
    0x0002164c jalr t9                       |         t9 ();
    0x00021650 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021654 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021658 move a0, s1                   |         a0 = s1;
    0x0002165c jalr t9                       |         t9 ();
    0x00021660 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021664 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021668 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x0002166c jalr t9                       |         t9 ();
    0x00021670 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021674 lw t9, -0x7ca8(gp)            |         t9 = sym.imp.remove;
    0x00021678 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x0002167c jalr t9                       |         t9 ();
    0x00021680 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021684 lw v0, -0x7fbc(gp)            |         v0 = *((gp - 8175));
    0x00021688 sw v0, 0x38(sp)               |         *(var_38h) = v0;
    0x0002168c b 0x2127c                     |         goto label_27;
    0x00021690 lw t9, -0x7fc4(gp)            |         t9 = *(gp);
    0x00021694 lw v0, 0x38(sp)               |         v0 = *(var_38h);
    0x00021698 lw a3, 0x58(sp)               |         a3 = *(var_58h);
    0x0002169c lw a2, 0x40(sp)               |         a2 = *(var_40h);
    0x000216a0 lw a1, 0x5c(sp)               |         a1 = *(var_5ch);
    0x000216a4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
                                             |         /* fcn.0001de10 */
    0x000216a8 addiu t9, t9, -0x21f0         |         t9 += -0x21f0;
    0x000216ac move a0, s0                   |         a0 = s0;
    0x000216b0 bal 0x1de10                   |         fcn_0001de10 ();
    0x000216b4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000216b8 b 0x21550                     |         
                                             |     }
                                             | label_63:
    0x000216bc lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x000216c0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000216c4 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x000216c8 lw t9, -0x7fc8(gp)            |     t9 = sym.fatald;
    0x000216cc addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
                                             |     /* str.remove_dependant_files */
    0x000216d0 addiu a2, a2, -0x6eb8         |     a2 += -0x6eb8;
                                             |     /* str.Memory_allocation_failed__in_function__s_. */
    0x000216d4 addiu a1, a1, 0x6404          |     a1 += 0x6404;
    0x000216d8 lw s7, 0x60(sp)               |     s7 = *(var_60h);
    0x000216dc bal 0x199c0                   |     sym_fatald ();
    0x000216e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000216e4 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x000216e8 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x000216ec jalr t9                       |     t9 ();
    0x000216f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000216f4 b 0x21038                     |     goto label_28;
                                             | label_64:
    0x000216f8 lw s7, 0x60(sp)               |     s7 = *(var_60h);
                                             |     if (s4 == 0) {
    0x000216fc beqz s4, 0x2176c              |         goto label_79;
                                             |     }
                                             | label_31:
    0x00021700 lw a1, -0x7fbc(gp)            |     a1 = *((gp - 8175));
    0x00021704 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00021708 lw t9, -0x7fb0(gp)            |     t9 = sym.logerr;
    0x0002170c move a2, s4                   |     a2 = s4;
                                             |     /* str.Opening_directory__s_failed:__m */
    0x00021710 addiu a1, a1, -0x6f74         |     a1 += -0x6f74;
    0x00021714 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x00021718 bal 0x19b80                   |     sym_logerr ();
    0x0002171c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     do {
    0x00021720 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021724 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00021728 jalr t9                       |         t9 ();
    0x0002172c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021730 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021734 move a0, s1                   |         a0 = s1;
    0x00021738 jalr t9                       |         t9 ();
    0x0002173c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021740 b 0x21038                     |         goto label_28;
                                             | label_65:
    0x00021744 lw t9, -0x7c8c(gp)            |         t9 = sym.imp.closedir;
    0x00021748 move a0, s5                   |         a0 = s5;
    0x0002174c lw s7, 0x60(sp)               |         s7 = *(var_60h);
    0x00021750 jalr t9                       |         t9 ();
    0x00021754 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021758 b 0x21720                     |         
                                             |     } while (1);
                                             | label_53:
    0x0002175c move s3, zero                 |     s3 = 0;
    0x00021760 b 0x20ac8                     |     goto label_29;
                                             | label_36:
    0x00021764 addiu s0, zero, -1            |     s0 = -1;
    0x00021768 b 0x210d0                     |     goto label_30;
                                             | label_79:
    0x0002176c lw s4, -0x7fbc(gp)            |     s4 = *((gp - 8175));
                                             |     /* esilref: '(' */
    0x00021770 addiu s4, s4, -0x6f34         |     s4 += -0x6f34;
    0x00021774 b 0x21700                     |     goto label_31;
                                             | label_37:
    0x00021778 lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x0002177c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00021780 lw a0, -0x7fbc(gp)            |     a0 = *((gp - 8175));
    0x00021784 lw t9, -0x7fc8(gp)            |     t9 = sym.fatald;
                                             |     /* str.delete_group */
    0x00021788 addiu a2, a2, -0x6e78         |     a2 += -0x6e78;
                                             |     /* str.Memory_allocation_failed__in_function__s_. */
    0x0002178c addiu a1, a1, 0x6404          |     a1 += 0x6404;
                                             |     /* str.dynamic.c */
    0x00021790 addiu a0, a0, -0x741c         |     a0 += -0x741c;
    0x00021794 bal 0x199c0                   |     sym_fatald ();
    0x00021798 addiu s0, zero, -1            |     s0 = -1;
    0x0002179c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000217a0 b 0x210d0                     |     goto label_30;
                                             | label_75:
    0x000217a4 addiu v0, sp, 0x70            |     v0 = sp + 0x70;
    0x000217a8 addiu s4, sp, 0x74            |     s4 = sp + 0x74;
    0x000217ac lw t9, 0x38(sp)               |     t9 = *(var_38h);
    0x000217b0 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000217b4 move a2, s4                   |     a2 = s4;
    0x000217b8 move a1, v0                   |     a1 = v0;
    0x000217bc move a0, s1                   |     a0 = s1;
    0x000217c0 sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x000217c4 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x000217c8 jalr t9                       |     t9 ();
    0x000217cc lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             |     do {
    0x000217d0 move a1, s1                   |         a1 = s1;
                                             | label_32:
    0x000217d4 move a2, s5                   |         a2 = s5;
    0x000217d8 move a0, s3                   |         a0 = s3;
    0x000217dc jalr t9                       |         t9 ();
    0x000217e0 lw a1, 0x48(sp)               |         a1 = *(var_48h);
    0x000217e4 lw t9, 0x38(sp)               |         t9 = *(var_38h);
    0x000217e8 move a0, v0                   |         a0 = v0;
    0x000217ec move a2, s4                   |         a2 = s4;
    0x000217f0 move s1, v0                   |         s1 = v0;
    0x000217f4 jalr t9                       |         t9 ();
    0x000217f8 lw v0, 0x74(sp)               |         v0 = *(var_74h);
    0x000217fc lw t9, 0x28(sp)               |         t9 = *(var_28h);
    0x00021800 beqz v0, 0x217d0              |         
                                             |     } while (v0 == 0);
    0x00021804 lw v1, 0x70(sp)               |     v1 = *(var_70h);
    0x00021808 move a1, s1                   |     a1 = s1;
                                             |     if (v0 != v1) {
    0x0002180c bne v0, v1, 0x217d4           |         goto label_32;
                                             |     }
    0x00021810 addiu s4, zero, 1             |     s4 = 1;
    0x00021814 b 0x2090c                     |     goto label_33;
                                             | label_41:
    0x00021818 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x0002181c lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x00021820 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00021824 lw t9, -0x7fc8(gp)            |     t9 = sym.fatald;
                                             |     /* str.dynamic.c */
    0x00021828 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x0002182c sw v0, 0x38(sp)               |     *(var_38h) = v0;
                                             |     /* str.remove_group_file */
    0x00021830 addiu a2, a2, -0x6e8c         |     a2 += -0x6e8c;
                                             |     /* str.Memory_allocation_failed__in_function__s_. */
    0x00021834 addiu a1, a1, 0x6404          |     a1 += 0x6404;
    0x00021838 bal 0x199c0                   |     sym_fatald ();
    0x0002183c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021840 move a0, s7                   |     a0 = s7;
    0x00021844 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021848 move s7, zero                 |     s7 = 0;
    0x0002184c jalr t9                       |     t9 ();
    0x00021850 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021854 b 0x2127c                     |     goto label_27;
                                             | label_40:
    0x00021858 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x0002185c lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x00021860 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00021864 lw t9, -0x7fc8(gp)            |     t9 = sym.fatald;
    0x00021868 sw v0, 0x38(sp)               |     *(var_38h) = v0;
                                             |     /* str.remove_group_file */
    0x0002186c addiu a2, a2, -0x6e8c         |     a2 += -0x6e8c;
                                             |     /* str.Memory_allocation_failed__in_function__s_. */
    0x00021870 addiu a1, a1, 0x6404          |     a1 += 0x6404;
                                             |     /* str.dynamic.c */
    0x00021874 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x00021878 bal 0x199c0                   |     sym_fatald ();
    0x0002187c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021880 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00021884 b 0x2127c                     |     goto label_27;
                                             | label_38:
    0x00021888 lw a1, -0x7fbc(gp)            |     a1 = *((gp - 8175));
    0x0002188c lw a0, -0x7fbc(gp)            |     a0 = *((gp - 8175));
    0x00021890 lw t9, -0x7fb8(gp)            |     t9 = sym.loginfo;
                                             |     /* str.Deleteing_root_is_FORBIDDEN_ */
    0x00021894 addiu a1, a1, -0x6fe4         |     a1 += -0x6fe4;
                                             |     /* str.dynamic.c */
    0x00021898 addiu a0, a0, -0x741c         |     a0 += -0x741c;
    0x0002189c bal 0x19b04                   |     sym_loginfo ();
    0x000218a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     do {
    0x000218a4 lw a0, 0x30(sp)               |         a0 = *(var_30h);
    0x000218a8 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x000218ac addiu s0, zero, -1            |         s0 = -1;
    0x000218b0 jalr t9                       |         t9 ();
    0x000218b4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000218b8 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x000218bc lw a0, 0x68(sp)               |         a0 = *(var_68h);
    0x000218c0 jalr t9                       |         t9 ();
    0x000218c4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000218c8 b 0x210d0                     |         goto label_30;
                                             | label_50:
    0x000218cc lw t9, -0x7ca8(gp)            |         t9 = sym.imp.remove;
    0x000218d0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x000218d4 move s7, zero                 |         s7 = 0;
    0x000218d8 jalr t9                       |         t9 ();
    0x000218dc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000218e0 lw v0, -0x7fbc(gp)            |         v0 = *((gp - 8175));
    0x000218e4 sw v0, 0x38(sp)               |         *(var_38h) = v0;
    0x000218e8 b 0x2127c                     |         goto label_27;
                                             | label_59:
    0x000218ec lw v0, -0x7fbc(gp)            |         v0 = *((gp - 8175));
    0x000218f0 lw a2, -0x7fbc(gp)            |         a2 = *((gp - 8175));
    0x000218f4 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x000218f8 lw t9, -0x7fc8(gp)            |         t9 = sym.fatald;
    0x000218fc sw v0, 0x38(sp)               |         *(var_38h) = v0;
                                             |         /* str.remove_dependant_files */
    0x00021900 addiu a2, a2, -0x6eb8         |         a2 += -0x6eb8;
                                             |         /* str.Memory_allocation_failed__in_function__s_. */
    0x00021904 addiu a1, a1, 0x6404          |         a1 += 0x6404;
                                             |         /* str.dynamic.c */
    0x00021908 addiu a0, v0, -0x741c         |         a0 = v0 + -0x741c;
    0x0002190c bal 0x199c0                   |         sym_fatald ();
    0x00021910 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021914 b 0x21048                     |         goto label_34;
                                             | label_42:
    0x00021918 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x0002191c move a0, s7                   |         a0 = s7;
    0x00021920 jalr t9                       |         t9 ();
    0x00021924 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021928 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x0002192c lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021930 move s7, zero                 |         s7 = 0;
    0x00021934 jalr t9                       |         t9 ();
    0x00021938 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0002193c sw zero, 0x2c(sp)             |         *(var_2ch) = 0;
    0x00021940 lw v0, -0x7fbc(gp)            |         v0 = *((gp - 8175));
    0x00021944 sw v0, 0x38(sp)               |         *(var_38h) = v0;
    0x00021948 b 0x2127c                     |         goto label_27;
                                             | label_51:
    0x0002194c lw v0, -0x7fbc(gp)            |         v0 = *((gp - 8175));
    0x00021950 lw a2, -0x7fbc(gp)            |         a2 = *((gp - 8175));
    0x00021954 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00021958 lw t9, -0x7fc8(gp)            |         t9 = sym.fatald;
                                             |         /* str.dynamic.c */
    0x0002195c addiu a0, v0, -0x741c         |         a0 = v0 + -0x741c;
    0x00021960 sw v0, 0x38(sp)               |         *(var_38h) = v0;
                                             |         /* str.remove_param_file */
    0x00021964 addiu a2, a2, -0x6ea0         |         a2 += -0x6ea0;
                                             |         /* str.Memory_allocation_failed__in_function__s_. */
    0x00021968 addiu a1, a1, 0x6404          |         a1 += 0x6404;
    0x0002196c bal 0x199c0                   |         sym_fatald ();
    0x00021970 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021974 move a0, s1                   |         a0 = s1;
    0x00021978 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
                                             | label_35:
    0x0002197c jalr t9                       |         t9 ();
    0x00021980 nop                           |         
    0x00021984 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021988 lw t9, -0x7ca8(gp)            |         t9 = sym.imp.remove;
    0x0002198c lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x00021990 jalr t9                       |         t9 ();
    0x00021994 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021998 b 0x2127c                     |         goto label_27;
                                             | label_52:
    0x0002199c lw v0, -0x7fbc(gp)            |         v0 = *((gp - 8175));
    0x000219a0 lw a2, -0x7fbc(gp)            |         a2 = *((gp - 8175));
    0x000219a4 lw a1, -0x7fbc(gp)            |         a1 = *((gp - 8175));
    0x000219a8 lw t9, -0x7fb0(gp)            |         t9 = sym.logerr;
    0x000219ac move a3, s7                   |         a3 = s7;
                                             |         /* str.dynamic.c */
    0x000219b0 addiu a0, v0, -0x741c         |         a0 = v0 + -0x741c;
    0x000219b4 sw v0, 0x38(sp)               |         *(var_38h) = v0;
                                             |         /* str.remove_param_file */
    0x000219b8 addiu a2, a2, -0x6ea0         |         a2 += -0x6ea0;
                                             |         /* str._s__fopen___failed_on__s:__m */
    0x000219bc addiu a1, a1, -0x73ec         |         a1 += -0x73ec;
    0x000219c0 bal 0x19b80                   |         sym_logerr ();
    0x000219c4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000219c8 move a0, s7                   |         a0 = s7;
    0x000219cc lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x000219d0 move s7, zero                 |         s7 = 0;
    0x000219d4 jalr t9                       |         t9 ();
    0x000219d8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000219dc lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x000219e0 move a0, s1                   |         a0 = s1;
    0x000219e4 jalr t9                       |         t9 ();
    0x000219e8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000219ec lw t9, -0x7ca8(gp)            |         t9 = sym.imp.remove;
    0x000219f0 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x000219f4 jalr t9                       |         t9 ();
    0x000219f8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000219fc b 0x2127c                     |         goto label_27;
                                             | label_76:
    0x00021a00 lw v0, -0x7fbc(gp)            |         v0 = *((gp - 8175));
    0x00021a04 lw a2, -0x7fbc(gp)            |         a2 = *((gp - 8175));
    0x00021a08 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00021a0c lw t9, -0x7fc8(gp)            |         t9 = sym.fatald;
                                             |         /* str.dynamic.c */
    0x00021a10 addiu a0, v0, -0x741c         |         a0 = v0 + -0x741c;
    0x00021a14 sw v0, 0x38(sp)               |         *(var_38h) = v0;
                                             |         /* str.remove_group_file */
    0x00021a18 addiu a2, a2, -0x6e8c         |         a2 += -0x6e8c;
                                             |         /* str.Memory_allocation_failed__in_function__s_. */
    0x00021a1c addiu a1, a1, 0x6404          |         a1 += 0x6404;
    0x00021a20 bal 0x199c0                   |         sym_fatald ();
    0x00021a24 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021a28 move a0, s7                   |         a0 = s7;
    0x00021a2c lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021a30 move s7, zero                 |         s7 = 0;
    0x00021a34 jalr t9                       |         t9 ();
    0x00021a38 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021a3c lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021a40 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x00021a44 jalr t9                       |         t9 ();
    0x00021a48 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021a4c lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00021a50 lw t9, -0x7bec(gp)            |         t9 = sym.imp.free;
    0x00021a54 sw zero, 0x2c(sp)             |         *(var_2ch) = 0;
    0x00021a58 jalr t9                       |         t9 ();
    0x00021a5c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021a60 lw t9, -0x7c2c(gp)            |         t9 = sym.imp.fclose;
    0x00021a64 move a0, s2                   |         a0 = s2;
    0x00021a68 jalr t9                       |         t9 ();
    0x00021a6c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021a70 b 0x2127c                     |         goto label_27;
                                             | label_72:
    0x00021a74 lw t9, -0x7cb4(gp)            |         t9 = sym.imp.__stack_chk_fail;
    0x00021a78 jalr t9                       |         t9 ();
    0x00021a7c nop                           |         
                                             | label_77:
    0x00021a80 lw a2, -0x7fbc(gp)            |         a2 = *((gp - 8175));
    0x00021a84 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00021a88 lw a0, -0x7fbc(gp)            |         a0 = *((gp - 8175));
    0x00021a8c lw t9, -0x7fc8(gp)            |         t9 = sym.fatald;
                                             |         /* str.delete_group */
    0x00021a90 addiu a2, a2, -0x6e78         |         a2 += -0x6e78;
                                             |         /* str.Memory_allocation_failed__in_function__s_. */
    0x00021a94 addiu a1, a1, 0x6404          |         a1 += 0x6404;
                                             |         /* str.dynamic.c */
    0x00021a98 addiu a0, a0, -0x741c         |         a0 += -0x741c;
    0x00021a9c bal 0x199c0                   |         sym_fatald ();
    0x00021aa0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00021aa4 b 0x218a4                     |         
                                             |     } while (1);
                                             | label_78:
    0x00021aa8 lw v0, -0x7fbc(gp)            |     v0 = *((gp - 8175));
    0x00021aac lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x00021ab0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00021ab4 lw t9, -0x7fc8(gp)            |     t9 = sym.fatald;
                                             |     /* str.remove_param_file */
    0x00021ab8 addiu a2, a2, -0x6ea0         |     a2 += -0x6ea0;
                                             |     /* str.Memory_allocation_failed__in_function__s_. */
    0x00021abc addiu a1, a1, 0x6404          |     a1 += 0x6404;
                                             |     /* str.dynamic.c */
    0x00021ac0 addiu a0, v0, -0x741c         |     a0 = v0 + -0x741c;
    0x00021ac4 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00021ac8 bal 0x199c0                   |     sym_fatald ();
    0x00021acc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021ad0 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00021ad4 move a0, s5                   |     a0 = s5;
    0x00021ad8 jalr t9                       |     t9 ();
    0x00021adc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021ae0 lw t9, -0x7c2c(gp)            |     t9 = sym.imp.fclose;
    0x00021ae4 move a0, s2                   |     a0 = s2;
    0x00021ae8 jalr t9                       |     t9 ();
    0x00021aec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021af0 move a0, s7                   |     a0 = s7;
    0x00021af4 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021af8 move s7, zero                 |     s7 = 0;
    0x00021afc jalr t9                       |     t9 ();
    0x00021b00 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021b04 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021b08 move a0, s1                   |     a0 = s1;
    0x00021b0c jalr t9                       |     t9 ();
    0x00021b10 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00021b14 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00021b18 lw t9, -0x7bec(gp)            |     t9 = sym.imp.free;
    0x00021b1c b 0x2197c                     |     goto label_35;
                                             | }

[*] Function strcat used 6 times parhand