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