[*] Binary protection state of udevadm

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


[*] Function fprintf tear down of udevadm

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x296fc */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000296fc ()              | void fcn_000296fc () {
    0x000296fc lui gp, 0xd               |     
    0x00029700 addiu gp, gp, 0x5b84      |     
    0x00029704 addu gp, gp, t9           |     gp += t9;
    0x00029708 addiu sp, sp, -0x38       |     
    0x0002970c lw v0, -0x7bc8(gp)        |     v0 = *((gp - 7922));
    0x00029710 sw s3, 0x30(sp)           |     *(var_30h) = s3;
    0x00029714 sw s1, 0x28(sp)           |     *(var_28h) = s1;
    0x00029718 sw s0, 0x24(sp)           |     *(var_24h) = s0;
    0x0002971c lw s1, -0x7f8c(gp)        |     s1 = *((gp - 8163));
    0x00029720 lw s0, -0x7f8c(gp)        |     s0 = *((gp - 8163));
    0x00029724 lw s3, -0x7fcc(gp)        |     s3 = *(gp);
    0x00029728 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x0002972c sw s2, 0x2c(sp)           |     *(var_2ch) = s2;
    0x00029730 sw ra, 0x34(sp)           |     *(var_34h) = ra;
    0x00029734 lw s2, -0x6da4(gp)        |     s2 = *((gp - 7017));
    0x00029738 addiu s0, s0, 0x6bf4      |     s0 += 0x6bf4;
    0x0002973c addiu s1, s1, 0x6c18      |     s1 += 0x6c18;
                                         |     /* str.____14s___s_n */
    0x00029740 addiu s3, s3, -0x4744     |     s3 += -0x4744;
    0x00029744 b 0x2974c                 |     
                                         |     while (s0 == s1) {
    0x00029748 addiu s0, s0, 4           |         s0 += 4;
    0x0002974c lw t9, -0x70d0(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         if (v0 != 0) {
    0x00029750 beqz v0, 0x29774          |             
    0x00029754 lw a3, (v0)               |             a3 = *(v0);
    0x00029758 lw v0, 8(v0)              |             v0 = *((v0 + 2));
    0x0002975c lw a0, (s2)               |             a0 = *(s2);
    0x00029760 move a2, s3               |             a2 = s3;
    0x00029764 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x00029768 addiu a1, zero, 1         |             a1 = 1;
    0x0002976c jalr t9                   |             t9 ();
    0x00029770 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |         }
    0x00029774 lw v0, (s0)               |         v0 = *(s0);
    0x00029778 bnel s0, s1, 0x29748      |         
                                         |     }
    0x0002977c lw ra, 0x34(sp)           |     ra = *(var_34h);
    0x00029780 lw s3, 0x30(sp)           |     s3 = *(var_30h);
    0x00029784 lw s2, 0x2c(sp)           |     s2 = *(var_2ch);
    0x00029788 lw s1, 0x28(sp)           |     s1 = *(var_28h);
    0x0002978c lw s0, 0x24(sp)           |     s0 = *(var_24h);
    0x00029790 addiu sp, sp, 0x38        |     
    0x00029794 jr ra                     |     return v0;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x87e64 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00087e64 ()              | void fcn_00087e64 () {
    0x00087e64 lui gp, 7                 |     
    0x00087e68 addiu gp, gp, 0x741c      |     
    0x00087e6c addu gp, gp, t9           |     gp += t9;
    0x00087e70 addiu sp, sp, -0x58       |     
    0x00087e74 lw v0, -0x6de8(gp)        |     v0 = *((gp - 7034));
    0x00087e78 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00087e7c sw ra, 0x54(sp)           |     *(var_54h) = ra;
    0x00087e80 sw fp, 0x50(sp)           |     *(var_50h) = fp;
    0x00087e84 sw s7, 0x4c(sp)           |     *(var_4ch) = s7;
    0x00087e88 sw s6, 0x48(sp)           |     *(var_48h) = s6;
    0x00087e8c sw s5, 0x44(sp)           |     *(var_44h) = s5;
    0x00087e90 sw s4, 0x40(sp)           |     *(var_40h) = s4;
    0x00087e94 sw s3, 0x3c(sp)           |     *(var_3ch) = s3;
    0x00087e98 sw s2, 0x38(sp)           |     *(var_38h) = s2;
    0x00087e9c sw s1, 0x34(sp)           |     *(var_34h) = s1;
    0x00087ea0 sw s0, 0x30(sp)           |     *(var_30h) = s0;
    0x00087ea4 lw v1, (v0)               |     v1 = *(v0);
    0x00087ea8 sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00087eac lb v0, (a1)               |     v0 = *(a1);
    0x00087eb0 sw v1, 0x2c(sp)           |     *(var_2ch) = v1;
    0x00087eb4 lw s7, -0x7fd8(gp)        |     s7 = *(gp);
                                         |     if (v0 == 0) {
    0x00087eb8 beqz v0, 0x87fd4          |         goto label_2;
                                         |     }
    0x00087ebc lw s4, -0x7fd8(gp)        |     s4 = *(gp);
    0x00087ec0 lw s6, -0x7fd8(gp)        |     s6 = *(gp);
    0x00087ec4 lw s5, -0x7fd8(gp)        |     s5 = *(gp);
                                         |     /* esilref: '/>
' */
    0x00087ec8 addiu v0, s7, -0x25c8     |     v0 = s7 + -0x25c8;
    0x00087ecc move s0, a1               |     s0 = a1;
    0x00087ed0 move s1, a0               |     s1 = a0;
    0x00087ed4 move s3, a2               |     s3 = a2;
    0x00087ed8 move s2, a3               |     s2 = a3;
    0x00087edc addiu fp, sp, 0x28        |     fp = sp + 0x28;
                                         |     /* str.____arg_type__.s_ */
    0x00087ee0 addiu s4, s4, -0x2578     |     s4 += -0x2578;
                                         |     /* str._name__s_ */
    0x00087ee4 addiu s6, s6, -0x2564     |     s6 += -0x2564;
    0x00087ee8 sw v0, 0x20(sp)           |     *(var_20h) = v0;
                                         |     /* str._direction__s____n */
    0x00087eec addiu s5, s5, -0x2558     |     s5 += -0x2558;
    0x00087ef0 b 0x87f24                 |     
                                         |     while (v0 == 0) {
    0x00087ef4 lw a0, (s1)               |         a0 = *(s1);
                                         |         if (s2 == 0) {
    0x00087ef8 beqz s2, 0x87fa8          |             goto label_3;
                                         |         }
                                         | label_0:
    0x00087efc lw t9, -0x70d0(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00087f00 move a3, s2               |         a3 = s2;
    0x00087f04 move a2, s5               |         a2 = s5;
    0x00087f08 addiu a1, zero, 1         |         a1 = 1;
    0x00087f0c jalr t9                   |         t9 ();
    0x00087f10 lw v0, 0x28(sp)           |         v0 = *(var_28h_2);
    0x00087f14 addu s0, s0, v0           |         s0 += v0;
    0x00087f18 lb v0, (s0)               |         v0 = *(s0);
    0x00087f1c lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00087f20 beqz v0, 0x87fd4          |             goto label_2;
                                         |         }
                                         | label_1:
    0x00087f24 lw t9, -0x78e8(gp)        |         t9 = sym.signature_element_length;
    0x00087f28 move a1, fp               |         a1 = fp;
    0x00087f2c move a0, s0               |         a0 = s0;
    0x00087f30 jalr t9                   |         t9 ();
    0x00087f34 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00087f38 bltz v0, 0x87fd8          |             goto label_4;
                                         |         }
    0x00087f3c lw t9, -0x70d0(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00087f40 lw a3, 0x28(sp)           |         a3 = *(var_28h_2);
    0x00087f44 lw a0, (s1)               |         a0 = *(s1);
    0x00087f48 move a2, s4               |         a2 = s4;
    0x00087f4c sw s0, 0x10(sp)           |         *(var_10h) = s0;
    0x00087f50 addiu a1, zero, 1         |         a1 = 1;
    0x00087f54 jalr t9                   |         t9 ();
    0x00087f58 lw a3, (s3)               |         a3 = *(s3);
    0x00087f5c lb v0, (a3)               |         v0 = *(a3);
    0x00087f60 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00087f64 beqz v0, 0x87ef4          |         
                                         |     }
    0x00087f68 lw t9, -0x70d0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00087f6c lw a0, (s1)               |     a0 = *(s1);
    0x00087f70 move a2, s6               |     a2 = s6;
    0x00087f74 addiu a1, zero, 1         |     a1 = 1;
    0x00087f78 jalr t9                   |     t9 ();
    0x00087f7c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00087f80 lw s7, (s3)               |     s7 = *(s3);
    0x00087f84 lw t9, -0x6f38(gp)        |     t9 = sym.imp.strlen;
    0x00087f88 move a0, s7               |     a0 = s7;
    0x00087f8c jalr t9                   |     t9 ();
    0x00087f90 addiu v0, v0, 1           |     v0++;
    0x00087f94 addu v1, s7, v0           |     v1 = s7 + v0;
    0x00087f98 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00087f9c sw v1, (s3)               |     *(s3) = v1;
    0x00087fa0 lw a0, (s1)               |     a0 = *(s1);
                                         |     if (s2 != 0) {
    0x00087fa4 bnez s2, 0x87efc          |         goto label_0;
                                         |     }
                                         | label_3:
    0x00087fa8 lw t9, -0x6e8c(gp)        |     t9 = sym.imp.fwrite;
    0x00087fac move a3, a0               |     a3 = a0;
    0x00087fb0 lw a0, 0x20(sp)           |     a0 = *(var_20h);
    0x00087fb4 addiu a2, zero, 3         |     a2 = 3;
    0x00087fb8 addiu a1, zero, 1         |     a1 = 1;
    0x00087fbc jalr t9                   |     t9 ();
    0x00087fc0 lw v0, 0x28(sp)           |     v0 = *(var_28h_2);
    0x00087fc4 addu s0, s0, v0           |     s0 += v0;
    0x00087fc8 lb v0, (s0)               |     v0 = *(s0);
    0x00087fcc lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x00087fd0 bnez v0, 0x87f24          |         goto label_1;
                                         |     }
                                         | label_2:
    0x00087fd4 move v0, zero             |     v0 = 0;
                                         | label_4:
    0x00087fd8 lw v1, 0x24(sp)           |     v1 = *(var_24h);
    0x00087fdc lw a0, 0x2c(sp)           |     a0 = *(var_2ch);
    0x00087fe0 lw v1, (v1)               |     v1 = *(v1);
    0x00087fe4 lw ra, 0x54(sp)           |     ra = *(var_54h);
                                         |     if (a0 == v1) {
    0x00087fe8 bne a0, v1, 0x88018       |         
    0x00087fec lw fp, 0x50(sp)           |         fp = *(var_50h);
    0x00087ff0 lw s7, 0x4c(sp)           |         s7 = *(var_4ch);
    0x00087ff4 lw s6, 0x48(sp)           |         s6 = *(var_48h);
    0x00087ff8 lw s5, 0x44(sp)           |         s5 = *(var_44h);
    0x00087ffc lw s4, 0x40(sp)           |         s4 = *(var_40h);
    0x00088000 lw s3, 0x3c(sp)           |         s3 = *(var_3ch);
    0x00088004 lw s2, 0x38(sp)           |         s2 = *(var_38h);
    0x00088008 lw s1, 0x34(sp)           |         s1 = *(var_34h);
    0x0008800c lw s0, 0x30(sp)           |         s0 = *(var_30h);
    0x00088010 addiu sp, sp, 0x58        |         
    0x00088014 jr ra                     |         return v1;
                                         |     }
    0x00088018 lw t9, -0x6e2c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0008801c jalr t9                   |     t9 ();
    0x00088020 nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x61fc8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.device_update_db ()          | void device_update_db () {
    0x00061fc8 lui gp, 0xa                   |     
    0x00061fcc addiu gp, gp, -0x2d48         |     
    0x00061fd0 addu gp, gp, t9               |     gp += t9;
    0x00061fd4 addiu sp, sp, -0x88           |     
    0x00061fd8 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x00061fdc lw s2, -0x6de8(gp)            |     s2 = *((gp - 7034));
    0x00061fe0 sw fp, 0x80(sp)               |     *(var_80h) = fp;
    0x00061fe4 sw ra, 0x84(sp)               |     *(var_84h) = ra;
    0x00061fe8 sw s7, 0x7c(sp)               |     *(var_7ch) = s7;
    0x00061fec sw s6, 0x78(sp)               |     *(var_78h) = s6;
    0x00061ff0 sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x00061ff4 sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x00061ff8 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x00061ffc sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x00062000 sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x00062004 sw gp, 0x38(sp)               |     *(var_38h) = gp;
    0x00062008 move fp, sp                   |     fp = sp;
    0x0006200c lw v0, (s2)                   |     v0 = *(s2);
    0x00062010 sw zero, 0x44(fp)             |     *(arg_44h) = 0;
    0x00062014 sw zero, 0x48(fp)             |     *(arg_48h) = 0;
    0x00062018 sw v0, 0x5c(fp)               |     *(arg_5ch) = v0;
    0x0006201c lw t9, -0x7de8(gp)            |     t9 = sym.internal_hashmap_size;
                                             |     if (a0 == 0) {
    0x00062020 beqz a0, 0x62564              |         goto label_13;
                                             |     }
    0x00062024 move s0, a0                   |     s0 = a0;
    0x00062028 lw a0, 0x58(a0)               |     a0 = *((a0 + 22));
    0x0006202c jalr t9                       |     t9 ();
    0x00062030 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x00062034 bnez v0, 0x620f4              |         goto label_14;
                                             |     }
    0x00062038 lw v0, 0x78(s0)               |     v0 = *((s0 + 30));
    0x0006203c lw t9, -0x7de8(gp)            |     t9 = sym.internal_hashmap_size;
                                             |     if (v0 != 0) {
    0x00062040 bnez v0, 0x620f4              |         goto label_14;
                                             |     }
    0x00062044 lw a0, 0x28(s0)               |     a0 = *((s0 + 10));
    0x00062048 jalr t9                       |     t9 ();
    0x0006204c lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x00062050 bnez v0, 0x620f4              |         goto label_14;
                                             |     }
    0x00062054 lw t9, -0x7de8(gp)            |     t9 = sym.internal_hashmap_size;
    0x00062058 lw a0, 0x3c(s0)               |     a0 = *((s0 + 15));
    0x0006205c jalr t9                       |     t9 ();
    0x00062060 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x00062064 bnez v0, 0x620f4              |         goto label_14;
                                             |     }
    0x00062068 lw t9, -0x7c94(gp)            |     t9 = sym.device_get_id_filename;
    0x0006206c lw s3, 4(s0)                  |     s3 = *((s0 + 1));
    0x00062070 addiu a1, fp, 0x40            |     a1 = fp + 0x40;
    0x00062074 move a0, s0                   |     a0 = s0;
    0x00062078 bal 0x68db4                   |     sym_device_get_id_filename ();
    0x0006207c nor s3, zero, s3              |     __asm ("nor s3, zero, s3");
    0x00062080 srl s3, s3, 0x1f              |     s3 >>= 0x1f;
    0x00062084 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x00062088 move s4, v0                   |     s4 = v0;
                                             |     if (v0 >= 0) {
    0x0006208c bgez v0, 0x62114              |         goto label_15;
                                             |     }
                                             |     do {
                                             | label_0:
    0x00062090 lw t9, -0x6dc8(gp)            |         t9 = *((gp - 7026));
    0x00062094 lw a0, 0x48(fp)               |         a0 = *(arg_48h);
    0x00062098 jalr t9                       |         t9 ();
    0x0006209c lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x000620a0 lw t9, -0x7bf8(gp)            |         t9 = sym.safe_fclose;
    0x000620a4 lw a0, 0x44(fp)               |         a0 = *(arg_44h);
    0x000620a8 jalr t9                       |         t9 ();
    0x000620ac lw a0, 0x5c(fp)               |         a0 = *(arg_5ch);
    0x000620b0 lw v1, (s2)                   |         v1 = *(s2);
    0x000620b4 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x000620b8 move v0, s4                   |         v0 = s4;
                                             |         if (a0 != v1) {
    0x000620bc bne a0, v1, 0x626bc           |             goto label_16;
                                             |         }
    0x000620c0 move sp, fp                   |         
    0x000620c4 lw ra, 0x84(sp)               |         ra = *(var_84h);
    0x000620c8 lw fp, 0x80(sp)               |         fp = *(var_80h);
    0x000620cc lw s7, 0x7c(sp)               |         s7 = *(var_7ch);
    0x000620d0 lw s6, 0x78(sp)               |         s6 = *(var_78h);
    0x000620d4 lw s5, 0x74(sp)               |         s5 = *(var_74h);
    0x000620d8 lw s4, 0x70(sp)               |         s4 = *(var_70h);
    0x000620dc lw s3, 0x6c(sp)               |         s3 = *(var_6ch);
    0x000620e0 lw s2, 0x68(sp)               |         s2 = *(var_68h);
    0x000620e4 lw s1, 0x64(sp)               |         s1 = *(var_64h);
    0x000620e8 lw s0, 0x60(sp)               |         s0 = *(var_60h);
    0x000620ec addiu sp, sp, 0x88            |         
    0x000620f0 jr ra                         |         return v1;
                                             | label_14:
    0x000620f4 lw t9, -0x7c94(gp)            |         t9 = sym.device_get_id_filename;
    0x000620f8 addiu a1, fp, 0x40            |         a1 = fp + 0x40;
    0x000620fc move a0, s0                   |         a0 = s0;
    0x00062100 bal 0x68db4                   |         sym_device_get_id_filename ();
    0x00062104 addiu s3, zero, 1             |         s3 = 1;
    0x00062108 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x0006210c move s4, v0                   |         s4 = v0;
    0x00062110 bltz v0, 0x62090              |         
                                             |     } while (v0 < 0);
                                             | label_15:
    0x00062114 lw s4, 0x40(fp)               |     s4 = *(arg_40h);
    0x00062118 lw t9, -0x6f38(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s4 == 0) {
    0x0006211c beqz s4, 0x625c4              |         goto label_17;
                                             |     }
    0x00062120 move a0, s4                   |     a0 = s4;
    0x00062124 jalr t9                       |     t9 ();
    0x00062128 lui a0, 0x40                  |     a0 = 0x400000;
    0x0006212c addiu v1, v0, 0x10            |     v1 = v0 + 0x10;
    0x00062130 addiu a0, a0, 1               |     a0++;
    0x00062134 sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x00062138 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v1 == 0) {
    0x0006213c beqz v1, 0x62510              |         goto label_18;
                                             |     }
    0x00062140 lw a0, -0x7fcc(gp)            |     a0 = *(gp);
    0x00062144 addiu v0, v0, 0x17            |     v0 += 0x17;
    0x00062148 srl v0, v0, 3                 |     v0 >>= 3;
                                             |     /* str._run_udev_data_ */
    0x0006214c addiu v1, a0, 0x71a0          |     v1 = a0 + 0x71a0;
    0x00062150 sll v0, v0, 3                 |     v0 <<= 3;
    0x00062154 subu sp, sp, v0               |     
    0x00062158 addiu s1, sp, 0x38            |     s1 = sp + 0x38;
    0x0006215c lw a2, 0x71a0(a0)             |     a2 = *((a0 + 7272));
    0x00062160 lw a1, 4(v1)                  |     a1 = *((v1 + 1));
    0x00062164 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
    0x00062168 lw v0, 0xc(v1)                |     v0 = *((v1 + 3));
    0x0006216c lw t9, -0x6e28(gp)            |     t9 = sym.imp.stpcpy;
    0x00062170 sw a1, 4(s1)                  |     *((s1 + 1)) = a1;
    0x00062174 sw a0, 8(s1)                  |     *((s1 + 2)) = a0;
    0x00062178 sw a2, (s1)                   |     *(s1) = a2;
    0x0006217c sw v0, 0xc(s1)                |     *((s1 + 3)) = v0;
    0x00062180 move a1, s4                   |     a1 = s4;
    0x00062184 addiu a0, s1, 0xf             |     a0 = s1 + 0xf;
    0x00062188 jalr t9                       |     t9 ();
    0x0006218c lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             | label_8:
    0x00062190 sb zero, (v0)                 |     *(v0) = 0;
                                             |     if (s3 == 0) {
    0x00062194 bnez s3, 0x621b8              |         
    0x00062198 lw v1, 0x88(s0)               |         v1 = *((s0 + 34));
    0x0006219c lw v0, 0x8c(s0)               |         v0 = *((s0 + 35));
    0x000621a0 addiu a0, zero, -0x1000       |         a0 = -0x1000;
    0x000621a4 ext v1, v1, 8, 0xc            |         __asm ("ext v1, v1, 8, 0xc");
    0x000621a8 and v0, v0, a0                |         v0 &= a0;
    0x000621ac or v0, v0, v1                 |         v0 |= v1;
                                             |         if (v0 == 0) {
    0x000621b0 beql v0, zero, 0x623e0        |             goto label_19;
                                             |         }
    0x000621b4 lw s4, 0x7c(s0)               |         s4 = *((s0 + 31));
                                             |     }
    0x000621b8 lw t9, -0x7c78(gp)            |     t9 = sym.mkdir_parents;
                                             | label_1:
    0x000621bc addiu a1, zero, 0x1ed         |     a1 = 0x1ed;
    0x000621c0 move a0, s1                   |     a0 = s1;
    0x000621c4 jalr t9                       |     t9 ();
    0x000621c8 move s4, v0                   |     s4 = v0;
    0x000621cc lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 < 0) {
    0x000621d0 bltz v0, 0x62090              |         goto label_0;
                                             |     }
    0x000621d4 lw t9, -0x7670(gp)            |     t9 = sym.fopen_temporary;
    0x000621d8 addiu a2, fp, 0x48            |     a2 = fp + 0x48;
    0x000621dc addiu a1, fp, 0x44            |     a1 = fp + 0x44;
    0x000621e0 move a0, s1                   |     a0 = s1;
    0x000621e4 jalr t9                       |     t9 ();
    0x000621e8 move s4, v0                   |     s4 = v0;
    0x000621ec lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 < 0) {
    0x000621f0 bltz v0, 0x62090              |         goto label_0;
                                             |     }
    0x000621f4 lbu v0, 0xe3(s0)              |     v0 = *((s0 + 227));
    0x000621f8 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x000621fc andi v0, v0, 4                |     v0 &= 4;
    0x00062200 lw t9, -0x6fe8(gp)            |     t9 = sym.imp.fileno;
                                             |     if (v0 == 0) {
    0x00062204 beqz v0, 0x62420              |         goto label_20;
                                             |     }
    0x00062208 jalr t9                       |     t9 ();
    0x0006220c nop                           |     
    0x00062210 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x00062214 addiu a1, zero, 0x3a4         |     a1 = aav.0x000003a4;
    0x00062218 lw t9, -0x7174(gp)            |     t9 = sym.imp.fchmod;
    0x0006221c move a0, v0                   |     a0 = v0;
    0x00062220 jalr t9                       |     t9 ();
    0x00062224 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 < 0) {
    0x00062228 bltz v0, 0x62444              |         goto label_21;
                                             |     }
                                             | label_2:
    0x0006222c lw t9, -0x766c(gp)            |     t9 = sym.fflush_and_check;
                                             |     if (s3 == 0) {
    0x00062230 beqz s3, 0x62320              |         goto label_22;
                                             |     }
    0x00062234 lw v1, 0x88(s0)               |     v1 = *((s0 + 34));
    0x00062238 lw v0, 0x8c(s0)               |     v0 = *((s0 + 35));
    0x0006223c addiu a0, zero, -0x1000       |     a0 = -0x1000;
    0x00062240 ext v1, v1, 8, 0xc            |     __asm ("ext v1, v1, 8, 0xc");
    0x00062244 and v0, v0, a0                |     v0 &= a0;
    0x00062248 or v0, v0, v1                 |     v0 |= v1;
    0x0006224c lw t9, -0x7f38(gp)            |     t9 = sym.sd_device_get_devlink_first;
                                             |     if (v0 != 0) {
    0x00062250 bnez v0, 0x62620              |         goto label_23;
                                             |     }
                                             | label_11:
    0x00062254 lw v1, 0xc0(s0)               |     v1 = *((s0 + 48));
                                             | label_10:
    0x00062258 lw v0, 0xc4(s0)               |     v0 = *((s0 + 49));
    0x0006225c or a0, v1, v0                 |     a0 = v1 | v0;
    0x00062260 lw a2, -0x7fcc(gp)            |     a2 = *(gp);
                                             |     if (a0 != 0) {
    0x00062264 bnez a0, 0x625fc              |         goto label_24;
                                             |     }
                                             | label_9:
    0x00062268 lw s4, -0x7fcc(gp)            |     s4 = *(gp);
    0x0006226c addiu v0, zero, -2            |     v0 = -2;
    0x00062270 sw v0, 0x54(fp)               |     *(arg_54h) = v0;
    0x00062274 sw zero, 0x58(fp)             |     *(arg_58h) = 0;
    0x00062278 addiu s7, fp, 0x4c            |     s7 = fp + 0x4c;
    0x0006227c addiu s6, fp, 0x50            |     s6 = fp + 0x50;
    0x00062280 addiu s5, fp, 0x54            |     s5 = fp + 0x54;
                                             |     /* str.E:_s_s_n */
    0x00062284 addiu s4, s4, 0x712c          |     s4 += 0x712c;
    0x00062288 b 0x622b0                     |     
                                             |     while (v0 != 0) {
    0x0006228c lw v0, 0x50(fp)               |         v0 = *(arg_50h);
    0x00062290 lw t9, -0x70d0(gp)            |         t9 = sym.imp.__fprintf_chk
    0x00062294 lw a3, 0x4c(fp)               |         a3 = *(arg_4ch);
    0x00062298 lw a0, 0x44(fp)               |         a0 = *(arg_44h);
    0x0006229c sw v0, 0x10(sp)               |         *(var_10h_4) = v0;
    0x000622a0 move a2, s4                   |         a2 = s4;
    0x000622a4 addiu a1, zero, 1             |         a1 = 1;
    0x000622a8 jalr t9                       |         t9 ();
    0x000622ac lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x000622b0 lw t9, -0x7eb0(gp)            |         t9 = sym.internal_hashmap_iterate;
    0x000622b4 lw a0, 0x28(s0)               |         a0 = *((s0 + 10));
    0x000622b8 move a3, s7                   |         a3 = s7;
    0x000622bc move a2, s6                   |         a2 = s6;
    0x000622c0 move a1, s5                   |         a1 = s5;
    0x000622c4 jalr t9                       |         t9 ();
    0x000622c8 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x000622cc bnez v0, 0x6228c              |         
                                             |     }
    0x000622d0 lw t9, -0x7c3c(gp)            |     t9 = sym.sd_device_get_tag_first;
    0x000622d4 move a0, s0                   |     a0 = s0;
    0x000622d8 bal 0x69788                   |     sym_sd_device_get_tag_first ();
    0x000622dc lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x000622e0 beqz v0, 0x6231c              |         goto label_25;
                                             |     }
    0x000622e4 lw s4, -0x7fcc(gp)            |     s4 = *(gp);
                                             |     /* str.G:_s_n */
    0x000622e8 addiu s4, s4, 0x7138          |     s4 += 0x7138;
                                             |     do {
    0x000622ec lw t9, -0x70d0(gp)            |         t9 = sym.imp.__fprintf_chk
    0x000622f0 lw a0, 0x44(fp)               |         a0 = *(arg_44h);
    0x000622f4 move a3, v0                   |         a3 = v0;
    0x000622f8 move a2, s4                   |         a2 = s4;
    0x000622fc addiu a1, zero, 1             |         a1 = 1;
    0x00062300 jalr t9                       |         t9 ();
    0x00062304 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x00062308 lw t9, -0x7c38(gp)            |         t9 = sym.sd_device_get_tag_next;
    0x0006230c move a0, s0                   |         a0 = s0;
    0x00062310 bal 0x69864                   |         sym_sd_device_get_tag_next ();
    0x00062314 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x00062318 bnez v0, 0x622ec              |         
                                             |     } while (v0 != 0);
                                             | label_25:
    0x0006231c lw t9, -0x766c(gp)            |     t9 = sym.fflush_and_check;
                                             | label_22:
    0x00062320 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x00062324 jalr t9                       |     t9 ();
    0x00062328 move s4, v0                   |     s4 = v0;
    0x0006232c lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 < 0) {
    0x00062330 bltz v0, 0x6245c              |         goto label_26;
                                             |     }
    0x00062334 lw t9, -0x6f24(gp)            |     t9 = sym.imp.rename;
    0x00062338 lw a0, 0x48(fp)               |     a0 = *(arg_48h);
    0x0006233c move a1, s1                   |     a1 = s1;
    0x00062340 jalr t9                       |     t9 ();
    0x00062344 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 < 0) {
    0x00062348 bltz v0, 0x62444              |         goto label_21;
                                             |     }
    0x0006234c lw t9, -0x7f98(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00062350 move a0, zero                 |     a0 = 0;
    0x00062354 sw zero, 0x54(fp)             |     *(arg_54h) = 0;
    0x00062358 jalr t9                       |     t9 ();
    0x0006235c slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00062360 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x00062364 move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x00062368 beqz v0, 0x6259c              |         goto label_27;
                                             |     }
                                             | label_6:
    0x0006236c move v0, zero                 |     v0 = 0;
                                             | label_7:
    0x00062370 lw v1, -0x7fd4(gp)            |     v1 = *(gp);
                                             |     if (s3 != 0) {
    0x00062374 bnez s3, 0x62594              |         goto label_28;
                                             |     }
    0x00062378 lw v1, -0x7fcc(gp)            |     v1 = *(gp);
                                             |     /* str.empty */
    0x0006237c addiu v1, v1, 0x7104          |     v1 += 0x7104;
                                             | label_5:
    0x00062380 lw a1, 0xa0(s0)               |     a1 = *((s0 + 40));
    0x00062384 sw v1, 0x28(sp)               |     *(var_18h_2) = v1;
    0x00062388 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x0006238c lw v1, -0x7fcc(gp)            |     v1 = *(gp);
    0x00062390 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x00062394 lw a2, -0x7fcc(gp)            |     a2 = *(gp);
    0x00062398 lw t9, -0x7d6c(gp)            |     t9 = sym.log_object_internal;
                                             |     /* str.sd_device:_Created__s_file__s_for__s */
    0x0006239c addiu v1, v1, 0x7140          |     v1 += 0x7140;
                                             |     /* esilref: 'device_update_db' */
    0x000623a0 addiu v0, v0, 0x7558          |     v0 += 0x7558;
    0x000623a4 sw a1, 0x30(sp)               |     *(var_20h) = a1;
    0x000623a8 sw a0, 0x18(sp)               |     *(var_18h_5) = a0;
    0x000623ac sw s1, 0x2c(sp)               |     *(var_1ch) = s1;
    0x000623b0 sw v1, 0x24(sp)               |     *(var_14h) = v1;
    0x000623b4 sw zero, 0x20(sp)             |     *(var_10h_2) = 0;
    0x000623b8 sw zero, 0x1c(sp)             |     *(var_1ch_2) = 0;
    0x000623bc sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x000623c0 addiu a3, zero, 0x3be         |     a3 = 0x3be;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x000623c4 addiu a2, a2, 0x701f          |     a2 += 0x701f;
    0x000623c8 move a1, zero                 |     a1 = 0;
    0x000623cc addiu a0, zero, 7             |     a0 = 7;
    0x000623d0 jalr t9                       |     t9 ();
    0x000623d4 move s4, zero                 |     s4 = 0;
    0x000623d8 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x000623dc b 0x62090                     |     goto label_0;
                                             | label_19:
    0x000623e0 lw t9, -0x7c78(gp)            |     t9 = sym.mkdir_parents;
                                             |     if (s4 != 0) {
    0x000623e4 bnez s4, 0x621bc              |         goto label_1;
                                             |     }
    0x000623e8 lw t9, -0x6e44(gp)            |     t9 = sym.imp.unlink;
    0x000623ec move a0, s1                   |     a0 = s1;
    0x000623f0 jalr t9                       |     t9 ();
    0x000623f4 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 >= 0) {
    0x000623f8 bgez v0, 0x62090              |         goto label_0;
                                             |     }
    0x000623fc lw t9, -0x6fc8(gp)            |     t9 = sym.imp.__errno_location;
    0x00062400 jalr t9                       |     t9 ();
    0x00062404 nop                           |     
    0x00062408 lw v0, (v0)                   |     v0 = *(v0);
    0x0006240c addiu v1, zero, 2             |     v1 = 2;
    0x00062410 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 == v1) {
    0x00062414 beq v0, v1, 0x62090           |         goto label_0;
                                             |     }
    0x00062418 negu s4, v0                   |     __asm ("negu s4, v0");
    0x0006241c b 0x62090                     |     goto label_0;
                                             | label_20:
    0x00062420 jalr t9                       |     t9 ();
    0x00062424 nop                           |     
    0x00062428 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x0006242c addiu a1, zero, 0x1a4         |     a1 = segment.NOTE;
    0x00062430 lw t9, -0x7174(gp)            |     t9 = sym.imp.fchmod;
    0x00062434 move a0, v0                   |     a0 = v0;
    0x00062438 jalr t9                       |     t9 ();
    0x0006243c lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 >= 0) {
    0x00062440 bgez v0, 0x6222c              |         goto label_2;
                                             |     }
                                             | label_21:
    0x00062444 lw t9, -0x6fc8(gp)            |     t9 = sym.imp.__errno_location;
    0x00062448 jalr t9                       |     t9 ();
    0x0006244c nop                           |     
    0x00062450 lw s4, (v0)                   |     s4 = *(v0);
    0x00062454 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x00062458 negu s4, s4                   |     __asm ("negu s4, s4");
                                             | label_26:
    0x0006245c lw t9, -0x6e44(gp)            |     t9 = sym.imp.unlink;
    0x00062460 move a0, s1                   |     a0 = s1;
    0x00062464 jalr t9                       |     t9 ();
    0x00062468 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x0006246c lw t9, -0x6e44(gp)            |     t9 = sym.imp.unlink;
    0x00062470 lw a0, 0x48(fp)               |     a0 = *(arg_48h);
    0x00062474 jalr t9                       |     t9 ();
    0x00062478 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x0006247c move a0, zero                 |     a0 = 0;
    0x00062480 lw t9, -0x7f98(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00062484 sw zero, 0x54(fp)             |     *(arg_54h) = 0;
    0x00062488 jalr t9                       |     t9 ();
    0x0006248c slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00062490 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x00062494 move a0, zero                 |     a0 = 0;
    0x00062498 beqz v0, 0x6253c              |     
                                             |     while (a0 == 0) {
    0x0006249c move v1, zero                 |         v1 = 0;
                                             | label_3:
    0x000624a0 lw v0, -0x7fd4(gp)            |         v0 = *(gp);
                                             |         if (s3 == 0) {
    0x000624a4 bnel s3, zero, 0x6258c        |             goto label_29;
                                             |         }
    0x000624a8 lw v0, -0x7fcc(gp)            |         v0 = *(gp);
                                             |         /* str.empty */
    0x000624ac addiu v0, v0, 0x7104          |         v0 += 0x7104;
                                             | label_4:
    0x000624b0 lw a1, 0xa0(s0)               |         a1 = *((s0 + 40));
    0x000624b4 sw v0, 0x28(sp)               |         *(var_18h_2) = v0;
    0x000624b8 lw v0, -0x7fcc(gp)            |         v0 = *(gp);
    0x000624bc lw a2, -0x7fcc(gp)            |         a2 = *(gp);
                                             |         /* str.sd_device:_Failed_to_create__s_file__s_for__s */
    0x000624c0 addiu v0, v0, 0x716c          |         v0 += 0x716c;
    0x000624c4 sw v0, 0x24(sp)               |         *(var_14h) = v0;
    0x000624c8 lw v0, -0x7fcc(gp)            |         v0 = *(gp);
    0x000624cc lw t9, -0x7d6c(gp)            |         t9 = sym.log_object_internal;
                                             |         /* esilref: 'device_update_db' */
    0x000624d0 addiu v0, v0, 0x7558          |         v0 += 0x7558;
    0x000624d4 sw a1, 0x30(sp)               |         *(var_20h) = a1;
    0x000624d8 sw a0, 0x18(sp)               |         *(var_18h_2) = a0;
    0x000624dc move a1, s4                   |         a1 = s4;
    0x000624e0 sw s1, 0x2c(sp)               |         *(var_1ch) = s1;
    0x000624e4 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x000624e8 sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x000624ec sw v1, 0x14(sp)               |         *(var_14h_2) = v1;
    0x000624f0 sw v0, 0x10(sp)               |         *(var_10h_4) = v0;
    0x000624f4 addiu a3, zero, 0x3c6         |         a3 = 0x3c6;
                                             |         /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x000624f8 addiu a2, a2, 0x701f          |         a2 += 0x701f;
    0x000624fc addiu a0, zero, 7             |         a0 = 7;
    0x00062500 jalr t9                       |         t9 ();
    0x00062504 move s4, v0                   |         s4 = v0;
    0x00062508 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x0006250c b 0x62090                     |         goto label_0;
                                             | label_18:
    0x00062510 lw v0, -0x7fcc(gp)            |         v0 = *(gp);
    0x00062514 lw a2, -0x7fcc(gp)            |         a2 = *(gp);
    0x00062518 lw a1, -0x7fcc(gp)            |         a1 = *(gp);
                                             |         /* str.device_update_db */
    0x0006251c addiu v0, v0, 0x756c          |         v0 += 0x756c;
    0x00062520 lw t9, -0x7f88(gp)            |         t9 = sym.log_assert_failed_realm;
    0x00062524 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x00062528 addiu a3, zero, 0x372         |         a3 = 0x372;
                                             |         /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x0006252c addiu a2, a2, 0x701f          |         a2 += 0x701f;
                                             |         /* str.sizeof_char__n____ALLOCA_MAX */
    0x00062530 addiu a1, a1, -0x6544         |         a1 += -0x6544;
    0x00062534 move a0, zero                 |         a0 = 0;
    0x00062538 jalr t9                       |         t9 ();
    0x0006253c lw t9, -0x7ee0(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00062540 move a0, s0                   |         a0 = s0;
    0x00062544 addiu a1, fp, 0x54            |         a1 = fp + 0x54;
    0x00062548 bal 0x66b5c                   |         sym_sd_device_get_sysname ();
    0x0006254c lw a0, 0x54(fp)               |         a0 = *(arg_54h);
    0x00062550 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x00062554 beqz a0, 0x6249c              |         
                                             |     }
    0x00062558 lw v1, -0x7fcc(gp)            |     v1 = *(gp);
                                             |     /* str.DEVICE */
    0x0006255c addiu v1, v1, -0x7118         |     v1 += -0x7118;
    0x00062560 b 0x624a0                     |     goto label_3;
                                             | label_13:
    0x00062564 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
    0x00062568 lw a2, -0x7fcc(gp)            |     a2 = *(gp);
    0x0006256c lw a1, -0x7fcc(gp)            |     a1 = *(gp);
                                             |     /* str.device_update_db */
    0x00062570 addiu v0, v0, 0x756c          |     v0 += 0x756c;
    0x00062574 lw t9, -0x7f88(gp)            |     t9 = sym.log_assert_failed_realm;
    0x00062578 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0006257c addiu a3, zero, 0x36a         |     a3 = 0x36a;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x00062580 addiu a2, a2, 0x701f          |     a2 += 0x701f;
                                             |     /* esilref: 'device' */
    0x00062584 addiu a1, a1, -0x1144         |     a1 += -0x1144;
    0x00062588 jalr t9                       |     t9 ();
                                             | label_29:
    0x0006258c addiu v0, v0, 0x7114          |     v0 += 0x7114;
    0x00062590 b 0x624b0                     |     goto label_4;
                                             |     /* esilref: 'db' */
                                             | label_28:
    0x00062594 addiu v1, v1, 0x7114          |     v1 += 0x7114;
    0x00062598 b 0x62380                     |     goto label_5;
                                             | label_27:
    0x0006259c lw t9, -0x7ee0(gp)            |     t9 = sym.sd_device_get_sysname;
    0x000625a0 move a0, s0                   |     a0 = s0;
    0x000625a4 addiu a1, fp, 0x54            |     a1 = fp + 0x54;
    0x000625a8 bal 0x66b5c                   |     sym_sd_device_get_sysname ();
    0x000625ac lw a0, 0x54(fp)               |     a0 = *(arg_54h);
    0x000625b0 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (a0 == 0) {
    0x000625b4 beqz a0, 0x6236c              |         goto label_6;
                                             |     }
    0x000625b8 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x000625bc addiu v0, v0, -0x7118         |     v0 += -0x7118;
    0x000625c0 b 0x62370                     |     goto label_7;
                                             | label_17:
    0x000625c4 lw v1, -0x7fcc(gp)            |     v1 = *(gp);
    0x000625c8 addiu sp, sp, -0x10           |     
                                             |     /* str._run_udev_data_ */
    0x000625cc addiu v0, v1, 0x71a0          |     v0 = v1 + 0x71a0;
    0x000625d0 addiu s1, sp, 0x38            |     s1 = sp + 0x38;
    0x000625d4 lw a1, 0x71a0(v1)             |     a1 = *((v1 + 7272));
    0x000625d8 lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x000625dc lw v1, 8(v0)                  |     v1 = *((v0 + 2));
    0x000625e0 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x000625e4 sw a1, (s1)                   |     *(s1) = a1;
    0x000625e8 sw v0, 0xc(s1)                |     *((s1 + 3)) = v0;
    0x000625ec sw a0, 4(s1)                  |     *((s1 + 1)) = a0;
    0x000625f0 sw v1, 8(s1)                  |     *((s1 + 2)) = v1;
    0x000625f4 addiu v0, s1, 0xf             |     v0 = s1 + 0xf;
    0x000625f8 b 0x62190                     |     goto label_8;
                                             | label_24:
    0x000625fc lw t9, -0x70d0(gp)            |     t9 = sym.imp.__fprintf_chk
    0x00062600 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x00062604 sw v1, 0x10(sp)               |     *(var_10h_4) = v1;
    0x00062608 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
                                             |     /* str.I:_llu_n */
    0x0006260c addiu a2, a2, 0x7124          |     a2 += 0x7124;
    0x00062610 addiu a1, zero, 1             |     a1 = 1;
    0x00062614 jalr t9                       |     t9 ();
    0x00062618 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x0006261c b 0x62268                     |     goto label_9;
                                             | label_23:
    0x00062620 move a0, s0                   |     a0 = s0;
    0x00062624 bal 0x69944                   |     sym_sd_device_get_devlink_first ();
    0x00062628 lw gp, 0x38(fp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0006262c beqz v0, 0x62668              |         goto label_30;
                                             |     }
    0x00062630 lw s4, -0x7fcc(gp)            |     s4 = *(gp);
                                             |     /* str.S:_s_n */
    0x00062634 addiu s4, s4, 0x710c          |     s4 += 0x710c;
                                             |     do {
    0x00062638 lw t9, -0x70d0(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0006263c lw a0, 0x44(fp)               |         a0 = *(arg_44h);
    0x00062640 addiu a3, v0, 5               |         a3 = v0 + 5;
    0x00062644 move a2, s4                   |         a2 = s4;
    0x00062648 addiu a1, zero, 1             |         a1 = 1;
    0x0006264c jalr t9                       |         t9 ();
    0x00062650 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x00062654 lw t9, -0x7f34(gp)            |         t9 = sym.sd_device_get_devlink_next;
    0x00062658 move a0, s0                   |         a0 = s0;
    0x0006265c bal 0x69a20                   |         sym_sd_device_get_devlink_next ();
    0x00062660 lw gp, 0x38(fp)               |         gp = *(var_38h);
    0x00062664 bnez v0, 0x62638              |         
                                             |     } while (v0 != 0);
                                             | label_30:
    0x00062668 lw a3, 0x78(s0)               |     a3 = *((s0 + 30));
    0x0006266c lw a2, -0x7fcc(gp)            |     a2 = *(gp);
                                             |     if (a3 != 0) {
    0x00062670 bnez a3, 0x626a0              |         goto label_31;
                                             |     }
                                             | label_12:
    0x00062674 lw a3, 4(s0)                  |     a3 = *((s0 + 1));
                                             |     if (a3 < 0) {
    0x00062678 bltzl a3, 0x62258             |         goto label_10;
                                             |     }
    0x0006267c lw v1, 0xc0(s0)               |     v1 = *((s0 + 48));
    0x00062680 lw a2, -0x7fcc(gp)            |     a2 = *(gp);
    0x00062684 lw t9, -0x70d0(gp)            |     t9 = sym.imp.__fprintf_chk
    0x00062688 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
                                             |     /* str.W:_i_n */
    0x0006268c addiu a2, a2, 0x711c          |     a2 += 0x711c;
    0x00062690 addiu a1, zero, 1             |     a1 = 1;
    0x00062694 jalr t9                       |     t9 ();
    0x00062698 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x0006269c b 0x62254                     |     goto label_11;
                                             | label_31:
    0x000626a0 lw t9, -0x70d0(gp)            |     t9 = sym.imp.__fprintf_chk
    0x000626a4 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
                                             |     /* str.L:_i_n */
    0x000626a8 addiu a2, a2, 0x7114          |     a2 += 0x7114;
    0x000626ac addiu a1, zero, 1             |     a1 = 1;
    0x000626b0 jalr t9                       |     t9 ();
    0x000626b4 lw gp, 0x38(fp)               |     gp = *(var_38h);
    0x000626b8 b 0x62674                     |     goto label_12;
                                             | label_16:
    0x000626bc lw t9, -0x6e2c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000626c0 jalr t9                       |     t9 ();
    0x000626c4 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x7d424 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.introspect_path ()           | void introspect_path () {
    0x0007d424 lui gp, 8                     |     
    0x0007d428 addiu gp, gp, 0x1e5c          |     
    0x0007d42c addu gp, gp, t9               |     gp += t9;
    0x0007d430 addiu sp, sp, -0x80           |     
    0x0007d434 lw v0, -0x6de8(gp)            |     v0 = *((gp - 7034));
    0x0007d438 lbu v1, 0x90(sp)              |     v1 = *(arg_90h);
    0x0007d43c sw s3, 0x64(sp)               |     *(var_64h) = s3;
    0x0007d440 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x0007d444 lw v1, 0x94(sp)               |     v1 = *(arg_94h);
    0x0007d448 sw s2, 0x60(sp)               |     *(var_60h) = s2;
    0x0007d44c sw s1, 0x5c(sp)               |     *(var_5ch) = s1;
    0x0007d450 sw s0, 0x58(sp)               |     *(var_58h) = s0;
    0x0007d454 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0007d458 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x0007d45c sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x0007d460 sw s7, 0x74(sp)               |     *(var_74h) = s7;
    0x0007d464 sw s6, 0x70(sp)               |     *(var_70h) = s6;
    0x0007d468 sw s5, 0x6c(sp)               |     *(var_6ch) = s5;
    0x0007d46c sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x0007d470 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0007d474 sw v1, 0x30(sp)               |     *(var_30h) = v1;
    0x0007d478 lw v0, (v0)                   |     v0 = *(v0);
    0x0007d47c lw v1, 0x98(sp)               |     v1 = *(arg_98h);
    0x0007d480 move s0, a0                   |     s0 = a0;
    0x0007d484 move s2, a1                   |     s2 = a1;
    0x0007d488 move s1, a3                   |     s1 = a3;
    0x0007d48c sw v1, 0x34(sp)               |     *(var_34h) = v1;
    0x0007d490 lw s3, 0x9c(sp)               |     s3 = *(arg_9ch);
    0x0007d494 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0007d498 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x0007d49c sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x0007d4a0 sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x0007d4a4 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x0007d4a8 sw zero, 0x50(sp)             |     *(var_50h) = 0;
                                             |     if (a2 == 0) {
    0x0007d4ac beqz a2, 0x7d79c              |         goto label_6;
                                             |     }
    0x0007d4b0 move s5, a2                   |     s5 = a2;
                                             | label_3:
    0x0007d4b4 lw t9, -0x7594(gp)            |     t9 = *(gp);
    0x0007d4b8 addiu v0, sp, 0x40            |     v0 = sp + 0x40;
    0x0007d4bc sw s3, 0x14(sp)               |     *(var_14h) = s3;
    0x0007d4c0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0007d4c4 move a3, zero                 |     a3 = 0;
    0x0007d4c8 move a2, s5                   |     a2 = s5;
    0x0007d4cc move a1, s2                   |     a1 = s2;
                                             |     /* fcn.0007c940 */
    0x0007d4d0 addiu t9, t9, -0x36c0         |     t9 += -0x36c0;
    0x0007d4d4 move a0, s0                   |     a0 = s0;
    0x0007d4d8 bal 0x7c940                   |     fcn_0007c940 ();
    0x0007d4dc move fp, v0                   |     fp = v0;
    0x0007d4e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0007d4e4 bltz v0, 0x7d7b8              |         goto label_7;
                                             |     }
    0x0007d4e8 lw a1, 0x1c(s0)               |     a1 = *((s0 + 7));
    0x0007d4ec andi v0, a1, 0x200            |     v0 = a1 & aav.0x00000200;
    0x0007d4f0 lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (v0 != 0) {
    0x0007d4f4 beqz v0, 0x7d500              |         
    0x0007d4f8 addiu s4, sp, 0x44            |         s4 = sp + 0x44;
                                             |         if (v0 == 0) {
    0x0007d4fc beqz v0, 0x7d7c0              |             goto label_8;
                                             |         }
                                             |     }
    0x0007d500 lw t9, -0x7530(gp)            |     t9 = sym.introspect_begin;
    0x0007d504 addiu s4, sp, 0x44            |     s4 = sp + 0x44;
    0x0007d508 ext a1, a1, 0xa, 1            |     __asm ("ext a1, a1, 0xa, 1");
    0x0007d50c move a0, s4                   |     a0 = s4;
    0x0007d510 bal 0x88024                   |     sym_introspect_begin ();
    0x0007d514 move fp, v0                   |     fp = v0;
    0x0007d518 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0007d51c bltz v0, 0x7d72c              |         goto label_4;
                                             |     }
    0x0007d520 move a1, zero                 |     a1 = 0;
                                             |     if (s1 == 0) {
    0x0007d524 bnez s1, 0x7d530              |         
    0x0007d528 lw a1, 0x20(s5)               |         a1 = *((s5 + 8));
    0x0007d52c sltu a1, zero, a1             |         a1 = (0 < a1) ? 1 : 0;
                                             |     }
    0x0007d530 lw t9, -0x752c(gp)            |     t9 = sym.introspect_write_default_interfaces;
    0x0007d534 move a0, s4                   |     a0 = s4;
    0x0007d538 bal 0x880e8                   |     sym_introspect_write_default_interfaces ();
    0x0007d53c move fp, v0                   |     fp = v0;
    0x0007d540 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0007d544 bltz v0, 0x7d72c              |         goto label_4;
                                             |     }
    0x0007d548 lw t9, -0x7de8(gp)            |     t9 = sym.internal_hashmap_size;
    0x0007d54c lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x0007d550 bal 0x9638c                   |     sym_internal_hashmap_size ();
    0x0007d554 lw s7, 0x18(s5)               |     s7 = *((s5 + 6));
    0x0007d558 sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x0007d55c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0007d560 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
                                             |     if (s7 == 0) {
    0x0007d564 beqz s7, 0x7d6cc              |         goto label_9;
                                             |     }
    0x0007d568 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0007d56c move s6, zero                 |     s6 = 0;
    0x0007d570 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x0007d574 lw v0, -0x7594(gp)            |     v0 = *(gp);
                                             |     /* fcn.0007c2d4 */
    0x0007d578 addiu v0, v0, -0x3d2c         |     v0 += -0x3d2c;
    0x0007d57c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0007d580 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
                                             |     /* str.__interface_name__s___n */
    0x0007d584 addiu v0, v0, -0x515c         |     v0 += -0x515c;
    0x0007d588 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x0007d58c b 0x7d628                     |     goto label_2;
                                             | label_1:
    0x0007d590 lw t9, -0x7c00(gp)            |     t9 = sym.strcmp_ptr;
    0x0007d594 move a1, a3                   |     a1 = a3;
    0x0007d598 sw a3, 0x28(sp)               |     *(var_28h_2) = a3;
    0x0007d59c move a0, s6                   |     a0 = s6;
    0x0007d5a0 jalr t9                       |     t9 ();
    0x0007d5a4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0007d5a8 beqz v0, 0x7d5f8              |         
    0x0007d5ac lw a0, 0x44(sp)               |         a0 = *(var_44h);
    0x0007d5b0 lw a3, 0x28(sp)               |         a3 = *(var_28h_2);
                                             |         if (s6 != 0) {
    0x0007d5b4 beqz s6, 0x7d5e0              |             
    0x0007d5b8 lw v0, 0x3c(sp)               |             v0 = *(var_3ch);
    0x0007d5bc lw t9, -0x6e8c(gp)            |             t9 = sym.imp.fwrite;
    0x0007d5c0 move a3, a0                   |             a3 = a0;
    0x0007d5c4 addiu a2, zero, 0xe           |             a2 = 0xe;
    0x0007d5c8 addiu a0, v0, -0x1e60         |             a0 = v0 + -0x1e60;
    0x0007d5cc addiu a1, zero, 1             |             a1 = 1;
    0x0007d5d0 jalr t9                       |             t9 ();
    0x0007d5d4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0007d5d8 lw a0, 0x44(sp)               |             a0 = *(var_44h);
    0x0007d5dc lw a3, 0xc(s7)                |             a3 = *((s7 + 3));
                                             |         }
    0x0007d5e0 lw t9, -0x70d0(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0007d5e4 lw a2, 0x38(sp)               |         a2 = *(var_38h);
    0x0007d5e8 addiu a1, zero, 1             |         a1 = 1;
    0x0007d5ec jalr t9                       |         t9 ();
    0x0007d5f0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0007d5f4 lw fp, 0x10(s7)               |         fp = *((s7 + 4));
                                             |     }
    0x0007d5f8 lw t9, -0x7528(gp)            |     t9 = sym.introspect_write_interface;
    0x0007d5fc move a1, fp                   |     a1 = fp;
    0x0007d600 move a0, s4                   |     a0 = s4;
    0x0007d604 bal 0x882dc                   |     sym_introspect_write_interface ();
    0x0007d608 move fp, v0                   |     fp = v0;
    0x0007d60c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0007d610 bltz v0, 0x7d72c              |         goto label_4;
                                             |     }
    0x0007d614 lw s6, 0xc(s7)                |     s6 = *((s7 + 3));
    0x0007d618 sw zero, 0x28(sp)             |     *(var_28h_2) = 0;
    0x0007d61c lw s7, 0x18(s7)               |     s7 = *((s7 + 6));
                                             |     do {
                                             |         if (s7 == 0) {
                                             | label_0:
    0x0007d620 beqz s7, 0x7d6a8              |             goto label_10;
                                             |         }
    0x0007d624 nop                           |         
                                             | label_2:
    0x0007d628 lw t9, 0x20(sp)               |         t9 = *(var_20h);
                                             |         if (s1 == 0) {
    0x0007d62c beqz s1, 0x7d640              |             goto label_11;
                                             |         }
    0x0007d630 lw v0, 4(s7)                  |         v0 = *((s7 + 1));
    0x0007d634 andi v0, v0, 1                |         v0 &= 1;
    0x0007d638 beql v0, zero, 0x7d620        |         
                                             |     } while (v0 == 0);
    0x0007d63c lw s7, 0x18(s7)               |     s7 = *((s7 + 6));
                                             | label_11:
    0x0007d640 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x0007d644 move a3, zero                 |     a3 = 0;
    0x0007d648 move a2, s7                   |     a2 = s7;
    0x0007d64c move a1, s2                   |     a1 = s2;
    0x0007d650 move a0, s0                   |     a0 = s0;
    0x0007d654 jalr t9                       |     t9 ();
    0x0007d658 move fp, v0                   |     fp = v0;
    0x0007d65c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0007d660 bltz v0, 0x7d72c              |         goto label_4;
                                             |     }
    0x0007d664 lw v0, 0x1c(s0)               |     v0 = *((s0 + 7));
    0x0007d668 andi v0, v0, 0x200            |     v0 &= aav.0x00000200;
    0x0007d66c lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (v0 == 0) {
    0x0007d670 beqz v0, 0x7d67c              |         goto label_12;
                                             |     }
                                             |     if (v0 == 0) {
    0x0007d674 beql v0, zero, 0x7d72c        |         goto label_4;
                                             |     }
    0x0007d678 move fp, zero                 |     fp = 0;
                                             |     if (fp == 0) {
                                             | label_12:
    0x0007d67c beql fp, zero, 0x7d620        |         goto label_0;
                                             |     }
    0x0007d680 lw s7, 0x18(s7)               |     s7 = *((s7 + 6));
    0x0007d684 lw fp, 0x10(s7)               |     fp = *((s7 + 4));
    0x0007d688 lwl v0, 4(fp)                 |     __asm ("lwl v0, (arg_4h)");
    0x0007d68c lwr v0, 1(fp)                 |     __asm ("lwr v0, (arg_1h)");
    0x0007d690 andi v0, v0, 2                |     v0 &= 2;
                                             |     if (v0 == 0) {
    0x0007d694 beql v0, zero, 0x7d590        |         goto label_1;
                                             |     }
    0x0007d698 lw a3, 0xc(s7)                |     a3 = *((s7 + 3));
    0x0007d69c lw s7, 0x18(s7)               |     s7 = *((s7 + 6));
    0x0007d6a0 sw zero, 0x28(sp)             |     *(var_28h_2) = 0;
                                             |     if (s7 != 0) {
    0x0007d6a4 bnez s7, 0x7d628              |         goto label_2;
                                             |     }
                                             | label_10:
    0x0007d6a8 lw t9, -0x6e8c(gp)            |     t9 = sym.imp.fwrite;
                                             |     if (s6 != 0) {
    0x0007d6ac beqz s6, 0x7d6cc              |         
    0x0007d6b0 lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0007d6b4 lw a3, 0x44(sp)               |         a3 = *(var_44h);
    0x0007d6b8 addiu a2, zero, 0xe           |         a2 = 0xe;
    0x0007d6bc addiu a1, zero, 1             |         a1 = 1;
                                             |         /* esilref: ' </interface>
' */
    0x0007d6c0 addiu a0, a0, -0x1e60         |         a0 += -0x1e60;
    0x0007d6c4 jalr t9                       |         t9 ();
    0x0007d6c8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
                                             | label_9:
    0x0007d6cc lw v0, 0x28(sp)               |     v0 = *(var_28h_2);
    0x0007d6d0 lw t9, -0x7594(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x0007d6d4 bnez v0, 0x7d7c8              |         goto label_13;
                                             |     }
    0x0007d6d8 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             | label_5:
    0x0007d6dc lw v1, 0x30(sp)               |     v1 = *(var_30h);
                                             |     if (v0 != 0) {
    0x0007d6e0 beqz v0, 0x7d6ec              |         
    0x0007d6e4 addiu v0, zero, 1             |         v0 = 1;
    0x0007d6e8 sb v0, (v1)                   |         *(v1) = v0;
                                             |     }
    0x0007d6ec lw t9, -0x7524(gp)            |     t9 = sym.introspect_write_child_nodes;
    0x0007d6f0 lw a1, 0x40(sp)               |     a1 = *(var_40h);
    0x0007d6f4 move a2, s2                   |     a2 = s2;
    0x0007d6f8 move a0, s4                   |     a0 = s4;
    0x0007d6fc bal 0x881ac                   |     sym_introspect_write_child_nodes ();
    0x0007d700 move fp, v0                   |     fp = v0;
    0x0007d704 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 >= 0) {
    0x0007d708 bltz v0, 0x7d72c              |         
    0x0007d70c lw t9, -0x7520(gp)            |         t9 = sym.introspect_finish;
    0x0007d710 lw a1, 0x34(sp)               |         a1 = *(var_34h);
    0x0007d714 move a0, s4                   |         a0 = s4;
    0x0007d718 bal 0x886d4                   |         sym_introspect_finish ();
    0x0007d71c move fp, v0                   |         fp = v0;
    0x0007d720 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x0007d724 bltz v0, 0x7d72c              |             goto label_4;
                                             |         }
    0x0007d728 addiu fp, zero, 1             |         fp = 1;
                                             |     }
                                             | label_4:
    0x0007d72c lw t9, -0x751c(gp)            |     t9 = sym.introspect_free;
    0x0007d730 move a0, s4                   |     a0 = s4;
    0x0007d734 bal 0x88790                   |     sym_introspect_free ();
    0x0007d738 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x0007d73c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != 0) {
    0x0007d740 beqz a0, 0x7d758              |         
    0x0007d744 lw t9, -0x7e94(gp)            |         t9 = sym.internal_hashmap_free;
    0x0007d748 lw a1, -0x6dc8(gp)            |         a1 = *((gp - 7026));
    0x0007d74c move a2, zero                 |         a2 = 0;
    0x0007d750 bal 0x96568                   |         sym_internal_hashmap_free ();
    0x0007d754 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x0007d758 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x0007d75c lw a0, 0x54(sp)               |     a0 = *(var_54h);
    0x0007d760 lw v1, (v0)                   |     v1 = *(v0);
    0x0007d764 move v0, fp                   |     v0 = fp;
                                             |     if (a0 != v1) {
    0x0007d768 bne a0, v1, 0x7d810           |         goto label_14;
                                             |     }
    0x0007d76c lw ra, 0x7c(sp)               |     ra = *(var_7ch);
    0x0007d770 lw fp, 0x78(sp)               |     fp = *(var_78h);
    0x0007d774 lw s7, 0x74(sp)               |     s7 = *(var_74h);
    0x0007d778 lw s6, 0x70(sp)               |     s6 = *(var_70h);
    0x0007d77c lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
    0x0007d780 lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x0007d784 lw s3, 0x64(sp)               |     s3 = *(var_64h);
    0x0007d788 lw s2, 0x60(sp)               |     s2 = *(var_60h);
    0x0007d78c lw s1, 0x5c(sp)               |     s1 = *(var_5ch);
    0x0007d790 lw s0, 0x58(sp)               |     s0 = *(var_58h);
    0x0007d794 addiu sp, sp, 0x80            |     
    0x0007d798 jr ra                         |     return v0;
                                             | label_6:
    0x0007d79c lw t9, -0x7c24(gp)            |     t9 = sym.internal_hashmap_get;
    0x0007d7a0 lw a0, 0x90(a0)               |     a0 = *((a0 + 36));
    0x0007d7a4 bal 0x95d44                   |     sym_internal_hashmap_get ();
    0x0007d7a8 move s5, v0                   |     s5 = v0;
    0x0007d7ac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0007d7b0 bnez v0, 0x7d4b4              |         goto label_3;
                                             |     }
    0x0007d7b4 addiu fp, zero, -2            |     fp = -2;
                                             | label_7:
    0x0007d7b8 addiu s4, sp, 0x44            |     s4 = sp + 0x44;
    0x0007d7bc b 0x7d72c                     |     goto label_4;
                                             | label_8:
    0x0007d7c0 move fp, zero                 |     fp = 0;
    0x0007d7c4 b 0x7d72c                     |     goto label_4;
                                             | label_13:
    0x0007d7c8 move a3, s1                   |     a3 = s1;
    0x0007d7cc move a2, s2                   |     a2 = s2;
    0x0007d7d0 move a1, s5                   |     a1 = s5;
                                             |     /* fcn.0007ca88 */
    0x0007d7d4 addiu t9, t9, -0x3578         |     t9 += -0x3578;
    0x0007d7d8 move a0, s0                   |     a0 = s0;
    0x0007d7dc bal 0x7ca88                   |     fcn_0007ca88 ();
    0x0007d7e0 move fp, v0                   |     fp = v0;
    0x0007d7e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x0007d7e8 blez v0, 0x7d72c              |         goto label_4;
                                             |     }
    0x0007d7ec lw v0, 0x1c(s0)               |     v0 = *((s0 + 7));
    0x0007d7f0 andi v0, v0, 0x200            |     v0 &= aav.0x00000200;
    0x0007d7f4 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             |     if (v0 == 0) {
    0x0007d7f8 beqz v0, 0x7d6dc              |         goto label_5;
                                             |     }
    0x0007d7fc lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x0007d800 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             |     if (v0 != 0) {
    0x0007d804 bnez v0, 0x7d6dc              |         goto label_5;
                                             |     }
    0x0007d808 move fp, zero                 |     fp = 0;
    0x0007d80c b 0x7d72c                     |     goto label_4;
                                             | label_14:
    0x0007d810 lw t9, -0x6e2c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0007d814 jalr t9                       |     t9 ();
    0x0007d818 nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x881ac */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.introspect_write_child_nodes ()      | void introspect_write_child_nodes () {
    0x000881ac lui gp, 7                             |     
    0x000881b0 addiu gp, gp, 0x70d4                  |     
    0x000881b4 addu gp, gp, t9                       |     gp += t9;
    0x000881b8 addiu sp, sp, -0x38                   |     
    0x000881bc sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x000881c0 sw ra, 0x34(sp)                       |     *(var_34h) = ra;
    0x000881c4 sw s4, 0x30(sp)                       |     *(var_30h) = s4;
    0x000881c8 sw s3, 0x2c(sp)                       |     *(var_2ch) = s3;
    0x000881cc sw s2, 0x28(sp)                       |     *(var_28h) = s2;
    0x000881d0 sw s1, 0x24(sp)                       |     *(var_24h) = s1;
    0x000881d4 sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x000881d8 lw v0, -0x7fd8(gp)                    |     v0 = *(gp);
                                                     |     if (a0 == 0) {
    0x000881dc beqz a0, 0x88290                      |         goto label_2;
                                                     |     }
    0x000881e0 move s1, a2                           |     s1 = a2;
                                                     |     if (a2 == 0) {
    0x000881e4 beqz a2, 0x882b4                      |         goto label_3;
                                                     |     }
    0x000881e8 lw s3, -0x7fd8(gp)                    |     s3 = *(gp);
    0x000881ec move s4, a0                           |     s4 = a0;
    0x000881f0 move s2, a1                           |     s2 = a1;
                                                     |     /* str.__node_name__s____n */
    0x000881f4 addiu s3, s3, -0x1e50                 |     s3 += -0x1e50;
    0x000881f8 b 0x8820c                             |     
                                                     |     while (v0 == 0) {
                                                     | label_1:
    0x000881fc lw t9, -0x6dc8(gp)                    |         t9 = *((gp - 7026));
                                                     | label_0:
    0x00088200 move a0, s0                           |         a0 = s0;
    0x00088204 jalr t9                               |         t9 ();
    0x00088208 lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x0008820c lw t9, -0x7758(gp)                    |         t9 = sym.internal_hashmap_first_key_and_value;
    0x00088210 move a2, zero                         |         a2 = 0;
    0x00088214 addiu a1, zero, 1                     |         a1 = 1;
    0x00088218 move a0, s2                           |         a0 = s2;
    0x0008821c bal 0x96214                           |         sym_internal_hashmap_first_key_and_value ();
    0x00088220 move s0, v0                           |         s0 = v0;
    0x00088224 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 == 0) {
    0x00088228 beqz v0, 0x88270                      |             goto label_4;
                                                     |         }
    0x0008822c lw t9, -0x7540(gp)                    |         t9 = sym.object_path_startswith;
    0x00088230 move a1, s1                           |         a1 = s1;
    0x00088234 move a0, s0                           |         a0 = s0;
    0x00088238 jalr t9                               |         t9 ();
    0x0008823c lw gp, 0x18(sp)                       |         gp = *(var_18h);
    0x00088240 beqz v0, 0x881fc                      |         
                                                     |     }
    0x00088244 lb v1, (v0)                           |     v1 = *(v0);
    0x00088248 lw t9, -0x6dc8(gp)                    |     t9 = *((gp - 7026));
                                                     |     if (v1 == 0) {
    0x0008824c beqz v1, 0x88200                      |         goto label_0;
                                                     |     }
    0x00088250 lw t9, -0x70d0(gp)                    |     t9 = sym.imp.__fprintf_chk
    0x00088254 lw a0, (s4)                           |     a0 = *(s4);
    0x00088258 move a3, v0                           |     a3 = v0;
    0x0008825c move a2, s3                           |     a2 = s3;
    0x00088260 addiu a1, zero, 1                     |     a1 = 1;
    0x00088264 jalr t9                               |     t9 ();
    0x00088268 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x0008826c b 0x881fc                             |     goto label_1;
                                                     | label_4:
    0x00088270 lw ra, 0x34(sp)                       |     ra = *(var_34h);
    0x00088274 lw s4, 0x30(sp)                       |     s4 = *(var_30h);
    0x00088278 lw s3, 0x2c(sp)                       |     s3 = *(var_2ch);
    0x0008827c lw s2, 0x28(sp)                       |     s2 = *(var_28h);
    0x00088280 lw s1, 0x24(sp)                       |     s1 = *(var_24h);
    0x00088284 lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x00088288 addiu sp, sp, 0x38                    |     
    0x0008828c jr ra                                 |     return v0;
                                                     | label_2:
    0x00088290 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00088294 lw a1, -0x7fd8(gp)                    |     a1 = *(gp);
                                                     |     /* str.introspect_write_child_nodes */
    0x00088298 addiu v0, v0, -0x1d04                 |     v0 += -0x1d04;
    0x0008829c lw t9, -0x7f88(gp)                    |     t9 = sym.log_assert_failed_realm;
    0x000882a0 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x000882a4 addiu a3, zero, 0x2d                  |     a3 = 0x2d;
                                                     |     /* esilref: 'src/libsystemd/sd-bus/bus-introspect.c' */
    0x000882a8 addiu a2, a2, -0x253d                 |     a2 += -0x253d;
    0x000882ac addiu a1, a1, -0x3f2c                 |     a1 += -0x3f2c;
    0x000882b0 bal 0x991c4                           |     sym_log_assert_failed_realm ();
                                                     | label_3:
    0x000882b4 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x000882b8 lw a1, -0x7fd8(gp)                    |     a1 = *(gp);
    0x000882bc addiu v0, v0, -0x1d04                 |     v0 += -0x1d04;
    0x000882c0 lw t9, -0x7f88(gp)                    |     t9 = sym.log_assert_failed_realm;
    0x000882c4 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x000882c8 addiu a3, zero, 0x2e                  |     a3 = 0x2e;
                                                     |     /* esilref: 'src/libsystemd/sd-bus/bus-introspect.c' */
    0x000882cc addiu a2, a2, -0x253d                 |     a2 += -0x253d;
                                                     |     /* str.prefix */
    0x000882d0 addiu a1, a1, -0x5214                 |     a1 += -0x5214;
    0x000882d4 move a0, zero                         |     a0 = 0;
    0x000882d8 bal 0x991c4                           |     return sym_log_assert_failed_realm ();
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/libexec/udevadm @ 0x882dc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.introspect_write_interface ()        | void introspect_write_interface () {
    0x000882dc lui gp, 7                             |     
    0x000882e0 addiu gp, gp, 0x6fa4                  |     
    0x000882e4 addu gp, gp, t9                       |     gp += t9;
    0x000882e8 addiu sp, sp, -0x60                   |     
    0x000882ec sw s5, 0x4c(sp)                       |     *(var_4ch) = s5;
    0x000882f0 lw s5, -0x6de8(gp)                    |     s5 = *((gp - 7034));
    0x000882f4 sw s2, 0x40(sp)                       |     *(var_40h) = s2;
    0x000882f8 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x000882fc sw ra, 0x5c(sp)                       |     *(var_5ch) = ra;
    0x00088300 sw fp, 0x58(sp)                       |     *(var_58h) = fp;
    0x00088304 sw s7, 0x54(sp)                       |     *(var_54h) = s7;
    0x00088308 sw s6, 0x50(sp)                       |     *(var_50h) = s6;
    0x0008830c sw s4, 0x48(sp)                       |     *(var_48h) = s4;
    0x00088310 sw s3, 0x44(sp)                       |     *(var_44h) = s3;
    0x00088314 sw s1, 0x3c(sp)                       |     *(var_3ch) = s1;
    0x00088318 sw s0, 0x38(sp)                       |     *(var_38h) = s0;
    0x0008831c lw s2, -0x7fd4(gp)                    |     s2 = *(gp);
    0x00088320 lw v0, (s5)                           |     v0 = *(s5);
    0x00088324 addiu s2, s2, 0x6f60                  |     s2 += 0x6f60;
    0x00088328 sw v0, 0x34(sp)                       |     *(var_34h) = v0;
    0x0008832c sw s2, 0x30(sp)                       |     *(var_30h) = s2;
                                                     |     if (a0 == 0) {
    0x00088330 beqz a0, 0x88674                      |         goto label_3;
                                                     |     }
    0x00088334 move s1, a1                           |     s1 = a1;
                                                     |     if (a1 == 0) {
    0x00088338 beqz a1, 0x8869c                      |         goto label_4;
                                                     |     }
    0x0008833c lbu v0, (a1)                          |     v0 = *(a1);
    0x00088340 move s0, a0                           |     s0 = a0;
    0x00088344 addiu a0, zero, 0x3e                  |     a0 = 0x3e;
    0x00088348 move fp, a1                           |     fp = a1;
                                                     |     if (v0 == a0) {
    0x0008834c beq v0, a0, 0x8862c                   |         goto label_5;
                                                     |     }
    0x00088350 lw v1, -0x7fd8(gp)                    |     v1 = *(gp);
    0x00088354 lw s6, -0x7fd8(gp)                    |     s6 = *(gp);
    0x00088358 lw s3, -0x7594(gp)                    |     s3 = *(gp);
    0x0008835c lw s4, -0x7fd8(gp)                    |     s4 = *(gp);
    0x00088360 sw v1, 0x2c(sp)                       |     *(var_2ch_2) = v1;
                                                     |     /* str.readwrite */
    0x00088364 addiu v1, s6, -0x1e3c                 |     v1 = s6 + -0x1e3c;
    0x00088368 lw s7, -0x7fd8(gp)                    |     s7 = *(gp);
                                                     |     /* fcn.00087c6c */
    0x0008836c addiu s3, s3, 0x7c6c                  |     s3 += 0x7c6c;
    0x00088370 sw v1, 0x28(sp)                       |     *(var_28h_2) = v1;
                                                     |     /* str.read */
    0x00088374 addiu s4, s4, -0x1e30                 |     s4 += -0x1e30;
    0x00088378 b 0x88474                             |     
                                                     |     while (v0 != a1) {
    0x0008837c andi a0, a0, 2                        |         a0 &= 2;
    0x00088380 addiu a0, zero, 0x50                  |         a0 = 0x50;
                                                     |         if (a0 == 0) {
    0x00088384 bnez a0, 0x88450                      |             
    0x00088388 sltiu a0, v0, 0x51                    |             a0 = (v0 < 0x51) ? 1 : 0;
                                                     |             if (v0 == a0) {
    0x0008838c beq v0, a0, 0x884bc                   |                 goto label_6;
                                                     |             }
    0x00088390 addiu a0, zero, 0x53                  |             a0 = 0x53;
                                                     |             if (a0 != 0) {
    0x00088394 bnez a0, 0x88540                      |                 goto label_7;
                                                     |             }
    0x00088398 addiu a0, zero, 0x57                  |             a0 = 0x57;
                                                     |             if (v0 == a0) {
    0x0008839c bnel v0, a0, 0x884b4                  |                 goto label_8;
                                                     |             }
    0x000883a0 lw a2, -0x7fd8(gp)                    |             a2 = *(gp);
    0x000883a4 lw t9, -0x70d0(gp)                    |             t9 = sym.imp.__fprintf_chk
    0x000883a8 lw a3, 8(fp)                          |             a3 = *(arg_8h);
    0x000883ac lw a0, (s0)                           |             a0 = *(s0);
                                                     |             /* str.___signal_name__s___n */
    0x000883b0 addiu a2, a2, -0x1d78                 |             a2 += -0x1d78;
    0x000883b4 addiu a1, zero, 1                     |             a1 = 1;
    0x000883b8 jalr t9                               |             t9 ();
    0x000883bc lw gp, 0x18(sp)                       |             gp = *(var_18h);
    0x000883c0 lw t9, -0x7474(gp)                    |             t9 = sym.bus_vtable_has_names;
    0x000883c4 move a0, s1                           |             a0 = s1;
    0x000883c8 bal 0x7d9b8                           |             sym_bus_vtable_has_names ();
    0x000883cc lw gp, 0x18(sp)                       |             gp = *(var_18h);
                                                     |             if (v0 != 0) {
    0x000883d0 beqz v0, 0x883e0                      |                 
    0x000883d4 lw v0, 0x1c(fp)                       |                 v0 = *(arg_1ch);
                                                     |                 if (v0 != 0) {
    0x000883d8 movz v0, s2, v0                       |                     v0 = s2;
                                                     |                 }
    0x000883dc sw v0, 0x30(sp)                       |                 *(var_30h) = v0;
                                                     |             }
    0x000883e0 lw t9, -0x7594(gp)                    |             t9 = *(gp);
    0x000883e4 lw a1, 0xc(fp)                        |             a1 = *(arg_ch);
    0x000883e8 move a3, zero                         |             a3 = 0;
    0x000883ec addiu a2, sp, 0x30                    |             a2 = sp + 0x30;
                                                     |             if (a1 != 0) {
    0x000883f0 movz a1, s2, a1                       |                 a1 = s2;
                                                     |             }
                                                     |             /* fcn.00087e64 */
    0x000883f4 addiu t9, t9, 0x7e64                  |             t9 += 0x7e64;
    0x000883f8 move a0, s0                           |             a0 = s0;
    0x000883fc bal 0x87e64                           |             fcn_00087e64 ();
    0x00088400 lwl a3, 4(fp)                         |             __asm ("lwl a3, (arg_4h)");
    0x00088404 lw v0, 4(fp)                          |             v0 = *(arg_4h);
    0x00088408 lbu a2, (fp)                          |             a2 = *(fp);
    0x0008840c lwr a3, 1(fp)                         |             __asm ("lwr a3, (arg_1h)");
    0x00088410 ext v0, v0, 8, 0x18                   |             __asm ("ext v0, v0, 8, 0x18");
    0x00088414 addiu a1, s0, 0xc                     |             a1 = s0 + 0xc;
    0x00088418 move a0, s0                           |             a0 = s0;
    0x0008841c sw a3, 0x10(sp)                       |             *(var_10h) = a3;
    0x00088420 move t9, s3                           |             t9 = s3;
    0x00088424 sw v0, 0x14(sp)                       |             *(var_14h) = v0;
    0x00088428 bal 0x87c6c                           |             fcn_00087c6c ();
    0x0008842c lw gp, 0x18(sp)                       |             gp = *(var_18h);
    0x00088430 lw a3, (s0)                           |             a3 = *(s0);
    0x00088434 addiu a2, zero, 0xc                   |             a2 = 0xc;
    0x00088438 lw a0, -0x7fd8(gp)                    |             a0 = *(gp);
    0x0008843c lw t9, -0x6e8c(gp)                    |             t9 = sym.imp.fwrite;
    0x00088440 addiu a1, zero, 1                     |             a1 = 1;
                                                     |             /* str.____signal__n */
    0x00088444 addiu a0, a0, -0x1d60                 |             a0 += -0x1d60;
    0x00088448 jalr t9                               |             t9 ();
    0x0008844c lw gp, 0x18(sp)                       |             gp = *(var_18h);
                                                     |         }
                                                     | label_1:
    0x00088450 lw t9, -0x7514(gp)                    |         t9 = sym.bus_vtable_next;
                                                     | label_0:
    0x00088454 move a1, fp                           |         a1 = fp;
    0x00088458 move a0, s1                           |         a0 = s1;
    0x0008845c bal 0x7d9f0                           |         sym_bus_vtable_next ();
    0x00088460 move fp, v0                           |         fp = v0;
    0x00088464 lbu v0, (v0)                          |         v0 = *(v0);
    0x00088468 addiu a0, zero, 0x3e                  |         a0 = 0x3e;
    0x0008846c lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 == a0) {
    0x00088470 beq v0, a0, 0x8862c                   |             goto label_5;
                                                     |         }
    0x00088474 lwl a0, 4(fp)                         |         __asm ("lwl a0, (arg_4h)");
    0x00088478 addiu a1, zero, 0x3c                  |         a1 = 0x3c;
    0x0008847c lwr a0, 1(fp)                         |         __asm ("lwr a0, (arg_1h)");
    0x00088480 bne v0, a1, 0x8837c                   |         
                                                     |     }
    0x00088484 andi a0, a0, 1                        |     a0 &= 1;
    0x00088488 lw t9, -0x7514(gp)                    |     t9 = sym.bus_vtable_next;
                                                     |     if (a0 == 0) {
    0x0008848c beqz a0, 0x88454                      |         goto label_0;
                                                     |     }
    0x00088490 lw v0, 0x2c(sp)                       |     v0 = *(var_2ch_2);
    0x00088494 lw t9, -0x6e8c(gp)                    |     t9 = sym.imp.fwrite;
    0x00088498 lw a3, (s0)                           |     a3 = *(s0);
    0x0008849c addiu a2, zero, 0x44                  |     a2 = 0x44;
    0x000884a0 addiu a1, zero, 1                     |     a1 = 1;
    0x000884a4 addiu a0, v0, -0x1e28                 |     a0 = v0 + -aav.0x00001e28;
    0x000884a8 jalr t9                               |     t9 ();
    0x000884ac lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000884b0 b 0x88450                             |     goto label_1;
                                                     | label_8:
    0x000884b4 lw t9, -0x7514(gp)                    |     t9 = sym.bus_vtable_next;
                                                     |     if (v0 != a0) {
    0x000884b8 bne v0, a0, 0x88454                   |         goto label_0;
                                                     |     }
                                                     | label_6:
    0x000884bc addiu a1, zero, 0x57                  |     a1 = 0x57;
    0x000884c0 lw a0, (s0)                           |     a0 = *(s0);
    0x000884c4 lw a3, 8(fp)                          |     a3 = *(arg_8h);
    0x000884c8 lw t0, 0xc(fp)                        |     t0 = *(arg_ch);
                                                     |     if (v0 == a1) {
    0x000884cc beq v0, a1, 0x8866c                   |         goto label_9;
                                                     |     }
    0x000884d0 move v0, s4                           |     v0 = s4;
                                                     | label_2:
    0x000884d4 lw t9, -0x70d0(gp)                    |     t9 = sym.imp.__fprintf_chk
    0x000884d8 sw t0, 0x10(sp)                       |     *(var_10h) = t0;
                                                     |     /* str.___property_name__s__type__s__access__s___n */
    0x000884dc addiu a2, s7, -0x1db8                 |     a2 = s7 + -0x1db8;
    0x000884e0 addiu a1, zero, 1                     |     a1 = 1;
    0x000884e4 sw v0, 0x14(sp)                       |     *(var_14h) = v0;
    0x000884e8 jalr t9                               |     t9 ();
    0x000884ec lwl a3, 4(fp)                         |     __asm ("lwl a3, (arg_4h)");
    0x000884f0 lw v0, 4(fp)                          |     v0 = *(arg_4h);
    0x000884f4 lbu a2, (fp)                          |     a2 = *(fp);
    0x000884f8 lwr a3, 1(fp)                         |     __asm ("lwr a3, (arg_1h)");
    0x000884fc ext v0, v0, 8, 0x18                   |     __asm ("ext v0, v0, 8, 0x18");
    0x00088500 addiu a1, s0, 0xc                     |     a1 = s0 + 0xc;
    0x00088504 move a0, s0                           |     a0 = s0;
    0x00088508 sw a3, 0x10(sp)                       |     *(var_10h) = a3;
    0x0008850c move t9, s3                           |     t9 = s3;
    0x00088510 sw v0, 0x14(sp)                       |     *(var_14h) = v0;
    0x00088514 bal 0x87c6c                           |     fcn_00087c6c ();
    0x00088518 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x0008851c lw a3, (s0)                           |     a3 = *(s0);
    0x00088520 addiu a2, zero, 0xe                   |     a2 = 0xe;
    0x00088524 lw a0, -0x7fd8(gp)                    |     a0 = *(gp);
    0x00088528 lw t9, -0x6e8c(gp)                    |     t9 = sym.imp.fwrite;
    0x0008852c addiu a1, zero, 1                     |     a1 = 1;
                                                     |     /* str.____property__n */
    0x00088530 addiu a0, a0, -0x1d88                 |     a0 += -0x1d88;
    0x00088534 jalr t9                               |     t9 ();
    0x00088538 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x0008853c b 0x88450                             |     goto label_1;
                                                     | label_7:
    0x00088540 addiu a0, zero, 0x4d                  |     a0 = 0x4d;
    0x00088544 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
                                                     |     if (v0 != a0) {
    0x00088548 bne v0, a0, 0x88450                   |         goto label_1;
                                                     |     }
    0x0008854c lw t9, -0x70d0(gp)                    |     t9 = sym.imp.__fprintf_chk
    0x00088550 lw a3, 8(fp)                          |     a3 = *(arg_8h);
    0x00088554 lw a0, (s0)                           |     a0 = *(s0);
                                                     |     /* str.___method_name__s___n */
    0x00088558 addiu a2, a2, -0x1de0                 |     a2 += -0x1de0;
    0x0008855c addiu a1, zero, 1                     |     a1 = 1;
    0x00088560 jalr t9                               |     t9 ();
    0x00088564 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00088568 lw t9, -0x7474(gp)                    |     t9 = sym.bus_vtable_has_names;
    0x0008856c move a0, s1                           |     a0 = s1;
    0x00088570 bal 0x7d9b8                           |     sym_bus_vtable_has_names ();
    0x00088574 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 != 0) {
    0x00088578 beqz v0, 0x88588                      |         
    0x0008857c lw v0, 0x1c(fp)                       |         v0 = *(arg_1ch);
                                                     |         if (v0 != 0) {
    0x00088580 movz v0, s2, v0                       |             v0 = s2;
                                                     |         }
    0x00088584 sw v0, 0x30(sp)                       |         *(var_30h) = v0;
                                                     |     }
    0x00088588 lw t9, -0x7594(gp)                    |     t9 = *(gp);
    0x0008858c lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x00088590 lw a1, 0xc(fp)                        |     a1 = *(arg_ch);
                                                     |     /* fcn.00087e64 */
    0x00088594 addiu t9, t9, 0x7e64                  |     t9 += 0x7e64;
    0x00088598 addiu s6, sp, 0x30                    |     s6 = sp + 0x30;
                                                     |     /* esilref: 'in' */
    0x0008859c addiu a3, a3, 0x42fc                  |     a3 += 0x42fc;
    0x000885a0 move a2, s6                           |     a2 = s6;
                                                     |     if (a1 != 0) {
    0x000885a4 movz a1, s2, a1                       |         a1 = s2;
                                                     |     }
    0x000885a8 move a0, s0                           |     a0 = s0;
    0x000885ac sw t9, 0x24(sp)                       |     *(var_24h_3) = t9;
    0x000885b0 bal 0x87e64                           |     fcn_00087e64 ();
    0x000885b4 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000885b8 lw a1, 0x10(fp)                       |     a1 = *(arg_10h);
    0x000885bc lw t9, 0x24(sp)                       |     t9 = *(var_24h_3);
    0x000885c0 lw a3, -0x7fd4(gp)                    |     a3 = *(gp);
    0x000885c4 move a2, s6                           |     a2 = s6;
                                                     |     /* esilref: 'out' */
    0x000885c8 addiu a3, a3, 0x629c                  |     a3 += 0x629c;
                                                     |     if (a1 != 0) {
    0x000885cc movz a1, s2, a1                       |         a1 = s2;
                                                     |     }
    0x000885d0 move a0, s0                           |     a0 = s0;
    0x000885d4 jalr t9                               |     t9 ();
    0x000885d8 lwl a3, 4(fp)                         |     __asm ("lwl a3, (arg_4h)");
    0x000885dc lw v0, 4(fp)                          |     v0 = *(arg_4h);
    0x000885e0 lbu a2, (fp)                          |     a2 = *(fp);
    0x000885e4 lwr a3, 1(fp)                         |     __asm ("lwr a3, (arg_1h)");
    0x000885e8 ext v0, v0, 8, 0x18                   |     __asm ("ext v0, v0, 8, 0x18");
    0x000885ec addiu a1, s0, 0xc                     |     a1 = s0 + 0xc;
    0x000885f0 move a0, s0                           |     a0 = s0;
    0x000885f4 sw a3, 0x10(sp)                       |     *(var_10h) = a3;
    0x000885f8 move t9, s3                           |     t9 = s3;
    0x000885fc sw v0, 0x14(sp)                       |     *(var_14h) = v0;
    0x00088600 bal 0x87c6c                           |     fcn_00087c6c ();
    0x00088604 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00088608 lw a3, (s0)                           |     a3 = *(s0);
    0x0008860c addiu a2, zero, 0xc                   |     a2 = 0xc;
    0x00088610 lw a0, -0x7fd8(gp)                    |     a0 = *(gp);
    0x00088614 lw t9, -0x6e8c(gp)                    |     t9 = sym.imp.fwrite;
    0x00088618 addiu a1, zero, 1                     |     a1 = 1;
                                                     |     /* str.____method__n */
    0x0008861c addiu a0, a0, -0x1dc8                 |     a0 += -0x1dc8;
    0x00088620 jalr t9                               |     t9 ();
    0x00088624 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00088628 b 0x88450                             |     goto label_1;
                                                     | label_5:
    0x0008862c lw a0, 0x34(sp)                       |     a0 = *(var_34h);
    0x00088630 lw v1, (s5)                           |     v1 = *(s5);
    0x00088634 move v0, zero                         |     v0 = 0;
                                                     |     if (a0 == v1) {
    0x00088638 bne a0, v1, 0x886c8                   |         
    0x0008863c lw ra, 0x5c(sp)                       |         ra = *(var_5ch);
    0x00088640 lw fp, 0x58(sp)                       |         fp = *(var_58h);
    0x00088644 lw s7, 0x54(sp)                       |         s7 = *(var_54h);
    0x00088648 lw s6, 0x50(sp)                       |         s6 = *(var_50h);
    0x0008864c lw s5, 0x4c(sp)                       |         s5 = *(var_4ch);
    0x00088650 lw s4, 0x48(sp)                       |         s4 = *(var_48h);
    0x00088654 lw s3, 0x44(sp)                       |         s3 = *(var_44h);
    0x00088658 lw s2, 0x40(sp)                       |         s2 = *(var_40h);
    0x0008865c lw s1, 0x3c(sp)                       |         s1 = *(var_3ch);
    0x00088660 lw s0, 0x38(sp)                       |         s0 = *(var_38h);
    0x00088664 addiu sp, sp, 0x60                    |         
    0x00088668 jr ra                                 |         return v0;
                                                     | label_9:
    0x0008866c lw v0, 0x28(sp)                       |         v0 = *(var_28h_2);
    0x00088670 b 0x884d4                             |         goto label_2;
                                                     | label_3:
    0x00088674 lw v0, -0x7fd8(gp)                    |         v0 = *(gp);
    0x00088678 lw a2, -0x7fd8(gp)                    |         a2 = *(gp);
    0x0008867c lw a1, -0x7fd8(gp)                    |         a1 = *(gp);
                                                     |         /* str.introspect_write_interface */
    0x00088680 addiu v0, v0, -0x1d20                 |         v0 += -aav.0x00001d20;
    0x00088684 lw t9, -0x7f88(gp)                    |         t9 = sym.log_assert_failed_realm;
    0x00088688 sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x0008868c addiu a3, zero, 0x79                  |         a3 = 0x79;
                                                     |         /* esilref: 'src/libsystemd/sd-bus/bus-introspect.c' */
    0x00088690 addiu a2, a2, -0x253d                 |         a2 += -0x253d;
    0x00088694 addiu a1, a1, -0x3f2c                 |         a1 += -0x3f2c;
    0x00088698 bal 0x991c4                           |         sym_log_assert_failed_realm ();
                                                     | label_4:
    0x0008869c lw v0, -0x7fd8(gp)                    |         v0 = *(gp);
    0x000886a0 lw a2, -0x7fd8(gp)                    |         a2 = *(gp);
    0x000886a4 lw a1, -0x7fcc(gp)                    |         a1 = *(gp);
                                                     |         /* str.introspect_write_interface */
    0x000886a8 addiu v0, v0, -0x1d20                 |         v0 += -aav.0x00001d20;
    0x000886ac lw t9, -0x7f88(gp)                    |         t9 = sym.log_assert_failed_realm;
    0x000886b0 sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x000886b4 addiu a3, zero, 0x7a                  |         a3 = 0x7a;
                                                     |         /* esilref: 'src/libsystemd/sd-bus/bus-introspect.c' */
    0x000886b8 addiu a2, a2, -0x253d                 |         a2 += -0x253d;
    0x000886bc addiu a1, a1, -0x214c                 |         a1 += -0x214c;
    0x000886c0 move a0, zero                         |         a0 = 0;
    0x000886c4 bal 0x991c4                           |         sym_log_assert_failed_realm ();
                                                     |     }
    0x000886c8 lw t9, -0x6e2c(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x000886cc jalr t9                               |     t9 ();
    0x000886d0 nop                                   |     
                                                     | }

[*] Function fprintf used 16 times udevadm