[*] Binary protection state of systemd-udevd

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


[*] Function strcpy tear down of systemd-udevd

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x1c67c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001c67c ()                  | void fcn_0001c67c () {
    0x0001c67c lui gp, 0xb                   |     
    0x0001c680 addiu gp, gp, -0x550c         |     
    0x0001c684 addu gp, gp, t9               |     gp += t9;
    0x0001c688 addiu sp, sp, -0x450          |     
    0x0001c68c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0001c690 sw s2, 0x434(sp)              |     *(var_434h) = s2;
    0x0001c694 lw s2, -0x71f0(gp)            |     s2 = *((gp - 7292));
    0x0001c698 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0001c69c sw s3, 0x438(sp)              |     *(var_438h) = s3;
    0x0001c6a0 sw ra, 0x44c(sp)              |     *(var_44ch) = ra;
    0x0001c6a4 sw s7, 0x448(sp)              |     *(var_448h) = s7;
    0x0001c6a8 sw s6, 0x444(sp)              |     *(var_444h) = s6;
    0x0001c6ac sw s5, 0x440(sp)              |     *(var_440h) = s5;
    0x0001c6b0 sw s4, 0x43c(sp)              |     *(var_43ch) = s4;
    0x0001c6b4 sw s1, 0x430(sp)              |     *(var_430h) = s1;
    0x0001c6b8 sw s0, 0x42c(sp)              |     *(var_42ch) = s0;
    0x0001c6bc lw v0, (s2)                   |     v0 = *(s2);
    0x0001c6c0 lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
                                             |     /* esilref: '/*/' */
    0x0001c6c4 addiu a1, a1, -0x5134         |     a1 += -0x5134;
    0x0001c6c8 sw v0, 0x424(sp)              |     *(var_424h) = v0;
    0x0001c6cc move s3, a0                   |     s3 = a0;
    0x0001c6d0 jalr t9                       |     t9 ();
    0x0001c6d4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0001c6d8 beqz v0, 0x1c838              |         goto label_6;
                                             |     }
    0x0001c6dc lw t9, -0x7d2c(gp)            |     t9 = sym.strnpcpy;
    0x0001c6e0 subu a3, v0, s3               |     __asm ("subu a3, v0, s3");
    0x0001c6e4 addiu s4, sp, 0x24            |     s4 = sp + 0x24;
    0x0001c6e8 addiu a3, a3, 1               |     a3++;
    0x0001c6ec move a2, s3                   |     a2 = s3;
    0x0001c6f0 addiu a1, zero, 0x400         |     a1 = 0x400;
    0x0001c6f4 addiu a0, sp, 0x20            |     a0 = sp + 0x20;
    0x0001c6f8 sw s4, 0x20(sp)               |     *(var_20h_3) = s4;
    0x0001c6fc move s0, v0                   |     s0 = v0;
    0x0001c700 jalr t9                       |     t9 ();
    0x0001c704 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001c708 move a0, s4                   |     a0 = s4;
    0x0001c70c lw t9, -0x7524(gp)            |     t9 = *((gp - 7497));
    0x0001c710 move s7, v0                   |     s7 = v0;
    0x0001c714 jalr t9                       |     t9 ();
    0x0001c718 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001c71c lw t9, -0x73b8(gp)            |     t9 = sym.imp.__errno_location;
    0x0001c720 move s1, v0                   |     s1 = v0;
    0x0001c724 jalr t9                       |     t9 ();
    0x0001c728 move s5, v0                   |     s5 = v0;
    0x0001c72c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (s1 == 0) {
    0x0001c730 beqz s1, 0x1c840              |         goto label_7;
                                             |     }
    0x0001c734 lw t9, -0x7498(gp)            |     t9 = sym.imp.readdir64;
    0x0001c738 sw zero, (v0)                 |     *(v0) = 0;
    0x0001c73c move a0, s1                   |     a0 = s1;
    0x0001c740 jalr t9                       |     t9 ();
    0x0001c744 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0001c748 beqz v0, 0x1c7cc              |         goto label_8;
                                             |     }
    0x0001c74c addiu v1, zero, 0x400         |     v1 = 0x400;
    0x0001c750 addiu s6, zero, 0x2e          |     s6 = 0x2e;
    0x0001c754 addiu s0, s0, 2               |     s0 += 2;
    0x0001c758 subu s7, v1, s7               |     __asm ("subu s7, v1, s7");
                                             |     do {
    0x0001c75c lb v1, 0x13(v0)               |         v1 = *((v0 + 19));
    0x0001c760 lw t9, -0x7c64(gp)            |         t9 = sym.strscpyl;
                                             |         if (v1 != s6) {
    0x0001c764 beq v1, s6, 0x1c7b4           |             
    0x0001c768 lw a0, 0x20(sp)               |             a0 = *(var_20h_3);
    0x0001c76c move a3, s0                   |             a3 = s0;
    0x0001c770 addiu a2, v0, 0x13            |             a2 = v0 + 0x13;
    0x0001c774 move a1, s7                   |             a1 = s7;
    0x0001c778 sw zero, 0x10(sp)             |             *(var_d18h) = 0;
    0x0001c77c jalr t9                       |             t9 ();
    0x0001c780 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x0001c784 lw t9, -0x71c4(gp)            |             t9 = sym.imp.dirfd;
    0x0001c788 move a0, s1                   |             a0 = s1;
    0x0001c78c jalr t9                       |             t9 ();
    0x0001c790 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x0001c794 lw a1, 0x20(sp)               |             a1 = *(var_20h_3);
    0x0001c798 move a3, zero                 |             a3 = 0;
    0x0001c79c lw t9, -0x71ec(gp)            |             t9 = sym.imp.faccessat;
    0x0001c7a0 move a2, zero                 |             a2 = 0;
    0x0001c7a4 move a0, v0                   |             a0 = v0;
    0x0001c7a8 jalr t9                       |             t9 ();
    0x0001c7ac lw gp, 0x18(sp)               |             gp = *(var_18h_2);
                                             |             if (v0 >= 0) {
    0x0001c7b0 bgez v0, 0x1c7d4              |                 goto label_9;
                                             |             }
                                             |         }
    0x0001c7b4 lw t9, -0x7498(gp)            |         t9 = sym.imp.readdir64;
    0x0001c7b8 sw zero, (s5)                 |         *(s5) = 0;
    0x0001c7bc move a0, s1                   |         a0 = s1;
    0x0001c7c0 jalr t9                       |         t9 ();
    0x0001c7c4 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0001c7c8 bnez v0, 0x1c75c              |         
                                             |     } while (v0 != 0);
                                             | label_8:
    0x0001c7cc addiu s0, zero, -2            |     s0 = -2;
    0x0001c7d0 b 0x1c7ec                     |     goto label_10;
                                             | label_9:
    0x0001c7d4 lw t9, -0x72a8(gp)            |     t9 = sym.imp.strcpy
    0x0001c7d8 move a1, s4                   |     a1 = s4;
    0x0001c7dc move a0, s3                   |     a0 = s3;
    0x0001c7e0 jalr t9                       |     t9 ();
    0x0001c7e4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0001c7e8 move s0, zero                 |     s0 = 0;
                                             | label_10:
    0x0001c7ec lw t9, -0x751c(gp)            |     t9 = sym.imp.closedir;
    0x0001c7f0 move a0, s1                   |     a0 = s1;
    0x0001c7f4 jalr t9                       |     t9 ();
    0x0001c7f8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     do {
                                             | label_0:
    0x0001c7fc lw a0, 0x424(sp)              |         a0 = *(var_424h);
    0x0001c800 lw v1, (s2)                   |         v1 = *(s2);
    0x0001c804 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0001c808 bne a0, v1, 0x1c84c           |             goto label_11;
                                             |         }
    0x0001c80c lw ra, 0x44c(sp)              |         ra = *(var_44ch);
    0x0001c810 lw s7, 0x448(sp)              |         s7 = *(var_448h);
    0x0001c814 lw s6, 0x444(sp)              |         s6 = *(var_444h);
    0x0001c818 lw s5, 0x440(sp)              |         s5 = *(var_440h);
    0x0001c81c lw s4, 0x43c(sp)              |         s4 = *(var_43ch);
    0x0001c820 lw s3, 0x438(sp)              |         s3 = *(var_438h);
    0x0001c824 lw s2, 0x434(sp)              |         s2 = *(var_434h);
    0x0001c828 lw s1, 0x430(sp)              |         s1 = *(var_430h);
    0x0001c82c lw s0, 0x42c(sp)              |         s0 = *(var_42ch);
    0x0001c830 addiu sp, sp, 0x450           |         
    0x0001c834 jr ra                         |         return v0;
                                             | label_6:
    0x0001c838 move s0, zero                 |         s0 = 0;
    0x0001c83c b 0x1c7fc                     |         
                                             |     } while (1);
                                             | label_7:
    0x0001c840 lw s0, (v0)                   |     s0 = *(v0);
    0x0001c844 negu s0, s0                   |     __asm ("negu s0, s0");
    0x0001c848 b 0x1c7fc                     |     goto label_0;
                                             | label_11:
    0x0001c84c lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001c850 jalr t9                       |     t9 ();
    0x0001c854 nop                           |     
    0x0001c858 lui gp, 0xb                   |     
    0x0001c85c addiu gp, gp, -0x56e8         |     
    0x0001c860 addu gp, gp, t9               |     gp += t9;
    0x0001c864 addiu sp, sp, -0xd08          |     
    0x0001c868 lw v0, -0x71f0(gp)            |     v0 = *((gp - 7292));
    0x0001c86c sw s0, 0xce0(sp)              |     *(var_ce0h) = s0;
    0x0001c870 sw gp, 0x28(sp)               |     *(var_28h_2) = gp;
    0x0001c874 sw ra, 0xd04(sp)              |     *(var_d04h) = ra;
    0x0001c878 sw fp, 0xd00(sp)              |     *(var_d00h) = fp;
    0x0001c87c sw s7, 0xcfc(sp)              |     *(var_cfch) = s7;
    0x0001c880 sw s6, 0xcf8(sp)              |     *(var_cf8h) = s6;
    0x0001c884 sw s5, 0xcf4(sp)              |     *(var_cf4h) = s5;
    0x0001c888 sw s4, 0xcf0(sp)              |     *(var_cf0h) = s4;
    0x0001c88c sw s3, 0xcec(sp)              |     *(var_cech) = s3;
    0x0001c890 sw s2, 0xce8(sp)              |     *(var_ce8h) = s2;
    0x0001c894 sw s1, 0xce4(sp)              |     *(var_ce4h) = s1;
    0x0001c898 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x0001c89c lw v0, (v0)                   |     v0 = *(v0);
    0x0001c8a0 sw a3, 0xd14(sp)              |     *(var_d14h) = a3;
    0x0001c8a4 lw s0, 0xd18(sp)              |     s0 = *(var_d18h);
    0x0001c8a8 sw v0, 0xcdc(sp)              |     *(var_cdch) = v0;
    0x0001c8ac lw v0, 0xd14(sp)              |     v0 = *(var_d14h);
                                             |     if (a0 == 0) {
    0x0001c8b0 beqz a0, 0x1cc54              |         goto label_12;
                                             |     }
    0x0001c8b4 addiu v1, zero, -1            |     v1 = -1;
    0x0001c8b8 and v0, a2, v0                |     v0 = a2 & v0;
    0x0001c8bc and v0, v0, a1                |     v0 &= a1;
    0x0001c8c0 move s2, a0                   |     s2 = a0;
    0x0001c8c4 move s6, a1                   |     s6 = a1;
    0x0001c8c8 move s5, a2                   |     s5 = a2;
                                             |     if (v0 == v1) {
    0x0001c8cc bne v0, v1, 0x1c8d8           |         
                                             |         if (s0 == 0) {
    0x0001c8d0 beql s0, zero, 0x1cb10        |             goto label_13;
                                             |         }
    0x0001c8d4 move s2, zero                 |         s2 = 0;
                                             |     }
    0x0001c8d8 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0001c8dc lw t9, -0x7c64(gp)            |     t9 = sym.strscpyl;
    0x0001c8e0 addiu s1, sp, 0xdc            |     s1 = sp + 0xdc;
    0x0001c8e4 move a3, s2                   |     a3 = s2;
                                             |     /* esilref: '/dev/' */
    0x0001c8e8 addiu a2, a2, 0x5378          |     a2 += 0x5378;
    0x0001c8ec addiu a1, zero, 0x400         |     a1 = 0x400;
    0x0001c8f0 move a0, s1                   |     a0 = s1;
    0x0001c8f4 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x0001c8f8 jalr t9                       |     t9 ();
    0x0001c8fc lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001c900 addiu a2, sp, 0x38            |     a2 = sp + 0x38;
    0x0001c904 move a1, s1                   |     a1 = s1;
    0x0001c908 lw t9, -0x74dc(gp)            |     t9 = sym.imp.__xstat64;
    0x0001c90c addiu a0, zero, 3             |     a0 = 3;
    0x0001c910 jalr t9                       |     t9 ();
    0x0001c914 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
                                             |     if (v0 < 0) {
    0x0001c918 bltz v0, 0x1cac0              |         goto label_14;
                                             |     }
    0x0001c91c lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0001c920 addiu v1, zero, 0x2000        |     v1 = 0x2000;
    0x0001c924 andi v0, v0, 0xb000           |     v0 &= 0xb000;
    0x0001c928 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
                                             |     if (v0 != v1) {
    0x0001c92c beq v0, v1, 0x1c98c           |         
    0x0001c930 addiu a0, zero, 1             |         a0 = 1;
    0x0001c934 jalr t9                       |         t9 ();
    0x0001c938 slti v0, v0, 4                |         v0 = (v0 < 4) ? 1 : 0;
    0x0001c93c lw gp, 0x28(sp)               |         gp = *(var_28h_2);
                                             |         if (v0 != 0) {
    0x0001c940 bnez v0, 0x1cb0c              |             goto label_15;
                                             |         }
    0x0001c944 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001c948 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
                                             |         /* str._s_is_neither_block_nor_character_device__ignoring. */
    0x0001c94c addiu v0, v0, -0x5118         |         v0 += -0x5118;
    0x0001c950 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001c954 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001c958 lw t9, -0x7fc8(gp)            |         t9 = sym.log_internal_realm;
                                             |         /* esilref: 'apply_static_dev_perms' */
    0x0001c95c addiu v0, v0, -0x3d24         |         v0 += -0x3d24;
    0x0001c960 sw s1, 0x18(sp)               |         *(var_18h_3) = s1;
    0x0001c964 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0001c968 addiu a3, zero, 0x8e8         |         a3 = 0x8e8;
                                             |         /* esilref: 'src/udev/udev-rules.c' */
    0x0001c96c addiu a2, a2, -0x5321         |         a2 += -0x5321;
    0x0001c970 move a1, zero                 |         a1 = 0;
    0x0001c974 addiu a0, zero, 0x404         |         a0 = 0x404;
    0x0001c978 jalr t9                       |         t9 ();
    0x0001c97c move s2, zero                 |         s2 = 0;
    0x0001c980 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001c984 move s0, zero                 |         s0 = 0;
    0x0001c988 b 0x1cb14                     |         goto label_2;
                                             |     }
                                             |     if (s0 == 0) {
    0x0001c98c beql s0, zero, 0x1cbb4        |         goto label_16;
                                             |     }
    0x0001c990 move s2, zero                 |     s2 = 0;
    0x0001c994 lw v0, (s0)                   |     v0 = *(s0);
    0x0001c998 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x0001c99c beqz v0, 0x1cbb0              |         goto label_17;
                                             |     }
    0x0001c9a0 lw t9, -0x7c60(gp)            |     t9 = sym.xescape_full;
    0x0001c9a4 move a0, s2                   |     a0 = s2;
    0x0001c9a8 move a3, zero                 |     a3 = 0;
    0x0001c9ac addiu a2, zero, -1            |     a2 = -1;
                                             |     /* esilref: '/.' */
    0x0001c9b0 addiu a1, a1, -0x5048         |     a1 += -0x5048;
    0x0001c9b4 jalr t9                       |     t9 ();
    0x0001c9b8 move s2, v0                   |     s2 = v0;
    0x0001c9bc lw gp, 0x28(sp)               |     gp = *(var_28h_2);
                                             |     if (v0 == 0) {
    0x0001c9c0 beqz v0, 0x1ce40              |         goto label_18;
                                             |     }
    0x0001c9c4 lw a3, (s0)                   |     a3 = *(s0);
    0x0001c9c8 lw s4, -0x7fc4(gp)            |     s4 = *(gp);
                                             |     if (a3 == 0) {
    0x0001c9cc beqz a3, 0x1cbb4              |         goto label_16;
                                             |     }
    0x0001c9d0 lw s3, -0x7fc4(gp)            |     s3 = *(gp);
    0x0001c9d4 addiu s7, sp, 0x4dc           |     s7 = sp + aav.0x000004dc;
    0x0001c9d8 addiu s4, s4, 0x35c4          |     s4 += 0x35c4;
                                             |     /* str._run_udev_static_node_tags_ */
    0x0001c9dc addiu s3, s3, -0x50e4         |     s3 += -0x50e4;
    0x0001c9e0 addiu fp, sp, 0x8dc           |     fp = sp + 0x8dc;
    0x0001c9e4 b 0x1ca00                     |     
                                             |     while (v0 >= 0) {
                                             | label_1:
    0x0001c9e8 addiu s0, s0, 4               |         s0 += 4;
    0x0001c9ec and v1, s6, s5                |         v1 = s6 & s5;
                                             |         if (s0 == 0) {
    0x0001c9f0 beqz s0, 0x1cbb8              |             goto label_19;
                                             |         }
    0x0001c9f4 lw a3, (s0)                   |         a3 = *(s0);
    0x0001c9f8 addiu v0, zero, -1            |         v0 = -1;
                                             |         if (a3 == 0) {
    0x0001c9fc beqz a3, 0x1cbbc              |             goto label_20;
                                             |         }
    0x0001ca00 lw t9, -0x7c64(gp)            |         t9 = sym.strscpyl;
    0x0001ca04 move a2, s3                   |         a2 = s3;
    0x0001ca08 addiu a1, zero, 0x400         |         a1 = 0x400;
    0x0001ca0c move a0, s7                   |         a0 = s7;
    0x0001ca10 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0001ca14 sw s4, 0x10(sp)               |         *(var_10h_2) = s4;
    0x0001ca18 jalr t9                       |         t9 ();
    0x0001ca1c lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001ca20 addiu a1, zero, 0x1ed         |         a1 = 0x1ed;
    0x0001ca24 lw t9, -0x7c5c(gp)            |         t9 = sym.mkdir_p;
    0x0001ca28 move a0, s7                   |         a0 = s7;
    0x0001ca2c jalr t9                       |         t9 ();
    0x0001ca30 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
                                             |         if (v0 < 0) {
    0x0001ca34 bltz v0, 0x1cc80              |             goto label_21;
                                             |         }
    0x0001ca38 lw t9, -0x7c64(gp)            |         t9 = sym.strscpyl;
    0x0001ca3c move a3, s2                   |         a3 = s2;
    0x0001ca40 move a2, s7                   |         a2 = s7;
    0x0001ca44 addiu a1, zero, 0x400         |         a1 = 0x400;
    0x0001ca48 move a0, fp                   |         a0 = fp;
    0x0001ca4c sw zero, 0x10(sp)             |         *(var_10h_2) = 0;
    0x0001ca50 jalr t9                       |         t9 ();
    0x0001ca54 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001ca58 move a1, fp                   |         a1 = fp;
    0x0001ca5c lw t9, -0x7460(gp)            |         t9 = sym.imp.symlink;
    0x0001ca60 move a0, s1                   |         a0 = s1;
    0x0001ca64 jalr t9                       |         t9 ();
    0x0001ca68 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001ca6c bgez v0, 0x1c9e8              |         
                                             |     }
    0x0001ca70 lw t9, -0x73b8(gp)            |     t9 = sym.imp.__errno_location;
    0x0001ca74 jalr t9                       |     t9 ();
    0x0001ca78 nop                           |     
    0x0001ca7c lw a1, (v0)                   |     a1 = *(v0);
    0x0001ca80 addiu v0, zero, 0x11          |     v0 = 0x11;
    0x0001ca84 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
                                             |     if (a1 == v0) {
    0x0001ca88 beq a1, v0, 0x1c9e8           |         goto label_1;
                                             |     }
    0x0001ca8c lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x0001ca90 sw a1, 0x34(sp)               |     *(var_34h) = a1;
    0x0001ca94 addiu a0, zero, 1             |     a0 = 1;
    0x0001ca98 jalr t9                       |     t9 ();
    0x0001ca9c slti v0, v0, 3                |     v0 = (v0 < 3) ? 1 : 0;
    0x0001caa0 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001caa4 lw a1, 0x34(sp)               |     a1 = *(var_34h);
                                             |     if (v0 == 0) {
    0x0001caa8 beqz v0, 0x1cdfc              |         goto label_22;
                                             |     }
                                             |     if (a1 < 0) {
                                             | label_3:
    0x0001caac bltzl a1, 0x1cce4             |         goto label_23;
                                             |     }
    0x0001cab0 negu a1, a1                   |     __asm ("negu a1, a1");
    0x0001cab4 andi a1, a1, 0xff             |     a1 &= 0xff;
    0x0001cab8 negu s0, a1                   |     __asm ("negu s0, a1");
    0x0001cabc b 0x1cb14                     |     goto label_2;
                                             | label_14:
    0x0001cac0 lw t9, -0x73b8(gp)            |     t9 = sym.imp.__errno_location;
    0x0001cac4 jalr t9                       |     t9 ();
    0x0001cac8 nop                           |     
    0x0001cacc lw s0, (v0)                   |     s0 = *(v0);
    0x0001cad0 addiu v0, zero, 2             |     v0 = 2;
    0x0001cad4 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
                                             |     if (s0 != v0) {
    0x0001cad8 beq s0, v0, 0x1cb0c           |         
    0x0001cadc lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x0001cae0 addiu a0, zero, 1             |         a0 = 1;
    0x0001cae4 jalr t9                       |         t9 ();
    0x0001cae8 slti v0, v0, 3                |         v0 = (v0 < 3) ? 1 : 0;
    0x0001caec lw gp, 0x28(sp)               |         gp = *(var_28h_2);
                                             |         if (v0 == 0) {
    0x0001caf0 beqz v0, 0x1cb68              |             goto label_24;
                                             |         }
                                             |         if (s0 >= 0) {
    0x0001caf4 bltzl s0, 0x1cafc             |             
    0x0001caf8 negu s0, s0                   |             __asm ("negu s0, s0");
                                             |         }
    0x0001cafc andi s0, s0, 0xff             |         s0 &= 0xff;
    0x0001cb00 negu s0, s0                   |         __asm ("negu s0, s0");
    0x0001cb04 move s2, zero                 |         s2 = 0;
    0x0001cb08 b 0x1cb14                     |         
                                             |     } else {
                                             | label_15:
    0x0001cb0c move s2, zero                 |         s2 = 0;
                                             | label_13:
    0x0001cb10 move s0, zero                 |         s0 = 0;
                                             |     }
                                             |     do {
                                             | label_2:
    0x0001cb14 lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x0001cb18 move a0, s2                   |         a0 = s2;
    0x0001cb1c jalr t9                       |         t9 ();
    0x0001cb20 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x0001cb24 lw a0, 0xcdc(sp)              |         a0 = *(var_cdch);
    0x0001cb28 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001cb2c lw v1, (v0)                   |         v1 = *(v0);
    0x0001cb30 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0001cb34 bne a0, v1, 0x1ce6c           |             goto label_25;
                                             |         }
    0x0001cb38 lw ra, 0xd04(sp)              |         ra = *(var_d04h);
    0x0001cb3c lw fp, 0xd00(sp)              |         fp = *(var_d00h);
    0x0001cb40 lw s7, 0xcfc(sp)              |         s7 = *(var_cfch);
    0x0001cb44 lw s6, 0xcf8(sp)              |         s6 = *(var_cf8h);
    0x0001cb48 lw s5, 0xcf4(sp)              |         s5 = *(var_cf4h);
    0x0001cb4c lw s4, 0xcf0(sp)              |         s4 = *(var_cf0h);
    0x0001cb50 lw s3, 0xcec(sp)              |         s3 = *(var_cech);
    0x0001cb54 lw s2, 0xce8(sp)              |         s2 = *(var_ce8h);
    0x0001cb58 lw s1, 0xce4(sp)              |         s1 = *(var_ce4h);
    0x0001cb5c lw s0, 0xce0(sp)              |         s0 = *(var_ce0h);
    0x0001cb60 addiu sp, sp, 0xd08           |         
    0x0001cb64 jr ra                         |         return v0;
                                             | label_24:
    0x0001cb68 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001cb6c lw a2, -0x7fc4(gp)            |         a2 = *(gp);
                                             |         /* str.Failed_to_stat__s:__m */
    0x0001cb70 addiu v0, v0, -0x5130         |         v0 += -0x5130;
    0x0001cb74 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001cb78 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001cb7c lw t9, -0x7fc8(gp)            |         t9 = sym.log_internal_realm;
                                             |         /* esilref: 'apply_static_dev_perms' */
    0x0001cb80 addiu v0, v0, -0x3d24         |         v0 += -0x3d24;
    0x0001cb84 move a1, s0                   |         a1 = s0;
    0x0001cb88 sw s1, 0x18(sp)               |         *(var_18h_3) = s1;
    0x0001cb8c sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0001cb90 addiu a3, zero, 0x8e3         |         a3 = 0x8e3;
                                             |         /* esilref: 'src/udev/udev-rules.c' */
    0x0001cb94 addiu a2, a2, -0x5321         |         a2 += -0x5321;
    0x0001cb98 addiu a0, zero, 0x403         |         a0 = 0x403;
    0x0001cb9c jalr t9                       |         t9 ();
    0x0001cba0 move s0, v0                   |         s0 = v0;
    0x0001cba4 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001cba8 move s2, zero                 |         s2 = 0;
    0x0001cbac b 0x1cb14                     |         
                                             |     } while (1);
                                             | label_17:
    0x0001cbb0 move s2, zero                 |     s2 = 0;
                                             | label_16:
    0x0001cbb4 and v1, s6, s5                |     v1 = s6 & s5;
                                             | label_19:
    0x0001cbb8 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v1 == v0) {
                                             | label_20:
    0x0001cbbc beql v1, v0, 0x1cdec          |         goto label_26;
                                             |     }
    0x0001cbc0 lw v0, 0xd14(sp)              |     v0 = *(var_d14h);
    0x0001cbc4 lw v1, 0xd14(sp)              |     v1 = *(var_d14h);
    0x0001cbc8 lw t9, -0x7cec(gp)            |     t9 = sym.uid_is_valid;
                                             |     if (v1 == v0) {
    0x0001cbcc beq v1, v0, 0x1cd8c           |         goto label_27;
                                             |     }
                                             | label_4:
    0x0001cbd0 lw t9, -0x7cec(gp)            |     t9 = sym.uid_is_valid;
                                             | label_5:
    0x0001cbd4 move a0, s6                   |     a0 = s6;
    0x0001cbd8 jalr t9                       |     t9 ();
    0x0001cbdc lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001cbe0 move a0, s5                   |     a0 = s5;
    0x0001cbe4 lw t9, -0x7cec(gp)            |     t9 = sym.uid_is_valid;
                                             |     if (v0 != 0) {
    0x0001cbe8 movz s6, zero, v0             |         s6 = 0;
                                             |     }
    0x0001cbec jalr t9                       |     t9 ();
    0x0001cbf0 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
                                             |     if (v0 != 0) {
    0x0001cbf4 movz s5, zero, v0             |         s5 = 0;
                                             |     }
    0x0001cbf8 lw a1, 0xd14(sp)              |     a1 = *(var_d14h);
    0x0001cbfc lw t9, -0x7c7c(gp)            |     t9 = sym.chmod_and_chown;
    0x0001cc00 move a3, s5                   |     a3 = s5;
    0x0001cc04 move a2, s6                   |     a2 = s6;
    0x0001cc08 move a0, s1                   |     a0 = s1;
    0x0001cc0c jalr t9                       |     t9 ();
    0x0001cc10 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
                                             |     if (v0 < 0) {
    0x0001cc14 bltz v0, 0x1ccb0              |         goto label_28;
                                             |     }
    0x0001cc18 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x0001cc1c addiu a0, zero, 1             |     a0 = 1;
    0x0001cc20 jalr t9                       |     t9 ();
    0x0001cc24 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x0001cc28 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001cc2c beqz v0, 0x1cd3c              |     
                                             |     while (1) {
    0x0001cc30 lw t9, -0x7174(gp)            |         t9 = sym.imp.utimensat;
    0x0001cc34 move a3, zero                 |         a3 = 0;
    0x0001cc38 move a2, zero                 |         a2 = 0;
    0x0001cc3c move a1, s1                   |         a1 = s1;
    0x0001cc40 addiu a0, zero, -0x64         |         a0 = -0x64;
    0x0001cc44 jalr t9                       |         t9 ();
    0x0001cc48 move s0, zero                 |         s0 = 0;
    0x0001cc4c lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001cc50 b 0x1cb14                     |         goto label_2;
                                             | label_12:
    0x0001cc54 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001cc58 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x0001cc5c lw a1, -0x7fc4(gp)            |         a1 = *(gp);
                                             |         /* str.apply_static_dev_perms */
    0x0001cc60 addiu v0, v0, -0x3d0c         |         v0 += -0x3d0c;
    0x0001cc64 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
    0x0001cc68 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0001cc6c addiu a3, zero, 0x8db         |         a3 = 0x8db;
                                             |         /* esilref: 'src/udev/udev-rules.c' */
    0x0001cc70 addiu a2, a2, -0x5321         |         a2 += -0x5321;
                                             |         /* str.devnode */
    0x0001cc74 addiu a1, a1, -0x643c         |         a1 += -0x643c;
    0x0001cc78 addiu a0, zero, 1             |         a0 = 1;
    0x0001cc7c jalr t9                       |         t9 ();
                                             | label_21:
    0x0001cc80 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x0001cc84 sw v0, 0x34(sp)               |         *(var_34h) = v0;
    0x0001cc88 addiu a0, zero, 1             |         a0 = 1;
    0x0001cc8c jalr t9                       |         t9 ();
    0x0001cc90 slti v0, v0, 3                |         v0 = (v0 < 3) ? 1 : 0;
    0x0001cc94 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001cc98 lw a1, 0x34(sp)               |         a1 = *(var_34h);
                                             |         if (v0 == 0) {
    0x0001cc9c beqz v0, 0x1cdac              |             goto label_29;
                                             |         }
    0x0001cca0 negu s0, a1                   |         __asm ("negu s0, a1");
    0x0001cca4 andi s0, s0, 0xff             |         s0 &= 0xff;
    0x0001cca8 negu s0, s0                   |         __asm ("negu s0, s0");
    0x0001ccac b 0x1cb14                     |         goto label_2;
                                             | label_28:
    0x0001ccb0 lw t9, -0x73b8(gp)            |         t9 = sym.imp.__errno_location;
    0x0001ccb4 jalr t9                       |         t9 ();
    0x0001ccb8 nop                           |         
    0x0001ccbc lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001ccc0 addiu a0, zero, 1             |         a0 = 1;
    0x0001ccc4 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x0001ccc8 lw s0, (v0)                   |         s0 = *(v0);
    0x0001cccc jalr t9                       |         t9 ();
    0x0001ccd0 slti v0, v0, 3                |         v0 = (v0 < 3) ? 1 : 0;
    0x0001ccd4 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
                                             |         if (v0 != 0) {
    0x0001ccd8 beqz v0, 0x1ccf0              |             
    0x0001ccdc move a1, s0                   |             a1 = s0;
    0x0001cce0 b 0x1caac                     |             goto label_3;
                                             | label_23:
    0x0001cce4 andi a1, a1, 0xff             |             a1 &= 0xff;
    0x0001cce8 negu s0, a1                   |             __asm ("negu s0, a1");
    0x0001ccec b 0x1cb14                     |             goto label_2;
                                             |         }
    0x0001ccf0 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001ccf4 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
                                             |         /* str.Failed_to_chown__s__u__u:__m */
    0x0001ccf8 addiu v0, v0, -0x5088         |         v0 += -0x5088;
    0x0001ccfc sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001cd00 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001cd04 lw t9, -0x7fc8(gp)            |         t9 = sym.log_internal_realm;
                                             |         /* esilref: 'apply_static_dev_perms' */
    0x0001cd08 addiu v0, v0, -0x3d24         |         v0 += -0x3d24;
    0x0001cd0c move a1, s0                   |         a1 = s0;
    0x0001cd10 sw s5, 0x20(sp)               |         *(var_20h_2) = s5;
    0x0001cd14 sw s6, 0x1c(sp)               |         *(var_1ch) = s6;
    0x0001cd18 sw s1, 0x18(sp)               |         *(var_18h_3) = s1;
    0x0001cd1c sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0001cd20 addiu a3, zero, 0x90e         |         a3 = 0x90e;
                                             |         /* esilref: 'src/udev/udev-rules.c' */
    0x0001cd24 addiu a2, a2, -0x5321         |         a2 += -0x5321;
    0x0001cd28 addiu a0, zero, 0x403         |         a0 = 0x403;
    0x0001cd2c jalr t9                       |         t9 ();
    0x0001cd30 move s0, v0                   |         s0 = v0;
    0x0001cd34 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001cd38 b 0x1cb14                     |         goto label_2;
    0x0001cd3c lw v0, 0xd14(sp)              |         v0 = *(var_d14h);
    0x0001cd40 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x0001cd44 sw v0, 0x24(sp)               |         *(var_24h_3) = v0;
    0x0001cd48 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001cd4c lw t9, -0x7fc8(gp)            |         t9 = sym.log_internal_realm;
                                             |         /* str.chown__s__u:_u_with_mode__o */
    0x0001cd50 addiu v0, v0, -0x5068         |         v0 += -0x5068;
    0x0001cd54 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001cd58 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0001cd5c sw s5, 0x20(sp)               |         *(var_20h_2) = s5;
                                             |         /* esilref: 'apply_static_dev_perms' */
    0x0001cd60 addiu v0, v0, -0x3d24         |         v0 += -0x3d24;
    0x0001cd64 sw s6, 0x1c(sp)               |         *(var_1ch) = s6;
    0x0001cd68 sw s1, 0x18(sp)               |         *(var_18h_3) = s1;
    0x0001cd6c sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0001cd70 addiu a3, zero, 0x910         |         a3 = 0x910;
                                             |         /* esilref: 'src/udev/udev-rules.c' */
    0x0001cd74 addiu a2, a2, -0x5321         |         a2 += -0x5321;
    0x0001cd78 move a1, zero                 |         a1 = 0;
    0x0001cd7c addiu a0, zero, 0x407         |         a0 = 0x407;
    0x0001cd80 jalr t9                       |         t9 ();
    0x0001cd84 lw gp, 0x28(sp)               |         gp = *(var_28h_2);
    0x0001cd88 b 0x1cc30                     |         
                                             |     }
                                             | label_27:
    0x0001cd8c move a0, s5                   |     a0 = s5;
    0x0001cd90 jalr t9                       |     t9 ();
    0x0001cd94 addiu fp, zero, 0x1b0         |     fp = aav.0x000001b0;
    0x0001cd98 addiu v1, zero, 0x180         |     v1 = aav.0x00000180;
                                             |     if (v0 == 0) {
    0x0001cd9c movn v1, fp, v0               |         v1 = fp;
                                             |     }
    0x0001cda0 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001cda4 sw v1, 0xd14(sp)              |     *(var_d14h) = v1;
    0x0001cda8 b 0x1cbd0                     |     goto label_4;
                                             | label_29:
    0x0001cdac lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0001cdb0 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     /* str.Failed_to_create__s:__m */
    0x0001cdb4 addiu v0, v0, -0x50c8         |     v0 += -0x50c8;
    0x0001cdb8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0001cdbc lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0001cdc0 lw t9, -0x7fc8(gp)            |     t9 = sym.log_internal_realm;
                                             |     /* esilref: 'apply_static_dev_perms' */
    0x0001cdc4 addiu v0, v0, -0x3d24         |     v0 += -0x3d24;
    0x0001cdc8 sw s7, 0x18(sp)               |     *(var_18h_3) = s7;
    0x0001cdcc sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0001cdd0 addiu a3, zero, 0x8f7         |     a3 = 0x8f7;
                                             |     /* esilref: 'src/udev/udev-rules.c' */
    0x0001cdd4 addiu a2, a2, -0x5321         |     a2 += -0x5321;
    0x0001cdd8 addiu a0, zero, 0x403         |     a0 = 0x403;
    0x0001cddc jalr t9                       |     t9 ();
    0x0001cde0 move s0, v0                   |     s0 = v0;
    0x0001cde4 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001cde8 b 0x1cb14                     |     goto label_2;
                                             | label_26:
    0x0001cdec lw t9, -0x7cec(gp)            |     t9 = sym.uid_is_valid;
                                             |     if (v0 != v1) {
    0x0001cdf0 bne v0, v1, 0x1cbd4           |         goto label_5;
                                             |     }
    0x0001cdf4 move s0, zero                 |     s0 = 0;
    0x0001cdf8 b 0x1cb14                     |     goto label_2;
                                             | label_22:
    0x0001cdfc lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0001ce00 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     /* str.Failed_to_create_symlink__s_____s:__m */
    0x0001ce04 addiu v0, v0, -0x50b0         |     v0 += -0x50b0;
    0x0001ce08 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0001ce0c lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0001ce10 lw t9, -0x7fc8(gp)            |     t9 = sym.log_internal_realm;
                                             |     /* esilref: 'apply_static_dev_perms' */
    0x0001ce14 addiu v0, v0, -0x3d24         |     v0 += -0x3d24;
    0x0001ce18 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0001ce1c sw fp, 0x18(sp)               |     *(var_18h_3) = fp;
    0x0001ce20 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0001ce24 addiu a3, zero, 0x8fd         |     a3 = 0x8fd;
                                             |     /* esilref: 'src/udev/udev-rules.c' */
    0x0001ce28 addiu a2, a2, -0x5321         |     a2 += -0x5321;
    0x0001ce2c addiu a0, zero, 0x403         |     a0 = 0x403;
    0x0001ce30 jalr t9                       |     t9 ();
    0x0001ce34 move s0, v0                   |     s0 = v0;
    0x0001ce38 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001ce3c b 0x1cb14                     |     goto label_2;
                                             | label_18:
    0x0001ce40 lw a3, -0x7fc4(gp)            |     a3 = *(gp);
    0x0001ce44 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0001ce48 lw t9, -0x7e48(gp)            |     t9 = sym.log_oom_internal;
                                             |     /* esilref: 'apply_static_dev_perms' */
    0x0001ce4c addiu a3, a3, -0x3d24         |     a3 += -0x3d24;
    0x0001ce50 addiu a2, zero, 0x8ef         |     a2 = 0x8ef;
                                             |     /* esilref: 'src/udev/udev-rules.c' */
    0x0001ce54 addiu a1, a1, -0x5321         |     a1 += -0x5321;
    0x0001ce58 addiu a0, zero, 1             |     a0 = 1;
    0x0001ce5c jalr t9                       |     t9 ();
    0x0001ce60 move s0, v0                   |     s0 = v0;
    0x0001ce64 lw gp, 0x28(sp)               |     gp = *(var_28h_2);
    0x0001ce68 b 0x1cb14                     |     goto label_2;
                                             | label_25:
    0x0001ce6c lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001ce70 jalr t9                       |     t9 ();
    0x0001ce74 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x40ce8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00040ce8 ()              | void fcn_00040ce8 () {
    0x00040ce8 lui gp, 8                 |     
    0x00040cec addiu gp, gp, 0x6488      |     
    0x00040cf0 addu gp, gp, t9           |     gp += t9;
    0x00040cf4 addiu sp, sp, -0x68       |     
    0x00040cf8 sw s4, 0x50(sp)           |     *(var_50h) = s4;
    0x00040cfc lw s4, -0x71f0(gp)        |     s4 = *((gp - 7292));
    0x00040d00 sw fp, 0x60(sp)           |     *(var_60h) = fp;
    0x00040d04 sw ra, 0x64(sp)           |     *(var_64h) = ra;
    0x00040d08 sw s7, 0x5c(sp)           |     *(var_5ch) = s7;
    0x00040d0c sw s6, 0x58(sp)           |     *(var_58h) = s6;
    0x00040d10 sw s5, 0x54(sp)           |     *(var_54h) = s5;
    0x00040d14 sw s3, 0x4c(sp)           |     *(var_4ch) = s3;
    0x00040d18 sw s2, 0x48(sp)           |     *(var_48h) = s2;
    0x00040d1c sw s1, 0x44(sp)           |     *(var_44h) = s1;
    0x00040d20 sw s0, 0x40(sp)           |     *(var_40h) = s0;
    0x00040d24 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00040d28 move fp, sp               |     fp = sp;
    0x00040d2c lw v0, (s4)               |     v0 = *(s4);
    0x00040d30 sw v0, 0x3c(fp)           |     *(var_3ch) = v0;
    0x00040d34 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
                                         |     if (a0 == 0) {
    0x00040d38 beqz a0, 0x4104c          |         goto label_2;
                                         |     }
    0x00040d3c lw t9, -0x7334(gp)        |     t9 = sym.imp.strlen;
                                         |     if (a1 == 0) {
    0x00040d40 beqz a1, 0x41070          |         goto label_3;
                                         |     }
    0x00040d44 sw a1, 0x2c(fp)           |     *(var_2ch_2) = a1;
    0x00040d48 move s3, a0               |     s3 = a0;
    0x00040d4c move a0, a1               |     a0 = a1;
    0x00040d50 jalr t9                   |     t9 ();
    0x00040d54 lui a0, 0x40              |     a0 = 0x400000;
                                         |     /* str._d:_d */
    0x00040d58 addiu v1, v0, 0x10        |     v1 = v0 + 0x10;
    0x00040d5c addiu a0, a0, 1           |     a0++;
    0x00040d60 sltu v1, v1, a0           |     v1 = (v1 < a0) ? 1 : 0;
    0x00040d64 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00040d68 lw a1, 0x2c(fp)           |     a1 = *(var_2ch_2);
                                         |     if (v1 == 0) {
    0x00040d6c beqz v1, 0x41098          |         goto label_4;
                                         |     }
    0x00040d70 lw a0, -0x7fc4(gp)        |     a0 = *(gp);
    0x00040d74 addiu v0, v0, 0x17        |     v0 += 0x17;
                                         |     /* str._run_udev_tags_ */
    0x00040d78 addiu v1, a0, 0x3ba4      |     v1 = a0 + 0x3ba4;
    0x00040d7c srl v0, v0, 3             |     v0 >>= 3;
    0x00040d80 sll v0, v0, 3             |     v0 <<= 3;
    0x00040d84 subu sp, sp, v0           |     
    0x00040d88 lw t0, 0x3ba4(a0)         |     t0 = *((a0 + 3817));
    0x00040d8c lw a3, 4(v1)              |     a3 = *((v1 + 1));
    0x00040d90 lw a2, 8(v1)              |     a2 = *((v1 + 2));
    0x00040d94 lw v0, 0xc(v1)            |     v0 = *((v1 + 3));
    0x00040d98 lw t9, -0x72a8(gp)        |     t9 = sym.imp.strcpy
    0x00040d9c sw t0, 0x20(sp)           |     *(var_20h) = t0;
    0x00040da0 sw a3, 0x24(sp)           |     *(var_24h_2) = a3;
    0x00040da4 sw a2, 0x28(sp)           |     *(var_28h_2) = a2;
    0x00040da8 addiu a0, sp, 0x2f        |     a0 = sp + 0x2f;
    0x00040dac sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x00040db0 jalr t9                   |     t9 ();
    0x00040db4 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00040db8 addiu s5, sp, 0x20        |     s5 = sp + 0x20;
    0x00040dbc lw t9, -0x7524(gp)        |     t9 = *((gp - 7497));
    0x00040dc0 move a0, s5               |     a0 = s5;
    0x00040dc4 jalr t9                   |     t9 ();
    0x00040dc8 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00040dcc lw t9, -0x73b8(gp)        |     t9 = sym.imp.__errno_location;
    0x00040dd0 move s1, v0               |     s1 = v0;
    0x00040dd4 jalr t9                   |     t9 ();
    0x00040dd8 move s2, v0               |     s2 = v0;
    0x00040ddc lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (s1 == 0) {
    0x00040de0 beqz s1, 0x40f40          |         goto label_5;
                                         |     }
    0x00040de4 lw t9, -0x7498(gp)        |     t9 = sym.imp.readdir64;
    0x00040de8 sw zero, (v0)             |     *(v0) = 0;
    0x00040dec move a0, s1               |     a0 = s1;
    0x00040df0 jalr t9                   |     t9 ();
    0x00040df4 move s0, zero             |     s0 = 0;
    0x00040df8 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00040dfc beqz v0, 0x40ee0          |         goto label_6;
                                         |     }
    0x00040e00 lw v1, -0x7a60(gp)        |     v1 = *(gp);
    0x00040e04 lw s5, -0x7a60(gp)        |     s5 = *(gp);
                                         |     /* fcn.0003ffa0 */
    0x00040e08 addiu v1, v1, -0x60       |     v1 += -0x60;
    0x00040e0c lw s6, -0x7a60(gp)        |     s6 = *(gp);
    0x00040e10 sw v1, 0x2c(fp)           |     *(var_2ch_2) = v1;
    0x00040e14 lw v1, -0x7a60(gp)        |     v1 = *(gp);
    0x00040e18 lw s7, -0x7a60(gp)        |     s7 = *(gp);
                                         |     /* fcn.0003f990 */
    0x00040e1c addiu s5, s5, -0x670      |     s5 += -0x670;
                                         |     /* fcn.0003fccc */
    0x00040e20 addiu s6, s6, -0x334      |     s6 += -aav.0x00000334;
    0x00040e24 sw v1, 0x28(fp)           |     *(var_28h_2) = v1;
                                         |     do {
    0x00040e28 lb a0, 0x13(v0)           |         a0 = *((v0 + 19));
    0x00040e2c addiu v1, zero, 0x2e      |         v1 = 0x2e;
    0x00040e30 sw zero, 0x30(fp)         |         *(var_30h_2) = 0;
                                         |         if (a0 != v1) {
    0x00040e34 beq a0, v1, 0x40ec8       |             
    0x00040e38 lw t9, -0x7c8c(gp)        |             t9 = sym.sd_device_new_from_device_id;
    0x00040e3c addiu a1, v0, 0x13        |             a1 = v0 + 0x13;
    0x00040e40 addiu a0, fp, 0x30        |             a0 = fp + 0x30;
    0x00040e44 bal 0x4b5ac               |             sym_sd_device_new_from_device_id ();
    0x00040e48 lw gp, 0x20(fp)           |             gp = *(var_20h);
                                         |             if (v0 < 0) {
    0x00040e4c bltz v0, 0x40f78          |                 goto label_7;
                                         |             }
    0x00040e50 lw t9, -0x7f74(gp)        |             t9 = sym.sd_device_get_subsystem;
    0x00040e54 lw a0, 0x30(fp)           |             a0 = *(var_30h_2);
    0x00040e58 addiu a1, fp, 0x34        |             a1 = fp + 0x34;
    0x00040e5c bal 0x4bb18               |             sym_sd_device_get_subsystem ();
    0x00040e60 lw gp, 0x20(fp)           |             gp = *(var_20h);
                                         |             if (v0 < 0) {
    0x00040e64 bltz v0, 0x40fec          |                 goto label_8;
                                         |             }
    0x00040e68 lw a1, 0x34(fp)           |             a1 = *(var_34h_2);
    0x00040e6c move t9, s5               |             t9 = s5;
    0x00040e70 move a0, s3               |             a0 = s3;
    0x00040e74 bal 0x3f990               |             fcn_0003f990 ();
    0x00040e78 lw gp, 0x20(fp)           |             gp = *(var_20h);
                                         |             if (v0 != 0) {
    0x00040e7c beqz v0, 0x40eb0          |                 
    0x00040e80 lw t9, -0x7fb8(gp)        |                 t9 = sym.sd_device_get_sysname;
    0x00040e84 lw a0, 0x30(fp)           |                 a0 = *(var_30h_2);
    0x00040e88 addiu a1, fp, 0x38        |                 a1 = fp + 0x38;
    0x00040e8c bal 0x4ac0c               |                 sym_sd_device_get_sysname ();
    0x00040e90 lw gp, 0x20(fp)           |                 gp = *(var_20h);
                                         |                 if (v0 < 0) {
    0x00040e94 bltz v0, 0x40fec          |                     goto label_8;
                                         |                 }
    0x00040e98 lw a1, 0x38(fp)           |                 a1 = *(var_38h);
    0x00040e9c move t9, s6               |                 t9 = s6;
    0x00040ea0 move a0, s3               |                 a0 = s3;
    0x00040ea4 bal 0x3fccc               |                 fcn_0003fccc ();
    0x00040ea8 lw gp, 0x20(fp)           |                 gp = *(var_20h);
                                         |                 if (v0 != 0) {
    0x00040eac bnez v0, 0x40f88          |                     goto label_9;
                                         |                 }
                                         |             }
                                         | label_0:
    0x00040eb0 lw a0, 0x30(fp)           |             a0 = *(var_30h_2);
    0x00040eb4 lw t9, -0x7fdc(gp)        |             t9 = sym.sd_device_unref;
                                         |             if (a0 == 0) {
    0x00040eb8 beqz a0, 0x40ec8          |                 goto label_10;
                                         |             }
    0x00040ebc bal 0x48690               |             sym_sd_device_unref ();
    0x00040ec0 nop                       |             
    0x00040ec4 lw gp, 0x20(fp)           |             gp = *(var_20h);
                                         |         }
                                         | label_10:
    0x00040ec8 lw t9, -0x7498(gp)        |         t9 = sym.imp.readdir64;
    0x00040ecc sw zero, (s2)             |         *(s2) = 0;
    0x00040ed0 move a0, s1               |         a0 = s1;
    0x00040ed4 jalr t9                   |         t9 ();
    0x00040ed8 lw gp, 0x20(fp)           |         gp = *(var_20h);
    0x00040edc bnez v0, 0x40e28          |         
                                         |     } while (v0 != 0);
                                         | label_6:
    0x00040ee0 lw v0, (s2)               |     v0 = *(s2);
                                         |     if (v0 <= 0) {
    0x00040ee4 bgtzl v0, 0x40eec         |         
    0x00040ee8 negu s0, v0               |         __asm ("negu s0, v0");
                                         |     }
    0x00040eec lw t9, -0x751c(gp)        |     t9 = sym.imp.closedir;
    0x00040ef0 move a0, s1               |     a0 = s1;
    0x00040ef4 jalr t9                   |     t9 ();
    0x00040ef8 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     do {
                                         | label_1:
    0x00040efc lw a0, 0x3c(fp)           |         a0 = *(var_3ch);
    0x00040f00 lw v1, (s4)               |         v1 = *(s4);
    0x00040f04 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x00040f08 bne a0, v1, 0x410c4       |             goto label_11;
                                         |         }
    0x00040f0c move sp, fp               |         
    0x00040f10 lw ra, 0x64(sp)           |         ra = *(var_64h);
    0x00040f14 lw fp, 0x60(sp)           |         fp = *(var_60h);
    0x00040f18 lw s7, 0x5c(sp)           |         s7 = *(var_5ch);
    0x00040f1c lw s6, 0x58(sp)           |         s6 = *(var_58h);
    0x00040f20 lw s5, 0x54(sp)           |         s5 = *(var_54h);
    0x00040f24 lw s4, 0x50(sp)           |         s4 = *(var_50h);
    0x00040f28 lw s3, 0x4c(sp)           |         s3 = *(var_4ch);
    0x00040f2c lw s2, 0x48(sp)           |         s2 = *(var_48h);
    0x00040f30 lw s1, 0x44(sp)           |         s1 = *(var_44h);
    0x00040f34 lw s0, 0x40(sp)           |         s0 = *(var_40h);
    0x00040f38 addiu sp, sp, 0x68        |         
    0x00040f3c jr ra                     |         return v0;
                                         | label_5:
    0x00040f40 lw s0, (v0)               |         s0 = *(v0);
    0x00040f44 addiu v0, zero, 2         |         v0 = 2;
    0x00040f48 lw t9, -0x7fcc(gp)        |         t9 = sym.log_get_max_level_realm;
                                         |         if (s0 == v0) {
    0x00040f4c beq s0, v0, 0x41044       |             goto label_12;
                                         |         }
    0x00040f50 move a0, zero             |         a0 = 0;
    0x00040f54 jalr t9                   |         t9 ();
    0x00040f58 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00040f5c lw gp, 0x20(fp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00040f60 beqz v0, 0x40ff4          |             goto label_13;
                                         |         }
                                         |         if (s0 < 0) {
    0x00040f64 bltzl s0, 0x41038         |             goto label_14;
                                         |         }
    0x00040f68 negu s0, s0               |         __asm ("negu s0, s0");
    0x00040f6c andi s0, s0, 0xff         |         s0 &= 0xff;
    0x00040f70 negu s0, s0               |         __asm ("negu s0, s0");
    0x00040f74 b 0x40efc                 |         
                                         |     } while (1);
                                         | label_7:
    0x00040f78 addiu v1, zero, -0x13     |     v1 = -0x13;
    0x00040f7c xor v1, v0, v1            |     v1 = v0 ^ v1;
                                         |     if (v1 == 0) {
    0x00040f80 movn s0, v0, v1           |         s0 = v0;
                                         |     }
    0x00040f84 b 0x40eb0                 |     goto label_0;
                                         | label_9:
    0x00040f88 lw a1, 0x30(fp)           |     a1 = *(var_30h_2);
                                         |     /* fcn.0003fe18 */
    0x00040f8c addiu t9, s7, -0x1e8      |     t9 = s7 + -aav.0x000001e8;
    0x00040f90 move a0, s3               |     a0 = s3;
    0x00040f94 bal 0x3fe18               |     fcn_0003fe18 ();
    0x00040f98 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00040f9c beqz v0, 0x40eb0          |         goto label_0;
                                         |     }
    0x00040fa0 lw a1, 0x30(fp)           |     a1 = *(var_30h_2);
    0x00040fa4 lw t9, 0x2c(fp)           |     t9 = *(var_2ch_2);
    0x00040fa8 move a0, s3               |     a0 = s3;
    0x00040fac jalr t9                   |     t9 ();
    0x00040fb0 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00040fb4 beqz v0, 0x40eb0          |         goto label_0;
                                         |     }
    0x00040fb8 lw v0, 0x28(fp)           |     v0 = *(var_28h_2);
    0x00040fbc lw a1, 0x30(fp)           |     a1 = *(var_30h_2);
    0x00040fc0 addiu t9, v0, 0x268       |     t9 = v0 + aav.0x00000268;
    0x00040fc4 move a0, s3               |     a0 = s3;
    0x00040fc8 bal 0x40268               |     fcn_00040268 ();
    0x00040fcc lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00040fd0 beqz v0, 0x40eb0          |         goto label_0;
                                         |     }
    0x00040fd4 lw t9, -0x79d8(gp)        |     t9 = sym.device_enumerator_add_device;
    0x00040fd8 lw a1, 0x30(fp)           |     a1 = *(var_30h_2);
    0x00040fdc move a0, s3               |     a0 = s3;
    0x00040fe0 bal 0x40be4               |     sym_device_enumerator_add_device ();
    0x00040fe4 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 >= 0) {
    0x00040fe8 bgez v0, 0x40eb0          |         goto label_0;
                                         |     }
                                         | label_8:
    0x00040fec move s0, v0               |     s0 = v0;
    0x00040ff0 b 0x40eb0                 |     goto label_0;
                                         | label_13:
    0x00040ff4 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x00040ff8 lw a2, -0x7fc4(gp)        |     a2 = *(gp);
                                         |     /* str.sd_device_enumerator:_Failed_to_open_tags_directory__s:__m */
    0x00040ffc addiu v0, v0, 0x3bb4      |     v0 += 0x3bb4;
    0x00041000 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00041004 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x00041008 lw t9, -0x7fc8(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* esilref: 'enumerator_scan_devices_tag' */
    0x0004100c addiu v0, v0, 0x3efc      |     v0 += 0x3efc;
    0x00041010 move a1, s0               |     a1 = s0;
    0x00041014 sw s5, 0x18(sp)           |     *(var_18h_2) = s5;
    0x00041018 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0004101c addiu a3, zero, 0x269     |     a3 = 0x269;
                                         |     /* esilref: 'src/libsystemd/sd-device/device-enumerator.c' */
    0x00041020 addiu a2, a2, 0x3a43      |     a2 += 0x3a43;
    0x00041024 addiu a0, zero, 7         |     a0 = 7;
    0x00041028 jalr t9                   |     t9 ();
    0x0004102c move s0, v0               |     s0 = v0;
    0x00041030 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00041034 b 0x40efc                 |     goto label_1;
                                         | label_14:
    0x00041038 andi s0, s0, 0xff         |     s0 &= 0xff;
    0x0004103c negu s0, s0               |     __asm ("negu s0, s0");
    0x00041040 b 0x40efc                 |     goto label_1;
                                         | label_12:
    0x00041044 move s0, zero             |     s0 = 0;
    0x00041048 b 0x40efc                 |     goto label_1;
                                         | label_2:
    0x0004104c lw a2, -0x7fc4(gp)        |     a2 = *(gp);
    0x00041050 lw a1, -0x7fc4(gp)        |     a1 = *(gp);
                                         |     /* str.enumerator_scan_devices_tag */
    0x00041054 addiu v0, v0, 0x3f18      |     v0 += 0x3f18;
    0x00041058 lw t9, -0x7fc0(gp)        |     t9 = sym.log_assert_failed_realm;
    0x0004105c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00041060 addiu a3, zero, 0x261     |     a3 = 0x261;
                                         |     /* esilref: 'src/libsystemd/sd-device/device-enumerator.c' */
    0x00041064 addiu a2, a2, 0x3a43      |     a2 += 0x3a43;
                                         |     /* str.enumerator */
    0x00041068 addiu a1, a1, 0x3a70      |     a1 += 0x3a70;
    0x0004106c jalr t9                   |     t9 ();
                                         | label_3:
    0x00041070 lw a2, -0x7fc4(gp)        |     a2 = *(gp);
    0x00041074 lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x00041078 addiu v0, v0, 0x3f18      |     v0 += 0x3f18;
    0x0004107c lw t9, -0x7fc0(gp)        |     t9 = sym.log_assert_failed_realm;
    0x00041080 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00041084 addiu a3, zero, 0x262     |     a3 = 0x262;
                                         |     /* esilref: 'src/libsystemd/sd-device/device-enumerator.c' */
    0x00041088 addiu a2, a2, 0x3a43      |     a2 += 0x3a43;
                                         |     /* esilref: 'tag' */
    0x0004108c addiu a1, a1, 0x3ba0      |     a1 += 0x3ba0;
    0x00041090 move a0, zero             |     a0 = 0;
    0x00041094 jalr t9                   |     t9 ();
                                         | label_4:
    0x00041098 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x0004109c lw a2, -0x7fc4(gp)        |     a2 = *(gp);
    0x000410a0 lw a1, -0x7fd0(gp)        |     a1 = *(gp);
                                         |     /* str.enumerator_scan_devices_tag */
    0x000410a4 addiu v0, v0, 0x3f18      |     v0 += 0x3f18;
    0x000410a8 lw t9, -0x7fc0(gp)        |     t9 = sym.log_assert_failed_realm;
    0x000410ac sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000410b0 addiu a3, zero, 0x264     |     a3 = aav.0x00000264;
                                         |     /* esilref: 'src/libsystemd/sd-device/device-enumerator.c' */
    0x000410b4 addiu a2, a2, 0x3a43      |     a2 += 0x3a43;
                                         |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x000410b8 addiu a1, a1, 0x7c64      |     a1 += 0x7c64;
    0x000410bc move a0, zero             |     a0 = 0;
    0x000410c0 jalr t9                   |     t9 ();
                                         | label_11:
    0x000410c4 lw t9, -0x7230(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000410c8 jalr t9                   |     t9 ();
    0x000410cc nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x41b7c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00041b7c ()                  | void fcn_00041b7c () {
    0x00041b7c lui gp, 8                     |     
    0x00041b80 addiu gp, gp, 0x55f4          |     
    0x00041b84 addu gp, gp, t9               |     gp += t9;
    0x00041b88 addiu sp, sp, -0x68           |     
    0x00041b8c lw v0, -0x71f0(gp)            |     v0 = *((gp - 7292));
    0x00041b90 sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x00041b94 move fp, sp                   |     fp = sp;
    0x00041b98 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x00041b9c sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00041ba0 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00041ba4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00041ba8 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x00041bac sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x00041bb0 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x00041bb4 sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x00041bb8 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x00041bbc sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x00041bc0 sw v0, 0x28(fp)               |     *(var_28h) = v0;
    0x00041bc4 lw v0, (v0)                   |     v0 = *(v0);
    0x00041bc8 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x00041bcc move s3, a0                   |     s3 = a0;
    0x00041bd0 sw a2, 0x30(fp)               |     *(var_30h_2) = a2;
    0x00041bd4 move a0, a1                   |     a0 = a1;
    0x00041bd8 sw v0, 0x3c(fp)               |     *(var_3ch_2) = v0;
    0x00041bdc move s6, a1                   |     s6 = a1;
    0x00041be0 move s0, a3                   |     s0 = a3;
    0x00041be4 jalr t9                       |     t9 ();
    0x00041be8 lui a0, 0x40                  |     a0 = 0x400000;
    0x00041bec addiu v1, v0, 6               |     v1 = v0 + 6;
    0x00041bf0 addiu a0, a0, 1               |     a0++;
    0x00041bf4 sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x00041bf8 lw gp, 0x20(fp)               |     gp = *(var_20h);
                                             |     if (v1 == 0) {
    0x00041bfc beqz v1, 0x41ddc              |         goto label_2;
                                             |     }
    0x00041c00 addiu v0, v0, 0xd             |     v0 += 0xd;
    0x00041c04 srl v0, v0, 3                 |     v0 >>= 3;
    0x00041c08 sll v0, v0, 3                 |     v0 <<= 3;
    0x00041c0c subu sp, sp, v0               |     
    0x00041c10 addiu s4, sp, 0x20            |     s4 = sp + 0x20;
    0x00041c14 lui v0, 0x7379                |     v0 = 0x7379732f;
    0x00041c18 addiu v0, v0, 0x732f          |     
    0x00041c1c lw t9, -0x72a8(gp)            |     t9 = sym.imp.strcpy
    0x00041c20 sw v0, (s4)                   |     *(s4) = v0;
    0x00041c24 addiu v0, zero, 0x2f          |     v0 = 0x2f;
    0x00041c28 move a1, s6                   |     a1 = s6;
    0x00041c2c addiu a0, s4, 5               |     a0 = s4 + 5;
    0x00041c30 sb v0, 4(s4)                  |     *((s4 + 4)) = v0;
    0x00041c34 jalr t9                       |     t9 ();
    0x00041c38 lw gp, 0x20(fp)               |     gp = *(var_20h);
    0x00041c3c lw t9, -0x7524(gp)            |     t9 = *((gp - 7497));
    0x00041c40 move a0, s4                   |     a0 = s4;
    0x00041c44 jalr t9                       |     t9 ();
    0x00041c48 lw gp, 0x20(fp)               |     gp = *(var_20h);
    0x00041c4c lw t9, -0x73b8(gp)            |     t9 = sym.imp.__errno_location;
    0x00041c50 move s1, v0                   |     s1 = v0;
    0x00041c54 jalr t9                       |     t9 ();
    0x00041c58 move s2, v0                   |     s2 = v0;
    0x00041c5c lw gp, 0x20(fp)               |     gp = *(var_20h);
                                             |     if (s1 == 0) {
    0x00041c60 beqz s1, 0x41dd0              |         goto label_3;
                                             |     }
    0x00041c64 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00041c68 move a0, zero                 |     a0 = 0;
    0x00041c6c jalr t9                       |     t9 ();
    0x00041c70 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00041c74 lw gp, 0x20(fp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00041c78 beqz v0, 0x41d90              |         goto label_4;
                                             |     }
                                             | label_1:
    0x00041c7c lw t9, -0x7498(gp)            |     t9 = sym.imp.readdir64;
    0x00041c80 sw zero, (s2)                 |     *(s2) = 0;
    0x00041c84 move a0, s1                   |     a0 = s1;
    0x00041c88 jalr t9                       |     t9 ();
    0x00041c8c move s7, v0                   |     s7 = v0;
    0x00041c90 lw gp, 0x20(fp)               |     gp = *(var_20h);
    0x00041c94 move s4, zero                 |     s4 = 0;
                                             |     if (v0 == 0) {
    0x00041c98 beqz v0, 0x41d2c              |         goto label_5;
                                             |     }
    0x00041c9c lw v0, -0x7a60(gp)            |     v0 = *(gp);
    0x00041ca0 addiu s5, zero, 0x2e          |     s5 = 0x2e;
                                             |     /* fcn.0003f990 */
    0x00041ca4 addiu v0, v0, -0x670          |     v0 += -0x670;
    0x00041ca8 sw v0, 0x34(fp)               |     *(var_34h_2) = v0;
    0x00041cac lw v0, -0x7a60(gp)            |     v0 = *(gp);
    0x00041cb0 addiu v0, v0, 0x1570          |     v0 += 0x1570;
    0x00041cb4 sw v0, 0x2c(fp)               |     *(var_2ch_2) = v0;
    0x00041cb8 b 0x41d10                     |     goto label_6;
                                             | label_0:
    0x00041cbc lw t9, 0x34(fp)               |     t9 = *(var_34h_2);
    0x00041cc0 move a0, s3                   |     a0 = s3;
    0x00041cc4 jalr t9                       |     t9 ();
    0x00041cc8 lw gp, 0x20(fp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00041ccc beqz v0, 0x41cf4              |         
    0x00041cd0 lw a3, 0x30(fp)               |         a3 = *(var_30h_2);
    0x00041cd4 lw t9, 0x2c(fp)               |         t9 = *(var_2ch_2);
    0x00041cd8 addiu a2, s7, 0x13            |         a2 = s7 + 0x13;
    0x00041cdc move a1, s6                   |         a1 = s6;
    0x00041ce0 move a0, s3                   |         a0 = s3;
    0x00041ce4 jalr t9                       |         t9 ();
    0x00041ce8 slti v1, v0, 0                |         v1 = (v0 < 0) ? 1 : 0;
    0x00041cec lw gp, 0x20(fp)               |         gp = *(var_20h);
                                             |         if (v1 != 0) {
    0x00041cf0 movn s4, v0, v1               |             s4 = v0;
                                             |             goto label_7;
                                             |         }
                                             |     }
                                             | label_7:
    0x00041cf4 lw t9, -0x7498(gp)            |     t9 = sym.imp.readdir64;
                                             |     do {
    0x00041cf8 sw zero, (s2)                 |         *(s2) = 0;
    0x00041cfc move a0, s1                   |         a0 = s1;
    0x00041d00 jalr t9                       |         t9 ();
    0x00041d04 move s7, v0                   |         s7 = v0;
    0x00041d08 lw gp, 0x20(fp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00041d0c beqz v0, 0x41d2c              |             goto label_5;
                                             |         }
                                             | label_6:
    0x00041d10 lb v0, 0x13(s7)               |         v0 = *((s7 + 19));
    0x00041d14 lw t9, -0x7498(gp)            |         t9 = sym.imp.readdir64;
    0x00041d18 beq v0, s5, 0x41cf8           |         
                                             |     } while (v0 == s5);
    0x00041d1c move a1, s0                   |     a1 = s0;
                                             |     if (s0 == 0) {
    0x00041d20 bnel s0, zero, 0x41cbc        |         goto label_0;
                                             |     }
    0x00041d24 addiu a1, s7, 0x13            |     a1 = s7 + 0x13;
    0x00041d28 b 0x41cbc                     |     goto label_0;
                                             | label_5:
    0x00041d2c lw v0, (s2)                   |     v0 = *(s2);
                                             |     if (v0 <= 0) {
    0x00041d30 bgtzl v0, 0x41d38             |         
    0x00041d34 negu s4, v0                   |         __asm ("negu s4, v0");
                                             |     }
    0x00041d38 lw t9, -0x751c(gp)            |     t9 = sym.imp.closedir;
    0x00041d3c move a0, s1                   |     a0 = s1;
    0x00041d40 jalr t9                       |     t9 ();
    0x00041d44 lw gp, 0x20(fp)               |     gp = *(var_20h);
                                             |     do {
    0x00041d48 lw v0, 0x28(fp)               |         v0 = *(var_28h);
    0x00041d4c lw a0, 0x3c(fp)               |         a0 = *(var_3ch_2);
    0x00041d50 lw v1, (v0)                   |         v1 = *(v0);
    0x00041d54 move v0, s4                   |         v0 = s4;
                                             |         if (a0 != v1) {
    0x00041d58 bne a0, v1, 0x41e08           |             goto label_8;
                                             |         }
    0x00041d5c move sp, fp                   |         
    0x00041d60 lw ra, 0x64(sp)               |         ra = *(var_64h);
    0x00041d64 lw fp, 0x60(sp)               |         fp = *(var_60h);
    0x00041d68 lw s7, 0x5c(sp)               |         s7 = *(var_5ch);
    0x00041d6c lw s6, 0x58(sp)               |         s6 = *(var_58h);
    0x00041d70 lw s5, 0x54(sp)               |         s5 = *(var_54h);
    0x00041d74 lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x00041d78 lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x00041d7c lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x00041d80 lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x00041d84 lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x00041d88 addiu sp, sp, 0x68            |         
    0x00041d8c jr ra                         |         return v0;
                                             | label_4:
    0x00041d90 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00041d94 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
                                             |         /* str.sd_device_enumerator:_Scanning__s */
    0x00041d98 addiu v0, v0, 0x3c78          |         v0 += 0x3c78;
    0x00041d9c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00041da0 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00041da4 lw t9, -0x7fc8(gp)            |         t9 = sym.log_internal_realm;
                                             |         /* esilref: 'enumerator_scan_dir' */
    0x00041da8 addiu v0, v0, 0x3e3c          |         v0 += 0x3e3c;
    0x00041dac sw s4, 0x18(sp)               |         *(var_18h_2) = s4;
    0x00041db0 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00041db4 addiu a3, zero, 0x248         |         a3 = aav.0x00000248;
                                             |         /* esilref: 'src/libsystemd/sd-device/device-enumerator.c' */
    0x00041db8 addiu a2, a2, 0x3a43          |         a2 += 0x3a43;
    0x00041dbc move a1, zero                 |         a1 = 0;
    0x00041dc0 addiu a0, zero, 7             |         a0 = 7;
    0x00041dc4 jalr t9                       |         t9 ();
    0x00041dc8 lw gp, 0x20(fp)               |         gp = *(var_20h);
    0x00041dcc b 0x41c7c                     |         goto label_1;
                                             | label_3:
    0x00041dd0 lw s4, (s2)                   |         s4 = *(s2);
    0x00041dd4 negu s4, s4                   |         __asm ("negu s4, s4");
    0x00041dd8 b 0x41d48                     |         
                                             |     } while (1);
                                             | label_2:
    0x00041ddc lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00041de0 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00041de4 lw a1, -0x7fd0(gp)            |     a1 = *(gp);
                                             |     /* str.enumerator_scan_dir */
    0x00041de8 addiu v0, v0, 0x3e50          |     v0 += 0x3e50;
    0x00041dec lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x00041df0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00041df4 addiu a3, zero, 0x242         |     a3 = 0x242;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-enumerator.c' */
    0x00041df8 addiu a2, a2, 0x3a43          |     a2 += 0x3a43;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x00041dfc addiu a1, a1, 0x7c64          |     a1 += 0x7c64;
    0x00041e00 move a0, zero                 |     a0 = 0;
    0x00041e04 jalr t9                       |     t9 ();
                                             | label_8:
    0x00041e08 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00041e0c jalr t9                       |     t9 ();
    0x00041e10 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x46ce0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00046ce0 ()                  | void fcn_00046ce0 () {
    0x00046ce0 lui gp, 8                     |     
    0x00046ce4 addiu gp, gp, 0x490           |     
    0x00046ce8 addu gp, gp, t9               |     gp += t9;
    0x00046cec addiu sp, sp, -0x80           |     
    0x00046cf0 sw s3, 0x64(sp)               |     *(var_64h) = s3;
    0x00046cf4 lw s3, -0x71f0(gp)            |     s3 = *((gp - 7292));
    0x00046cf8 sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x00046cfc sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x00046d00 sw s7, 0x74(sp)               |     *(var_74h) = s7;
    0x00046d04 sw s6, 0x70(sp)               |     *(var_70h) = s6;
    0x00046d08 sw s5, 0x6c(sp)               |     *(var_6ch) = s5;
    0x00046d0c sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x00046d10 sw s2, 0x60(sp)               |     *(var_60h) = s2;
    0x00046d14 sw s1, 0x5c(sp)               |     *(var_5ch) = s1;
    0x00046d18 sw s0, 0x58(sp)               |     *(var_58h) = s0;
    0x00046d1c sw gp, 0x30(sp)               |     *(var_30h) = gp;
    0x00046d20 move fp, sp                   |     fp = sp;
    0x00046d24 lw v0, (s3)                   |     v0 = *(s3);
    0x00046d28 sw v0, 0x54(fp)               |     *(var_54h) = v0;
                                             |     if (a0 == 0) {
    0x00046d2c beql a0, zero, 0x47290        |         goto label_32;
                                             |     }
    0x00046d30 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00046d34 move s0, a1                   |     s0 = a1;
                                             |     if (a1 == 0) {
    0x00046d38 beqz a1, 0x472b4              |         goto label_33;
                                             |     }
    0x00046d3c move s1, a2                   |     s1 = a2;
                                             |     if (a2 == 0) {
    0x00046d40 beqz a2, 0x472e0              |         goto label_34;
                                             |     }
    0x00046d44 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00046d48 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
    0x00046d4c move s2, a0                   |     s2 = a0;
                                             |     /* str.DEVPATH */
    0x00046d50 addiu a1, a1, -0x458c         |     a1 += -0x458c;
    0x00046d54 move a0, s0                   |     a0 = s0;
    0x00046d58 jalr t9                       |     t9 ();
    0x00046d5c lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00046d60 bnez v0, 0x46e24              |         goto label_35;
                                             |     }
    0x00046d64 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x00046d68 move a0, s1                   |     a0 = s1;
    0x00046d6c jalr t9                       |     t9 ();
    0x00046d70 lui a0, 0x40                  |     a0 = 0x400000;
                                             |     /* esilref: 'bute: &' */
    0x00046d74 addiu v1, v0, 5               |     v1 = v0 + 5;
    0x00046d78 addiu a0, a0, 1               |     a0++;
    0x00046d7c sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x00046d80 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v1 == 0) {
    0x00046d84 beqz v1, 0x474c8              |         goto label_36;
                                             |     }
    0x00046d88 addiu v0, v0, 0xc             |     v0 += 0xc;
    0x00046d8c srl v0, v0, 3                 |     v0 >>= 3;
    0x00046d90 sll v0, v0, 3                 |     v0 <<= 3;
    0x00046d94 subu sp, sp, v0               |     
    0x00046d98 addiu s0, sp, 0x30            |     s0 = sp + 0x30;
    0x00046d9c lui v0, 0x7379                |     v0 = 0x73790000;
    0x00046da0 lw t9, -0x72a8(gp)            |     t9 = sym.imp.strcpy
    0x00046da4 addiu v0, v0, 0x732f          |     v0 += 0x732f;
    0x00046da8 move a1, s1                   |     a1 = s1;
    0x00046dac addiu a0, s0, 4               |     a0 = s0 + 4;
    0x00046db0 sw v0, (s0)                   |     *(s0) = v0;
    0x00046db4 jalr t9                       |     t9 ();
    0x00046db8 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00046dbc move a2, zero                 |     a2 = 0;
    0x00046dc0 move a1, s0                   |     a1 = s0;
    0x00046dc4 lw t9, -0x7998(gp)            |     t9 = sym.device_set_syspath;
    0x00046dc8 move a0, s2                   |     a0 = s2;
    0x00046dcc bal 0x48af0                   |     sym_device_set_syspath ();
    0x00046dd0 move s1, v0                   |     s1 = v0;
    0x00046dd4 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x00046dd8 bltz v0, 0x470e4              |         goto label_37;
                                             |     }
                                             | label_2:
    0x00046ddc move s4, zero                 |     s4 = 0;
                                             |     do {
                                             | label_0:
    0x00046de0 lw a0, 0x54(fp)               |         a0 = *(var_54h);
    0x00046de4 lw v1, (s3)                   |         v1 = *(s3);
    0x00046de8 move v0, s4                   |         v0 = s4;
                                             |         if (a0 != v1) {
    0x00046dec bne a0, v1, 0x47cb0           |             goto label_38;
                                             |         }
    0x00046df0 move sp, fp                   |         
    0x00046df4 lw ra, 0x7c(sp)               |         ra = *(var_7ch);
    0x00046df8 lw fp, 0x78(sp)               |         fp = *(var_78h);
    0x00046dfc lw s7, 0x74(sp)               |         s7 = *(var_74h);
    0x00046e00 lw s6, 0x70(sp)               |         s6 = *(var_70h);
    0x00046e04 lw s5, 0x6c(sp)               |         s5 = *(var_6ch);
    0x00046e08 lw s4, 0x68(sp)               |         s4 = *(var_68h);
    0x00046e0c lw s3, 0x64(sp)               |         s3 = *(var_64h);
    0x00046e10 lw s2, 0x60(sp)               |         s2 = *(var_60h);
    0x00046e14 lw s1, 0x5c(sp)               |         s1 = *(var_5ch);
    0x00046e18 lw s0, 0x58(sp)               |         s0 = *(var_58h);
    0x00046e1c addiu sp, sp, 0x80            |         
    0x00046e20 jr ra                         |         return v0;
                                             | label_35:
    0x00046e24 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046e28 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.SUBSYSTEM */
    0x00046e2c addiu a1, a1, -0x43f0         |         a1 += -0x43f0;
    0x00046e30 move a0, s0                   |         a0 = s0;
    0x00046e34 jalr t9                       |         t9 ();
    0x00046e38 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046e3c beqz v0, 0x471fc              |             goto label_39;
                                             |         }
    0x00046e40 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046e44 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.DEVTYPE */
    0x00046e48 addiu a1, a1, -0x3d4c         |         a1 += -0x3d4c;
    0x00046e4c move a0, s0                   |         a0 = s0;
    0x00046e50 jalr t9                       |         t9 ();
    0x00046e54 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046e58 beqz v0, 0x4715c              |             goto label_40;
                                             |         }
    0x00046e5c lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046e60 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.DEVNAME */
    0x00046e64 addiu a1, a1, -0x3d54         |         a1 += -0x3d54;
    0x00046e68 move a0, s0                   |         a0 = s0;
    0x00046e6c jalr t9                       |         t9 ();
    0x00046e70 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046e74 beqz v0, 0x4730c              |             goto label_41;
                                             |         }
    0x00046e78 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046e7c lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.USEC_INITIALIZED */
    0x00046e80 addiu a1, a1, 0x4bf0          |         a1 += 0x4bf0;
    0x00046e84 move a0, s0                   |         a0 = s0;
    0x00046e88 jalr t9                       |         t9 ();
    0x00046e8c move s4, v0                   |         s4 = v0;
    0x00046e90 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046e94 beqz v0, 0x474f4              |             goto label_42;
                                             |         }
    0x00046e98 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046e9c lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.DRIVER */
    0x00046ea0 addiu a1, a1, -0x43a8         |         a1 += -0x43a8;
    0x00046ea4 move a0, s0                   |         a0 = s0;
    0x00046ea8 jalr t9                       |         t9 ();
    0x00046eac lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046eb0 beqz v0, 0x47384              |             goto label_43;
                                             |         }
    0x00046eb4 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046eb8 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.IFINDEX */
    0x00046ebc addiu a1, a1, -0x3d44         |         a1 += -0x3d44;
    0x00046ec0 move a0, s0                   |         a0 = s0;
    0x00046ec4 jalr t9                       |         t9 ();
    0x00046ec8 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046ecc beqz v0, 0x475b4              |             goto label_44;
                                             |         }
    0x00046ed0 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046ed4 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.DEVMODE */
    0x00046ed8 addiu a1, a1, 0x4cc8          |         a1 += 0x4cc8;
    0x00046edc move a0, s0                   |         a0 = s0;
    0x00046ee0 jalr t9                       |         t9 ();
    0x00046ee4 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046ee8 beqz v0, 0x476d8              |             goto label_45;
                                             |         }
    0x00046eec lw s5, -0x7fc4(gp)            |         s5 = *(gp);
    0x00046ef0 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.DEVUID */
    0x00046ef4 addiu a1, s5, 0x4d00          |         a1 = s5 + 0x4d00;
    0x00046ef8 move a0, s0                   |         a0 = s0;
    0x00046efc jalr t9                       |         t9 ();
    0x00046f00 move s4, v0                   |         s4 = v0;
    0x00046f04 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046f08 beqz v0, 0x47778              |             goto label_46;
                                             |         }
    0x00046f0c lw s5, -0x7fc4(gp)            |         s5 = *(gp);
    0x00046f10 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.DEVGID */
    0x00046f14 addiu a1, s5, 0x4d34          |         a1 = s5 + 0x4d34;
    0x00046f18 move a0, s0                   |         a0 = s0;
    0x00046f1c jalr t9                       |         t9 ();
    0x00046f20 move s4, v0                   |         s4 = v0;
    0x00046f24 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046f28 beqz v0, 0x477c8              |             goto label_47;
                                             |         }
    0x00046f2c lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046f30 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.ACTION */
    0x00046f34 addiu a1, a1, -0x45a0         |         a1 += -0x45a0;
    0x00046f38 move a0, s0                   |         a0 = s0;
    0x00046f3c jalr t9                       |         t9 ();
    0x00046f40 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046f44 beqz v0, 0x47818              |             goto label_48;
                                             |         }
    0x00046f48 lw s5, -0x7fc4(gp)            |         s5 = *(gp);
    0x00046f4c lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.SEQNUM */
    0x00046f50 addiu a1, s5, -0x3d2c         |         a1 = s5 + -0x3d2c;
    0x00046f54 move a0, s0                   |         a0 = s0;
    0x00046f58 jalr t9                       |         t9 ();
    0x00046f5c move s4, v0                   |         s4 = v0;
    0x00046f60 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046f64 beqz v0, 0x47934              |             goto label_49;
                                             |         }
    0x00046f68 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046f6c lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.DEVLINKS */
    0x00046f70 addiu a1, a1, -0x3d60         |         a1 += -0x3d60;
    0x00046f74 move a0, s0                   |         a0 = s0;
    0x00046f78 jalr t9                       |         t9 ();
    0x00046f7c move s4, v0                   |         s4 = v0;
    0x00046f80 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x00046f84 beqz v0, 0x47a34              |             goto label_50;
                                             |         }
    0x00046f88 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00046f8c lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str.TAGS */
    0x00046f90 addiu a1, a1, -0x4260         |         a1 += -0x4260;
    0x00046f94 move a0, s0                   |         a0 = s0;
    0x00046f98 jalr t9                       |         t9 ();
    0x00046f9c move s4, v0                   |         s4 = v0;
    0x00046fa0 lw gp, 0x30(fp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x00046fa4 bnez v0, 0x47998              |             goto label_51;
                                             |         }
    0x00046fa8 lw s7, -0x7fc4(gp)            |         s7 = *(gp);
    0x00046fac lw t9, -0x7af4(gp)            |         t9 = sym.split;
    0x00046fb0 addiu s6, fp, 0x44            |         s6 = fp + 0x44;
    0x00046fb4 addiu s5, fp, 0x40            |         s5 = fp + 0x40;
    0x00046fb8 move a3, zero                 |         a3 = 0;
    0x00046fbc addiu a2, s7, 0x4dec          |         a2 = s7 + 0x4dec;
    0x00046fc0 move a1, s6                   |         a1 = s6;
    0x00046fc4 move a0, s5                   |         a0 = s5;
    0x00046fc8 sw s1, 0x40(fp)               |         *(var_40h) = s1;
    0x00046fcc jalr t9                       |         t9 ();
    0x00046fd0 addiu v1, s7, 0x4dec          |         v1 = s7 + 0x4dec;
    0x00046fd4 lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x00046fd8 sw v1, 0x3c(fp)               |         *(var_3ch) = v1;
                                             |         if (v0 != 0) {
    0x00046fdc bnez v0, 0x4700c              |             goto label_52;
                                             |         }
    0x00046fe0 b 0x46de0                     |         
                                             |     } while (1);
    0x00046fe4 nop                           |     
                                             | label_1:
    0x00046fe8 lw t9, -0x7af4(gp)            |     t9 = sym.split;
    0x00046fec lw a2, 0x3c(fp)               |     a2 = *(var_3ch);
    0x00046ff0 move a3, zero                 |     a3 = 0;
    0x00046ff4 move sp, s1                   |     
    0x00046ff8 move a1, s6                   |     a1 = s6;
    0x00046ffc move a0, s5                   |     a0 = s5;
    0x00047000 jalr t9                       |     t9 ();
    0x00047004 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00047008 beqz v0, 0x46de0              |         goto label_0;
                                             |     }
                                             | label_52:
    0x0004700c lw s7, 0x44(fp)               |     s7 = *(var_44h);
    0x00047010 move s1, sp                   |     s1 = sp;
    0x00047014 addiu a0, s7, 8               |     a0 = s7 + 8;
    0x00047018 srl a0, a0, 3                 |     a0 >>= 3;
    0x0004701c sll a0, a0, 3                 |     a0 <<= 3;
    0x00047020 subu sp, sp, a0               |     
    0x00047024 lw t9, -0x73cc(gp)            |     t9 = sym.imp.strncpy;
    0x00047028 addiu s0, sp, 0x30            |     s0 = sp + 0x30;
    0x0004702c move a2, s7                   |     a2 = s7;
    0x00047030 move a1, v0                   |     a1 = v0;
    0x00047034 move a0, s0                   |     a0 = s0;
    0x00047038 jalr t9                       |     t9 ();
    0x0004703c lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047040 addu v1, s0, s7               |     v1 = s0 + s7;
    0x00047044 move a1, s0                   |     a1 = s0;
    0x00047048 lw t9, -0x7c00(gp)            |     t9 = sym.device_add_tag;
    0x0004704c sb zero, (v1)                 |     *(v1) = 0;
    0x00047050 move a0, s2                   |     a0 = s2;
    0x00047054 bal 0x4c780                   |     sym_device_add_tag ();
    0x00047058 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x0004705c bgez v0, 0x46fe8              |         goto label_1;
                                             |     }
    0x00047060 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00047064 move a0, zero                 |     a0 = 0;
    0x00047068 sw v0, 0x3c(fp)               |     *(var_3ch) = v0;
    0x0004706c sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047070 jalr t9                       |     t9 ();
    0x00047074 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00047078 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x0004707c lw v1, 0x3c(fp)               |     v1 = *(var_3ch);
    0x00047080 move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x00047084 beqz v0, 0x4749c              |         goto label_53;
                                             |     }
                                             | label_14:
    0x00047088 move v0, zero                 |     v0 = 0;
                                             | label_15:
    0x0004708c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00047090 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047094 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.sd_device:_Failed_to_add_tag__s:__m */
    0x00047098 addiu a1, a1, 0x4df0          |     a1 += 0x4df0;
                                             |     /* esilref: 'device_amend' */
    0x0004709c addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x000470a0 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x000470a4 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x000470a8 sw a1, 0x24(sp)               |     *(var_24h) = a1;
    0x000470ac sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x000470b0 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x000470b4 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x000470b8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000470bc addiu a3, zero, 0x158         |     a3 = aav.0x00000158;
                                             | label_22:
    0x000470c0 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000470c4 move a1, v1                   |     a1 = v1;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x000470c8 addiu a2, a2, 0x4983          |     a2 += 0x4983;
    0x000470cc addiu a0, zero, 7             |     a0 = 7;
    0x000470d0 jalr t9                       |     t9 ();
    0x000470d4 move s4, v0                   |     s4 = v0;
    0x000470d8 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x000470dc move sp, s1                   |     
    0x000470e0 b 0x46de0                     |     goto label_0;
                                             | label_37:
    0x000470e4 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x000470e8 move a0, zero                 |     a0 = 0;
    0x000470ec sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x000470f0 jalr t9                       |     t9 ();
    0x000470f4 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x000470f8 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x000470fc move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x00047100 beqz v0, 0x471d4              |         goto label_54;
                                             |     }
                                             | label_3:
    0x00047104 move v0, zero                 |     v0 = 0;
                                             | label_4:
    0x00047108 lw v1, -0x7fc4(gp)            |     v1 = *(gp);
    0x0004710c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047110 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00047114 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00047118 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
                                             |     /* str.sd_device:_Failed_to_set_syspath_to__s:__m */
    0x0004711c addiu v1, v1, 0x4b30          |     v1 += 0x4b30;
                                             |     /* esilref: 'device_amend' */
    0x00047120 addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x00047124 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x00047128 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0004712c sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x00047130 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00047134 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00047138 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004713c addiu a3, zero, 0x10b         |     a3 = 0x10b;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x00047140 addiu a2, a2, 0x4983          |     a2 += 0x4983;
    0x00047144 move a1, s1                   |     a1 = s1;
    0x00047148 addiu a0, zero, 7             |     a0 = 7;
    0x0004714c jalr t9                       |     t9 ();
    0x00047150 move s4, v0                   |     s4 = v0;
    0x00047154 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047158 b 0x46de0                     |     goto label_0;
                                             | label_40:
    0x0004715c lw t9, -0x7978(gp)            |     t9 = sym.device_set_devtype;
    0x00047160 move a1, s1                   |     a1 = s1;
    0x00047164 move a0, s2                   |     a0 = s2;
    0x00047168 bal 0x49fb0                   |     sym_device_set_devtype ();
    0x0004716c move s0, v0                   |     s0 = v0;
    0x00047170 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x00047174 bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x00047178 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x0004717c move a0, zero                 |     a0 = 0;
    0x00047180 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047184 jalr t9                       |     t9 ();
    0x00047188 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x0004718c lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047190 move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x00047194 beqz v0, 0x47424              |         goto label_55;
                                             |     }
                                             | label_8:
    0x00047198 move v1, zero                 |     v1 = 0;
                                             | label_9:
    0x0004719c lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000471a0 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
                                             |     /* str.sd_device:_Failed_to_set_devtype_to__s:__m */
    0x000471a4 addiu v0, v0, 0x4b90          |     v0 += 0x4b90;
    0x000471a8 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000471ac lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000471b0 sw s1, 0x28(sp)               |     *(var_28h) = s1;
                                             |     /* esilref: 'device_amend' */
    0x000471b4 addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x000471b8 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x000471bc sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x000471c0 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x000471c4 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000471c8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000471cc addiu a3, zero, 0x113         |     a3 = 0x113;
    0x000471d0 b 0x47270                     |     goto label_5;
                                             | label_54:
    0x000471d4 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x000471d8 move a0, s2                   |     a0 = s2;
    0x000471dc addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x000471e0 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x000471e4 lw a0, 0x48(fp)               |     a0 = *(var_48h);
    0x000471e8 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (a0 == 0) {
    0x000471ec beqz a0, 0x47104              |         goto label_3;
                                             |     }
    0x000471f0 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x000471f4 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x000471f8 b 0x47108                     |     goto label_4;
                                             | label_39:
    0x000471fc lw t9, -0x798c(gp)            |     t9 = sym.device_set_subsystem;
    0x00047200 move a1, s1                   |     a1 = s1;
    0x00047204 move a0, s2                   |     a0 = s2;
    0x00047208 bal 0x4a8dc                   |     sym_device_set_subsystem ();
    0x0004720c move s0, v0                   |     s0 = v0;
    0x00047210 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x00047214 bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x00047218 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x0004721c move a0, zero                 |     a0 = 0;
    0x00047220 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047224 jalr t9                       |     t9 ();
    0x00047228 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x0004722c lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047230 move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x00047234 beqz v0, 0x473fc              |         goto label_56;
                                             |     }
                                             | label_6:
    0x00047238 move v0, zero                 |     v0 = 0;
                                             | label_7:
    0x0004723c lw v1, -0x7fc4(gp)            |     v1 = *(gp);
    0x00047240 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047244 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.sd_device:_Failed_to_set_subsystem_to__s:__m */
    0x00047248 addiu v1, v1, 0x4b60          |     v1 += 0x4b60;
                                             |     /* esilref: 'device_amend' */
    0x0004724c addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x00047250 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x00047254 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00047258 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x0004725c sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00047260 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00047264 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x00047268 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004726c addiu a3, zero, 0x10f         |     a3 = 0x10f;
                                             | label_5:
    0x00047270 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00047274 move a1, s0                   |     a1 = s0;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x00047278 addiu a2, a2, 0x4983          |     a2 += 0x4983;
    0x0004727c addiu a0, zero, 7             |     a0 = 7;
    0x00047280 jalr t9                       |     t9 ();
    0x00047284 move s4, v0                   |     s4 = v0;
    0x00047288 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x0004728c b 0x46de0                     |     goto label_0;
                                             | label_32:
    0x00047290 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00047294 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.device_amend */
    0x00047298 addiu v0, v0, 0x50d4          |     v0 += 0x50d4;
    0x0004729c lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x000472a0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000472a4 addiu a3, zero, 0xff          |     a3 = 0xff;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x000472a8 addiu a2, a2, 0x4983          |     a2 += 0x4983;
                                             |     /* esilref: 'device' */
    0x000472ac addiu a1, a1, -0xdc           |     a1 += -0xdc;
    0x000472b0 jalr t9                       |     t9 ();
                                             | label_33:
    0x000472b4 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000472b8 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000472bc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.device_amend */
    0x000472c0 addiu v0, v0, 0x50d4          |     v0 += 0x50d4;
    0x000472c4 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x000472c8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000472cc addiu a3, zero, 0x100         |     a3 = aav.0x00000100;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x000472d0 addiu a2, a2, 0x4983          |     a2 += 0x4983;
                                             |     /* esilref: 'key' */
    0x000472d4 addiu a1, a1, -0x7764         |     a1 += -0x7764;
    0x000472d8 move a0, zero                 |     a0 = 0;
    0x000472dc jalr t9                       |     t9 ();
                                             | label_34:
    0x000472e0 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000472e4 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000472e8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.device_amend */
    0x000472ec addiu v0, v0, 0x50d4          |     v0 += 0x50d4;
    0x000472f0 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x000472f4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000472f8 addiu a3, zero, 0x101         |     a3 = 0x101;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x000472fc addiu a2, a2, 0x4983          |     a2 += 0x4983;
                                             |     /* str.value */
    0x00047300 addiu a1, a1, -0x7b18         |     a1 += -0x7b18;
    0x00047304 move a0, zero                 |     a0 = 0;
    0x00047308 jalr t9                       |     t9 ();
                                             | label_41:
    0x0004730c lw t9, -0x7974(gp)            |     t9 = *(gp);
    0x00047310 move a1, s1                   |     a1 = s1;
    0x00047314 move a0, s2                   |     a0 = s2;
    0x00047318 bal 0x4a1bc                   |     sym_device_set_devname ();
    0x0004731c move s0, v0                   |     s0 = v0;
    0x00047320 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x00047324 bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x00047328 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x0004732c move a0, zero                 |     a0 = 0;
    0x00047330 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047334 jalr t9                       |     t9 ();
    0x00047338 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x0004733c lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047340 move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x00047344 beqz v0, 0x4744c              |         goto label_57;
                                             |     }
                                             | label_10:
    0x00047348 move v0, zero                 |     v0 = 0;
                                             | label_11:
    0x0004734c lw v1, -0x7fc4(gp)            |     v1 = *(gp);
    0x00047350 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047354 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.sd_device:_Failed_to_set_devname_to__s:__m */
    0x00047358 addiu v1, v1, 0x4bc0          |     v1 += 0x4bc0;
                                             |     /* esilref: 'device_amend' */
    0x0004735c addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x00047360 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x00047364 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00047368 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x0004736c sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00047370 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00047374 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x00047378 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004737c addiu a3, zero, 0x117         |     a3 = 0x117;
    0x00047380 b 0x47270                     |     goto label_5;
                                             | label_43:
    0x00047384 lw t9, -0x7970(gp)            |     t9 = *(gp);
    0x00047388 move a1, s1                   |     a1 = s1;
    0x0004738c move a0, s2                   |     a0 = s2;
    0x00047390 bal 0x4a9f4                   |     sym_device_set_driver ();
    0x00047394 move s0, v0                   |     s0 = v0;
    0x00047398 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x0004739c bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x000473a0 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x000473a4 move a0, zero                 |     a0 = 0;
    0x000473a8 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x000473ac jalr t9                       |     t9 ();
    0x000473b0 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x000473b4 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x000473b8 move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x000473bc beqz v0, 0x47474              |         goto label_58;
                                             |     }
                                             | label_12:
    0x000473c0 move v0, zero                 |     v0 = 0;
                                             | label_13:
    0x000473c4 lw v1, -0x7fc4(gp)            |     v1 = *(gp);
    0x000473c8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000473cc lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.sd_device:_Failed_to_set_driver_to__s:__m */
    0x000473d0 addiu v1, v1, 0x4c6c          |     v1 += 0x4c6c;
                                             |     /* esilref: 'device_amend' */
    0x000473d4 addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x000473d8 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x000473dc sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x000473e0 sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x000473e4 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x000473e8 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x000473ec sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x000473f0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000473f4 addiu a3, zero, 0x125         |     a3 = 0x125;
    0x000473f8 b 0x47270                     |     goto label_5;
                                             | label_56:
    0x000473fc lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00047400 move a0, s2                   |     a0 = s2;
    0x00047404 addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x00047408 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x0004740c lw a0, 0x48(fp)               |     a0 = *(var_48h);
    0x00047410 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (a0 == 0) {
    0x00047414 beqz a0, 0x47238              |         goto label_6;
                                             |     }
    0x00047418 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x0004741c addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047420 b 0x4723c                     |     goto label_7;
                                             | label_55:
    0x00047424 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00047428 move a0, s2                   |     a0 = s2;
    0x0004742c addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x00047430 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00047434 lw a0, 0x48(fp)               |     a0 = *(var_48h);
    0x00047438 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (a0 == 0) {
    0x0004743c beqz a0, 0x47198              |         goto label_8;
                                             |     }
    0x00047440 lw v1, -0x7fd0(gp)            |     v1 = *(gp);
                                             |     /* str.DEVICE */
    0x00047444 addiu v1, v1, 0x7b84          |     v1 += 0x7b84;
    0x00047448 b 0x4719c                     |     goto label_9;
                                             | label_57:
    0x0004744c lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00047450 move a0, s2                   |     a0 = s2;
    0x00047454 addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x00047458 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x0004745c lw a0, 0x48(fp)               |     a0 = *(var_48h);
    0x00047460 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (a0 == 0) {
    0x00047464 beqz a0, 0x47348              |         goto label_10;
                                             |     }
    0x00047468 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x0004746c addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047470 b 0x4734c                     |     goto label_11;
                                             | label_58:
    0x00047474 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00047478 move a0, s2                   |     a0 = s2;
    0x0004747c addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x00047480 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00047484 lw a0, 0x48(fp)               |     a0 = *(var_48h);
    0x00047488 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (a0 == 0) {
    0x0004748c beqz a0, 0x473c0              |         goto label_12;
                                             |     }
    0x00047490 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00047494 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047498 b 0x473c4                     |     goto label_13;
                                             | label_53:
    0x0004749c lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x000474a0 move a0, s2                   |     a0 = s2;
    0x000474a4 addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x000474a8 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x000474ac lw a0, 0x48(fp)               |     a0 = *(var_48h);
    0x000474b0 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x000474b4 lw v1, 0x3c(fp)               |     v1 = *(var_3ch);
                                             |     if (a0 == 0) {
    0x000474b8 beqz a0, 0x47088              |         goto label_14;
                                             |     }
    0x000474bc lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x000474c0 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x000474c4 b 0x4708c                     |     goto label_15;
                                             | label_36:
    0x000474c8 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000474cc lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000474d0 lw a1, -0x7fd0(gp)            |     a1 = *(gp);
                                             |     /* str.device_amend */
    0x000474d4 addiu v0, v0, 0x50d4          |     v0 += 0x50d4;
    0x000474d8 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x000474dc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000474e0 addiu a3, zero, 0x106         |     a3 = 0x106;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x000474e4 addiu a2, a2, 0x4983          |     a2 += 0x4983;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x000474e8 addiu a1, a1, 0x7c64          |     a1 += 0x7c64;
    0x000474ec move a0, zero                 |     a0 = 0;
    0x000474f0 jalr t9                       |     t9 ();
                                             | label_42:
    0x000474f4 lw t9, -0x7ac8(gp)            |     t9 = sym.safe_atollu;
    0x000474f8 addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x000474fc move a0, s1                   |     a0 = s1;
    0x00047500 jalr t9                       |     t9 ();
    0x00047504 move s0, v0                   |     s0 = v0;
    0x00047508 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x0004750c bltz v0, 0x47654              |         goto label_59;
                                             |     }
    0x00047510 lw t9, -0x799c(gp)            |     t9 = sym.device_set_usec_initialized;
    0x00047514 lw a2, 0x48(fp)               |     a2 = *(var_48h);
    0x00047518 lw a3, 0x4c(fp)               |     a3 = *(var_4ch);
    0x0004751c move a0, s2                   |     a0 = s2;
    0x00047520 bal 0x4c9b0                   |     sym_device_set_usec_initialized ();
    0x00047524 move s0, v0                   |     s0 = v0;
    0x00047528 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x0004752c bgez v0, 0x46de0              |         goto label_0;
                                             |     }
    0x00047530 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00047534 move a0, zero                 |     a0 = 0;
    0x00047538 sw zero, 0x44(fp)             |     *(var_44h) = 0;
    0x0004753c jalr t9                       |     t9 ();
    0x00047540 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00047544 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047548 move a0, zero                 |     a0 = 0;
    0x0004754c beqz v0, 0x4758c              |     
                                             |     while (a0 == 0) {
    0x00047550 move v0, zero                 |         v0 = 0;
                                             | label_16:
    0x00047554 lw v1, -0x7fc4(gp)            |         v1 = *(gp);
    0x00047558 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0004755c lw v0, -0x7fc4(gp)            |         v0 = *(gp);
                                             |         /* str.sd_device:_Failed_to_set_usec_initialized_to__s:__m */
    0x00047560 addiu v1, v1, 0x4c34          |         v1 += 0x4c34;
                                             |         /* esilref: 'device_amend' */
    0x00047564 addiu v0, v0, 0x50c4          |         v0 += 0x50c4;
    0x00047568 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x0004756c sw s1, 0x28(sp)               |         *(var_28h) = s1;
    0x00047570 sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x00047574 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00047578 sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x0004757c sw a0, 0x18(sp)               |         *(var_18h) = a0;
    0x00047580 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047584 addiu a3, zero, 0x121         |         a3 = 0x121;
    0x00047588 b 0x47270                     |         goto label_5;
    0x0004758c lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00047590 move a0, s2                   |         a0 = s2;
    0x00047594 addiu a1, fp, 0x44            |         a1 = fp + 0x44;
    0x00047598 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x0004759c lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x000475a0 lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x000475a4 beqz a0, 0x47550              |         
                                             |     }
    0x000475a8 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x000475ac addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x000475b0 b 0x47554                     |     goto label_16;
                                             | label_44:
    0x000475b4 lw t9, -0x796c(gp)            |     t9 = *(gp);
    0x000475b8 move a1, s1                   |     a1 = s1;
    0x000475bc move a0, s2                   |     a0 = s2;
    0x000475c0 bal 0x4a0b8                   |     sym_device_set_ifindex ();
    0x000475c4 move s0, v0                   |     s0 = v0;
    0x000475c8 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x000475cc bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x000475d0 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x000475d4 move a0, zero                 |     a0 = 0;
    0x000475d8 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x000475dc jalr t9                       |     t9 ();
    0x000475e0 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x000475e4 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x000475e8 move a0, zero                 |     a0 = 0;
    0x000475ec beqz v0, 0x4762c              |     
                                             |     while (a0 == 0) {
    0x000475f0 move v0, zero                 |         v0 = 0;
                                             | label_17:
    0x000475f4 lw v1, -0x7fc4(gp)            |         v1 = *(gp);
    0x000475f8 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x000475fc lw v0, -0x7fc4(gp)            |         v0 = *(gp);
                                             |         /* str.sd_device:_Failed_to_set_ifindex_to__s:__m */
    0x00047600 addiu v1, v1, 0x4c98          |         v1 += 0x4c98;
                                             |         /* esilref: 'device_amend' */
    0x00047604 addiu v0, v0, 0x50c4          |         v0 += 0x50c4;
    0x00047608 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x0004760c sw s1, 0x28(sp)               |         *(var_28h) = s1;
    0x00047610 sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x00047614 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00047618 sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x0004761c sw a0, 0x18(sp)               |         *(var_18h) = a0;
    0x00047620 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047624 addiu a3, zero, 0x129         |         a3 = 0x129;
    0x00047628 b 0x47270                     |         goto label_5;
    0x0004762c lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00047630 move a0, s2                   |         a0 = s2;
    0x00047634 addiu a1, fp, 0x48            |         a1 = fp + 0x48;
    0x00047638 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x0004763c lw a0, 0x48(fp)               |         a0 = *(var_48h);
    0x00047640 lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x00047644 beqz a0, 0x475f0              |         
                                             |     }
    0x00047648 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x0004764c addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047650 b 0x475f4                     |     goto label_17;
                                             | label_59:
    0x00047654 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00047658 move a0, zero                 |     a0 = 0;
    0x0004765c sw zero, 0x44(fp)             |     *(var_44h) = 0;
    0x00047660 jalr t9                       |     t9 ();
    0x00047664 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00047668 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x0004766c move a0, zero                 |     a0 = 0;
    0x00047670 beqz v0, 0x476b0              |     
                                             |     while (a0 == 0) {
    0x00047674 move v1, zero                 |         v1 = 0;
                                             | label_18:
    0x00047678 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0004767c lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.sd_device:_Failed_to_parse_timestamp__s:__m */
    0x00047680 addiu v0, v0, 0x4c04          |         v0 += 0x4c04;
    0x00047684 sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x00047688 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0004768c sw s1, 0x28(sp)               |         *(var_28h) = s1;
                                             |         /* esilref: 'device_amend' */
    0x00047690 addiu v0, v0, 0x50c4          |         v0 += 0x50c4;
    0x00047694 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00047698 sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x0004769c sw a0, 0x18(sp)               |         *(var_18h) = a0;
    0x000476a0 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x000476a4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000476a8 addiu a3, zero, 0x11d         |         a3 = 0x11d;
    0x000476ac b 0x47270                     |         goto label_5;
    0x000476b0 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x000476b4 move a0, s2                   |         a0 = s2;
    0x000476b8 addiu a1, fp, 0x44            |         a1 = fp + 0x44;
    0x000476bc bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x000476c0 lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x000476c4 lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x000476c8 beqz a0, 0x47674              |         
                                             |     }
    0x000476cc lw v1, -0x7fd0(gp)            |     v1 = *(gp);
                                             |     /* str.DEVICE */
    0x000476d0 addiu v1, v1, 0x7b84          |     v1 += 0x7b84;
    0x000476d4 b 0x47678                     |     goto label_18;
                                             | label_45:
    0x000476d8 lw t9, -0x7968(gp)            |     t9 = sym.device_set_devmode;
    0x000476dc move a1, s1                   |     a1 = s1;
    0x000476e0 move a0, s2                   |     a0 = s2;
    0x000476e4 bal 0x4a338                   |     sym_device_set_devmode ();
    0x000476e8 move s0, v0                   |     s0 = v0;
    0x000476ec lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x000476f0 bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x000476f4 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x000476f8 move a0, zero                 |     a0 = 0;
    0x000476fc sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047700 jalr t9                       |     t9 ();
    0x00047704 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00047708 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x0004770c move v1, zero                 |     v1 = 0;
    0x00047710 beqz v0, 0x47750              |     
                                             |     while (v1 == 0) {
    0x00047714 move v0, zero                 |         v0 = 0;
                                             | label_19:
    0x00047718 lw a0, -0x7fc4(gp)            |         a0 = *(gp);
    0x0004771c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00047720 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
                                             |         /* str.sd_device:_Failed_to_set_devmode_to__s:__m */
    0x00047724 addiu a0, a0, 0x4cd0          |         a0 += 0x4cd0;
                                             |         /* esilref: 'device_amend' */
    0x00047728 addiu v0, v0, 0x50c4          |         v0 += 0x50c4;
    0x0004772c lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x00047730 sw s1, 0x28(sp)               |         *(var_28h) = s1;
    0x00047734 sw a0, 0x24(sp)               |         *(var_24h) = a0;
    0x00047738 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x0004773c sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x00047740 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00047744 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047748 addiu a3, zero, 0x12d         |         a3 = 0x12d;
    0x0004774c b 0x47270                     |         goto label_5;
    0x00047750 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00047754 addiu a1, fp, 0x48            |         a1 = fp + 0x48;
    0x00047758 move a0, s2                   |         a0 = s2;
    0x0004775c bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00047760 lw v1, 0x48(fp)               |         v1 = *(var_48h);
    0x00047764 lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x00047768 beqz v1, 0x47714              |         
                                             |     }
    0x0004776c lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00047770 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047774 b 0x47718                     |     goto label_19;
                                             | label_46:
    0x00047778 lw t9, -0x7e30(gp)            |     t9 = sym.safe_atou_full;
    0x0004777c addiu s0, fp, 0x48            |     s0 = fp + 0x48;
    0x00047780 move a2, s0                   |     a2 = s0;
    0x00047784 move a1, zero                 |     a1 = 0;
    0x00047788 move a0, s1                   |     a0 = s1;
    0x0004778c jalr t9                       |     t9 ();
    0x00047790 move s6, v0                   |     s6 = v0;
    0x00047794 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x00047798 bltz v0, 0x478bc              |         goto label_60;
                                             |     }
    0x0004779c lw t9, -0x7994(gp)            |     t9 = sym.device_add_property_internal;
    0x000477a0 move a2, s1                   |     a2 = s1;
                                             |     /* str.DEVUID */
    0x000477a4 addiu a1, s5, 0x4d00          |     a1 = s5 + 0x4d00;
    0x000477a8 move a0, s2                   |     a0 = s2;
    0x000477ac bal 0x48ad8                   |     sym_device_add_property_internal ();
    0x000477b0 move s6, v0                   |     s6 = v0;
    0x000477b4 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x000477b8 bltz v0, 0x478bc              |         goto label_60;
                                             |     }
    0x000477bc lw v0, 0x48(fp)               |     v0 = *(var_48h);
    0x000477c0 sw v0, 0xcc(s2)               |     *((s2 + 51)) = v0;
    0x000477c4 b 0x46de0                     |     goto label_0;
                                             | label_47:
    0x000477c8 lw t9, -0x7e30(gp)            |     t9 = sym.safe_atou_full;
    0x000477cc addiu s0, fp, 0x48            |     s0 = fp + 0x48;
    0x000477d0 move a2, s0                   |     a2 = s0;
    0x000477d4 move a1, zero                 |     a1 = 0;
    0x000477d8 move a0, s1                   |     a0 = s1;
    0x000477dc jalr t9                       |     t9 ();
    0x000477e0 move s6, v0                   |     s6 = v0;
    0x000477e4 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x000477e8 bltz v0, 0x47b7c              |         goto label_61;
                                             |     }
    0x000477ec lw t9, -0x7994(gp)            |     t9 = sym.device_add_property_internal;
    0x000477f0 move a2, s1                   |     a2 = s1;
                                             |     /* str.DEVGID */
    0x000477f4 addiu a1, s5, 0x4d34          |     a1 = s5 + 0x4d34;
    0x000477f8 move a0, s2                   |     a0 = s2;
    0x000477fc bal 0x48ad8                   |     sym_device_add_property_internal ();
    0x00047800 move s6, v0                   |     s6 = v0;
    0x00047804 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x00047808 bltz v0, 0x47b7c              |         goto label_61;
                                             |     }
    0x0004780c lw v0, 0x48(fp)               |     v0 = *(var_48h);
    0x00047810 sw v0, 0xd0(s2)               |     *((s2 + 52)) = v0;
    0x00047814 b 0x46de0                     |     goto label_0;
                                             | label_48:
    0x00047818 lw t9, -0x7a60(gp)            |     t9 = *(gp);
    0x0004781c move a1, s1                   |     a1 = s1;
                                             |     /* fcn.00046bfc */
    0x00047820 addiu t9, t9, 0x6bfc          |     t9 += 0x6bfc;
    0x00047824 move a0, s2                   |     a0 = s2;
    0x00047828 bal 0x46bfc                   |     fcn_00046bfc ();
    0x0004782c move s0, v0                   |     s0 = v0;
    0x00047830 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x00047834 bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x00047838 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x0004783c move a0, zero                 |     a0 = 0;
    0x00047840 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047844 jalr t9                       |     t9 ();
    0x00047848 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x0004784c lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047850 move v1, zero                 |     v1 = 0;
    0x00047854 beqz v0, 0x47894              |     
                                             |     while (v1 == 0) {
    0x00047858 move v0, zero                 |         v0 = 0;
                                             | label_20:
    0x0004785c lw a0, -0x7fc4(gp)            |         a0 = *(gp);
    0x00047860 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00047864 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
                                             |         /* str.sd_device:_Failed_to_set_action_to__s:__m */
    0x00047868 addiu a0, a0, 0x4d68          |         a0 += 0x4d68;
                                             |         /* esilref: 'device_amend' */
    0x0004786c addiu v0, v0, 0x50c4          |         v0 += 0x50c4;
    0x00047870 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x00047874 sw s1, 0x28(sp)               |         *(var_28h) = s1;
    0x00047878 sw a0, 0x24(sp)               |         *(var_24h) = a0;
    0x0004787c sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00047880 sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x00047884 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00047888 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0004788c addiu a3, zero, 0x139         |         a3 = 0x139;
    0x00047890 b 0x47270                     |         goto label_5;
    0x00047894 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00047898 addiu a1, fp, 0x48            |         a1 = fp + 0x48;
    0x0004789c move a0, s2                   |         a0 = s2;
    0x000478a0 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x000478a4 lw v1, 0x48(fp)               |         v1 = *(var_48h);
    0x000478a8 lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x000478ac beqz v1, 0x47858              |         
                                             |     }
    0x000478b0 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x000478b4 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x000478b8 b 0x4785c                     |     goto label_20;
                                             | label_60:
    0x000478bc lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x000478c0 move a0, zero                 |     a0 = 0;
    0x000478c4 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x000478c8 jalr t9                       |     t9 ();
    0x000478cc slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x000478d0 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x000478d4 beqz v0, 0x47bd8              |         goto label_62;
                                             |     }
    0x000478d8 move v1, zero                 |     v1 = 0;
                                             | label_25:
    0x000478dc move v0, zero                 |     v0 = 0;
                                             | label_26:
    0x000478e0 lw a0, -0x7fc4(gp)            |     a0 = *(gp);
    0x000478e4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000478e8 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.sd_device:_Failed_to_set_devuid_to__s:__m */
    0x000478ec addiu a0, a0, 0x4d08          |     a0 += 0x4d08;
                                             |     /* esilref: 'device_amend' */
    0x000478f0 addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x000478f4 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x000478f8 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x000478fc sw a0, 0x24(sp)               |     *(var_24h) = a0;
    0x00047900 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00047904 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00047908 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x0004790c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047910 addiu a3, zero, 0x131         |     a3 = 0x131;
                                             | label_24:
    0x00047914 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00047918 move a1, s6                   |     a1 = s6;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x0004791c addiu a2, a2, 0x4983          |     a2 += 0x4983;
    0x00047920 addiu a0, zero, 7             |     a0 = 7;
    0x00047924 jalr t9                       |     t9 ();
    0x00047928 move s4, v0                   |     s4 = v0;
    0x0004792c lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047930 b 0x46de0                     |     goto label_0;
                                             | label_49:
    0x00047934 lw t9, -0x7ac8(gp)            |     t9 = sym.safe_atollu;
    0x00047938 addiu s0, fp, 0x48            |     s0 = fp + 0x48;
    0x0004793c move a1, s0                   |     a1 = s0;
    0x00047940 move a0, s1                   |     a0 = s1;
    0x00047944 jalr t9                       |     t9 ();
    0x00047948 move s6, v0                   |     s6 = v0;
    0x0004794c lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x00047950 bltz v0, 0x47c2c              |         goto label_63;
                                             |     }
    0x00047954 lw v0, 0x48(fp)               |     v0 = *(var_48h);
    0x00047958 lw v1, 0x4c(fp)               |     v1 = *(var_4ch);
    0x0004795c or v0, v0, v1                 |     v0 |= v1;
    0x00047960 lw t9, -0x7994(gp)            |     t9 = sym.device_add_property_internal;
                                             |     if (v0 == 0) {
    0x00047964 beqz v0, 0x47c28              |         goto label_64;
                                             |     }
    0x00047968 move a2, s1                   |     a2 = s1;
                                             |     /* str.SEQNUM */
    0x0004796c addiu a1, s5, -0x3d2c         |     a1 = s5 + -0x3d2c;
    0x00047970 move a0, s2                   |     a0 = s2;
    0x00047974 bal 0x48ad8                   |     sym_device_add_property_internal ();
    0x00047978 move s6, v0                   |     s6 = v0;
    0x0004797c lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x00047980 bltz v0, 0x47c2c              |         goto label_63;
                                             |     }
    0x00047984 lw v0, 0x48(fp)               |     v0 = *(var_48h);
    0x00047988 lw v1, 0x4c(fp)               |     v1 = *(var_4ch);
    0x0004798c sw v0, 0xd8(s2)               |     *((s2 + 54)) = v0;
    0x00047990 sw v1, 0xdc(s2)               |     *((s2 + 55)) = v1;
    0x00047994 b 0x46de0                     |     goto label_0;
                                             | label_51:
    0x00047998 lw t9, -0x7994(gp)            |     t9 = sym.device_add_property_internal;
    0x0004799c move a2, s1                   |     a2 = s1;
    0x000479a0 move a1, s0                   |     a1 = s0;
    0x000479a4 move a0, s2                   |     a0 = s2;
    0x000479a8 bal 0x48ad8                   |     sym_device_add_property_internal ();
    0x000479ac move s4, v0                   |     s4 = v0;
    0x000479b0 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x000479b4 bgez v0, 0x46ddc              |         goto label_2;
                                             |     }
    0x000479b8 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x000479bc move a0, zero                 |     a0 = 0;
    0x000479c0 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x000479c4 jalr t9                       |     t9 ();
    0x000479c8 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x000479cc lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x000479d0 move v1, zero                 |     v1 = 0;
                                             |     if (v0 == 0) {
    0x000479d4 beqz v0, 0x47cbc              |         goto label_65;
                                             |     }
                                             | label_30:
    0x000479d8 move v0, zero                 |     v0 = 0;
                                             | label_31:
    0x000479dc lw a0, -0x7fc4(gp)            |     a0 = *(gp);
    0x000479e0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000479e4 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000479e8 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000479ec lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
                                             |     /* str.sd_device:_Failed_to_add_property__s_s:__m */
    0x000479f0 addiu a0, a0, 0x4e18          |     a0 += 0x4e18;
                                             |     /* esilref: 'device_amend' */
    0x000479f4 addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x000479f8 sw a0, 0x24(sp)               |     *(var_24h) = a0;
    0x000479fc move a1, s4                   |     a1 = s4;
    0x00047a00 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x00047a04 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x00047a08 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00047a0c sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00047a10 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047a14 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047a18 addiu a3, zero, 0x15d         |     a3 = 0x15d;
                                             |     /* esilref: 'src/libsystemd/sd-device/device-private.c' */
    0x00047a1c addiu a2, a2, 0x4983          |     a2 += 0x4983;
    0x00047a20 addiu a0, zero, 7             |     a0 = 7;
    0x00047a24 jalr t9                       |     t9 ();
    0x00047a28 move s4, v0                   |     s4 = v0;
    0x00047a2c lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047a30 b 0x46de0                     |     goto label_0;
                                             | label_50:
    0x00047a34 lw s7, -0x7fc4(gp)            |     s7 = *(gp);
    0x00047a38 lw t9, -0x7af4(gp)            |     t9 = sym.split;
    0x00047a3c addiu s6, fp, 0x44            |     s6 = fp + 0x44;
    0x00047a40 addiu s5, fp, 0x40            |     s5 = fp + 0x40;
    0x00047a44 move a3, zero                 |     a3 = 0;
                                             |     /* esilref: ' 	
' */
    0x00047a48 addiu a2, s7, -0x6204         |     a2 = s7 + -0x6204;
    0x00047a4c move a1, s6                   |     a1 = s6;
    0x00047a50 move a0, s5                   |     a0 = s5;
    0x00047a54 sw s1, 0x40(fp)               |     *(var_40h) = s1;
    0x00047a58 jalr t9                       |     t9 ();
                                             |     /* esilref: ' 	
' */
    0x00047a5c addiu v1, s7, -0x6204         |     v1 = s7 + -0x6204;
    0x00047a60 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047a64 sw v1, 0x3c(fp)               |     *(var_3ch) = v1;
                                             |     if (v0 != 0) {
    0x00047a68 bnez v0, 0x47a98              |         goto label_66;
                                             |     }
    0x00047a6c b 0x46de0                     |     goto label_0;
    0x00047a70 nop                           |     
                                             | label_21:
    0x00047a74 lw t9, -0x7af4(gp)            |     t9 = sym.split;
    0x00047a78 lw a2, 0x3c(fp)               |     a2 = *(var_3ch);
    0x00047a7c move a3, zero                 |     a3 = 0;
    0x00047a80 move sp, s1                   |     
    0x00047a84 move a1, s6                   |     a1 = s6;
    0x00047a88 move a0, s5                   |     a0 = s5;
    0x00047a8c jalr t9                       |     t9 ();
    0x00047a90 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00047a94 beqz v0, 0x46de0              |         goto label_0;
                                             |     }
                                             | label_66:
    0x00047a98 lw s7, 0x44(fp)               |     s7 = *(var_44h);
    0x00047a9c move s1, sp                   |     s1 = sp;
    0x00047aa0 addiu a0, s7, 8               |     a0 = s7 + 8;
    0x00047aa4 srl a0, a0, 3                 |     a0 >>= 3;
    0x00047aa8 sll a0, a0, 3                 |     a0 <<= 3;
    0x00047aac subu sp, sp, a0               |     
    0x00047ab0 lw t9, -0x73cc(gp)            |     t9 = sym.imp.strncpy;
    0x00047ab4 addiu s0, sp, 0x30            |     s0 = sp + 0x30;
    0x00047ab8 move a2, s7                   |     a2 = s7;
    0x00047abc move a1, v0                   |     a1 = v0;
    0x00047ac0 move a0, s0                   |     a0 = s0;
    0x00047ac4 jalr t9                       |     t9 ();
    0x00047ac8 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047acc addu v1, s0, s7               |     v1 = s0 + s7;
    0x00047ad0 move a1, s0                   |     a1 = s0;
    0x00047ad4 lw t9, -0x7c14(gp)            |     t9 = sym.device_add_devlink;
    0x00047ad8 sb zero, (v1)                 |     *(v1) = 0;
    0x00047adc move a0, s2                   |     a0 = s2;
    0x00047ae0 bal 0x4c8bc                   |     sym_device_add_devlink ();
    0x00047ae4 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x00047ae8 bgez v0, 0x47a74              |         goto label_21;
                                             |     }
    0x00047aec lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00047af0 move a0, zero                 |     a0 = 0;
    0x00047af4 sw v0, 0x3c(fp)               |     *(var_3ch) = v0;
    0x00047af8 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047afc jalr t9                       |     t9 ();
    0x00047b00 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00047b04 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047b08 lw v1, 0x3c(fp)               |     v1 = *(var_3ch);
    0x00047b0c move a0, zero                 |     a0 = 0;
    0x00047b10 beqz v0, 0x47b50              |     
                                             |     while (a0 == 0) {
    0x00047b14 move v0, zero                 |         v0 = 0;
                                             | label_23:
    0x00047b18 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00047b1c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00047b20 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
                                             |         /* str.sd_device:_Failed_to_add_devlink__s:__m */
    0x00047b24 addiu a1, a1, 0x4dc0          |         a1 += 0x4dc0;
                                             |         /* esilref: 'device_amend' */
    0x00047b28 addiu v0, v0, 0x50c4          |         v0 += 0x50c4;
    0x00047b2c lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x00047b30 sw s0, 0x28(sp)               |         *(var_28h) = s0;
    0x00047b34 sw a1, 0x24(sp)               |         *(var_24h) = a1;
    0x00047b38 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00047b3c sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x00047b40 sw a0, 0x18(sp)               |         *(var_18h) = a0;
    0x00047b44 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047b48 addiu a3, zero, 0x14a         |         a3 = 0x14a;
    0x00047b4c b 0x470c0                     |         goto label_22;
    0x00047b50 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00047b54 move a0, s2                   |         a0 = s2;
    0x00047b58 addiu a1, fp, 0x48            |         a1 = fp + 0x48;
    0x00047b5c bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00047b60 lw a0, 0x48(fp)               |         a0 = *(var_48h);
    0x00047b64 lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x00047b68 lw v1, 0x3c(fp)               |         v1 = *(var_3ch);
    0x00047b6c beqz a0, 0x47b14              |         
                                             |     }
    0x00047b70 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00047b74 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047b78 b 0x47b18                     |     goto label_23;
                                             | label_61:
    0x00047b7c lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00047b80 move a0, zero                 |     a0 = 0;
    0x00047b84 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047b88 jalr t9                       |     t9 ();
    0x00047b8c slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00047b90 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00047b94 beqz v0, 0x47c00              |         goto label_67;
                                             |     }
    0x00047b98 move v1, zero                 |     v1 = 0;
                                             | label_27:
    0x00047b9c move v0, zero                 |     v0 = 0;
                                             | label_28:
    0x00047ba0 lw a0, -0x7fc4(gp)            |     a0 = *(gp);
    0x00047ba4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047ba8 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.sd_device:_Failed_to_set_devgid_to__s:__m */
    0x00047bac addiu a0, a0, 0x4d3c          |     a0 += 0x4d3c;
                                             |     /* esilref: 'device_amend' */
    0x00047bb0 addiu v0, v0, 0x50c4          |     v0 += 0x50c4;
    0x00047bb4 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x00047bb8 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00047bbc sw a0, 0x24(sp)               |     *(var_24h) = a0;
    0x00047bc0 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x00047bc4 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00047bc8 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047bcc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047bd0 addiu a3, zero, 0x135         |     a3 = 0x135;
    0x00047bd4 b 0x47914                     |     goto label_24;
                                             | label_62:
    0x00047bd8 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00047bdc move a1, s0                   |     a1 = s0;
    0x00047be0 move a0, s2                   |     a0 = s2;
    0x00047be4 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00047be8 lw v1, 0x48(fp)               |     v1 = *(var_48h);
    0x00047bec lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v1 == 0) {
    0x00047bf0 beqz v1, 0x478dc              |         goto label_25;
                                             |     }
    0x00047bf4 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00047bf8 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047bfc b 0x478e0                     |     goto label_26;
                                             | label_67:
    0x00047c00 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00047c04 move a1, s0                   |     a1 = s0;
    0x00047c08 move a0, s2                   |     a0 = s2;
    0x00047c0c bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00047c10 lw v1, 0x48(fp)               |     v1 = *(var_48h);
    0x00047c14 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v1 == 0) {
    0x00047c18 beqz v1, 0x47b9c              |         goto label_27;
                                             |     }
    0x00047c1c lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00047c20 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047c24 b 0x47ba0                     |     goto label_28;
                                             | label_64:
    0x00047c28 addiu s6, zero, -0x16         |     s6 = -0x16;
                                             | label_63:
    0x00047c2c lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x00047c30 move a0, zero                 |     a0 = 0;
    0x00047c34 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00047c38 jalr t9                       |     t9 ();
    0x00047c3c slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x00047c40 lw gp, 0x30(fp)               |     gp = *(var_30h);
    0x00047c44 move v1, zero                 |     v1 = 0;
    0x00047c48 beqz v0, 0x47c88              |     
                                             |     while (v1 == 0) {
    0x00047c4c move v0, zero                 |         v0 = 0;
                                             | label_29:
    0x00047c50 lw a0, -0x7fc4(gp)            |         a0 = *(gp);
    0x00047c54 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00047c58 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
                                             |         /* str.sd_device:_Failed_to_set_SEQNUM_to__s:__m */
    0x00047c5c addiu a0, a0, 0x4d94          |         a0 += 0x4d94;
                                             |         /* esilref: 'device_amend' */
    0x00047c60 addiu v0, v0, 0x50c4          |         v0 += 0x50c4;
    0x00047c64 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x00047c68 sw s1, 0x28(sp)               |         *(var_28h) = s1;
    0x00047c6c sw a0, 0x24(sp)               |         *(var_24h) = a0;
    0x00047c70 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00047c74 sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x00047c78 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00047c7c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047c80 addiu a3, zero, 0x13d         |         a3 = 0x13d;
    0x00047c84 b 0x47914                     |         goto label_24;
    0x00047c88 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00047c8c move a1, s0                   |         a1 = s0;
    0x00047c90 move a0, s2                   |         a0 = s2;
    0x00047c94 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00047c98 lw v1, 0x48(fp)               |         v1 = *(var_48h);
    0x00047c9c lw gp, 0x30(fp)               |         gp = *(var_30h);
    0x00047ca0 beqz v1, 0x47c4c              |         
                                             |     }
    0x00047ca4 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00047ca8 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047cac b 0x47c50                     |     goto label_29;
                                             | label_38:
    0x00047cb0 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00047cb4 jalr t9                       |     t9 ();
    0x00047cb8 nop                           |     
                                             | label_65:
    0x00047cbc lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00047cc0 addiu a1, fp, 0x48            |     a1 = fp + 0x48;
    0x00047cc4 move a0, s2                   |     a0 = s2;
    0x00047cc8 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00047ccc lw v1, 0x48(fp)               |     v1 = *(var_48h);
    0x00047cd0 lw gp, 0x30(fp)               |     gp = *(var_30h);
                                             |     if (v1 == 0) {
    0x00047cd4 beqz v1, 0x479d8              |         goto label_30;
                                             |     }
    0x00047cd8 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00047cdc addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00047ce0 b 0x479dc                     |     goto label_31;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x73ca0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.path_make_relative ()        | void path_make_relative () {
    0x00073ca0 lui gp, 5                     |     
    0x00073ca4 addiu gp, gp, 0x34d0          |     
    0x00073ca8 addu gp, gp, t9               |     gp += t9;
    0x00073cac addiu sp, sp, -0x58           |     
    0x00073cb0 lw v0, -0x71f0(gp)            |     v0 = *((gp - 7292));
    0x00073cb4 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x00073cb8 move fp, sp                   |     fp = sp;
    0x00073cbc sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x00073cc0 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x00073cc4 sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x00073cc8 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x00073ccc sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x00073cd0 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x00073cd4 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x00073cd8 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x00073cdc sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x00073ce0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00073ce4 sw v0, 0x20(fp)               |     *(arg_20h) = v0;
    0x00073ce8 lw v0, (v0)                   |     v0 = *(v0);
    0x00073cec sw a2, 0x24(fp)               |     *(arg_24h) = a2;
    0x00073cf0 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
                                             |     if (a0 == 0) {
    0x00073cf4 beql a0, zero, 0x74064        |         goto label_6;
                                             |     }
    0x00073cf8 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
    0x00073cfc move s1, a1                   |     s1 = a1;
                                             |     if (a1 == 0) {
    0x00073d00 beqz a1, 0x74098              |         goto label_7;
                                             |     }
    0x00073d04 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x00073d08 lw t9, -0x7d10(gp)            |     t9 = sym.path_is_absolute;
                                             |     if (v0 == 0) {
    0x00073d0c beqz v0, 0x740c4              |         goto label_8;
                                             |     }
    0x00073d10 move s0, a0                   |     s0 = a0;
    0x00073d14 bal 0x73a10                   |     sym_path_is_absolute ();
    0x00073d18 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00073d1c beqz v0, 0x73f10              |         goto label_9;
                                             |     }
    0x00073d20 lw t9, -0x7d10(gp)            |     t9 = sym.path_is_absolute;
    0x00073d24 move a0, s1                   |     a0 = s1;
    0x00073d28 bal 0x73a10                   |     sym_path_is_absolute ();
    0x00073d2c lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00073d30 beqz v0, 0x73f10              |         goto label_9;
                                             |     }
    0x00073d34 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x00073d38 move a0, s0                   |     a0 = s0;
    0x00073d3c jalr t9                       |     t9 ();
    0x00073d40 addiu v1, v0, 8               |     v1 = v0 + 8;
    0x00073d44 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00073d48 srl v1, v1, 3                 |     v1 >>= 3;
    0x00073d4c sll v1, v1, 3                 |     v1 <<= 3;
    0x00073d50 subu sp, sp, v1               |     
    0x00073d54 lw t9, -0x71e8(gp)            |     t9 = sym.imp.memcpy;
    0x00073d58 move a1, s0                   |     a1 = s0;
    0x00073d5c addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00073d60 addiu a0, sp, 0x18            |     a0 = sp + 0x18;
    0x00073d64 jalr t9                       |     t9 ();
    0x00073d68 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00073d6c move a0, s1                   |     a0 = s1;
    0x00073d70 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x00073d74 move s0, v0                   |     s0 = v0;
    0x00073d78 jalr t9                       |     t9 ();
    0x00073d7c addiu v1, v0, 8               |     v1 = v0 + 8;
    0x00073d80 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00073d84 srl v1, v1, 3                 |     v1 >>= 3;
    0x00073d88 sll v1, v1, 3                 |     v1 <<= 3;
    0x00073d8c subu sp, sp, v1               |     
    0x00073d90 lw t9, -0x71e8(gp)            |     t9 = sym.imp.memcpy;
    0x00073d94 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00073d98 move a1, s1                   |     a1 = s1;
    0x00073d9c addiu a0, sp, 0x18            |     a0 = sp + 0x18;
    0x00073da0 jalr t9                       |     t9 ();
    0x00073da4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00073da8 move a0, s0                   |     a0 = s0;
    0x00073dac addiu a1, zero, 1             |     a1 = 1;
    0x00073db0 lw t9, -0x7958(gp)            |     t9 = sym.path_simplify;
    0x00073db4 move s1, v0                   |     s1 = v0;
    0x00073db8 bal 0x73ad8                   |     sym_path_simplify ();
    0x00073dbc lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00073dc0 move a0, s1                   |     a0 = s1;
    0x00073dc4 lw t9, -0x7958(gp)            |     t9 = sym.path_simplify;
    0x00073dc8 addiu a1, zero, 1             |     a1 = 1;
    0x00073dcc bal 0x73ad8                   |     sym_path_simplify ();
    0x00073dd0 lb v1, (s0)                   |     v1 = *(s0);
    0x00073dd4 lb v0, (s1)                   |     v0 = *(s1);
    0x00073dd8 xori v1, v1, 0x2f             |     v1 ^= 0x2f;
    0x00073ddc sltiu v1, v1, 1               |     v1 = (v1 < 1) ? 1 : 0;
    0x00073de0 addu s0, s0, v1               |     s0 += v1;
    0x00073de4 xori v0, v0, 0x2f             |     v0 ^= 0x2f;
    0x00073de8 sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x00073dec addu s1, s1, v0               |     s1 += v0;
    0x00073df0 lb s6, (s0)                   |     s6 = *(s0);
    0x00073df4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00073df8 lb s2, (s1)                   |     s2 = *(s1);
                                             |     if (s6 == 0) {
    0x00073dfc beqz s6, 0x73fe0              |         goto label_10;
                                             |     }
    0x00073e00 lw s3, -0x7fc4(gp)            |     s3 = *(gp);
    0x00073e04 addiu s4, s3, 0x35c4          |     s4 = s3 + 0x35c4;
                                             |     if (s2 != 0) {
    0x00073e08 bnez s2, 0x73e6c              |         goto label_11;
                                             |     }
    0x00073e0c lw t9, -0x719c(gp)            |     t9 = sym.imp.strcspn;
    0x00073e10 b 0x7400c                     |     goto label_12;
                                             |     do {
    0x00073e14 lw t9, -0x7218(gp)            |         t9 = sym.imp.memcmp;
    0x00073e18 move a2, s7                   |         a2 = s7;
    0x00073e1c move a1, s1                   |         a1 = s1;
    0x00073e20 move a0, s0                   |         a0 = s0;
    0x00073e24 jalr t9                       |         t9 ();
    0x00073e28 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |         if (v0 != 0) {
    0x00073e2c bnez v0, 0x73e9c              |             goto label_13;
                                             |         }
    0x00073e30 addu s0, s0, s7               |         s0 += s7;
    0x00073e34 addu v1, s1, s7               |         v1 = s1 + s7;
    0x00073e38 lb v0, (s0)                   |         v0 = *(s0);
    0x00073e3c lb s1, (v1)                   |         s1 = *(v1);
    0x00073e40 xori v0, v0, 0x2f             |         v0 ^= 0x2f;
    0x00073e44 sltiu v0, v0, 1               |         v0 = (v0 < 1) ? 1 : 0;
    0x00073e48 addu s0, s0, v0               |         s0 += v0;
    0x00073e4c xori s1, s1, 0x2f             |         s1 ^= 0x2f;
    0x00073e50 sltiu s1, s1, 1               |         s1 = (s1 < 1) ? 1 : 0;
    0x00073e54 addu s1, v1, s1               |         s1 = v1 + s1;
    0x00073e58 lb s6, (s0)                   |         s6 = *(s0);
    0x00073e5c lb s2, (s1)                   |         s2 = *(s1);
                                             |         if (s6 == 0) {
    0x00073e60 beqz s6, 0x73fe0              |             goto label_10;
                                             |         }
    0x00073e64 lw t9, -0x719c(gp)            |         t9 = sym.imp.strcspn;
                                             |         if (s2 == 0) {
    0x00073e68 beqz s2, 0x7400c              |             goto label_12;
                                             |         }
                                             | label_11:
    0x00073e6c lw t9, -0x719c(gp)            |         t9 = sym.imp.strcspn;
    0x00073e70 move a1, s4                   |         a1 = s4;
    0x00073e74 move a0, s0                   |         a0 = s0;
    0x00073e78 jalr t9                       |         t9 ();
    0x00073e7c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00073e80 move a1, s4                   |         a1 = s4;
    0x00073e84 move a0, s1                   |         a0 = s1;
    0x00073e88 lw t9, -0x719c(gp)            |         t9 = sym.imp.strcspn;
    0x00073e8c move s7, v0                   |         s7 = v0;
    0x00073e90 jalr t9                       |         t9 ();
    0x00073e94 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00073e98 beq s7, v0, 0x73e14           |         
                                             |     } while (s7 == v0);
                                             | label_13:
    0x00073e9c lb s6, (s0)                   |     s6 = *(s0);
    0x00073ea0 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s6 == 0) {
    0x00073ea4 beqz s6, 0x74028              |         goto label_14;
                                             |     }
                                             | label_2:
    0x00073ea8 move s5, zero                 |     s5 = 0;
    0x00073eac addiu s4, zero, 2             |     s4 = 2;
    0x00073eb0 addiu s3, s3, 0x35c4          |     s3 += 0x35c4;
    0x00073eb4 b 0x73eec                     |     
                                             |     while (s7 != s4) {
                                             | label_1:
    0x00073eb8 lb s0, (v1)                   |         s0 = *(v1);
                                             | label_0:
    0x00073ebc xori s0, s0, 0x2f             |         s0 ^= 0x2f;
    0x00073ec0 sltiu s0, s0, 1               |         s0 = (s0 < 1) ? 1 : 0;
    0x00073ec4 addu s0, v1, s0               |         s0 = v1 + s0;
    0x00073ec8 lb s6, (s0)                   |         s6 = *(s0);
    0x00073ecc addiu s5, s5, 1               |         s5++;
                                             |         if (s6 == 0) {
    0x00073ed0 beqz s6, 0x73f18              |             goto label_15;
                                             |         }
    0x00073ed4 lw t9, -0x719c(gp)            |         t9 = sym.imp.strcspn;
    0x00073ed8 move a1, s3                   |         a1 = s3;
    0x00073edc move a0, s0                   |         a0 = s0;
    0x00073ee0 jalr t9                       |         t9 ();
    0x00073ee4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00073ee8 move s7, v0                   |         s7 = v0;
    0x00073eec addu v1, s0, s7               |         v1 = s0 + s7;
    0x00073ef0 bne s7, s4, 0x73eb8           |         
                                             |     }
    0x00073ef4 addiu v0, zero, 0x2e          |     v0 = 0x2e;
    0x00073ef8 lb s0, (v1)                   |     s0 = *(v1);
                                             |     if (s6 == v0) {
    0x00073efc bnel s6, v0, 0x73ebc          |         goto label_0;
                                             |     }
    0x00073f00 lb v0, 1(s0)                  |     v0 = *((s0 + 1));
    0x00073f04 addiu v1, zero, 0x2e          |     v1 = 0x2e;
    0x00073f08 addu v1, s0, s7               |     v1 = s0 + s7;
                                             |     if (v0 != v1) {
    0x00073f0c bne v0, v1, 0x73eb8           |         goto label_1;
                                             |     }
                                             | label_9:
    0x00073f10 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00073f14 b 0x73f98                     |     goto label_5;
                                             | label_15:
    0x00073f18 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x00073f1c move a0, s1                   |     a0 = s1;
    0x00073f20 jalr t9                       |     t9 ();
    0x00073f24 sll a0, s5, 1                 |     a0 = s5 << 1;
    0x00073f28 addu a0, a0, s5               |     a0 += s5;
    0x00073f2c addiu v0, v0, 1               |     v0++;
    0x00073f30 addu a0, a0, v0               |     a0 += v0;
    0x00073f34 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (a0 == 0) {
    0x00073f38 bnez a0, 0x73f40              |         
    0x00073f3c addiu a0, zero, 1             |         a0 = 1;
                                             |     }
    0x00073f40 lw t9, -0x72d0(gp)            |     t9 = sym.imp.malloc;
    0x00073f44 jalr t9                       |     t9 ();
    0x00073f48 nop                           |     
    0x00073f4c move s0, v0                   |     s0 = v0;
    0x00073f50 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00073f54 beqz v0, 0x740f0              |         goto label_16;
                                             |     }
    0x00073f58 move a0, v0                   |     a0 = v0;
                                             |     if (s5 == 0) {
    0x00073f5c beqz s5, 0x73f80              |         goto label_17;
                                             |     }
    0x00073f60 addiu v0, zero, 0x2e          |     v0 = 0x2e;
    0x00073f64 addiu v1, zero, 0x2f          |     v1 = 0x2f;
                                             |     do {
    0x00073f68 addiu s5, s5, -1              |         s5 += -1;
    0x00073f6c sb v0, (a0)                   |         *(a0) = v0;
    0x00073f70 sb v0, 1(a0)                  |         *((a0 + 1)) = v0;
    0x00073f74 sb v1, 2(a0)                  |         *((a0 + 2)) = v1;
    0x00073f78 addiu a0, a0, 3               |         a0 += 3;
    0x00073f7c bnez s5, 0x73f68              |         
                                             |     } while (s5 != 0);
                                             | label_17:
    0x00073f80 lw t9, -0x72a8(gp)            |     t9 = sym.imp.strcpy
                                             |     if (s2 != 0) {
    0x00073f84 bnez s2, 0x74054              |         goto label_18;
                                             |     }
    0x00073f88 sb zero, -1(a0)               |     *((a0 - 1)) = 0;
                                             | label_3:
    0x00073f8c lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x00073f90 sw s0, (v0)                   |     *(v0) = s0;
    0x00073f94 move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_5:
    0x00073f98 lw v1, 0x20(fp)               |         v1 = *(arg_20h);
    0x00073f9c lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x00073fa0 lw v1, (v1)                   |         v1 = *(v1);
    0x00073fa4 lw t9, -0x7230(gp)            |         t9 = sym.imp.__stack_chk_fail;
                                             |         if (a0 != v1) {
    0x00073fa8 bne a0, v1, 0x740f8           |             goto label_19;
                                             |         }
    0x00073fac move sp, fp                   |         
    0x00073fb0 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x00073fb4 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x00073fb8 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x00073fbc lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x00073fc0 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x00073fc4 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x00073fc8 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x00073fcc lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x00073fd0 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x00073fd4 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x00073fd8 addiu sp, sp, 0x58            |         
    0x00073fdc jr ra                         |         return v0;
                                             | label_10:
    0x00073fe0 lw t9, -0x71d4(gp)            |         t9 = sym.imp.strdup;
                                             |         if (s2 != 0) {
    0x00073fe4 bnez s2, 0x74088              |             goto label_20;
                                             |         }
    0x00073fe8 lw a0, -0x7fc4(gp)            |         a0 = *(gp);
                                             |         /* esilref: '(' */
    0x00073fec addiu a0, a0, -0x3e18         |         a0 += -0x3e18;
    0x00073ff0 jalr t9                       |         t9 ();
    0x00073ff4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             | label_4:
    0x00073ff8 lw v1, 0x24(fp)               |         v1 = *(arg_24h);
                                             |         if (v0 == 0) {
    0x00073ffc beqz v0, 0x740f0              |             goto label_16;
                                             |         }
    0x00074000 sw v0, (v1)                   |         *(v1) = v0;
    0x00074004 move v0, zero                 |         v0 = 0;
    0x00074008 b 0x73f98                     |         
                                             |     } while (1);
                                             | label_12:
    0x0007400c addiu a1, s3, 0x35c4          |     a1 = s3 + 0x35c4;
    0x00074010 move a0, s0                   |     a0 = s0;
    0x00074014 jalr t9                       |     t9 ();
    0x00074018 move s7, v0                   |     s7 = v0;
    0x0007401c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00074020 move s2, zero                 |     s2 = 0;
    0x00074024 b 0x73ea8                     |     goto label_2;
                                             | label_14:
    0x00074028 move a0, s1                   |     a0 = s1;
    0x0007402c jalr t9                       |     t9 ();
    0x00074030 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00074034 lw t9, -0x72d0(gp)            |     t9 = sym.imp.malloc;
    0x00074038 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x0007403c jalr t9                       |     t9 ();
    0x00074040 move a0, v0                   |     a0 = v0;
    0x00074044 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00074048 beqz v0, 0x740f0              |         
    0x0007404c move s0, v0                   |         s0 = v0;
    0x00074050 lw t9, -0x72a8(gp)            |         t9 = sym.imp.strcpy
                                             | label_18:
    0x00074054 move a1, s1                   |         a1 = s1;
    0x00074058 jalr t9                       |         t9 ();
    0x0007405c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00074060 b 0x73f8c                     |         goto label_3;
                                             | label_6:
    0x00074064 lw a2, -0x7e08(gp)            |         a2 = *((gp - 8066));
    0x00074068 lw a1, -0x7e08(gp)            |         a1 = *((gp - 8066));
                                             |         /* str.path_make_relative */
    0x0007406c addiu v0, v0, -0x35a0         |         v0 += -0x35a0;
    0x00074070 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
    0x00074074 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00074078 addiu a3, zero, 0x7c          |         a3 = 0x7c;
                                             |         /* esilref: 'src/basic/path-util.c' */
    0x0007407c addiu a2, a2, -0x376d         |         a2 += -0x376d;
                                             |         /* str.from_dir */
    0x00074080 addiu a1, a1, -0x3754         |         a1 += -0x3754;
    0x00074084 bal 0x6e764                   |         sym_log_assert_failed_realm ();
                                             | label_20:
    0x00074088 move a0, s1                   |         a0 = s1;
    0x0007408c jalr t9                       |         t9 ();
    0x00074090 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00074094 b 0x73ff8                     |         goto label_4;
                                             | label_7:
    0x00074098 lw v0, -0x7e08(gp)            |         v0 = *((gp - 8066));
    0x0007409c lw a2, -0x7e08(gp)            |         a2 = *((gp - 8066));
    0x000740a0 lw a1, -0x7e08(gp)            |         a1 = *((gp - 8066));
                                             |         /* str.path_make_relative */
    0x000740a4 addiu v0, v0, -0x35a0         |         v0 += -0x35a0;
    0x000740a8 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
    0x000740ac sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000740b0 addiu a3, zero, 0x7d          |         a3 = 0x7d;
                                             |         /* esilref: 'src/basic/path-util.c' */
    0x000740b4 addiu a2, a2, -0x376d         |         a2 += -0x376d;
                                             |         /* str.to_path */
    0x000740b8 addiu a1, a1, -0x3748         |         a1 += -0x3748;
    0x000740bc move a0, zero                 |         a0 = 0;
    0x000740c0 bal 0x6e764                   |         sym_log_assert_failed_realm ();
                                             | label_8:
    0x000740c4 lw v0, -0x7e08(gp)            |         v0 = *((gp - 8066));
    0x000740c8 lw a2, -0x7e08(gp)            |         a2 = *((gp - 8066));
    0x000740cc lw a1, -0x7e08(gp)            |         a1 = *((gp - 8066));
                                             |         /* str.path_make_relative */
    0x000740d0 addiu v0, v0, -0x35a0         |         v0 += -0x35a0;
    0x000740d4 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
    0x000740d8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000740dc addiu a3, zero, 0x7e          |         a3 = 0x7e;
                                             |         /* esilref: 'src/basic/path-util.c' */
    0x000740e0 addiu a2, a2, -0x376d         |         a2 += -0x376d;
                                             |         /* esilref: '_r' */
    0x000740e4 addiu a1, a1, -0x3740         |         a1 += -0x3740;
    0x000740e8 move a0, zero                 |         a0 = 0;
    0x000740ec bal 0x6e764                   |         sym_log_assert_failed_realm ();
                                             |     }
                                             | label_16:
    0x000740f0 addiu v0, zero, -0xc          |     v0 = -0xc;
    0x000740f4 b 0x73f98                     |     goto label_5;
                                             | label_19:
    0x000740f8 jalr t9                       |     t9 ();
    0x000740fc nop                           |     
                                             | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x494bc */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.sd_device_new_from_subsystem_sysname ()      | void sd_device_new_from_subsystem_sysname () {
    0x000494bc lui gp, 8                                     |     
    0x000494c0 addiu gp, gp, -0x234c                         |     
    0x000494c4 addu gp, gp, t9                               |     gp += t9;
    0x000494c8 addiu sp, sp, -0x1078                         |     
    0x000494cc sw s5, 0x1064(sp)                             |     *(var_1064h) = s5;
    0x000494d0 lw s5, -0x71f0(gp)                            |     s5 = *((gp - 7292));
    0x000494d4 sw fp, 0x1070(sp)                             |     *(var_1070h) = fp;
    0x000494d8 sw ra, 0x1074(sp)                             |     *(var_1074h) = ra;
    0x000494dc sw s7, 0x106c(sp)                             |     *(var_106ch) = s7;
    0x000494e0 sw s6, 0x1068(sp)                             |     *(var_1068h) = s6;
    0x000494e4 sw s4, 0x1060(sp)                             |     *(var_1060h) = s4;
    0x000494e8 sw s3, 0x105c(sp)                             |     *(var_105ch) = s3;
    0x000494ec sw s2, 0x1058(sp)                             |     *(var_1058h) = s2;
    0x000494f0 sw s1, 0x1054(sp)                             |     *(var_1054h) = s1;
    0x000494f4 sw s0, 0x1050(sp)                             |     *(var_1050h) = s0;
    0x000494f8 sw gp, 0x18(sp)                               |     *(var_18h_3) = gp;
    0x000494fc move fp, sp                                   |     fp = sp;
    0x00049500 lw v0, (s5)                                   |     v0 = *(s5);
    0x00049504 sw v0, 0x104c(fp)                             |     *(arg_104ch) = v0;
                                                             |     if (a0 == 0) {
    0x00049508 beql a0, zero, 0x49de8                        |         goto label_5;
                                                             |     }
    0x0004950c lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049510 move s3, a1                                   |     s3 = a1;
                                                             |     if (a1 == 0) {
    0x00049514 beqz a1, 0x49e18                              |         goto label_6;
                                                             |     }
    0x00049518 move s2, a2                                   |     s2 = a2;
                                                             |     if (a2 == 0) {
    0x0004951c beqz a2, 0x49e50                              |         goto label_7;
                                                             |     }
    0x00049520 lw a1, -0x7fc4(gp)                            |     a1 = *(gp);
    0x00049524 lw t9, -0x7178(gp)                            |     t9 = *((gp - 7262));
    0x00049528 move s6, a0                                   |     s6 = a0;
                                                             |     /* str.subsystem */
    0x0004952c addiu a1, a1, -0x4ffc                         |     a1 += -0x4ffc;
    0x00049530 move a0, s3                                   |     a0 = s3;
    0x00049534 jalr t9                                       |     t9 ();
    0x00049538 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 == 0) {
    0x0004953c bnez v0, 0x496d4                              |         
    0x00049540 lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x00049544 move a0, s2                                   |         a0 = s2;
    0x00049548 jalr t9                                       |         t9 ();
    0x0004954c lui s0, 0x40                                  |         s0 = 0x400000;
                                                             |         /* str._d:_d */
    0x00049550 addiu v1, v0, 0x10                            |         v1 = v0 + 0x10;
    0x00049554 addiu s0, s0, 1                               |         s0++;
    0x00049558 sltu v1, v1, s0                               |         v1 = (v1 < s0) ? 1 : 0;
    0x0004955c lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (v1 == 0) {
    0x00049560 beqz v1, 0x49ec8                              |             goto label_8;
                                                             |         }
    0x00049564 lw v1, -0x7fc4(gp)                            |         v1 = *(gp);
    0x00049568 addiu v0, v0, 0x17                            |         v0 += 0x17;
                                                             |         /* str._sys_subsystem_ */
    0x0004956c addiu s1, v1, 0x5398                          |         s1 = v1 + 0x5398;
    0x00049570 srl v0, v0, 3                                 |         v0 >>= 3;
    0x00049574 sll v0, v0, 3                                 |         v0 <<= 3;
    0x00049578 subu sp, sp, v0                               |         
    0x0004957c lw a3, 0x5398(v1)                             |         a3 = *((v1 + 5350));
    0x00049580 lw a2, 4(s1)                                  |         a2 = *((s1 + 1));
    0x00049584 lw v1, 8(s1)                                  |         v1 = *((s1 + 2));
    0x00049588 lw v0, 0xc(s1)                                |         v0 = *((s1 + 3));
    0x0004958c lw t9, -0x72a8(gp)                            |         t9 = sym.imp.strcpy
    0x00049590 move a1, s2                                   |         a1 = s2;
    0x00049594 addiu a0, sp, 0x27                            |         a0 = sp + 0x27;
    0x00049598 sw a3, 0x18(sp)                               |         *(var_18h_3) = a3;
    0x0004959c sw a2, 0x1c(sp)                               |         *(var_1ch) = a2;
    0x000495a0 sw v1, 0x20(sp)                               |         *(var_20h_5) = v1;
    0x000495a4 sw v0, 0x24(sp)                               |         *(var_24h_3) = v0;
    0x000495a8 jalr t9                                       |         t9 ();
    0x000495ac lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x000495b0 addiu s4, sp, 0x18                            |         s4 = sp + 0x18;
    0x000495b4 move a1, zero                                 |         a1 = 0;
    0x000495b8 lw t9, -0x73f4(gp)                            |         t9 = sym.imp.access;
    0x000495bc move a0, s4                                   |         a0 = s4;
    0x000495c0 jalr t9                                       |         t9 ();
    0x000495c4 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (v0 >= 0) {
    0x000495c8 bgez v0, 0x49b78                              |             goto label_1;
                                                             |         }
    0x000495cc lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x000495d0 move a0, s2                                   |         a0 = s2;
    0x000495d4 jalr t9                                       |         t9 ();
    0x000495d8 addiu v1, v0, 0xa                             |         v1 = v0 + 0xa;
    0x000495dc sltu v1, v1, s0                               |         v1 = (v1 < s0) ? 1 : 0;
    0x000495e0 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (v1 == 0) {
    0x000495e4 beqz v1, 0x49ef8                              |             goto label_9;
                                                             |         }
    0x000495e8 lw a0, -0x7fc4(gp)                            |         a0 = *(gp);
    0x000495ec addiu v0, v0, 0x11                            |         v0 += 0x11;
                                                             |         /* str._sys_bus_ */
    0x000495f0 addiu v1, a0, 0x53a8                          |         v1 = a0 + 0x53a8;
    0x000495f4 srl v0, v0, 3                                 |         v0 >>= 3;
    0x000495f8 sll v0, v0, 3                                 |         v0 <<= 3;
    0x000495fc subu sp, sp, v0                               |         
    0x00049600 lw a3, 0x53a8(a0)                             |         a3 = *((a0 + 5354));
    0x00049604 lw a2, 4(v1)                                  |         a2 = *((v1 + 1));
    0x00049608 lbu v0, 8(v1)                                 |         v0 = *((v1 + 8));
    0x0004960c lw t9, -0x72a8(gp)                            |         t9 = sym.imp.strcpy
    0x00049610 move a1, s2                                   |         a1 = s2;
    0x00049614 addiu a0, sp, 0x21                            |         a0 = sp + 0x21;
    0x00049618 sw a3, 0x18(sp)                               |         *(var_18h_3) = a3;
    0x0004961c sw a2, 0x1c(sp)                               |         *(var_1ch) = a2;
    0x00049620 sb v0, 0x20(sp)                               |         *(var_20h_5) = v0;
    0x00049624 jalr t9                                       |         t9 ();
    0x00049628 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x0004962c addiu s4, sp, 0x18                            |         s4 = sp + 0x18;
    0x00049630 move a1, zero                                 |         a1 = 0;
    0x00049634 lw t9, -0x73f4(gp)                            |         t9 = sym.imp.access;
    0x00049638 move a0, s4                                   |         a0 = s4;
    0x0004963c jalr t9                                       |         t9 ();
    0x00049640 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (v0 >= 0) {
    0x00049644 bgez v0, 0x49b78                              |             goto label_1;
                                                             |         }
    0x00049648 lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x0004964c move a0, s2                                   |         a0 = s2;
    0x00049650 jalr t9                                       |         t9 ();
    0x00049654 addiu v1, v0, 0xc                             |         v1 = v0 + 0xc;
    0x00049658 sltu s0, v1, s0                               |         s0 = (v1 < s0) ? 1 : 0;
    0x0004965c lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (s0 == 0) {
    0x00049660 beqz s0, 0x49f40                              |             goto label_10;
                                                             |         }
    0x00049664 lw a0, -0x7fc4(gp)                            |         a0 = *(gp);
    0x00049668 addiu v0, v0, 0x13                            |         v0 += 0x13;
    0x0004966c srl v0, v0, 3                                 |         v0 >>= 3;
                                                             |         /* str._sys_class_ */
    0x00049670 addiu v1, a0, 0x53b4                          |         v1 = a0 + 0x53b4;
    0x00049674 sll v0, v0, 3                                 |         v0 <<= 3;
    0x00049678 subu sp, sp, v0                               |         
    0x0004967c addiu s0, sp, 0x18                            |         s0 = sp + 0x18;
    0x00049680 lw a3, 0x53b4(a0)                             |         a3 = *((a0 + 5357));
    0x00049684 lw a2, 4(v1)                                  |         a2 = *((v1 + 1));
    0x00049688 lw v0, 8(v1)                                  |         v0 = *((v1 + 2));
    0x0004968c lw t9, -0x72a8(gp)                            |         t9 = sym.imp.strcpy
    0x00049690 move a1, s2                                   |         a1 = s2;
    0x00049694 addiu a0, s0, 0xb                             |         a0 = s0 + 0xb;
    0x00049698 sw a3, (s0)                                   |         *(s0) = a3;
    0x0004969c sw a2, 4(s0)                                  |         *((s0 + 1)) = a2;
    0x000496a0 sw v0, 8(s0)                                  |         *((s0 + 2)) = v0;
    0x000496a4 jalr t9                                       |         t9 ();
    0x000496a8 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x000496ac move a1, zero                                 |         a1 = 0;
    0x000496b0 lw t9, -0x73f4(gp)                            |         t9 = sym.imp.access;
    0x000496b4 move a0, s0                                   |         a0 = s0;
    0x000496b8 jalr t9                                       |         t9 ();
    0x000496bc lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (v0 >= 0) {
    0x000496c0 bgez v0, 0x49b60                              |             goto label_11;
                                                             |         }
    0x000496c4 addiu v0, fp, 0x3c                            |         v0 = fp + 0x3c;
    0x000496c8 sw v0, 0x30(fp)                               |         *(arg_30h) = v0;
    0x000496cc addiu s0, fp, 0x48                            |         s0 = fp + 0x48;
    0x000496d0 b 0x49720                                     |         
                                                             |     } else {
    0x000496d4 lw a1, -0x7e08(gp)                            |         a1 = *((gp - 8066));
    0x000496d8 lw t9, -0x7178(gp)                            |         t9 = *((gp - 7262));
                                                             |         /* esilref: 'module' */
    0x000496dc addiu a1, a1, -0x63e0                         |         a1 += -0x63e0;
    0x000496e0 move a0, s3                                   |         a0 = s3;
    0x000496e4 jalr t9                                       |         t9 ();
    0x000496e8 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (v0 == 0) {
    0x000496ec beqz v0, 0x49adc                              |             goto label_12;
                                                             |         }
    0x000496f0 lw a1, -0x7fc4(gp)                            |         a1 = *(gp);
    0x000496f4 lw t9, -0x7178(gp)                            |         t9 = *((gp - 7262));
                                                             |         /* str.drivers */
    0x000496f8 addiu a1, a1, 0x53e0                          |         a1 += 0x53e0;
    0x000496fc move a0, s3                                   |         a0 = s3;
    0x00049700 jalr t9                                       |         t9 ();
    0x00049704 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (v0 == 0) {
    0x00049708 beqz v0, 0x49bd0                              |             goto label_13;
                                                             |         }
                                                             | label_0:
    0x0004970c lw v1, -0x7fc4(gp)                            |         v1 = *(gp);
    0x00049710 addiu v0, fp, 0x3c                            |         v0 = fp + 0x3c;
    0x00049714 sw v0, 0x30(fp)                               |         *(arg_30h) = v0;
                                                             |         /* str._sys_subsystem_ */
    0x00049718 addiu s1, v1, 0x5398                          |         s1 = v1 + 0x5398;
    0x0004971c addiu s0, fp, 0x48                            |         s0 = fp + 0x48;
                                                             |     }
                                                             | label_2:
    0x00049720 lw t9, -0x7334(gp)                            |     t9 = sym.imp.strlen;
    0x00049724 move a0, s2                                   |     a0 = s2;
    0x00049728 jalr t9                                       |     t9 ();
    0x0004972c addiu v1, v0, 8                               |     v1 = v0 + 8;
    0x00049730 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049734 srl v1, v1, 3                                 |     v1 >>= 3;
    0x00049738 sll v1, v1, 3                                 |     v1 <<= 3;
    0x0004973c subu sp, sp, v1                               |     
    0x00049740 lw t9, -0x71e8(gp)                            |     t9 = sym.imp.memcpy;
    0x00049744 addiu a2, v0, 1                               |     a2 = v0 + 1;
    0x00049748 move a1, s2                                   |     a1 = s2;
    0x0004974c addiu a0, sp, 0x18                            |     a0 = sp + 0x18;
    0x00049750 jalr t9                                       |     t9 ();
    0x00049754 lb v1, (v0)                                   |     v1 = *(v0);
    0x00049758 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x0004975c sw v0, 0x2c(fp)                               |     *(arg_2ch) = v0;
                                                             |     if (v1 == 0) {
    0x00049760 beqz v1, 0x49784                              |         goto label_14;
                                                             |     }
    0x00049764 addiu a0, zero, 0x2f                          |     a0 = 0x2f;
    0x00049768 addiu a1, zero, 0x21                          |     a1 = 0x21;
                                                             |     if (v1 != a0) {
                                                             |         do {
    0x0004976c beql v1, a0, 0x49774                          |             
    0x00049770 sb a1, (v0)                                   |             *(v0) = a1;
                                                             |         }
    0x00049774 addiu v0, v0, 1                               |         v0++;
    0x00049778 lb v1, (v0)                                   |         v1 = *(v0);
    0x0004977c bnez v1, 0x4976c                              |         
                                                             |     } while (v1 != 0);
    0x00049780 nop                                           |     
                                                             | label_14:
    0x00049784 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049788 lw a1, 0x30(fp)                               |     a1 = *(arg_30h);
                                                             |     /* esilref: '/devices/' */
    0x0004978c addiu v0, v0, 0x5330                          |     v0 += 0x5330;
    0x00049790 sw v0, 0x28(fp)                               |     *(arg_28h) = v0;
    0x00049794 sw v0, 0x44(fp)                               |     *(arg_44h) = v0;
    0x00049798 lw v0, 0x2c(fp)                               |     v0 = *(arg_2ch);
    0x0004979c move s7, zero                                 |     s7 = 0;
    0x000497a0 sw v0, 0x48(fp)                               |     *(arg_48h) = v0;
    0x000497a4 addiu v0, zero, 0xf                           |     v0 = 0xf;
    0x000497a8 sw s1, 0x3c(fp)                               |     *(arg_3ch) = s1;
    0x000497ac sw s3, 0x40(fp)                               |     *(arg_40h) = s3;
    0x000497b0 move s4, a1                                   |     s4 = a1;
    0x000497b4 addu s7, s7, v0                               |     s7 += v0;
                                                             |     if (s0 == a1) {
    0x000497b8 beq s0, a1, 0x497e8                           |         goto label_15;
                                                             |     }
                                                             |     do {
    0x000497bc lw a0, 4(a1)                                  |         a0 = *((a1 + 1));
    0x000497c0 addiu a1, a1, 4                               |         a1 += 4;
    0x000497c4 sw a1, 0x34(fp)                               |         *(arg_34h) = a1;
                                                             |         if (a0 == 0) {
    0x000497c8 beqz a0, 0x497e8                              |             goto label_15;
                                                             |         }
    0x000497cc lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x000497d0 jalr t9                                       |         t9 ();
    0x000497d4 nop                                           |         
    0x000497d8 lw a1, 0x34(fp)                               |         a1 = *(arg_34h);
    0x000497dc lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x000497e0 addu s7, s7, v0                               |         s7 += v0;
    0x000497e4 bne s0, a1, 0x497bc                           |         
                                                             |     } while (s0 != a1);
                                                             | label_15:
    0x000497e8 lui a0, 0x40                                  |     a0 = 0x400000;
    0x000497ec addiu v0, s7, 1                               |     v0 = s7 + 1;
    0x000497f0 addiu a0, a0, 1                               |     a0++;
    0x000497f4 sltu v0, v0, a0                               |     v0 = (v0 < a0) ? 1 : 0;
    0x000497f8 addiu v1, s7, 8                               |     v1 = s7 + 8;
                                                             |     if (v0 == 0) {
    0x000497fc beqz v0, 0x49e9c                              |         goto label_16;
                                                             |     }
    0x00049800 srl v1, v1, 3                                 |     v1 >>= 3;
    0x00049804 sll v1, v1, 3                                 |     v1 <<= 3;
    0x00049808 subu sp, sp, v1                               |     
    0x0004980c addiu s7, sp, 0x18                            |     s7 = sp + 0x18;
    0x00049810 move v0, s7                                   |     v0 = s7;
    0x00049814 move a1, s1                                   |     a1 = s1;
    0x00049818 lw t9, -0x722c(gp)                            |     t9 = sym.imp.stpcpy;
                                                             |     do {
    0x0004981c move a0, v0                                   |         a0 = v0;
    0x00049820 jalr t9                                       |         t9 ();
    0x00049824 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (s0 == s4) {
    0x00049828 beq s0, s4, 0x4983c                           |             goto label_17;
                                                             |         }
    0x0004982c addiu s4, s4, 4                               |         s4 += 4;
    0x00049830 lw a1, (s4)                                   |         a1 = *(s4);
    0x00049834 lw t9, -0x722c(gp)                            |         t9 = sym.imp.stpcpy;
    0x00049838 bnez a1, 0x4981c                              |         
                                                             |     } while (a1 != 0);
                                                             | label_17:
    0x0004983c lw t9, -0x73f4(gp)                            |     t9 = sym.imp.access;
    0x00049840 move a1, zero                                 |     a1 = 0;
    0x00049844 move a0, s7                                   |     a0 = s7;
    0x00049848 jalr t9                                       |     t9 ();
    0x0004984c lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 >= 0) {
    0x00049850 bgez v0, 0x49dd0                              |         goto label_18;
                                                             |     }
    0x00049854 lw a1, -0x7fc4(gp)                            |     a1 = *(gp);
    0x00049858 lw v1, 0x30(fp)                               |     v1 = *(arg_30h);
                                                             |     /* str._sys_bus_ */
    0x0004985c addiu v0, a1, 0x53a8                          |     v0 = a1 + 0x53a8;
    0x00049860 sw v0, 0x24(fp)                               |     *(var_24h_3) = v0;
    0x00049864 sw v0, 0x3c(fp)                               |     *(arg_3ch) = v0;
    0x00049868 lw v0, 0x28(fp)                               |     v0 = *(arg_28h);
    0x0004986c move s1, zero                                 |     s1 = 0;
    0x00049870 sw v0, 0x44(fp)                               |     *(arg_44h) = v0;
    0x00049874 lw v0, 0x2c(fp)                               |     v0 = *(arg_2ch);
    0x00049878 sw s3, 0x40(fp)                               |     *(arg_40h) = s3;
    0x0004987c sw v0, 0x48(fp)                               |     *(arg_48h) = v0;
    0x00049880 addiu v0, zero, 9                             |     v0 = 9;
    0x00049884 move s7, v1                                   |     s7 = v1;
    0x00049888 addu s1, s1, v0                               |     s1 += v0;
                                                             |     if (v1 == s0) {
    0x0004988c beq v1, s0, 0x498bc                           |         goto label_19;
                                                             |     }
                                                             |     do {
    0x00049890 lw a0, 4(v1)                                  |         a0 = *((v1 + 1));
    0x00049894 addiu v1, v1, 4                               |         v1 += 4;
    0x00049898 sw v1, 0x34(fp)                               |         *(arg_34h) = v1;
                                                             |         if (a0 == 0) {
    0x0004989c beqz a0, 0x498bc                              |             goto label_19;
                                                             |         }
    0x000498a0 lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x000498a4 jalr t9                                       |         t9 ();
    0x000498a8 nop                                           |         
    0x000498ac lw v1, 0x34(fp)                               |         v1 = *(arg_34h);
    0x000498b0 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x000498b4 addu s1, s1, v0                               |         s1 += v0;
    0x000498b8 bne v1, s0, 0x49890                           |         
                                                             |     } while (v1 != s0);
                                                             | label_19:
    0x000498bc lui v1, 0x40                                  |     v1 = 0x400000;
    0x000498c0 addiu v0, s1, 1                               |     v0 = s1 + 1;
    0x000498c4 addiu v1, v1, 1                               |     v1++;
    0x000498c8 sltu v0, v0, v1                               |     v0 = (v0 < v1) ? 1 : 0;
    0x000498cc addiu s1, s1, 8                               |     s1 += 8;
                                                             |     if (v0 == 0) {
    0x000498d0 beqz v0, 0x49ee0                              |         goto label_20;
                                                             |     }
    0x000498d4 srl s1, s1, 3                                 |     s1 >>= 3;
    0x000498d8 sll s1, s1, 3                                 |     s1 <<= 3;
    0x000498dc subu sp, sp, s1                               |     
    0x000498e0 addiu s1, sp, 0x18                            |     s1 = sp + 0x18;
    0x000498e4 lw a1, 0x24(fp)                               |     a1 = *(var_24h_3);
    0x000498e8 move v0, s1                                   |     v0 = s1;
    0x000498ec lw t9, -0x722c(gp)                            |     t9 = sym.imp.stpcpy;
                                                             |     do {
    0x000498f0 move a0, v0                                   |         a0 = v0;
    0x000498f4 jalr t9                                       |         t9 ();
    0x000498f8 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (s7 == s0) {
    0x000498fc beq s7, s0, 0x49910                           |             goto label_21;
                                                             |         }
    0x00049900 addiu s7, s7, 4                               |         s7 += 4;
    0x00049904 lw a1, (s7)                                   |         a1 = *(s7);
    0x00049908 lw t9, -0x722c(gp)                            |         t9 = sym.imp.stpcpy;
    0x0004990c bnez a1, 0x498f0                              |         
                                                             |     } while (a1 != 0);
                                                             | label_21:
    0x00049910 lw t9, -0x73f4(gp)                            |     t9 = sym.imp.access;
    0x00049914 move a1, zero                                 |     a1 = 0;
    0x00049918 move a0, s1                                   |     a0 = s1;
    0x0004991c jalr t9                                       |     t9 ();
    0x00049920 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 >= 0) {
    0x00049924 bgez v0, 0x49ac4                              |         goto label_22;
                                                             |     }
    0x00049928 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x0004992c lw s1, -0x7fc4(gp)                            |     s1 = *(gp);
    0x00049930 addiu v0, v0, 0x35c4                          |     v0 += 0x35c4;
    0x00049934 sw v0, 0x28(fp)                               |     *(arg_28h) = v0;
    0x00049938 sw v0, 0x44(fp)                               |     *(arg_44h) = v0;
    0x0004993c lw v0, 0x2c(fp)                               |     v0 = *(arg_2ch);
    0x00049940 lw v1, 0x30(fp)                               |     v1 = *(arg_30h);
                                                             |     /* str._sys_class_ */
    0x00049944 addiu s4, s1, 0x53b4                          |     s4 = s1 + 0x53b4;
    0x00049948 sw v0, 0x48(fp)                               |     *(arg_48h) = v0;
    0x0004994c move s7, zero                                 |     s7 = 0;
    0x00049950 addiu v0, zero, 0xb                           |     v0 = 0xb;
    0x00049954 sw s4, 0x3c(fp)                               |     *(arg_3ch) = s4;
    0x00049958 sw s3, 0x40(fp)                               |     *(arg_40h) = s3;
    0x0004995c move s1, v1                                   |     s1 = v1;
    0x00049960 addu s7, s7, v0                               |     s7 += v0;
                                                             |     if (v1 == s0) {
    0x00049964 beq v1, s0, 0x49994                           |         goto label_23;
                                                             |     }
                                                             |     do {
    0x00049968 lw a0, 4(v1)                                  |         a0 = *((v1 + 1));
    0x0004996c addiu v1, v1, 4                               |         v1 += 4;
    0x00049970 sw v1, 0x34(fp)                               |         *(arg_34h) = v1;
                                                             |         if (a0 == 0) {
    0x00049974 beqz a0, 0x49994                              |             goto label_23;
                                                             |         }
    0x00049978 lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x0004997c jalr t9                                       |         t9 ();
    0x00049980 nop                                           |         
    0x00049984 lw v1, 0x34(fp)                               |         v1 = *(arg_34h);
    0x00049988 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x0004998c addu s7, s7, v0                               |         s7 += v0;
    0x00049990 bne v1, s0, 0x49968                           |         
                                                             |     } while (v1 != s0);
                                                             | label_23:
    0x00049994 lui v1, 0x40                                  |     v1 = 0x400000;
    0x00049998 addiu v0, s7, 1                               |     v0 = s7 + 1;
    0x0004999c addiu v1, v1, 1                               |     v1++;
    0x000499a0 sltu v0, v0, v1                               |     v0 = (v0 < v1) ? 1 : 0;
    0x000499a4 addiu v0, s7, 8                               |     v0 = s7 + 8;
                                                             |     if (v0 == 0) {
    0x000499a8 beqz v0, 0x49f28                              |         goto label_24;
                                                             |     }
    0x000499ac srl v0, v0, 3                                 |     v0 >>= 3;
    0x000499b0 sll v0, v0, 3                                 |     v0 <<= 3;
    0x000499b4 subu sp, sp, v0                               |     
    0x000499b8 addiu s7, sp, 0x18                            |     s7 = sp + 0x18;
    0x000499bc move v0, s7                                   |     v0 = s7;
    0x000499c0 move a1, s4                                   |     a1 = s4;
    0x000499c4 lw t9, -0x722c(gp)                            |     t9 = sym.imp.stpcpy;
                                                             |     do {
    0x000499c8 move a0, v0                                   |         a0 = v0;
    0x000499cc jalr t9                                       |         t9 ();
    0x000499d0 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (s1 == s0) {
    0x000499d4 beq s1, s0, 0x499e8                           |             goto label_25;
                                                             |         }
    0x000499d8 addiu s1, s1, 4                               |         s1 += 4;
    0x000499dc lw a1, (s1)                                   |         a1 = *(s1);
    0x000499e0 lw t9, -0x722c(gp)                            |         t9 = sym.imp.stpcpy;
    0x000499e4 bnez a1, 0x499c8                              |         
                                                             |     } while (a1 != 0);
                                                             | label_25:
    0x000499e8 lw t9, -0x73f4(gp)                            |     t9 = sym.imp.access;
    0x000499ec move a1, zero                                 |     a1 = 0;
    0x000499f0 move a0, s7                                   |     a0 = s7;
    0x000499f4 jalr t9                                       |     t9 ();
    0x000499f8 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 >= 0) {
    0x000499fc bgez v0, 0x49dd0                              |         goto label_18;
                                                             |     }
    0x00049a00 lw v0, 0x28(fp)                               |     v0 = *(arg_28h);
    0x00049a04 lw s4, 0x30(fp)                               |     s4 = *(arg_30h);
    0x00049a08 lw s7, -0x7fc4(gp)                            |     s7 = *(gp);
    0x00049a0c sw v0, 0x44(fp)                               |     *(arg_44h) = v0;
                                                             |     /* str._sys_firmware_ */
    0x00049a10 addiu s7, s7, 0x53c0                          |     s7 += 0x53c0;
    0x00049a14 sw s2, 0x48(fp)                               |     *(arg_48h) = s2;
    0x00049a18 addiu v0, zero, 0xe                           |     v0 = 0xe;
    0x00049a1c move s1, zero                                 |     s1 = 0;
    0x00049a20 move s2, s4                                   |     s2 = s4;
    0x00049a24 sw s7, 0x3c(fp)                               |     *(arg_3ch) = s7;
    0x00049a28 sw s3, 0x40(fp)                               |     *(arg_40h) = s3;
    0x00049a2c addu s1, s1, v0                               |     s1 += v0;
                                                             |     if (s2 == s0) {
    0x00049a30 beq s2, s0, 0x49a58                           |         goto label_26;
                                                             |     }
                                                             |     do {
    0x00049a34 addiu s2, s2, 4                               |         s2 += 4;
    0x00049a38 lw a0, (s2)                                   |         a0 = *(s2);
    0x00049a3c lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
                                                             |         if (a0 == 0) {
    0x00049a40 beqz a0, 0x49a58                              |             goto label_26;
                                                             |         }
    0x00049a44 jalr t9                                       |         t9 ();
    0x00049a48 nop                                           |         
    0x00049a4c addu s1, s1, v0                               |         s1 += v0;
    0x00049a50 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x00049a54 bne s2, s0, 0x49a34                           |         
                                                             |     } while (s2 != s0);
                                                             | label_26:
    0x00049a58 lui v1, 0x40                                  |     v1 = 0x400000;
    0x00049a5c addiu v0, s1, 1                               |     v0 = s1 + 1;
    0x00049a60 addiu v1, v1, 1                               |     v1++;
    0x00049a64 sltu v0, v0, v1                               |     v0 = (v0 < v1) ? 1 : 0;
    0x00049a68 addiu v0, s1, 8                               |     v0 = s1 + 8;
                                                             |     if (v0 == 0) {
    0x00049a6c beqz v0, 0x49f58                              |         goto label_27;
                                                             |     }
    0x00049a70 srl v0, v0, 3                                 |     v0 >>= 3;
    0x00049a74 sll v0, v0, 3                                 |     v0 <<= 3;
    0x00049a78 subu sp, sp, v0                               |     
    0x00049a7c addiu s1, sp, 0x18                            |     s1 = sp + 0x18;
    0x00049a80 move v0, s1                                   |     v0 = s1;
    0x00049a84 move a1, s7                                   |     a1 = s7;
    0x00049a88 lw t9, -0x722c(gp)                            |     t9 = sym.imp.stpcpy;
                                                             |     do {
    0x00049a8c move a0, v0                                   |         a0 = v0;
    0x00049a90 jalr t9                                       |         t9 ();
    0x00049a94 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (s4 == s0) {
    0x00049a98 beq s4, s0, 0x49aac                           |             goto label_28;
                                                             |         }
    0x00049a9c addiu s4, s4, 4                               |         s4 += 4;
    0x00049aa0 lw a1, (s4)                                   |         a1 = *(s4);
    0x00049aa4 lw t9, -0x722c(gp)                            |         t9 = sym.imp.stpcpy;
    0x00049aa8 bnez a1, 0x49a8c                              |         
                                                             |     } while (a1 != 0);
                                                             | label_28:
    0x00049aac lw t9, -0x73f4(gp)                            |     t9 = sym.imp.access;
    0x00049ab0 move a1, zero                                 |     a1 = 0;
    0x00049ab4 move a0, s1                                   |     a0 = s1;
    0x00049ab8 jalr t9                                       |     t9 ();
    0x00049abc lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 < 0) {
    0x00049ac0 bltz v0, 0x49f70                              |         goto label_29;
                                                             |     }
                                                             | label_22:
    0x00049ac4 lw t9, -0x7b78(gp)                            |     t9 = sym.sd_device_new_from_syspath;
    0x00049ac8 move a1, s1                                   |     a1 = s1;
    0x00049acc move a0, s6                                   |     a0 = s6;
    0x00049ad0 bal 0x490f4                                   |     sym_sd_device_new_from_syspath ();
    0x00049ad4 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049ad8 b 0x49b8c                                     |     goto label_3;
                                                             | label_12:
    0x00049adc lw t9, -0x7334(gp)                            |     t9 = sym.imp.strlen;
    0x00049ae0 move a0, s2                                   |     a0 = s2;
    0x00049ae4 jalr t9                                       |     t9 ();
    0x00049ae8 lui a0, 0x40                                  |     a0 = 0x400000;
    0x00049aec addiu v1, v0, 0xd                             |     v1 = v0 + 0xd;
    0x00049af0 addiu a0, a0, 1                               |     a0++;
    0x00049af4 sltu v1, v1, a0                               |     v1 = (v1 < a0) ? 1 : 0;
    0x00049af8 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v1 == 0) {
    0x00049afc beqz v1, 0x49f10                              |         goto label_30;
                                                             |     }
    0x00049b00 lw a0, -0x7fc4(gp)                            |     a0 = *(gp);
    0x00049b04 addiu v0, v0, 0x14                            |     v0 += 0x14;
    0x00049b08 srl v0, v0, 3                                 |     v0 >>= 3;
                                                             |     /* str._sys_module_ */
    0x00049b0c addiu v1, a0, 0x53d0                          |     v1 = a0 + 0x53d0;
    0x00049b10 sll v0, v0, 3                                 |     v0 <<= 3;
    0x00049b14 subu sp, sp, v0                               |     
    0x00049b18 addiu s0, sp, 0x18                            |     s0 = sp + 0x18;
    0x00049b1c lw a3, 0x53d0(a0)                             |     a3 = *((a0 + 5364));
    0x00049b20 lw a2, 4(v1)                                  |     a2 = *((v1 + 1));
    0x00049b24 lw v0, 8(v1)                                  |     v0 = *((v1 + 2));
    0x00049b28 lw t9, -0x72a8(gp)                            |     t9 = sym.imp.strcpy
    0x00049b2c move a1, s2                                   |     a1 = s2;
    0x00049b30 addiu a0, s0, 0xc                             |     a0 = s0 + 0xc;
    0x00049b34 sw a3, (s0)                                   |     *(s0) = a3;
    0x00049b38 sw a2, 4(s0)                                  |     *((s0 + 1)) = a2;
    0x00049b3c sw v0, 8(s0)                                  |     *((s0 + 2)) = v0;
    0x00049b40 jalr t9                                       |     t9 ();
    0x00049b44 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049b48 move a1, zero                                 |     a1 = 0;
    0x00049b4c lw t9, -0x73f4(gp)                            |     t9 = sym.imp.access;
    0x00049b50 move a0, s0                                   |     a0 = s0;
    0x00049b54 jalr t9                                       |     t9 ();
    0x00049b58 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 < 0) {
    0x00049b5c bltz v0, 0x4970c                              |         goto label_0;
                                                             |     }
                                                             | label_11:
    0x00049b60 lw t9, -0x7b78(gp)                            |     t9 = sym.sd_device_new_from_syspath;
    0x00049b64 move a1, s0                                   |     a1 = s0;
    0x00049b68 move a0, s6                                   |     a0 = s6;
    0x00049b6c bal 0x490f4                                   |     sym_sd_device_new_from_syspath ();
    0x00049b70 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049b74 b 0x49b8c                                     |     goto label_3;
                                                             | label_1:
    0x00049b78 lw t9, -0x7b78(gp)                            |     t9 = sym.sd_device_new_from_syspath;
    0x00049b7c move a1, s4                                   |     a1 = s4;
    0x00049b80 move a0, s6                                   |     a0 = s6;
    0x00049b84 bal 0x490f4                                   |     sym_sd_device_new_from_syspath ();
    0x00049b88 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             | label_3:
    0x00049b8c lw a0, 0x104c(fp)                             |     a0 = *(arg_104ch);
    0x00049b90 lw v1, (s5)                                   |     v1 = *(s5);
    0x00049b94 lw t9, -0x7230(gp)                            |     t9 = sym.imp.__stack_chk_fail;
                                                             |     if (a0 != v1) {
    0x00049b98 bne a0, v1, 0x49fa8                           |         goto label_31;
                                                             |     }
    0x00049b9c move sp, fp                                   |     
    0x00049ba0 lw ra, 0x1074(sp)                             |     ra = *(var_1074h);
    0x00049ba4 lw fp, 0x1070(sp)                             |     fp = *(var_1070h);
    0x00049ba8 lw s7, 0x106c(sp)                             |     s7 = *(var_106ch);
    0x00049bac lw s6, 0x1068(sp)                             |     s6 = *(var_1068h);
    0x00049bb0 lw s5, 0x1064(sp)                             |     s5 = *(var_1064h);
    0x00049bb4 lw s4, 0x1060(sp)                             |     s4 = *(var_1060h);
    0x00049bb8 lw s3, 0x105c(sp)                             |     s3 = *(var_105ch);
    0x00049bbc lw s2, 0x1058(sp)                             |     s2 = *(var_1058h);
    0x00049bc0 lw s1, 0x1054(sp)                             |     s1 = *(var_1054h);
    0x00049bc4 lw s0, 0x1050(sp)                             |     s0 = *(var_1050h);
    0x00049bc8 addiu sp, sp, 0x1078                          |     
    0x00049bcc jr ra                                         |     return v0;
                                                             | label_13:
    0x00049bd0 lw t9, -0x7d40(gp)                            |     t9 = sym.strscpy;
    0x00049bd4 addiu s0, fp, 0x4c                            |     s0 = fp + 0x4c;
    0x00049bd8 move a2, s2                                   |     a2 = s2;
    0x00049bdc addiu a1, zero, 0x1000                        |     a1 = 0x1000;
    0x00049be0 move a0, s0                                   |     a0 = s0;
    0x00049be4 sw s0, 0x2c(fp)                               |     *(arg_2ch) = s0;
    0x00049be8 jalr t9                                       |     t9 ();
    0x00049bec lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049bf0 addiu a1, zero, 0x3a                          |     a1 = 0x3a;
    0x00049bf4 lw t9, -0x732c(gp)                            |     t9 = sym.imp.strchr;
    0x00049bf8 move a0, s0                                   |     a0 = s0;
    0x00049bfc jalr t9                                       |     t9 ();
    0x00049c00 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049c04 lw v1, -0x7fc4(gp)                            |     v1 = *(gp);
                                                             |     if (v0 == 0) {
    0x00049c08 beqz v0, 0x49e88                              |         goto label_32;
                                                             |     }
                                                             |     /* esilref: 'ttribute: &' */
    0x00049c0c addiu a1, v0, 1                               |     a1 = v0 + 1;
                                                             |     /* str._sys_subsystem_ */
    0x00049c10 addiu s1, v1, 0x5398                          |     s1 = v1 + 0x5398;
    0x00049c14 sb zero, (v0)                                 |     *(v0) = 0;
    0x00049c18 lw v1, -0x7fc4(gp)                            |     v1 = *(gp);
    0x00049c1c lw v0, 0x2c(fp)                               |     v0 = *(arg_2ch);
    0x00049c20 addiu a0, fp, 0x3c                            |     a0 = fp + 0x3c;
                                                             |     /* str._drivers_ */
    0x00049c24 addiu v1, v1, 0x53e8                          |     v1 += 0x53e8;
    0x00049c28 sw a1, 0x28(fp)                               |     *(arg_28h) = a1;
    0x00049c2c sw v0, 0x40(fp)                               |     *(arg_40h) = v0;
    0x00049c30 sw a1, 0x48(fp)                               |     *(arg_48h) = a1;
    0x00049c34 addiu v0, zero, 0xf                           |     v0 = 0xf;
    0x00049c38 move s4, zero                                 |     s4 = 0;
    0x00049c3c addiu s0, fp, 0x48                            |     s0 = fp + 0x48;
    0x00049c40 move a1, a0                                   |     a1 = a0;
    0x00049c44 sw a0, 0x30(fp)                               |     *(arg_30h) = a0;
    0x00049c48 sw v1, 0x20(fp)                               |     *(var_20h_5) = v1;
    0x00049c4c sw s1, 0x3c(fp)                               |     *(arg_3ch) = s1;
    0x00049c50 sw v1, 0x44(fp)                               |     *(arg_44h) = v1;
    0x00049c54 move s7, a0                                   |     s7 = a0;
    0x00049c58 addu s4, s4, v0                               |     s4 += v0;
                                                             |     if (a1 == s0) {
    0x00049c5c beq a1, s0, 0x49c8c                           |         goto label_33;
                                                             |     }
                                                             |     do {
    0x00049c60 lw a0, 4(a1)                                  |         a0 = *((a1 + 1));
    0x00049c64 addiu a1, a1, 4                               |         a1 += 4;
    0x00049c68 sw a1, 0x34(fp)                               |         *(arg_34h) = a1;
                                                             |         if (a0 == 0) {
    0x00049c6c beqz a0, 0x49c8c                              |             goto label_33;
                                                             |         }
    0x00049c70 lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x00049c74 jalr t9                                       |         t9 ();
    0x00049c78 nop                                           |         
    0x00049c7c lw a1, 0x34(fp)                               |         a1 = *(arg_34h);
    0x00049c80 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x00049c84 addu s4, s4, v0                               |         s4 += v0;
    0x00049c88 bne a1, s0, 0x49c60                           |         
                                                             |     } while (a1 != s0);
                                                             | label_33:
    0x00049c8c lui a0, 0x40                                  |     a0 = 0x400000;
    0x00049c90 addiu v0, s4, 1                               |     v0 = s4 + 1;
    0x00049c94 addiu a0, a0, 1                               |     a0++;
    0x00049c98 sltu v0, v0, a0                               |     v0 = (v0 < a0) ? 1 : 0;
    0x00049c9c addiu v0, s4, 8                               |     v0 = s4 + 8;
                                                             |     if (v0 == 0) {
    0x00049ca0 beqz v0, 0x49f78                              |         goto label_34;
                                                             |     }
    0x00049ca4 srl v0, v0, 3                                 |     v0 >>= 3;
    0x00049ca8 sll v0, v0, 3                                 |     v0 <<= 3;
    0x00049cac subu sp, sp, v0                               |     
    0x00049cb0 addiu v0, sp, 0x18                            |     v0 = sp + 0x18;
    0x00049cb4 move s4, v0                                   |     s4 = v0;
    0x00049cb8 move a1, s1                                   |     a1 = s1;
    0x00049cbc lw t9, -0x722c(gp)                            |     t9 = sym.imp.stpcpy;
                                                             |     do {
    0x00049cc0 move a0, v0                                   |         a0 = v0;
    0x00049cc4 jalr t9                                       |         t9 ();
    0x00049cc8 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (s7 == s0) {
    0x00049ccc beq s7, s0, 0x49ce0                           |             goto label_35;
                                                             |         }
    0x00049cd0 addiu s7, s7, 4                               |         s7 += 4;
    0x00049cd4 lw a1, (s7)                                   |         a1 = *(s7);
    0x00049cd8 lw t9, -0x722c(gp)                            |         t9 = sym.imp.stpcpy;
    0x00049cdc bnez a1, 0x49cc0                              |         
                                                             |     } while (a1 != 0);
                                                             | label_35:
    0x00049ce0 lw t9, -0x73f4(gp)                            |     t9 = sym.imp.access;
    0x00049ce4 move a1, zero                                 |     a1 = 0;
    0x00049ce8 move a0, s4                                   |     a0 = s4;
    0x00049cec jalr t9                                       |     t9 ();
    0x00049cf0 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 >= 0) {
    0x00049cf4 bgez v0, 0x49b78                              |         goto label_1;
                                                             |     }
    0x00049cf8 lw v0, 0x2c(fp)                               |     v0 = *(arg_2ch);
    0x00049cfc lw a1, -0x7fc4(gp)                            |     a1 = *(gp);
    0x00049d00 sw v0, 0x40(fp)                               |     *(arg_40h) = v0;
                                                             |     /* str._sys_bus_ */
    0x00049d04 addiu v0, a1, 0x53a8                          |     v0 = a1 + 0x53a8;
    0x00049d08 sw v0, 0x24(fp)                               |     *(var_24h_3) = v0;
    0x00049d0c sw v0, 0x3c(fp)                               |     *(arg_3ch) = v0;
    0x00049d10 lw v0, 0x20(fp)                               |     v0 = *(var_20h_5);
    0x00049d14 lw v1, 0x30(fp)                               |     v1 = *(arg_30h);
    0x00049d18 sw v0, 0x44(fp)                               |     *(arg_44h) = v0;
    0x00049d1c lw v0, 0x28(fp)                               |     v0 = *(arg_28h);
    0x00049d20 move s7, zero                                 |     s7 = 0;
    0x00049d24 sw v0, 0x48(fp)                               |     *(arg_48h) = v0;
    0x00049d28 addiu v0, zero, 9                             |     v0 = 9;
    0x00049d2c move s4, v1                                   |     s4 = v1;
    0x00049d30 addu s7, s7, v0                               |     s7 += v0;
                                                             |     if (v1 == s0) {
    0x00049d34 beq v1, s0, 0x49d64                           |         goto label_36;
                                                             |     }
                                                             |     do {
    0x00049d38 lw a0, 4(v1)                                  |         a0 = *((v1 + 1));
    0x00049d3c addiu v1, v1, 4                               |         v1 += 4;
    0x00049d40 sw v1, 0x34(fp)                               |         *(arg_34h) = v1;
                                                             |         if (a0 == 0) {
    0x00049d44 beqz a0, 0x49d64                              |             goto label_36;
                                                             |         }
    0x00049d48 lw t9, -0x7334(gp)                            |         t9 = sym.imp.strlen;
    0x00049d4c jalr t9                                       |         t9 ();
    0x00049d50 nop                                           |         
    0x00049d54 lw v1, 0x34(fp)                               |         v1 = *(arg_34h);
    0x00049d58 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
    0x00049d5c addu s7, s7, v0                               |         s7 += v0;
    0x00049d60 bne v1, s0, 0x49d38                           |         
                                                             |     } while (v1 != s0);
                                                             | label_36:
    0x00049d64 lui v1, 0x40                                  |     v1 = 0x400000;
    0x00049d68 addiu v0, s7, 1                               |     v0 = s7 + 1;
    0x00049d6c addiu v1, v1, 1                               |     v1++;
    0x00049d70 sltu v0, v0, v1                               |     v0 = (v0 < v1) ? 1 : 0;
    0x00049d74 addiu v0, s7, 8                               |     v0 = s7 + 8;
                                                             |     if (v0 == 0) {
    0x00049d78 beqz v0, 0x49f90                              |         goto label_37;
                                                             |     }
    0x00049d7c srl v0, v0, 3                                 |     v0 >>= 3;
    0x00049d80 sll v0, v0, 3                                 |     v0 <<= 3;
    0x00049d84 subu sp, sp, v0                               |     
    0x00049d88 addiu s7, sp, 0x18                            |     s7 = sp + 0x18;
    0x00049d8c lw a1, 0x24(fp)                               |     a1 = *(var_24h_3);
    0x00049d90 move v0, s7                                   |     v0 = s7;
    0x00049d94 lw t9, -0x722c(gp)                            |     t9 = sym.imp.stpcpy;
                                                             |     do {
    0x00049d98 move a0, v0                                   |         a0 = v0;
    0x00049d9c jalr t9                                       |         t9 ();
    0x00049da0 lw gp, 0x18(fp)                               |         gp = *(var_18h_3);
                                                             |         if (s0 == s4) {
    0x00049da4 beq s0, s4, 0x49db8                           |             goto label_38;
                                                             |         }
    0x00049da8 addiu s4, s4, 4                               |         s4 += 4;
    0x00049dac lw a1, (s4)                                   |         a1 = *(s4);
    0x00049db0 lw t9, -0x722c(gp)                            |         t9 = sym.imp.stpcpy;
    0x00049db4 bnez a1, 0x49d98                              |         
                                                             |     } while (a1 != 0);
                                                             | label_38:
    0x00049db8 lw t9, -0x73f4(gp)                            |     t9 = sym.imp.access;
    0x00049dbc move a1, zero                                 |     a1 = 0;
    0x00049dc0 move a0, s7                                   |     a0 = s7;
    0x00049dc4 jalr t9                                       |     t9 ();
    0x00049dc8 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
                                                             |     if (v0 < 0) {
    0x00049dcc bltz v0, 0x49720                              |         goto label_2;
                                                             |     }
                                                             | label_18:
    0x00049dd0 lw t9, -0x7b78(gp)                            |     t9 = sym.sd_device_new_from_syspath;
    0x00049dd4 move a1, s7                                   |     a1 = s7;
    0x00049dd8 move a0, s6                                   |     a0 = s6;
    0x00049ddc bal 0x490f4                                   |     sym_sd_device_new_from_syspath ();
    0x00049de0 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049de4 b 0x49b8c                                     |     goto label_3;
                                                             | label_5:
    0x00049de8 lw a2, -0x7fc4(gp)                            |     a2 = *(gp);
    0x00049dec lw a1, -0x7fc4(gp)                            |     a1 = *(gp);
    0x00049df0 lw t9, -0x7d68(gp)                            |     t9 = sym.log_assert_failed_return_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049df4 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049df8 sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049dfc addiu a3, zero, 0xff                          |     a3 = 0xff;
                                                             |     /* esilref: 'src/libsystemd/sd-device/sd-device.c' */
    0x00049e00 addiu a2, a2, 0x5213                          |     a2 += 0x5213;
                                                             |     /* esilref: 'ret' */
    0x00049e04 addiu a1, a1, -0x6790                         |     a1 += -0x6790;
    0x00049e08 jalr t9                                       |     t9 ();
    0x00049e0c lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049e10 addiu v0, zero, -0x16                         |     v0 = -0x16;
    0x00049e14 b 0x49b8c                                     |     goto label_3;
                                                             | label_6:
    0x00049e18 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049e1c lw a2, -0x7fc4(gp)                            |     a2 = *(gp);
    0x00049e20 lw a1, -0x7fc4(gp)                            |     a1 = *(gp);
    0x00049e24 lw t9, -0x7d68(gp)                            |     t9 = sym.log_assert_failed_return_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049e28 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049e2c sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049e30 addiu a3, zero, 0x100                         |     a3 = aav.0x00000100;
                                                             |     /* esilref: 'src/libsystemd/sd-device/sd-device.c' */
    0x00049e34 addiu a2, a2, 0x5213                          |     a2 += 0x5213;
                                                             |     /* str.subsystem */
    0x00049e38 addiu a1, a1, -0x4ffc                         |     a1 += -0x4ffc;
    0x00049e3c move a0, zero                                 |     a0 = 0;
    0x00049e40 jalr t9                                       |     t9 ();
    0x00049e44 lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049e48 addiu v0, zero, -0x16                         |     v0 = -0x16;
    0x00049e4c b 0x49b8c                                     |     goto label_3;
                                                             | label_7:
    0x00049e50 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049e54 lw a2, -0x7fc4(gp)                            |     a2 = *(gp);
    0x00049e58 lw a1, -0x7fc4(gp)                            |     a1 = *(gp);
    0x00049e5c lw t9, -0x7d68(gp)                            |     t9 = sym.log_assert_failed_return_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049e60 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049e64 sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049e68 addiu a3, zero, 0x101                         |     a3 = 0x101;
                                                             |     /* esilref: 'src/libsystemd/sd-device/sd-device.c' */
    0x00049e6c addiu a2, a2, 0x5213                          |     a2 += 0x5213;
                                                             |     /* esilref: 'sysname' */
    0x00049e70 addiu a1, a1, 0x54a8                          |     a1 += 0x54a8;
    0x00049e74 move a0, zero                                 |     a0 = 0;
    0x00049e78 jalr t9                                       |     t9 ();
    0x00049e7c lw gp, 0x18(fp)                               |     gp = *(var_18h_3);
    0x00049e80 addiu v0, zero, -0x16                         |     v0 = -0x16;
    0x00049e84 b 0x49b8c                                     |     goto label_3;
                                                             | label_32:
    0x00049e88 addiu v0, fp, 0x3c                            |     v0 = fp + 0x3c;
    0x00049e8c sw v0, 0x30(fp)                               |     *(arg_30h) = v0;
                                                             |     /* str._sys_subsystem_ */
    0x00049e90 addiu s1, v1, 0x5398                          |     s1 = v1 + 0x5398;
    0x00049e94 addiu s0, fp, 0x48                            |     s0 = fp + 0x48;
    0x00049e98 b 0x49720                                     |     goto label_2;
                                                             | label_16:
    0x00049e9c lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049ea0 lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049ea4 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049ea8 sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049eac addiu a3, zero, 0x130                         |     a3 = aav.0x00000130;
                                                             |     do {
                                                             | label_4:
    0x00049eb0 lw a2, -0x7fc4(gp)                            |         a2 = *(gp);
    0x00049eb4 lw a1, -0x7fd0(gp)                            |         a1 = *(gp);
                                                             |         /* esilref: 'src/libsystemd/sd-device/sd-device.c' */
    0x00049eb8 addiu a2, a2, 0x5213                          |         a2 += 0x5213;
                                                             |         /* str.sizeof_char__n____ALLOCA_MAX */
    0x00049ebc addiu a1, a1, 0x7c64                          |         a1 += 0x7c64;
    0x00049ec0 move a0, zero                                 |         a0 = 0;
    0x00049ec4 jalr t9                                       |         t9 ();
                                                             | label_8:
    0x00049ec8 lw v0, -0x7fc4(gp)                            |         v0 = *(gp);
    0x00049ecc lw t9, -0x7fc0(gp)                            |         t9 = sym.log_assert_failed_realm;
                                                             |         /* str.sd_device_new_from_subsystem_sysname */
    0x00049ed0 addiu v0, v0, 0x5c74                          |         v0 += 0x5c74;
    0x00049ed4 sw v0, 0x10(sp)                               |         *(var_10h_4) = v0;
    0x00049ed8 addiu a3, zero, 0x104                         |         a3 = aav.0x00000104;
    0x00049edc b 0x49eb0                                     |         
                                                             |     } while (1);
                                                             | label_20:
    0x00049ee0 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049ee4 lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049ee8 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049eec sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049ef0 addiu a3, zero, 0x134                         |     a3 = aav.0x00000134;
    0x00049ef4 b 0x49eb0                                     |     goto label_4;
                                                             | label_9:
    0x00049ef8 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049efc lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049f00 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049f04 sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049f08 addiu a3, zero, 0x108                         |     a3 = aav.0x00000108;
    0x00049f0c b 0x49eb0                                     |     goto label_4;
                                                             | label_30:
    0x00049f10 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049f14 lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049f18 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049f1c sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049f20 addiu a3, zero, 0x110                         |     a3 = aav.0x00000110;
    0x00049f24 b 0x49eb0                                     |     goto label_4;
                                                             | label_24:
    0x00049f28 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049f2c lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049f30 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049f34 sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049f38 addiu a3, zero, 0x138                         |     a3 = aav.0x00000138;
    0x00049f3c b 0x49eb0                                     |     goto label_4;
                                                             | label_10:
    0x00049f40 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049f44 lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049f48 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049f4c sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049f50 addiu a3, zero, 0x10c                         |     a3 = aav.0x0000010c;
    0x00049f54 b 0x49eb0                                     |     goto label_4;
                                                             | label_27:
    0x00049f58 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049f5c lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049f60 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049f64 sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049f68 addiu a3, zero, 0x13c                         |     a3 = aav.0x0000013c;
    0x00049f6c b 0x49eb0                                     |     goto label_4;
                                                             | label_29:
    0x00049f70 addiu v0, zero, -0x13                         |     v0 = -0x13;
    0x00049f74 b 0x49b8c                                     |     goto label_3;
                                                             | label_34:
    0x00049f78 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049f7c lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049f80 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049f84 sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049f88 addiu a3, zero, 0x11d                         |     a3 = 0x11d;
    0x00049f8c b 0x49eb0                                     |     goto label_4;
                                                             | label_37:
    0x00049f90 lw v0, -0x7fc4(gp)                            |     v0 = *(gp);
    0x00049f94 lw t9, -0x7fc0(gp)                            |     t9 = sym.log_assert_failed_realm;
                                                             |     /* str.sd_device_new_from_subsystem_sysname */
    0x00049f98 addiu v0, v0, 0x5c74                          |     v0 += 0x5c74;
    0x00049f9c sw v0, 0x10(sp)                               |     *(var_10h_4) = v0;
    0x00049fa0 addiu a3, zero, 0x121                         |     a3 = 0x121;
    0x00049fa4 b 0x49eb0                                     |     goto label_4;
                                                             | label_31:
    0x00049fa8 jalr t9                                       |     t9 ();
    0x00049fac nop                                           |     
                                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x3ebc8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.sysctl_read ()               | void sysctl_read () {
    0x0003ebc8 lui gp, 9                     |     
    0x0003ebcc addiu gp, gp, -0x7a58         |     
    0x0003ebd0 addu gp, gp, t9               |     gp += t9;
    0x0003ebd4 addiu sp, sp, -0x40           |     
    0x0003ebd8 sw s1, 0x2c(sp)               |     *(var_2ch_2) = s1;
    0x0003ebdc lw s1, -0x71f0(gp)            |     s1 = *((gp - 7292));
    0x0003ebe0 sw fp, 0x38(sp)               |     *(var_38h) = fp;
    0x0003ebe4 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0003ebe8 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x0003ebec sw s2, 0x30(sp)               |     *(var_30h_2) = s2;
    0x0003ebf0 sw s0, 0x28(sp)               |     *(var_28h_2) = s0;
    0x0003ebf4 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0003ebf8 move fp, sp                   |     fp = sp;
    0x0003ebfc lw v0, (s1)                   |     v0 = *(s1);
    0x0003ec00 sw v0, 0x24(fp)               |     *(arg_24h) = v0;
    0x0003ec04 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x0003ec08 beqz a0, 0x3eccc              |         
    0x0003ec0c move s2, a1                   |         s2 = a1;
                                             |         if (a1 == 0) {
    0x0003ec10 beqz a1, 0x3ecf0              |             goto label_0;
                                             |         }
    0x0003ec14 lw t9, -0x7334(gp)            |         t9 = sym.imp.strlen;
    0x0003ec18 move s3, a0                   |         s3 = a0;
    0x0003ec1c jalr t9                       |         t9 ();
    0x0003ec20 lui a0, 0x40                  |         a0 = 0x400000;
                                             |         /* esilref: '&' */
    0x0003ec24 addiu v1, v0, 0xb             |         v1 = v0 + 0xb;
    0x0003ec28 addiu a0, a0, 1               |         a0++;
    0x0003ec2c sltu v1, v1, a0               |         v1 = (v1 < a0) ? 1 : 0;
    0x0003ec30 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
                                             |         if (v1 == 0) {
    0x0003ec34 beqz v1, 0x3ed18              |             goto label_1;
                                             |         }
    0x0003ec38 lw a0, -0x7fc4(gp)            |         a0 = *(gp);
                                             |         /* esilref: ':&d' */
    0x0003ec3c addiu v0, v0, 0x12            |         v0 += 0x12;
                                             |         /* str._proc_sys_ */
    0x0003ec40 addiu v1, a0, 0x3698          |         v1 = a0 + 0x3698;
    0x0003ec44 srl v0, v0, 3                 |         v0 >>= 3;
    0x0003ec48 sll v0, v0, 3                 |         v0 <<= 3;
    0x0003ec4c subu sp, sp, v0               |         
    0x0003ec50 lw a2, 4(v1)                  |         a2 = *((v1 + 1));
    0x0003ec54 lw a3, 0x3698(a0)             |         a3 = *((a0 + 3494));
    0x0003ec58 lhu v0, 8(v1)                 |         v0 = *((v1 + 4));
    0x0003ec5c lw t9, -0x72a8(gp)            |         t9 = sym.imp.strcpy
    0x0003ec60 move a1, s3                   |         a1 = s3;
    0x0003ec64 addiu a0, sp, 0x22            |         a0 = sp + 0x22;
    0x0003ec68 sw a3, 0x18(sp)               |         *(var_18h_2) = a3;
    0x0003ec6c sw a2, 0x1c(sp)               |         *(var_1ch_3) = a2;
    0x0003ec70 sh v0, 0x20(sp)               |         *(var_20h_2) = v0;
    0x0003ec74 jalr t9                       |         t9 ();
    0x0003ec78 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0003ec7c addiu s0, sp, 0x18            |         s0 = sp + 0x18;
    0x0003ec80 move a0, s0                   |         a0 = s0;
    0x0003ec84 lw t9, -0x79fc(gp)            |         t9 = sym.read_full_file_full;
    0x0003ec88 move a3, zero                 |         a3 = 0;
    0x0003ec8c move a2, s2                   |         a2 = s2;
    0x0003ec90 move a1, zero                 |         a1 = 0;
    0x0003ec94 jalr t9                       |         t9 ();
    0x0003ec98 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x0003ec9c lw v1, (s1)                   |         v1 = *(s1);
    0x0003eca0 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
                                             |         if (a0 != v1) {
    0x0003eca4 bne a0, v1, 0x3ed44           |             goto label_2;
                                             |         }
    0x0003eca8 move sp, fp                   |         
    0x0003ecac lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0003ecb0 lw fp, 0x38(sp)               |         fp = *(var_38h);
    0x0003ecb4 lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x0003ecb8 lw s2, 0x30(sp)               |         s2 = *(var_30h_2);
    0x0003ecbc lw s1, 0x2c(sp)               |         s1 = *(var_2ch_2);
    0x0003ecc0 lw s0, 0x28(sp)               |         s0 = *(var_28h_2);
    0x0003ecc4 addiu sp, sp, 0x40            |         
    0x0003ecc8 jr ra                         |         return v0;
                                             |     }
    0x0003eccc lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003ecd0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.sysctl_read */
    0x0003ecd4 addiu v0, v0, 0x36ac          |     v0 += 0x36ac;
    0x0003ecd8 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x0003ecdc sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0003ece0 addiu a3, zero, 0x61          |     a3 = 0x61;
                                             |     /* esilref: 'src/shared/sysctl-util.c' */
    0x0003ece4 addiu a2, a2, 0x3657          |     a2 += 0x3657;
                                             |     /* str.property */
    0x0003ece8 addiu a1, a1, 0x3670          |     a1 += 0x3670;
    0x0003ecec jalr t9                       |     t9 ();
                                             | label_0:
    0x0003ecf0 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003ecf4 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0003ecf8 addiu v0, v0, 0x36ac          |     v0 += 0x36ac;
    0x0003ecfc lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x0003ed00 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0003ed04 addiu a3, zero, 0x62          |     a3 = 0x62;
                                             |     /* esilref: 'src/shared/sysctl-util.c' */
    0x0003ed08 addiu a2, a2, 0x3657          |     a2 += 0x3657;
                                             |     /* str.content */
    0x0003ed0c addiu a1, a1, 0x36a4          |     a1 += 0x36a4;
    0x0003ed10 move a0, zero                 |     a0 = 0;
    0x0003ed14 jalr t9                       |     t9 ();
                                             | label_1:
    0x0003ed18 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0003ed1c lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003ed20 lw a1, -0x7fd0(gp)            |     a1 = *(gp);
                                             |     /* str.sysctl_read */
    0x0003ed24 addiu v0, v0, 0x36ac          |     v0 += 0x36ac;
    0x0003ed28 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x0003ed2c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0003ed30 addiu a3, zero, 0x64          |     a3 = 0x64;
                                             |     /* esilref: 'src/shared/sysctl-util.c' */
    0x0003ed34 addiu a2, a2, 0x3657          |     a2 += 0x3657;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x0003ed38 addiu a1, a1, 0x7c64          |     a1 += 0x7c64;
    0x0003ed3c move a0, zero                 |     a0 = 0;
    0x0003ed40 jalr t9                       |     t9 ();
                                             | label_2:
    0x0003ed44 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0003ed48 jalr t9                       |     t9 ();
    0x0003ed4c nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x3e8b8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.sysctl_write ()          | void sysctl_write () {
    0x0003e8b8 lui gp, 9                 |     
    0x0003e8bc addiu gp, gp, -0x7748     |     
    0x0003e8c0 addu gp, gp, t9           |     gp += t9;
    0x0003e8c4 addiu sp, sp, -0x60       |     
    0x0003e8c8 sw s3, 0x50(sp)           |     *(var_50h) = s3;
    0x0003e8cc lw s3, -0x71f0(gp)        |     s3 = *((gp - 7292));
    0x0003e8d0 sw fp, 0x58(sp)           |     *(var_58h) = fp;
    0x0003e8d4 sw ra, 0x5c(sp)           |     *(var_5ch) = ra;
    0x0003e8d8 sw s4, 0x54(sp)           |     *(var_54h) = s4;
    0x0003e8dc sw s2, 0x4c(sp)           |     *(var_4ch) = s2;
    0x0003e8e0 sw s1, 0x48(sp)           |     *(var_48h) = s1;
    0x0003e8e4 sw s0, 0x44(sp)           |     *(var_44h) = s0;
    0x0003e8e8 sw gp, 0x28(sp)           |     *(var_28h) = gp;
    0x0003e8ec move fp, sp               |     fp = sp;
    0x0003e8f0 lw v0, (s3)               |     v0 = *(s3);
    0x0003e8f4 sw v0, 0x3c(fp)           |     *(arg_3ch) = v0;
    0x0003e8f8 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
                                         |     if (a0 == 0) {
    0x0003e8fc beqz a0, 0x3eb2c          |         goto label_2;
                                         |     }
    0x0003e900 move s0, a1               |     s0 = a1;
                                         |     if (a1 == 0) {
    0x0003e904 beqz a1, 0x3eb50          |         goto label_3;
                                         |     }
    0x0003e908 lw t9, -0x7fcc(gp)        |     t9 = sym.log_get_max_level_realm;
    0x0003e90c move s1, a0               |     s1 = a0;
    0x0003e910 move a0, zero             |     a0 = 0;
    0x0003e914 jalr t9                   |     t9 ();
    0x0003e918 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x0003e91c lw gp, 0x28(fp)           |     gp = *(arg_28h);
                                         |     if (v0 == 0) {
    0x0003e920 beqz v0, 0x3eacc          |         goto label_4;
                                         |     }
                                         | label_1:
    0x0003e924 lw t9, -0x7334(gp)        |     t9 = sym.imp.strlen;
    0x0003e928 move a0, s1               |     a0 = s1;
    0x0003e92c jalr t9                   |     t9 ();
    0x0003e930 lui s2, 0x40              |     s2 = 0x400000;
    0x0003e934 addiu v1, v0, 0xb         |     v1 = v0 + 0xb;
    0x0003e938 addiu s2, s2, 1           |     s2++;
    0x0003e93c sltu v1, v1, s2           |     v1 = (v1 < s2) ? 1 : 0;
    0x0003e940 lw gp, 0x28(fp)           |     gp = *(arg_28h);
                                         |     if (v1 == 0) {
    0x0003e944 beqz v1, 0x3eb78          |         goto label_5;
                                         |     }
    0x0003e948 lw a0, -0x7fc4(gp)        |     a0 = *(gp);
    0x0003e94c addiu v0, v0, 0x12        |     v0 += 0x12;
                                         |     /* str._proc_sys_ */
    0x0003e950 addiu v1, a0, 0x3698      |     v1 = a0 + 0x3698;
    0x0003e954 srl v0, v0, 3             |     v0 >>= 3;
    0x0003e958 sll v0, v0, 3             |     v0 <<= 3;
    0x0003e95c subu sp, sp, v0           |     
    0x0003e960 lw a3, 0x3698(a0)         |     a3 = *((a0 + 3494));
    0x0003e964 lw a2, 4(v1)              |     a2 = *((v1 + 1));
    0x0003e968 lhu v0, 8(v1)             |     v0 = *((v1 + 4));
    0x0003e96c lw t9, -0x72a8(gp)        |     t9 = sym.imp.strcpy
    0x0003e970 move a1, s1               |     a1 = s1;
    0x0003e974 addiu a0, sp, 0x32        |     a0 = sp + 0x32;
    0x0003e978 sw a3, 0x28(sp)           |     *(var_28h) = a3;
    0x0003e97c sw a2, 0x2c(sp)           |     *(var_2ch) = a2;
    0x0003e980 sh v0, 0x30(sp)           |     *(var_30h) = v0;
    0x0003e984 jalr t9                   |     t9 ();
    0x0003e988 lw gp, 0x28(fp)           |     gp = *(arg_28h);
    0x0003e98c addiu s4, sp, 0x28        |     s4 = sp + 0x28;
    0x0003e990 lui a1, 8                 |     a1 = 0x80000;
    0x0003e994 lw t9, -0x7354(gp)        |     t9 = sym.imp.open64;
    0x0003e998 addiu a1, a1, 1           |     a1++;
    0x0003e99c move a0, s4               |     a0 = s4;
    0x0003e9a0 jalr t9                   |     t9 ();
    0x0003e9a4 move s1, v0               |     s1 = v0;
    0x0003e9a8 lw gp, 0x28(fp)           |     gp = *(arg_28h);
                                         |     if (v0 < 0) {
    0x0003e9ac bltz v0, 0x3eab0          |         goto label_6;
                                         |     }
    0x0003e9b0 lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x0003e9b4 lw t9, -0x7d60(gp)        |     t9 = sym.endswith;
    0x0003e9b8 addiu a1, a1, -0x3344     |     a1 += -0x3344;
    0x0003e9bc move a0, s0               |     a0 = s0;
    0x0003e9c0 jalr t9                   |     t9 ();
    0x0003e9c4 lw gp, 0x28(fp)           |     gp = *(arg_28h);
    0x0003e9c8 move a0, s0               |     a0 = s0;
    0x0003e9cc lw t9, -0x7334(gp)        |     t9 = sym.imp.strlen;
    0x0003e9d0 move s4, v0               |     s4 = v0;
    0x0003e9d4 jalr t9                   |     t9 ();
    0x0003e9d8 move a2, v0               |     a2 = v0;
    0x0003e9dc lw gp, 0x28(fp)           |     gp = *(arg_28h);
                                         |     if (s4 == 0) {
    0x0003e9e0 beqz s4, 0x3ea48          |         goto label_7;
                                         |     }
    0x0003e9e4 lw t9, -0x734c(gp)        |     t9 = sym.imp.write;
    0x0003e9e8 move a1, s0               |     a1 = s0;
    0x0003e9ec move a0, s1               |     a0 = s1;
    0x0003e9f0 jalr t9                   |     t9 ();
    0x0003e9f4 lw gp, 0x28(fp)           |     gp = *(arg_28h);
                                         |     if (v0 < 0) {
    0x0003e9f8 bltz v0, 0x3eab0          |         goto label_6;
                                         |     }
                                         |     do {
    0x0003e9fc move s0, zero             |         s0 = 0;
                                         | label_0:
    0x0003ea00 lw t9, -0x7f88(gp)        |         t9 = sym.safe_close;
    0x0003ea04 move a0, s1               |         a0 = s1;
    0x0003ea08 jalr t9                   |         t9 ();
    0x0003ea0c lw a0, 0x3c(fp)           |         a0 = *(arg_3ch);
    0x0003ea10 lw v1, (s3)               |         v1 = *(s3);
    0x0003ea14 lw gp, 0x28(fp)           |         gp = *(arg_28h);
    0x0003ea18 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x0003ea1c bne a0, v1, 0x3ebbc       |             goto label_8;
                                         |         }
    0x0003ea20 move sp, fp               |         
    0x0003ea24 lw ra, 0x5c(sp)           |         ra = *(var_5ch);
    0x0003ea28 lw fp, 0x58(sp)           |         fp = *(var_58h);
    0x0003ea2c lw s4, 0x54(sp)           |         s4 = *(var_54h);
    0x0003ea30 lw s3, 0x50(sp)           |         s3 = *(var_50h);
    0x0003ea34 lw s2, 0x4c(sp)           |         s2 = *(var_4ch);
    0x0003ea38 lw s1, 0x48(sp)           |         s1 = *(var_48h);
    0x0003ea3c lw s0, 0x44(sp)           |         s0 = *(var_44h);
    0x0003ea40 addiu sp, sp, 0x60        |         
    0x0003ea44 jr ra                     |         return v0;
                                         | label_7:
    0x0003ea48 addiu v0, v0, 2           |         v0 += 2;
    0x0003ea4c sltu s2, v0, s2           |         s2 = (v0 < s2) ? 1 : 0;
    0x0003ea50 addiu v0, a2, 9           |         v0 = a2 + 9;
                                         |         if (s2 == 0) {
    0x0003ea54 beqz s2, 0x3eba4          |             goto label_9;
                                         |         }
    0x0003ea58 srl v0, v0, 3             |         v0 >>= 3;
    0x0003ea5c sll v0, v0, 3             |         v0 <<= 3;
    0x0003ea60 subu sp, sp, v0           |         
    0x0003ea64 lw t9, -0x722c(gp)        |         t9 = sym.imp.stpcpy;
    0x0003ea68 addiu s2, sp, 0x28        |         s2 = sp + 0x28;
    0x0003ea6c move a1, s0               |         a1 = s0;
    0x0003ea70 sw a2, 0x34(fp)           |         *(arg_34h) = a2;
    0x0003ea74 move a0, s2               |         a0 = s2;
    0x0003ea78 jalr t9                   |         t9 ();
    0x0003ea7c lw gp, 0x28(fp)           |         gp = *(arg_28h);
    0x0003ea80 lw a2, 0x34(fp)           |         a2 = *(arg_34h);
    0x0003ea84 addiu v1, zero, 0xa       |         v1 = 0xa;
    0x0003ea88 lw t9, -0x734c(gp)        |         t9 = sym.imp.write;
    0x0003ea8c move s0, s2               |         s0 = s2;
    0x0003ea90 sb v1, (v0)               |         *(v0) = v1;
    0x0003ea94 sb zero, 1(v0)            |         *((v0 + 1)) = 0;
    0x0003ea98 addiu a2, a2, 1           |         a2++;
    0x0003ea9c move a1, s0               |         a1 = s0;
    0x0003eaa0 move a0, s1               |         a0 = s1;
    0x0003eaa4 jalr t9                   |         t9 ();
    0x0003eaa8 lw gp, 0x28(fp)           |         gp = *(arg_28h);
    0x0003eaac bgez v0, 0x3e9fc          |         
                                         |     } while (v0 >= 0);
                                         | label_6:
    0x0003eab0 lw t9, -0x73b8(gp)        |     t9 = sym.imp.__errno_location;
    0x0003eab4 jalr t9                   |     t9 ();
    0x0003eab8 nop                       |     
    0x0003eabc lw s0, (v0)               |     s0 = *(v0);
    0x0003eac0 lw gp, 0x28(fp)           |     gp = *(arg_28h);
    0x0003eac4 negu s0, s0               |     __asm ("negu s0, s0");
    0x0003eac8 b 0x3ea00                 |     goto label_0;
                                         | label_4:
    0x0003eacc lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x0003ead0 lw t9, -0x719c(gp)        |     t9 = sym.imp.strcspn;
                                         |     /* esilref: '
' */
    0x0003ead4 addiu a1, a1, 0x367c      |     a1 += 0x367c;
    0x0003ead8 move a0, s0               |     a0 = s0;
    0x0003eadc jalr t9                   |     t9 ();
    0x0003eae0 lw gp, 0x28(fp)           |     gp = *(arg_28h);
    0x0003eae4 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x0003eae8 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x0003eaec lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x0003eaf0 lw a2, -0x7fc4(gp)        |     a2 = *(gp);
                                         |     /* str.Setting__s_to__.s. */
    0x0003eaf4 addiu v0, v0, 0x3680      |     v0 += 0x3680;
    0x0003eaf8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0003eafc lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x0003eb00 lw t9, -0x7fc8(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* esilref: 'sysctl_write' */
    0x0003eb04 addiu v0, v0, 0x36b8      |     v0 += 0x36b8;
    0x0003eb08 sw s1, 0x18(sp)           |     *(var_18h) = s1;
    0x0003eb0c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0003eb10 addiu a3, zero, 0x2f      |     a3 = 0x2f;
                                         |     /* esilref: 'src/shared/sysctl-util.c' */
    0x0003eb14 addiu a2, a2, 0x3657      |     a2 += 0x3657;
    0x0003eb18 move a1, zero             |     a1 = 0;
    0x0003eb1c addiu a0, zero, 7         |     a0 = 7;
    0x0003eb20 jalr t9                   |     t9 ();
    0x0003eb24 lw gp, 0x28(fp)           |     gp = *(arg_28h);
    0x0003eb28 b 0x3e924                 |     goto label_1;
                                         | label_2:
    0x0003eb2c lw a2, -0x7fc4(gp)        |     a2 = *(gp);
    0x0003eb30 lw a1, -0x7fc4(gp)        |     a1 = *(gp);
                                         |     /* str.sysctl_write */
    0x0003eb34 addiu v0, v0, 0x36c8      |     v0 += 0x36c8;
    0x0003eb38 lw t9, -0x7fc0(gp)        |     t9 = sym.log_assert_failed_realm;
    0x0003eb3c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0003eb40 addiu a3, zero, 0x2c      |     a3 = 0x2c;
                                         |     /* esilref: 'src/shared/sysctl-util.c' */
    0x0003eb44 addiu a2, a2, 0x3657      |     a2 += 0x3657;
                                         |     /* str.property */
    0x0003eb48 addiu a1, a1, 0x3670      |     a1 += 0x3670;
    0x0003eb4c jalr t9                   |     t9 ();
                                         | label_3:
    0x0003eb50 lw a2, -0x7fc4(gp)        |     a2 = *(gp);
    0x0003eb54 lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x0003eb58 addiu v0, v0, 0x36c8      |     v0 += 0x36c8;
    0x0003eb5c lw t9, -0x7fc0(gp)        |     t9 = sym.log_assert_failed_realm;
    0x0003eb60 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0003eb64 addiu a3, zero, 0x2d      |     a3 = 0x2d;
                                         |     /* esilref: 'src/shared/sysctl-util.c' */
    0x0003eb68 addiu a2, a2, 0x3657      |     a2 += 0x3657;
                                         |     /* str.value */
    0x0003eb6c addiu a1, a1, -0x7b18     |     a1 += -0x7b18;
    0x0003eb70 move a0, zero             |     a0 = 0;
    0x0003eb74 jalr t9                   |     t9 ();
                                         | label_5:
    0x0003eb78 lw v0, -0x7fc4(gp)        |     v0 = *(gp);
    0x0003eb7c lw t9, -0x7fc0(gp)        |     t9 = sym.log_assert_failed_realm;
                                         |     /* str.sysctl_write */
    0x0003eb80 addiu v0, v0, 0x36c8      |     v0 += 0x36c8;
    0x0003eb84 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0003eb88 addiu a3, zero, 0x31      |     a3 = 0x31;
                                         |     do {
    0x0003eb8c lw a2, -0x7fc4(gp)        |         a2 = *(gp);
    0x0003eb90 lw a1, -0x7fd0(gp)        |         a1 = *(gp);
                                         |         /* esilref: 'src/shared/sysctl-util.c' */
    0x0003eb94 addiu a2, a2, 0x3657      |         a2 += 0x3657;
                                         |         /* str.sizeof_char__n____ALLOCA_MAX */
    0x0003eb98 addiu a1, a1, 0x7c64      |         a1 += 0x7c64;
    0x0003eb9c move a0, zero             |         a0 = 0;
    0x0003eba0 jalr t9                   |         t9 ();
                                         | label_9:
    0x0003eba4 lw v0, -0x7fc4(gp)        |         v0 = *(gp);
    0x0003eba8 lw t9, -0x7fc0(gp)        |         t9 = sym.log_assert_failed_realm;
                                         |         /* str.sysctl_write */
    0x0003ebac addiu v0, v0, 0x36c8      |         v0 += 0x36c8;
    0x0003ebb0 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0003ebb4 addiu a3, zero, 0x37      |         a3 = 0x37;
    0x0003ebb8 b 0x3eb8c                 |         
                                         |     } while (1);
                                         | label_8:
    0x0003ebbc lw t9, -0x7230(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0003ebc0 jalr t9                   |     t9 ();
    0x0003ebc4 nop                       |     
                                         | }

[*] Function strcpy used 13 times systemd-udevd