[*] Binary protection state of addonmanager

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


[*] Function popen tear down of addonmanager

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/addonmanager @ 0x4790 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00004790 ()              | void fcn_00004790 () {
                                         | label_9:
    0x00004790 lui gp, 2                 |     
    0x00004794 addiu gp, gp, -0x760      |     
    0x00004798 addu gp, gp, t9           |     gp += t9;
    0x0000479c addiu sp, sp, -0x250      |     
    0x000047a0 sw s0, 0x234(sp)          |     *(var_234h) = s0;
    0x000047a4 lw s0, -0x7e54(gp)        |     s0 = *((gp - 8085));
    0x000047a8 sw gp, 0x20(sp)           |     *(var_20h_2) = gp;
    0x000047ac sw a3, 0x25c(sp)          |     *(var_25ch) = a3;
    0x000047b0 sw ra, 0x24c(sp)          |     *(var_24ch) = ra;
    0x000047b4 sw s5, 0x248(sp)          |     *(var_248h) = s5;
    0x000047b8 sw s4, 0x244(sp)          |     *(var_244h) = s4;
    0x000047bc sw s3, 0x240(sp)          |     *(var_240h) = s3;
    0x000047c0 sw s2, 0x23c(sp)          |     *(var_23ch) = s2;
    0x000047c4 sw s1, 0x238(sp)          |     *(var_238h) = s1;
    0x000047c8 lw v1, (s0)               |     v1 = *(s0);
    0x000047cc lb v0, (a2)               |     v0 = *(a2);
    0x000047d0 sw v1, 0x22c(sp)          |     *(var_22ch) = v1;
    0x000047d4 lw t9, -0x7ee8(gp)        |     t9 = sym.imp.g_vsnprintf;
                                         |     if (v0 == 0) {
    0x000047d8 beqz v0, 0x48c8           |         goto label_26;
                                         |     }
    0x000047dc addiu v0, sp, 0x25c       |     v0 = sp + 0x25c;
    0x000047e0 addiu s2, sp, 0x2c        |     s2 = sp + 0x2c;
    0x000047e4 move a3, v0               |     a3 = v0;
    0x000047e8 move s4, a0               |     s4 = a0;
    0x000047ec move s3, a1               |     s3 = a1;
    0x000047f0 move a0, s2               |     a0 = s2;
    0x000047f4 addiu a1, zero, 0x200     |     a1 = 0x200;
    0x000047f8 sw v0, 0x28(sp)           |     *(var_28h_11) = v0;
    0x000047fc jalr t9                   |     t9 ();
    0x00004800 lw gp, 0x20(sp)           |     gp = *(var_20h_2);
    0x00004804 move a0, s2               |     a0 = s2;
    0x00004808 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x0000480c lw t9, -0x7dc8(gp)        |     t9 = sym.imp.popen
    0x00004810 addiu a1, a1, -0x6064     |     a1 += -0x6064;
    0x00004814 jalr t9                   |     t9 ();
    0x00004818 move s1, v0               |     s1 = v0;
    0x0000481c lw gp, 0x20(sp)           |     gp = *(var_20h_2);
                                         |     if (v0 == 0) {
    0x00004820 beqz v0, 0x4910           |         goto label_27;
                                         |     }
    0x00004824 lw t9, -0x7eb4(gp)        |     t9 = sym.imp.g_malloc0;
    0x00004828 addiu a0, zero, 0x800     |     a0 = 0x800;
    0x0000482c jalr t9                   |     t9 ();
    0x00004830 lw gp, 0x20(sp)           |     gp = *(var_20h_2);
    0x00004834 move a3, s1               |     a3 = s1;
    0x00004838 addiu a2, zero, 1         |     a2 = 1;
    0x0000483c lw t9, -0x7ef0(gp)        |     t9 = sym.imp.fread;
    0x00004840 addiu a1, zero, 0x800     |     a1 = 0x800;
    0x00004844 move a0, v0               |     a0 = v0;
    0x00004848 move s5, v0               |     s5 = v0;
    0x0000484c jalr t9                   |     t9 ();
    0x00004850 addiu v1, zero, 1         |     v1 = 1;
    0x00004854 lw gp, 0x20(sp)           |     gp = *(var_20h_2);
                                         |     if (v0 != v1) {
    0x00004858 beq v0, v1, 0x4870        |         
    0x0000485c lw t9, -0x7f18(gp)        |         t9 = sym.imp.ferror;
    0x00004860 move a0, s1               |         a0 = s1;
    0x00004864 jalr t9                   |         t9 ();
    0x00004868 lw gp, 0x20(sp)           |         gp = *(var_20h_2);
                                         |         if (v0 != 0) {
    0x0000486c bnez v0, 0x4948           |             goto label_28;
                                         |         }
                                         |     }
    0x00004870 lw t9, -0x7e88(gp)        |     t9 = sym.addon_manager_proxy_get_type;
    0x00004874 move a0, s1               |     a0 = s1;
    0x00004878 jalr t9                   |     t9 ();
    0x0000487c addiu v1, zero, -1        |     v1 = -1;
    0x00004880 lw gp, 0x20(sp)           |     gp = *(var_20h_2);
                                         |     if (v0 == v1) {
    0x00004884 beq v0, v1, 0x49c8        |         goto label_29;
                                         |     }
    0x00004888 ext v1, v0, 8, 8          |     __asm ("ext v1, v0, 8, 8");
    0x0000488c sw s5, (s4)               |     *(s4) = s5;
    0x00004890 addiu v0, zero, 1         |     v0 = 1;
    0x00004894 sw v1, (s3)               |     *(s3) = v1;
                                         |     do {
                                         | label_1:
    0x00004898 lw a0, 0x22c(sp)          |         a0 = *(var_22ch);
    0x0000489c lw v1, (s0)               |         v1 = *(s0);
    0x000048a0 lw ra, 0x24c(sp)          |         ra = *(var_24ch);
                                         |         if (a0 != v1) {
    0x000048a4 bne a0, v1, 0x4a00        |             goto label_30;
                                         |         }
    0x000048a8 lw s5, 0x248(sp)          |         s5 = *(var_248h);
    0x000048ac lw s4, 0x244(sp)          |         s4 = *(var_244h);
    0x000048b0 lw s3, 0x240(sp)          |         s3 = *(var_240h);
    0x000048b4 lw s2, 0x23c(sp)          |         s2 = *(var_23ch);
    0x000048b8 lw s1, 0x238(sp)          |         s1 = *(var_238h);
    0x000048bc lw s0, 0x234(sp)          |         s0 = *(var_234h);
    0x000048c0 addiu sp, sp, 0x250       |         
    0x000048c4 jr ra                     |         return v0;
                                         | label_26:
    0x000048c8 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000048cc lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x000048d0 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x000048d4 lw t9, -0x7f20(gp)        |         t9 = sym.imp.g_log;
    0x000048d8 addiu v0, v0, -0x58e0     |         v0 += -0x58e0;
    0x000048dc addiu a3, a3, -0x5ed4     |         a3 += -0x5ed4;
    0x000048e0 addiu a2, a2, -0x6040     |         a2 += -0x6040;
    0x000048e4 addiu a1, zero, 0x100     |         a1 = 0x100;
    0x000048e8 move a0, zero             |         a0 = 0;
    0x000048ec sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x000048f0 jalr t9                   |         t9 ();
    0x000048f4 lw gp, 0x20(sp)           |         gp = *(var_20h_2);
                                         | label_0:
    0x000048f8 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x000048fc move a0, zero             |         a0 = 0;
    0x00004900 jalr t9                   |         t9 ();
    0x00004904 lw gp, 0x20(sp)           |         gp = *(var_20h_2);
    0x00004908 move v0, zero             |         v0 = 0;
    0x0000490c b 0x4898                  |         
                                         |     } while (1);
                                         | label_27:
    0x00004910 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00004914 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00004918 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000491c lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00004920 addiu v0, v0, -0x58e0     |     v0 += -0x58e0;
    0x00004924 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x00004928 addiu a2, a2, -0x6010     |     a2 += -0x6010;
    0x0000492c addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00004930 move a0, zero             |     a0 = 0;
    0x00004934 sw s2, 0x14(sp)           |     *(var_14h_3) = s2;
    0x00004938 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x0000493c jalr t9                   |     t9 ();
    0x00004940 lw gp, 0x20(sp)           |     gp = *(var_20h_2);
    0x00004944 b 0x48f8                  |     goto label_0;
                                         | label_28:
    0x00004948 lw t9, -0x7d30(gp)        |     t9 = sym.addon_manager_complete_install;
    0x0000494c jalr t9                   |     t9 ();
    0x00004950 nop                       |     
    0x00004954 lw gp, 0x20(sp)           |     gp = *(var_20h_2);
    0x00004958 lw t9, -0x7d50(gp)        |     t9 = sym.imp.strerror;
    0x0000495c lw a0, (v0)               |     a0 = *(v0);
    0x00004960 jalr t9                   |     t9 ();
    0x00004964 lw gp, 0x20(sp)           |     gp = *(var_20h_2);
    0x00004968 sw v0, 0x18(sp)           |     *(var_18h_12) = v0;
    0x0000496c sw s2, 0x14(sp)           |     *(var_14h_3) = s2;
    0x00004970 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00004974 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00004978 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000497c lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00004980 addiu v0, v0, -0x58e0     |     v0 += -0x58e0;
    0x00004984 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004988 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x0000498c addiu a2, a2, -0x5fec     |     a2 += -0x5fec;
    0x00004990 addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00004994 move a0, zero             |     a0 = 0;
    0x00004998 jalr t9                   |     t9 ();
    0x0000499c lw gp, 0x20(sp)           |     gp = *(var_20h_2);
                                         |     do {
    0x000049a0 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x000049a4 move a0, s5               |         a0 = s5;
    0x000049a8 jalr t9                   |         t9 ();
    0x000049ac lw gp, 0x20(sp)           |         gp = *(var_20h_2);
    0x000049b0 lw t9, -0x7e88(gp)        |         t9 = sym.addon_manager_proxy_get_type;
    0x000049b4 move a0, s1               |         a0 = s1;
    0x000049b8 jalr t9                   |         t9 ();
    0x000049bc lw gp, 0x20(sp)           |         gp = *(var_20h_2);
    0x000049c0 move v0, zero             |         v0 = 0;
    0x000049c4 b 0x4898                  |         goto label_1;
                                         | label_29:
    0x000049c8 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000049cc lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x000049d0 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x000049d4 lw t9, -0x7f20(gp)        |         t9 = sym.imp.g_log;
    0x000049d8 addiu v0, v0, -0x58e0     |         v0 += -0x58e0;
    0x000049dc sw s2, 0x14(sp)           |         *(var_14h_3) = s2;
    0x000049e0 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x000049e4 addiu a3, a3, -0x5ed4     |         a3 += -0x5ed4;
    0x000049e8 addiu a2, a2, -0x5fb8     |         a2 += -0x5fb8;
    0x000049ec addiu a1, zero, 0x100     |         a1 = 0x100;
    0x000049f0 move a0, zero             |         a0 = 0;
    0x000049f4 jalr t9                   |         t9 ();
    0x000049f8 lw gp, 0x20(sp)           |         gp = *(var_20h_2);
    0x000049fc b 0x49a0                  |         
                                         |     } while (1);
                                         | label_30:
    0x00004a00 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00004a04 jalr t9                   |     t9 ();
    0x00004a08 nop                       |     
    0x00004a0c lui gp, 2                 |     
    0x00004a10 addiu gp, gp, -0x9dc      |     
    0x00004a14 addu gp, gp, t9           |     gp += t9;
    0x00004a18 addiu sp, sp, -0x58       |     
    0x00004a1c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00004a20 sw s2, 0x40(sp)           |     *(var_40h) = s2;
    0x00004a24 lw s2, -0x7e54(gp)        |     s2 = *((gp - 8085));
    0x00004a28 sw s3, 0x44(sp)           |     *(var_44h) = s3;
    0x00004a2c move s3, a1               |     s3 = a1;
    0x00004a30 lw v0, (s2)               |     v0 = *(s2);
    0x00004a34 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00004a38 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00004a3c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00004a40 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x00004a44 sw s0, 0x38(sp)           |     *(var_38h) = s0;
    0x00004a48 addiu v0, v0, -0x5f88     |     v0 += -0x5f88;
    0x00004a4c addiu s0, sp, 0x28        |     s0 = sp + 0x28;
    0x00004a50 sw gp, 0x20(sp)           |     *(var_20h_3) = gp;
    0x00004a54 sw s5, 0x4c(sp)           |     *(var_4ch) = s5;
    0x00004a58 sw ra, 0x54(sp)           |     *(var_54h) = ra;
    0x00004a5c sw s6, 0x50(sp)           |     *(var_50h) = s6;
    0x00004a60 sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x00004a64 sw s1, 0x3c(sp)           |     *(var_3ch) = s1;
    0x00004a68 move s5, a0               |     s5 = a0;
    0x00004a6c move a3, s0               |     a3 = s0;
    0x00004a70 addiu a2, a2, -0x5f84     |     a2 += -0x5f84;
    0x00004a74 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00004a78 sw zero, 0x28(sp)         |     *(var_28h_2) = 0;
    0x00004a7c sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x00004a80 sw zero, 0x30(sp)         |     *(var_30h) = 0;
    0x00004a84 move a0, s3               |     a0 = s3;
    0x00004a88 bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x00004a8c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00004a90 beqz v0, 0x4ba4           |         goto label_31;
                                         |     }
    0x00004a94 lw t9, -0x7fa8(gp)        |     t9 = sym.addonmanager_get_manifest_versions;
    0x00004a98 move a0, s0               |     a0 = s0;
    0x00004a9c bal 0x424c                |     sym_addonmanager_get_manifest_versions ();
    0x00004aa0 move s1, v0               |     s1 = v0;
    0x00004aa4 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00004aa8 beqz v0, 0x4b90           |         goto label_32;
                                         |     }
    0x00004aac lw t9, -0x7fa4(gp)        |     t9 = sym.addonmanager_get_device_architecture;
    0x00004ab0 move a0, s0               |     a0 = s0;
    0x00004ab4 bal 0x4634                |     sym_addonmanager_get_device_architecture ();
    0x00004ab8 move s0, v0               |     s0 = v0;
    0x00004abc lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00004ac0 beqz v0, 0x4bdc           |         goto label_33;
                                         |     }
    0x00004ac4 lw t9, -0x7d40(gp)        |     t9 = sym.imp.g_strdupv;
    0x00004ac8 addiu s4, sp, 0x2c        |     s4 = sp + 0x2c;
    0x00004acc move a0, s4               |     a0 = s4;
    0x00004ad0 jalr t9                   |     t9 ();
    0x00004ad4 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00004ad8 move a0, s4               |     a0 = s4;
    0x00004adc lw t9, -0x7d40(gp)        |     t9 = sym.imp.g_strdupv;
    0x00004ae0 move s6, v0               |     s6 = v0;
    0x00004ae4 jalr t9                   |     t9 ();
    0x00004ae8 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00004aec move s4, v0               |     s4 = v0;
    0x00004af0 move a2, zero             |     a2 = 0;
                                         |     do {
                                         | label_3:
    0x00004af4 lw t9, -0x7fa0(gp)        |         t9 = sym.addon_manager_complete_formats;
    0x00004af8 sw s0, 0x18(sp)           |         *(var_18h_11) = s0;
    0x00004afc sw s4, 0x14(sp)           |         *(var_14h_2) = s4;
    0x00004b00 sw s6, 0x10(sp)           |         *(var_10h_12) = s6;
    0x00004b04 move a3, s1               |         a3 = s1;
    0x00004b08 move a1, s3               |         a1 = s3;
    0x00004b0c move a0, s5               |         a0 = s5;
    0x00004b10 bal 0x7e18                |         sym_addon_manager_complete_formats ();
    0x00004b14 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
                                         | label_2:
    0x00004b18 lw t9, -0x7edc(gp)        |         t9 = sym.imp.g_strfreev;
    0x00004b1c move a0, s1               |         a0 = s1;
    0x00004b20 jalr t9                   |         t9 ();
    0x00004b24 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x00004b28 lw t9, -0x7edc(gp)        |         t9 = sym.imp.g_strfreev;
    0x00004b2c move a0, s6               |         a0 = s6;
    0x00004b30 jalr t9                   |         t9 ();
    0x00004b34 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x00004b38 lw t9, -0x7edc(gp)        |         t9 = sym.imp.g_strfreev;
    0x00004b3c move a0, s4               |         a0 = s4;
    0x00004b40 jalr t9                   |         t9 ();
    0x00004b44 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x00004b48 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x00004b4c move a0, s0               |         a0 = s0;
    0x00004b50 jalr t9                   |         t9 ();
    0x00004b54 lw a0, 0x34(sp)           |         a0 = *(var_34h);
    0x00004b58 lw v1, (s2)               |         v1 = *(s2);
    0x00004b5c lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x00004b60 addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x00004b64 bne a0, v1, 0x4bec        |             goto label_34;
                                         |         }
    0x00004b68 lw ra, 0x54(sp)           |         ra = *(var_54h);
    0x00004b6c lw s6, 0x50(sp)           |         s6 = *(var_50h);
    0x00004b70 lw s5, 0x4c(sp)           |         s5 = *(var_4ch);
    0x00004b74 lw s4, 0x48(sp)           |         s4 = *(var_48h);
    0x00004b78 lw s3, 0x44(sp)           |         s3 = *(var_44h);
    0x00004b7c lw s2, 0x40(sp)           |         s2 = *(var_40h);
    0x00004b80 lw s1, 0x3c(sp)           |         s1 = *(var_3ch);
    0x00004b84 lw s0, 0x38(sp)           |         s0 = *(var_38h);
    0x00004b88 addiu sp, sp, 0x58        |         
    0x00004b8c jr ra                     |         return v0;
                                         | label_32:
    0x00004b90 move s4, zero             |         s4 = 0;
    0x00004b94 move s6, zero             |         s6 = 0;
    0x00004b98 move s0, zero             |         s0 = 0;
    0x00004b9c addiu a2, zero, 0x48      |         a2 = 0x48;
    0x00004ba0 b 0x4af4                  |         
                                         |     } while (1);
                                         | label_31:
    0x00004ba4 lw t9, -0x7f08(gp)        |     t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x00004ba8 lw a1, 0x28(sp)           |     a1 = *(var_28h_2);
    0x00004bac move a0, s3               |     a0 = s3;
    0x00004bb0 jalr t9                   |     t9 ();
    0x00004bb4 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00004bb8 move a0, s0               |     a0 = s0;
    0x00004bbc move s4, zero             |     s4 = 0;
    0x00004bc0 lw t9, -0x7d94(gp)        |     t9 = sym.imp.g_clear_error;
    0x00004bc4 move s6, zero             |     s6 = 0;
    0x00004bc8 jalr t9                   |     t9 ();
    0x00004bcc move s1, zero             |     s1 = 0;
    0x00004bd0 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00004bd4 move s0, zero             |     s0 = 0;
    0x00004bd8 b 0x4b18                  |     goto label_2;
                                         | label_33:
    0x00004bdc move s4, zero             |     s4 = 0;
    0x00004be0 move s6, zero             |     s6 = 0;
    0x00004be4 addiu a2, zero, 0x48      |     a2 = 0x48;
    0x00004be8 b 0x4af4                  |     goto label_3;
                                         | label_34:
    0x00004bec lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00004bf0 jalr t9                   |     t9 ();
    0x00004bf4 nop                       |     
                                         | label_8:
    0x00004bf8 lui gp, 2                 |     
    0x00004bfc addiu gp, gp, -0xbc8      |     
    0x00004c00 addu gp, gp, t9           |     gp += t9;
    0x00004c04 addiu sp, sp, -0x40       |     
    0x00004c08 sw s0, 0x28(sp)           |     *(var_28h_3) = s0;
    0x00004c0c lw s0, -0x7e54(gp)        |     s0 = *((gp - 8085));
    0x00004c10 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x00004c14 sw s2, 0x30(sp)           |     *(var_30h_2) = s2;
    0x00004c18 lw v0, (s0)               |     v0 = *(s0);
    0x00004c1c sw ra, 0x3c(sp)           |     *(var_3ch_2) = ra;
    0x00004c20 sw s4, 0x38(sp)           |     *(var_38h_2) = s4;
    0x00004c24 sw s3, 0x34(sp)           |     *(var_34h_2) = s3;
    0x00004c28 sw s1, 0x2c(sp)           |     *(var_2ch_3) = s1;
    0x00004c2c move s2, a1               |     s2 = a1;
    0x00004c30 sw zero, 0x20(sp)         |     *(var_20h_4) = 0;
    0x00004c34 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x00004c38 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
                                         |     if (a0 == 0) {
    0x00004c3c beqz a0, 0x4e4c           |         goto label_35;
                                         |     }
    0x00004c40 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.g_str_has_prefix;
    0x00004c44 addiu a1, a1, -0x5f18     |     a1 += -0x5f18;
    0x00004c48 move s1, a0               |     s1 = a0;
    0x00004c4c jalr t9                   |     t9 ();
    0x00004c50 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00004c54 bnez v0, 0x4d28           |         
    0x00004c58 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00004c5c lw t9, -0x7d4c(gp)        |         t9 = sym.imp.g_regex_new;
    0x00004c60 addiu s4, sp, 0x20        |         s4 = sp + 0x20;
    0x00004c64 move a3, s4               |         a3 = s4;
    0x00004c68 move a2, zero             |         a2 = 0;
    0x00004c6c move a1, zero             |         a1 = 0;
    0x00004c70 addiu a0, a0, -0x5ed0     |         a0 += -0x5ed0;
    0x00004c74 jalr t9                   |         t9 ();
    0x00004c78 move s3, v0               |         s3 = v0;
    0x00004c7c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x00004c80 beqz v0, 0x4dc8           |             goto label_36;
                                         |         }
    0x00004c84 lw v0, 0x20(sp)           |         v0 = *(var_20h_4);
    0x00004c88 lw t9, -0x7fb4(gp)        |         t9 = sym.addonmanager_error_quark;
                                         |         if (v0 == 0) {
    0x00004c8c beqz v0, 0x4ea4           |             goto label_37;
                                         |         }
    0x00004c90 bal 0x6220                |         sym_addonmanager_error_quark ();
    0x00004c94 nop                       |         
    0x00004c98 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004c9c lw v1, 0x20(sp)           |         v1 = *(var_20h_4);
    0x00004ca0 move a1, v0               |         a1 = v0;
    0x00004ca4 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00004ca8 lw v1, 8(v1)              |         v1 = *((v1 + 2));
    0x00004cac lw t9, -0x7e4c(gp)        |         t9 = sym.imp.g_set_error;
    0x00004cb0 addiu a3, a3, -0x5e6c     |         a3 += -0x5e6c;
    0x00004cb4 addiu a2, zero, 7         |         a2 = 7;
    0x00004cb8 move a0, s2               |         a0 = s2;
    0x00004cbc sw v1, 0x10(sp)           |         *(var_10h_11) = v1;
    0x00004cc0 jalr t9                   |         t9 ();
    0x00004cc4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004cc8 lw v0, 0x20(sp)           |         v0 = *(var_20h_4);
    0x00004ccc addiu a1, zero, 0x10      |         a1 = 0x10;
    0x00004cd0 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00004cd4 lw v0, 8(v0)              |         v0 = *((v0 + 2));
    0x00004cd8 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00004cdc lw t9, -0x7f20(gp)        |         t9 = sym.imp.g_log;
    0x00004ce0 sw v0, 0x10(sp)           |         *(var_10h_11) = v0;
    0x00004ce4 addiu a3, a3, -0x5ed4     |         a3 += -0x5ed4;
    0x00004ce8 addiu a2, a2, -0x5e54     |         a2 += -0x5e54;
    0x00004cec move a0, zero             |         a0 = 0;
    0x00004cf0 jalr t9                   |         t9 ();
    0x00004cf4 lw v0, 0x20(sp)           |         v0 = *(var_20h_4);
    0x00004cf8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x00004cfc beqz v0, 0x4e44           |             goto label_38;
                                         |         }
    0x00004d00 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x00004d04 move a0, s4               |         a0 = s4;
    0x00004d08 jalr t9                   |         t9 ();
    0x00004d0c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004d10 move s1, zero             |         s1 = 0;
                                         | label_4:
    0x00004d14 lw t9, -0x7d44(gp)        |         t9 = sym.imp.g_regex_unref;
    0x00004d18 move a0, s3               |         a0 = s3;
    0x00004d1c jalr t9                   |         t9 ();
    0x00004d20 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004d24 b 0x4d98                  |         
                                         |     } else {
    0x00004d28 lw t9, -0x7fb4(gp)        |         t9 = sym.addonmanager_error_quark;
    0x00004d2c bal 0x6220                |         sym_addonmanager_error_quark ();
    0x00004d30 nop                       |         
    0x00004d34 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004d38 move a1, v0               |         a1 = v0;
    0x00004d3c addiu a2, zero, 0x32      |         a2 = 0x32;
    0x00004d40 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00004d44 lw t9, -0x7e4c(gp)        |         t9 = sym.imp.g_set_error;
    0x00004d48 addiu a3, a3, -0x5f14     |         a3 += -0x5f14;
    0x00004d4c move a0, s2               |         a0 = s2;
    0x00004d50 jalr t9                   |         t9 ();
    0x00004d54 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004d58 addiu a1, zero, 0x10      |         a1 = 0x10;
    0x00004d5c move a0, zero             |         a0 = 0;
    0x00004d60 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00004d64 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00004d68 lw t9, -0x7f20(gp)        |         t9 = sym.imp.g_log;
    0x00004d6c addiu a3, a3, -0x5ed4     |         a3 += -0x5ed4;
    0x00004d70 addiu a2, a2, -0x5ef4     |         a2 += -0x5ef4;
    0x00004d74 jalr t9                   |         t9 ();
    0x00004d78 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         | label_5:
    0x00004d7c lw v0, 0x20(sp)           |         v0 = *(var_20h_4);
    0x00004d80 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
                                         |         if (v0 == 0) {
    0x00004d84 beqz v0, 0x4e3c           |             goto label_39;
                                         |         }
    0x00004d88 addiu a0, sp, 0x20        |         a0 = sp + 0x20;
    0x00004d8c jalr t9                   |         t9 ();
    0x00004d90 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004d94 move s1, zero             |         s1 = 0;
                                         |     }
                                         |     do {
                                         | label_6:
    0x00004d98 lw a0, 0x24(sp)           |         a0 = *(var_24h_2);
    0x00004d9c lw v1, (s0)               |         v1 = *(s0);
    0x00004da0 move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x00004da4 bne a0, v1, 0x4f54        |             goto label_40;
                                         |         }
    0x00004da8 lw ra, 0x3c(sp)           |         ra = *(var_3ch_2);
    0x00004dac lw s4, 0x38(sp)           |         s4 = *(var_38h_2);
    0x00004db0 lw s3, 0x34(sp)           |         s3 = *(var_34h_2);
    0x00004db4 lw s2, 0x30(sp)           |         s2 = *(var_30h_2);
    0x00004db8 lw s1, 0x2c(sp)           |         s1 = *(var_2ch_3);
    0x00004dbc lw s0, 0x28(sp)           |         s0 = *(var_28h_3);
    0x00004dc0 addiu sp, sp, 0x40        |         
    0x00004dc4 jr ra                     |         return v0;
                                         | label_36:
    0x00004dc8 lw t9, -0x7fb4(gp)        |         t9 = sym.addonmanager_error_quark;
    0x00004dcc bal 0x6220                |         sym_addonmanager_error_quark ();
    0x00004dd0 nop                       |         
    0x00004dd4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004dd8 lw v1, 0x20(sp)           |         v1 = *(var_20h_4);
    0x00004ddc move a1, v0               |         a1 = v0;
    0x00004de0 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00004de4 lw v1, 8(v1)              |         v1 = *((v1 + 2));
    0x00004de8 lw t9, -0x7e4c(gp)        |         t9 = sym.imp.g_set_error;
    0x00004dec addiu a3, a3, -0x5e6c     |         a3 += -0x5e6c;
    0x00004df0 addiu a2, zero, 7         |         a2 = 7;
    0x00004df4 move a0, s2               |         a0 = s2;
    0x00004df8 sw v1, 0x10(sp)           |         *(var_10h_11) = v1;
    0x00004dfc jalr t9                   |         t9 ();
    0x00004e00 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00004e04 lw v0, 0x20(sp)           |         v0 = *(var_20h_4);
    0x00004e08 addiu a1, zero, 0x10      |         a1 = 0x10;
    0x00004e0c lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00004e10 lw v0, 8(v0)              |         v0 = *((v0 + 2));
    0x00004e14 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00004e18 lw t9, -0x7f20(gp)        |         t9 = sym.imp.g_log;
    0x00004e1c sw v0, 0x10(sp)           |         *(var_10h_11) = v0;
    0x00004e20 addiu a3, a3, -0x5ed4     |         a3 += -0x5ed4;
    0x00004e24 addiu a2, a2, -0x5e54     |         a2 += -0x5e54;
    0x00004e28 move a0, zero             |         a0 = 0;
    0x00004e2c jalr t9                   |         t9 ();
    0x00004e30 lw v0, 0x20(sp)           |         v0 = *(var_20h_4);
    0x00004e34 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 != 0) {
    0x00004e38 bnez v0, 0x4ee4           |             goto label_41;
                                         |         }
                                         | label_39:
    0x00004e3c move s1, zero             |         s1 = 0;
    0x00004e40 b 0x4d98                  |         
                                         |     } while (1);
                                         | label_38:
    0x00004e44 move s1, zero             |     s1 = 0;
    0x00004e48 b 0x4d14                  |     goto label_4;
                                         | label_35:
    0x00004e4c lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x00004e50 bal 0x6220                |     sym_addonmanager_error_quark ();
    0x00004e54 nop                       |     
    0x00004e58 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004e5c move a1, v0               |     a1 = v0;
    0x00004e60 addiu a2, zero, 7         |     a2 = 7;
    0x00004e64 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00004e68 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x00004e6c addiu a3, a3, -0x5f64     |     a3 += -sym.addonmanager_restore_addons;
    0x00004e70 move a0, s2               |     a0 = s2;
    0x00004e74 jalr t9                   |     t9 ();
    0x00004e78 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004e7c addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00004e80 move a0, zero             |     a0 = 0;
    0x00004e84 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00004e88 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00004e8c lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00004e90 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x00004e94 addiu a2, a2, -0x5f40     |     a2 += -0x5f40;
    0x00004e98 jalr t9                   |     t9 ();
    0x00004e9c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004ea0 b 0x4d7c                  |     goto label_5;
                                         | label_37:
    0x00004ea4 lw t9, -0x7d74(gp)        |     t9 = sym.imp.g_regex_match;
    0x00004ea8 move a3, zero             |     a3 = 0;
    0x00004eac move a2, zero             |     a2 = 0;
    0x00004eb0 move a1, s1               |     a1 = s1;
    0x00004eb4 move a0, s3               |     a0 = s3;
    0x00004eb8 jalr t9                   |     t9 ();
    0x00004ebc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x00004ec0 bnez v0, 0x4efc           |         goto label_42;
                                         |     }
    0x00004ec4 addiu s1, zero, 1         |     s1 = 1;
                                         | label_7:
    0x00004ec8 lw v0, 0x20(sp)           |     v0 = *(var_20h_4);
    0x00004ecc lw t9, -0x7d94(gp)        |     t9 = sym.imp.g_clear_error;
                                         |     if (v0 == 0) {
    0x00004ed0 beqz v0, 0x4d14           |         goto label_4;
                                         |     }
    0x00004ed4 move a0, s4               |     a0 = s4;
    0x00004ed8 jalr t9                   |     t9 ();
    0x00004edc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004ee0 b 0x4d14                  |     goto label_4;
                                         | label_41:
    0x00004ee4 lw t9, -0x7d94(gp)        |     t9 = sym.imp.g_clear_error;
    0x00004ee8 move a0, s4               |     a0 = s4;
    0x00004eec jalr t9                   |     t9 ();
    0x00004ef0 move s1, zero             |     s1 = 0;
    0x00004ef4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004ef8 b 0x4d98                  |     goto label_6;
                                         | label_42:
    0x00004efc lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x00004f00 move s1, zero             |     s1 = 0;
    0x00004f04 bal 0x6220                |     sym_addonmanager_error_quark ();
    0x00004f08 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004f0c move a1, v0               |     a1 = v0;
    0x00004f10 addiu a2, zero, 0x32      |     a2 = 0x32;
    0x00004f14 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00004f18 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x00004f1c addiu a3, a3, -0x5eb0     |     a3 += -0x5eb0;
    0x00004f20 move a0, s2               |     a0 = s2;
    0x00004f24 jalr t9                   |     t9 ();
    0x00004f28 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004f2c addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00004f30 move a0, zero             |     a0 = 0;
    0x00004f34 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00004f38 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00004f3c lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00004f40 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x00004f44 addiu a2, a2, -0x5e90     |     a2 += -0x5e90;
    0x00004f48 jalr t9                   |     t9 ();
    0x00004f4c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00004f50 b 0x4ec8                  |     goto label_7;
                                         | label_40:
    0x00004f54 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00004f58 jalr t9                   |     t9 ();
    0x00004f5c nop                       |     
    0x00004f60 lui gp, 2                 |     
    0x00004f64 addiu gp, gp, -0xf30      |     
    0x00004f68 addu gp, gp, t9           |     gp += t9;
    0x00004f6c addiu sp, sp, -0x48       |     
    0x00004f70 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x00004f74 sw s1, 0x34(sp)           |     *(var_34h_3) = s1;
    0x00004f78 lw s1, -0x7e54(gp)        |     s1 = *((gp - 8085));
    0x00004f7c sw s3, 0x3c(sp)           |     *(var_3ch_3) = s3;
    0x00004f80 sw s2, 0x38(sp)           |     *(var_38h_3) = s2;
    0x00004f84 lw v0, (s1)               |     v0 = *(s1);
    0x00004f88 move s2, a1               |     s2 = a1;
    0x00004f8c move s3, a2               |     s3 = a2;
    0x00004f90 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00004f94 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00004f98 sw s0, 0x30(sp)           |     *(var_30h_3) = s0;
    0x00004f9c sw v0, 0x2c(sp)           |     *(var_2ch_4) = v0;
    0x00004fa0 addiu s0, sp, 0x20        |     s0 = sp + 0x20;
    0x00004fa4 addiu v0, zero, -1        |     v0 = -1;
    0x00004fa8 sw gp, 0x18(sp)           |     *(var_18h_3) = gp;
    0x00004fac sw s4, 0x40(sp)           |     *(var_40h_2) = s4;
    0x00004fb0 sw ra, 0x44(sp)           |     *(var_44h_2) = ra;
    0x00004fb4 move s4, a0               |     s4 = a0;
    0x00004fb8 move a3, s0               |     a3 = s0;
    0x00004fbc addiu a2, a2, -0x5e38     |     a2 += -0x5e38;
    0x00004fc0 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00004fc4 sw zero, 0x20(sp)         |     *(var_20h_5) = 0;
    0x00004fc8 sw v0, 0x24(sp)           |     *(var_24h_3) = v0;
    0x00004fcc sw zero, 0x28(sp)         |     *(var_28h_4) = 0;
    0x00004fd0 move a0, s2               |     a0 = s2;
    0x00004fd4 bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x00004fd8 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00004fdc bnez v0, 0x5034           |     
                                         |     while (v0 == 0) {
                                         | label_11:
    0x00004fe0 lw t9, -0x7f08(gp)        |         t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x00004fe4 lw a1, 0x20(sp)           |         a1 = *(var_20h_5);
    0x00004fe8 move a0, s2               |         a0 = s2;
    0x00004fec jalr t9                   |         t9 ();
    0x00004ff0 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x00004ff4 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x00004ff8 move a0, s0               |         a0 = s0;
    0x00004ffc jalr t9                   |         t9 ();
    0x00005000 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
                                         | label_10:
    0x00005004 lw a0, 0x2c(sp)           |         a0 = *(var_2ch_4);
    0x00005008 lw v1, (s1)               |         v1 = *(s1);
    0x0000500c addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x00005010 bne a0, v1, 0x5108        |             goto label_43;
                                         |         }
    0x00005014 lw ra, 0x44(sp)           |         ra = *(var_44h_2);
    0x00005018 lw s4, 0x40(sp)           |         s4 = *(var_40h_2);
    0x0000501c lw s3, 0x3c(sp)           |         s3 = *(var_3ch_3);
    0x00005020 lw s2, 0x38(sp)           |         s2 = *(var_38h_3);
    0x00005024 lw s1, 0x34(sp)           |         s1 = *(var_34h_3);
    0x00005028 lw s0, 0x30(sp)           |         s0 = *(var_30h_3);
    0x0000502c addiu sp, sp, 0x48        |         
    0x00005030 jr ra                     |         return v0;
    0x00005034 lw t9, -0x7fb8(gp)        |         t9 = *((gp - 8174));
    0x00005038 move a1, s0               |         a1 = s0;
    0x0000503c addiu t9, t9, 0x4bf8      |         t9 += 0x4bf8;
    0x00005040 move a0, s3               |         a0 = s3;
    0x00005044 bal 0x4bf8                |         fcn_4bf8 ();
                                         |         goto label_8;
    0x00005048 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x0000504c beqz v0, 0x4fe0           |         
                                         |     }
    0x00005050 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005054 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x00005058 move a3, s3               |     a3 = s3;
    0x0000505c addiu a2, a2, -0x5e30     |     a2 += -0x5e30;
    0x00005060 addiu a1, sp, 0x24        |     a1 = sp + 0x24;
    0x00005064 addiu t9, t9, 0x4790      |     t9 += fcn.00004790;
    0x00005068 addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x0000506c bal 0x4790                |     fcn_00004790 ();
                                         |     goto label_9;
    0x00005070 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
                                         |     if (v0 != 0) {
    0x00005074 beqz v0, 0x50a8           |         
    0x00005078 lw t9, -0x7f9c(gp)        |         t9 = sym.addon_manager_complete_stop;
    0x0000507c lw a3, 0x28(sp)           |         a3 = *(var_28h_4);
    0x00005080 lw a2, 0x24(sp)           |         a2 = *(var_24h_3);
    0x00005084 move a1, s2               |         a1 = s2;
    0x00005088 move a0, s4               |         a0 = s4;
    0x0000508c bal 0x7dd0                |         sym_addon_manager_complete_stop ();
    0x00005090 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x00005094 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x00005098 lw a0, 0x28(sp)           |         a0 = *(var_28h_4);
    0x0000509c jalr t9                   |         t9 ();
    0x000050a0 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x000050a4 b 0x5004                  |         goto label_10;
                                         |     }
    0x000050a8 lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x000050ac bal 0x6220                |     sym_addonmanager_error_quark ();
    0x000050b0 nop                       |     
    0x000050b4 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x000050b8 move a1, v0               |     a1 = v0;
    0x000050bc addiu a2, zero, 7         |     a2 = 7;
    0x000050c0 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000050c4 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x000050c8 addiu a3, a3, -0x5e14     |     a3 += -0x5e14;
    0x000050cc move a0, s0               |     a0 = s0;
    0x000050d0 sw s3, 0x10(sp)           |     *(var_10h_10) = s3;
    0x000050d4 jalr t9                   |     t9 ();
    0x000050d8 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x000050dc sw s3, 0x10(sp)           |     *(var_10h_10) = s3;
    0x000050e0 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x000050e4 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000050e8 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000050ec lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x000050f0 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x000050f4 addiu a2, a2, -0x5df8     |     a2 += -0x5df8;
    0x000050f8 move a0, zero             |     a0 = 0;
    0x000050fc jalr t9                   |     t9 ();
    0x00005100 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00005104 b 0x4fe0                  |     goto label_11;
                                         | label_43:
    0x00005108 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0000510c jalr t9                   |     t9 ();
    0x00005110 nop                       |     
    0x00005114 lui gp, 2                 |     
    0x00005118 addiu gp, gp, -0x10e4     |     
    0x0000511c addu gp, gp, t9           |     gp += t9;
    0x00005120 addiu sp, sp, -0x48       |     
    0x00005124 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x00005128 sw s1, 0x34(sp)           |     *(var_34h_4) = s1;
    0x0000512c lw s1, -0x7e54(gp)        |     s1 = *((gp - 8085));
    0x00005130 sw s3, 0x3c(sp)           |     *(var_3ch_4) = s3;
    0x00005134 sw s2, 0x38(sp)           |     *(var_38h_4) = s2;
    0x00005138 lw v0, (s1)               |     v0 = *(s1);
    0x0000513c move s2, a1               |     s2 = a1;
    0x00005140 move s3, a2               |     s3 = a2;
    0x00005144 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00005148 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000514c sw s0, 0x30(sp)           |     *(var_30h_4) = s0;
    0x00005150 sw v0, 0x2c(sp)           |     *(var_2ch_5) = v0;
    0x00005154 addiu s0, sp, 0x20        |     s0 = sp + 0x20;
    0x00005158 addiu v0, zero, -1        |     v0 = -1;
    0x0000515c sw gp, 0x18(sp)           |     *(var_18h_4) = gp;
    0x00005160 sw s4, 0x40(sp)           |     *(var_40h_3) = s4;
    0x00005164 sw ra, 0x44(sp)           |     *(var_44h_3) = ra;
    0x00005168 move s4, a0               |     s4 = a0;
    0x0000516c move a3, s0               |     a3 = s0;
    0x00005170 addiu a2, a2, -0x5ddc     |     a2 += -0x5ddc;
    0x00005174 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00005178 sw zero, 0x20(sp)         |     *(var_20h_6) = 0;
    0x0000517c sw v0, 0x24(sp)           |     *(var_24h_4) = v0;
    0x00005180 sw zero, 0x28(sp)         |     *(var_28h_5) = 0;
    0x00005184 move a0, s2               |     a0 = s2;
    0x00005188 bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x0000518c lw gp, 0x18(sp)           |     gp = *(var_18h_4);
    0x00005190 bnez v0, 0x51e8           |     
                                         |     while (v0 == 0) {
                                         | label_13:
    0x00005194 lw t9, -0x7f08(gp)        |         t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x00005198 lw a1, 0x20(sp)           |         a1 = *(var_20h_6);
    0x0000519c move a0, s2               |         a0 = s2;
    0x000051a0 jalr t9                   |         t9 ();
    0x000051a4 lw gp, 0x18(sp)           |         gp = *(var_18h_4);
    0x000051a8 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x000051ac move a0, s0               |         a0 = s0;
    0x000051b0 jalr t9                   |         t9 ();
    0x000051b4 lw gp, 0x18(sp)           |         gp = *(var_18h_4);
                                         | label_12:
    0x000051b8 lw a0, 0x2c(sp)           |         a0 = *(var_2ch_5);
    0x000051bc lw v1, (s1)               |         v1 = *(s1);
    0x000051c0 addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x000051c4 bne a0, v1, 0x52bc        |             goto label_44;
                                         |         }
    0x000051c8 lw ra, 0x44(sp)           |         ra = *(var_44h_3);
    0x000051cc lw s4, 0x40(sp)           |         s4 = *(var_40h_3);
    0x000051d0 lw s3, 0x3c(sp)           |         s3 = *(var_3ch_4);
    0x000051d4 lw s2, 0x38(sp)           |         s2 = *(var_38h_4);
    0x000051d8 lw s1, 0x34(sp)           |         s1 = *(var_34h_4);
    0x000051dc lw s0, 0x30(sp)           |         s0 = *(var_30h_4);
    0x000051e0 addiu sp, sp, 0x48        |         
    0x000051e4 jr ra                     |         return v0;
    0x000051e8 lw t9, -0x7fb8(gp)        |         t9 = *((gp - 8174));
    0x000051ec move a1, s0               |         a1 = s0;
    0x000051f0 addiu t9, t9, 0x4bf8      |         t9 += 0x4bf8;
    0x000051f4 move a0, s3               |         a0 = s3;
    0x000051f8 bal 0x4bf8                |         fcn_4bf8 ();
                                         |         goto label_8;
    0x000051fc lw gp, 0x18(sp)           |         gp = *(var_18h_4);
    0x00005200 beqz v0, 0x5194           |         
                                         |     }
    0x00005204 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005208 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x0000520c move a3, s3               |     a3 = s3;
    0x00005210 addiu a2, a2, -0x5dd4     |     a2 += -0x5dd4;
    0x00005214 addiu a1, sp, 0x24        |     a1 = sp + 0x24;
    0x00005218 addiu t9, t9, 0x4790      |     t9 += fcn.00004790;
    0x0000521c addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x00005220 bal 0x4790                |     fcn_00004790 ();
                                         |     goto label_9;
    0x00005224 lw gp, 0x18(sp)           |     gp = *(var_18h_4);
                                         |     if (v0 != 0) {
    0x00005228 beqz v0, 0x525c           |         
    0x0000522c lw t9, -0x7f98(gp)        |         t9 = sym.addon_manager_complete_start;
    0x00005230 lw a3, 0x28(sp)           |         a3 = *(var_28h_5);
    0x00005234 lw a2, 0x24(sp)           |         a2 = *(var_24h_4);
    0x00005238 move a1, s2               |         a1 = s2;
    0x0000523c move a0, s4               |         a0 = s4;
    0x00005240 bal 0x7db8                |         sym_addon_manager_complete_start ();
    0x00005244 lw gp, 0x18(sp)           |         gp = *(var_18h_4);
    0x00005248 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x0000524c lw a0, 0x28(sp)           |         a0 = *(var_28h_5);
    0x00005250 jalr t9                   |         t9 ();
    0x00005254 lw gp, 0x18(sp)           |         gp = *(var_18h_4);
    0x00005258 b 0x51b8                  |         goto label_12;
                                         |     }
    0x0000525c lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x00005260 bal 0x6220                |     sym_addonmanager_error_quark ();
    0x00005264 nop                       |     
    0x00005268 lw gp, 0x18(sp)           |     gp = *(var_18h_4);
    0x0000526c move a1, v0               |     a1 = v0;
    0x00005270 addiu a2, zero, 7         |     a2 = 7;
    0x00005274 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00005278 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x0000527c addiu a3, a3, -0x5db8     |     a3 += -0x5db8;
    0x00005280 move a0, s0               |     a0 = s0;
    0x00005284 sw s3, 0x10(sp)           |     *(var_10h_9) = s3;
    0x00005288 jalr t9                   |     t9 ();
    0x0000528c lw gp, 0x18(sp)           |     gp = *(var_18h_4);
    0x00005290 sw s3, 0x10(sp)           |     *(var_10h_9) = s3;
    0x00005294 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00005298 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x0000529c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000052a0 lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x000052a4 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x000052a8 addiu a2, a2, -0x5d9c     |     a2 += -0x5d9c;
    0x000052ac move a0, zero             |     a0 = 0;
    0x000052b0 jalr t9                   |     t9 ();
    0x000052b4 lw gp, 0x18(sp)           |     gp = *(var_18h_4);
    0x000052b8 b 0x5194                  |     goto label_13;
                                         | label_44:
    0x000052bc lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000052c0 jalr t9                   |     t9 ();
    0x000052c4 nop                       |     
    0x000052c8 lui gp, 2                 |     
    0x000052cc addiu gp, gp, -0x1298     |     
    0x000052d0 addu gp, gp, t9           |     gp += t9;
    0x000052d4 addiu sp, sp, -0x250      |     
    0x000052d8 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x000052dc sw s1, 0x238(sp)          |     *(var_238h_2) = s1;
    0x000052e0 lw s1, -0x7e54(gp)        |     s1 = *((gp - 8085));
    0x000052e4 sw s3, 0x240(sp)          |     *(var_240h_2) = s3;
    0x000052e8 sw s2, 0x23c(sp)          |     *(var_23ch_2) = s2;
    0x000052ec lw v0, (s1)               |     v0 = *(s1);
    0x000052f0 move s2, a1               |     s2 = a1;
    0x000052f4 move s3, a2               |     s3 = a2;
    0x000052f8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000052fc lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005300 sw s0, 0x234(sp)          |     *(var_234h_2) = s0;
    0x00005304 addiu s0, sp, 0x20        |     s0 = sp + 0x20;
    0x00005308 sw gp, 0x18(sp)           |     *(var_18h_5) = gp;
    0x0000530c sw s4, 0x244(sp)          |     *(var_244h_2) = s4;
    0x00005310 sw ra, 0x24c(sp)          |     *(var_24ch_2) = ra;
    0x00005314 sw s5, 0x248(sp)          |     *(var_248h_2) = s5;
    0x00005318 move s4, a0               |     s4 = a0;
    0x0000531c move a3, s0               |     a3 = s0;
    0x00005320 addiu a2, a2, -0x5d80     |     a2 += -0x5d80;
    0x00005324 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00005328 move a0, s2               |     a0 = s2;
    0x0000532c sw v0, 0x22c(sp)          |     *(var_22ch_2) = v0;
    0x00005330 sw zero, 0x20(sp)         |     *(var_20h_7) = 0;
    0x00005334 sw zero, 0x28(sp)         |     *(var_28h_6) = 0;
    0x00005338 bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x0000533c nop                       |     
    0x00005340 lw gp, 0x18(sp)           |     gp = *(var_18h_5);
                                         |     if (v0 == 0) {
    0x00005344 beqz v0, 0x5430           |         goto label_45;
                                         |     }
    0x00005348 lb v0, (s3)               |     v0 = *(s3);
    0x0000534c lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
                                         |     if (v0 != 0) {
    0x00005350 bnez v0, 0x5498           |         goto label_46;
                                         |     }
    0x00005354 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005358 lw t9, -0x7e30(gp)        |     t9 = sym.imp.g_snprintf;
    0x0000535c addiu s5, sp, 0x2c        |     s5 = sp + 0x2c;
    0x00005360 addiu a2, a2, -0x5d60     |     a2 += -0x5d60;
    0x00005364 addiu a1, zero, 0x200     |     a1 = 0x200;
    0x00005368 move a0, s5               |     a0 = s5;
    0x0000536c jalr t9                   |     t9 ();
    0x00005370 lw gp, 0x18(sp)           |     gp = *(var_18h_5);
                                         | label_14:
    0x00005374 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x00005378 move a2, s5               |     a2 = s5;
    0x0000537c addiu a1, sp, 0x24        |     a1 = sp + 0x24;
    0x00005380 addiu t9, t9, 0x4790      |     t9 += fcn.00004790;
    0x00005384 addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x00005388 bal 0x4790                |     fcn_00004790 ();
                                         |     goto label_9;
    0x0000538c lw gp, 0x18(sp)           |     gp = *(var_18h_5);
                                         |     if (v0 != 0) {
    0x00005390 beqz v0, 0x53b4           |         
    0x00005394 lw t9, -0x7f94(gp)        |         t9 = sym.addon_manager_complete_info;
    0x00005398 lw a3, 0x28(sp)           |         a3 = *(var_28h_6);
    0x0000539c lw a2, 0x24(sp)           |         a2 = *(var_24h_10);
    0x000053a0 move a1, s2               |         a1 = s2;
    0x000053a4 move a0, s4               |         a0 = s4;
    0x000053a8 bal 0x7e00                |         sym_addon_manager_complete_info ();
    0x000053ac lw gp, 0x18(sp)           |         gp = *(var_18h_5);
    0x000053b0 b 0x5454                  |         goto label_47;
                                         |     }
    0x000053b4 lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x000053b8 bal 0x6220                |     sym_addonmanager_error_quark ();
    0x000053bc nop                       |     
    0x000053c0 lw gp, 0x18(sp)           |     gp = *(var_18h_5);
    0x000053c4 lb v1, (s3)               |     v1 = *(s3);
    0x000053c8 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
                                         |     if (v1 != 0) {
    0x000053cc bnez v1, 0x54d8           |         goto label_48;
                                         |     }
    0x000053d0 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x000053d4 addiu v1, v1, -0x5fbc     |     v1 += -0x5fbc;
                                         | label_15:
    0x000053d8 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000053dc lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x000053e0 move a1, v0               |     a1 = v0;
    0x000053e4 sw v1, 0x10(sp)           |     *(var_10h_8) = v1;
    0x000053e8 addiu a3, a3, -0x5d50     |     a3 += -0x5d50;
    0x000053ec addiu a2, zero, 7         |     a2 = 7;
    0x000053f0 move a0, s0               |     a0 = s0;
    0x000053f4 jalr t9                   |     t9 ();
    0x000053f8 lb v0, (s3)               |     v0 = *(s3);
    0x000053fc lw gp, 0x18(sp)           |     gp = *(var_18h_5);
                                         |     if (v0 != 0) {
    0x00005400 bnez v0, 0x54e0           |         goto label_49;
                                         |     }
    0x00005404 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00005408 addiu v0, v0, -0x5fbc     |     v0 += -0x5fbc;
                                         | label_16:
    0x0000540c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005410 lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00005414 sw v0, 0x10(sp)           |     *(var_10h_8) = v0;
    0x00005418 addiu a3, s4, -0x5ed4     |     a3 = s4 + -0x5ed4;
    0x0000541c addiu a2, a2, -0x5d2c     |     a2 += -0x5d2c;
    0x00005420 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00005424 move a0, zero             |     a0 = 0;
    0x00005428 jalr t9                   |     t9 ();
    0x0000542c lw gp, 0x18(sp)           |     gp = *(var_18h_5);
                                         |     do {
                                         | label_45:
    0x00005430 lw t9, -0x7f08(gp)        |         t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x00005434 lw a1, 0x20(sp)           |         a1 = *(var_20h_7);
    0x00005438 move a0, s2               |         a0 = s2;
    0x0000543c jalr t9                   |         t9 ();
    0x00005440 lw gp, 0x18(sp)           |         gp = *(var_18h_5);
    0x00005444 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x00005448 move a0, s0               |         a0 = s0;
    0x0000544c jalr t9                   |         t9 ();
    0x00005450 lw gp, 0x18(sp)           |         gp = *(var_18h_5);
                                         | label_47:
    0x00005454 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x00005458 lw a0, 0x28(sp)           |         a0 = *(var_28h_6);
    0x0000545c jalr t9                   |         t9 ();
    0x00005460 lw a0, 0x22c(sp)          |         a0 = *(var_22ch_2);
    0x00005464 lw v1, (s1)               |         v1 = *(s1);
    0x00005468 lw gp, 0x18(sp)           |         gp = *(var_18h_5);
    0x0000546c addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x00005470 bne a0, v1, 0x54e8        |             goto label_50;
                                         |         }
    0x00005474 lw ra, 0x24c(sp)          |         ra = *(var_24ch_2);
    0x00005478 lw s5, 0x248(sp)          |         s5 = *(var_248h_2);
    0x0000547c lw s4, 0x244(sp)          |         s4 = *(var_244h_2);
    0x00005480 lw s3, 0x240(sp)          |         s3 = *(var_240h_2);
    0x00005484 lw s2, 0x23c(sp)          |         s2 = *(var_23ch_2);
    0x00005488 lw s1, 0x238(sp)          |         s1 = *(var_238h_2);
    0x0000548c lw s0, 0x234(sp)          |         s0 = *(var_234h_2);
    0x00005490 addiu sp, sp, 0x250       |         
    0x00005494 jr ra                     |         return v0;
                                         | label_46:
    0x00005498 move a1, s0               |         a1 = s0;
    0x0000549c addiu t9, t9, 0x4bf8      |         t9 += 0x4bf8;
    0x000054a0 move a0, s3               |         a0 = s3;
    0x000054a4 bal 0x4bf8                |         fcn_4bf8 ();
                                         |         goto label_8;
    0x000054a8 lw gp, 0x18(sp)           |         gp = *(var_18h_5);
    0x000054ac beqz v0, 0x5430           |         
                                         |     } while (v0 == 0);
    0x000054b0 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000054b4 lw t9, -0x7e30(gp)        |     t9 = sym.imp.g_snprintf;
    0x000054b8 addiu s5, sp, 0x2c        |     s5 = sp + 0x2c;
    0x000054bc move a3, s3               |     a3 = s3;
    0x000054c0 addiu a2, a2, -0x5d78     |     a2 += -0x5d78;
    0x000054c4 addiu a1, zero, 0x200     |     a1 = 0x200;
    0x000054c8 move a0, s5               |     a0 = s5;
    0x000054cc jalr t9                   |     t9 ();
    0x000054d0 lw gp, 0x18(sp)           |     gp = *(var_18h_5);
    0x000054d4 b 0x5374                  |     goto label_14;
                                         | label_48:
    0x000054d8 addiu v1, s4, -0x5ed4     |     v1 = s4 + -0x5ed4;
    0x000054dc b 0x53d8                  |     goto label_15;
                                         | label_49:
    0x000054e0 addiu v0, s4, -0x5ed4     |     v0 = s4 + -0x5ed4;
    0x000054e4 b 0x540c                  |     goto label_16;
                                         | label_50:
    0x000054e8 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000054ec jalr t9                   |     t9 ();
    0x000054f0 nop                       |     
    0x000054f4 lui gp, 2                 |     
    0x000054f8 addiu gp, gp, -0x14c4     |     
    0x000054fc addu gp, gp, t9           |     gp += t9;
    0x00005500 addiu sp, sp, -0x250      |     
    0x00005504 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x00005508 sw s1, 0x238(sp)          |     *(var_238h_3) = s1;
    0x0000550c lw s1, -0x7e54(gp)        |     s1 = *((gp - 8085));
    0x00005510 sw s3, 0x240(sp)          |     *(var_240h_3) = s3;
    0x00005514 sw s2, 0x23c(sp)          |     *(var_23ch_3) = s2;
    0x00005518 lw v0, (s1)               |     v0 = *(s1);
    0x0000551c move s2, a1               |     s2 = a1;
    0x00005520 move s3, a2               |     s3 = a2;
    0x00005524 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00005528 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000552c sw s0, 0x234(sp)          |     *(var_234h_3) = s0;
    0x00005530 addiu s0, sp, 0x20        |     s0 = sp + 0x20;
    0x00005534 sw gp, 0x18(sp)           |     *(var_18h_6) = gp;
    0x00005538 sw s4, 0x244(sp)          |     *(var_244h_3) = s4;
    0x0000553c sw ra, 0x24c(sp)          |     *(var_24ch_3) = ra;
    0x00005540 sw s5, 0x248(sp)          |     *(var_248h_3) = s5;
    0x00005544 move s4, a0               |     s4 = a0;
    0x00005548 move a3, s0               |     a3 = s0;
    0x0000554c addiu a2, a2, -0x5d08     |     a2 += -0x5d08;
    0x00005550 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00005554 move a0, s2               |     a0 = s2;
    0x00005558 sw v0, 0x22c(sp)          |     *(var_22ch_3) = v0;
    0x0000555c sw zero, 0x20(sp)         |     *(var_20h_8) = 0;
    0x00005560 sw zero, 0x28(sp)         |     *(var_28h_7) = 0;
    0x00005564 bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x00005568 nop                       |     
    0x0000556c lw gp, 0x18(sp)           |     gp = *(var_18h_6);
                                         |     if (v0 == 0) {
    0x00005570 beqz v0, 0x565c           |         goto label_51;
                                         |     }
    0x00005574 lb v0, (s3)               |     v0 = *(s3);
    0x00005578 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
                                         |     if (v0 != 0) {
    0x0000557c bnez v0, 0x56c4           |         goto label_52;
                                         |     }
    0x00005580 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005584 lw t9, -0x7e30(gp)        |     t9 = sym.imp.g_snprintf;
    0x00005588 addiu s5, sp, 0x2c        |     s5 = sp + 0x2c;
    0x0000558c addiu a2, a2, -0x5ce8     |     a2 += -0x5ce8;
    0x00005590 addiu a1, zero, 0x200     |     a1 = 0x200;
    0x00005594 move a0, s5               |     a0 = s5;
    0x00005598 jalr t9                   |     t9 ();
    0x0000559c lw gp, 0x18(sp)           |     gp = *(var_18h_6);
                                         | label_17:
    0x000055a0 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x000055a4 move a2, s5               |     a2 = s5;
    0x000055a8 addiu a1, sp, 0x24        |     a1 = sp + 0x24;
    0x000055ac addiu t9, t9, 0x4790      |     t9 += fcn.00004790;
    0x000055b0 addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x000055b4 bal 0x4790                |     fcn_00004790 ();
                                         |     goto label_9;
    0x000055b8 lw gp, 0x18(sp)           |     gp = *(var_18h_6);
                                         |     if (v0 != 0) {
    0x000055bc beqz v0, 0x55e0           |         
    0x000055c0 lw t9, -0x7f90(gp)        |         t9 = sym.addon_manager_complete_list;
    0x000055c4 lw a3, 0x28(sp)           |         a3 = *(var_28h_7);
    0x000055c8 lw a2, 0x24(sp)           |         a2 = *(var_24h_9);
    0x000055cc move a1, s2               |         a1 = s2;
    0x000055d0 move a0, s4               |         a0 = s4;
    0x000055d4 bal 0x7de8                |         sym_addon_manager_complete_list ();
    0x000055d8 lw gp, 0x18(sp)           |         gp = *(var_18h_6);
    0x000055dc b 0x5680                  |         goto label_53;
                                         |     }
    0x000055e0 lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x000055e4 bal 0x6220                |     sym_addonmanager_error_quark ();
    0x000055e8 nop                       |     
    0x000055ec lw gp, 0x18(sp)           |     gp = *(var_18h_6);
    0x000055f0 lb v1, (s3)               |     v1 = *(s3);
    0x000055f4 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
                                         |     if (v1 != 0) {
    0x000055f8 bnez v1, 0x5704           |         goto label_54;
                                         |     }
    0x000055fc lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00005600 addiu v1, v1, -0x5fbc     |     v1 += -0x5fbc;
                                         | label_18:
    0x00005604 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00005608 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x0000560c move a1, v0               |     a1 = v0;
    0x00005610 sw v1, 0x10(sp)           |     *(var_10h_7) = v1;
    0x00005614 addiu a3, a3, -0x5cd8     |     a3 += -0x5cd8;
    0x00005618 addiu a2, zero, 7         |     a2 = 7;
    0x0000561c move a0, s0               |     a0 = s0;
    0x00005620 jalr t9                   |     t9 ();
    0x00005624 lb v0, (s3)               |     v0 = *(s3);
    0x00005628 lw gp, 0x18(sp)           |     gp = *(var_18h_6);
                                         |     if (v0 != 0) {
    0x0000562c bnez v0, 0x570c           |         goto label_55;
                                         |     }
    0x00005630 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00005634 addiu v0, v0, -0x5fbc     |     v0 += -0x5fbc;
                                         | label_19:
    0x00005638 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000563c lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00005640 sw v0, 0x10(sp)           |     *(var_10h_7) = v0;
    0x00005644 addiu a3, s4, -0x5ed4     |     a3 = s4 + -0x5ed4;
    0x00005648 addiu a2, a2, -0x5cc0     |     a2 += -0x5cc0;
    0x0000564c addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00005650 move a0, zero             |     a0 = 0;
    0x00005654 jalr t9                   |     t9 ();
    0x00005658 lw gp, 0x18(sp)           |     gp = *(var_18h_6);
                                         |     do {
                                         | label_51:
    0x0000565c lw t9, -0x7f08(gp)        |         t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x00005660 lw a1, 0x20(sp)           |         a1 = *(var_20h_8);
    0x00005664 move a0, s2               |         a0 = s2;
    0x00005668 jalr t9                   |         t9 ();
    0x0000566c lw gp, 0x18(sp)           |         gp = *(var_18h_6);
    0x00005670 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x00005674 move a0, s0               |         a0 = s0;
    0x00005678 jalr t9                   |         t9 ();
    0x0000567c lw gp, 0x18(sp)           |         gp = *(var_18h_6);
                                         | label_53:
    0x00005680 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x00005684 lw a0, 0x28(sp)           |         a0 = *(var_28h_7);
    0x00005688 jalr t9                   |         t9 ();
    0x0000568c lw a0, 0x22c(sp)          |         a0 = *(var_22ch_3);
    0x00005690 lw v1, (s1)               |         v1 = *(s1);
    0x00005694 lw gp, 0x18(sp)           |         gp = *(var_18h_6);
    0x00005698 addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x0000569c bne a0, v1, 0x5714        |             goto label_56;
                                         |         }
    0x000056a0 lw ra, 0x24c(sp)          |         ra = *(var_24ch_3);
    0x000056a4 lw s5, 0x248(sp)          |         s5 = *(var_248h_3);
    0x000056a8 lw s4, 0x244(sp)          |         s4 = *(var_244h_3);
    0x000056ac lw s3, 0x240(sp)          |         s3 = *(var_240h_3);
    0x000056b0 lw s2, 0x23c(sp)          |         s2 = *(var_23ch_3);
    0x000056b4 lw s1, 0x238(sp)          |         s1 = *(var_238h_3);
    0x000056b8 lw s0, 0x234(sp)          |         s0 = *(var_234h_3);
    0x000056bc addiu sp, sp, 0x250       |         
    0x000056c0 jr ra                     |         return v0;
                                         | label_52:
    0x000056c4 move a1, s0               |         a1 = s0;
    0x000056c8 addiu t9, t9, 0x4bf8      |         t9 += 0x4bf8;
    0x000056cc move a0, s3               |         a0 = s3;
    0x000056d0 bal 0x4bf8                |         fcn_4bf8 ();
                                         |         goto label_8;
    0x000056d4 lw gp, 0x18(sp)           |         gp = *(var_18h_6);
    0x000056d8 beqz v0, 0x565c           |         
                                         |     } while (v0 == 0);
    0x000056dc lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000056e0 lw t9, -0x7e30(gp)        |     t9 = sym.imp.g_snprintf;
    0x000056e4 addiu s5, sp, 0x2c        |     s5 = sp + 0x2c;
    0x000056e8 move a3, s3               |     a3 = s3;
    0x000056ec addiu a2, a2, -0x5d00     |     a2 += -0x5d00;
    0x000056f0 addiu a1, zero, 0x200     |     a1 = 0x200;
    0x000056f4 move a0, s5               |     a0 = s5;
    0x000056f8 jalr t9                   |     t9 ();
    0x000056fc lw gp, 0x18(sp)           |     gp = *(var_18h_6);
    0x00005700 b 0x55a0                  |     goto label_17;
                                         | label_54:
    0x00005704 addiu v1, s4, -0x5ed4     |     v1 = s4 + -0x5ed4;
    0x00005708 b 0x5604                  |     goto label_18;
                                         | label_55:
    0x0000570c addiu v0, s4, -0x5ed4     |     v0 = s4 + -0x5ed4;
    0x00005710 b 0x5638                  |     goto label_19;
                                         | label_56:
    0x00005714 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00005718 jalr t9                   |     t9 ();
    0x0000571c nop                       |     
    0x00005720 lui gp, 2                 |     
    0x00005724 addiu gp, gp, -0x16f0     |     
    0x00005728 addu gp, gp, t9           |     gp += t9;
    0x0000572c addiu sp, sp, -0x48       |     
    0x00005730 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x00005734 sw s1, 0x34(sp)           |     *(var_34h_5) = s1;
    0x00005738 lw s1, -0x7e54(gp)        |     s1 = *((gp - 8085));
    0x0000573c sw s3, 0x3c(sp)           |     *(var_3ch_5) = s3;
    0x00005740 sw s2, 0x38(sp)           |     *(var_38h_5) = s2;
    0x00005744 lw v0, (s1)               |     v0 = *(s1);
    0x00005748 move s2, a1               |     s2 = a1;
    0x0000574c move s3, a2               |     s3 = a2;
    0x00005750 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00005754 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005758 sw s0, 0x30(sp)           |     *(var_30h_5) = s0;
    0x0000575c sw v0, 0x2c(sp)           |     *(var_2ch_6) = v0;
    0x00005760 addiu s0, sp, 0x20        |     s0 = sp + 0x20;
    0x00005764 addiu v0, zero, -1        |     v0 = -1;
    0x00005768 sw gp, 0x18(sp)           |     *(var_18h_7) = gp;
    0x0000576c sw s4, 0x40(sp)           |     *(var_40h_4) = s4;
    0x00005770 sw ra, 0x44(sp)           |     *(var_44h_4) = ra;
    0x00005774 move s4, a0               |     s4 = a0;
    0x00005778 move a3, s0               |     a3 = s0;
    0x0000577c addiu a2, a2, -0x5ca4     |     a2 += -0x5ca4;
    0x00005780 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00005784 sw zero, 0x20(sp)         |     *(var_20h_9) = 0;
    0x00005788 sw v0, 0x24(sp)           |     *(var_24h_5) = v0;
    0x0000578c sw zero, 0x28(sp)         |     *(var_28h_8) = 0;
    0x00005790 move a0, s2               |     a0 = s2;
    0x00005794 bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x00005798 lw gp, 0x18(sp)           |     gp = *(var_18h_7);
    0x0000579c bnez v0, 0x57f4           |     
                                         |     while (v0 == 0) {
                                         | label_21:
    0x000057a0 lw t9, -0x7f08(gp)        |         t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x000057a4 lw a1, 0x20(sp)           |         a1 = *(var_20h_9);
    0x000057a8 move a0, s2               |         a0 = s2;
    0x000057ac jalr t9                   |         t9 ();
    0x000057b0 lw gp, 0x18(sp)           |         gp = *(var_18h_7);
    0x000057b4 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x000057b8 move a0, s0               |         a0 = s0;
    0x000057bc jalr t9                   |         t9 ();
    0x000057c0 lw gp, 0x18(sp)           |         gp = *(var_18h_7);
                                         | label_20:
    0x000057c4 lw a0, 0x2c(sp)           |         a0 = *(var_2ch_6);
    0x000057c8 lw v1, (s1)               |         v1 = *(s1);
    0x000057cc addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x000057d0 bne a0, v1, 0x58c8        |             goto label_57;
                                         |         }
    0x000057d4 lw ra, 0x44(sp)           |         ra = *(var_44h_4);
    0x000057d8 lw s4, 0x40(sp)           |         s4 = *(var_40h_4);
    0x000057dc lw s3, 0x3c(sp)           |         s3 = *(var_3ch_5);
    0x000057e0 lw s2, 0x38(sp)           |         s2 = *(var_38h_5);
    0x000057e4 lw s1, 0x34(sp)           |         s1 = *(var_34h_5);
    0x000057e8 lw s0, 0x30(sp)           |         s0 = *(var_30h_5);
    0x000057ec addiu sp, sp, 0x48        |         
    0x000057f0 jr ra                     |         return v0;
    0x000057f4 lw t9, -0x7fb8(gp)        |         t9 = *((gp - 8174));
    0x000057f8 move a1, s0               |         a1 = s0;
    0x000057fc addiu t9, t9, 0x4bf8      |         t9 += 0x4bf8;
    0x00005800 move a0, s3               |         a0 = s3;
    0x00005804 bal 0x4bf8                |         fcn_4bf8 ();
                                         |         goto label_8;
    0x00005808 lw gp, 0x18(sp)           |         gp = *(var_18h_7);
    0x0000580c beqz v0, 0x57a0           |         
                                         |     }
    0x00005810 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005814 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x00005818 move a3, s3               |     a3 = s3;
    0x0000581c addiu a2, a2, -0x5c98     |     a2 += -0x5c98;
    0x00005820 addiu a1, sp, 0x24        |     a1 = sp + 0x24;
    0x00005824 addiu t9, t9, 0x4790      |     t9 += fcn.00004790;
    0x00005828 addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x0000582c bal 0x4790                |     fcn_00004790 ();
                                         |     goto label_9;
    0x00005830 lw gp, 0x18(sp)           |     gp = *(var_18h_7);
                                         |     if (v0 != 0) {
    0x00005834 beqz v0, 0x5868           |         
    0x00005838 lw t9, -0x7f8c(gp)        |         t9 = sym.addon_manager_complete_uninstall;
    0x0000583c lw a3, 0x28(sp)           |         a3 = *(var_28h_8);
    0x00005840 lw a2, 0x24(sp)           |         a2 = *(var_24h_5);
    0x00005844 move a1, s2               |         a1 = s2;
    0x00005848 move a0, s4               |         a0 = s4;
    0x0000584c bal 0x7da0                |         sym_addon_manager_complete_uninstall ();
    0x00005850 lw gp, 0x18(sp)           |         gp = *(var_18h_7);
    0x00005854 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x00005858 lw a0, 0x28(sp)           |         a0 = *(var_28h_8);
    0x0000585c jalr t9                   |         t9 ();
    0x00005860 lw gp, 0x18(sp)           |         gp = *(var_18h_7);
    0x00005864 b 0x57c4                  |         goto label_20;
                                         |     }
    0x00005868 lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x0000586c bal 0x6220                |     sym_addonmanager_error_quark ();
    0x00005870 nop                       |     
    0x00005874 lw gp, 0x18(sp)           |     gp = *(var_18h_7);
    0x00005878 move a1, v0               |     a1 = v0;
    0x0000587c addiu a2, zero, 7         |     a2 = 7;
    0x00005880 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00005884 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x00005888 addiu a3, a3, -0x5c80     |     a3 += -0x5c80;
    0x0000588c move a0, s0               |     a0 = s0;
    0x00005890 sw s3, 0x10(sp)           |     *(var_10h_6) = s3;
    0x00005894 jalr t9                   |     t9 ();
    0x00005898 lw gp, 0x18(sp)           |     gp = *(var_18h_7);
    0x0000589c sw s3, 0x10(sp)           |     *(var_10h_6) = s3;
    0x000058a0 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x000058a4 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000058a8 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000058ac lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x000058b0 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x000058b4 addiu a2, a2, -0x5c60     |     a2 += -0x5c60;
    0x000058b8 move a0, zero             |     a0 = 0;
    0x000058bc jalr t9                   |     t9 ();
    0x000058c0 lw gp, 0x18(sp)           |     gp = *(var_18h_7);
    0x000058c4 b 0x57a0                  |     goto label_21;
                                         | label_57:
    0x000058c8 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000058cc jalr t9                   |     t9 ();
    0x000058d0 nop                       |     
    0x000058d4 lui gp, 2                 |     
    0x000058d8 addiu gp, gp, -0x18a4     |     
    0x000058dc addu gp, gp, t9           |     gp += t9;
    0x000058e0 addiu sp, sp, -0x48       |     
    0x000058e4 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x000058e8 sw s1, 0x34(sp)           |     *(var_34h_6) = s1;
    0x000058ec lw s1, -0x7e54(gp)        |     s1 = *((gp - 8085));
    0x000058f0 sw s3, 0x3c(sp)           |     *(var_3ch_6) = s3;
    0x000058f4 sw s2, 0x38(sp)           |     *(var_38h_6) = s2;
    0x000058f8 lw v0, (s1)               |     v0 = *(s1);
    0x000058fc move s2, a1               |     s2 = a1;
    0x00005900 move s3, a2               |     s3 = a2;
    0x00005904 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00005908 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000590c sw s0, 0x30(sp)           |     *(var_30h_6) = s0;
    0x00005910 sw v0, 0x2c(sp)           |     *(var_2ch_7) = v0;
    0x00005914 addiu s0, sp, 0x20        |     s0 = sp + 0x20;
    0x00005918 addiu v0, zero, -1        |     v0 = -1;
    0x0000591c sw gp, 0x18(sp)           |     *(var_18h_8) = gp;
    0x00005920 sw s4, 0x40(sp)           |     *(var_40h_5) = s4;
    0x00005924 sw ra, 0x44(sp)           |     *(var_44h_5) = ra;
    0x00005928 move s4, a0               |     s4 = a0;
    0x0000592c move a3, s0               |     a3 = s0;
    0x00005930 addiu a2, a2, -0x5c40     |     a2 += -0x5c40;
    0x00005934 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00005938 sw zero, 0x20(sp)         |     *(var_20h_10) = 0;
    0x0000593c sw v0, 0x24(sp)           |     *(var_24h_6) = v0;
    0x00005940 sw zero, 0x28(sp)         |     *(var_28h_9) = 0;
    0x00005944 move a0, s2               |     a0 = s2;
    0x00005948 bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x0000594c lw gp, 0x18(sp)           |     gp = *(var_18h_8);
    0x00005950 bnez v0, 0x59a8           |     
                                         |     while (v0 == 0) {
                                         | label_23:
    0x00005954 lw t9, -0x7f08(gp)        |         t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x00005958 lw a1, 0x20(sp)           |         a1 = *(var_20h_10);
    0x0000595c move a0, s2               |         a0 = s2;
    0x00005960 jalr t9                   |         t9 ();
    0x00005964 lw gp, 0x18(sp)           |         gp = *(var_18h_8);
    0x00005968 lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x0000596c move a0, s0               |         a0 = s0;
    0x00005970 jalr t9                   |         t9 ();
    0x00005974 lw gp, 0x18(sp)           |         gp = *(var_18h_8);
                                         | label_22:
    0x00005978 lw a0, 0x2c(sp)           |         a0 = *(var_2ch_7);
    0x0000597c lw v1, (s1)               |         v1 = *(s1);
    0x00005980 addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x00005984 bne a0, v1, 0x5a7c        |             goto label_58;
                                         |         }
    0x00005988 lw ra, 0x44(sp)           |         ra = *(var_44h_5);
    0x0000598c lw s4, 0x40(sp)           |         s4 = *(var_40h_5);
    0x00005990 lw s3, 0x3c(sp)           |         s3 = *(var_3ch_6);
    0x00005994 lw s2, 0x38(sp)           |         s2 = *(var_38h_6);
    0x00005998 lw s1, 0x34(sp)           |         s1 = *(var_34h_6);
    0x0000599c lw s0, 0x30(sp)           |         s0 = *(var_30h_6);
    0x000059a0 addiu sp, sp, 0x48        |         
    0x000059a4 jr ra                     |         return v0;
    0x000059a8 lw t9, -0x7fb8(gp)        |         t9 = *((gp - 8174));
    0x000059ac move a1, s0               |         a1 = s0;
    0x000059b0 addiu t9, t9, 0x4bf8      |         t9 += 0x4bf8;
    0x000059b4 move a0, s3               |         a0 = s3;
    0x000059b8 bal 0x4bf8                |         fcn_4bf8 ();
                                         |         goto label_8;
    0x000059bc lw gp, 0x18(sp)           |         gp = *(var_18h_8);
    0x000059c0 beqz v0, 0x5954           |         
                                         |     }
    0x000059c4 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000059c8 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x000059cc move a3, s3               |     a3 = s3;
    0x000059d0 addiu a2, a2, -0x5c34     |     a2 += -0x5c34;
    0x000059d4 addiu a1, sp, 0x24        |     a1 = sp + 0x24;
    0x000059d8 addiu t9, t9, 0x4790      |     t9 += fcn.00004790;
    0x000059dc addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x000059e0 bal 0x4790                |     fcn_00004790 ();
                                         |     goto label_9;
    0x000059e4 lw gp, 0x18(sp)           |     gp = *(var_18h_8);
                                         |     if (v0 != 0) {
    0x000059e8 beqz v0, 0x5a1c           |         
    0x000059ec lw t9, -0x7f88(gp)        |         t9 = sym.addon_manager_complete_preinstall;
    0x000059f0 lw a3, 0x28(sp)           |         a3 = *(var_28h_9);
    0x000059f4 lw a2, 0x24(sp)           |         a2 = *(var_24h_6);
    0x000059f8 move a1, s2               |         a1 = s2;
    0x000059fc move a0, s4               |         a0 = s4;
    0x00005a00 bal 0x7d88                |         sym_addon_manager_complete_preinstall ();
    0x00005a04 lw gp, 0x18(sp)           |         gp = *(var_18h_8);
    0x00005a08 lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x00005a0c lw a0, 0x28(sp)           |         a0 = *(var_28h_9);
    0x00005a10 jalr t9                   |         t9 ();
    0x00005a14 lw gp, 0x18(sp)           |         gp = *(var_18h_8);
    0x00005a18 b 0x5978                  |         goto label_22;
                                         |     }
    0x00005a1c lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x00005a20 bal 0x6220                |     sym_addonmanager_error_quark ();
    0x00005a24 nop                       |     
    0x00005a28 lw gp, 0x18(sp)           |     gp = *(var_18h_8);
    0x00005a2c move a1, v0               |     a1 = v0;
    0x00005a30 addiu a2, zero, 7         |     a2 = 7;
    0x00005a34 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00005a38 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x00005a3c addiu a3, a3, -0x5c18     |     a3 += -0x5c18;
    0x00005a40 move a0, s0               |     a0 = s0;
    0x00005a44 sw s3, 0x10(sp)           |     *(var_10h_5) = s3;
    0x00005a48 jalr t9                   |     t9 ();
    0x00005a4c lw gp, 0x18(sp)           |     gp = *(var_18h_8);
    0x00005a50 sw s3, 0x10(sp)           |     *(var_10h_5) = s3;
    0x00005a54 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00005a58 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00005a5c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005a60 lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00005a64 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x00005a68 addiu a2, a2, -0x5bfc     |     a2 += -0x5bfc;
    0x00005a6c move a0, zero             |     a0 = 0;
    0x00005a70 jalr t9                   |     t9 ();
    0x00005a74 lw gp, 0x18(sp)           |     gp = *(var_18h_8);
    0x00005a78 b 0x5954                  |     goto label_23;
                                         | label_58:
    0x00005a7c lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00005a80 jalr t9                   |     t9 ();
    0x00005a84 nop                       |     
    0x00005a88 lui gp, 2                 |     
    0x00005a8c addiu gp, gp, -0x1a58     |     
    0x00005a90 addu gp, gp, t9           |     gp += t9;
    0x00005a94 addiu sp, sp, -0x48       |     
    0x00005a98 lw t9, -0x7fac(gp)        |     t9 = sym.addonmanager_dbus_is_action_allowed;
    0x00005a9c sw s1, 0x34(sp)           |     *(var_34h_7) = s1;
    0x00005aa0 lw s1, -0x7e54(gp)        |     s1 = *((gp - 8085));
    0x00005aa4 sw s3, 0x3c(sp)           |     *(var_3ch_7) = s3;
    0x00005aa8 sw s2, 0x38(sp)           |     *(var_38h_7) = s2;
    0x00005aac lw v0, (s1)               |     v0 = *(s1);
    0x00005ab0 move s2, a1               |     s2 = a1;
    0x00005ab4 move s3, a2               |     s3 = a2;
    0x00005ab8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00005abc lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005ac0 sw s0, 0x30(sp)           |     *(var_30h_7) = s0;
    0x00005ac4 sw v0, 0x2c(sp)           |     *(var_2ch_8) = v0;
    0x00005ac8 addiu s0, sp, 0x20        |     s0 = sp + 0x20;
    0x00005acc addiu v0, zero, -1        |     v0 = -1;
    0x00005ad0 sw gp, 0x18(sp)           |     *(var_18h_9) = gp;
    0x00005ad4 sw s4, 0x40(sp)           |     *(var_40h_6) = s4;
    0x00005ad8 sw ra, 0x44(sp)           |     *(var_44h_6) = ra;
    0x00005adc move s4, a0               |     s4 = a0;
    0x00005ae0 move a3, s0               |     a3 = s0;
    0x00005ae4 addiu a2, a2, -0x562c     |     a2 += -0x562c;
    0x00005ae8 addiu a1, a1, -0x5f7c     |     a1 += -0x5f7c;
    0x00005aec sw zero, 0x20(sp)         |     *(var_20h_11) = 0;
    0x00005af0 sw v0, 0x24(sp)           |     *(var_24h_7) = v0;
    0x00005af4 sw zero, 0x28(sp)         |     *(var_28h_10) = 0;
    0x00005af8 move a0, s2               |     a0 = s2;
    0x00005afc bal 0x3d30                |     sym_addonmanager_dbus_is_action_allowed ();
    0x00005b00 lw gp, 0x18(sp)           |     gp = *(var_18h_9);
    0x00005b04 bnez v0, 0x5b5c           |     
                                         |     while (v0 == 0) {
                                         | label_25:
    0x00005b08 lw t9, -0x7f08(gp)        |         t9 = sym.imp.g_dbus_method_invocation_return_gerror;
    0x00005b0c lw a1, 0x20(sp)           |         a1 = *(var_20h_11);
    0x00005b10 move a0, s2               |         a0 = s2;
    0x00005b14 jalr t9                   |         t9 ();
    0x00005b18 lw gp, 0x18(sp)           |         gp = *(var_18h_9);
    0x00005b1c lw t9, -0x7d94(gp)        |         t9 = sym.imp.g_clear_error;
    0x00005b20 move a0, s0               |         a0 = s0;
    0x00005b24 jalr t9                   |         t9 ();
    0x00005b28 lw gp, 0x18(sp)           |         gp = *(var_18h_9);
                                         | label_24:
    0x00005b2c lw a0, 0x2c(sp)           |         a0 = *(var_2ch_8);
    0x00005b30 lw v1, (s1)               |         v1 = *(s1);
    0x00005b34 addiu v0, zero, 1         |         v0 = 1;
                                         |         if (a0 != v1) {
    0x00005b38 bne a0, v1, 0x5c30        |             goto label_59;
                                         |         }
    0x00005b3c lw ra, 0x44(sp)           |         ra = *(var_44h_6);
    0x00005b40 lw s4, 0x40(sp)           |         s4 = *(var_40h_6);
    0x00005b44 lw s3, 0x3c(sp)           |         s3 = *(var_3ch_7);
    0x00005b48 lw s2, 0x38(sp)           |         s2 = *(var_38h_7);
    0x00005b4c lw s1, 0x34(sp)           |         s1 = *(var_34h_7);
    0x00005b50 lw s0, 0x30(sp)           |         s0 = *(var_30h_7);
    0x00005b54 addiu sp, sp, 0x48        |         
    0x00005b58 jr ra                     |         return v0;
    0x00005b5c lw t9, -0x7fb8(gp)        |         t9 = *((gp - 8174));
    0x00005b60 move a1, s0               |         a1 = s0;
    0x00005b64 addiu t9, t9, 0x4bf8      |         t9 += 0x4bf8;
    0x00005b68 move a0, s3               |         a0 = s3;
    0x00005b6c bal 0x4bf8                |         fcn_4bf8 ();
                                         |         goto label_8;
    0x00005b70 lw gp, 0x18(sp)           |         gp = *(var_18h_9);
    0x00005b74 beqz v0, 0x5b08           |         
                                         |     }
    0x00005b78 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005b7c lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x00005b80 move a3, s3               |     a3 = s3;
    0x00005b84 addiu a2, a2, -0x5bdc     |     a2 += -0x5bdc;
    0x00005b88 addiu a1, sp, 0x24        |     a1 = sp + 0x24;
    0x00005b8c addiu t9, t9, 0x4790      |     t9 += fcn.00004790;
    0x00005b90 addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x00005b94 bal 0x4790                |     fcn_00004790 ();
                                         |     goto label_9;
    0x00005b98 lw gp, 0x18(sp)           |     gp = *(var_18h_9);
                                         |     if (v0 != 0) {
    0x00005b9c beqz v0, 0x5bd0           |         
    0x00005ba0 lw t9, -0x7f84(gp)        |         t9 = sym.addon_manager_complete_install;
    0x00005ba4 lw a3, 0x28(sp)           |         a3 = *(var_28h_10);
    0x00005ba8 lw a2, 0x24(sp)           |         a2 = *(var_24h_7);
    0x00005bac move a1, s2               |         a1 = s2;
    0x00005bb0 move a0, s4               |         a0 = s4;
    0x00005bb4 bal 0x7d30                |         sym_addon_manager_complete_install ();
    0x00005bb8 lw gp, 0x18(sp)           |         gp = *(var_18h_9);
    0x00005bbc lw t9, -0x7d34(gp)        |         t9 = sym.imp.g_free;
    0x00005bc0 lw a0, 0x28(sp)           |         a0 = *(var_28h_10);
    0x00005bc4 jalr t9                   |         t9 ();
    0x00005bc8 lw gp, 0x18(sp)           |         gp = *(var_18h_9);
    0x00005bcc b 0x5b2c                  |         goto label_24;
                                         |     }
    0x00005bd0 lw t9, -0x7fb4(gp)        |     t9 = sym.addonmanager_error_quark;
    0x00005bd4 bal 0x6220                |     sym_addonmanager_error_quark ();
    0x00005bd8 nop                       |     
    0x00005bdc lw gp, 0x18(sp)           |     gp = *(var_18h_9);
    0x00005be0 move a1, v0               |     a1 = v0;
    0x00005be4 addiu a2, zero, 7         |     a2 = 7;
    0x00005be8 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00005bec lw t9, -0x7e4c(gp)        |     t9 = sym.imp.g_set_error;
    0x00005bf0 addiu a3, a3, -0x5c18     |     a3 += -0x5c18;
    0x00005bf4 move a0, s0               |     a0 = s0;
    0x00005bf8 sw s3, 0x10(sp)           |     *(var_10h_4) = s3;
    0x00005bfc jalr t9                   |     t9 ();
    0x00005c00 lw gp, 0x18(sp)           |     gp = *(var_18h_9);
    0x00005c04 sw s3, 0x10(sp)           |     *(var_10h_4) = s3;
    0x00005c08 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00005c0c lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00005c10 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00005c14 lw t9, -0x7f20(gp)        |     t9 = sym.imp.g_log;
    0x00005c18 addiu a3, a3, -0x5ed4     |     a3 += -0x5ed4;
    0x00005c1c addiu a2, a2, -0x5bfc     |     a2 += -0x5bfc;
    0x00005c20 move a0, zero             |     a0 = 0;
    0x00005c24 jalr t9                   |     t9 ();
    0x00005c28 lw gp, 0x18(sp)           |     gp = *(var_18h_9);
    0x00005c2c b 0x5b08                  |     goto label_25;
                                         | label_59:
    0x00005c30 lw t9, -0x7e80(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00005c34 jalr t9                   |     t9 ();
    0x00005c38 nop                       |     
                                         | }

[*] Function popen used 2 times addonmanager