[*] Binary protection state of busctl
Full RELRO Canary found NX disabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function system tear down of busctl
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busctl @ 0x3840 */
| #include <stdint.h>
|
; (fcn) fcn.00003840 () | void fcn_00003840 () {
0x00003840 lui gp, 3 |
0x00003844 addiu gp, gp, -0x7830 |
0x00003848 addu gp, gp, t9 | gp += t9;
0x0000384c addiu sp, sp, -0x48 |
0x00003850 lw t9, -0x7ef4(gp) | t9 = sym.imp.sd_bus_new;
0x00003854 sw s1, 0x38(sp) | *(var_38h) = s1;
0x00003858 lw s1, -0x7e54(gp) | s1 = *((gp - 8085));
0x0000385c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00003860 sw s3, 0x40(sp) | *(var_40h) = s3;
0x00003864 sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x00003868 sw ra, 0x44(sp) | *(var_44h) = ra;
0x0000386c sw s0, 0x34(sp) | *(var_34h) = s0;
0x00003870 lw v0, (s1) | v0 = *(s1);
0x00003874 move s3, a0 | s3 = a0;
0x00003878 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0000387c addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x00003880 sw zero, 0x28(sp) | *(var_28h) = 0;
0x00003884 move s2, a1 | s2 = a1;
0x00003888 jalr t9 | t9 ();
0x0000388c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 >= 0) {
0x00003890 bltz v0, 0x3998 |
0x00003894 lw a0, 0x28(sp) | a0 = *(var_28h);
| if (s3 != 0) {
0x00003898 beqz s3, 0x3914 |
0x0000389c lw t9, -0x7e48(gp) | t9 = sym.imp.sd_bus_set_monitor;
0x000038a0 addiu a1, zero, 1 | a1 = 1;
0x000038a4 jalr t9 | t9 ();
0x000038a8 move s0, v0 | s0 = v0;
0x000038ac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000038b0 bltz v0, 0x3b2c | goto label_5;
| }
0x000038b4 lw t9, -0x7f10(gp) | t9 = sym.imp.sd_bus_negotiate_creds;
0x000038b8 lw a0, 0x28(sp) | a0 = *(var_28h);
0x000038bc addiu a2, zero, -1 | a2 = -1;
0x000038c0 addiu a3, zero, 3 | a3 = 3;
0x000038c4 addiu a1, zero, 1 | a1 = 1;
0x000038c8 jalr t9 | t9 ();
0x000038cc move s0, v0 | s0 = v0;
0x000038d0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000038d4 bltz v0, 0x3a04 | goto label_6;
| }
0x000038d8 lw t9, -0x7dc8(gp) | t9 = sym.imp.sd_bus_negotiate_timestamp;
0x000038dc lw a0, 0x28(sp) | a0 = *(var_28h);
0x000038e0 addiu a1, zero, 1 | a1 = 1;
0x000038e4 jalr t9 | t9 ();
0x000038e8 move s0, v0 | s0 = v0;
0x000038ec lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000038f0 bltz v0, 0x3bf0 | goto label_7;
| }
0x000038f4 lw t9, -0x7f90(gp) | t9 = sym.imp.sd_bus_negotiate_fds;
0x000038f8 lw a0, 0x28(sp) | a0 = *(var_28h);
0x000038fc addiu a1, zero, 1 | a1 = 1;
0x00003900 jalr t9 | t9 ();
0x00003904 move s0, v0 | s0 = v0;
0x00003908 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0000390c bltz v0, 0x3cbc | goto label_8;
| }
0x00003910 lw a0, 0x28(sp) | a0 = *(var_28h);
| }
0x00003914 lw t9, -0x7ebc(gp) | t9 = sym.imp.sd_bus_set_bus_client;
0x00003918 addiu a1, zero, 1 | a1 = 1;
0x0000391c jalr t9 | t9 ();
0x00003920 move s0, v0 | s0 = v0;
0x00003924 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00003928 bltz v0, 0x3af0 | goto label_9;
| }
0x0000392c lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x00003930 lw t9, -0x7efc(gp) | t9 = sym.imp.sd_bus_set_watch_bind;
0x00003934 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00003938 lbu a1, 0x4390(s3) | a1 = *((s3 + 17296));
0x0000393c jalr t9 | t9 ();
0x00003940 move s0, v0 | s0 = v0;
0x00003944 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00003948 bltz v0, 0x3a80 | goto label_10;
| }
0x0000394c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00003950 lw a1, 0x43a8(v0) | a1 = *((v0 + 4330));
0x00003954 lw t9, -0x7e28(gp) | t9 = sym.imp.sd_bus_set_address;
| if (a1 == 0) {
0x00003958 beqz a1, 0x3b68 | goto label_11;
| }
0x0000395c lw a0, 0x28(sp) | a0 = *(var_28h);
0x00003960 jalr t9 | t9 ();
0x00003964 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003968 move s0, v0 | s0 = v0;
| label_3:
0x0000396c lw t9, -0x7e1c(gp) | t9 = sym.imp.sd_bus_start;
| if (s0 < 0) {
0x00003970 bltz s0, 0x3bb4 | goto label_12;
| }
0x00003974 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00003978 jalr t9 | t9 ();
0x0000397c move s0, v0 | s0 = v0;
0x00003980 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00003984 bltz v0, 0x3c80 | goto label_13;
| }
0x00003988 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000398c move s0, zero | s0 = 0;
0x00003990 sw v0, (s2) | *(s2) = v0;
0x00003994 b 0x39d8 | goto label_14;
| }
0x00003998 lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0000399c move a0, zero | a0 = 0;
0x000039a0 move s0, v0 | s0 = v0;
0x000039a4 jalr t9 | t9 ();
0x000039a8 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x000039ac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000039b0 beqz v0, 0x3a40 | goto label_15;
| }
| do {
| label_1:
0x000039b4 negu s0, s0 | __asm ("negu s0, s0");
0x000039b8 andi s0, s0, 0xff | s0 &= 0xff;
0x000039bc negu s0, s0 | __asm ("negu s0, s0");
| label_0:
0x000039c0 lw a0, 0x28(sp) | a0 = *(var_28h);
0x000039c4 lw t9, -0x7d10(gp) | t9 = sym.imp.sd_bus_close_unref;
| if (a0 != 0) {
0x000039c8 beqz a0, 0x39d8 |
0x000039cc jalr t9 | t9 ();
0x000039d0 nop |
0x000039d4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_14:
0x000039d8 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x000039dc lw v1, (s1) | v1 = *(s1);
0x000039e0 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x000039e4 bne a0, v1, 0x3d20 | goto label_16;
| }
0x000039e8 lw ra, 0x44(sp) | ra = *(var_44h);
0x000039ec lw s3, 0x40(sp) | s3 = *(var_40h);
0x000039f0 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x000039f4 lw s1, 0x38(sp) | s1 = *(var_38h);
0x000039f8 lw s0, 0x34(sp) | s0 = *(var_34h);
0x000039fc addiu sp, sp, 0x48 |
0x00003a00 jr ra | return v0;
| label_6:
0x00003a04 lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003a08 move a0, zero | a0 = 0;
0x00003a0c jalr t9 | t9 ();
0x00003a10 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003a14 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003a18 bnez v0, 0x39b4 |
| } while (v0 != 0);
0x00003a1c lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003a20 lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_enable_credentials:__m */
0x00003a24 addiu v0, v0, 0xc60 | v0 += 0xc60;
0x00003a28 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003a2c lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003a30 addiu a3, zero, 0x56 | a3 = 0x56;
| /* str.acquire_bus */
0x00003a34 addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003a38 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003a3c b 0x3a60 | goto label_2;
| label_15:
0x00003a40 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003a44 lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_allocate_bus:__m */
0x00003a48 addiu v0, v0, 0xc24 | v0 += 0xc24;
0x00003a4c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003a50 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003a54 addiu a3, zero, 0x4d | a3 = 0x4d;
| /* str.acquire_bus */
0x00003a58 addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003a5c sw v0, 0x10(sp) | *(var_10h) = v0;
| label_2:
0x00003a60 lw a2, -0x7fdc(gp) | a2 = sym.imp.sd_bus_message_new_signal;
0x00003a64 move a1, s0 | a1 = s0;
| /* esilref: 'src/busctl/busctl.c' */
0x00003a68 addiu a2, a2, 0x21b | a2 += 0x21b;
0x00003a6c addiu a0, zero, 3 | a0 = 3;
0x00003a70 jalr t9 | t9 ();
0x00003a74 move s0, v0 | s0 = v0;
0x00003a78 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003a7c b 0x39c0 | goto label_0;
| label_10:
0x00003a80 lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003a84 move a0, zero | a0 = 0;
0x00003a88 jalr t9 | t9 ();
0x00003a8c slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003a90 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00003a94 bnez v0, 0x39b4 | goto label_1;
| }
0x00003a98 lbu v0, 0x4390(s3) | v0 = *((s3 + 17296));
0x00003a9c lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
| if (v0 != 0) {
0x00003aa0 bnez v0, 0x3cf8 | goto label_17;
| }
0x00003aa4 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
| /* esilref: 'no' */
0x00003aa8 addiu v0, v0, 0xc20 | v0 += 0xc20;
| label_4:
0x00003aac sw v0, 0x18(sp) | *(var_18h_3) = v0;
0x00003ab0 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003ab4 lw a2, -0x7fdc(gp) | a2 = sym.imp.sd_bus_message_new_signal;
| /* str.Failed_to_set_watch_bind_setting_to__s:__m */
0x00003ab8 addiu v0, v0, 0xce0 | v0 += 0xce0;
0x00003abc sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003ac0 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003ac4 lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.acquire_bus */
0x00003ac8 addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003acc move a1, s0 | a1 = s0;
0x00003ad0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003ad4 addiu a3, zero, 0x67 | a3 = 0x67;
| /* esilref: 'src/busctl/busctl.c' */
0x00003ad8 addiu a2, a2, 0x21b | a2 += 0x21b;
0x00003adc addiu a0, zero, 3 | a0 = 3;
0x00003ae0 jalr t9 | t9 ();
0x00003ae4 move s0, v0 | s0 = v0;
0x00003ae8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003aec b 0x39c0 | goto label_0;
| label_9:
0x00003af0 lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003af4 move a0, zero | a0 = 0;
0x00003af8 jalr t9 | t9 ();
0x00003afc slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003b00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00003b04 bnez v0, 0x39b4 | goto label_1;
| }
0x00003b08 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003b0c lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_set_bus_client:__m */
0x00003b10 addiu v0, v0, 0xcc0 | v0 += 0xcc0;
0x00003b14 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003b18 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003b1c addiu a3, zero, 0x63 | a3 = 0x63;
| /* str.acquire_bus */
0x00003b20 addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003b24 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003b28 b 0x3a60 | goto label_2;
| label_5:
0x00003b2c lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003b30 move a0, zero | a0 = 0;
0x00003b34 jalr t9 | t9 ();
0x00003b38 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003b3c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00003b40 bnez v0, 0x39b4 | goto label_1;
| }
0x00003b44 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003b48 lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_set_monitor_mode:__m */
0x00003b4c addiu v0, v0, 0xc40 | v0 += 0xc40;
0x00003b50 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003b54 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003b58 addiu a3, zero, 0x52 | a3 = 0x52;
| /* str.acquire_bus */
0x00003b5c addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003b60 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003b64 b 0x3a60 | goto label_2;
| label_11:
0x00003b68 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00003b6c addiu v1, zero, 1 | v1 = 1;
0x00003b70 lw v0, 0x439c(v0) | v0 = *((v0 + 4327));
0x00003b74 addiu a0, zero, 2 | a0 = 2;
| if (v0 == v1) {
0x00003b78 beq v0, v1, 0x3c78 | goto label_18;
| }
0x00003b7c lw t9, -0x7d58(gp) | t9 = sym.imp.bus_set_address_system_machine
| if (v0 == a0) {
0x00003b80 beq v0, a0, 0x3c5c | goto label_19;
| }
0x00003b84 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
| if (v0 == 0) {
0x00003b88 beqz v0, 0x3c2c | goto label_20;
| }
0x00003b8c lw a2, -0x7fdc(gp) | a2 = sym.imp.sd_bus_message_new_signal;
0x00003b90 lw a1, -0x7fdc(gp) | a1 = sym.imp.sd_bus_message_new_signal;
| /* esilref: 'acquire_bus' */
0x00003b94 addiu v0, v0, 0x2664 | v0 += 0x2664;
0x00003b98 lw t9, -0x7d8c(gp) | t9 = sym.imp.log_assert_failed_unreachable_realm;
0x00003b9c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003ba0 addiu a3, zero, 0x81 | a3 = 0x81;
| /* esilref: 'src/busctl/busctl.c' */
0x00003ba4 addiu a2, a2, 0x21b | a2 += 0x21b;
| /* str.Hmm__unknown_transport_type. */
0x00003ba8 addiu a1, a1, 0xd10 | a1 += 0xd10;
0x00003bac move a0, zero | a0 = 0;
0x00003bb0 jalr t9 | t9 ();
| label_12:
0x00003bb4 lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003bb8 move a0, zero | a0 = 0;
0x00003bbc jalr t9 | t9 ();
0x00003bc0 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003bc4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00003bc8 bnez v0, 0x39b4 | goto label_1;
| }
0x00003bcc lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003bd0 lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_set_address:__m */
0x00003bd4 addiu v0, v0, 0xd30 | v0 += 0xd30;
0x00003bd8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003bdc lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003be0 addiu a3, zero, 0x85 | a3 = 0x85;
| /* str.acquire_bus */
0x00003be4 addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003be8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003bec b 0x3a60 | goto label_2;
| label_7:
0x00003bf0 lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003bf4 move a0, zero | a0 = 0;
0x00003bf8 jalr t9 | t9 ();
0x00003bfc slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003c00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00003c04 bnez v0, 0x39b4 | goto label_1;
| }
0x00003c08 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003c0c lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_enable_timestamps:__m */
0x00003c10 addiu v0, v0, 0xc84 | v0 += 0xc84;
0x00003c14 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003c18 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003c1c addiu a3, zero, 0x5a | a3 = 0x5a;
| /* str.acquire_bus */
0x00003c20 addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003c24 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003c28 b 0x3a60 | goto label_2;
| label_20:
0x00003c2c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00003c30 lbu v0, 0x4395(v0) | v0 = *((v0 + 17301));
0x00003c34 lw a0, 0x28(sp) | a0 = *(var_28h);
| if (v0 == 0) {
0x00003c38 beqz v0, 0x3d00 | goto label_21;
| }
0x00003c3c lw v0, 0x1c(a0) | v0 = *((a0 + 7));
0x00003c40 lw t9, -0x7ee0(gp) | t9 = sym.imp.bus_set_address_user;
0x00003c44 ins v0, v1, 0xd, 1 | __asm ("ins v0, v1, 0xd, 1");
0x00003c48 sw v0, 0x1c(a0) | *((a0 + 7)) = v0;
0x00003c4c jalr t9 | t9 ();
0x00003c50 move s0, v0 | s0 = v0;
0x00003c54 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003c58 b 0x396c | goto label_3;
| do {
| label_19:
0x00003c5c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00003c60 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00003c64 lw a1, 0x4398(v0) | a1 = *((v0 + 4326));
0x00003c68 jalr t9 | t9 ();
0x00003c6c move s0, v0 | s0 = v0;
0x00003c70 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003c74 b 0x396c | goto label_3;
| label_18:
0x00003c78 lw t9, -0x7e10(gp) | t9 = sym.imp.bus_set_address_system_remote
0x00003c7c b 0x3c5c |
| } while (1);
| label_13:
0x00003c80 lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003c84 move a0, zero | a0 = 0;
0x00003c88 jalr t9 | t9 ();
0x00003c8c slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003c90 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00003c94 bnez v0, 0x39b4 | goto label_1;
| }
0x00003c98 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003c9c lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_connect_to_bus:__m */
0x00003ca0 addiu v0, v0, 0xd4c | v0 += 0xd4c;
0x00003ca4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003ca8 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003cac addiu a3, zero, 0x89 | a3 = 0x89;
| /* str.acquire_bus */
0x00003cb0 addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003cb4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003cb8 b 0x3a60 | goto label_2;
| label_8:
0x00003cbc lw t9, -0x7f9c(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00003cc0 move a0, zero | a0 = 0;
0x00003cc4 jalr t9 | t9 ();
0x00003cc8 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00003ccc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00003cd0 bnez v0, 0x39b4 | goto label_1;
| }
0x00003cd4 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003cd8 lw t9, -0x7ea8(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_enable_fds:__m */
0x00003cdc addiu v0, v0, 0xca4 | v0 += 0xca4;
0x00003ce0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00003ce4 lw v0, -0x7fdc(gp) | v0 = sym.imp.sd_bus_message_new_signal;
0x00003ce8 addiu a3, zero, 0x5e | a3 = 0x5e;
| /* str.acquire_bus */
0x00003cec addiu v0, v0, 0x2670 | v0 += 0x2670;
0x00003cf0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003cf4 b 0x3a60 | goto label_2;
| /* esilref: 'yes' */
| label_17:
0x00003cf8 addiu v0, v0, 0xc1c | v0 += 0xc1c;
0x00003cfc b 0x3aac | goto label_4;
| label_21:
0x00003d00 lw v0, 0x1c(a0) | v0 = *((a0 + 7));
0x00003d04 lw t9, -0x7d1c(gp) | t9 = sym.imp.bus_set_address_system
0x00003d08 ins v0, v1, 0xc, 1 | __asm ("ins v0, v1, 0xc, 1");
0x00003d0c sw v0, 0x1c(a0) | *((a0 + 7)) = v0;
0x00003d10 jalr t9 | t9 ();
0x00003d14 move s0, v0 | s0 = v0;
0x00003d18 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003d1c b 0x396c | goto label_3;
| label_16:
0x00003d20 lw t9, -0x7ec0(gp) | t9 = sym.imp.__stack_chk_fail;
0x00003d24 jalr t9 | t9 ();
0x00003d28 nop |
| }
[*] Function system used 4 times busctl