[*] Binary protection state of udevadm

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


[*] Function system tear down of udevadm

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x84cfc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.message_new_empty ()         | void message_new_empty () {
    0x00084cfc lui gp, 8                     |     
    0x00084d00 addiu gp, gp, -0x5a7c         |     
    0x00084d04 addu gp, gp, t9               |     gp += t9;
    0x00084d08 addiu sp, sp, -0x30           |     
    0x00084d0c sw gp, 0x18(sp)               |     *(var_18h_3) = gp;
    0x00084d10 sw ra, 0x2c(sp)               |     *(var_2ch_3) = ra;
    0x00084d14 sw s1, 0x28(sp)               |     *(var_28h_3) = s1;
    0x00084d18 sw s0, 0x24(sp)               |     *(var_24h_2) = s0;
    0x00084d1c lw t9, -0x7160(gp)            |     t9 = sym.imp.calloc;
                                             |     if (a1 == 0) {
    0x00084d20 beqz a1, 0x84d74              |         goto label_1;
                                             |     }
    0x00084d24 move s0, a1                   |     s0 = a1;
    0x00084d28 move s1, a0                   |     s1 = a0;
    0x00084d2c addiu a1, zero, 0x21c         |     a1 = aav.0x0000021c;
    0x00084d30 addiu a0, zero, 1             |     a0 = 1;
    0x00084d34 jalr t9                       |     t9 ();
    0x00084d38 addiu a1, zero, 1             |     a1 = 1;
                                             |     if (v0 == 0) {
    0x00084d3c beqz v0, 0x84da8              |         goto label_2;
                                             |     }
    0x00084d40 lbu v1, 0x214(v0)             |     v1 = *(v0);
    0x00084d44 lw a0, 0x18(s1)               |     a0 = *((s1 + 6));
    0x00084d48 ins v1, zero, 0, 1            |     __asm ("ins v1, zero, 0, 1");
    0x00084d4c sw a1, (v0)                   |     *(v0) = a1;
    0x00084d50 sw a0, 8(v0)                  |     *((v0 + 2)) = a0;
    0x00084d54 sb v1, 0x214(v0)              |     *(v0) = v1;
    0x00084d58 sw v0, (s0)                   |     *(s0) = v0;
    0x00084d5c move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_0:
    0x00084d60 lw ra, 0x2c(sp)               |         ra = *(var_2ch_3);
    0x00084d64 lw s1, 0x28(sp)               |         s1 = *(var_28h_3);
    0x00084d68 lw s0, 0x24(sp)               |         s0 = *(var_24h_2);
    0x00084d6c addiu sp, sp, 0x30            |         
    0x00084d70 jr ra                         |         return v0;
                                             | label_1:
    0x00084d74 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x00084d78 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00084d7c lw a1, -0x7fcc(gp)            |         a1 = *(gp);
                                             |         /* str.message_new_empty */
    0x00084d80 addiu v0, v0, -0x40d0         |         v0 += -0x40d0;
    0x00084d84 lw t9, -0x7d8c(gp)            |         t9 = sym.log_assert_failed_return_realm;
    0x00084d88 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00084d8c addiu a3, zero, 0x1b          |         a3 = 0x1b;
                                             |         /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
    0x00084d90 addiu a2, a2, -0x434d         |         a2 += -0x434d;
                                             |         /* esilref: 'ret' */
    0x00084d94 addiu a1, a1, -0x7454         |         a1 += -0x7454;
    0x00084d98 move a0, zero                 |         a0 = 0;
    0x00084d9c bal 0x9a67c                   |         sym_log_assert_failed_return_realm ();
    0x00084da0 addiu v0, zero, -0x16         |         v0 = -0x16;
    0x00084da4 b 0x84d60                     |         
                                             |     } while (1);
                                             | label_2:
    0x00084da8 addiu v0, zero, -0xc          |     v0 = -0xc;
    0x00084dac b 0x84d60                     |     goto label_0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x84e80 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.message_new ()           | void message_new () {
    0x00084e80 lui gp, 8                 |     
    0x00084e84 addiu gp, gp, -0x5c00     |     
    0x00084e88 addu gp, gp, t9           |     gp += t9;
    0x00084e8c addiu sp, sp, -0x50       |     
    0x00084e90 sw s2, 0x3c(sp)           |     *(var_3ch) = s2;
    0x00084e94 lw s2, -0x6de8(gp)        |     s2 = *((gp - 7034));
    0x00084e98 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00084e9c sw ra, 0x4c(sp)           |     *(var_4ch) = ra;
    0x00084ea0 sw s5, 0x48(sp)           |     *(var_48h) = s5;
    0x00084ea4 sw s4, 0x44(sp)           |     *(var_44h) = s4;
    0x00084ea8 sw s3, 0x40(sp)           |     *(var_40h) = s3;
    0x00084eac sw s1, 0x38(sp)           |     *(var_38h) = s1;
    0x00084eb0 sw s0, 0x34(sp)           |     *(var_34h) = s0;
    0x00084eb4 lw v0, (s2)               |     v0 = *(s2);
    0x00084eb8 sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x00084ebc sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00084ec0 lw t9, -0x74b4(gp)        |     t9 = sym.type_system_get_root
                                         |     if (a0 == 0) {
    0x00084ec4 beqz a0, 0x8500c          |         goto label_1;
                                         |     }
    0x00084ec8 move s1, a0               |     s1 = a0;
    0x00084ecc lw a0, 0x18(a0)           |     a0 = *((a0 + 6));
    0x00084ed0 move s4, a1               |     s4 = a1;
    0x00084ed4 move s3, a2               |     s3 = a2;
    0x00084ed8 bal 0x870b0               |     sym_type_system_get_root ()
    0x00084edc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00084ee0 move a2, s3               |     a2 = s3;
    0x00084ee4 addiu a1, sp, 0x28        |     a1 = sp + 0x28;
    0x00084ee8 lw t9, -0x74c0(gp)        |     t9 = sym.type_system_get_type
    0x00084eec move a0, v0               |     a0 = v0;
    0x00084ef0 bal 0x870d0               |     sym_type_system_get_type ()
    0x00084ef4 move s0, v0               |     s0 = v0;
    0x00084ef8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00084efc bltz v0, 0x84fbc          |         goto label_2;
                                         |     }
    0x00084f00 lw t9, -0x74bc(gp)        |     t9 = sym.type_get_type;
    0x00084f04 lw a0, 0x28(sp)           |     a0 = *(var_28h);
    0x00084f08 bal 0x86f24               |     sym_type_get_type ();
    0x00084f0c addiu v1, zero, 0xa       |     v1 = 0xa;
    0x00084f10 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == v1) {
    0x00084f14 bne v0, v1, 0x84fb8       |         
    0x00084f18 lw t9, -0x74b0(gp)        |         t9 = sym.message_new_empty;
    0x00084f1c addiu a1, sp, 0x24        |         a1 = sp + 0x24;
    0x00084f20 move a0, s1               |         a0 = s1;
    0x00084f24 bal 0x84cfc               |         sym_message_new_empty ();
    0x00084f28 move s0, v0               |         s0 = v0;
    0x00084f2c lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00084f30 bltz v0, 0x84fbc          |             goto label_2;
                                         |         }
    0x00084f34 lw t9, -0x74b8(gp)        |         t9 = sym.type_get_size;
    0x00084f38 lw a0, 0x28(sp)           |         a0 = *(var_28h);
    0x00084f3c addiu s5, zero, -4        |         s5 = -4;
    0x00084f40 bal 0x86f70               |         sym_type_get_size ();
    0x00084f44 addiu v0, v0, 0x13        |         v0 += 0x13;
    0x00084f48 and s5, v0, s5            |         s5 = v0 & s5;
    0x00084f4c sltiu v0, s5, 0x10        |         v0 = (s5 < 0x10) ? 1 : 0;
    0x00084f50 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 != 0) {
    0x00084f54 bnez v0, 0x85040          |             goto label_3;
                                         |         }
    0x00084f58 lw t9, -0x7160(gp)        |         t9 = sym.imp.calloc;
    0x00084f5c lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x00084f60 move a1, s5               |         a1 = s5;
    0x00084f64 addiu a0, zero, 1         |         a0 = 1;
    0x00084f68 jalr t9                   |         t9 ();
    0x00084f6c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00084f70 sw v0, 0xc(s1)            |         *((s1 + 3)) = v0;
                                         |         if (v0 == 0) {
    0x00084f74 beqz v0, 0x8506c          |             goto label_4;
                                         |         }
    0x00084f78 lw t9, -0x74ac(gp)        |         t9 = sym.type_get_type_system
    0x00084f7c addiu v1, zero, 5         |         v1 = 5;
    0x00084f80 lw a0, 0x28(sp)           |         a0 = *(var_28h);
    0x00084f84 sh v1, 6(v0)              |         *((v0 + 3)) = v1;
    0x00084f88 addiu a1, s1, 0x10        |         a1 = s1 + 0x10;
    0x00084f8c bal 0x86fbc               |         sym_type_get_type_system ()
    0x00084f90 lw v0, 0x24(sp)           |         v0 = *(var_24h);
    0x00084f94 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00084f98 move s0, zero             |         s0 = 0;
    0x00084f9c lw v0, 0xc(v0)            |         v0 = *((v0 + 3));
    0x00084fa0 sw s5, (v0)               |         *(v0) = s5;
    0x00084fa4 lw v0, 0x24(sp)           |         v0 = *(var_24h);
    0x00084fa8 lw v1, 0xc(v0)            |         v1 = *((v0 + 3));
    0x00084fac sh s3, 4(v1)              |         *((v1 + 2)) = s3;
    0x00084fb0 sw v0, (s4)               |         *(s4) = v0;
    0x00084fb4 b 0x84fd8                 |         goto label_5;
                                         |     }
    0x00084fb8 addiu s0, zero, -0x16     |     s0 = -0x16;
                                         |     do {
                                         | label_2:
    0x00084fbc lw s1, 0x24(sp)           |         s1 = *(var_24h);
                                         |         if (s1 != 0) {
    0x00084fc0 beqz s1, 0x84fd8          |             
    0x00084fc4 nop                       |             
                                         | label_0:
    0x00084fc8 lw t9, -0x75f8(gp)        |             t9 = sym.sd_netlink_message_unref;
    0x00084fcc move a0, s1               |             a0 = s1;
    0x00084fd0 bal 0x84db0               |             sym_sd_netlink_message_unref ();
    0x00084fd4 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |         }
                                         | label_5:
    0x00084fd8 lw a0, 0x2c(sp)           |         a0 = *(var_2ch);
    0x00084fdc lw v1, (s2)               |         v1 = *(s2);
    0x00084fe0 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x00084fe4 bne a0, v1, 0x85074       |             goto label_6;
                                         |         }
    0x00084fe8 lw ra, 0x4c(sp)           |         ra = *(var_4ch);
    0x00084fec lw s5, 0x48(sp)           |         s5 = *(var_48h);
    0x00084ff0 lw s4, 0x44(sp)           |         s4 = *(var_44h);
    0x00084ff4 lw s3, 0x40(sp)           |         s3 = *(var_40h);
    0x00084ff8 lw s2, 0x3c(sp)           |         s2 = *(var_3ch);
    0x00084ffc lw s1, 0x38(sp)           |         s1 = *(var_38h);
    0x00085000 lw s0, 0x34(sp)           |         s0 = *(var_34h);
    0x00085004 addiu sp, sp, 0x50        |         
    0x00085008 jr ra                     |         return v0;
                                         | label_1:
    0x0008500c lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00085010 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00085014 lw a1, -0x7fd8(gp)        |         a1 = *(gp);
    0x00085018 lw t9, -0x7d8c(gp)        |         t9 = sym.log_assert_failed_return_realm;
                                         |         /* str.message_new */
    0x0008501c addiu v0, v0, -0x40dc     |         v0 += -0x40dc;
    0x00085020 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00085024 addiu a3, zero, 0x36      |         a3 = 0x36;
                                         |         /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
    0x00085028 addiu a2, a2, -0x434d     |         a2 += -0x434d;
                                         |         /* str.rtnl */
    0x0008502c addiu a1, a1, -0x74d8     |         a1 += -0x74d8;
    0x00085030 bal 0x9a67c               |         sym_log_assert_failed_return_realm ();
    0x00085034 addiu s0, zero, -0x16     |         s0 = -0x16;
    0x00085038 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0008503c b 0x84fbc                 |         
                                         |     } while (1);
                                         | label_3:
    0x00085040 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00085044 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00085048 lw a1, -0x7fd8(gp)        |     a1 = *(gp);
                                         |     /* str.message_new */
    0x0008504c addiu v0, v0, -0x40dc     |     v0 += -0x40dc;
    0x00085050 lw t9, -0x7f88(gp)        |     t9 = sym.log_assert_failed_realm;
    0x00085054 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00085058 addiu a3, zero, 0x47      |     a3 = 0x47;
                                         |     /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
    0x0008505c addiu a2, a2, -0x434d     |     a2 += -0x434d;
                                         |     /* str.size___sizeof_struct_nlmsghdr_ */
    0x00085060 addiu a1, a1, -0x4248     |     a1 += -0x4248;
    0x00085064 move a0, zero             |     a0 = 0;
    0x00085068 bal 0x991c4               |     sym_log_assert_failed_realm ();
                                         | label_4:
    0x0008506c addiu s0, zero, -0xc      |     s0 = -0xc;
    0x00085070 b 0x84fc8                 |     goto label_0;
                                         | label_6:
    0x00085074 lw t9, -0x6e2c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00085078 jalr t9                   |     t9 ();
    0x0008507c nop                       |     
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x85780 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.sd_netlink_message_rewind ()     | void sd_netlink_message_rewind () {
    0x00085780 lui gp, 8                         |     
    0x00085784 addiu gp, gp, -0x6500             |     
    0x00085788 addu gp, gp, t9                   |     gp += t9;
    0x0008578c addiu sp, sp, -0x50               |     
    0x00085790 sw s3, 0x44(sp)                   |     *(var_44h) = s3;
    0x00085794 lw s3, -0x6de8(gp)                |     s3 = *((gp - 7034));
    0x00085798 sw gp, 0x18(sp)                   |     *(var_18h_2) = gp;
    0x0008579c sw ra, 0x4c(sp)                   |     *(var_4ch) = ra;
    0x000857a0 sw s4, 0x48(sp)                   |     *(var_48h) = s4;
    0x000857a4 sw s2, 0x40(sp)                   |     *(var_40h) = s2;
    0x000857a8 sw s1, 0x3c(sp)                   |     *(var_3ch) = s1;
    0x000857ac sw s0, 0x38(sp)                   |     *(var_38h) = s0;
    0x000857b0 lw v0, (s3)                       |     v0 = *(s3);
    0x000857b4 sw v0, 0x34(sp)                   |     *(var_34h) = v0;
    0x000857b8 lw v0, -0x7fd8(gp)                |     v0 = *(gp);
                                                 |     if (a0 == 0) {
    0x000857bc beqz a0, 0x85944                  |         goto label_3;
                                                 |     }
    0x000857c0 lw v0, 0x214(a0)                  |     v0 = *(a0);
    0x000857c4 andi v0, v0, 1                    |     v0 &= 1;
    0x000857c8 move s2, a0                       |     s2 = a0;
                                                 |     if (v0 == 0) {
    0x000857cc beqz v0, 0x85930                  |         goto label_4;
                                                 |     }
                                                 | label_2:
    0x000857d0 lw t9, -0x74b4(gp)                |     t9 = sym.type_system_get_root
    0x000857d4 lw a0, 8(s2)                      |     a0 = *((s2 + 2));
    0x000857d8 bal 0x870b0                       |     sym_type_system_get_root ()
    0x000857dc lw v1, 0x210(s2)                  |     v1 = *(s2);
    0x000857e0 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x000857e4 move s4, v0                       |     s4 = v0;
                                                 |     if (v1 == 0) {
    0x000857e8 beqz v1, 0x8581c                  |         goto label_5;
                                                 |     }
    0x000857ec addiu s0, s2, 0x28                |     s0 = s2 + 0x28;
    0x000857f0 addiu s1, zero, 1                 |     s1 = 1;
                                                 |     do {
    0x000857f4 lw t9, -0x6dc8(gp)                |         t9 = *((gp - 7026));
    0x000857f8 lw a0, (s0)                       |         a0 = *(s0);
    0x000857fc addiu s1, s1, 1                   |         s1++;
    0x00085800 jalr t9                           |         t9 ();
    0x00085804 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x00085808 sw zero, (s0)                     |         *(s0) = 0;
    0x0008580c lw v0, 0x210(s2)                  |         v0 = *(s2);
    0x00085810 sltu v0, v0, s1                   |         v0 = (v0 < s1) ? 1 : 0;
    0x00085814 addiu s0, s0, 0x10                |         s0 += 0x10;
    0x00085818 beqz v0, 0x857f4                  |         
                                                 |     } while (v0 == 0);
                                                 | label_5:
    0x0008581c lw v0, 0x18(s2)                   |     v0 = *((s2 + 6));
    0x00085820 sw zero, 0x210(s2)                |     *(s2) = 0;
                                                 |     if (v0 == 0) {
    0x00085824 beqz v0, 0x85858                  |         goto label_6;
                                                 |     }
                                                 | label_0:
    0x00085828 move v0, zero                     |     v0 = 0;
                                                 |     do {
                                                 | label_1:
    0x0008582c lw a0, 0x34(sp)                   |         a0 = *(var_34h);
    0x00085830 lw v1, (s3)                       |         v1 = *(s3);
    0x00085834 lw ra, 0x4c(sp)                   |         ra = *(var_4ch);
                                                 |         if (a0 != v1) {
    0x00085838 bne a0, v1, 0x859a0               |             goto label_7;
                                                 |         }
    0x0008583c lw s4, 0x48(sp)                   |         s4 = *(var_48h);
    0x00085840 lw s3, 0x44(sp)                   |         s3 = *(var_44h);
    0x00085844 lw s2, 0x40(sp)                   |         s2 = *(var_40h);
    0x00085848 lw s1, 0x3c(sp)                   |         s1 = *(var_3ch);
    0x0008584c lw s0, 0x38(sp)                   |         s0 = *(var_38h);
    0x00085850 addiu sp, sp, 0x50                |         
    0x00085854 jr ra                             |         return v0;
                                                 | label_6:
    0x00085858 lw v0, 0xc(s2)                    |         v0 = *((s2 + 3));
    0x0008585c lw t9, -0x74c0(gp)                |         t9 = sym.type_system_get_type
                                                 |         if (v0 == 0) {
    0x00085860 beqz v0, 0x85974                  |             goto label_8;
                                                 |         }
    0x00085864 lhu a2, 4(v0)                     |         a2 = *((v0 + 2));
    0x00085868 addiu a1, sp, 0x2c                |         a1 = sp + 0x2c;
    0x0008586c move a0, s4                       |         a0 = s4;
    0x00085870 bal 0x870d0                       |         sym_type_system_get_type ()
    0x00085874 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x00085878 bltz v0, 0x8582c                  |         
                                                 |     } while (v0 < 0);
    0x0008587c lw t9, -0x74bc(gp)                |     t9 = sym.type_get_type;
    0x00085880 lw a0, 0x2c(sp)                   |     a0 = *(var_2ch);
    0x00085884 bal 0x86f24                       |     sym_type_get_type ();
    0x00085888 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x0008588c lw a0, 0x2c(sp)                   |     a0 = *(var_2ch);
    0x00085890 lw t9, -0x74b8(gp)                |     t9 = sym.type_get_size;
    0x00085894 move s0, v0                       |     s0 = v0;
    0x00085898 bal 0x86f70                       |     sym_type_get_size ();
    0x0008589c addiu v1, zero, 0xa               |     v1 = 0xa;
    0x000858a0 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     if (s0 != v1) {
    0x000858a4 bne s0, v1, 0x85828               |         goto label_0;
                                                 |     }
    0x000858a8 lw t9, -0x74ac(gp)                |     t9 = sym.type_get_type_system
    0x000858ac lw a0, 0x2c(sp)                   |     a0 = *(var_2ch);
    0x000858b0 sw v0, 0x24(sp)                   |     *(var_24h_2) = v0;
    0x000858b4 addiu a1, sp, 0x30                |     a1 = sp + 0x30;
    0x000858b8 bal 0x86fbc                       |     sym_type_get_type_system ()
    0x000858bc lw a3, 0xc(s2)                    |     a3 = *((s2 + 3));
    0x000858c0 lw a0, 0x30(sp)                   |     a0 = *(var_30h);
    0x000858c4 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x000858c8 lw v1, 0x210(s2)                  |     v1 = *(s2);
    0x000858cc lw v0, 0x24(sp)                   |     v0 = *(var_24h_2);
    0x000858d0 sw a0, 0x10(s2)                   |     *((s2 + 4)) = a0;
    0x000858d4 lw a2, (a3)                       |     a2 = *(a3);
    0x000858d8 addiu a1, zero, -4                |     a1 = -4;
    0x000858dc addiu a0, v0, 3                   |     a0 = v0 + 3;
    0x000858e0 addiu v1, v1, 1                   |     v1++;
    0x000858e4 addiu v0, v0, 0x13                |     v0 += 0x13;
    0x000858e8 sll v1, v1, 4                     |     v1 <<= 4;
    0x000858ec lw t9, -0x7594(gp)                |     t9 = *(gp);
    0x000858f0 and a0, a0, a1                    |     a0 &= a1;
    0x000858f4 and v0, v0, a1                    |     v0 &= a1;
    0x000858f8 subu v0, a2, v0                   |     __asm ("subu v0, a2, v0");
    0x000858fc addu a1, s2, v1                   |     a1 = s2 + v1;
    0x00085900 addiu a0, a0, 0x10                |     a0 += 0x10;
    0x00085904 addu a3, a3, a0                   |     a3 += a0;
    0x00085908 addiu a2, a1, 0xc                 |     a2 = a1 + 0xc;
    0x0008590c sw v0, 0x10(sp)                   |     *(var_10h_2) = v0;
    0x00085910 addiu a1, a1, 8                   |     a1 += 8;
                                                 |     /* fcn.00084ac0 */
    0x00085914 addiu t9, t9, 0x4ac0              |     t9 += 0x4ac0;
    0x00085918 addiu a0, s2, 0xc                 |     a0 = s2 + 0xc;
    0x0008591c bal 0x84ac0                       |     fcn_00084ac0 ();
    0x00085920 sra v1, v0, 0x1f                  |     v1 = v0 >> 0x1f;
    0x00085924 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x00085928 and v0, v1, v0                    |     v0 = v1 & v0;
    0x0008592c b 0x8582c                         |     goto label_1;
                                                 | label_4:
    0x00085930 lw t9, -0x75d4(gp)                |     t9 = sym.rtnl_message_seal;
    0x00085934 bal 0x856e8                       |     sym_rtnl_message_seal ();
    0x00085938 nop                               |     
    0x0008593c lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x00085940 b 0x857d0                         |     goto label_2;
                                                 | label_3:
    0x00085944 lw a2, -0x7fd8(gp)                |     a2 = *(gp);
    0x00085948 lw a1, -0x7fcc(gp)                |     a1 = *(gp);
    0x0008594c lw t9, -0x7d8c(gp)                |     t9 = sym.log_assert_failed_return_realm;
                                                 |     /* str.sd_netlink_message_rewind */
    0x00085950 addiu v0, v0, -0x4214             |     v0 += -0x4214;
    0x00085954 sw v0, 0x10(sp)                   |     *(var_10h_2) = v0;
    0x00085958 addiu a3, zero, 0x3ef             |     a3 = 0x3ef;
                                                 |     /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
    0x0008595c addiu a2, a2, -0x434d             |     a2 += -0x434d;
    0x00085960 addiu a1, a1, 0xaa4               |     a1 += aav.0x00000aa4;
    0x00085964 bal 0x9a67c                       |     sym_log_assert_failed_return_realm ();
    0x00085968 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x0008596c addiu v0, zero, -0x16             |     v0 = -0x16;
    0x00085970 b 0x8582c                         |     goto label_1;
                                                 | label_8:
    0x00085974 lw v0, -0x7fd8(gp)                |     v0 = *(gp);
    0x00085978 lw a2, -0x7fd8(gp)                |     a2 = *(gp);
    0x0008597c lw a1, -0x7fd8(gp)                |     a1 = *(gp);
                                                 |     /* str.sd_netlink_message_rewind */
    0x00085980 addiu v0, v0, -0x4214             |     v0 += -0x4214;
    0x00085984 lw t9, -0x7f88(gp)                |     t9 = sym.log_assert_failed_realm;
    0x00085988 sw v0, 0x10(sp)                   |     *(var_10h_2) = v0;
    0x0008598c addiu a3, zero, 0x400             |     a3 = aav.0x00000400;
                                                 |     /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
    0x00085990 addiu a2, a2, -0x434d             |     a2 += -0x434d;
                                                 |     /* str.m__hdr */
    0x00085994 addiu a1, a1, -0x7434             |     a1 += -0x7434;
    0x00085998 move a0, zero                     |     a0 = 0;
    0x0008599c bal 0x991c4                       |     sym_log_assert_failed_realm ();
                                                 | label_7:
    0x000859a0 lw t9, -0x6e2c(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x000859a4 jalr t9                           |     t9 ();
    0x000859a8 nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x86794 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.socket_read_message ()       | void socket_read_message () {
    0x00086794 lui gp, 8                     |     
    0x00086798 addiu gp, gp, -0x7514         |     
    0x0008679c addu gp, gp, t9               |     gp += t9;
    0x000867a0 addiu sp, sp, -0x80           |     
    0x000867a4 sw s3, 0x64(sp)               |     *(var_64h) = s3;
    0x000867a8 lw s3, -0x6de8(gp)            |     s3 = *((gp - 7034));
    0x000867ac sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x000867b0 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x000867b4 sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x000867b8 sw s7, 0x74(sp)               |     *(var_74h) = s7;
    0x000867bc sw s6, 0x70(sp)               |     *(var_70h) = s6;
    0x000867c0 sw s5, 0x6c(sp)               |     *(var_6ch) = s5;
    0x000867c4 sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x000867c8 sw s2, 0x60(sp)               |     *(var_60h) = s2;
    0x000867cc sw s1, 0x5c(sp)               |     *(var_5ch) = s1;
    0x000867d0 sw s0, 0x58(sp)               |     *(var_58h) = s0;
    0x000867d4 lw v0, (s3)                   |     v0 = *(s3);
    0x000867d8 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x000867dc sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x000867e0 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x000867e4 sw zero, 0x40(sp)             |     *(var_40h) = 0;
                                             |     if (a0 == 0) {
    0x000867e8 beqz a0, 0x86b7c              |         goto label_12;
                                             |     }
    0x000867ec lw v0, 0x3c(a0)               |     v0 = *((a0 + 15));
    0x000867f0 move s0, a0                   |     s0 = a0;
                                             |     if (v0 == 0) {
    0x000867f4 beqz v0, 0x86ba4              |         goto label_13;
                                             |     }
    0x000867f8 lw v0, 0x40(a0)               |     v0 = *((arg_4h + 1));
    0x000867fc sltiu v0, v0, 0x10            |     v0 = (v0 < 0x10) ? 1 : 0;
    0x00086800 lw t9, -0x74b4(gp)            |     t9 = sym.type_system_get_root
                                             |     if (v0 != 0) {
    0x00086804 bnez v0, 0x86bd0              |         goto label_14;
                                             |     }
    0x00086808 lw a0, 0x18(a0)               |     a0 = *((a0 + 6));
    0x0008680c addiu s2, sp, 0x4c            |     s2 = sp + 0x4c;
    0x00086810 bal 0x870b0                   |     sym_type_system_get_root ()
    0x00086814 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086818 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x0008681c move a2, zero                 |     a2 = 0;
    0x00086820 lw s1, -0x7594(gp)            |     s1 = *(gp);
    0x00086824 addiu a3, zero, 1             |     a3 = 1;
                                             |     /* fcn.00085d3c */
    0x00086828 addiu s1, s1, 0x5d3c          |     s1 += 0x5d3c;
    0x0008682c move a1, s2                   |     a1 = s2;
    0x00086830 move t9, s1                   |     t9 = s1;
    0x00086834 move s4, v0                   |     s4 = v0;
    0x00086838 bal 0x85d3c                   |     fcn_00085d3c ();
    0x0008683c move a2, v0                   |     a2 = v0;
    0x00086840 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 > 0) {
    0x00086844 blez v0, 0x86980              |         
    0x00086848 lw t9, -0x7948(gp)            |         t9 = sym.greedy_realloc;
    0x0008684c addiu a3, zero, 1             |         a3 = 1;
    0x00086850 addiu a1, s0, 0x40            |         a1 = s0 + 0x40;
    0x00086854 addiu a0, s0, 0x3c            |         a0 = s0 + 0x3c;
    0x00086858 bal 0x88a50                   |         sym_greedy_realloc ();
    0x0008685c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00086860 beqz v0, 0x86ebc              |             goto label_15;
                                             |         }
    0x00086864 lw v0, 0x40(s0)               |         v0 = *((s0 + 16));
    0x00086868 lw v1, 0x3c(s0)               |         v1 = *((s0 + 15));
    0x0008686c lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x00086870 addiu a2, sp, 0x40            |         a2 = sp + 0x40;
    0x00086874 move a3, zero                 |         a3 = 0;
    0x00086878 move a1, s2                   |         a1 = s2;
    0x0008687c sw v1, 0x4c(sp)               |         *(var_4ch) = v1;
    0x00086880 move t9, s1                   |         t9 = s1;
    0x00086884 sw v0, 0x50(sp)               |         *(var_50h) = v0;
    0x00086888 bal 0x85d3c                   |         fcn_00085d3c ();
    0x0008688c move a2, v0                   |         a2 = v0;
    0x00086890 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 <= 0) {
    0x00086894 blez v0, 0x86980              |             goto label_2;
                                             |         }
    0x00086898 lw v0, 0x40(s0)               |         v0 = *((s0 + 16));
    0x0008689c sltu v0, v0, a2               |         v0 = (v0 < a2) ? 1 : 0;
    0x000868a0 move s7, a2                   |         s7 = a2;
                                             |         if (v0 != 0) {
    0x000868a4 bnez v0, 0x86ec4              |             goto label_16;
                                             |         }
    0x000868a8 sltiu v0, a2, 0x10            |         v0 = (a2 < 0x10) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x000868ac beql v0, zero, 0x869c0        |             goto label_17;
                                             |         }
    0x000868b0 lw fp, 0x3c(s0)               |         fp = *((s0 + 15));
    0x000868b4 lw t9, -0x7f98(gp)            |         t9 = sym.log_get_max_level_realm;
    0x000868b8 move a0, zero                 |         a0 = 0;
    0x000868bc bal 0x9b018                   |         sym_log_get_max_level_realm ();
    0x000868c0 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x000868c4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x000868c8 bnez v0, 0x86c20              |             goto label_18;
                                             |         }
    0x000868cc move s1, zero                 |         s1 = 0;
    0x000868d0 sw zero, 0x2c(sp)             |         *(var_2ch) = 0;
    0x000868d4 sw zero, 0x28(sp)             |         *(var_28h) = 0;
    0x000868d8 move s2, zero                 |         s2 = 0;
    0x000868dc lw v0, -0x7fd8(gp)            |         v0 = *(gp);
                                             | label_1:
    0x000868e0 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
                                             |         /* str.sd_netlink:_discarding__zu_bytes_of_incoming_message */
    0x000868e4 addiu v0, v0, -0x3ef0         |         v0 += -0x3ef0;
    0x000868e8 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x000868ec lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x000868f0 lw t9, -0x7f68(gp)            |         t9 = sym.log_internal_realm;
                                             |         /* esilref: 'socket_read_message' */
    0x000868f4 addiu v0, v0, -0x3e90         |         v0 += -0x3e90;
    0x000868f8 sw s7, 0x18(sp)               |         *(var_18h) = s7;
    0x000868fc sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00086900 addiu a3, zero, 0x1a5         |         a3 = 0x1a5;
                                             |         /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
    0x00086904 addiu a2, a2, -0x4055         |         a2 += -0x4055;
    0x00086908 move a1, zero                 |         a1 = 0;
    0x0008690c addiu a0, zero, 7             |         a0 = 7;
    0x00086910 bal 0x9a158                   |         sym_log_internal_realm ();
    0x00086914 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_0:
    0x00086918 move a2, zero                 |         a2 = 0;
                                             |         if (s2 == 0) {
    0x0008691c beqz s2, 0x86980              |             goto label_2;
                                             |         }
    0x00086920 lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x00086924 lw t9, -0x749c(gp)            |         t9 = sym.rtnl_rqueue_make_room;
                                             |         if (v0 == 0) {
    0x00086928 beqz v0, 0x86b4c              |             goto label_19;
                                             |         }
                                             |         if (s1 == 0) {
    0x0008692c beql s1, zero, 0x86bfc        |             goto label_20;
                                             |         }
    0x00086930 lw v0, 0x34(s0)               |         v0 = *((s0 + 13));
    0x00086934 lw t9, -0x749c(gp)            |         t9 = sym.rtnl_rqueue_make_room;
    0x00086938 move a0, s0                   |         a0 = s0;
    0x0008693c bal 0x6fa88                   |         sym_rtnl_rqueue_make_room ();
    0x00086940 move a2, v0                   |         a2 = v0;
    0x00086944 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 < 0) {
    0x00086948 bltz v0, 0x86b60              |             goto label_21;
                                             |         }
    0x0008694c lw v0, 0x28(s0)               |         v0 = *((s0 + 10));
    0x00086950 lw v1, 0x24(s0)               |         v1 = *((s0 + 9));
    0x00086954 sll a0, v0, 2                 |         a0 = v0 << 2;
    0x00086958 addu v1, v1, a0               |         v1 += a0;
    0x0008695c addiu v0, v0, 1               |         v0++;
    0x00086960 sw v0, 0x28(s0)               |         *((s0 + 10)) = v0;
    0x00086964 sw s2, (v1)                   |         *(v1) = s2;
    0x00086968 lw v0, 0x34(s0)               |         v0 = *((s0 + 13));
    0x0008696c lw v1, 0x28(sp)               |         v1 = *(var_28h);
    0x00086970 sltu v1, v1, v0               |         v1 = (v1 < v0) ? 1 : 0;
    0x00086974 lw a1, 0x28(sp)               |         a1 = *(var_28h);
                                             |         if (v1 != 0) {
    0x00086978 bnez v1, 0x86e4c              |             goto label_22;
                                             |         }
    0x0008697c addiu a2, zero, 1             |         a2 = 1;
                                             |     }
                                             | label_2:
    0x00086980 lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x00086984 lw v1, (s3)                   |     v1 = *(s3);
    0x00086988 move v0, a2                   |     v0 = a2;
                                             |     if (a0 != v1) {
    0x0008698c bne a0, v1, 0x86edc           |         goto label_23;
                                             |     }
    0x00086990 lw ra, 0x7c(sp)               |     ra = *(var_7ch);
    0x00086994 lw fp, 0x78(sp)               |     fp = *(var_78h);
    0x00086998 lw s7, 0x74(sp)               |     s7 = *(var_74h);
    0x0008699c lw s6, 0x70(sp)               |     s6 = *(var_70h);
    0x000869a0 lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
    0x000869a4 lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x000869a8 lw s3, 0x64(sp)               |     s3 = *(var_64h);
    0x000869ac lw s2, 0x60(sp)               |     s2 = *(var_60h);
    0x000869b0 lw s1, 0x5c(sp)               |     s1 = *(var_5ch);
    0x000869b4 lw s0, 0x58(sp)               |     s0 = *(var_58h);
    0x000869b8 addiu sp, sp, 0x80            |     
    0x000869bc jr ra                         |     return v0;
                                             | label_17:
    0x000869c0 lw v0, (fp)                   |     v0 = *(fp);
    0x000869c4 sltiu a0, v0, 0x10            |     a0 = (v0 < 0x10) ? 1 : 0;
    0x000869c8 sw zero, 0x28(sp)             |     *(var_28h) = 0;
                                             |     if (a0 == 0) {
    0x000869cc bnel a0, zero, 0x86b20        |         goto label_24;
                                             |     }
    0x000869d0 sltu v0, a2, v0               |     v0 = (a2 < v0) ? 1 : 0;
    0x000869d4 sw zero, 0x28(sp)             |     *(var_28h) = 0;
                                             |     if (v0 == 0) {
    0x000869d8 bnel v0, zero, 0x86b20        |         goto label_24;
                                             |     }
    0x000869dc lhu v0, 6(fp)                 |     v0 = *(arg_6h);
    0x000869e0 andi v0, v0, 2                |     v0 &= 2;
                                             |     if (v0 == 0) {
    0x000869e4 beql v0, zero, 0x86e24        |         goto label_25;
                                             |     }
    0x000869e8 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x000869ec lw v0, 0x34(s0)               |     v0 = *((s0 + 13));
    0x000869f0 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 == 0) {
    0x000869f4 beqz v0, 0x86ecc              |         goto label_26;
                                             |     }
    0x000869f8 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x000869fc b 0x86a18                     |     
                                             |     while (v0 != a0) {
    0x00086a00 lw v1, 0x28(sp)               |         v1 = *(var_28h);
    0x00086a04 lw v0, 0x34(s0)               |         v0 = *((s0 + 13));
    0x00086a08 addiu v1, v1, 1               |         v1++;
    0x00086a0c sltu v0, v1, v0               |         v0 = (v1 < v0) ? 1 : 0;
    0x00086a10 sw v1, 0x28(sp)               |         *(var_28h) = v1;
                                             |         if (v0 == 0) {
    0x00086a14 beqz v0, 0x86eb0              |             goto label_27;
                                             |         }
    0x00086a18 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x00086a1c lw a0, 0x30(s0)               |         a0 = *((s0 + 12));
    0x00086a20 sll s1, v0, 2                 |         s1 = v0 << 2;
    0x00086a24 lw t9, -0x75cc(gp)            |         t9 = sym.rtnl_message_get_serial;
    0x00086a28 lwx a0, s1(a0)                |         __asm ("lwx a0, s1(a0)");
    0x00086a2c sw a2, 0x2c(sp)               |         *(var_2ch) = a2;
    0x00086a30 bal 0x85504                   |         sym_rtnl_message_get_serial ();
    0x00086a34 lw fp, 0x3c(s0)               |         fp = *((s0 + 15));
    0x00086a38 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00086a3c lw a0, 8(fp)                  |         a0 = *(arg_8h);
    0x00086a40 lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
    0x00086a44 bne v0, a0, 0x86a00           |         
                                             |     }
    0x00086a48 lw s2, 0x30(s0)               |     s2 = *((s0 + 12));
    0x00086a4c lw v0, (fp)                   |     v0 = *(fp);
    0x00086a50 lwx s2, s1(s2)                |     __asm ("lwx s2, s1(s2)");
                                             | label_10:
    0x00086a54 sltiu a0, v0, 0x10            |     a0 = (v0 < 0x10) ? 1 : 0;
    0x00086a58 sltu a2, a2, v0               |     a2 = (a2 < v0) ? 1 : 0;
                                             |     if (a0 != 0) {
    0x00086a5c bnez a0, 0x86ef0              |         goto label_28;
                                             |     }
    0x00086a60 addiu v0, zero, 1             |     v0 = 1;
    0x00086a64 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
                                             |     if (a2 != 0) {
    0x00086a68 bnez a2, 0x86ee8              |         goto label_29;
                                             |     }
                                             | label_7:
    0x00086a6c lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x00086a70 lw s6, -0x7fd8(gp)            |     s6 = *(gp);
    0x00086a74 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00086a78 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x00086a7c addiu s5, sp, 0x48            |     s5 = sp + 0x48;
                                             |     /* str.sd_netlink:_message_is_shorter_than_expected__dropping */
    0x00086a80 addiu v0, v0, -0x3f28         |     v0 += -0x3f28;
    0x00086a84 sw v0, 0x38(sp)               |     *(var_38h) = v0;
                                             |     /* esilref: 'socket_read_message' */
    0x00086a88 addiu v0, s6, -0x3e90         |     v0 = s6 + -0x3e90;
    0x00086a8c sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00086a90 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
                                             |     /* str.sd_netlink:_ignored_message_with_unknown_type:__i */
    0x00086a94 addiu v0, v0, -0x3f5c         |     v0 += -0x3f5c;
    0x00086a98 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00086a9c lw v0, 0x40(sp)               |     v0 = *(var_40h);
                                             |     do {
    0x00086aa0 sw zero, 0x44(sp)             |         *(var_44h) = 0;
                                             |         if (v0 == 0) {
    0x00086aa4 bnez v0, 0x86ab8              |             
    0x00086aa8 lw a0, 0xc(fp)                |             a0 = *(arg_ch);
    0x00086aac lw v0, 0xc(s0)                |             v0 = *((s0 + 3));
    0x00086ab0 move s1, zero                 |             s1 = 0;
                                             |             if (a0 != v0) {
    0x00086ab4 bne a0, v0, 0x86ad8           |                 goto label_3;
                                             |             }
                                             |         }
    0x00086ab8 lhu a2, 4(fp)                 |         a2 = *(arg_4h);
    0x00086abc addiu v0, zero, 1             |         v0 = 1;
    0x00086ac0 addiu v0, zero, 3             |         v0 = 3;
                                             |         if (a2 == v0) {
    0x00086ac4 beq a2, v0, 0x86c88           |             goto label_30;
                                             |         }
    0x00086ac8 move s1, zero                 |         s1 = 0;
                                             |         if (a2 == v0) {
    0x00086acc bnel a2, v0, 0x86c90          |             goto label_31;
                                             |         }
    0x00086ad0 addiu s1, zero, 1             |         s1 = 1;
                                             |         if (s2 == 0) {
    0x00086ad4 beqz s2, 0x86c90              |             goto label_31;
                                             |         }
                                             | label_3:
    0x00086ad8 lw v0, (fp)                   |         v0 = *(fp);
    0x00086adc addiu a0, zero, -4            |         a0 = -4;
    0x00086ae0 addiu v0, v0, 3               |         v0 += 3;
    0x00086ae4 and v0, v0, a0                |         v0 &= a0;
    0x00086ae8 subu s7, s7, v0               |         __asm ("subu s7, s7, v0");
    0x00086aec sltiu a0, s7, 0x10            |         a0 = (s7 < 0x10) ? 1 : 0;
    0x00086af0 addu fp, fp, v0               |         fp += v0;
                                             |         if (a0 != 0) {
    0x00086af4 bnez a0, 0x86e14              |             goto label_32;
                                             |         }
    0x00086af8 lw v0, (fp)                   |         v0 = *(fp);
    0x00086afc sltiu a0, v0, 0x10            |         a0 = (v0 < 0x10) ? 1 : 0;
    0x00086b00 sltu v0, s7, v0               |         v0 = (s7 < v0) ? 1 : 0;
                                             |         if (a0 != 0) {
    0x00086b04 bnez a0, 0x86b2c              |             goto label_11;
                                             |         }
    0x00086b08 lw t9, -0x7f98(gp)            |         t9 = sym.log_get_max_level_realm;
                                             |         if (v0 != 0) {
    0x00086b0c bnez v0, 0x86b30              |             goto label_6;
                                             |         }
    0x00086b10 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x00086b14 beqz s1, 0x86aa0              |         
                                             |     } while (s1 == 0);
    0x00086b18 b 0x86b30                     |     goto label_6;
    0x00086b1c nop                           |     
                                             | label_24:
    0x00086b20 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00086b24 move s2, zero                 |     s2 = 0;
    0x00086b28 move s1, zero                 |     s1 = 0;
                                             | label_11:
    0x00086b2c lw t9, -0x7f98(gp)            |     t9 = sym.log_get_max_level_realm;
                                             | label_6:
    0x00086b30 move a0, zero                 |     a0 = 0;
    0x00086b34 bal 0x9b018                   |     sym_log_get_max_level_realm ();
    0x00086b38 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00086b3c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00086b40 bnez v0, 0x86918              |         goto label_0;
                                             |     }
    0x00086b44 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x00086b48 b 0x868e0                     |     goto label_1;
                                             | label_19:
    0x00086b4c move a0, s0                   |     a0 = s0;
    0x00086b50 bal 0x6fa88                   |     sym_rtnl_rqueue_make_room ();
    0x00086b54 move a2, v0                   |     a2 = v0;
    0x00086b58 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086b5c bgez v0, 0x86c28              |     
                                             |     while (v0 < 0) {
                                             | label_21:
    0x00086b60 lw t9, -0x75f8(gp)            |         t9 = sym.sd_netlink_message_unref;
    0x00086b64 sw a2, 0x28(sp)               |         *(var_28h) = a2;
                                             | label_8:
    0x00086b68 move a0, s2                   |         a0 = s2;
    0x00086b6c bal 0x84db0                   |         sym_sd_netlink_message_unref ();
    0x00086b70 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00086b74 lw a2, 0x28(sp)               |         a2 = *(var_28h);
    0x00086b78 b 0x86980                     |         goto label_2;
                                             | label_12:
    0x00086b7c lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x00086b80 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00086b84 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         /* str.socket_read_message */
    0x00086b88 addiu v0, v0, -0x3e7c         |         v0 += -0x3e7c;
    0x00086b8c lw t9, -0x7f88(gp)            |         t9 = sym.log_assert_failed_realm;
    0x00086b90 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00086b94 addiu a3, zero, 0x13e         |         a3 = 0x13e;
                                             |         /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
    0x00086b98 addiu a2, a2, -0x4055         |         a2 += -0x4055;
                                             |         /* str.rtnl */
    0x00086b9c addiu a1, a1, -0x74d8         |         a1 += -0x74d8;
    0x00086ba0 bal 0x991c4                   |         sym_log_assert_failed_realm ();
                                             | label_13:
    0x00086ba4 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x00086ba8 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00086bac lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         /* str.socket_read_message */
    0x00086bb0 addiu v0, v0, -0x3e7c         |         v0 += -0x3e7c;
    0x00086bb4 lw t9, -0x7f88(gp)            |         t9 = sym.log_assert_failed_realm;
    0x00086bb8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00086bbc addiu a3, zero, 0x13f         |         a3 = 0x13f;
                                             |         /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
    0x00086bc0 addiu a2, a2, -0x4055         |         a2 += -0x4055;
                                             |         /* str.rtnl__rbuffer */
    0x00086bc4 addiu a1, a1, -0x3fa0         |         a1 += -0x3fa0;
    0x00086bc8 move a0, zero                 |         a0 = 0;
    0x00086bcc bal 0x991c4                   |         sym_log_assert_failed_realm ();
                                             | label_14:
    0x00086bd0 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x00086bd4 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00086bd8 lw a1, -0x7fd8(gp)            |         a1 = *(gp);
                                             |         /* str.socket_read_message */
    0x00086bdc addiu v0, v0, -0x3e7c         |         v0 += -0x3e7c;
    0x00086be0 lw t9, -0x7f88(gp)            |         t9 = sym.log_assert_failed_realm;
    0x00086be4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00086be8 addiu a3, zero, 0x140         |         a3 = aav.0x00000140;
                                             |         /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
    0x00086bec addiu a2, a2, -0x4055         |         a2 += -0x4055;
                                             |         /* str.rtnl__rbuffer_allocated___sizeof_struct_nlmsghdr_ */
    0x00086bf0 addiu a1, a1, -0x3f90         |         a1 += -0x3f90;
    0x00086bf4 move a0, zero                 |         a0 = 0;
    0x00086bf8 bal 0x991c4                   |         sym_log_assert_failed_realm ();
                                             | label_20:
    0x00086bfc lw v1, 0x28(sp)               |         v1 = *(var_28h);
    0x00086c00 sltu v0, v1, v0               |         v0 = (v1 < v0) ? 1 : 0;
    0x00086c04 sll s5, v1, 2                 |         s5 = v1 << 2;
                                             |         if (v0 != 0) {
    0x00086c08 beqz v0, 0x86c4c              |             
    0x00086c0c lw v0, 0x30(s0)               |             v0 = *((s0 + 12));
    0x00086c10 addu v0, v0, s5               |             v0 += s5;
    0x00086c14 move a2, zero                 |             a2 = 0;
    0x00086c18 sw s2, (v0)                   |             *(v0) = s2;
    0x00086c1c b 0x86980                     |             goto label_2;
                                             | label_18:
    0x00086c20 move a2, zero                 |             a2 = 0;
    0x00086c24 b 0x86980                     |             goto label_2;
    0x00086c28 lw v0, 0x28(s0)               |             v0 = *((s0 + 10));
    0x00086c2c lw v1, 0x24(s0)               |             v1 = *((s0 + 9));
    0x00086c30 sll a0, v0, 2                 |             a0 = v0 << 2;
    0x00086c34 addu v1, v1, a0               |             v1 += a0;
    0x00086c38 addiu v0, v0, 1               |             v0++;
    0x00086c3c sw v0, 0x28(s0)               |             *((s0 + 10)) = v0;
    0x00086c40 addiu a2, zero, 1             |             a2 = 1;
    0x00086c44 sw s2, (v1)                   |             *(v1) = s2;
    0x00086c48 b 0x86980                     |             goto label_2;
                                             |         }
    0x00086c4c lw t9, -0x7498(gp)            |         t9 = sym.rtnl_rqueue_partial_make_room;
    0x00086c50 move a0, s0                   |         a0 = s0;
    0x00086c54 bal 0x6fb8c                   |         sym_rtnl_rqueue_partial_make_room ();
    0x00086c58 move a2, v0                   |         a2 = v0;
    0x00086c5c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00086c60 bltz v0, 0x86b60              |         
                                             |     }
    0x00086c64 lw v0, 0x34(s0)               |     v0 = *((s0 + 13));
    0x00086c68 lw v1, 0x30(s0)               |     v1 = *((s0 + 12));
    0x00086c6c sll a0, v0, 2                 |     a0 = v0 << 2;
    0x00086c70 addu v1, v1, a0               |     v1 += a0;
    0x00086c74 addiu v0, v0, 1               |     v0++;
    0x00086c78 sw v0, 0x34(s0)               |     *((s0 + 13)) = v0;
    0x00086c7c move a2, zero                 |     a2 = 0;
    0x00086c80 sw s2, (v1)                   |     *(v1) = s2;
    0x00086c84 b 0x86980                     |     goto label_2;
                                             | label_30:
    0x00086c88 move s1, zero                 |     s1 = 0;
    0x00086c8c b 0x86ad8                     |     goto label_3;
                                             | label_31:
    0x00086c90 lw t9, -0x74c0(gp)            |     t9 = sym.type_system_get_type
    0x00086c94 move a1, s5                   |     a1 = s5;
    0x00086c98 move a0, s4                   |     a0 = s4;
    0x00086c9c bal 0x870d0                   |     sym_type_system_get_type ()
    0x00086ca0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00086ca4 bltz v0, 0x86cfc              |         goto label_33;
                                             |     }
    0x00086ca8 lw t9, -0x74b8(gp)            |     t9 = sym.type_get_size;
    0x00086cac lw a0, 0x48(sp)               |     a0 = *(var_48h);
    0x00086cb0 lw s6, (fp)                   |     s6 = *(fp);
    0x00086cb4 bal 0x86f70                   |     sym_type_get_size ();
    0x00086cb8 addiu v0, v0, 0x10            |     v0 += 0x10;
    0x00086cbc sltu a1, s6, v0               |     a1 = (s6 < v0) ? 1 : 0;
    0x00086cc0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a1 == 0) {
    0x00086cc4 beqz a1, 0x86d5c              |         goto label_34;
                                             |     }
    0x00086cc8 lw t9, -0x7f98(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00086ccc move a0, zero                 |     a0 = 0;
    0x00086cd0 bal 0x9b018                   |     sym_log_get_max_level_realm ();
    0x00086cd4 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00086cd8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00086cdc beqz v0, 0x86de0              |         goto label_35;
                                             |     }
                                             | label_5:
    0x00086ce0 lw a0, 0x44(sp)               |     a0 = *(var_44h);
                                             | label_4:
    0x00086ce4 lw t9, -0x75f8(gp)            |     t9 = sym.sd_netlink_message_unref;
                                             |     if (a0 == 0) {
    0x00086ce8 beqz a0, 0x86ad8              |         goto label_3;
                                             |     }
    0x00086cec bal 0x84db0                   |     sym_sd_netlink_message_unref ();
    0x00086cf0 nop                           |     
    0x00086cf4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086cf8 b 0x86ad8                     |     goto label_3;
                                             | label_33:
    0x00086cfc addiu a0, zero, -0x7a         |     a0 = -0x7a;
    0x00086d00 lw a0, 0x44(sp)               |     a0 = *(var_44h);
                                             |     if (v0 != a0) {
    0x00086d04 bne v0, a0, 0x86ce4           |         goto label_4;
                                             |     }
    0x00086d08 lw t9, -0x7f98(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00086d0c move a0, zero                 |     a0 = 0;
    0x00086d10 bal 0x9b018                   |     sym_log_get_max_level_realm ();
    0x00086d14 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00086d18 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00086d1c bnez v0, 0x86ce0              |         goto label_5;
                                             |     }
    0x00086d20 lhu v0, 4(fp)                 |     v0 = *(arg_4h);
    0x00086d24 lw t9, -0x7f68(gp)            |     t9 = sym.log_internal_realm;
    0x00086d28 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00086d2c lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x00086d30 addiu a3, zero, 0x184         |     a3 = aav.0x00000184;
    0x00086d34 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00086d38 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00086d3c move a1, zero                 |     a1 = 0;
    0x00086d40 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00086d44 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00086d48 addiu a0, zero, 7             |     a0 = 7;
    0x00086d4c addiu a2, v0, -0x4055         |     a2 = v0 + -0x4055;
    0x00086d50 bal 0x9a158                   |     sym_log_internal_realm ();
    0x00086d54 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086d58 b 0x86ce0                     |     goto label_5;
                                             | label_34:
    0x00086d5c lw t9, -0x74b0(gp)            |     t9 = sym.message_new_empty;
    0x00086d60 addiu a1, sp, 0x44            |     a1 = sp + 0x44;
    0x00086d64 move a0, s0                   |     a0 = s0;
    0x00086d68 bal 0x84cfc                   |     sym_message_new_empty ();
    0x00086d6c move a2, v0                   |     a2 = v0;
    0x00086d70 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00086d74 bltz v0, 0x86e30              |         goto label_36;
                                             |     }
    0x00086d78 lw s6, 0x44(sp)               |     s6 = *(var_44h);
    0x00086d7c lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x00086d80 lw t9, -0x793c(gp)            |     t9 = sym.memdup;
    0x00086d84 lbu a0, 0x214(s6)             |     a0 = *(s6);
    0x00086d88 sltu v0, zero, v0             |     v0 = (0 < v0) ? 1 : 0;
    0x00086d8c ins a0, v0, 1, 1              |     __asm ("ins a0, v0, 1, 1");
    0x00086d90 sb a0, 0x214(s6)              |     *(s6) = a0;
    0x00086d94 lw a1, (fp)                   |     a1 = *(fp);
    0x00086d98 move a0, fp                   |     a0 = fp;
    0x00086d9c bal 0x888ec                   |     sym_memdup ();
    0x00086da0 lw a0, 0x44(sp)               |     a0 = *(var_44h);
    0x00086da4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086da8 sw v0, 0xc(s6)                |     *((s6 + 3)) = v0;
    0x00086dac lw v0, 0xc(a0)                |     v0 = *((a0 + 3));
    0x00086db0 lw t9, -0x7494(gp)            |     t9 = sym.sd_netlink_message_rewind;
                                             |     if (v0 == 0) {
    0x00086db4 beqz v0, 0x86e94              |         goto label_37;
                                             |     }
    0x00086db8 bal 0x85780                   |     sym_sd_netlink_message_rewind ();
    0x00086dbc nop                           |     
    0x00086dc0 move a2, v0                   |     a2 = v0;
    0x00086dc4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00086dc8 bltz v0, 0x86e30              |         goto label_36;
                                             |     }
    0x00086dcc lw v0, 0x44(sp)               |     v0 = *(var_44h);
                                             |     if (s2 != 0) {
    0x00086dd0 beqz s2, 0x86dd8              |         
    0x00086dd4 sw s2, 0x218(v0)              |         *(v0) = s2;
                                             |     }
    0x00086dd8 move s2, v0                   |     s2 = v0;
    0x00086ddc b 0x86ad8                     |     goto label_3;
                                             | label_35:
    0x00086de0 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00086de4 lw t9, -0x7f68(gp)            |     t9 = sym.log_internal_realm;
    0x00086de8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00086dec lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00086df0 addiu a3, zero, 0x18b         |     a3 = 0x18b;
    0x00086df4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00086df8 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00086dfc move a1, zero                 |     a1 = 0;
    0x00086e00 addiu a2, v0, -0x4055         |     a2 = v0 + -0x4055;
    0x00086e04 addiu a0, zero, 7             |     a0 = 7;
    0x00086e08 bal 0x9a158                   |     sym_log_internal_realm ();
    0x00086e0c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086e10 b 0x86ce0                     |     goto label_5;
                                             | label_32:
    0x00086e14 lw t9, -0x7f98(gp)            |     t9 = sym.log_get_max_level_realm;
                                             |     if (s7 == 0) {
    0x00086e18 beqz s7, 0x86918              |         goto label_0;
                                             |     }
    0x00086e1c b 0x86b30                     |     goto label_6;
    0x00086e20 nop                           |     
                                             | label_25:
    0x00086e24 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00086e28 move s2, zero                 |     s2 = 0;
    0x00086e2c b 0x86a6c                     |     goto label_7;
                                             | label_36:
    0x00086e30 lw a0, 0x44(sp)               |     a0 = *(var_44h);
    0x00086e34 lw t9, -0x75f8(gp)            |     t9 = sym.sd_netlink_message_unref;
                                             |     if (a0 != 0) {
    0x00086e38 bnez a0, 0x86e9c              |         goto label_38;
                                             |     }
                                             | label_9:
    0x00086e3c lw t9, -0x75f8(gp)            |     t9 = sym.sd_netlink_message_unref;
                                             |     if (s2 == 0) {
    0x00086e40 beqz s2, 0x86980              |         goto label_2;
                                             |     }
    0x00086e44 sw a2, 0x28(sp)               |     *(var_28h) = a2;
    0x00086e48 b 0x86b68                     |     goto label_8;
                                             | label_22:
    0x00086e4c lui a2, 0x3fff                |     a2 = 0x3fffffff;
    0x00086e50 ori a2, a2, 0xffff            |     
    0x00086e54 lw a0, 0x30(s0)               |     a0 = *((s0 + 12));
    0x00086e58 sll v1, a1, 2                 |     v1 = a1 << 2;
    0x00086e5c addu v0, v0, a2               |     v0 += a2;
    0x00086e60 subu a2, v0, a1               |     __asm ("subu a2, v0, a1");
    0x00086e64 lw t9, -0x6dc0(gp)            |     t9 = sym.imp.memmove;
    0x00086e68 addiu a1, v1, 4               |     a1 = v1 + 4;
    0x00086e6c sll a2, a2, 2                 |     a2 <<= 2;
    0x00086e70 addu a1, a0, a1               |     a1 = a0 + a1;
    0x00086e74 addu a0, a0, v1               |     a0 += v1;
    0x00086e78 jalr t9                       |     t9 ();
    0x00086e7c lw v0, 0x34(s0)               |     v0 = *((s0 + 13));
    0x00086e80 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086e84 addiu v0, v0, -1              |     v0 += -1;
    0x00086e88 addiu a2, zero, 1             |     a2 = 1;
    0x00086e8c sw v0, 0x34(s0)               |     *((s0 + 13)) = v0;
    0x00086e90 b 0x86980                     |     goto label_2;
                                             | label_37:
    0x00086e94 addiu a2, zero, -0xc          |     a2 = -0xc;
    0x00086e98 lw t9, -0x75f8(gp)            |     t9 = sym.sd_netlink_message_unref;
                                             | label_38:
    0x00086e9c sw a2, 0x28(sp)               |     *(var_28h) = a2;
    0x00086ea0 bal 0x84db0                   |     sym_sd_netlink_message_unref ();
    0x00086ea4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00086ea8 lw a2, 0x28(sp)               |     a2 = *(var_28h);
    0x00086eac b 0x86e3c                     |     goto label_9;
                                             | label_27:
    0x00086eb0 lw v0, (fp)                   |     v0 = *(fp);
    0x00086eb4 move s2, zero                 |     s2 = 0;
    0x00086eb8 b 0x86a54                     |     goto label_10;
                                             | label_15:
    0x00086ebc addiu a2, zero, -0xc          |     a2 = -0xc;
    0x00086ec0 b 0x86980                     |     goto label_2;
                                             | label_16:
    0x00086ec4 addiu a2, zero, -5            |     a2 = -5;
    0x00086ec8 b 0x86980                     |     goto label_2;
                                             | label_26:
    0x00086ecc sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00086ed0 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00086ed4 move s2, zero                 |     s2 = 0;
    0x00086ed8 b 0x86a6c                     |     goto label_7;
                                             | label_23:
    0x00086edc lw t9, -0x6e2c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00086ee0 jalr t9                       |     t9 ();
    0x00086ee4 nop                           |     
                                             | label_29:
    0x00086ee8 move s1, zero                 |     s1 = 0;
    0x00086eec b 0x86b2c                     |     goto label_11;
                                             | label_28:
    0x00086ef0 addiu v0, zero, 1             |     v0 = 1;
    0x00086ef4 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00086ef8 move s1, zero                 |     s1 = 0;
    0x00086efc b 0x86b2c                     |     goto label_11;
                                             | }

[*] Function system used 26 times udevadm