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