[*] Binary protection state of portmanagement.cgi

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


[*] Function printf tear down of portmanagement.cgi

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/io/portmanagement.cgi @ 0x2fd4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00002fd4 ()              | void fcn_00002fd4 () {
                                         | label_0:
    0x00002fd4 lui gp, 2                 |     
    0x00002fd8 addiu gp, gp, 0x203c      |     
    0x00002fdc addu gp, gp, t9           |     gp += t9;
    0x00002fe0 addiu sp, sp, -0x30       |     
    0x00002fe4 lw v1, -0x7fc0(gp)        |     v1 = *((gp - 8176));
    0x00002fe8 sw s0, 0x28(sp)           |     *(var_28h) = s0;
    0x00002fec lw s0, -0x7e88(gp)        |     s0 = *((gp - 8098));
    0x00002ff0 lw a3, -0x7fc8(gp)        |     a3 = *((gp - 8178));
    0x00002ff4 lw a2, -0x7fc8(gp)        |     a2 = *((gp - 8178));
    0x00002ff8 lw v0, (s0)               |     v0 = *(s0);
    0x00002ffc lw t9, -0x7fb4(gp)        |     t9 = sym.iocontrol_dbus_iocontrol_state_proxy_new_sync;
    0x00003000 lw a0, -0x2d4c(v1)        |     a0 = *((v1 - 2899));
    0x00003004 addiu v1, sp, 0x20        |     v1 = sp + 0x20;
    0x00003008 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x0000300c sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00003010 sw v1, 0x14(sp)           |     *(var_14h) = v1;
    0x00003014 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00003018 addiu a3, a3, -0x52e8     |     a3 += -0x52e8;
    0x0000301c addiu a2, a2, -0x52cc     |     a2 += -0x52cc;
    0x00003020 addiu a1, zero, 2         |     a1 = 2;
    0x00003024 sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00003028 sw zero, 0x20(sp)         |     *(var_20h) = 0;
    0x0000302c bal 0x9470                |     sym_iocontrol_dbus_iocontrol_state_proxy_new_sync ();
    0x00003030 nop                       |     
    0x00003034 lw a0, 0x20(sp)           |     a0 = *(var_20h);
    0x00003038 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000303c bnez a0, 0x305c           |     
                                         |     while (1) {
    0x00003040 lw a0, 0x24(sp)           |         a0 = *(var_24h);
    0x00003044 lw v1, (s0)               |         v1 = *(s0);
    0x00003048 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
                                         |         if (a0 != v1) {
    0x0000304c bne a0, v1, 0x3074        |             goto label_6;
                                         |         }
    0x00003050 lw s0, 0x28(sp)           |         s0 = *(var_28h);
    0x00003054 addiu sp, sp, 0x30        |         
    0x00003058 jr ra                     |         return v0;
    0x0000305c lw t9, -0x7f10(gp)        |         t9 = sym.imp.g_error_free;
    0x00003060 jalr t9                   |         t9 ();
    0x00003064 nop                       |         
    0x00003068 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000306c move v0, zero             |         v0 = 0;
    0x00003070 b 0x3040                  |         
                                         |     }
                                         | label_6:
    0x00003074 lw t9, -0x7ec0(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00003078 jalr t9                   |     t9 ();
    0x0000307c nop                       |     
    0x00003080 lui gp, 2                 |     
    0x00003084 addiu gp, gp, 0x1f90      |     
    0x00003088 addu gp, gp, t9           |     gp += t9;
    0x0000308c addiu sp, sp, -0xa0       |     
    0x00003090 sw s0, 0x78(sp)           |     *(var_78h) = s0;
    0x00003094 lw s0, -0x7e88(gp)        |     s0 = *((gp - 8098));
    0x00003098 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x0000309c sw ra, 0x9c(sp)           |     *(var_9ch) = ra;
    0x000030a0 lw v0, (s0)               |     v0 = *(s0);
    0x000030a4 sw fp, 0x98(sp)           |     *(var_98h) = fp;
    0x000030a8 sw s7, 0x94(sp)           |     *(var_94h) = s7;
    0x000030ac sw s6, 0x90(sp)           |     *(var_90h) = s6;
    0x000030b0 sw s5, 0x8c(sp)           |     *(var_8ch) = s5;
    0x000030b4 sw s4, 0x88(sp)           |     *(var_88h) = s4;
    0x000030b8 sw s3, 0x84(sp)           |     *(var_84h) = s3;
    0x000030bc sw s2, 0x80(sp)           |     *(var_80h) = s2;
    0x000030c0 sw s1, 0x7c(sp)           |     *(var_7ch) = s1;
    0x000030c4 sw v0, 0x74(sp)           |     *(var_74h) = v0;
    0x000030c8 sw zero, 0x60(sp)         |     *(var_60h) = 0;
    0x000030cc sw zero, 0x64(sp)         |     *(var_64h) = 0;
                                         |     if (a2 == 0) {
    0x000030d0 beqz a2, 0x31f4           |         goto label_7;
                                         |     }
    0x000030d4 lw v0, (a2)               |     v0 = *(a2);
    0x000030d8 move fp, a2               |     fp = a2;
                                         |     if (v0 != 0) {
    0x000030dc beqz v0, 0x310c           |         
    0x000030e0 lw v0, -0x7fc8(gp)        |         v0 = *((gp - 8178));
    0x000030e4 lw a3, -0x7fc8(gp)        |         a3 = *((gp - 8178));
    0x000030e8 lw a1, -0x7fc8(gp)        |         a1 = *((gp - 8178));
    0x000030ec addiu v0, v0, -0x5298     |         v0 += -0x5298;
    0x000030f0 lw t9, -0x7e34(gp)        |         t9 = sym.imp.g_assertion_message_expr;
    0x000030f4 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x000030f8 addiu a3, a3, -0x48a0     |         a3 += -0x48a0;
    0x000030fc addiu a2, zero, 0x38e     |         a2 = 0x38e;
    0x00003100 addiu a1, a1, -0x52b0     |         a1 += -0x52b0;
    0x00003104 move a0, zero             |         a0 = 0;
    0x00003108 jalr t9                   |         t9 ();
                                         |     }
    0x0000310c move s2, a0               |     s2 = a0;
                                         |     if (a0 == 0) {
    0x00003110 beqz a0, 0x356c           |         goto label_8;
                                         |     }
    0x00003114 lw s1, -0x7fc8(gp)        |     s1 = *((gp - 8178));
    0x00003118 lw t9, -0x7ee4(gp)        |     t9 = sym.imp.jc_get_string;
    0x0000311c move s5, a1               |     s5 = a1;
    0x00003120 addiu a1, s1, -0x49a4     |     a1 = s1 + -0x49a4;
    0x00003124 jalr t9                   |     t9 ();
    0x00003128 lw a0, (fp)               |     a0 = *(fp);
    0x0000312c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003130 move s6, v0               |     s6 = v0;
                                         |     if (a0 == 0) {
    0x00003134 beqz a0, 0x31a8           |         goto label_9;
                                         |     }
    0x00003138 lw a3, -0x7fc8(gp)        |     a3 = *((gp - 8178));
    0x0000313c lw a2, -0x7fc8(gp)        |     a2 = *((gp - 8178));
    0x00003140 addiu s1, s1, -0x49a4     |     s1 += -0x49a4;
    0x00003144 lw t9, -0x7f44(gp)        |     t9 = sym.imp.g_log;
    0x00003148 sw s1, 0x10(sp)           |     *(var_10h_2) = s1;
    0x0000314c addiu a3, a3, -0x4f58     |     a3 += -0x4f58;
    0x00003150 addiu a2, a2, -0x5270     |     a2 += -0x5270;
                                         |     do {
    0x00003154 addiu a1, zero, 0x40      |         a1 = 0x40;
    0x00003158 move a0, zero             |         a0 = 0;
    0x0000315c jalr t9                   |         t9 ();
    0x00003160 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003164 move s2, zero             |         s2 = 0;
                                         | label_2:
    0x00003168 lw a0, 0x74(sp)           |         a0 = *(var_74h);
    0x0000316c lw v1, (s0)               |         v1 = *(s0);
    0x00003170 move v0, s2               |         v0 = s2;
                                         |         if (a0 != v1) {
    0x00003174 bne a0, v1, 0x3a2c        |             goto label_10;
                                         |         }
    0x00003178 lw ra, 0x9c(sp)           |         ra = *(var_9ch);
    0x0000317c lw fp, 0x98(sp)           |         fp = *(var_98h);
    0x00003180 lw s7, 0x94(sp)           |         s7 = *(var_94h);
    0x00003184 lw s6, 0x90(sp)           |         s6 = *(var_90h);
    0x00003188 lw s5, 0x8c(sp)           |         s5 = *(var_8ch);
    0x0000318c lw s4, 0x88(sp)           |         s4 = *(var_88h);
    0x00003190 lw s3, 0x84(sp)           |         s3 = *(var_84h);
    0x00003194 lw s2, 0x80(sp)           |         s2 = *(var_80h);
    0x00003198 lw s1, 0x7c(sp)           |         s1 = *(var_7ch);
    0x0000319c lw s0, 0x78(sp)           |         s0 = *(var_78h);
    0x000031a0 addiu sp, sp, 0xa0        |         
    0x000031a4 jr ra                     |         return v0;
                                         | label_9:
    0x000031a8 lw s4, -0x7fc8(gp)        |         s4 = *((gp - 8178));
    0x000031ac lw t9, -0x7ea4(gp)        |         t9 = sym.imp.jc_find_element;
    0x000031b0 move a0, s2               |         a0 = s2;
    0x000031b4 move a3, fp               |         a3 = fp;
    0x000031b8 addiu a2, zero, 5         |         a2 = 5;
    0x000031bc addiu a1, s4, -0x46d8     |         a1 = s4 + -0x46d8;
    0x000031c0 jalr t9                   |         t9 ();
    0x000031c4 lw a0, (fp)               |         a0 = *(fp);
    0x000031c8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000031cc move s3, v0               |         s3 = v0;
                                         |         if (a0 == 0) {
    0x000031d0 beqz a0, 0x3220           |             goto label_11;
                                         |         }
    0x000031d4 lw a3, -0x7fc8(gp)        |         a3 = *((gp - 8178));
    0x000031d8 lw a2, -0x7fc8(gp)        |         a2 = *((gp - 8178));
    0x000031dc addiu s4, s4, -0x46d8     |         s4 += -0x46d8;
    0x000031e0 lw t9, -0x7f44(gp)        |         t9 = sym.imp.g_log;
    0x000031e4 sw s4, 0x10(sp)           |         *(var_10h_2) = s4;
    0x000031e8 addiu a3, a3, -0x4f58     |         a3 += -0x4f58;
    0x000031ec addiu a2, a2, -0x5254     |         a2 += -0x5254;
    0x000031f0 b 0x3154                  |         
                                         |     } while (1);
                                         | label_7:
    0x000031f4 lw v0, -0x7fc8(gp)        |     v0 = *((gp - 8178));
    0x000031f8 lw a3, -0x7fc8(gp)        |     a3 = *((gp - 8178));
    0x000031fc lw a1, -0x7fc8(gp)        |     a1 = *((gp - 8178));
    0x00003200 addiu v0, v0, -0x52a0     |     v0 += -0x52a0;
    0x00003204 lw t9, -0x7e34(gp)        |     t9 = sym.imp.g_assertion_message_expr;
    0x00003208 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x0000320c addiu a3, a3, -0x48a0     |     a3 += -0x48a0;
    0x00003210 addiu a2, zero, 0x38d     |     a2 = 0x38d;
    0x00003214 addiu a1, a1, -0x52b0     |     a1 += -0x52b0;
    0x00003218 move a0, zero             |     a0 = 0;
    0x0000321c jalr t9                   |     t9 ();
                                         | label_11:
    0x00003220 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x00003224 addiu t9, t9, 0x2fd4      |     t9 += fcn.00002fd4;
    0x00003228 bal 0x2fd4                |     fcn_00002fd4 ();
                                         |     goto label_0;
    0x0000322c nop                       |     
    0x00003230 sw v0, 0x20(sp)           |     *(var_20h_2) = v0;
    0x00003234 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003238 beqz v0, 0x36bc           |         goto label_12;
                                         |     }
    0x0000323c lw t9, -0x7e28(gp)        |     t9 = sym.imp.strtol;
    0x00003240 move a2, zero             |     a2 = 0;
    0x00003244 move a1, zero             |     a1 = 0;
    0x00003248 move a0, s6               |     a0 = s6;
    0x0000324c jalr t9                   |     t9 ();
    0x00003250 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003254 addiu v1, sp, 0x60        |     v1 = sp + 0x60;
    0x00003258 lw a0, 0x20(sp)           |     a0 = *(var_20h_2);
    0x0000325c lw t9, -0x7fb0(gp)        |     t9 = sym.iocontrol_dbus_iocontrol_state_call_get_direction_sync;
    0x00003260 sw v1, 0x3c(sp)           |     *(var_3ch) = v1;
    0x00003264 sw v1, 0x10(sp)           |     *(var_10h_2) = v1;
    0x00003268 move a3, zero             |     a3 = 0;
    0x0000326c addiu a2, sp, 0x64        |     a2 = sp + 0x64;
    0x00003270 move a1, v0               |     a1 = v0;
    0x00003274 bal 0x7aa0                |     sym_iocontrol_dbus_iocontrol_state_call_get_direction_sync ();
    0x00003278 move s2, v0               |     s2 = v0;
    0x0000327c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003280 beqz v0, 0x360c           |         goto label_13;
                                         |     }
    0x00003284 lw a1, -0x7fc8(gp)        |     a1 = *((gp - 8178));
    0x00003288 lw t9, -0x7dcc(gp)        |     t9 = sym.imp.g_strcmp0;
    0x0000328c lw a0, 0x64(sp)           |     a0 = *(var_64h);
    0x00003290 addiu a1, a1, -0x51d0     |     a1 += -0x51d0;
    0x00003294 jalr t9                   |     t9 ();
    0x00003298 move s2, v0               |     s2 = v0;
    0x0000329c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x000032a0 bnez v0, 0x35b4           |         goto label_14;
                                         |     }
    0x000032a4 lw t9, -0x7dc8(gp)        |     t9 = sym.imp.tree_element_count_value_list;
    0x000032a8 move a0, s3               |     a0 = s3;
    0x000032ac jalr t9                   |     t9 ();
    0x000032b0 slti v0, v0, 0x101        |     v0 = (v0 < 0x101) ? 1 : 0;
    0x000032b4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x000032b8 beqz v0, 0x3710           |         goto label_15;
                                         |     }
    0x000032bc lw t9, -0x7e28(gp)        |     t9 = sym.imp.strtol;
    0x000032c0 move a2, zero             |     a2 = 0;
    0x000032c4 move a1, zero             |     a1 = 0;
    0x000032c8 move a0, s6               |     a0 = s6;
    0x000032cc jalr t9                   |     t9 ();
    0x000032d0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000032d4 lw v1, 0x3c(sp)           |     v1 = *(var_3ch);
    0x000032d8 lw a0, 0x20(sp)           |     a0 = *(var_20h_2);
    0x000032dc lw t9, -0x7fac(gp)        |     t9 = sym.iocontrol_dbus_iocontrol_state_call_get_active_sync;
    0x000032e0 sw v1, 0x14(sp)           |     *(var_14h_2) = v1;
    0x000032e4 sw zero, 0x10(sp)         |     *(var_10h_2) = 0;
    0x000032e8 addiu a3, sp, 0x6c        |     a3 = sp + 0x6c;
    0x000032ec addiu a2, sp, 0x68        |     a2 = sp + 0x68;
    0x000032f0 move a1, v0               |     a1 = v0;
    0x000032f4 bal 0x7ec8                |     sym_iocontrol_dbus_iocontrol_state_call_get_active_sync ();
    0x000032f8 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x000032fc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003300 beqz v0, 0x3764           |         goto label_16;
                                         |     }
    0x00003304 lw s7, -0x7fc8(gp)        |     s7 = *((gp - 8178));
    0x00003308 lw t9, -0x7d84(gp)        |     t9 = sym.imp.g_free;
    0x0000330c lw a0, 0x68(sp)           |     a0 = *(var_68h);
    0x00003310 sw s7, 0x30(sp)           |     *(var_30h) = s7;
    0x00003314 jalr t9                   |     t9 ();
    0x00003318 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000331c lw a0, 0x6c(sp)           |     a0 = *(var_6ch);
    0x00003320 lw t9, -0x7dcc(gp)        |     t9 = sym.imp.g_strcmp0;
    0x00003324 addiu a1, s7, -0x52f0     |     a1 = s7 + -0x52f0;
    0x00003328 jalr t9                   |     t9 ();
    0x0000332c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003330 sltiu v0, v0, 1           |     v0 = (v0 < 1) ? 1 : 0;
    0x00003334 lw a0, 0x6c(sp)           |     a0 = *(var_6ch);
    0x00003338 lw t9, -0x7d84(gp)        |     t9 = sym.imp.g_free;
    0x0000333c sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00003340 jalr t9                   |     t9 ();
    0x00003344 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003348 lw s3, 0xc(s3)            |     s3 = *((s3 + 3));
    0x0000334c lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x00003350 lw t9, -0x7e50(gp)        |     t9 = sym.imp.g_variant_type_checked_;
    0x00003354 addiu a0, a0, -0x5118     |     a0 += -0x5118;
    0x00003358 jalr t9                   |     t9 ();
    0x0000335c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003360 lw t9, -0x7ea8(gp)        |     t9 = sym.imp.g_variant_builder_new;
    0x00003364 move a0, v0               |     a0 = v0;
    0x00003368 jalr t9                   |     t9 ();
    0x0000336c sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x00003370 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (s3 == 0) {
    0x00003374 beqz s3, 0x37e4           |         goto label_17;
                                         |     }
    0x00003378 lw v0, 0xc(s3)            |     v0 = *((s3 + 3));
    0x0000337c lw v0, -0x7fc8(gp)        |     v0 = *((gp - 8178));
                                         |     if (v0 == 0) {
    0x00003380 beqz v0, 0x37e4           |         goto label_17;
                                         |     }
    0x00003384 lw v1, -0x7fc8(gp)        |     v1 = *((gp - 8178));
    0x00003388 sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x0000338c addiu v0, v0, -0x5110     |     v0 += -0x5110;
    0x00003390 sw v0, 0x28(sp)           |     *(var_28h_2) = v0;
    0x00003394 addiu v0, v1, -0x50d8     |     v0 = v1 + -0x50d8;
    0x00003398 sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x0000339c lw v0, -0x7fc8(gp)        |     v0 = *((gp - 8178));
    0x000033a0 lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x000033a4 addiu v0, v0, -0x52f8     |     v0 += -0x52f8;
    0x000033a8 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x000033ac lw v0, -0x7fc8(gp)        |     v0 = *((gp - 8178));
    0x000033b0 sw a0, 0x34(sp)           |     *(var_34h) = a0;
    0x000033b4 addiu v0, v0, -0x5074     |     v0 += -0x5074;
    0x000033b8 move a0, zero             |     a0 = 0;
    0x000033bc sw s6, 0x54(sp)           |     *(var_54h) = s6;
    0x000033c0 sw s5, 0x58(sp)           |     *(var_58h) = s5;
    0x000033c4 lw s6, 0x44(sp)           |     s6 = *(var_44h);
    0x000033c8 sw v1, 0x50(sp)           |     *(var_50h) = v1;
    0x000033cc addiu s7, sp, 0x70        |     s7 = sp + 0x70;
    0x000033d0 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x000033d4 sw s2, 0x44(sp)           |     *(var_44h) = s2;
    0x000033d8 move s5, a0               |     s5 = a0;
    0x000033dc sw fp, 0x4c(sp)           |     *(var_4ch) = fp;
    0x000033e0 b 0x3444                  |     
                                         |     while (v0 == 0) {
    0x000033e4 addiu v0, zero, 1         |         v0 = 1;
                                         | label_1:
    0x000033e8 lui v1, 1                 |         v1 = 0x10000;
    0x000033ec sltu v1, fp, v1           |         v1 = (fp < v1) ? 1 : 0;
    0x000033f0 lw t9, -0x7f48(gp)        |         t9 = sym.imp.g_variant_new;
                                         |         if (v1 == 0) {
    0x000033f4 beqz v1, 0x3904           |             goto label_18;
                                         |         }
    0x000033f8 xor v0, v0, s6            |         v0 ^= s6;
    0x000033fc sltiu a1, v0, 1           |         a1 = (v0 < 1) ? 1 : 0;
    0x00003400 lw v0, 0x34(sp)           |         v0 = *(var_34h);
    0x00003404 move a2, fp               |         a2 = fp;
    0x00003408 addiu a0, v0, -0x507c     |         a0 = v0 + -0x507c;
    0x0000340c jalr t9                   |         t9 ();
    0x00003410 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003414 lw a1, 0x38(sp)           |         a1 = *(var_38h);
    0x00003418 lw a0, 0x24(sp)           |         a0 = *(var_24h_2);
    0x0000341c lw t9, -0x7da8(gp)        |         t9 = sym.imp.g_variant_builder_add;
    0x00003420 move a2, v0               |         a2 = v0;
    0x00003424 jalr t9                   |         t9 ();
    0x00003428 lw s3, 0x14(s3)           |         s3 = *((s3 + 5));
    0x0000342c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003430 addiu s5, s5, 1           |         s5++;
                                         |         if (s3 == 0) {
    0x00003434 beqz s3, 0x37d4           |             goto label_19;
                                         |         }
    0x00003438 lw v0, 0xc(s3)            |         v0 = *((s3 + 3));
                                         |         if (v0 == 0) {
    0x0000343c beql v0, zero, 0x37d8     |             goto label_20;
                                         |         }
    0x00003440 lw s6, 0x54(sp)           |         s6 = *(var_54h);
    0x00003444 lw t9, -0x7ee4(gp)        |         t9 = sym.imp.jc_get_string;
    0x00003448 lw a1, 0x28(sp)           |         a1 = *(var_28h_2);
    0x0000344c move a2, s7               |         a2 = s7;
    0x00003450 move a0, s3               |         a0 = s3;
    0x00003454 sw zero, 0x70(sp)         |         *(var_70h) = 0;
    0x00003458 jalr t9                   |         t9 ();
    0x0000345c lw v1, 0x70(sp)           |         v1 = *(var_70h);
    0x00003460 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003464 move s2, v0               |         s2 = v0;
                                         |         if (v1 != 0) {
    0x00003468 bnez v1, 0x3864           |             goto label_21;
                                         |         }
    0x0000346c lw t9, -0x7f3c(gp)        |         t9 = sym.imp.jc_get_integer;
    0x00003470 lw a1, 0x2c(sp)           |         a1 = *(var_2ch_2);
    0x00003474 move a2, s7               |         a2 = s7;
    0x00003478 move a0, s3               |         a0 = s3;
    0x0000347c jalr t9                   |         t9 ();
    0x00003480 lw v1, 0x70(sp)           |         v1 = *(var_70h);
    0x00003484 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003488 move fp, v0               |         fp = v0;
                                         |         if (v1 != 0) {
    0x0000348c bnez v1, 0x38e0           |             goto label_22;
                                         |         }
    0x00003490 lw v0, 0x30(sp)           |         v0 = *(var_30h);
    0x00003494 lw t9, -0x7dcc(gp)        |         t9 = sym.imp.g_strcmp0;
    0x00003498 addiu a1, v0, -0x52f0     |         a1 = v0 + -0x52f0;
    0x0000349c move a0, s2               |         a0 = s2;
    0x000034a0 jalr t9                   |         t9 ();
    0x000034a4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000034a8 beqz v0, 0x33e4           |         
                                         |     }
    0x000034ac lw t9, -0x7dcc(gp)        |     t9 = sym.imp.g_strcmp0;
    0x000034b0 lw a1, 0x40(sp)           |     a1 = *(var_40h);
    0x000034b4 move a0, s2               |     a0 = s2;
    0x000034b8 jalr t9                   |     t9 ();
    0x000034bc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x000034c0 beqz v0, 0x33e8           |         goto label_1;
                                         |     }
    0x000034c4 lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x000034c8 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x000034cc lw t9, -0x7e48(gp)        |     t9 = sym.imp.g_strdup_printf
    0x000034d0 move a2, s2               |     a2 = s2;
    0x000034d4 addiu a3, s4, -0x46d8     |     a3 = s4 + -0x46d8;
    0x000034d8 addiu a1, v0, -0x5110     |     a1 = v0 + -0x5110;
    0x000034dc addiu a0, a0, -0x50d0     |     a0 += -0x50d0;
    0x000034e0 sw s5, 0x10(sp)           |     *(var_10h_2) = s5;
    0x000034e4 lw s2, 0x44(sp)           |     s2 = *(var_44h);
    0x000034e8 lw fp, 0x4c(sp)           |     fp = *(var_4ch);
    0x000034ec jalr t9                   |     t9 ();
    0x000034f0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         | label_5:
    0x000034f4 lw a0, (fp)               |     a0 = *(fp);
    0x000034f8 lw t9, -0x7da4(gp)        |     t9 = sym.imp.jc_generic_error;
    0x000034fc move a3, zero             |     a3 = 0;
    0x00003500 move a2, v0               |     a2 = v0;
    0x00003504 addiu a1, zero, 6         |     a1 = 6;
    0x00003508 move s1, v0               |     s1 = v0;
    0x0000350c jalr t9                   |     t9 ();
    0x00003510 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003514 sw v0, (fp)               |     *(fp) = v0;
    0x00003518 lw t9, -0x7d84(gp)        |     t9 = sym.imp.g_free;
    0x0000351c move a0, s1               |     a0 = s1;
    0x00003520 jalr t9                   |     t9 ();
    0x00003524 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         | label_4:
    0x00003528 lw a0, 0x24(sp)           |     a0 = *(var_24h_2);
    0x0000352c lw t9, -0x7f38(gp)        |     t9 = sym.imp.g_variant_builder_unref;
                                         |     if (a0 == 0) {
    0x00003530 beqz a0, 0x3540           |         goto label_3;
                                         |     }
    0x00003534 jalr t9                   |     t9 ();
    0x00003538 nop                       |     
    0x0000353c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     do {
                                         | label_3:
    0x00003540 lw a0, 0x64(sp)           |         a0 = *(var_64h);
    0x00003544 lw t9, -0x7d84(gp)        |         t9 = sym.imp.g_free;
                                         |         if (a0 != 0) {
    0x00003548 beqz a0, 0x3558           |             
    0x0000354c jalr t9                   |             t9 ();
    0x00003550 nop                       |             
    0x00003554 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |         }
    0x00003558 lw t9, -0x7dc0(gp)        |         t9 = *((gp - 8048));
    0x0000355c lw a0, 0x20(sp)           |         a0 = *(var_20h_2);
    0x00003560 jalr t9                   |         t9 ();
    0x00003564 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003568 b 0x3168                  |         goto label_2;
                                         | label_8:
    0x0000356c lw a3, -0x7fc8(gp)        |         a3 = *((gp - 8178));
    0x00003570 lw a2, -0x7fc8(gp)        |         a2 = *((gp - 8178));
    0x00003574 lw t9, -0x7f44(gp)        |         t9 = sym.imp.g_log;
    0x00003578 addiu a3, a3, -0x4f58     |         a3 += -0x4f58;
    0x0000357c addiu a2, a2, -0x5290     |         a2 += -0x5290;
    0x00003580 addiu a1, zero, 0x40      |         a1 = 0x40;
    0x00003584 jalr t9                   |         t9 ();
    0x00003588 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0000358c lw a0, (fp)               |         a0 = *(fp);
    0x00003590 move a3, zero             |         a3 = 0;
    0x00003594 lw a2, -0x7fc8(gp)        |         a2 = *((gp - 8178));
    0x00003598 lw t9, -0x7da4(gp)        |         t9 = sym.imp.jc_generic_error;
    0x0000359c addiu a2, a2, -0x5280     |         a2 += -0x5280;
    0x000035a0 addiu a1, zero, 6         |         a1 = 6;
    0x000035a4 jalr t9                   |         t9 ();
    0x000035a8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000035ac sw v0, (fp)               |         *(fp) = v0;
    0x000035b0 b 0x3168                  |         goto label_2;
                                         | label_14:
    0x000035b4 lw a0, -0x7fc8(gp)        |         a0 = *((gp - 8178));
    0x000035b8 lw t9, -0x7e48(gp)        |         t9 = sym.imp.g_strdup_printf
    0x000035bc lw a2, 0x64(sp)           |         a2 = *(var_64h);
    0x000035c0 move a1, s6               |         a1 = s6;
    0x000035c4 addiu a0, a0, -0x51c8     |         a0 += -0x51c8;
    0x000035c8 jalr t9                   |         t9 ();
    0x000035cc lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000035d0 lw a0, (fp)               |         a0 = *(fp);
    0x000035d4 move a3, zero             |         a3 = 0;
    0x000035d8 lw t9, -0x7da4(gp)        |         t9 = sym.imp.jc_generic_error;
    0x000035dc move a2, v0               |         a2 = v0;
    0x000035e0 addiu a1, zero, 6         |         a1 = 6;
    0x000035e4 move s1, v0               |         s1 = v0;
    0x000035e8 jalr t9                   |         t9 ();
    0x000035ec lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000035f0 sw v0, (fp)               |         *(fp) = v0;
    0x000035f4 move a0, s1               |         a0 = s1;
    0x000035f8 lw t9, -0x7d84(gp)        |         t9 = sym.imp.g_free;
    0x000035fc move s2, zero             |         s2 = 0;
    0x00003600 jalr t9                   |         t9 ();
    0x00003604 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003608 b 0x3540                  |         
                                         |     } while (1);
                                         | label_13:
    0x0000360c lw s1, -0x7fc0(gp)        |     s1 = *((gp - 8176));
    0x00003610 lw a2, -0x7fc0(gp)        |     a2 = *((gp - 8176));
    0x00003614 lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x00003618 lw t9, -0x7dac(gp)        |     t9 = sym.imp.g_dbus_error_register_error_domain;
    0x0000361c addiu a3, zero, 7         |     a3 = 7;
                                         |     /* section..data.rel.ro */
    0x00003620 addiu a2, a2, -0x3830     |     a2 += -0x3830;
    0x00003624 addiu a1, s1, -0x2d50     |     a1 = s1 + -0x2d50;
    0x00003628 addiu a0, a0, -0x521c     |     a0 += -0x521c;
    0x0000362c lw s3, 0x60(sp)           |     s3 = *(var_60h);
    0x00003630 jalr t9                   |     t9 ();
    0x00003634 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003638 lw a1, -0x2d50(s1)        |     a1 = *((s1 - 2900));
    0x0000363c addiu a2, zero, 1         |     a2 = 1;
    0x00003640 lw t9, -0x7e90(gp)        |     t9 = sym.imp.g_error_matches;
    0x00003644 move a0, s3               |     a0 = s3;
    0x00003648 jalr t9                   |     t9 ();
    0x0000364c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003650 beqz v0, 0x36e8           |         goto label_23;
                                         |     }
    0x00003654 lw v0, 0x60(sp)           |     v0 = *(var_60h);
    0x00003658 lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x0000365c lw t9, -0x7e48(gp)        |     t9 = sym.imp.g_strdup_printf
    0x00003660 lw a2, 8(v0)              |     a2 = *((v0 + 2));
    0x00003664 move a1, s6               |     a1 = s6;
    0x00003668 addiu a0, a0, -0x5204     |     a0 += -0x5204;
    0x0000366c jalr t9                   |     t9 ();
    0x00003670 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003674 lw a0, (fp)               |     a0 = *(fp);
    0x00003678 move a3, zero             |     a3 = 0;
    0x0000367c lw t9, -0x7da4(gp)        |     t9 = sym.imp.jc_generic_error;
    0x00003680 move a2, v0               |     a2 = v0;
    0x00003684 addiu a1, zero, 6         |     a1 = 6;
    0x00003688 move s1, v0               |     s1 = v0;
    0x0000368c jalr t9                   |     t9 ();
    0x00003690 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003694 sw v0, (fp)               |     *(fp) = v0;
    0x00003698 lw t9, -0x7d84(gp)        |     t9 = sym.imp.g_free;
    0x0000369c move a0, s1               |     a0 = s1;
    0x000036a0 jalr t9                   |     t9 ();
    0x000036a4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     do {
    0x000036a8 lw t9, -0x7f10(gp)        |         t9 = sym.imp.g_error_free;
    0x000036ac lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x000036b0 jalr t9                   |         t9 ();
    0x000036b4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000036b8 b 0x3540                  |         goto label_3;
                                         | label_12:
    0x000036bc lw a2, -0x7fc8(gp)        |         a2 = *((gp - 8178));
    0x000036c0 lw t9, -0x7da4(gp)        |         t9 = sym.imp.jc_generic_error;
    0x000036c4 lw a0, (fp)               |         a0 = *(fp);
    0x000036c8 move a3, zero             |         a3 = 0;
    0x000036cc addiu a2, a2, -0x5234     |         a2 += -0x5234;
    0x000036d0 addiu a1, zero, 1         |         a1 = 1;
    0x000036d4 jalr t9                   |         t9 ();
    0x000036d8 move s2, zero             |         s2 = 0;
    0x000036dc lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000036e0 sw v0, (fp)               |         *(fp) = v0;
    0x000036e4 b 0x3168                  |         goto label_2;
                                         | label_23:
    0x000036e8 lw a2, -0x7fc8(gp)        |         a2 = *((gp - 8178));
    0x000036ec lw t9, -0x7da4(gp)        |         t9 = sym.imp.jc_generic_error;
    0x000036f0 lw a0, (fp)               |         a0 = *(fp);
    0x000036f4 move a3, zero             |         a3 = 0;
    0x000036f8 addiu a2, a2, -0x51f4     |         a2 += -0x51f4;
    0x000036fc addiu a1, zero, 1         |         a1 = 1;
    0x00003700 jalr t9                   |         t9 ();
    0x00003704 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003708 sw v0, (fp)               |         *(fp) = v0;
    0x0000370c b 0x36a8                  |         
                                         |     } while (1);
                                         | label_15:
    0x00003710 lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x00003714 lw t9, -0x7e48(gp)        |     t9 = sym.imp.g_strdup_printf
    0x00003718 addiu a2, zero, 0x100     |     a2 = 0x100;
    0x0000371c addiu a1, s4, -0x46d8     |     a1 = s4 + -0x46d8;
    0x00003720 addiu a0, a0, -0x519c     |     a0 += -0x519c;
    0x00003724 jalr t9                   |     t9 ();
    0x00003728 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000372c lw a0, (fp)               |     a0 = *(fp);
    0x00003730 move a3, zero             |     a3 = 0;
    0x00003734 lw t9, -0x7da4(gp)        |     t9 = sym.imp.jc_generic_error;
    0x00003738 move a2, v0               |     a2 = v0;
    0x0000373c addiu a1, zero, 6         |     a1 = 6;
    0x00003740 move s1, v0               |     s1 = v0;
    0x00003744 jalr t9                   |     t9 ();
    0x00003748 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000374c sw v0, (fp)               |     *(fp) = v0;
    0x00003750 lw t9, -0x7d84(gp)        |     t9 = sym.imp.g_free;
    0x00003754 move a0, s1               |     a0 = s1;
    0x00003758 jalr t9                   |     t9 ();
    0x0000375c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003760 b 0x3540                  |     goto label_3;
                                         | label_16:
    0x00003764 lw v0, 0x60(sp)           |     v0 = *(var_60h);
    0x00003768 lw a3, -0x7fc8(gp)        |     a3 = *((gp - 8178));
    0x0000376c lw a2, -0x7fc8(gp)        |     a2 = *((gp - 8178));
    0x00003770 lw v0, 8(v0)              |     v0 = *((v0 + 2));
    0x00003774 lw t9, -0x7f44(gp)        |     t9 = sym.imp.g_log;
    0x00003778 addiu a3, a3, -0x4f58     |     a3 += -0x4f58;
    0x0000377c addiu a2, a2, -0x5170     |     a2 += -0x5170;
    0x00003780 addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00003784 move a0, zero             |     a0 = 0;
    0x00003788 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x0000378c sw s6, 0x10(sp)           |     *(var_10h_2) = s6;
    0x00003790 jalr t9                   |     t9 ();
    0x00003794 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003798 lw a0, (fp)               |     a0 = *(fp);
    0x0000379c move a3, zero             |     a3 = 0;
    0x000037a0 lw a2, -0x7fc8(gp)        |     a2 = *((gp - 8178));
    0x000037a4 lw t9, -0x7da4(gp)        |     t9 = sym.imp.jc_generic_error;
    0x000037a8 addiu a2, a2, -0x513c     |     a2 += -0x513c;
    0x000037ac addiu a1, zero, 1         |     a1 = 1;
    0x000037b0 jalr t9                   |     t9 ();
    0x000037b4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000037b8 lw a0, 0x60(sp)           |     a0 = *(var_60h);
    0x000037bc sw v0, (fp)               |     *(fp) = v0;
    0x000037c0 lw t9, -0x7f10(gp)        |     t9 = sym.imp.g_error_free;
    0x000037c4 move s2, zero             |     s2 = 0;
    0x000037c8 jalr t9                   |     t9 ();
    0x000037cc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000037d0 b 0x3540                  |     goto label_3;
                                         | label_19:
    0x000037d4 lw s6, 0x54(sp)           |     s6 = *(var_54h);
                                         | label_20:
    0x000037d8 lw s2, 0x44(sp)           |     s2 = *(var_44h);
    0x000037dc lw s5, 0x58(sp)           |     s5 = *(var_58h);
    0x000037e0 lw fp, 0x4c(sp)           |     fp = *(var_4ch);
                                         | label_17:
    0x000037e4 lw t9, -0x7e78(gp)        |     t9 = sym.imp.g_variant_builder_end;
    0x000037e8 lw a0, 0x24(sp)           |     a0 = *(var_24h_2);
    0x000037ec jalr t9                   |     t9 ();
    0x000037f0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000037f4 move a2, zero             |     a2 = 0;
    0x000037f8 move a1, zero             |     a1 = 0;
    0x000037fc lw t9, -0x7e28(gp)        |     t9 = sym.imp.strtol;
    0x00003800 move a0, s6               |     a0 = s6;
    0x00003804 move s3, v0               |     s3 = v0;
    0x00003808 jalr t9                   |     t9 ();
    0x0000380c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003810 lw v1, 0x3c(sp)           |     v1 = *(var_3ch);
    0x00003814 lw a0, 0x20(sp)           |     a0 = *(var_20h_2);
    0x00003818 lw t9, -0x7fa8(gp)        |     t9 = sym.iocontrol_dbus_iocontrol_state_call_start_action_sequence_sync;
    0x0000381c sw v1, 0x14(sp)           |     *(var_14h_2) = v1;
    0x00003820 sw zero, 0x10(sp)         |     *(var_10h_2) = 0;
    0x00003824 move a3, s3               |     a3 = s3;
    0x00003828 move a2, zero             |     a2 = 0;
    0x0000382c move a1, v0               |     a1 = v0;
    0x00003830 bal 0x8258                |     sym_iocontrol_dbus_iocontrol_state_call_start_action_sequence_sync ();
    0x00003834 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00003838 beqz v0, 0x3940           |         goto label_24;
                                         |     }
    0x0000383c lw t9, -0x7d88(gp)        |     t9 = sym.imp.json_utils_add_element_to_json_elements_list;
    0x00003840 lw a0, (s5)               |     a0 = *(s5);
    0x00003844 addiu a3, zero, 3         |     a3 = 3;
    0x00003848 move a2, s6               |     a2 = s6;
    0x0000384c addiu a1, s1, -0x49a4     |     a1 = s1 + -0x49a4;
    0x00003850 jalr t9                   |     t9 ();
    0x00003854 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003858 lw s2, 0x48(sp)           |     s2 = *(var_48h);
    0x0000385c sw v0, (s5)               |     *(s5) = v0;
    0x00003860 b 0x3528                  |     goto label_4;
                                         | label_21:
    0x00003864 lw a2, -0x7fc8(gp)        |     a2 = *((gp - 8178));
    0x00003868 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x0000386c lw s2, 0x44(sp)           |     s2 = *(var_44h);
    0x00003870 lw fp, 0x4c(sp)           |     fp = *(var_4ch);
    0x00003874 lw t9, -0x7e48(gp)        |     t9 = sym.imp.g_strdup_printf
    0x00003878 move a3, s5               |     a3 = s5;
    0x0000387c addiu a2, a2, -0x5108     |     a2 += -0x5108;
    0x00003880 addiu a1, v0, -0x5110     |     a1 = v0 + -0x5110;
                                         |     do {
    0x00003884 lw a0, -0x7fc8(gp)        |         a0 = *((gp - 8178));
    0x00003888 addiu a0, a0, -0x5100     |         a0 += -0x5100;
    0x0000388c jalr t9                   |         t9 ();
    0x00003890 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003894 lw a0, (fp)               |         a0 = *(fp);
    0x00003898 move a3, zero             |         a3 = 0;
    0x0000389c lw t9, -0x7da4(gp)        |         t9 = sym.imp.jc_generic_error;
    0x000038a0 move a2, v0               |         a2 = v0;
    0x000038a4 addiu a1, zero, 5         |         a1 = 5;
    0x000038a8 move s1, v0               |         s1 = v0;
    0x000038ac jalr t9                   |         t9 ();
    0x000038b0 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000038b4 lw a0, 0x70(sp)           |         a0 = *(var_70h);
    0x000038b8 lw t9, -0x7dd0(gp)        |         t9 = sym.imp.jc_error_free;
    0x000038bc sw v0, (fp)               |         *(fp) = v0;
    0x000038c0 jalr t9                   |         t9 ();
    0x000038c4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000038c8 move a0, s1               |         a0 = s1;
    0x000038cc lw t9, -0x7d84(gp)        |         t9 = sym.imp.g_free;
    0x000038d0 sw zero, 0x70(sp)         |         *(var_70h) = 0;
    0x000038d4 jalr t9                   |         t9 ();
    0x000038d8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000038dc b 0x3528                  |         goto label_4;
                                         | label_22:
    0x000038e0 lw a2, -0x7fc8(gp)        |         a2 = *((gp - 8178));
    0x000038e4 lw v0, 0x50(sp)           |         v0 = *(var_50h);
    0x000038e8 move a3, s5               |         a3 = s5;
    0x000038ec lw s2, 0x44(sp)           |         s2 = *(var_44h);
    0x000038f0 lw fp, 0x4c(sp)           |         fp = *(var_4ch);
    0x000038f4 lw t9, -0x7e48(gp)        |         t9 = sym.imp.g_strdup_printf
    0x000038f8 addiu a2, a2, -0x5108     |         a2 += -0x5108;
    0x000038fc addiu a1, v0, -0x50d8     |         a1 = v0 + -0x50d8;
    0x00003900 b 0x3884                  |         
                                         |     } while (1);
                                         | label_18:
    0x00003904 lw v0, 0x50(sp)           |     v0 = *(var_50h);
    0x00003908 lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x0000390c lw t9, -0x7e48(gp)        |     t9 = sym.imp.g_strdup_printf
    0x00003910 addiu a1, v0, -0x50d8     |     a1 = v0 + -0x50d8;
    0x00003914 ori v0, zero, 0xffff      |     v0 = 0xffff;
    0x00003918 move a2, fp               |     a2 = fp;
    0x0000391c addiu a3, s4, -0x46d8     |     a3 = s4 + -0x46d8;
    0x00003920 addiu a0, a0, -0x50ac     |     a0 += -0x50ac;
    0x00003924 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00003928 sw s5, 0x10(sp)           |     *(var_10h_2) = s5;
    0x0000392c lw s2, 0x44(sp)           |     s2 = *(var_44h);
    0x00003930 lw fp, 0x4c(sp)           |     fp = *(var_4ch);
    0x00003934 jalr t9                   |     t9 ();
    0x00003938 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000393c b 0x34f4                  |     goto label_5;
                                         | label_24:
    0x00003940 lw s1, -0x7fc0(gp)        |     s1 = *((gp - 8176));
    0x00003944 lw a2, -0x7fc0(gp)        |     a2 = *((gp - 8176));
    0x00003948 lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x0000394c lw t9, -0x7dac(gp)        |     t9 = sym.imp.g_dbus_error_register_error_domain;
    0x00003950 addiu a3, zero, 7         |     a3 = 7;
                                         |     /* section..data.rel.ro */
    0x00003954 addiu a2, a2, -0x3830     |     a2 += -0x3830;
    0x00003958 addiu a1, s1, -0x2d50     |     a1 = s1 + -0x2d50;
    0x0000395c addiu a0, a0, -0x521c     |     a0 += -0x521c;
    0x00003960 lw s3, 0x60(sp)           |     s3 = *(var_60h);
    0x00003964 jalr t9                   |     t9 ();
    0x00003968 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000396c lw a1, -0x2d50(s1)        |     a1 = *((s1 - 2900));
    0x00003970 addiu a2, zero, 2         |     a2 = 2;
    0x00003974 lw t9, -0x7e90(gp)        |     t9 = sym.imp.g_error_matches;
    0x00003978 move a0, s3               |     a0 = s3;
    0x0000397c jalr t9                   |     t9 ();
    0x00003980 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003984 lw t9, -0x7e48(gp)        |     t9 = sym.imp.g_strdup_printf
                                         |     if (v0 == 0) {
    0x00003988 beqz v0, 0x39e8           |         goto label_25;
                                         |     }
    0x0000398c lw a0, -0x7fc8(gp)        |     a0 = *((gp - 8178));
    0x00003990 move a1, s6               |     a1 = s6;
    0x00003994 addiu a0, a0, -0x506c     |     a0 += -0x506c;
    0x00003998 jalr t9                   |     t9 ();
    0x0000399c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000039a0 lw a0, (fp)               |     a0 = *(fp);
    0x000039a4 move a3, zero             |     a3 = 0;
    0x000039a8 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.jc_specific_error;
    0x000039ac move a2, v0               |     a2 = v0;
    0x000039b0 addiu a1, zero, 0x898     |     a1 = 0x898;
    0x000039b4 move s1, v0               |     s1 = v0;
    0x000039b8 jalr t9                   |     t9 ();
    0x000039bc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000039c0 sw v0, (fp)               |     *(fp) = v0;
                                         |     do {
    0x000039c4 lw t9, -0x7d84(gp)        |         t9 = sym.imp.g_free;
    0x000039c8 move a0, s1               |         a0 = s1;
    0x000039cc jalr t9                   |         t9 ();
    0x000039d0 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000039d4 lw t9, -0x7f10(gp)        |         t9 = sym.imp.g_error_free;
    0x000039d8 lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x000039dc jalr t9                   |         t9 ();
    0x000039e0 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000039e4 b 0x3528                  |         goto label_4;
                                         | label_25:
    0x000039e8 lw v0, 0x60(sp)           |         v0 = *(var_60h);
    0x000039ec lw a0, -0x7fc8(gp)        |         a0 = *((gp - 8178));
    0x000039f0 move a1, s6               |         a1 = s6;
    0x000039f4 lw a2, 8(v0)              |         a2 = *((v0 + 2));
    0x000039f8 addiu a0, a0, -0x5040     |         a0 += -0x5040;
    0x000039fc jalr t9                   |         t9 ();
    0x00003a00 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003a04 lw a0, (fp)               |         a0 = *(fp);
    0x00003a08 move a3, zero             |         a3 = 0;
    0x00003a0c lw t9, -0x7da4(gp)        |         t9 = sym.imp.jc_generic_error;
    0x00003a10 move a2, v0               |         a2 = v0;
    0x00003a14 addiu a1, zero, 1         |         a1 = 1;
    0x00003a18 move s1, v0               |         s1 = v0;
    0x00003a1c jalr t9                   |         t9 ();
    0x00003a20 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00003a24 sw v0, (fp)               |         *(fp) = v0;
    0x00003a28 b 0x39c4                  |         
                                         |     } while (1);
                                         | label_10:
    0x00003a2c lw t9, -0x7ec0(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00003a30 jalr t9                   |     t9 ();
    0x00003a34 nop                       |     
    0x00003a38 lui gp, 2                 |     
    0x00003a3c addiu gp, gp, 0x15d8      |     
    0x00003a40 addu gp, gp, t9           |     gp += t9;
    0x00003a44 addiu sp, sp, -0x20       |     
    0x00003a48 addiu v0, zero, 0x898     |     v0 = 0x898;
    0x00003a4c sw gp, 0x10(sp)           |     *(var_10h_3) = gp;
    0x00003a50 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00003a54 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
                                         |     if (a0 == v0) {
    0x00003a58 bne a0, v0, 0x3a6c        |         
    0x00003a5c lw v0, -0x7fc8(gp)        |         v0 = *((gp - 8178));
    0x00003a60 addiu sp, sp, 0x20        |         
    0x00003a64 addiu v0, v0, -0x5010     |         v0 += -0x5010;
    0x00003a68 jr ra                     |         return v0;
                                         |     }
    0x00003a6c lw a2, -0x7fc8(gp)        |     a2 = *((gp - 8178));
    0x00003a70 lw t9, -0x7f44(gp)        |     t9 = sym.imp.g_log;
    0x00003a74 move a3, a0               |     a3 = a0;
    0x00003a78 addiu a2, a2, -0x4ff0     |     a2 += -0x4ff0;
    0x00003a7c addiu a1, zero, 4         |     a1 = 4;
    0x00003a80 move a0, zero             |     a0 = 0;
    0x00003a84 jalr t9                   |     t9 ();
    0x00003a88 b 0x3a88                  |     
    0x00003a8c nop                       |     
                                         | }

[*] Function printf used 9 times portmanagement.cgi