[*] 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