[*] Binary protection state of api-discovery

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


[*] Function system tear down of api-discovery

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/api-discovery @ 0x26a8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.ads_dbus_init ()         | void ads_dbus_init () {
    0x000026a8 lui gp, 2                 |     
    0x000026ac addiu gp, gp, -0x5698     |     
    0x000026b0 addu gp, gp, t9           |     gp += t9;
    0x000026b4 addiu sp, sp, -0xc0       |     
    0x000026b8 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.sd_bus_open_system
    0x000026bc sw s1, 0x9c(sp)           |     *(var_9ch) = s1;
    0x000026c0 lw s1, -0x7e70(gp)        |     s1 = *((gp - 8092));
    0x000026c4 sw s0, 0x98(sp)           |     *(var_98h) = s0;
    0x000026c8 lw s0, -0x7fd4(gp)        |     s0 = *((gp - 8181));
    0x000026cc lw v0, (s1)               |     v0 = *(s1);
    0x000026d0 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x000026d4 sw a0, 0x3c(sp)           |     *(var_3ch) = a0;
    0x000026d8 sw ra, 0xbc(sp)           |     *(var_bch) = ra;
    0x000026dc sw fp, 0xb8(sp)           |     *(var_b8h) = fp;
    0x000026e0 sw s7, 0xb4(sp)           |     *(var_b4h) = s7;
    0x000026e4 sw s6, 0xb0(sp)           |     *(var_b0h) = s6;
    0x000026e8 sw s5, 0xac(sp)           |     *(var_ach) = s5;
    0x000026ec sw s4, 0xa8(sp)           |     *(var_a8h) = s4;
    0x000026f0 sw s3, 0xa4(sp)           |     *(var_a4h) = s3;
    0x000026f4 sw s2, 0xa0(sp)           |     *(var_a0h) = s2;
    0x000026f8 addiu a0, s0, 0x5214      |     a0 = s0 + 0x5214;
    0x000026fc sw v0, 0x94(sp)           |     *(var_94h) = v0;
    0x00002700 jalr t9                   |     t9 ();
    0x00002704 nop                       |     
    0x00002708 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x0000270c bltz v0, 0x2ad8           |         goto label_2;
                                         |     }
    0x00002710 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x00002714 lw a1, -0x7fcc(gp)        |     a1 = *((gp - 8179));
    0x00002718 lw v1, -0x7fcc(gp)        |     v1 = *((gp - 8179));
    0x0000271c lw t9, -0x7f48(gp)        |     t9 = sym.imp.sd_bus_add_object_vtable;
                                         |     /* section..data.rel.ro */
    0x00002720 addiu v0, v0, 0x4fa0      |     v0 += 0x4fa0;
    0x00002724 lw a0, 0x5214(s0)         |     a0 = *((s0 + 5253));
    0x00002728 sw a1, 0x40(sp)           |     *(var_40h_2) = a1;
    0x0000272c addiu a2, a1, 0x4450      |     a2 = a1 + str._com_axis_ApiDiscovery1;
    0x00002730 sw v1, 0x44(sp)           |     *(var_44h_2) = v1;
    0x00002734 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00002738 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000273c addiu a3, v1, 0x4438      |     a3 = v1 + str.com.axis.ApiDiscovery1;
    0x00002740 move a1, zero             |     a1 = 0;
    0x00002744 jalr t9                   |     t9 ();
    0x00002748 move s2, v0               |     s2 = v0;
    0x0000274c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00002750 bltz v0, 0x2a8c           |         goto label_3;
                                         |     }
    0x00002754 lw t9, -0x7fa8(gp)        |     t9 = sym.ads_api_table_get_legacy_params;
    0x00002758 addiu a0, sp, 0x4c        |     a0 = sp + 0x4c;
    0x0000275c sw zero, 0x4c(sp)         |     *(var_4ch) = 0;
    0x00002760 sw zero, 0x50(sp)         |     *(var_50h) = 0;
    0x00002764 sw zero, 0x54(sp)         |     *(var_54h) = 0;
    0x00002768 sw zero, 0x58(sp)         |     *(var_58h) = 0;
    0x0000276c sw zero, 0x5c(sp)         |     *(var_5ch) = 0;
    0x00002770 sw zero, 0x60(sp)         |     *(var_60h) = 0;
    0x00002774 sw zero, 0x64(sp)         |     *(var_64h) = 0;
    0x00002778 sw zero, 0x68(sp)         |     *(var_68h) = 0;
    0x0000277c sw zero, 0x6c(sp)         |     *(var_6ch) = 0;
    0x00002780 bal 0x3994                |     sym_ads_api_table_get_legacy_params ();
    0x00002784 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002788 addiu a0, v0, 2           |     a0 = v0 + 2;
    0x0000278c sll a0, a0, 5             |     a0 <<= 5;
    0x00002790 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.g_malloc0;
    0x00002794 move s3, v0               |     s3 = v0;
    0x00002798 jalr t9                   |     t9 ();
    0x0000279c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000027a0 addiu s3, s3, 1           |     s3++;
    0x000027a4 sll s3, s3, 2             |     s3 <<= 2;
    0x000027a8 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.g_malloc0;
    0x000027ac move a0, s3               |     a0 = s3;
    0x000027b0 lw s2, -0x7fa4(gp)        |     s2 = *(gp);
    0x000027b4 move s7, v0               |     s7 = v0;
    0x000027b8 jalr t9                   |     t9 ();
    0x000027bc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000027c0 move a0, s3               |     a0 = s3;
    0x000027c4 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.g_malloc0;
    0x000027c8 sw v0, (s2)               |     *(s2) = v0;
    0x000027cc jalr t9                   |     t9 ();
    0x000027d0 addiu v1, zero, 0x3c      |     v1 = 0x3c;
    0x000027d4 sb v1, (s7)               |     *(s7) = v1;
    0x000027d8 swl zero, 4(s7)           |     __asm ("swl zero, 4(s7)");
    0x000027dc swr zero, 1(s7)           |     __asm ("swr zero, 1(s7)");
    0x000027e0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000027e4 lw v1, 4(s7)              |     v1 = *((s7 + 1));
    0x000027e8 lw t2, 0x4c(sp)           |     t2 = *(var_4ch);
    0x000027ec ins v1, zero, 8, 0x18     |     __asm ("ins v1, zero, 8, 0x18");
    0x000027f0 lw s3, -0x7fa0(gp)        |     s3 = *(gp);
    0x000027f4 sw v1, 4(s7)              |     *((s7 + 1)) = v1;
    0x000027f8 addiu v1, zero, 0x20      |     v1 = 0x20;
    0x000027fc sw v1, 8(s7)              |     *((s7 + 2)) = v1;
    0x00002800 lw v1, -0x7e78(gp)        |     v1 = *((gp - 8094));
    0x00002804 addiu a0, zero, 1         |     a0 = 1;
    0x00002808 move a1, zero             |     a1 = 0;
    0x0000280c sw v0, (s3)               |     *(s3) = v0;
    0x00002810 sw a0, 0x10(s7)           |     *((s7 + 4)) = a0;
    0x00002814 sw a1, 0x14(s7)           |     *((s7 + 5)) = a1;
    0x00002818 sw v1, 0x18(s7)           |     *((s7 + 6)) = v1;
                                         |     if (t2 == 0) {
    0x0000281c beqz t2, 0x2b18           |         goto label_4;
                                         |     }
    0x00002820 lw s4, -0x7fcc(gp)        |     s4 = *((gp - 8179));
    0x00002824 lw t4, -0x7fcc(gp)        |     t4 = *((gp - 8179));
    0x00002828 addiu v0, s4, 0x448c      |     v0 = s4 + 0x448c;
    0x0000282c addiu a3, s7, 0x20        |     a3 = s7 + 0x20;
    0x00002830 move fp, zero             |     fp = 0;
    0x00002834 addiu s6, t4, 0x4164      |     s6 = t4 + 0x4164;
    0x00002838 sw v0, 0x38(sp)           |     *(var_38h_2) = v0;
    0x0000283c addiu s4, zero, 0x10      |     s4 = 0x10;
    0x00002840 b 0x2848                  |     
                                         |     while (t2 != 0) {
    0x00002844 move fp, v0               |         fp = v0;
    0x00002848 lw t7, (t2)               |         t7 = *(t2);
    0x0000284c addiu a3, a3, 0x20        |         a3 += 0x20;
    0x00002850 lw t9, -0x7f34(gp)        |         t9 = sym.imp.g_strdup;
    0x00002854 lw a0, (t7)               |         a0 = *(t7);
    0x00002858 sw t2, 0x34(sp)           |         *(var_34h_2) = t2;
    0x0000285c sw a3, 0x2c(sp)           |         *(var_2ch_2) = a3;
    0x00002860 sw a3, 0x24(sp)           |         *(var_24h_2) = a3;
    0x00002864 sw t7, 0x30(sp)           |         *(var_30h_2) = t7;
    0x00002868 jalr t9                   |         t9 ();
    0x0000286c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002870 lw t6, (s2)               |         t6 = *(s2);
    0x00002874 sll s5, fp, 2             |         s5 = fp << 2;
    0x00002878 addu t6, t6, s5           |         t6 += s5;
    0x0000287c lw t9, -0x7f5c(gp)        |         t9 = sym.imp.g_strdelimit;
    0x00002880 lw a1, 0x38(sp)           |         a1 = *(var_38h_2);
    0x00002884 sw t6, 0x24(sp)           |         *(var_24h_2) = t6;
    0x00002888 addiu a2, zero, 0x5f      |         a2 = 0x5f;
    0x0000288c move a0, v0               |         a0 = v0;
    0x00002890 sw v0, 0x28(sp)           |         *(var_28h_2) = v0;
    0x00002894 jalr t9                   |         t9 ();
    0x00002898 lw t6, 0x24(sp)           |         t6 = *(var_24h_2);
    0x0000289c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000028a0 lw t7, 0x30(sp)           |         t7 = *(var_30h_2);
    0x000028a4 lw a1, (s3)               |         a1 = *(s3);
    0x000028a8 sw v0, (t6)               |         *(t6) = v0;
    0x000028ac addu a1, a1, s5           |         a1 += s5;
    0x000028b0 lw t9, -0x7f34(gp)        |         t9 = sym.imp.g_strdup;
    0x000028b4 lw a0, 4(t7)              |         a0 = *((t7 + 1));
    0x000028b8 sw a1, 0x24(sp)           |         *(var_24h_2) = a1;
    0x000028bc jalr t9                   |         t9 ();
    0x000028c0 addiu v1, zero, 0x50      |         v1 = 0x50;
    0x000028c4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000028c8 sw zero, 0x80(sp)         |         *(var_80h) = 0;
    0x000028cc sw zero, 0x84(sp)         |         *(var_84h) = 0;
    0x000028d0 sw zero, 0x8c(sp)         |         *(var_8ch) = 0;
    0x000028d4 sb v1, 0x70(sp)           |         *(var_70h) = v1;
    0x000028d8 sw zero, 0x88(sp)         |         *(var_88h) = 0;
    0x000028dc swl s4, 0x74(sp)          |         __asm ("swl s4, (var_74h)");
    0x000028e0 swr s4, 0x71(sp)          |         __asm ("swr s4, (var_71h)");
    0x000028e4 lw t2, 0x34(sp)           |         t2 = *(var_34h_2);
    0x000028e8 lw a1, 0x24(sp)           |         a1 = *(var_24h_2);
    0x000028ec lw a3, 0x2c(sp)           |         a3 = *(var_2ch_2);
    0x000028f0 lw t2, 4(t2)              |         t2 = *((t2 + 1));
    0x000028f4 sw v0, (a1)               |         *(a1) = v0;
    0x000028f8 lw v0, 0x70(sp)           |         v0 = *(var_70h);
    0x000028fc lw a0, 0x74(sp)           |         a0 = *(var_74h);
    0x00002900 sw v0, -0x20(a3)          |         *((a3 - 8)) = v0;
    0x00002904 lw v0, 0x80(sp)           |         v0 = *(var_80h);
    0x00002908 lw t3, 0x28(sp)           |         t3 = *(var_28h_2);
    0x0000290c sw v0, -0x10(a3)          |         *((a3 - 4)) = v0;
    0x00002910 lw v0, 0x84(sp)           |         v0 = *(var_84h);
    0x00002914 ins a0, zero, 8, 0x18     |         __asm ("ins a0, zero, 8, 0x18");
    0x00002918 sw v0, -0xc(a3)           |         *((a3 - 3)) = v0;
    0x0000291c lw v0, 0x8c(sp)           |         v0 = *(var_8ch);
    0x00002920 sw a0, -0x1c(a3)          |         *((a3 - 7)) = a0;
    0x00002924 sw v0, -4(a3)             |         *((a3 - 1)) = v0;
    0x00002928 sw t3, -0x18(a3)          |         *((a3 - 6)) = t3;
    0x0000292c sw s6, -0x14(a3)          |         *((a3 - 5)) = s6;
    0x00002930 sw s5, -8(a3)             |         *((a3 - 2)) = s5;
    0x00002934 sw a0, 0x74(sp)           |         *(var_74h) = a0;
    0x00002938 sw t3, 0x78(sp)           |         *(var_78h) = t3;
    0x0000293c sw s6, 0x7c(sp)           |         *(var_7ch) = s6;
    0x00002940 addiu v0, fp, 1           |         v0 = fp + 1;
    0x00002944 sw s5, 0x88(sp)           |         *(var_88h) = s5;
    0x00002948 bnez t2, 0x2844           |         
                                         |     }
    0x0000294c lw t9, -0x7f18(gp)        |     t9 = sym.imp.g_list_free;
    0x00002950 lw a0, 0x4c(sp)           |     a0 = *(var_4ch);
    0x00002954 sll s4, v0, 2             |     s4 = v0 << 2;
    0x00002958 jalr t9                   |     t9 ();
    0x0000295c lw v0, (s3)               |     v0 = *(s3);
    0x00002960 addiu v1, fp, 2           |     v1 = fp + 2;
    0x00002964 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002968 addu a2, v0, s4           |     a2 = v0 + s4;
    0x0000296c sll v1, v1, 5             |     v1 <<= 5;
                                         | label_1:
    0x00002970 lw a0, (s2)               |     a0 = *(s2);
    0x00002974 addiu a1, zero, 0x3e      |     a1 = 0x3e;
    0x00002978 sb a1, 0x50(sp)           |     *(var_50h) = a1;
    0x0000297c addu s4, a0, s4           |     s4 = a0 + s4;
    0x00002980 lw a1, 0x40(sp)           |     a1 = *(var_40h_2);
    0x00002984 addu v1, s7, v1           |     v1 = s7 + v1;
    0x00002988 lw a0, 0x5214(s0)         |     a0 = *((s0 + 5253));
    0x0000298c sw zero, (s4)             |     *(s4) = 0;
    0x00002990 sw zero, (a2)             |     *(a2) = 0;
    0x00002994 addiu a2, a1, 0x4450      |     a2 = a1 + str._com_axis_ApiDiscovery1;
    0x00002998 lw a1, 0x50(sp)           |     a1 = *(var_50h);
    0x0000299c lw a3, -0x7fcc(gp)        |     a3 = *((gp - 8179));
    0x000029a0 sw a1, (v1)               |     *(v1) = a1;
    0x000029a4 lw a1, 0x54(sp)           |     a1 = *(var_54h);
    0x000029a8 lw t9, -0x7f48(gp)        |     t9 = sym.imp.sd_bus_add_object_vtable;
    0x000029ac sw a1, 4(v1)              |     *((v1 + 1)) = a1;
    0x000029b0 lw a1, 0x58(sp)           |     a1 = *(var_58h);
    0x000029b4 addiu a3, a3, 0x4490      |     a3 += str.com.axis.ApiDiscovery1.LegacyParam;
    0x000029b8 sw a1, 8(v1)              |     *((v1 + 2)) = a1;
    0x000029bc lw a1, 0x5c(sp)           |     a1 = *(var_5ch);
    0x000029c0 sw a1, 0xc(v1)            |     *((v1 + 3)) = a1;
    0x000029c4 lw a1, 0x60(sp)           |     a1 = *(var_60h);
    0x000029c8 sw a1, 0x10(v1)           |     *((v1 + 4)) = a1;
    0x000029cc lw a1, 0x64(sp)           |     a1 = *(var_64h);
    0x000029d0 sw a1, 0x14(v1)           |     *((v1 + 5)) = a1;
    0x000029d4 lw a1, 0x68(sp)           |     a1 = *(var_68h);
    0x000029d8 sw a1, 0x18(v1)           |     *((v1 + 6)) = a1;
    0x000029dc lw a1, 0x6c(sp)           |     a1 = *(var_6ch);
    0x000029e0 sw a1, 0x1c(v1)           |     *((v1 + 7)) = a1;
    0x000029e4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000029e8 sw s7, 0x10(sp)           |     *(var_10h) = s7;
    0x000029ec move a1, zero             |     a1 = 0;
    0x000029f0 jalr t9                   |     t9 ();
    0x000029f4 move s2, v0               |     s2 = v0;
    0x000029f8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x000029fc bltz v0, 0x2a8c           |         goto label_3;
                                         |     }
    0x00002a00 lw v0, 0x44(sp)           |     v0 = *(var_44h_2);
    0x00002a04 lw t9, -0x7e9c(gp)        |     t9 = sym.imp.sd_bus_request_name;
    0x00002a08 lw a0, 0x5214(s0)         |     a0 = *((s0 + 5253));
    0x00002a0c move a2, zero             |     a2 = 0;
    0x00002a10 move a3, zero             |     a3 = 0;
    0x00002a14 addiu a1, v0, 0x4438      |     a1 = v0 + str.com.axis.ApiDiscovery1;
    0x00002a18 jalr t9                   |     t9 ();
    0x00002a1c move s2, v0               |     s2 = v0;
    0x00002a20 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00002a24 bltz v0, 0x2b28           |         goto label_5;
                                         |     }
    0x00002a28 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.sd_bus_attach_event;
    0x00002a2c lw a0, 0x5214(s0)         |     a0 = *((s0 + 5253));
    0x00002a30 lw a1, 0x3c(sp)           |     a1 = *(var_3ch);
    0x00002a34 move a2, zero             |     a2 = 0;
    0x00002a38 jalr t9                   |     t9 ();
    0x00002a3c move s2, v0               |     s2 = v0;
    0x00002a40 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00002a44 bltz v0, 0x2b64           |         goto label_6;
                                         |     }
    0x00002a48 move s2, zero             |     s2 = 0;
                                         |     do {
    0x00002a4c lw a0, 0x94(sp)           |         a0 = *(var_94h);
    0x00002a50 lw v1, (s1)               |         v1 = *(s1);
    0x00002a54 move v0, s2               |         v0 = s2;
                                         |         if (a0 != v1) {
    0x00002a58 bne a0, v1, 0x2ba0        |             goto label_7;
                                         |         }
    0x00002a5c lw ra, 0xbc(sp)           |         ra = *(var_bch);
    0x00002a60 lw fp, 0xb8(sp)           |         fp = *(var_b8h);
    0x00002a64 lw s7, 0xb4(sp)           |         s7 = *(var_b4h);
    0x00002a68 lw s6, 0xb0(sp)           |         s6 = *(var_b0h);
    0x00002a6c lw s5, 0xac(sp)           |         s5 = *(var_ach);
    0x00002a70 lw s4, 0xa8(sp)           |         s4 = *(var_a8h);
    0x00002a74 lw s3, 0xa4(sp)           |         s3 = *(var_a4h);
    0x00002a78 lw s2, 0xa0(sp)           |         s2 = *(var_a0h);
    0x00002a7c lw s1, 0x9c(sp)           |         s1 = *(var_9ch);
    0x00002a80 lw s0, 0x98(sp)           |         s0 = *(var_98h);
    0x00002a84 addiu sp, sp, 0xc0        |         
    0x00002a88 jr ra                     |         return v0;
                                         | label_3:
    0x00002a8c lw t9, -0x7eb8(gp)        |         t9 = sym.imp.strerror;
    0x00002a90 negu a0, s2               |         __asm ("negu a0, s2");
    0x00002a94 jalr t9                   |         t9 ();
    0x00002a98 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002a9c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002aa0 addiu a1, zero, 0x100     |         a1 = 0x100;
    0x00002aa4 lw a3, -0x7fcc(gp)        |         a3 = *((gp - 8179));
    0x00002aa8 lw a2, -0x7fcc(gp)        |         a2 = *((gp - 8179));
    0x00002aac lw t9, -0x7ef8(gp)        |         t9 = sym.imp.g_log;
    0x00002ab0 addiu a3, a3, 0x4890      |         a3 += 0x4890;
    0x00002ab4 addiu a2, a2, 0x4468      |         a2 += str._sFailed_to_register_bus_object:__s;
    0x00002ab8 move a0, zero             |         a0 = 0;
    0x00002abc jalr t9                   |         t9 ();
    0x00002ac0 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_0:
    0x00002ac4 lw t9, -0x7f28(gp)        |         t9 = sym.imp.sd_bus_unref;
    0x00002ac8 lw a0, 0x5214(s0)         |         a0 = *((s0 + 5253));
    0x00002acc jalr t9                   |         t9 ();
    0x00002ad0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002ad4 b 0x2a4c                  |         
                                         |     } while (1);
                                         | label_2:
    0x00002ad8 lw t9, -0x7eb8(gp)        |     t9 = sym.imp.strerror;
    0x00002adc negu a0, v0               |     __asm ("negu a0, v0");
    0x00002ae0 move s2, v0               |     s2 = v0;
    0x00002ae4 jalr t9                   |     t9 ();
    0x00002ae8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002aec sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002af0 addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00002af4 lw a3, -0x7fcc(gp)        |     a3 = *((gp - 8179));
    0x00002af8 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00002afc lw t9, -0x7ef8(gp)        |     t9 = sym.imp.g_log;
    0x00002b00 addiu a3, a3, 0x4890      |     a3 += 0x4890;
    0x00002b04 addiu a2, a2, 0x440c      |     a2 += str._sFailed_to_connect_to_the_system_bus:__s
    0x00002b08 move a0, zero             |     a0 = 0;
    0x00002b0c jalr t9                   |     t9 ();
    0x00002b10 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b14 b 0x2ac4                  |     goto label_0;
                                         | label_4:
    0x00002b18 move a2, v0               |     a2 = v0;
    0x00002b1c addiu v1, zero, 0x20      |     v1 = 0x20;
    0x00002b20 move s4, zero             |     s4 = 0;
    0x00002b24 b 0x2970                  |     goto label_1;
                                         | label_5:
    0x00002b28 lw t9, -0x7eb8(gp)        |     t9 = sym.imp.strerror;
    0x00002b2c negu a0, v0               |     __asm ("negu a0, v0");
    0x00002b30 jalr t9                   |     t9 ();
    0x00002b34 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b38 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002b3c addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00002b40 lw a3, -0x7fcc(gp)        |     a3 = *((gp - 8179));
    0x00002b44 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00002b48 lw t9, -0x7ef8(gp)        |     t9 = sym.imp.g_log;
    0x00002b4c addiu a3, a3, 0x4890      |     a3 += 0x4890;
    0x00002b50 addiu a2, a2, 0x44b4      |     a2 += str._sFailed_to_acquire_service_name:__s;
    0x00002b54 move a0, zero             |     a0 = 0;
    0x00002b58 jalr t9                   |     t9 ();
    0x00002b5c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b60 b 0x2ac4                  |     goto label_0;
                                         | label_6:
    0x00002b64 lw t9, -0x7eb8(gp)        |     t9 = sym.imp.strerror;
    0x00002b68 negu a0, v0               |     __asm ("negu a0, v0");
    0x00002b6c jalr t9                   |     t9 ();
    0x00002b70 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b74 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002b78 addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00002b7c lw a3, -0x7fcc(gp)        |     a3 = *((gp - 8179));
    0x00002b80 lw a2, -0x7fcc(gp)        |     a2 = *((gp - 8179));
    0x00002b84 lw t9, -0x7ef8(gp)        |     t9 = sym.imp.g_log;
    0x00002b88 addiu a3, a3, 0x4890      |     a3 += 0x4890;
    0x00002b8c addiu a2, a2, 0x44dc      |     a2 += str._sFailed_to_attach_bus_to_event_loop:__s;
    0x00002b90 move a0, zero             |     a0 = 0;
    0x00002b94 jalr t9                   |     t9 ();
    0x00002b98 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b9c b 0x2ac4                  |     goto label_0;
                                         | label_7:
    0x00002ba0 lw t9, -0x7e88(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00002ba4 jalr t9                   |     t9 ();
    0x00002ba8 nop                       |     
                                         | }

[*] Function system used 3 times api-discovery