[*] Binary protection state of parhand

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


[*] Function system tear down of parhand

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x5760 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00005760 ()              | void fcn_00005760 () {
    0x00005760 lui gp, 4                 |     
    0x00005764 addiu gp, gp, -0x2410     |     
    0x00005768 addu gp, gp, t9           |     gp += t9;
    0x0000576c addiu sp, sp, -0x58       |     
    0x00005770 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x00005774 sw s5, 0x44(sp)           |     *(var_44h) = s5;
    0x00005778 sw s0, 0x30(sp)           |     *(var_30h) = s0;
    0x0000577c sw ra, 0x54(sp)           |     *(var_54h) = ra;
    0x00005780 sw fp, 0x50(sp)           |     *(var_50h) = fp;
    0x00005784 sw s7, 0x4c(sp)           |     *(var_4ch) = s7;
    0x00005788 sw s6, 0x48(sp)           |     *(var_48h) = s6;
    0x0000578c sw s4, 0x40(sp)           |     *(var_40h) = s4;
    0x00005790 sw s3, 0x3c(sp)           |     *(var_3ch) = s3;
    0x00005794 sw s2, 0x38(sp)           |     *(var_38h) = s2;
    0x00005798 sw s1, 0x34(sp)           |     *(var_34h) = s1;
    0x0000579c move s0, a0               |     s0 = a0;
    0x000057a0 move s5, a2               |     s5 = a2;
                                         |     if (a3 == 0) {
    0x000057a4 bnez a3, 0x57c0           |         
    0x000057a8 lw v0, 0x38(a0)           |         v0 = *((a0 + 14));
                                         |         if (v0 == 0) {
    0x000057ac beqz v0, 0x595c           |             goto label_14;
                                         |         }
    0x000057b0 nop                       |         
    0x000057b4 lw v0, 0x40(s0)           |         v0 = *((s0 + 16));
                                         |         if (v0 == 0) {
    0x000057b8 beql v0, zero, 0x5980     |             goto label_15;
                                         |         }
    0x000057bc lw v0, 0x44(s0)           |         v0 = *((s0 + 17));
                                         |     }
    0x000057c0 lw s3, 0x2c(s0)           |     s3 = *((s0 + 11));
                                         | label_3:
    0x000057c4 sw zero, 0x44(s0)         |     *((s0 + 17)) = 0;
    0x000057c8 move s1, s3               |     s1 = s3;
                                         |     if (s3 == 0) {
    0x000057cc beqz s3, 0x58f4           |         goto label_16;
                                         |     }
    0x000057d0 lw s4, -0x7fc4(gp)        |     s4 = *(gp);
    0x000057d4 move s2, s3               |     s2 = s3;
                                         |     /* str.dbus */
    0x000057d8 addiu s4, s4, 0x6310      |     s4 += 0x6310;
    0x000057dc b 0x57ec                  |     
                                         |     while (v0 != 0) {
    0x000057e0 lw s2, (s2)               |         s2 = *(s2);
                                         |         if (s2 == 0) {
    0x000057e4 beql s2, zero, 0x5810     |             goto label_0;
                                         |         }
    0x000057e8 lw s2, -0x7fc4(gp)        |         s2 = *(gp);
    0x000057ec lw t9, -0x7d40(gp)        |         t9 = sym.imp.strcmp;
    0x000057f0 lw a0, 4(s2)              |         a0 = *((s2 + 1));
    0x000057f4 move a1, s4               |         a1 = s4;
    0x000057f8 jalr t9                   |         t9 ();
    0x000057fc lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00005800 bnez v0, 0x57e0           |         
                                         |     }
                                         |     if (s5 == 0) {
    0x00005804 beql s5, zero, 0x5928     |         goto label_17;
                                         |     }
    0x00005808 lw v0, 0x40(s0)           |     v0 = *((s0 + 16));
                                         | label_1:
    0x0000580c lw s2, -0x7fc4(gp)        |     s2 = *(gp);
                                         |     /* str.setter */
                                         | label_0:
    0x00005810 addiu s2, s2, 0x6318      |     s2 += 0x6318;
    0x00005814 b 0x5824                  |     
                                         |     while (v0 != 0) {
    0x00005818 lw s1, (s1)               |         s1 = *(s1);
                                         |         if (s1 == 0) {
    0x0000581c beql s1, zero, 0x587c     |             goto label_8;
                                         |         }
    0x00005820 move s2, s3               |         s2 = s3;
    0x00005824 lw t9, -0x7d40(gp)        |         t9 = sym.imp.strcmp;
    0x00005828 lw a0, 4(s1)              |         a0 = *((s1 + 1));
    0x0000582c move a1, s2               |         a1 = s2;
    0x00005830 jalr t9                   |         t9 ();
    0x00005834 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00005838 bnez v0, 0x5818           |         
                                         |     }
    0x0000583c lw v0, -0x7fb4(gp)        |     v0 = *(gp);
    0x00005840 lw v0, (v0)               |     v0 = *(v0);
    0x00005844 move s2, s3               |     s2 = s3;
                                         |     if (v0 != 0) {
    0x00005848 bnel v0, zero, 0x587c     |         
    0x0000584c lw s1, 8(s1)              |         s1 = *((s1 + 2));
    0x00005850 lb v0, (s1)               |         v0 = *(s1);
    0x00005854 lw a1, -0x7fc4(gp)        |         a1 = *(gp);
                                         |         if (v0 != 0) {
    0x00005858 beqz v0, 0x5878           |             
    0x0000585c lw t9, -0x7d04(gp)        |             t9 = sym.imp.strncmp;
    0x00005860 addiu a2, zero, 8         |             a2 = 8;
                                         |             /* str.disabled */
    0x00005864 addiu a1, a1, 0x6320      |             a1 += 0x6320;
    0x00005868 move a0, s1               |             a0 = s1;
    0x0000586c jalr t9                   |             t9 ();
    0x00005870 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |             if (v0 != 0) {
    0x00005874 bnez v0, 0x59e4           |                 goto label_18;
                                         |             }
                                         |         }
    0x00005878 move s2, s3               |         s2 = s3;
                                         |     }
                                         | label_8:
    0x0000587c lw s3, -0x7fc4(gp)        |     s3 = *(gp);
    0x00005880 move s1, s2               |     s1 = s2;
                                         |     /* str.daemon */
    0x00005884 addiu s3, s3, 0x63f4      |     s3 += 0x63f4;
    0x00005888 b 0x5898                  |     
                                         |     while (v0 != 0) {
    0x0000588c lw s1, (s1)               |         s1 = *(s1);
                                         |         if (s1 == 0) {
    0x00005890 beql s1, zero, 0x58f8     |             goto label_2;
                                         |         }
    0x00005894 sw zero, 0x40(s0)         |         *((s0 + 16)) = 0;
    0x00005898 lw t9, -0x7d40(gp)        |         t9 = sym.imp.strcmp;
    0x0000589c lw a0, 4(s1)              |         a0 = *((s1 + 1));
    0x000058a0 move a1, s3               |         a1 = s3;
    0x000058a4 jalr t9                   |         t9 ();
    0x000058a8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000058ac bnez v0, 0x588c           |         
                                         |     }
    0x000058b0 lw s3, -0x7fc4(gp)        |     s3 = *(gp);
                                         |     /* str.signal */
    0x000058b4 addiu s3, s3, 0x63fc      |     s3 += 0x63fc;
    0x000058b8 b 0x58c8                  |     
                                         |     while (v0 != 0) {
    0x000058bc lw s2, (s2)               |         s2 = *(s2);
    0x000058c0 lw a1, -0x7fbc(gp)        |         a1 = *((gp - 8175));
                                         |         if (s2 == 0) {
    0x000058c4 beqz s2, 0x5978           |             goto label_19;
                                         |         }
    0x000058c8 lw t9, -0x7d40(gp)        |         t9 = sym.imp.strcmp;
    0x000058cc lw a0, 4(s2)              |         a0 = *((s2 + 1));
    0x000058d0 move a1, s3               |         a1 = s3;
    0x000058d4 jalr t9                   |         t9 ();
    0x000058d8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000058dc bnez v0, 0x58bc           |         
                                         |     }
    0x000058e0 lw a1, 8(s2)              |     a1 = *((s2 + 2));
                                         | label_4:
    0x000058e4 lw t9, -0x7fcc(gp)        |     t9 = *((gp - 8179));
    0x000058e8 addiu t9, t9, 0x50f4      |     t9 += fcn.000050f4;
    0x000058ec lw a0, 8(s1)              |     a0 = *((s1 + 2));
    0x000058f0 bal 0x50f4                |     fcn_000050f4 ();
                                         | label_16:
    0x000058f4 sw zero, 0x40(s0)         |     *((s0 + 16)) = 0;
                                         | label_2:
    0x000058f8 lw ra, 0x54(sp)           |     ra = *(var_54h);
                                         | label_5:
    0x000058fc lw fp, 0x50(sp)           |     fp = *(var_50h);
                                         | label_6:
    0x00005900 lw s7, 0x4c(sp)           |     s7 = *(var_4ch);
    0x00005904 lw s6, 0x48(sp)           |     s6 = *(var_48h);
    0x00005908 lw s5, 0x44(sp)           |     s5 = *(var_44h);
    0x0000590c lw s4, 0x40(sp)           |     s4 = *(var_40h);
    0x00005910 lw s3, 0x3c(sp)           |     s3 = *(var_3ch);
    0x00005914 lw s2, 0x38(sp)           |     s2 = *(var_38h);
    0x00005918 lw s1, 0x34(sp)           |     s1 = *(var_34h);
    0x0000591c lw s0, 0x30(sp)           |     s0 = *(var_30h);
    0x00005920 addiu sp, sp, 0x58        |     
    0x00005924 jr ra                     |     return v0;
                                         |     if (v0 == 0) {
                                         | label_17:
    0x00005928 beql v0, zero, 0x5810     |         goto label_0;
                                         |     }
    0x0000592c lw s2, -0x7fc4(gp)        |     s2 = *(gp);
    0x00005930 lw t9, -0x7fcc(gp)        |     t9 = *((gp - 8179));
    0x00005934 lw a0, 8(s2)              |     a0 = *((s2 + 2));
    0x00005938 addiu t9, t9, 0x4b44      |     t9 += fcn.00004b44;
    0x0000593c move a1, s0               |     a1 = s0;
    0x00005940 bal 0x4b44                |     fcn_00004b44 ();
    0x00005944 lw s3, 0x2c(s0)           |     s3 = *((s0 + 11));
    0x00005948 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000594c move s1, s3               |     s1 = s3;
                                         |     if (s3 != 0) {
    0x00005950 bnez s3, 0x580c           |         goto label_1;
                                         |     }
    0x00005954 sw zero, 0x40(s0)         |     *((s0 + 16)) = 0;
    0x00005958 b 0x58f8                  |     goto label_2;
                                         | label_14:
    0x0000595c lw s3, 0x2c(s0)           |     s3 = *((s0 + 11));
                                         |     if (a1 == 0) {
    0x00005960 bnel a1, zero, 0x57c4     |         goto label_3;
                                         |     }
    0x00005964 lw v0, 0x40(s0)           |     v0 = *((s0 + 16));
    0x00005968 lw s3, 0x2c(s0)           |     s3 = *((s0 + 11));
                                         |     if (v0 == 0) {
    0x0000596c bnel v0, zero, 0x57c4     |         goto label_3;
                                         |     }
    0x00005970 lw v0, 0x44(s0)           |     v0 = *((s0 + 17));
    0x00005974 b 0x5980                  |     goto label_15;
                                         | label_19:
    0x00005978 addiu a1, a1, -0x74c8     |     a1 += -0x74c8;
    0x0000597c b 0x58e4                  |     goto label_4;
                                         | label_15:
    0x00005980 lw ra, 0x54(sp)           |     ra = *(var_54h);
                                         |     if (v0 == 0) {
    0x00005984 beqz v0, 0x58fc           |         goto label_5;
                                         |     }
    0x00005988 lw fp, 0x50(sp)           |     fp = *(var_50h);
                                         |     if (s5 != 0) {
    0x0000598c bnez s5, 0x5900           |         goto label_6;
                                         |     }
    0x00005990 lw s1, 0x2c(s0)           |     s1 = *((s0 + 11));
    0x00005994 lw s4, -0x7fc4(gp)        |     s4 = *(gp);
                                         |     if (s1 == 0) {
    0x00005998 beqz s1, 0x59dc           |         goto label_20;
                                         |     }
                                         |     /* str.dbus */
    0x0000599c addiu s4, s4, 0x6310      |     s4 += 0x6310;
    0x000059a0 b 0x59b0                  |     goto label_21;
                                         | label_7:
    0x000059a4 lw s1, (s1)               |     s1 = *(s1);
                                         |     if (s1 == 0) {
    0x000059a8 beql s1, zero, 0x58f8     |         goto label_2;
                                         |     }
    0x000059ac sw zero, 0x44(s0)         |     *((s0 + 17)) = 0;
                                         | label_21:
    0x000059b0 lw t9, -0x7d40(gp)        |     t9 = sym.imp.strcmp;
    0x000059b4 lw a0, 4(s1)              |     a0 = *((s1 + 1));
    0x000059b8 move a1, s4               |     a1 = s4;
    0x000059bc jalr t9                   |     t9 ();
    0x000059c0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x000059c4 bnez v0, 0x59a4           |         goto label_7;
                                         |     }
    0x000059c8 lw t9, -0x7fcc(gp)        |     t9 = *((gp - 8179));
    0x000059cc lw a0, 8(s1)              |     a0 = *((s1 + 2));
    0x000059d0 addiu t9, t9, 0x4b44      |     t9 += fcn.00004b44;
    0x000059d4 move a1, s0               |     a1 = s0;
    0x000059d8 bal 0x4b44                |     fcn_00004b44 ();
                                         | label_20:
    0x000059dc sw zero, 0x44(s0)         |     *((s0 + 17)) = 0;
    0x000059e0 b 0x58f8                  |     goto label_2;
                                         | label_18:
    0x000059e4 lw s4, -0x7fd4(gp)        |     s4 = *((gp - 8181));
    0x000059e8 lw s2, -0x4770(s4)        |     s2 = *((s4 - 4572));
    0x000059ec lw t9, -0x7d40(gp)        |     t9 = sym.imp.strcmp;
                                         |     if (s2 == 0) {
    0x000059f0 bnel s2, zero, 0x5a08     |         goto label_22;
                                         |     }
    0x000059f4 lw t9, -0x7c44(gp)        |     t9 = sym.imp.strlen;
    0x000059f8 b 0x5a28                  |     goto label_23;
                                         |     do {
    0x000059fc lw s2, (s2)               |         s2 = *(s2);
    0x00005a00 lw t9, -0x7d40(gp)        |         t9 = sym.imp.strcmp;
                                         |         if (s2 == 0) {
    0x00005a04 beqz s2, 0x5a24           |             goto label_24;
                                         |         }
                                         | label_22:
    0x00005a08 lw a1, 4(s2)              |         a1 = *((s2 + 1));
    0x00005a0c move a0, s1               |         a0 = s1;
    0x00005a10 jalr t9                   |         t9 ();
    0x00005a14 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00005a18 bnez v0, 0x59fc           |         
                                         |     } while (v0 != 0);
    0x00005a1c move s2, s3               |     s2 = s3;
    0x00005a20 b 0x587c                  |     goto label_8;
                                         | label_24:
    0x00005a24 lw t9, -0x7c44(gp)        |     t9 = sym.imp.strlen;
                                         | label_23:
    0x00005a28 move a0, s1               |     a0 = s1;
    0x00005a2c jalr t9                   |     t9 ();
    0x00005a30 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005a34 lw t9, -0x7cac(gp)        |     t9 = sym.imp.malloc;
    0x00005a38 addiu a0, v0, 2           |     a0 = v0 + 2;
    0x00005a3c jalr t9                   |     t9 ();
    0x00005a40 move s3, v0               |     s3 = v0;
    0x00005a44 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00005a48 beqz v0, 0x5c2c           |         goto label_25;
                                         |     }
                                         | label_12:
    0x00005a4c lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x00005a50 lw s6, -0x7fd4(gp)        |     s6 = *((gp - 8181));
    0x00005a54 lw a3, -0x7fc4(gp)        |     a3 = *(gp);
    0x00005a58 lw t9, -0x7d00(gp)        |     t9 = sym.imp.__sprintf_chk;
    0x00005a5c addiu v0, v0, 0x635c      |     v0 += 0x635c;
    0x00005a60 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00005a64 sw s1, 0x10(sp)           |     *(var_10h) = s1;
                                         |     /* str._s_s */
    0x00005a68 addiu a3, a3, 0x6354      |     a3 += 0x6354;
    0x00005a6c addiu a2, zero, -1        |     a2 = -1;
    0x00005a70 addiu a1, zero, 1         |     a1 = 1;
    0x00005a74 move a0, s3               |     a0 = s3;
    0x00005a78 jalr t9                   |     t9 ();
    0x00005a7c lw fp, -0x477c(s6)        |     fp = *((s6 - 4575));
    0x00005a80 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (fp == 0) {
    0x00005a84 beqz fp, 0x5b94           |         goto label_26;
                                         |     }
    0x00005a88 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x00005a8c lw s5, -0x7fc4(gp)        |     s5 = *(gp);
    0x00005a90 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00005a94 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x00005a98 lw s2, -0x7fc4(gp)        |     s2 = *(gp);
    0x00005a9c addiu v0, v0, 0x7fb8      |     v0 += 0x7fb8;
    0x00005aa0 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00005aa4 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
                                         |     /* str.Failed_to_set_environment_variable__s_to__s */
    0x00005aa8 addiu s5, s5, 0x63a8      |     s5 += 0x63a8;
                                         |     /* str.axismapping.c */
    0x00005aac addiu s2, s2, 0x61a4      |     s2 += 0x61a4;
    0x00005ab0 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x00005ab4 b 0x5ad4                  |     
                                         |     while (v0 >= 0) {
                                         | label_9:
    0x00005ab8 lw t9, -0x7bec(gp)        |         t9 = sym.imp.free;
    0x00005abc move a0, s7               |         a0 = s7;
    0x00005ac0 jalr t9                   |         t9 ();
    0x00005ac4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         | label_10:
    0x00005ac8 lw fp, (fp)               |         fp = *(fp);
    0x00005acc lw t9, -0x7b84(gp)        |         t9 = sym.imp.system
                                         |         if (fp == 0) {
    0x00005ad0 beqz fp, 0x5b98           |             goto label_27;
                                         |         }
    0x00005ad4 lw v0, 8(fp)              |         v0 = *(arg_8h);
    0x00005ad8 lw t9, -0x7fc0(gp)        |         t9 = sym.legacy_drep_getStringFromCustom;
    0x00005adc move a1, zero             |         a1 = 0;
                                         |         if (v0 == 0) {
    0x00005ae0 beqz v0, 0x5b38           |             goto label_28;
                                         |         }
    0x00005ae4 lw v0, 4(fp)              |         v0 = *(arg_4h);
    0x00005ae8 lw a0, 0x6c(v0)           |         a0 = *((v0 + 27));
    0x00005aec bal 0xe404                |         sym_legacy_drep_getStringFromCustom ();
    0x00005af0 move s7, v0               |         s7 = v0;
    0x00005af4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x00005af8 beqz v0, 0x5b5c           |             goto label_29;
                                         |         }
                                         | label_11:
    0x00005afc lw t9, -0x7d44(gp)        |         t9 = sym.imp.setenv;
    0x00005b00 lw a0, 8(fp)              |         a0 = *(arg_8h);
    0x00005b04 addiu a2, zero, 1         |         a2 = 1;
    0x00005b08 move a1, s7               |         a1 = s7;
    0x00005b0c jalr t9                   |         t9 ();
    0x00005b10 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00005b14 bgez v0, 0x5ab8           |         
                                         |     }
    0x00005b18 lw t9, -0x7fb0(gp)        |     t9 = sym.logerr;
    0x00005b1c lw a2, 8(fp)              |     a2 = *(arg_8h);
    0x00005b20 move a3, s7               |     a3 = s7;
    0x00005b24 move a1, s5               |     a1 = s5;
    0x00005b28 move a0, s2               |     a0 = s2;
    0x00005b2c bal 0x19b80               |     sym_logerr ();
    0x00005b30 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005b34 b 0x5ab8                  |     goto label_9;
                                         | label_28:
    0x00005b38 lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x00005b3c lw v0, 0x24(sp)           |     v0 = *(var_24h_2);
    0x00005b40 lw t9, -0x7fb0(gp)        |     t9 = sym.logerr;
    0x00005b44 addiu a2, v0, 0x67f8      |     a2 = v0 + 0x67f8;
                                         |     /* str.Parameter_path_in__s_was_NULL_ */
    0x00005b48 addiu a1, a1, 0x6360      |     a1 += 0x6360;
    0x00005b4c move a0, s2               |     a0 = s2;
    0x00005b50 bal 0x19b80               |     sym_logerr ();
    0x00005b54 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005b58 b 0x5ac8                  |     goto label_10;
                                         | label_29:
    0x00005b5c lw v0, 4(fp)              |     v0 = *(arg_4h);
    0x00005b60 lw v1, 0x28(sp)           |     v1 = *(var_28h);
    0x00005b64 lw t9, -0x7fb0(gp)        |     t9 = sym.logerr;
    0x00005b68 lw a2, 0x28(v0)           |     a2 = *((v0 + 10));
    0x00005b6c addiu a1, v1, 0x6380      |     a1 = v1 + 0x6380;
    0x00005b70 move a0, s2               |     a0 = s2;
    0x00005b74 bal 0x19b80               |     sym_logerr ();
    0x00005b78 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005b7c lw t9, -0x7b70(gp)        |     t9 = sym.imp.g_strdup;
    0x00005b80 lw a0, 0x2c(sp)           |     a0 = *(var_2ch);
    0x00005b84 jalr t9                   |     t9 ();
    0x00005b88 move s7, v0               |     s7 = v0;
    0x00005b8c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005b90 b 0x5afc                  |     goto label_11;
                                         | label_26:
    0x00005b94 lw t9, -0x7b84(gp)        |     t9 = sym.imp.system
                                         | label_27:
    0x00005b98 move a0, s3               |     a0 = s3;
    0x00005b9c jalr t9                   |     t9 ();
    0x00005ba0 lw s2, -0x477c(s6)        |     s2 = *((s6 - 4575));
    0x00005ba4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s2 == 0) {
    0x00005ba8 beqz s2, 0x5bd0           |         goto label_30;
                                         |     }
    0x00005bac lw a0, 8(s2)              |     a0 = *((s2 + 2));
                                         |     do {
    0x00005bb0 lw t9, -0x7b6c(gp)        |         t9 = sym.imp.unsetenv;
                                         |         if (a0 != 0) {
    0x00005bb4 beqz a0, 0x5bc4           |             
    0x00005bb8 jalr t9                   |             t9 ();
    0x00005bbc nop                       |             
    0x00005bc0 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |         }
    0x00005bc4 lw s2, (s2)               |         s2 = *(s2);
    0x00005bc8 lw a0, 8(s2)              |         a0 = *((s2 + 2));
    0x00005bcc bnel s2, zero, 0x5bb0     |         
                                         |     } while (s2 == 0);
                                         | label_30:
    0x00005bd0 lw t9, -0x7cac(gp)        |     t9 = sym.imp.malloc;
    0x00005bd4 addiu a0, zero, 8         |     a0 = 8;
    0x00005bd8 jalr t9                   |     t9 ();
    0x00005bdc move s2, v0               |     s2 = v0;
    0x00005be0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00005be4 beqz v0, 0x5c4c           |         goto label_31;
                                         |     }
    0x00005be8 lw v0, -0x4770(s4)        |     v0 = *((s4 - 4572));
    0x00005bec lw t9, -0x7d34(gp)        |     t9 = sym.imp.strdup;
    0x00005bf0 sw v0, (s2)               |     *(s2) = v0;
    0x00005bf4 move a0, s1               |     a0 = s1;
    0x00005bf8 jalr t9                   |     t9 ();
    0x00005bfc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005c00 sw v0, 4(s2)              |     *((s2 + 1)) = v0;
                                         |     if (v0 == 0) {
    0x00005c04 beqz v0, 0x5c6c           |         goto label_32;
                                         |     }
    0x00005c08 sw s2, -0x4770(s4)        |     *((s4 - 4572)) = s2;
                                         | label_13:
    0x00005c0c lw t9, -0x7bec(gp)        |     t9 = sym.imp.free;
    0x00005c10 move a0, s3               |     a0 = s3;
    0x00005c14 jalr t9                   |     t9 ();
    0x00005c18 lw s2, 0x2c(s0)           |     s2 = *((s0 + 11));
    0x00005c1c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s2 != 0) {
    0x00005c20 bnez s2, 0x587c           |         goto label_8;
                                         |     }
    0x00005c24 sw zero, 0x40(s0)         |     *((s0 + 16)) = 0;
    0x00005c28 b 0x58f8                  |     goto label_2;
                                         | label_25:
    0x00005c2c lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x00005c30 lw a0, -0x7fc4(gp)        |     a0 = *(gp);
    0x00005c34 lw t9, -0x7fc8(gp)        |     t9 = sym.fatald;
                                         |     /* str.Out_of_memory_in_update_runSetter___ */
    0x00005c38 addiu a1, a1, 0x632c      |     a1 += 0x632c;
                                         |     /* str.axismapping.c */
    0x00005c3c addiu a0, a0, 0x61a4      |     a0 += 0x61a4;
    0x00005c40 bal 0x199c0               |     sym_fatald ();
    0x00005c44 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005c48 b 0x5a4c                  |     goto label_12;
                                         | label_31:
    0x00005c4c lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x00005c50 lw a0, -0x7fc4(gp)        |     a0 = *(gp);
    0x00005c54 lw t9, -0x7fc8(gp)        |     t9 = sym.fatald;
                                         |     /* str.Out_of_memory_in_addSetter___ */
    0x00005c58 addiu a1, a1, 0x63d4      |     a1 += 0x63d4;
                                         |     /* str.axismapping.c */
    0x00005c5c addiu a0, a0, 0x61a4      |     a0 += 0x61a4;
    0x00005c60 bal 0x199c0               |     sym_fatald ();
    0x00005c64 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005c68 b 0x5c0c                  |     goto label_13;
                                         | label_32:
    0x00005c6c lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x00005c70 lw a0, -0x7fc4(gp)        |     a0 = *(gp);
    0x00005c74 lw t9, -0x7fc8(gp)        |     t9 = sym.fatald;
                                         |     /* str.Out_of_memory_in_addSetter___ */
    0x00005c78 addiu a1, a1, 0x63d4      |     a1 += 0x63d4;
                                         |     /* str.axismapping.c */
    0x00005c7c addiu a0, a0, 0x61a4      |     a0 += 0x61a4;
    0x00005c80 bal 0x199c0               |     sym_fatald ();
    0x00005c84 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005c88 lw t9, -0x7bec(gp)        |     t9 = sym.imp.free;
    0x00005c8c move a0, s2               |     a0 = s2;
    0x00005c90 jalr t9                   |     t9 ();
    0x00005c94 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00005c98 b 0x5c0c                  |     goto label_13;
                                         | }

[*] Function system used 3 times parhand