[*] Binary protection state of systemd-udevd

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


[*] Function printf 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 @ 0x2ef24 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0002ef24 ()                  | void fcn_0002ef24 () {
                                             | label_1:
    0x0002ef24 lui gp, 0xa                   |     
    0x0002ef28 addiu gp, gp, -0x7db4         |     
    0x0002ef2c addu gp, gp, t9               |     gp += t9;
    0x0002ef30 addiu sp, sp, -0x30           |     
    0x0002ef34 lw t9, -0x7d28(gp)            |     t9 = sym.sd_device_get_sysnum;
    0x0002ef38 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x0002ef3c lw s0, -0x71f0(gp)            |     s0 = *((gp - 7292));
    0x0002ef40 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0002ef44 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x0002ef48 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0002ef4c lw v0, (s0)                   |     v0 = *(s0);
    0x0002ef50 move s1, a1                   |     s1 = a1;
    0x0002ef54 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0002ef58 addiu a1, sp, 0x18            |     a1 = sp + 0x18;
    0x0002ef5c bal 0x4c6a8                   |     sym_sd_device_get_sysnum ();
    0x0002ef60 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 < 0) {
    0x0002ef64 bltz v0, 0x2efb0              |         goto label_0;
                                             |     }
    0x0002ef68 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x0002ef6c lw t9, -0x7328(gp)            |     t9 = sym.imp.strtoul;
                                             |     if (a0 == 0) {
    0x0002ef70 beqz a0, 0x2effc              |         goto label_71;
                                             |     }
    0x0002ef74 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x0002ef78 move a1, zero                 |     a1 = 0;
    0x0002ef7c jalr t9                       |     t9 ();
    0x0002ef80 sltiu v1, v0, 0x100           |     v1 = (v0 < aav.0x00000100) ? 1 : 0;
    0x0002ef84 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v1 == 0) {
    0x0002ef88 beqz v1, 0x2efd0              |         goto label_72;
                                             |     }
    0x0002ef8c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002ef90 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x0002ef94 move a2, v0                   |     a2 = v0;
                                             |     /* str.lun__lu */
    0x0002ef98 addiu a1, a1, -0x6b4          |     a1 += -0x6b4;
                                             |     /* fcn.0002ede4 */
    0x0002ef9c addiu t9, t9, -0x121c         |     t9 += -0x121c;
    0x0002efa0 move a0, s1                   |     a0 = s1;
    0x0002efa4 bal 0x2ede4                   |     fcn_0002ede4 ();
    0x0002efa8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0002efac move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_0:
    0x0002efb0 lw a0, 0x1c(sp)               |         a0 = *(var_1ch);
    0x0002efb4 lw v1, (s0)                   |         v1 = *(s0);
    0x0002efb8 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             |         if (a0 != v1) {
    0x0002efbc bne a0, v1, 0x2f004           |             goto label_73;
                                             |         }
    0x0002efc0 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x0002efc4 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x0002efc8 addiu sp, sp, 0x30            |         
    0x0002efcc jr ra                         |         return v0;
                                             | label_72:
    0x0002efd0 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0002efd4 lw t9, -0x7b90(gp)            |         t9 = *(gp);
    0x0002efd8 srl a3, v0, 0x10              |         a3 = v0 >> 0x10;
    0x0002efdc andi a2, v0, 0xffff           |         a2 = v0 & 0xffff;
                                             |         /* str.lun_0x_04lx_04lx00000000 */
    0x0002efe0 addiu a1, a1, -0x6ac          |         a1 += -0x6ac;
                                             |         /* fcn.0002ede4 */
    0x0002efe4 addiu t9, t9, -0x121c         |         t9 += -0x121c;
    0x0002efe8 move a0, s1                   |         a0 = s1;
    0x0002efec bal 0x2ede4                   |         fcn_0002ede4 ();
    0x0002eff0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0002eff4 move v0, zero                 |         v0 = 0;
    0x0002eff8 b 0x2efb0                     |         
                                             |     } while (1);
                                             | label_71:
    0x0002effc addiu v0, zero, -2            |     v0 = -2;
    0x0002f000 b 0x2efb0                     |     goto label_0;
                                             | label_73:
    0x0002f004 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0002f008 jalr t9                       |     t9 ();
    0x0002f00c nop                           |     
                                             | label_16:
    0x0002f010 lui gp, 0xa                   |     
    0x0002f014 addiu gp, gp, -0x7ea0         |     
    0x0002f018 addu gp, gp, t9               |     gp += t9;
    0x0002f01c addiu sp, sp, -0x78           |     
    0x0002f020 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x0002f024 lw s2, -0x71f0(gp)            |     s2 = *((gp - 7292));
    0x0002f028 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0002f02c sw ra, 0x74(sp)               |     *(var_74h) = ra;
    0x0002f030 sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x0002f034 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x0002f038 sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x0002f03c sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x0002f040 lw v0, (s2)                   |     v0 = *(s2);
    0x0002f044 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x0002f048 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x0002f04c move s3, a1                   |     s3 = a1;
                                             |     if (a0 == 0) {
    0x0002f050 beqz a0, 0x2f1b8              |         goto label_74;
                                             |     }
    0x0002f054 move s4, a2                   |     s4 = a2;
    0x0002f058 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f05c lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0002f060 lw t9, -0x7b94(gp)            |     t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x0002f064 addiu a3, sp, 0x24            |     a3 = sp + 0x24;
                                             |     /* str.scsi_host */
    0x0002f068 addiu a2, a2, -0x690          |     a2 += -0x690;
                                             |     /* str.scsi */
    0x0002f06c addiu a1, a1, -0x684          |     a1 += -0x684;
    0x0002f070 move s1, a0                   |     s1 = a0;
    0x0002f074 bal 0x4c154                   |     sym_sd_device_get_parent_with_subsystem_devtype ();
    0x0002f078 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x0002f07c bltz v0, 0x2f174              |         goto label_75;
                                             |     }
    0x0002f080 lw t9, -0x7ed8(gp)            |     t9 = sym.sd_device_get_parent;
    0x0002f084 lw a0, 0x24(sp)               |     a0 = *(var_24h_6);
    0x0002f088 addiu a1, sp, 0x28            |     a1 = sp + 0x28;
    0x0002f08c bal 0x4a720                   |     sym_sd_device_get_parent ();
    0x0002f090 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x0002f094 bltz v0, 0x2f174              |         goto label_75;
                                             |     }
    0x0002f098 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f09c lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x0002f0a0 lw a0, 0x28(sp)               |     a0 = *(var_28h_4);
    0x0002f0a4 addiu a2, sp, 0x2c            |     a2 = sp + 0x2c;
                                             |     /* str.device_id */
    0x0002f0a8 addiu a1, a1, -0x67c          |     a1 += -0x67c;
    0x0002f0ac bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x0002f0b0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x0002f0b4 bltz v0, 0x2f174              |         goto label_75;
                                             |     }
    0x0002f0b8 lw s0, 0x2c(sp)               |     s0 = *(var_2ch_5);
    0x0002f0bc lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x0002f0c0 move a0, s0                   |     a0 = s0;
    0x0002f0c4 jalr t9                       |     t9 ();
    0x0002f0c8 sltu v0, v0, s4               |     v0 = (v0 < s4) ? 1 : 0;
    0x0002f0cc lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x0002f0d0 bnez v0, 0x2f174              |         goto label_75;
                                             |     }
    0x0002f0d4 lb v1, (s0)                   |     v1 = *(s0);
    0x0002f0d8 addiu v0, zero, 0x7b          |     v0 = 0x7b;
    0x0002f0dc addu v1, s0, s4               |     v1 = s0 + s4;
                                             |     if (v1 != v0) {
    0x0002f0e0 bne v1, v0, 0x2f174           |         goto label_75;
                                             |     }
    0x0002f0e4 addiu v0, zero, 0x7d          |     v0 = 0x7d;
    0x0002f0e8 lb v1, -1(v1)                 |     v1 = *((v1 - 1));
    0x0002f0ec addiu v0, s0, -1              |     v0 = s0 + -1;
                                             |     if (v1 != v0) {
    0x0002f0f0 bne v1, v0, 0x2f174           |         goto label_75;
                                             |     }
    0x0002f0f4 addu s4, v0, s4               |     s4 = v0 + s4;
    0x0002f0f8 addiu a0, s0, 1               |     a0 = s0 + 1;
    0x0002f0fc move v0, zero                 |     v0 = 0;
    0x0002f100 addiu a2, zero, 0x2d          |     a2 = 0x2d;
    0x0002f104 lb a1, (a0)                   |     a1 = *(a0);
                                             |     do {
    0x0002f108 addiu v1, sp, 0x60            |         v1 = sp + 0x60;
                                             |         if (a1 != a2) {
    0x0002f10c beq a1, a2, 0x2f11c           |             
    0x0002f110 addu v1, v1, v0               |             v1 += v0;
    0x0002f114 addiu v0, v0, 1               |             v0++;
    0x0002f118 sb a1, -0x2c(v1)              |             *(var_34h_3) = a1;
                                             |         }
    0x0002f11c addiu a0, a0, 1               |         a0++;
    0x0002f120 lb a1, (a0)                   |         a1 = *(a0);
    0x0002f124 bnel a0, s4, 0x2f108          |         
                                             |     } while (a0 == s4);
    0x0002f128 addiu v1, sp, 0x60            |     v1 = sp + 0x60;
    0x0002f12c addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002f130 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x0002f134 addiu a1, sp, 0x30            |     a1 = sp + 0x30;
    0x0002f138 move a0, s1                   |     a0 = s1;
                                             |     /* fcn.0002ef24 */
    0x0002f13c addiu t9, t9, -0x10dc         |     t9 += -0x10dc;
    0x0002f140 sb zero, -0x2c(v0)            |     *(var_34h_3) = 0;
    0x0002f144 bal 0x2ef24                   |     fcn_0002ef24 ();
                                             |     goto label_1;
    0x0002f148 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0002f14c lw a3, 0x30(sp)               |     a3 = *(var_30h);
    0x0002f150 addiu a2, sp, 0x34            |     a2 = sp + 0x34;
    0x0002f154 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f158 lw t9, -0x7b90(gp)            |     t9 = *(gp);
                                             |     /* str.vmbus__s__s */
    0x0002f15c addiu a1, a1, -0x670          |     a1 += -0x670;
                                             |     /* fcn.0002ede4 */
    0x0002f160 addiu t9, t9, -0x121c         |     t9 += -0x121c;
    0x0002f164 move a0, s3                   |     a0 = s3;
    0x0002f168 bal 0x2ede4                   |     fcn_0002ede4 ();
    0x0002f16c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0002f170 b 0x2f178                     |     goto label_76;
                                             | label_75:
    0x0002f174 move s1, zero                 |     s1 = 0;
                                             | label_76:
    0x0002f178 lw t9, -0x71d0(gp)            |     t9 = *((gp - 7284));
    0x0002f17c lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x0002f180 jalr t9                       |     t9 ();
    0x0002f184 lw a0, 0x5c(sp)               |     a0 = *(var_5ch);
    0x0002f188 lw v1, (s2)                   |     v1 = *(s2);
    0x0002f18c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0002f190 move v0, s1                   |     v0 = s1;
                                             |     if (a0 == v1) {
    0x0002f194 bne a0, v1, 0x2f1e4           |         
    0x0002f198 lw ra, 0x74(sp)               |         ra = *(var_74h);
    0x0002f19c lw s4, 0x70(sp)               |         s4 = *(var_70h);
    0x0002f1a0 lw s3, 0x6c(sp)               |         s3 = *(var_6ch);
    0x0002f1a4 lw s2, 0x68(sp)               |         s2 = *(var_68h);
    0x0002f1a8 lw s1, 0x64(sp)               |         s1 = *(var_64h);
    0x0002f1ac lw s0, 0x60(sp)               |         s0 = *(var_60h);
    0x0002f1b0 addiu sp, sp, 0x78            |         
    0x0002f1b4 jr ra                         |         return v0;
                                             | label_74:
    0x0002f1b8 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0002f1bc lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x0002f1c0 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
                                             |         /* str.handle_scsi_hyperv */
    0x0002f1c4 addiu v0, v0, -0x33c          |         v0 += -aav.0x0000033c;
    0x0002f1c8 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
    0x0002f1cc sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0002f1d0 addiu a3, zero, 0x170         |         a3 = aav.0x00000170;
                                             |         /* esilref: 'src/udev/udev-builtin-path_id.c' */
    0x0002f1d4 addiu a2, a2, -0x6d5          |         a2 += -0x6d5;
                                             |         /* str.parent */
    0x0002f1d8 addiu a1, a1, -0x5944         |         a1 += -aav.0x00005944;
    0x0002f1dc addiu a0, zero, 1             |         a0 = 1;
    0x0002f1e0 jalr t9                       |         t9 ();
                                             |     }
    0x0002f1e4 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0002f1e8 jalr t9                       |     t9 ();
    0x0002f1ec nop                           |     
    0x0002f1f0 lui gp, 9                     |     
    0x0002f1f4 addiu gp, gp, 0x7f80          |     
    0x0002f1f8 addu gp, gp, t9               |     gp += t9;
    0x0002f1fc addiu sp, sp, -0x48           |     
    0x0002f200 sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x0002f204 lw s4, -0x71f0(gp)            |     s4 = *((gp - 7292));
    0x0002f208 sw gp, 0x18(sp)               |     *(var_18h_3) = gp;
    0x0002f20c sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0002f210 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x0002f214 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x0002f218 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x0002f21c sw s0, 0x30(sp)               |     *(var_30h_2) = s0;
    0x0002f220 lw v0, (s4)                   |     v0 = *(s4);
    0x0002f224 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x0002f228 move s2, a1                   |     s2 = a1;
                                             |     if (a0 == 0) {
    0x0002f22c beqz a0, 0x2f2c0              |         goto label_77;
                                             |     }
    0x0002f230 sw a0, 0x24(sp)               |     *(var_24h_5) = a0;
    0x0002f234 move s0, a0                   |     s0 = a0;
    0x0002f238 addiu s1, sp, 0x28            |     s1 = sp + 0x28;
    0x0002f23c addiu s3, sp, 0x24            |     s3 = sp + 0x24;
    0x0002f240 b 0x2f27c                     |     
                                             |     while (v0 >= 0) {
    0x0002f244 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
    0x0002f248 lw a0, 0x28(sp)               |         a0 = *(var_28h_3);
    0x0002f24c move a1, s2                   |         a1 = s2;
    0x0002f250 jalr t9                       |         t9 ();
    0x0002f254 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
                                             |         if (v0 != 0) {
    0x0002f258 bnez v0, 0x2f290              |             goto label_78;
                                             |         }
    0x0002f25c lw s0, 0x24(sp)               |         s0 = *(var_24h_5);
    0x0002f260 lw t9, -0x7ed8(gp)            |         t9 = sym.sd_device_get_parent;
    0x0002f264 move a1, s3                   |         a1 = s3;
    0x0002f268 move a0, s0                   |         a0 = s0;
    0x0002f26c bal 0x4a720                   |         sym_sd_device_get_parent ();
    0x0002f270 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
                                             |         if (v0 < 0) {
    0x0002f274 bltz v0, 0x2f290              |             goto label_78;
                                             |         }
    0x0002f278 lw a0, 0x24(sp)               |         a0 = *(var_24h_5);
    0x0002f27c lw t9, -0x7f74(gp)            |         t9 = sym.sd_device_get_subsystem;
    0x0002f280 move a1, s1                   |         a1 = s1;
    0x0002f284 bal 0x4bb18                   |         sym_sd_device_get_subsystem ();
    0x0002f288 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
    0x0002f28c bgez v0, 0x2f244              |         
                                             |     }
                                             | label_78:
    0x0002f290 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_2);
    0x0002f294 lw v1, (s4)                   |     v1 = *(s4);
    0x0002f298 move v0, s0                   |     v0 = s0;
                                             |     if (a0 == v1) {
    0x0002f29c bne a0, v1, 0x2f2ec           |         
    0x0002f2a0 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0002f2a4 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0002f2a8 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0002f2ac lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0002f2b0 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0002f2b4 lw s0, 0x30(sp)               |         s0 = *(var_30h_2);
    0x0002f2b8 addiu sp, sp, 0x48            |         
    0x0002f2bc jr ra                         |         return v0;
                                             | label_77:
    0x0002f2c0 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0002f2c4 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x0002f2c8 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
                                             |         /* str.skip_subsystem */
    0x0002f2cc addiu v0, v0, -0x37c          |         v0 += -0x37c;
    0x0002f2d0 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
    0x0002f2d4 sw v0, 0x10(sp)               |         *(var_10h_3) = v0;
    0x0002f2d8 addiu a3, zero, 0x54          |         a3 = 0x54;
                                             |         /* esilref: 'src/udev/udev-builtin-path_id.c' */
    0x0002f2dc addiu a2, a2, -0x6d5          |         a2 += -0x6d5;
                                             |         /* esilref: 'dev' */
    0x0002f2e0 addiu a1, a1, 0x42ec          |         a1 += 0x42ec;
    0x0002f2e4 addiu a0, zero, 1             |         a0 = 1;
    0x0002f2e8 jalr t9                       |         t9 ();
                                             |     }
    0x0002f2ec lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0002f2f0 jalr t9                       |     t9 ();
    0x0002f2f4 nop                           |     
    0x0002f2f8 lui gp, 9                     |     
    0x0002f2fc addiu gp, gp, 0x7e78          |     
    0x0002f300 addu gp, gp, t9               |     gp += t9;
    0x0002f304 addiu sp, sp, -0x80           |     
    0x0002f308 sw s3, 0x68(sp)               |     *(var_68h_2) = s3;
    0x0002f30c lw s3, -0x71f0(gp)            |     s3 = *((gp - 7292));
    0x0002f310 sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x0002f314 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x0002f318 sw s6, 0x74(sp)               |     *(var_74h_2) = s6;
    0x0002f31c sw s5, 0x70(sp)               |     *(var_70h_2) = s5;
    0x0002f320 sw s4, 0x6c(sp)               |     *(var_6ch_2) = s4;
    0x0002f324 sw s2, 0x64(sp)               |     *(var_64h_2) = s2;
    0x0002f328 sw s1, 0x60(sp)               |     *(var_60h_2) = s1;
    0x0002f32c sw s0, 0x5c(sp)               |     *(var_5ch_2) = s0;
    0x0002f330 sw gp, 0x18(sp)               |     *(var_18h_4) = gp;
    0x0002f334 move fp, sp                   |     fp = sp;
    0x0002f338 lw v0, (s3)                   |     v0 = *(s3);
    0x0002f33c sw zero, 0x28(fp)             |     *(var_28h_5) = 0;
    0x0002f340 sw v0, 0x54(fp)               |     *(var_54h_4) = v0;
    0x0002f344 sw zero, 0x2c(fp)             |     *(var_2ch_6) = 0;
    0x0002f348 sw zero, 0x3c(fp)             |     *(var_3ch_4) = 0;
                                             |     if (a0 == 0) {
    0x0002f34c beqz a0, 0x2f5f4              |         goto label_79;
                                             |     }
    0x0002f350 lw t9, -0x7ed8(gp)            |     t9 = sym.sd_device_get_parent;
    0x0002f354 addiu s5, fp, 0x24            |     s5 = fp + 0x24;
    0x0002f358 lw s1, -0x7fc4(gp)            |     s1 = *(gp);
    0x0002f35c move s4, a1                   |     s4 = a1;
    0x0002f360 sw a0, 0x24(fp)               |     *(var_24h_8) = a0;
    0x0002f364 move a1, s5                   |     a1 = s5;
    0x0002f368 move s2, a0                   |     s2 = a0;
    0x0002f36c bal 0x4a720                   |     sym_sd_device_get_parent ();
    0x0002f370 addiu s6, fp, 0x40            |     s6 = fp + 0x40;
                                             |     /* str.session */
    0x0002f374 addiu s1, s1, -0x658          |     s1 += -0x658;
    0x0002f378 lw gp, 0x18(fp)               |     gp = *(var_18h_4);
                                             |     if (v0 < 0) {
    0x0002f37c bltz v0, 0x2f3dc              |         goto label_2;
                                             |     }
                                             |     do {
    0x0002f380 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x0002f384 lw a0, 0x24(fp)               |         a0 = *(var_24h_8);
    0x0002f388 move a1, s6                   |         a1 = s6;
    0x0002f38c bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x0002f390 lw gp, 0x18(fp)               |         gp = *(var_18h_4);
                                             |         if (v0 < 0) {
    0x0002f394 bltz v0, 0x2f3dc              |             goto label_2;
                                             |         }
    0x0002f398 lw s0, 0x40(fp)               |         s0 = *(var_40h_5);
    0x0002f39c lw t9, -0x74c8(gp)            |         t9 = sym.imp.strncmp;
    0x0002f3a0 addiu a2, zero, 7             |         a2 = 7;
    0x0002f3a4 move a1, s1                   |         a1 = s1;
    0x0002f3a8 move a0, s0                   |         a0 = s0;
    0x0002f3ac jalr t9                       |         t9 ();
    0x0002f3b0 lw gp, 0x18(fp)               |         gp = *(var_18h_4);
                                             |         if (v0 == 0) {
    0x0002f3b4 bnez v0, 0x2f3c4              |             
    0x0002f3b8 addiu v0, s0, 7               |             v0 = s0 + 7;
    0x0002f3bc lw a1, -0x7fc4(gp)            |             a1 = *(gp);
                                             |             if (v0 != 0) {
    0x0002f3c0 bnez v0, 0x2f460              |                 goto label_80;
                                             |             }
                                             |         }
    0x0002f3c4 lw t9, -0x7ed8(gp)            |         t9 = sym.sd_device_get_parent;
    0x0002f3c8 lw a0, 0x24(fp)               |         a0 = *(var_24h_8);
    0x0002f3cc move a1, s5                   |         a1 = s5;
    0x0002f3d0 bal 0x4a720                   |         sym_sd_device_get_parent ();
    0x0002f3d4 lw gp, 0x18(fp)               |         gp = *(var_18h_4);
    0x0002f3d8 bgez v0, 0x2f380              |         
                                             |     } while (v0 >= 0);
                                             |     do {
                                             | label_2:
    0x0002f3dc move s2, zero                 |         s2 = 0;
                                             | label_3:
    0x0002f3e0 lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x0002f3e4 lw a0, 0x3c(fp)               |         a0 = *(var_3ch_4);
    0x0002f3e8 jalr t9                       |         t9 ();
    0x0002f3ec lw a0, 0x2c(fp)               |         a0 = *(var_2ch_6);
    0x0002f3f0 lw gp, 0x18(fp)               |         gp = *(var_18h_4);
                                             |         if (a0 != 0) {
    0x0002f3f4 beqz a0, 0x2f408              |             
    0x0002f3f8 lw t9, -0x7fdc(gp)            |             t9 = sym.sd_device_unref;
    0x0002f3fc bal 0x48690                   |             sym_sd_device_unref ();
    0x0002f400 nop                           |             
    0x0002f404 lw gp, 0x18(fp)               |             gp = *(var_18h_4);
                                             |         }
    0x0002f408 lw a0, 0x28(fp)               |         a0 = *(var_28h_5);
    0x0002f40c lw t9, -0x7fdc(gp)            |         t9 = sym.sd_device_unref;
                                             |         if (a0 != 0) {
    0x0002f410 beqz a0, 0x2f420              |             
    0x0002f414 bal 0x48690                   |             sym_sd_device_unref ();
    0x0002f418 nop                           |             
    0x0002f41c lw gp, 0x18(fp)               |             gp = *(var_18h_4);
                                             |         }
    0x0002f420 lw a0, 0x54(fp)               |         a0 = *(var_54h_4);
    0x0002f424 lw v1, (s3)                   |         v1 = *(s3);
    0x0002f428 move v0, s2                   |         v0 = s2;
                                             |         if (a0 != v1) {
    0x0002f42c bne a0, v1, 0x2f64c           |             goto label_81;
                                             |         }
    0x0002f430 move sp, fp                   |         
    0x0002f434 lw ra, 0x7c(sp)               |         ra = *(var_7ch);
    0x0002f438 lw fp, 0x78(sp)               |         fp = *(var_78h);
    0x0002f43c lw s6, 0x74(sp)               |         s6 = *(var_74h_2);
    0x0002f440 lw s5, 0x70(sp)               |         s5 = *(var_70h_2);
    0x0002f444 lw s4, 0x6c(sp)               |         s4 = *(var_6ch_2);
    0x0002f448 lw s3, 0x68(sp)               |         s3 = *(var_68h_2);
    0x0002f44c lw s2, 0x64(sp)               |         s2 = *(var_64h_2);
    0x0002f450 lw s1, 0x60(sp)               |         s1 = *(var_60h_2);
    0x0002f454 lw s0, 0x5c(sp)               |         s0 = *(var_5ch_2);
    0x0002f458 addiu sp, sp, 0x80            |         
    0x0002f45c jr ra                         |         return v0;
                                             | label_80:
    0x0002f460 lw t9, -0x7b84(gp)            |         t9 = sym.sd_device_new_from_subsystem_sysname;
    0x0002f464 move a2, s0                   |         a2 = s0;
                                             |         /* str.iscsi_session */
    0x0002f468 addiu a1, a1, -0x650          |         a1 += -aav.0x00000650;
    0x0002f46c addiu a0, fp, 0x28            |         a0 = fp + 0x28;
    0x0002f470 bal 0x494bc                   |         sym_sd_device_new_from_subsystem_sysname ();
    0x0002f474 lw gp, 0x18(fp)               |         gp = *(var_18h_4);
    0x0002f478 bltz v0, 0x2f3dc              |         
                                             |     } while (v0 < 0);
    0x0002f47c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f480 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x0002f484 lw a0, 0x28(fp)               |     a0 = *(var_28h_5);
    0x0002f488 addiu a2, fp, 0x30            |     a2 = fp + 0x30;
                                             |     /* str.targetname */
    0x0002f48c addiu a1, a1, -0x640          |     a1 += -0x640;
    0x0002f490 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x0002f494 lw gp, 0x18(fp)               |     gp = *(var_18h_4);
                                             |     if (v0 < 0) {
    0x0002f498 bltz v0, 0x2f3dc              |         goto label_2;
                                             |     }
    0x0002f49c lw t9, -0x7d28(gp)            |     t9 = sym.sd_device_get_sysnum;
    0x0002f4a0 lw a0, 0x24(fp)               |     a0 = *(var_24h_8);
    0x0002f4a4 addiu a1, fp, 0x44            |     a1 = fp + 0x44;
    0x0002f4a8 bal 0x4c6a8                   |     sym_sd_device_get_sysnum ();
    0x0002f4ac lw gp, 0x18(fp)               |     gp = *(var_18h_4);
                                             |     if (v0 < 0) {
    0x0002f4b0 bltz v0, 0x2f3dc              |         goto label_2;
                                             |     }
    0x0002f4b4 lw v0, 0x44(fp)               |     v0 = *(var_44h_5);
    0x0002f4b8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x0002f4bc beqz v0, 0x2f3dc              |         goto label_2;
                                             |     }
    0x0002f4c0 move a0, v0                   |     a0 = v0;
    0x0002f4c4 sw v0, 0x4c(fp)               |     *(var_4ch_4) = v0;
    0x0002f4c8 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0002f4cc lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
                                             |     /* str.connection */
    0x0002f4d0 addiu s0, a1, -0x664          |     s0 = a1 + -0x664;
                                             |     /* esilref: ':0' */
    0x0002f4d4 addiu v0, v0, -0x634          |     v0 += -0x634;
    0x0002f4d8 sw s0, 0x48(fp)               |     *(var_48h_4) = s0;
    0x0002f4dc sw v0, 0x50(fp)               |     *(var_50h_4) = v0;
    0x0002f4e0 jalr t9                       |     t9 ();
    0x0002f4e4 lui a0, 0x40                  |     a0 = 0x400000;
    0x0002f4e8 addiu v1, v0, 0xd             |     v1 = v0 + 0xd;
    0x0002f4ec addiu a0, a0, 1               |     a0++;
    0x0002f4f0 sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x0002f4f4 lw gp, 0x18(fp)               |     gp = *(var_18h_4);
                                             |     if (v1 == 0) {
    0x0002f4f8 beqz v1, 0x2f620              |         goto label_82;
                                             |     }
    0x0002f4fc addiu v0, v0, 0x14            |     v0 += 0x14;
    0x0002f500 srl v0, v0, 3                 |     v0 >>= 3;
    0x0002f504 sll v0, v0, 3                 |     v0 <<= 3;
    0x0002f508 subu sp, sp, v0               |     
    0x0002f50c addiu s6, sp, 0x18            |     s6 = sp + 0x18;
    0x0002f510 addiu s1, fp, 0x48            |     s1 = fp + 0x48;
    0x0002f514 addiu s5, fp, 0x50            |     s5 = fp + 0x50;
    0x0002f518 move v0, s6                   |     v0 = s6;
    0x0002f51c move a1, s0                   |     a1 = s0;
    0x0002f520 lw t9, -0x722c(gp)            |     t9 = sym.imp.stpcpy;
                                             |     do {
    0x0002f524 move a0, v0                   |         a0 = v0;
    0x0002f528 jalr t9                       |         t9 ();
    0x0002f52c lw gp, 0x18(fp)               |         gp = *(var_18h_4);
                                             |         if (s1 == s5) {
    0x0002f530 beq s1, s5, 0x2f544           |             goto label_83;
                                             |         }
    0x0002f534 addiu s1, s1, 4               |         s1 += 4;
    0x0002f538 lw a1, (s1)                   |         a1 = *(s1);
    0x0002f53c lw t9, -0x722c(gp)            |         t9 = sym.imp.stpcpy;
    0x0002f540 bnez a1, 0x2f524              |         
                                             |     } while (a1 != 0);
                                             | label_83:
    0x0002f544 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f548 lw t9, -0x7b84(gp)            |     t9 = sym.sd_device_new_from_subsystem_sysname;
    0x0002f54c move a2, s6                   |     a2 = s6;
                                             |     /* str.iscsi_connection */
    0x0002f550 addiu a1, a1, -0x630          |     a1 += -0x630;
    0x0002f554 addiu a0, fp, 0x2c            |     a0 = fp + 0x2c;
    0x0002f558 bal 0x494bc                   |     sym_sd_device_new_from_subsystem_sysname ();
    0x0002f55c lw gp, 0x18(fp)               |     gp = *(var_18h_4);
                                             |     if (v0 < 0) {
    0x0002f560 bltz v0, 0x2f3dc              |         goto label_2;
                                             |     }
    0x0002f564 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f568 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x0002f56c lw a0, 0x2c(fp)               |     a0 = *(var_2ch_6);
    0x0002f570 addiu a2, fp, 0x34            |     a2 = fp + 0x34;
                                             |     /* str.persistent_address */
    0x0002f574 addiu a1, a1, -0x61c          |     a1 += -0x61c;
    0x0002f578 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x0002f57c lw gp, 0x18(fp)               |     gp = *(var_18h_4);
                                             |     if (v0 < 0) {
    0x0002f580 bltz v0, 0x2f3dc              |         goto label_2;
                                             |     }
    0x0002f584 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f588 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x0002f58c lw a0, 0x2c(fp)               |     a0 = *(var_2ch_6);
    0x0002f590 addiu a2, fp, 0x38            |     a2 = fp + 0x38;
                                             |     /* str.persistent_port */
    0x0002f594 addiu a1, a1, -0x608          |     a1 += -0x608;
    0x0002f598 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x0002f59c lw gp, 0x18(fp)               |     gp = *(var_18h_4);
                                             |     if (v0 < 0) {
    0x0002f5a0 bltz v0, 0x2f3dc              |         goto label_2;
                                             |     }
    0x0002f5a4 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x0002f5a8 addiu a1, fp, 0x3c            |     a1 = fp + 0x3c;
                                             |     /* fcn.0002ef24 */
    0x0002f5ac addiu t9, t9, -0x10dc         |     t9 += -0x10dc;
    0x0002f5b0 move a0, s2                   |     a0 = s2;
    0x0002f5b4 bal 0x2ef24                   |     fcn_0002ef24 ();
                                             |     goto label_1;
    0x0002f5b8 lw gp, 0x18(fp)               |     gp = *(var_18h_4);
    0x0002f5bc lw v0, 0x3c(fp)               |     v0 = *(var_3ch_4);
    0x0002f5c0 lw a3, 0x38(fp)               |     a3 = *(var_38h_4);
    0x0002f5c4 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f5c8 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x0002f5cc sw v0, 0x14(sp)               |     *(var_14h_4) = v0;
    0x0002f5d0 lw v0, 0x30(fp)               |     v0 = *(var_30h_8);
    0x0002f5d4 lw a2, 0x34(fp)               |     a2 = *(var_34h_5);
    0x0002f5d8 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
                                             |     /* str.ip__s:_s_iscsi__s__s */
    0x0002f5dc addiu a1, a1, -0x5f8          |     a1 += -0x5f8;
                                             |     /* fcn.0002ede4 */
    0x0002f5e0 addiu t9, t9, -0x121c         |     t9 += -0x121c;
    0x0002f5e4 move a0, s4                   |     a0 = s4;
    0x0002f5e8 bal 0x2ede4                   |     fcn_0002ede4 ();
    0x0002f5ec lw gp, 0x18(fp)               |     gp = *(var_18h_4);
    0x0002f5f0 b 0x2f3e0                     |     goto label_3;
                                             | label_79:
    0x0002f5f4 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0002f5f8 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0002f5fc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.handle_scsi_iscsi */
    0x0002f600 addiu v0, v0, -0x318          |     v0 += -aav.0x00000318;
    0x0002f604 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x0002f608 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x0002f60c addiu a3, zero, 0xdc          |     a3 = 0xdc;
                                             |     /* esilref: 'src/udev/udev-builtin-path_id.c' */
    0x0002f610 addiu a2, a2, -0x6d5          |     a2 += -0x6d5;
                                             |     /* str.parent */
    0x0002f614 addiu a1, a1, -0x5944         |     a1 += -aav.0x00005944;
    0x0002f618 addiu a0, zero, 1             |     a0 = 1;
    0x0002f61c jalr t9                       |     t9 ();
                                             | label_82:
    0x0002f620 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0002f624 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0002f628 lw a1, -0x7fd0(gp)            |     a1 = *(gp);
                                             |     /* str.handle_scsi_iscsi */
    0x0002f62c addiu v0, v0, -0x318          |     v0 += -aav.0x00000318;
    0x0002f630 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x0002f634 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x0002f638 addiu a3, zero, 0xf3          |     a3 = 0xf3;
                                             |     /* esilref: 'src/udev/udev-builtin-path_id.c' */
    0x0002f63c addiu a2, a2, -0x6d5          |     a2 += -0x6d5;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x0002f640 addiu a1, a1, 0x7c64          |     a1 += 0x7c64;
    0x0002f644 addiu a0, zero, 1             |     a0 = 1;
    0x0002f648 jalr t9                       |     t9 ();
                                             | label_81:
    0x0002f64c lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0002f650 jalr t9                       |     t9 ();
    0x0002f654 nop                           |     
    0x0002f658 lui gp, 9                     |     
    0x0002f65c addiu gp, gp, 0x7b18          |     
    0x0002f660 addu gp, gp, t9               |     gp += t9;
    0x0002f664 addiu sp, sp, -0x78           |     
    0x0002f668 sw s0, 0x50(sp)               |     *(var_50h) = s0;
    0x0002f66c lw s0, -0x71f0(gp)            |     s0 = *((gp - 7292));
    0x0002f670 sw fp, 0x70(sp)               |     *(var_70h_3) = fp;
    0x0002f674 sw ra, 0x74(sp)               |     *(var_74h_3) = ra;
    0x0002f678 sw s7, 0x6c(sp)               |     *(var_6ch_3) = s7;
    0x0002f67c sw s6, 0x68(sp)               |     *(var_68h_3) = s6;
    0x0002f680 sw s5, 0x64(sp)               |     *(var_64h_3) = s5;
    0x0002f684 sw s4, 0x60(sp)               |     *(var_60h_3) = s4;
    0x0002f688 sw s3, 0x5c(sp)               |     *(var_5ch_3) = s3;
    0x0002f68c sw s2, 0x58(sp)               |     *(var_58h) = s2;
    0x0002f690 sw s1, 0x54(sp)               |     *(var_54h) = s1;
    0x0002f694 sw gp, 0x18(sp)               |     *(var_18h_5) = gp;
    0x0002f698 move fp, sp                   |     fp = sp;
    0x0002f69c lw v0, (s0)                   |     v0 = *(s0);
    0x0002f6a0 sw v0, 0x4c(fp)               |     *(var_4ch_3) = v0;
    0x0002f6a4 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     if (a0 == 0) {
    0x0002f6a8 beqz a0, 0x2f934              |         goto label_84;
                                             |     }
    0x0002f6ac move s5, a1                   |     s5 = a1;
    0x0002f6b0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f6b4 lw t9, -0x7b94(gp)            |     t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x0002f6b8 addiu a3, fp, 0x2c            |     a3 = fp + 0x2c;
                                             |     /* str.scsi_host */
    0x0002f6bc addiu a2, a2, -0x690          |     a2 += -0x690;
                                             |     /* str.scsi */
    0x0002f6c0 addiu a1, a1, -0x684          |     a1 += -0x684;
    0x0002f6c4 move s1, a0                   |     s1 = a0;
    0x0002f6c8 bal 0x4c154                   |     sym_sd_device_get_parent_with_subsystem_devtype ();
    0x0002f6cc lw gp, 0x18(fp)               |     gp = *(var_18h_5);
                                             |     if (v0 < 0) {
    0x0002f6d0 bltz v0, 0x2f8ec              |         goto label_85;
                                             |     }
    0x0002f6d4 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x0002f6d8 addiu a1, fp, 0x40            |     a1 = fp + 0x40;
    0x0002f6dc move a0, s1                   |     a0 = s1;
    0x0002f6e0 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x0002f6e4 lw gp, 0x18(fp)               |     gp = *(var_18h_5);
                                             |     if (v0 < 0) {
    0x0002f6e8 bltz v0, 0x2f8ec              |         goto label_85;
                                             |     }
    0x0002f6ec lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002f6f0 addiu v0, fp, 0x3c            |     v0 = fp + 0x3c;
    0x0002f6f4 lw t9, -0x7458(gp)            |     t9 = sym.imp.sscanf;
    0x0002f6f8 sw v0, 0x14(sp)               |     *(var_14h_3) = v0;
    0x0002f6fc lw a0, 0x40(fp)               |     a0 = *(var_40h_4);
    0x0002f700 addiu v0, fp, 0x38            |     v0 = fp + 0x38;
    0x0002f704 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x0002f708 addiu a3, fp, 0x34            |     a3 = fp + 0x34;
    0x0002f70c addiu a2, fp, 0x30            |     a2 = fp + 0x30;
                                             |     /* str._d:_d:_d:_d */
    0x0002f710 addiu a1, a1, -0x5e0          |     a1 += -0x5e0;
    0x0002f714 jalr t9                       |     t9 ();
    0x0002f718 addiu v1, zero, 4             |     v1 = 4;
    0x0002f71c lw gp, 0x18(fp)               |     gp = *(var_18h_5);
                                             |     if (v0 != v1) {
    0x0002f720 bne v0, v1, 0x2f8ec           |         goto label_85;
                                             |     }
    0x0002f724 lw t9, -0x7f70(gp)            |     t9 = sym.sd_device_get_syspath;
    0x0002f728 lw a0, 0x2c(fp)               |     a0 = *(var_2ch_7);
    0x0002f72c addiu a1, fp, 0x44            |     a1 = fp + 0x44;
    0x0002f730 bal 0x4a62c                   |     sym_sd_device_get_syspath ();
    0x0002f734 lw gp, 0x18(fp)               |     gp = *(var_18h_5);
                                             |     if (v0 < 0) {
    0x0002f738 bltz v0, 0x2f8ec              |         goto label_85;
                                             |     }
    0x0002f73c lw s1, 0x44(fp)               |     s1 = *(var_44h_4);
    0x0002f740 lw t9, -0x7444(gp)            |     t9 = sym.imp.strrchr;
    0x0002f744 addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x0002f748 move a0, s1                   |     a0 = s1;
    0x0002f74c jalr t9                       |     t9 ();
    0x0002f750 lw gp, 0x18(fp)               |     gp = *(var_18h_5);
                                             |     if (v0 == 0) {
    0x0002f754 beqz v0, 0x2f8ec              |         goto label_85;
                                             |     }
    0x0002f758 lw t9, -0x7404(gp)            |     t9 = sym.imp.strnlen;
    0x0002f75c subu a1, v0, s1               |     __asm ("subu a1, v0, s1");
    0x0002f760 move a0, s1                   |     a0 = s1;
    0x0002f764 jalr t9                       |     t9 ();
    0x0002f768 addiu v1, v0, 8               |     v1 = v0 + 8;
    0x0002f76c srl v1, v1, 3                 |     v1 >>= 3;
    0x0002f770 sll v1, v1, 3                 |     v1 <<= 3;
    0x0002f774 lw gp, 0x18(fp)               |     gp = *(var_18h_5);
    0x0002f778 subu sp, sp, v1               |     
    0x0002f77c addiu a0, sp, 0x18            |     a0 = sp + 0x18;
    0x0002f780 addu v1, a0, v0               |     v1 = a0 + v0;
    0x0002f784 lw t9, -0x71e8(gp)            |     t9 = sym.imp.memcpy;
    0x0002f788 move a1, s1                   |     a1 = s1;
    0x0002f78c move a2, v0                   |     a2 = v0;
    0x0002f790 sb zero, (v1)                 |     *(v1) = 0;
    0x0002f794 jalr t9                       |     t9 ();
    0x0002f798 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0002f79c move a0, v0                   |     a0 = v0;
    0x0002f7a0 lw t9, -0x7524(gp)            |     t9 = *((gp - 7497));
    0x0002f7a4 sw v0, 0x44(fp)               |     *(arg_44h) = v0;
    0x0002f7a8 jalr t9                       |     t9 ();
    0x0002f7ac move s1, v0                   |     s1 = v0;
    0x0002f7b0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x0002f7b4 beqz v0, 0x2f8ec              |         goto label_85;
                                             |     }
    0x0002f7b8 lw t9, -0x73b8(gp)            |     t9 = sym.imp.__errno_location;
    0x0002f7bc jalr t9                       |     t9 ();
    0x0002f7c0 nop                           |     
    0x0002f7c4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0002f7c8 sw zero, (v0)                 |     *(v0) = 0;
    0x0002f7cc move a0, s1                   |     a0 = s1;
    0x0002f7d0 lw t9, -0x7498(gp)            |     t9 = sym.imp.readdir64;
    0x0002f7d4 move s2, v0                   |     s2 = v0;
    0x0002f7d8 jalr t9                       |     t9 ();
    0x0002f7dc move s6, v0                   |     s6 = v0;
    0x0002f7e0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x0002f7e4 beqz v0, 0x2f8d4              |         goto label_86;
                                             |     }
    0x0002f7e8 lw s7, -0x7fc4(gp)            |     s7 = *(gp);
    0x0002f7ec addiu s3, zero, -1            |     s3 = -1;
                                             |     /* str.host */
    0x0002f7f0 addiu v0, s7, -0x5d4          |     v0 = s7 + -0x5d4;
    0x0002f7f4 addiu s4, zero, 0x2e          |     s4 = 0x2e;
    0x0002f7f8 sw v0, 0x24(fp)               |     *(arg_24h) = v0;
    0x0002f7fc addiu s7, fp, 0x48            |     s7 = fp + 0x48;
                                             |     do {
    0x0002f800 lb v0, 0x13(s6)               |         v0 = *((s6 + 19));
    0x0002f804 addiu v1, zero, 4             |         v1 = 4;
                                             |         if (v0 != s4) {
    0x0002f808 beq v0, s4, 0x2f870           |             
    0x0002f80c lbu v0, 0x12(s6)              |             v0 = *((s6 + 18));
    0x0002f810 addiu a0, zero, 0xa           |             a0 = 0xa;
                                             |             if (v0 != v1) {
    0x0002f814 beq v0, v1, 0x2f820           |                 
    0x0002f818 lw t9, -0x7498(gp)            |                 t9 = sym.imp.readdir64;
                                             |                 if (v0 != a0) {
    0x0002f81c bne v0, a0, 0x2f874           |                     goto label_87;
                                             |                 }
                                             |             }
    0x0002f820 lw t9, -0x74c8(gp)            |             t9 = sym.imp.strncmp;
    0x0002f824 lw a1, 0x24(fp)               |             a1 = *(var_24h_7);
    0x0002f828 addiu a2, zero, 4             |             a2 = 4;
    0x0002f82c addiu a0, s6, 0x13            |             a0 = s6 + 0x13;
    0x0002f830 jalr t9                       |             t9 ();
    0x0002f834 lw gp, 0x18(fp)               |             gp = *(var_18h_5);
                                             |             if (v0 != 0) {
    0x0002f838 bnez v0, 0x2f870              |                 goto label_4;
                                             |             }
    0x0002f83c lw t9, -0x7328(gp)            |             t9 = sym.imp.strtoul;
    0x0002f840 addiu a2, zero, 0xa           |             a2 = 0xa;
    0x0002f844 move a1, s7                   |             a1 = s7;
    0x0002f848 addiu a0, s6, 0x17            |             a0 = s6 + 0x17;
    0x0002f84c jalr t9                       |             t9 ();
    0x0002f850 lw v1, 0x48(fp)               |             v1 = *(var_48h_3);
    0x0002f854 lb v1, (v1)                   |             v1 = *(v1);
    0x0002f858 lw gp, 0x18(fp)               |             gp = *(var_18h_5);
                                             |             if (v1 != 0) {
    0x0002f85c bnez v1, 0x2f870              |                 goto label_4;
                                             |             }
    0x0002f860 addiu v1, zero, -1            |             v1 = -1;
    0x0002f864 slt v1, v0, s3                |             v1 = (v0 < s3) ? 1 : 0;
                                             |             if (s3 == v1) {
    0x0002f868 beq s3, v1, 0x2f960           |                 goto label_88;
                                             |             }
                                             |             if (v1 != 0) {
    0x0002f86c movn s3, v0, v1               |                 s3 = v0;
                                             |                 goto label_4;
                                             |             }
                                             |         }
                                             | label_4:
    0x0002f870 lw t9, -0x7498(gp)            |         t9 = sym.imp.readdir64;
                                             | label_87:
    0x0002f874 sw zero, (s2)                 |         *(s2) = 0;
    0x0002f878 move a0, s1                   |         a0 = s1;
    0x0002f87c jalr t9                       |         t9 ();
    0x0002f880 move s6, v0                   |         s6 = v0;
    0x0002f884 lw gp, 0x18(fp)               |         gp = *(var_18h_5);
    0x0002f888 bnez v0, 0x2f800              |         
                                             |     } while (v0 != 0);
    0x0002f88c addiu v0, zero, -1            |     v0 = -1;
    0x0002f890 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     if (s3 != v0) {
    0x0002f894 beq s3, v0, 0x2f8d4           |         
    0x0002f898 lw v0, 0x30(fp)               |         v0 = *(var_30h_7);
    0x0002f89c subu s3, v0, s3               |         __asm ("subu s3, v0, s3");
    0x0002f8a0 lw v0, 0x3c(fp)               |         v0 = *(var_3ch_5);
    0x0002f8a4 lw t9, -0x7b90(gp)            |         t9 = *(gp);
    0x0002f8a8 sw v0, 0x14(sp)               |         *(var_14h_3) = v0;
    0x0002f8ac lw v0, 0x38(fp)               |         v0 = *(var_38h_3);
    0x0002f8b0 lw a3, 0x34(fp)               |         a3 = *(var_34h_4);
    0x0002f8b4 sw v0, 0x10(sp)               |         *(var_10h_5) = v0;
    0x0002f8b8 move a2, s3                   |         a2 = s3;
                                             |         /* str.scsi__u:_u:_u:_u */
    0x0002f8bc addiu a1, a1, -0x5cc          |         a1 += -0x5cc;
    0x0002f8c0 move a0, s5                   |         a0 = s5;
                                             |         /* fcn.0002ede4 */
    0x0002f8c4 addiu t9, t9, -0x121c         |         t9 += -0x121c;
    0x0002f8c8 sw s3, 0x30(fp)               |         *(var_30h_7) = s3;
    0x0002f8cc bal 0x2ede4                   |         fcn_0002ede4 ();
    0x0002f8d0 lw gp, 0x18(fp)               |         gp = *(var_18h_5);
                                             |     }
                                             | label_86:
    0x0002f8d4 lw t9, -0x751c(gp)            |     t9 = sym.imp.closedir;
    0x0002f8d8 move a0, s1                   |     a0 = s1;
    0x0002f8dc lw s2, 0x2c(fp)               |     s2 = *(var_2ch_7);
    0x0002f8e0 jalr t9                       |     t9 ();
    0x0002f8e4 lw gp, 0x18(fp)               |     gp = *(var_18h_5);
    0x0002f8e8 b 0x2f8f0                     |     goto label_89;
                                             | label_85:
    0x0002f8ec move s2, zero                 |     s2 = 0;
                                             | label_89:
    0x0002f8f0 lw a0, 0x4c(fp)               |     a0 = *(var_4ch_3);
    0x0002f8f4 lw v1, (s0)                   |     v1 = *(s0);
    0x0002f8f8 move v0, s2                   |     v0 = s2;
                                             |     if (a0 == v1) {
    0x0002f8fc bne a0, v1, 0x2f968           |         
    0x0002f900 move sp, fp                   |         
    0x0002f904 lw ra, 0x74(sp)               |         ra = *(var_74h_3);
    0x0002f908 lw fp, 0x70(sp)               |         fp = *(var_70h_3);
    0x0002f90c lw s7, 0x6c(sp)               |         s7 = *(var_6ch_3);
    0x0002f910 lw s6, 0x68(sp)               |         s6 = *(var_68h_3);
    0x0002f914 lw s5, 0x64(sp)               |         s5 = *(var_64h_3);
    0x0002f918 lw s4, 0x60(sp)               |         s4 = *(var_60h_3);
    0x0002f91c lw s3, 0x5c(sp)               |         s3 = *(var_5ch_3);
    0x0002f920 lw s2, 0x58(sp)               |         s2 = *(var_58h);
    0x0002f924 lw s1, 0x54(sp)               |         s1 = *(var_54h);
    0x0002f928 lw s0, 0x50(sp)               |         s0 = *(var_50h);
    0x0002f92c addiu sp, sp, 0x78            |         
    0x0002f930 jr ra                         |         return v0;
                                             | label_84:
    0x0002f934 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x0002f938 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x0002f93c lw a1, -0x7fc4(gp)            |         a1 = *(gp);
                                             |         /* str.handle_scsi_default */
    0x0002f940 addiu v0, v0, -0x350          |         v0 += -aav.0x00000350;
    0x0002f944 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
    0x0002f948 sw v0, 0x10(sp)               |         *(var_10h_5) = v0;
    0x0002f94c addiu a3, zero, 0x123         |         a3 = 0x123;
                                             |         /* esilref: 'src/udev/udev-builtin-path_id.c' */
    0x0002f950 addiu a2, a2, -0x6d5          |         a2 += -0x6d5;
                                             |         /* str.parent */
    0x0002f954 addiu a1, a1, -0x5944         |         a1 += -aav.0x00005944;
    0x0002f958 addiu a0, zero, 1             |         a0 = 1;
    0x0002f95c jalr t9                       |         t9 ();
                                             | label_88:
    0x0002f960 move s3, v0                   |         s3 = v0;
    0x0002f964 b 0x2f870                     |         goto label_4;
                                             |     }
    0x0002f968 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0002f96c jalr t9                       |     t9 ();
    0x0002f970 nop                           |     
    0x0002f974 lui gp, 9                     |     
    0x0002f978 addiu gp, gp, 0x77fc          |     
    0x0002f97c addu gp, gp, t9               |     gp += t9;
    0x0002f980 addiu sp, sp, -0x2c8          |     
    0x0002f984 sw s2, 0x2a8(sp)              |     *(var_2a8h) = s2;
    0x0002f988 lw s2, -0x71f0(gp)            |     s2 = *((gp - 7292));
    0x0002f98c sw gp, 0x18(sp)               |     *(var_18h_6) = gp;
    0x0002f990 sw ra, 0x2c4(sp)              |     *(var_2c4h) = ra;
    0x0002f994 sw fp, 0x2c0(sp)              |     *(var_2c0h) = fp;
    0x0002f998 sw s7, 0x2bc(sp)              |     *(var_2bch) = s7;
    0x0002f99c sw s6, 0x2b8(sp)              |     *(var_2b8h) = s6;
    0x0002f9a0 sw s5, 0x2b4(sp)              |     *(var_2b4h) = s5;
    0x0002f9a4 sw s4, 0x2b0(sp)              |     *(var_2b0h) = s4;
    0x0002f9a8 sw s3, 0x2ac(sp)              |     *(var_2ach) = s3;
    0x0002f9ac sw s1, 0x2a4(sp)              |     *(var_2a4h) = s1;
    0x0002f9b0 sw s0, 0x2a0(sp)              |     *(var_2a0h) = s0;
    0x0002f9b4 lw v0, (s2)                   |     v0 = *(s2);
    0x0002f9b8 sw zero, 0x38(sp)             |     *(var_38h_2) = 0;
    0x0002f9bc sw v0, 0x29c(sp)              |     *(var_29ch) = v0;
    0x0002f9c0 lw v0, -0x7b90(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x0002f9c4 beqz a0, 0x30254              |         goto label_90;
                                             |     }
    0x0002f9c8 lw s3, -0x7fc4(gp)            |     s3 = *(gp);
                                             |     /* fcn.0002ede4 */
    0x0002f9cc addiu v0, v0, -0x121c         |     v0 += -0x121c;
    0x0002f9d0 sw v0, 0x24(sp)               |     *(var_24h_4) = v0;
    0x0002f9d4 lw v0, -0x7b90(gp)            |     v0 = *(gp);
    0x0002f9d8 lw s5, -0x7fc4(gp)            |     s5 = *(gp);
    0x0002f9dc addiu v0, v0, -0xe10          |     v0 += -0xe10;
    0x0002f9e0 sw v0, 0x28(sp)               |     *(var_30h_5) = v0;
    0x0002f9e4 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0002f9e8 move s1, a0                   |     s1 = a0;
                                             |     /* str.usb_interface */
    0x0002f9ec addiu v0, v0, -0x99c          |     v0 += -0x99c;
    0x0002f9f0 move s4, a3                   |     s4 = a3;
    0x0002f9f4 sw a0, 0x34(sp)               |     *(var_34h_2) = a0;
    0x0002f9f8 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x0002f9fc move s6, zero                 |     s6 = 0;
    0x0002fa00 addiu s7, sp, 0x3c            |     s7 = sp + 0x3c;
    0x0002fa04 sw v0, 0x2c(sp)               |     *(var_2ch_4) = v0;
    0x0002fa08 lw t9, -0x7f74(gp)            |     t9 = sym.sd_device_get_subsystem;
                                             |     do {
    0x0002fa0c move a1, s7                   |         a1 = s7;
    0x0002fa10 bal 0x4bb18                   |         sym_sd_device_get_subsystem ();
    0x0002fa14 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 >= 0) {
    0x0002fa18 bgez v0, 0x2fc0c              |             goto label_91;
                                             |         }
                                             | label_6:
    0x0002fa1c lw s0, 0x34(sp)               |         s0 = *(var_34h_2);
                                             | label_7:
    0x0002fa20 lw t9, -0x7ed8(gp)            |         t9 = sym.sd_device_get_parent;
                                             |         if (s0 == 0) {
    0x0002fa24 beqz s0, 0x2fa48              |             goto label_12;
                                             |         }
    0x0002fa28 addiu a1, sp, 0x34            |         a1 = sp + 0x34;
    0x0002fa2c move a0, s0                   |         a0 = s0;
    0x0002fa30 bal 0x4a720                   |         sym_sd_device_get_parent ();
    0x0002fa34 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 < 0) {
    0x0002fa38 bltz v0, 0x2fa48              |             goto label_12;
                                             |         }
    0x0002fa3c lw a0, 0x34(sp)               |         a0 = *(var_34h_2);
    0x0002fa40 lw t9, -0x7f74(gp)            |         t9 = sym.sd_device_get_subsystem;
    0x0002fa44 bnez a0, 0x2fa0c              |         
                                             |     } while (a0 != 0);
                                             | label_12:
    0x0002fa48 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x0002fa4c lw v0, 0x20(sp)               |     v0 = *(var_20h);
                                             |     if (a0 == 0) {
    0x0002fa50 beqz a0, 0x2fef4              |         goto label_92;
                                             |     }
    0x0002fa54 lw t9, -0x7f74(gp)            |     t9 = sym.sd_device_get_subsystem;
                                             |     if (v0 == 0) {
    0x0002fa58 beqz v0, 0x2fef4              |         goto label_92;
                                             |     }
    0x0002fa5c addiu a1, sp, 0x8c            |     a1 = sp + 0x8c;
    0x0002fa60 move a0, s1                   |     a0 = s1;
    0x0002fa64 bal 0x4bb18                   |     sym_sd_device_get_subsystem ();
    0x0002fa68 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0002fa6c bltz v0, 0x2ff48              |         goto label_93;
                                             |     }
    0x0002fa70 lw a1, -0x7fd0(gp)            |     a1 = *(gp);
    0x0002fa74 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
    0x0002fa78 lw a0, 0x8c(sp)               |     a0 = *(var_8ch_2);
                                             |     /* str.block */
    0x0002fa7c addiu a1, a1, 0x7d70          |     a1 += 0x7d70;
    0x0002fa80 jalr t9                       |     t9 ();
    0x0002fa84 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x0002fa88 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
                                             |     if (v0 == 0) {
    0x0002fa8c beqz v0, 0x2feec              |         goto label_94;
                                             |     }
                                             | label_11:
    0x0002fa90 lb a1, (a0)                   |     a1 = *(a0);
                                             | label_8:
    0x0002fa94 move t0, a0                   |     t0 = a0;
                                             |     if (a1 == 0) {
    0x0002fa98 beqz a1, 0x3024c              |         goto label_95;
                                             |     }
    0x0002fa9c move v1, zero                 |     v1 = 0;
    0x0002faa0 addiu a3, zero, -0x21         |     a3 = -0x21;
    0x0002faa4 addiu t1, zero, 0x2d          |     t1 = 0x2d;
    0x0002faa8 addiu t2, zero, 0x5f          |     t2 = 0x5f;
    0x0002faac b 0x2faf4                     |     
                                             |     while (a2 == 0) {
    0x0002fab0 addiu v0, v0, -0x41           |         v0 += -0x41;
    0x0002fab4 sltiu v0, v0, 0x1a            |         v0 = (v0 < 0x1a) ? 1 : 0;
    0x0002fab8 addiu v0, sp, 0x2a0           |         v0 = sp + aav.0x000002a0;
                                             |         if (v0 != 0) {
    0x0002fabc bnez v0, 0x2fb0c              |             goto label_96;
                                             |         }
    0x0002fac0 addu v0, v0, v1               |         v0 += v1;
                                             |         if (a1 == t1) {
    0x0002fac4 beq a1, t1, 0x2fb10           |             goto label_97;
                                             |         }
                                             |         if (v1 != 0) {
    0x0002fac8 beqz v1, 0x2fae4              |             
    0x0002facc nop                           |             
    0x0002fad0 lb a1, -0x205(v0)             |             a1 = *(var_1h);
                                             |             if (a1 == t2) {
    0x0002fad4 beql a1, t2, 0x2fae8          |                 goto label_98;
                                             |             }
    0x0002fad8 addiu t0, t0, 1               |             t0++;
    0x0002fadc sb t2, -0x204(v0)             |             *(var_9ch_2) = t2;
    0x0002fae0 addiu v1, v1, 1               |             v1++;
                                             |         }
    0x0002fae4 addiu t0, t0, 1               |         t0++;
                                             | label_98:
    0x0002fae8 lb a1, (t0)                   |         a1 = *(t0);
                                             |         if (a1 == 0) {
    0x0002faec beqz a1, 0x2fb24              |             goto label_99;
                                             |         }
    0x0002faf0 nop                           |         
                                             | label_5:
    0x0002faf4 andi v0, a1, 0xff             |         v0 = a1 & 0xff;
    0x0002faf8 addiu a2, v0, -0x30           |         a2 = v0 + -0x30;
    0x0002fafc sltiu a2, a2, 0xa             |         a2 = (a2 < 0xa) ? 1 : 0;
    0x0002fb00 and v0, v0, a3                |         v0 &= a3;
    0x0002fb04 beqz a2, 0x2fab0              |         
                                             |     }
    0x0002fb08 addiu v0, sp, 0x2a0           |     v0 = sp + aav.0x000002a0;
                                             | label_96:
    0x0002fb0c addu v0, v0, v1               |     v0 += v1;
                                             | label_97:
    0x0002fb10 addiu t0, t0, 1               |     t0++;
    0x0002fb14 sb a1, -0x204(v0)             |     *(var_9ch_2) = a1;
    0x0002fb18 lb a1, (t0)                   |     a1 = *(t0);
    0x0002fb1c addiu v1, v1, 1               |     v1++;
                                             |     if (a1 != 0) {
    0x0002fb20 bnez a1, 0x2faf4              |         goto label_5;
                                             |     }
                                             | label_99:
    0x0002fb24 addiu s0, sp, 0x9c            |     s0 = sp + 0x9c;
                                             |     if (v1 == 0) {
    0x0002fb28 beqz v1, 0x2fb6c              |         goto label_17;
                                             |     }
    0x0002fb2c addiu v0, sp, 0x2a0           |     v0 = sp + aav.0x000002a0;
    0x0002fb30 addu v0, v0, v1               |     v0 += v1;
    0x0002fb34 addiu a1, zero, 0x5f          |     a1 = 0x5f;
    0x0002fb38 lb a2, -0x205(v0)             |     a2 = *(var_9ch_2);
    0x0002fb3c addiu t0, sp, 0x9d            |     t0 = sp + 0x9d;
                                             |     if (a2 != a1) {
    0x0002fb40 bne a2, a1, 0x2fb70           |         goto label_10;
                                             |     }
    0x0002fb44 addu v0, s0, v1               |     v0 = s0 + v1;
    0x0002fb48 nor a2, zero, s0              |     __asm ("nor a2, zero, s0");
    0x0002fb4c addiu t1, zero, 0x5f          |     t1 = 0x5f;
    0x0002fb50 b 0x2fb64                     |     
                                             |     while (v0 != t0) {
    0x0002fb54 addiu v0, v0, -1              |         v0 += -1;
    0x0002fb58 lb a1, -1(v0)                 |         a1 = *(var_1h);
    0x0002fb5c addiu v0, sp, 0x2a0           |         v0 = sp + aav.0x000002a0;
                                             |         if (a1 == t1) {
    0x0002fb60 bnel a1, t1, 0x2ff40          |             goto label_100;
                                             |         }
    0x0002fb64 addu v1, a2, v0               |         v1 = a2 + v0;
    0x0002fb68 bne v0, t0, 0x2fb54           |         
                                             |     }
                                             | label_17:
    0x0002fb6c addiu v0, sp, 0x2a0           |     v0 = sp + aav.0x000002a0;
                                             | label_10:
    0x0002fb70 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0002fb74 lw t9, -0x7bb8(gp)            |     t9 = *(gp);
    0x0002fb78 move a3, a0                   |     a3 = a0;
                                             |     /* str.ID_PATH */
    0x0002fb7c addiu a2, a2, -0x390          |     a2 += -aav.0x00000390;
    0x0002fb80 move a1, s4                   |     a1 = s4;
    0x0002fb84 move a0, s1                   |     a0 = s1;
    0x0002fb88 sb zero, -0x204(v0)           |     *(var_9ch_2) = 0;
    0x0002fb8c bal 0x28a28                   |     fcn_00028a28 ();
    0x0002fb90 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x0002fb94 move a3, s0                   |     a3 = s0;
    0x0002fb98 move a0, s1                   |     a0 = s1;
    0x0002fb9c lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0002fba0 lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_PATH_TAG */
    0x0002fba4 addiu a2, a2, -0x388          |     a2 += -aav.0x00000388;
    0x0002fba8 move a1, s4                   |     a1 = s4;
    0x0002fbac bal 0x28a28                   |     fcn_00028a28 ();
    0x0002fbb0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x0002fbb4 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x0002fbb8 move s0, zero                 |     s0 = 0;
                                             | label_9:
    0x0002fbbc lw t9, -0x71d0(gp)            |     t9 = *((gp - 7284));
    0x0002fbc0 jalr t9                       |     t9 ();
    0x0002fbc4 nop                           |     
    0x0002fbc8 lw a0, 0x29c(sp)              |     a0 = *(var_29ch);
    0x0002fbcc lw v1, (s2)                   |     v1 = *(s2);
    0x0002fbd0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x0002fbd4 move v0, s0                   |     v0 = s0;
                                             |     if (a0 != v1) {
    0x0002fbd8 bne a0, v1, 0x30b80           |         goto label_101;
                                             |     }
    0x0002fbdc lw ra, 0x2c4(sp)              |     ra = *(var_2c4h);
    0x0002fbe0 lw fp, 0x2c0(sp)              |     fp = *(var_2c0h);
    0x0002fbe4 lw s7, 0x2bc(sp)              |     s7 = *(var_2bch);
    0x0002fbe8 lw s6, 0x2b8(sp)              |     s6 = *(var_2b8h);
    0x0002fbec lw s5, 0x2b4(sp)              |     s5 = *(var_2b4h);
    0x0002fbf0 lw s4, 0x2b0(sp)              |     s4 = *(var_2b0h);
    0x0002fbf4 lw s3, 0x2ac(sp)              |     s3 = *(var_2ach);
    0x0002fbf8 lw s2, 0x2a8(sp)              |     s2 = *(var_2a8h);
    0x0002fbfc lw s1, 0x2a4(sp)              |     s1 = *(var_2a4h);
    0x0002fc00 lw s0, 0x2a0(sp)              |     s0 = *(var_2a0h);
    0x0002fc04 addiu sp, sp, 0x2c8           |     
    0x0002fc08 jr ra                         |     return v0;
                                             | label_91:
    0x0002fc0c lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x0002fc10 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x0002fc14 addiu a1, sp, 0x40            |     a1 = sp + 0x40;
    0x0002fc18 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x0002fc1c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0002fc20 bltz v0, 0x2fa1c              |         goto label_6;
                                             |     }
    0x0002fc24 lw s0, 0x3c(sp)               |     s0 = *(var_3ch_3);
    0x0002fc28 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
    0x0002fc2c addiu a1, s3, -0x5b8          |     a1 = s3 + -0x5b8;
    0x0002fc30 move a0, s0                   |     a0 = s0;
    0x0002fc34 jalr t9                       |     t9 ();
    0x0002fc38 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fc3c beqz v0, 0x2fe5c              |         goto label_102;
                                             |     }
    0x0002fc40 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
    0x0002fc44 addiu a1, s5, -0x684          |     a1 = s5 + -0x684;
    0x0002fc48 move a0, s0                   |     a0 = s0;
    0x0002fc4c jalr t9                       |     t9 ();
    0x0002fc50 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fc54 beqz v0, 0x2fefc              |         goto label_103;
                                             |     }
    0x0002fc58 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fc5c lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.cciss */
    0x0002fc60 addiu a1, fp, -0x470          |     a1 = fp + -0x470;
    0x0002fc64 move a0, s0                   |     a0 = s0;
    0x0002fc68 jalr t9                       |     t9 ();
    0x0002fc6c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fc70 beqz v0, 0x2ff50              |         goto label_104;
                                             |     }
    0x0002fc74 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fc78 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* esilref: 'usb' */
    0x0002fc7c addiu a1, fp, -0x3490         |     a1 = fp + -0x3490;
    0x0002fc80 move a0, s0                   |     a0 = s0;
    0x0002fc84 jalr t9                       |     t9 ();
    0x0002fc88 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fc8c beqz v0, 0x2ffdc              |         goto label_105;
                                             |     }
    0x0002fc90 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002fc94 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.bcma */
    0x0002fc98 addiu a1, a1, -0x98c          |     a1 += -0x98c;
    0x0002fc9c move a0, s0                   |     a0 = s0;
    0x0002fca0 jalr t9                       |     t9 ();
    0x0002fca4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fca8 beqz v0, 0x301e4              |         goto label_106;
                                             |     }
    0x0002fcac lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fcb0 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.serio */
    0x0002fcb4 addiu a1, fp, -0x2eb8         |     a1 = fp + -0x2eb8;
    0x0002fcb8 move a0, s0                   |     a0 = s0;
    0x0002fcbc jalr t9                       |     t9 ();
    0x0002fcc0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fcc4 beqz v0, 0x30190              |         goto label_107;
                                             |     }
    0x0002fcc8 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fccc lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* esilref: 'pci' */
    0x0002fcd0 addiu a1, fp, -0xc30          |     a1 = fp + -0xc30;
    0x0002fcd4 move a0, s0                   |     a0 = s0;
    0x0002fcd8 jalr t9                       |     t9 ();
    0x0002fcdc lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fce0 beqz v0, 0x30330              |         goto label_108;
                                             |     }
    0x0002fce4 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fce8 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.platform */
    0x0002fcec addiu a1, fp, -0xa34          |     a1 = fp + -aav.0x00000a34;
    0x0002fcf0 move a0, s0                   |     a0 = s0;
    0x0002fcf4 jalr t9                       |     t9 ();
    0x0002fcf8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fcfc beqz v0, 0x30494              |         goto label_109;
                                             |     }
    0x0002fd00 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fd04 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.acpi */
    0x0002fd08 addiu a1, fp, -0x418          |     a1 = fp + -0x418;
    0x0002fd0c move a0, s0                   |     a0 = s0;
    0x0002fd10 jalr t9                       |     t9 ();
    0x0002fd14 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fd18 beqz v0, 0x304d8              |         goto label_110;
                                             |     }
    0x0002fd1c lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fd20 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* esilref: 'xen' */
    0x0002fd24 addiu a1, fp, -0x408          |     a1 = fp + -aav.0x00000408;
    0x0002fd28 move a0, s0                   |     a0 = s0;
    0x0002fd2c jalr t9                       |     t9 ();
    0x0002fd30 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fd34 beqz v0, 0x30470              |         goto label_111;
                                             |     }
    0x0002fd38 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fd3c lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.virtio */
    0x0002fd40 addiu a1, fp, -0xcdc          |     a1 = fp + -0xcdc;
    0x0002fd44 move a0, s0                   |     a0 = s0;
    0x0002fd48 jalr t9                       |     t9 ();
    0x0002fd4c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fd50 beqz v0, 0x30754              |         goto label_112;
                                             |     }
    0x0002fd54 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fd58 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* esilref: 'scm' */
    0x0002fd5c addiu a1, fp, -0x3fc          |     a1 = fp + -0x3fc;
    0x0002fd60 move a0, s0                   |     a0 = s0;
    0x0002fd64 jalr t9                       |     t9 ();
    0x0002fd68 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fd6c beqz v0, 0x30778              |         goto label_113;
                                             |     }
    0x0002fd70 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fd74 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* esilref: 'ccw' */
    0x0002fd78 addiu a1, fp, -0xa9c          |     a1 = fp + -0xa9c;
    0x0002fd7c move a0, s0                   |     a0 = s0;
    0x0002fd80 jalr t9                       |     t9 ();
    0x0002fd84 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fd88 beqz v0, 0x3089c              |         goto label_114;
                                             |     }
    0x0002fd8c lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fd90 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.ccwgroup */
    0x0002fd94 addiu a1, fp, -0xaa8          |     a1 = fp + -0xaa8;
    0x0002fd98 move a0, s0                   |     a0 = s0;
    0x0002fd9c jalr t9                       |     t9 ();
    0x0002fda0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fda4 beqz v0, 0x308d4              |         goto label_115;
                                             |     }
    0x0002fda8 lw fp, -0x7e08(gp)            |     fp = *((gp - 8066));
    0x0002fdac lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* esilref: 'ap' */
    0x0002fdb0 addiu a1, fp, -0x1d7c         |     a1 = fp + -0x1d7c;
    0x0002fdb4 move a0, s0                   |     a0 = s0;
    0x0002fdb8 jalr t9                       |     t9 ();
    0x0002fdbc lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fdc0 beqz v0, 0x30908              |         goto label_116;
                                             |     }
    0x0002fdc4 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fdc8 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.iucv */
    0x0002fdcc addiu a1, fp, -0x3b8          |     a1 = fp + -0x3b8;
    0x0002fdd0 move a0, s0                   |     a0 = s0;
    0x0002fdd4 jalr t9                       |     t9 ();
    0x0002fdd8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fddc beqz v0, 0x309dc              |         goto label_117;
                                             |     }
    0x0002fde0 lw fp, -0x7fc4(gp)            |     fp = *(gp);
    0x0002fde4 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
                                             |     /* str.nvme */
    0x0002fde8 addiu a1, fp, -0x3a8          |     a1 = fp + -0x3a8;
    0x0002fdec move a0, s0                   |     a0 = s0;
    0x0002fdf0 jalr t9                       |     t9 ();
    0x0002fdf4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x0002fdf8 bnez v0, 0x2fa1c              |         goto label_6;
                                             |     }
    0x0002fdfc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002fe00 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x0002fe04 addiu a2, sp, 0x8c            |     a2 = sp + 0x8c;
                                             |     /* str.nsid */
    0x0002fe08 addiu a1, a1, -0x3a0          |     a1 += -0x3a0;
    0x0002fe0c move a0, s1                   |     a0 = s1;
    0x0002fe10 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x0002fe14 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0002fe18 bltz v0, 0x2fa1c              |         goto label_6;
                                             |     }
    0x0002fe1c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002fe20 lw a2, 0x8c(sp)               |     a2 = *(var_8ch_2);
    0x0002fe24 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.nvme__s */
    0x0002fe28 addiu a1, a1, -0x398          |     a1 += -aav.0x00000398;
    0x0002fe2c addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x0002fe30 jalr t9                       |     t9 ();
    0x0002fe34 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x0002fe38 lw t9, 0x28(sp)               |     t9 = *(var_30h_5);
                                             |     /* str.nvme */
    0x0002fe3c addiu a1, fp, -0x3a8          |     a1 = fp + -0x3a8;
    0x0002fe40 jalr t9                       |     t9 ();
    0x0002fe44 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x0002fe48 addiu v0, zero, 1             |     v0 = 1;
    0x0002fe4c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x0002fe50 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0002fe54 addiu s6, zero, 1             |     s6 = 1;
    0x0002fe58 b 0x2fa1c                     |     goto label_6;
                                             | label_102:
    0x0002fe5c lw v0, 0x38(sp)               |     v0 = *(var_38h_2);
    0x0002fe60 lw s0, 0x34(sp)               |     s0 = *(var_34h_2);
                                             |     if (v0 != 0) {
    0x0002fe64 bnez v0, 0x2fa20              |         goto label_7;
                                             |     }
    0x0002fe68 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x0002fe6c addiu a1, sp, 0x8c            |     a1 = sp + 0x8c;
    0x0002fe70 move a0, s0                   |     a0 = s0;
    0x0002fe74 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x0002fe78 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0002fe7c bltz v0, 0x2fa1c              |         goto label_6;
                                             |     }
    0x0002fe80 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002fe84 lw s0, 0x8c(sp)               |     s0 = *(var_8ch_2);
    0x0002fe88 lw t9, -0x74c8(gp)            |     t9 = sym.imp.strncmp;
    0x0002fe8c addiu a2, zero, 3             |     a2 = 3;
                                             |     /* esilref: 'nst' */
    0x0002fe90 addiu a1, a1, -0x5ac          |     a1 += -0x5ac;
    0x0002fe94 move a0, s0                   |     a0 = s0;
    0x0002fe98 jalr t9                       |     t9 ();
    0x0002fe9c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x0002fea0 bnez v0, 0x30280              |         goto label_118;
                                             |     }
    0x0002fea4 addiu v0, s0, 3               |     v0 = s0 + 3;
    0x0002fea8 lw a0, -0x7fc4(gp)            |     a0 = *(gp);
                                             |     if (v0 == 0) {
    0x0002feac beqz v0, 0x3079c              |         goto label_119;
                                             |     }
    0x0002feb0 lb fp, 3(s0)                  |     fp = *((s0 + 3));
    0x0002feb4 lw t9, -0x732c(gp)            |     t9 = sym.imp.strchr;
    0x0002feb8 move a1, fp                   |     a1 = fp;
                                             |     /* esilref: 'lma' */
    0x0002febc addiu a0, a0, -0x5a8          |     a0 += -0x5a8;
    0x0002fec0 jalr t9                       |     t9 ();
    0x0002fec4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002fec8 beqz v0, 0x30280              |         goto label_118;
                                             |     }
    0x0002fecc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002fed0 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
    0x0002fed4 move a2, fp                   |     a2 = fp;
                                             |     /* str.nst_c */
    0x0002fed8 addiu a1, a1, -0x5a4          |     a1 += -0x5a4;
    0x0002fedc addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x0002fee0 jalr t9                       |     t9 ();
    0x0002fee4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x0002fee8 b 0x2fa1c                     |     goto label_6;
                                             | label_94:
    0x0002feec lb a1, (a0)                   |     a1 = *(a0);
                                             |     if (s6 == 0) {
    0x0002fef0 bnel s6, zero, 0x2fa94        |         goto label_8;
                                             |     }
                                             | label_92:
    0x0002fef4 addiu s0, zero, -2            |     s0 = -2;
    0x0002fef8 b 0x2fbbc                     |     goto label_9;
                                             | label_103:
    0x0002fefc lw s0, 0x34(sp)               |     s0 = *(var_34h_2);
    0x0002ff00 lw t9, -0x7f6c(gp)            |     t9 = sym.sd_device_get_devtype;
    0x0002ff04 addiu a1, sp, 0x44            |     a1 = sp + 0x44;
    0x0002ff08 move a0, s0                   |     a0 = s0;
    0x0002ff0c bal 0x4b88c                   |     sym_sd_device_get_devtype ();
    0x0002ff10 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0002ff14 bltz v0, 0x2ff34              |         goto label_13;
                                             |     }
    0x0002ff18 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0002ff1c lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
    0x0002ff20 lw a0, 0x44(sp)               |     a0 = *(var_44h_3);
                                             |     /* str.scsi_device */
    0x0002ff24 addiu a1, a1, -0x594          |     a1 += -aav.0x00000594;
    0x0002ff28 jalr t9                       |     t9 ();
    0x0002ff2c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x0002ff30 beqz v0, 0x30080              |         goto label_120;
                                             |     }
                                             |     do {
                                             | label_13:
    0x0002ff34 sw s0, 0x34(sp)               |         *(var_34h_2) = s0;
    0x0002ff38 addiu s6, zero, 1             |         s6 = 1;
    0x0002ff3c b 0x2fa20                     |         goto label_7;
                                             | label_100:
    0x0002ff40 addu v0, v0, v1               |         v0 += v1;
    0x0002ff44 b 0x2fb70                     |         goto label_10;
                                             | label_93:
    0x0002ff48 lw a0, 0x38(sp)               |         a0 = *(var_38h_2);
    0x0002ff4c b 0x2fa90                     |         goto label_11;
                                             | label_104:
    0x0002ff50 lw s0, 0x34(sp)               |         s0 = *(var_34h_2);
    0x0002ff54 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x0002ff58 addiu a1, sp, 0x84            |         a1 = sp + 0x84;
    0x0002ff5c move a0, s0                   |         a0 = s0;
    0x0002ff60 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x0002ff64 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 >= 0) {
    0x0002ff68 bltz v0, 0x2ffd0              |             
    0x0002ff6c lw a1, -0x7fc4(gp)            |             a1 = *(gp);
    0x0002ff70 lw t9, -0x7458(gp)            |             t9 = sym.imp.sscanf;
    0x0002ff74 lw a0, 0x84(sp)               |             a0 = *(var_84h_2);
    0x0002ff78 addiu a3, sp, 0x8c            |             a3 = sp + 0x8c;
    0x0002ff7c addiu a2, sp, 0x88            |             a2 = sp + 0x88;
                                             |             /* str.c_ud_u_s */
    0x0002ff80 addiu a1, a1, -0x468          |             a1 += -0x468;
    0x0002ff84 jalr t9                       |             t9 ();
    0x0002ff88 addiu v1, zero, 2             |             v1 = 2;
    0x0002ff8c lw gp, 0x18(sp)               |             gp = *(var_18h_6);
                                             |             if (v0 != v1) {
    0x0002ff90 bne v0, v1, 0x2ffd0           |                 goto label_15;
                                             |             }
    0x0002ff94 lw a1, -0x7fc4(gp)            |             a1 = *(gp);
    0x0002ff98 lw t9, 0x24(sp)               |             t9 = *(var_24h_4);
    0x0002ff9c lw a2, 0x8c(sp)               |             a2 = *(var_8ch_2);
                                             |             /* str.cciss_disk_u */
    0x0002ffa0 addiu a1, a1, -0x45c          |             a1 += -aav.0x0000045c;
    0x0002ffa4 addiu a0, sp, 0x38            |             a0 = sp + 0x38;
    0x0002ffa8 jalr t9                       |             t9 ();
    0x0002ffac lw t9, 0x28(sp)               |             t9 = *(var_30h_5);
                                             |             /* str.cciss */
    0x0002ffb0 addiu a1, fp, -0x470          |             a1 = fp + -0x470;
    0x0002ffb4 move a0, s0                   |             a0 = s0;
                                             | label_14:
    0x0002ffb8 addiu s6, zero, 1             |             s6 = 1;
    0x0002ffbc jalr t9                       |             t9 ();
    0x0002ffc0 move s0, v0                   |             s0 = v0;
    0x0002ffc4 lw gp, 0x18(sp)               |             gp = *(var_18h_6);
    0x0002ffc8 sw s0, 0x34(sp)               |             *(var_34h_2) = s0;
    0x0002ffcc b 0x2fa20                     |             goto label_7;
                                             |         }
                                             | label_15:
    0x0002ffd0 sw zero, 0x34(sp)             |         *(var_34h_2) = 0;
    0x0002ffd4 addiu s6, zero, 1             |         s6 = 1;
    0x0002ffd8 b 0x2fa48                     |         goto label_12;
                                             | label_105:
    0x0002ffdc lw s0, 0x34(sp)               |         s0 = *(var_34h_2);
    0x0002ffe0 lw t9, -0x7f6c(gp)            |         t9 = sym.sd_device_get_devtype;
    0x0002ffe4 addiu a1, sp, 0x88            |         a1 = sp + 0x88;
    0x0002ffe8 move a0, s0                   |         a0 = s0;
    0x0002ffec bal 0x4b88c                   |         sym_sd_device_get_devtype ();
    0x0002fff0 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
    0x0002fff4 bltz v0, 0x2ff34              |         
                                             |     } while (v0 < 0);
    0x0002fff8 lw v0, 0x2c(sp)               |     v0 = *(var_2ch_4);
    0x0002fffc lw t9, -0x7c58(gp)            |     t9 = sym.strv_find;
    0x00030000 sw v0, 0x90(sp)               |     *(var_90h_2) = v0;
    0x00030004 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00030008 lw a1, 0x88(sp)               |     a1 = *(var_88h_2);
                                             |     /* str.usb_device */
    0x0003000c addiu v0, v0, -0x348c         |     v0 += -aav.0x0000348c;
    0x00030010 addiu a0, sp, 0x90            |     a0 = sp + 0x90;
    0x00030014 sw v0, 0x94(sp)               |     *(var_94h_2) = v0;
    0x00030018 sw zero, 0x98(sp)             |     *(var_98h_2) = 0;
    0x0003001c jalr t9                       |     t9 ();
    0x00030020 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x00030024 beqz v0, 0x2ff34              |         goto label_13;
                                             |     }
    0x00030028 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x0003002c addiu a1, sp, 0x8c            |     a1 = sp + 0x8c;
    0x00030030 move a0, s0                   |     a0 = s0;
    0x00030034 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00030038 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0003003c bltz v0, 0x2ff34              |         goto label_13;
                                             |     }
    0x00030040 lw t9, -0x732c(gp)            |     t9 = sym.imp.strchr;
    0x00030044 lw a0, 0x8c(sp)               |     a0 = *(var_8ch_2);
    0x00030048 addiu a1, zero, 0x2d          |     a1 = 0x2d;
    0x0003004c jalr t9                       |     t9 ();
    0x00030050 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x00030054 beqz v0, 0x2ff34              |         goto label_13;
                                             |     }
    0x00030058 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0003005c lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.usb_0:_s */
    0x00030060 addiu a1, a1, -0x44c          |     a1 += -0x44c;
    0x00030064 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030068 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x0003006c jalr t9                       |     t9 ();
    0x00030070 move a0, s0                   |     a0 = s0;
                                             |     /* esilref: 'usb' */
    0x00030074 addiu a1, fp, -0x3490         |     a1 = fp + -0x3490;
    0x00030078 lw t9, 0x28(sp)               |     t9 = *(var_30h_5);
    0x0003007c b 0x2ffb8                     |     goto label_14;
                                             | label_120:
    0x00030080 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030084 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00030088 addiu a2, sp, 0x48            |     a2 = sp + 0x48;
                                             |     /* str.ieee1394_id */
    0x0003008c addiu a1, a1, -0x588          |     a1 += -0x588;
    0x00030090 move a0, s0                   |     a0 = s0;
    0x00030094 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00030098 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 >= 0) {
    0x0003009c bgez v0, 0x302ec              |         goto label_121;
                                             |     }
    0x000300a0 lw t9, -0x7f70(gp)            |     t9 = sym.sd_device_get_syspath;
    0x000300a4 addiu a1, sp, 0x4c            |     a1 = sp + 0x4c;
    0x000300a8 move a0, s0                   |     a0 = s0;
    0x000300ac bal 0x4a62c                   |     sym_sd_device_get_syspath ();
    0x000300b0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000300b4 bltz v0, 0x2ffd0              |         goto label_15;
                                             |     }
    0x000300b8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000300bc lw s6, 0x4c(sp)               |     s6 = *(var_4ch_2);
    0x000300c0 lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
                                             |     /* str._rport_ */
    0x000300c4 addiu a1, a1, -0x56c          |     a1 += -0x56c;
    0x000300c8 move a0, s6                   |     a0 = s6;
    0x000300cc jalr t9                       |     t9 ();
    0x000300d0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x000300d4 bnez v0, 0x30374              |         goto label_122;
                                             |     }
    0x000300d8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000300dc lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
                                             |     /* str._end_device_ */
    0x000300e0 addiu a1, a1, -0x530          |     a1 += -0x530;
    0x000300e4 move a0, s6                   |     a0 = s6;
    0x000300e8 jalr t9                       |     t9 ();
    0x000300ec lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x000300f0 bnez v0, 0x304fc              |         goto label_123;
                                             |     }
    0x000300f4 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000300f8 lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
                                             |     /* str._session */
    0x000300fc addiu a1, a1, -0x4b0          |     a1 += -aav.0x000004b0;
    0x00030100 move a0, s6                   |     a0 = s6;
    0x00030104 jalr t9                       |     t9 ();
    0x00030108 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x0003010c bnez v0, 0x30764              |         goto label_124;
                                             |     }
    0x00030110 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030114 lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
                                             |     /* str._ata */
    0x00030118 addiu a1, a1, -0x4a4          |     a1 += -aav.0x000004a4;
    0x0003011c move a0, s6                   |     a0 = s6;
    0x00030120 jalr t9                       |     t9 ();
    0x00030124 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x00030128 bnez v0, 0x307c4              |         goto label_125;
                                             |     }
    0x0003012c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030130 lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
                                             |     /* str._vmbus_ */
    0x00030134 addiu a1, a1, -0x480          |     a1 += -0x480;
    0x00030138 move a0, s6                   |     a0 = s6;
    0x0003013c jalr t9                       |     t9 ();
    0x00030140 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x00030144 bnez v0, 0x308c0              |         goto label_126;
                                             |     }
    0x00030148 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0003014c lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
    0x00030150 move a0, s6                   |     a0 = s6;
                                             |     /* str._VMBUS */
    0x00030154 addiu a1, a1, -0x478          |     a1 += -0x478;
    0x00030158 jalr t9                       |     t9 ();
    0x0003015c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030160 move a0, s0                   |     a0 = s0;
                                             |     if (v0 == 0) {
    0x00030164 beqz v0, 0x308f8              |         goto label_127;
                                             |     }
    0x00030168 addiu a2, zero, 0x26          |     a2 = 0x26;
                                             | label_26:
    0x0003016c lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x00030170 addiu t9, t9, -0xff0          |     t9 += -0xff0;
    0x00030174 addiu a1, sp, 0x38            |     a1 = sp + 0x38;
    0x00030178 bal 0x2f010                   |     fcn_2f010 ();
                                             |     goto label_16;
    0x0003017c move s0, v0                   |     s0 = v0;
    0x00030180 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030184 sw s0, 0x34(sp)               |     *(var_34h_2) = s0;
    0x00030188 addiu s6, zero, 1             |     s6 = 1;
    0x0003018c b 0x2fa20                     |     goto label_7;
                                             | label_107:
    0x00030190 lw t9, -0x7d28(gp)            |     t9 = sym.sd_device_get_sysnum;
    0x00030194 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x00030198 addiu a1, sp, 0x8c            |     a1 = sp + 0x8c;
    0x0003019c bal 0x4c6a8                   |     sym_sd_device_get_sysnum ();
    0x000301a0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000301a4 bltz v0, 0x2fa1c              |         goto label_6;
                                             |     }
    0x000301a8 lw a2, 0x8c(sp)               |     a2 = *(var_8ch_2);
    0x000301ac lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     if (a2 == 0) {
    0x000301b0 beqz a2, 0x2fa1c              |         goto label_6;
                                             |     }
    0x000301b4 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.serio__s */
    0x000301b8 addiu a1, a1, -0x438          |     a1 += -0x438;
    0x000301bc addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000301c0 jalr t9                       |     t9 ();
    0x000301c4 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x000301c8 lw t9, 0x28(sp)               |     t9 = *(var_30h_5);
                                             |     /* str.serio */
    0x000301cc addiu a1, fp, -0x2eb8         |     a1 = fp + -0x2eb8;
    0x000301d0 jalr t9                       |     t9 ();
    0x000301d4 move s0, v0                   |     s0 = v0;
    0x000301d8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x000301dc sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x000301e0 b 0x2fa20                     |     goto label_7;
                                             | label_106:
    0x000301e4 lw s0, 0x34(sp)               |     s0 = *(var_34h_2);
    0x000301e8 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x000301ec addiu a1, sp, 0x88            |     a1 = sp + 0x88;
    0x000301f0 move a0, s0                   |     a0 = s0;
    0x000301f4 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x000301f8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000301fc bltz v0, 0x2ffd0              |         goto label_15;
                                             |     }
    0x00030200 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030204 lw t9, -0x7458(gp)            |     t9 = sym.imp.sscanf;
    0x00030208 lw a0, 0x88(sp)               |     a0 = *(var_88h_2);
    0x0003020c addiu a2, sp, 0x8c            |     a2 = sp + 0x8c;
                                             |     /* str.bcma_u:_u */
    0x00030210 addiu a1, a1, -0x97c          |     a1 += -aav.0x0000097c;
    0x00030214 jalr t9                       |     t9 ();
    0x00030218 addiu a0, zero, 1             |     a0 = 1;
    0x0003021c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != a0) {
    0x00030220 bne v0, a0, 0x2ffd0           |         goto label_15;
                                             |     }
    0x00030224 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030228 lw a2, 0x8c(sp)               |     a2 = *(var_8ch_2);
    0x0003022c lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.bcma__u */
    0x00030230 addiu a1, a1, -0x440          |     a1 += -0x440;
    0x00030234 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030238 jalr t9                       |     t9 ();
    0x0003023c addiu s6, zero, 1             |     s6 = 1;
    0x00030240 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030244 sw s0, 0x34(sp)               |     *(var_34h_2) = s0;
    0x00030248 b 0x2fa20                     |     goto label_7;
                                             | label_95:
    0x0003024c addiu s0, sp, 0x9c            |     s0 = sp + 0x9c;
    0x00030250 b 0x2fb6c                     |     goto label_17;
                                             | label_90:
    0x00030254 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00030258 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003025c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.builtin_path_id */
    0x00030260 addiu v0, v0, -0x2d8          |     v0 += -aav.0x000002d8;
    0x00030264 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x00030268 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0003026c addiu a3, zero, 0x210         |     a3 = aav.0x00000210;
                                             |     /* esilref: 'src/udev/udev-builtin-path_id.c' */
    0x00030270 addiu a2, a2, -0x6d5          |     a2 += -0x6d5;
                                             |     /* esilref: 'dev' */
    0x00030274 addiu a1, a1, 0x42ec          |     a1 += 0x42ec;
    0x00030278 addiu a0, zero, 1             |     a0 = 1;
    0x0003027c jalr t9                       |     t9 ();
                                             | label_118:
    0x00030280 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030284 lw t9, -0x74c8(gp)            |     t9 = sym.imp.strncmp;
    0x00030288 addiu a2, zero, 2             |     a2 = 2;
                                             |     /* esilref: 'st' */
    0x0003028c addiu a1, a1, 0x4a6c          |     a1 += 0x4a6c;
    0x00030290 move a0, s0                   |     a0 = s0;
    0x00030294 jalr t9                       |     t9 ();
    0x00030298 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x0003029c bnez v0, 0x2fa1c              |         goto label_6;
                                             |     }
    0x000302a0 addiu v0, s0, 2               |     v0 = s0 + 2;
                                             |     if (v0 == 0) {
    0x000302a4 beql v0, zero, 0x2fa20        |         goto label_7;
                                             |     }
    0x000302a8 lw s0, 0x34(sp)               |     s0 = *(var_34h_2);
                                             | label_25:
    0x000302ac lw a0, -0x7fc4(gp)            |     a0 = *(gp);
    0x000302b0 lb s0, 2(s0)                  |     s0 = *((s0 + 2));
    0x000302b4 lw t9, -0x732c(gp)            |     t9 = sym.imp.strchr;
    0x000302b8 move a1, s0                   |     a1 = s0;
                                             |     /* esilref: 'lma' */
    0x000302bc addiu a0, a0, -0x5a8          |     a0 += -0x5a8;
    0x000302c0 jalr t9                       |     t9 ();
    0x000302c4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x000302c8 beqz v0, 0x2fa1c              |         goto label_6;
                                             |     }
    0x000302cc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000302d0 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
    0x000302d4 move a2, s0                   |     a2 = s0;
                                             |     /* str.st_c */
    0x000302d8 addiu a1, a1, -0x59c          |     a1 += -0x59c;
    0x000302dc addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000302e0 jalr t9                       |     t9 ();
    0x000302e4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x000302e8 b 0x2fa1c                     |     goto label_6;
                                             | label_121:
    0x000302ec lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000302f0 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
    0x000302f4 lw a2, 0x48(sp)               |     a2 = *(var_48h_2);
                                             |     /* str.ieee1394_0x_s */
    0x000302f8 addiu a1, a1, -0x57c          |     a1 += -aav.0x0000057c;
    0x000302fc addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030300 jalr t9                       |     t9 ();
    0x00030304 lw t9, 0x28(sp)               |     t9 = *(var_30h_5);
    0x00030308 move a0, s0                   |     a0 = s0;
    0x0003030c addiu a1, s5, -0x684          |     a1 = s5 + -0x684;
                                             | label_23:
    0x00030310 addiu s6, zero, 1             |     s6 = 1;
    0x00030314 jalr t9                       |     t9 ();
    0x00030318 move s0, v0                   |     s0 = v0;
    0x0003031c addiu v0, zero, 1             |     v0 = 1;
    0x00030320 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030324 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x00030328 sw s0, 0x34(sp)               |     *(var_34h_2) = s0;
    0x0003032c b 0x2fa20                     |     goto label_7;
                                             | label_108:
    0x00030330 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030334 lw a2, 0x40(sp)               |     a2 = *(var_40h_3);
    0x00030338 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.pci__s */
    0x0003033c addiu a1, a1, -0x42c          |     a1 += -aav.0x0000042c;
    0x00030340 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030344 jalr t9                       |     t9 ();
    0x00030348 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* esilref: 'pci' */
    0x0003034c addiu a1, fp, -0xc30          |     a1 = fp + -0xc30;
                                             |     do {
                                             | label_18:
    0x00030350 lw t9, 0x28(sp)               |         t9 = *(var_30h_5);
    0x00030354 jalr t9                       |         t9 ();
    0x00030358 nop                           |         
    0x0003035c move s0, v0                   |         s0 = v0;
    0x00030360 sw v0, 0x34(sp)               |         *(var_34h_2) = v0;
    0x00030364 addiu v0, zero, 1             |         v0 = 1;
    0x00030368 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
    0x0003036c sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x00030370 b 0x2fa20                     |         goto label_7;
                                             | label_122:
    0x00030374 sw zero, 0x80(sp)             |         *(var_80h_2) = 0;
    0x00030378 sw zero, 0x8c(sp)             |         *(var_8ch_2) = 0;
                                             |         if (s0 == 0) {
    0x0003037c beqz s0, 0x30998              |             goto label_128;
                                             |         }
    0x00030380 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x00030384 lw t9, -0x7b94(gp)            |         t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x00030388 addiu a3, sp, 0x7c            |         a3 = sp + 0x7c;
                                             |         /* str.scsi_target */
    0x0003038c addiu a2, a2, -0x564          |         a2 += -aav.0x00000564;
    0x00030390 addiu a1, s5, -0x684          |         a1 = s5 + -0x684;
    0x00030394 move a0, s0                   |         a0 = s0;
    0x00030398 bal 0x4c154                   |         sym_sd_device_get_parent_with_subsystem_devtype ();
    0x0003039c lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 < 0) {
    0x000303a0 bltz v0, 0x30744              |             goto label_129;
                                             |         }
    0x000303a4 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x000303a8 lw a0, 0x7c(sp)               |         a0 = *(var_7ch_3);
    0x000303ac addiu a1, sp, 0x88            |         a1 = sp + 0x88;
    0x000303b0 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x000303b4 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 < 0) {
    0x000303b8 bltz v0, 0x30744              |             goto label_129;
                                             |         }
    0x000303bc lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x000303c0 lw t9, -0x7b84(gp)            |         t9 = sym.sd_device_new_from_subsystem_sysname;
    0x000303c4 lw a2, 0x88(sp)               |         a2 = *(var_88h_2);
                                             |         /* str.fc_transport */
    0x000303c8 addiu a1, a1, -0x558          |         a1 += -0x558;
    0x000303cc addiu a0, sp, 0x80            |         a0 = sp + 0x80;
    0x000303d0 bal 0x494bc                   |         sym_sd_device_new_from_subsystem_sysname ();
    0x000303d4 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 < 0) {
    0x000303d8 bltz v0, 0x30744              |             goto label_129;
                                             |         }
    0x000303dc lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x000303e0 lw t9, -0x7d18(gp)            |         t9 = sym.sd_device_get_sysattr_value;
    0x000303e4 lw a0, 0x80(sp)               |         a0 = *(var_80h_2);
    0x000303e8 addiu a2, sp, 0x84            |         a2 = sp + 0x84;
                                             |         /* str.port_name */
    0x000303ec addiu a1, a1, -0x548          |         a1 += -0x548;
    0x000303f0 bal 0x4e290                   |         sym_sd_device_get_sysattr_value ();
    0x000303f4 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 < 0) {
    0x000303f8 bltz v0, 0x30744              |             goto label_129;
                                             |         }
    0x000303fc lw t9, -0x7b90(gp)            |         t9 = *(gp);
    0x00030400 addiu a1, sp, 0x8c            |         a1 = sp + 0x8c;
                                             |         /* fcn.0002ef24 */
    0x00030404 addiu t9, t9, -0x10dc         |         t9 += -0x10dc;
    0x00030408 move a0, s0                   |         a0 = s0;
    0x0003040c bal 0x2ef24                   |         fcn_0002ef24 ();
                                             |         goto label_1;
    0x00030410 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
    0x00030414 lw a3, 0x8c(sp)               |         a3 = *(var_8ch_2);
    0x00030418 lw a2, 0x84(sp)               |         a2 = *(var_84h_2);
    0x0003041c lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00030420 lw t9, 0x24(sp)               |         t9 = *(var_24h_4);
                                             |         /* str.fc__s__s */
    0x00030424 addiu a1, a1, -0x53c          |         a1 += -0x53c;
    0x00030428 addiu a0, sp, 0x38            |         a0 = sp + 0x38;
    0x0003042c jalr t9                       |         t9 ();
    0x00030430 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             | label_21:
    0x00030434 lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x00030438 lw a0, 0x8c(sp)               |         a0 = *(var_8ch_2);
    0x0003043c jalr t9                       |         t9 ();
    0x00030440 lw a0, 0x80(sp)               |         a0 = *(var_80h_2);
    0x00030444 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (a0 != 0) {
    0x00030448 beqz a0, 0x3045c              |             
    0x0003044c lw t9, -0x7fdc(gp)            |             t9 = sym.sd_device_unref;
                                             | label_19:
    0x00030450 bal 0x48690                   |             sym_sd_device_unref ();
    0x00030454 nop                           |             
    0x00030458 lw gp, 0x18(sp)               |             gp = *(var_18h_6);
                                             |         }
    0x0003045c addiu v0, zero, 1             |         v0 = 1;
    0x00030460 sw v0, 0x20(sp)               |         *(var_20h) = v0;
                                             | label_20:
    0x00030464 sw s0, 0x34(sp)               |         *(var_34h_2) = s0;
    0x00030468 addiu s6, zero, 1             |         s6 = 1;
    0x0003046c b 0x2fa20                     |         goto label_7;
                                             | label_111:
    0x00030470 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00030474 lw a2, 0x40(sp)               |         a2 = *(var_40h_3);
    0x00030478 lw t9, 0x24(sp)               |         t9 = *(var_24h_4);
                                             |         /* str.xen__s */
    0x0003047c addiu a1, a1, -0x404          |         a1 += -0x404;
    0x00030480 addiu a0, sp, 0x38            |         a0 = sp + 0x38;
    0x00030484 jalr t9                       |         t9 ();
    0x00030488 lw a0, 0x34(sp)               |         a0 = *(var_34h_2);
                                             |         /* esilref: 'xen' */
    0x0003048c addiu a1, fp, -0x408          |         a1 = fp + -aav.0x00000408;
    0x00030490 b 0x30350                     |         
                                             |     } while (1);
                                             | label_109:
    0x00030494 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030498 lw a2, 0x40(sp)               |     a2 = *(var_40h_3);
    0x0003049c lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.platform__s */
    0x000304a0 addiu a1, a1, -0x424          |     a1 += -aav.0x00000424;
    0x000304a4 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000304a8 jalr t9                       |     t9 ();
    0x000304ac lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* str.platform */
    0x000304b0 addiu a1, fp, -0xa34          |     a1 = fp + -aav.0x00000a34;
                                             | label_24:
    0x000304b4 lw t9, 0x28(sp)               |     t9 = *(var_30h_5);
    0x000304b8 addiu s6, zero, 1             |     s6 = 1;
    0x000304bc jalr t9                       |     t9 ();
    0x000304c0 move s0, v0                   |     s0 = v0;
    0x000304c4 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x000304c8 addiu v0, zero, 1             |     v0 = 1;
    0x000304cc lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x000304d0 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000304d4 b 0x2fa20                     |     goto label_7;
                                             | label_110:
    0x000304d8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000304dc lw a2, 0x40(sp)               |     a2 = *(var_40h_3);
    0x000304e0 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.acpi__s */
    0x000304e4 addiu a1, a1, -0x410          |     a1 += -0x410;
    0x000304e8 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000304ec jalr t9                       |     t9 ();
    0x000304f0 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* str.acpi */
    0x000304f4 addiu a1, fp, -0x418          |     a1 = fp + -0x418;
    0x000304f8 b 0x30350                     |     goto label_18;
                                             | label_123:
    0x000304fc sw zero, 0x5c(sp)             |     *(var_5ch_5) = 0;
    0x00030500 sw zero, 0x60(sp)             |     *(var_60h_5) = 0;
    0x00030504 sw zero, 0x64(sp)             |     *(var_64h_5) = 0;
    0x00030508 sw zero, 0x68(sp)             |     *(var_68h_5) = 0;
    0x0003050c sw zero, 0x74(sp)             |     *(var_74h_5) = 0;
                                             |     if (s0 == 0) {
    0x00030510 beqz s0, 0x309c4              |         goto label_130;
                                             |     }
    0x00030514 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00030518 lw t9, -0x7b94(gp)            |     t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x0003051c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x00030520 addiu a3, sp, 0x50            |     a3 = sp + 0x50;
                                             |     /* str.scsi_target */
    0x00030524 addiu a2, v0, -0x564          |     a2 = v0 + -aav.0x00000564;
    0x00030528 addiu a1, s5, -0x684          |     a1 = s5 + -0x684;
    0x0003052c move a0, s0                   |     a0 = s0;
    0x00030530 bal 0x4c154                   |     sym_sd_device_get_parent_with_subsystem_devtype ();
    0x00030534 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030538 bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x0003053c lw t9, -0x7ed8(gp)            |     t9 = sym.sd_device_get_parent;
    0x00030540 lw a0, 0x50(sp)               |     a0 = *(var_50h_3);
    0x00030544 addiu a1, sp, 0x54            |     a1 = sp + 0x54;
    0x00030548 bal 0x4a720                   |     sym_sd_device_get_parent ();
    0x0003054c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030550 bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x00030554 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00030558 addiu fp, sp, 0x70            |     fp = sp + 0x70;
    0x0003055c lw a0, 0x54(sp)               |     a0 = *(var_54h_3);
    0x00030560 move a1, fp                   |     a1 = fp;
    0x00030564 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00030568 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0003056c bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x00030570 lw s6, -0x7fc4(gp)            |     s6 = *(gp);
    0x00030574 lw t9, -0x7b84(gp)            |     t9 = sym.sd_device_new_from_subsystem_sysname;
    0x00030578 lw a2, 0x70(sp)               |     a2 = *(var_70h_5);
                                             |     /* str.sas_device */
    0x0003057c addiu a1, s6, -0x520          |     a1 = s6 + -0x520;
    0x00030580 addiu a0, sp, 0x5c            |     a0 = sp + 0x5c;
    0x00030584 bal 0x494bc                   |     sym_sd_device_new_from_subsystem_sysname ();
    0x00030588 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0003058c bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x00030590 lw t9, -0x7ed8(gp)            |     t9 = sym.sd_device_get_parent;
    0x00030594 lw a0, 0x54(sp)               |     a0 = *(var_54h_3);
    0x00030598 addiu a1, sp, 0x58            |     a1 = sp + 0x58;
    0x0003059c bal 0x4a720                   |     sym_sd_device_get_parent ();
    0x000305a0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000305a4 bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x000305a8 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x000305ac lw a0, 0x58(sp)               |     a0 = *(var_58h_3);
    0x000305b0 move a1, fp                   |     a1 = fp;
    0x000305b4 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x000305b8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000305bc bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x000305c0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000305c4 lw t9, -0x7b84(gp)            |     t9 = sym.sd_device_new_from_subsystem_sysname;
    0x000305c8 lw a2, 0x70(sp)               |     a2 = *(var_70h_5);
                                             |     /* str.sas_port */
    0x000305cc addiu a1, a1, -0x514          |     a1 += -aav.0x00000514;
    0x000305d0 addiu a0, sp, 0x64            |     a0 = sp + 0x64;
    0x000305d4 bal 0x494bc                   |     sym_sd_device_new_from_subsystem_sysname ();
    0x000305d8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000305dc bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x000305e0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000305e4 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x000305e8 lw a0, 0x64(sp)               |     a0 = *(var_64h_5);
    0x000305ec addiu a2, sp, 0x6c            |     a2 = sp + 0x6c;
                                             |     /* str.num_phys */
    0x000305f0 addiu a1, a1, -0x508          |     a1 += -0x508;
    0x000305f4 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x000305f8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000305fc bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x00030600 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030604 lw t9, -0x7178(gp)            |     t9 = *((gp - 7262));
    0x00030608 lw a0, 0x6c(sp)               |     a0 = *(var_6ch_5);
    0x0003060c addiu a1, a1, -0x6124         |     a1 += -0x6124;
    0x00030610 jalr t9                       |     t9 ();
    0x00030614 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 != 0) {
    0x00030618 bnez v0, 0x30a00              |         goto label_132;
                                             |     }
    0x0003061c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030620 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00030624 lw a0, 0x5c(sp)               |     a0 = *(var_5ch_5);
    0x00030628 addiu a2, sp, 0x8c            |     a2 = sp + 0x8c;
                                             |     /* str.phy_identifier */
    0x0003062c addiu a1, a1, -0x4e4          |     a1 += -0x4e4;
    0x00030630 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00030634 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030638 bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x0003063c lw t9, -0x7ed8(gp)            |     t9 = sym.sd_device_get_parent;
    0x00030640 lw a0, 0x58(sp)               |     a0 = *(var_58h_3);
    0x00030644 addiu a1, sp, 0x88            |     a1 = sp + 0x88;
    0x00030648 bal 0x4a720                   |     sym_sd_device_get_parent ();
    0x0003064c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030650 bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x00030654 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00030658 lw a0, 0x88(sp)               |     a0 = *(var_88h_2);
    0x0003065c move a1, fp                   |     a1 = fp;
    0x00030660 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00030664 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030668 bltz v0, 0x3074c              |         goto label_131;
                                             |     }
    0x0003066c lw t9, -0x7b84(gp)            |     t9 = sym.sd_device_new_from_subsystem_sysname;
    0x00030670 lw a2, 0x70(sp)               |     a2 = *(var_70h_5);
                                             |     /* str.sas_device */
    0x00030674 addiu a1, s6, -0x520          |     a1 = s6 + -0x520;
    0x00030678 addiu a0, sp, 0x60            |     a0 = sp + 0x60;
    0x0003067c bal 0x494bc                   |     sym_sd_device_new_from_subsystem_sysname ();
    0x00030680 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 >= 0) {
    0x00030684 bltz v0, 0x306a8              |         
    0x00030688 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0003068c lw t9, -0x7d18(gp)            |         t9 = sym.sd_device_get_sysattr_value;
    0x00030690 lw a0, 0x60(sp)               |         a0 = *(var_60h_5);
    0x00030694 addiu a2, sp, 0x68            |         a2 = sp + 0x68;
                                             |         /* str.sas_address */
    0x00030698 addiu a1, a1, -0x4fc          |         a1 += -0x4fc;
    0x0003069c bal 0x4e290                   |         sym_sd_device_get_sysattr_value ();
    0x000306a0 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 < 0) {
    0x000306a4 bltz v0, 0x3074c              |             goto label_131;
                                             |         }
                                             |     }
    0x000306a8 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x000306ac addiu a1, sp, 0x74            |     a1 = sp + 0x74;
                                             |     /* fcn.0002ef24 */
    0x000306b0 addiu t9, t9, -0x10dc         |     t9 += -0x10dc;
    0x000306b4 move a0, s0                   |     a0 = s0;
    0x000306b8 bal 0x2ef24                   |     fcn_0002ef24 ();
                                             |     goto label_1;
    0x000306bc lw a2, 0x68(sp)               |     a2 = *(var_68h_5);
    0x000306c0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (a2 == 0) {
    0x000306c4 beqz a2, 0x30b5c              |         goto label_133;
                                             |     }
    0x000306c8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000306cc lw v0, 0x74(sp)               |     v0 = *(var_74h_5);
    0x000306d0 lw a3, 0x8c(sp)               |     a3 = *(var_8ch_2);
    0x000306d4 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
    0x000306d8 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
                                             |     /* str.sas_exp_s_phy_s__s */
    0x000306dc addiu a1, a1, -0x4d4          |     a1 += -0x4d4;
    0x000306e0 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000306e4 jalr t9                       |     t9 ();
    0x000306e8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             | label_22:
    0x000306ec lw t9, -0x71d0(gp)            |     t9 = *((gp - 7284));
    0x000306f0 lw a0, 0x74(sp)               |     a0 = *(var_74h_5);
    0x000306f4 jalr t9                       |     t9 ();
    0x000306f8 lw a0, 0x64(sp)               |     a0 = *(var_64h_5);
    0x000306fc lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (a0 != 0) {
    0x00030700 beqz a0, 0x30714              |         
    0x00030704 lw t9, -0x7fdc(gp)            |         t9 = sym.sd_device_unref;
    0x00030708 bal 0x48690                   |         sym_sd_device_unref ();
    0x0003070c nop                           |         
    0x00030710 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |     }
    0x00030714 lw a0, 0x60(sp)               |     a0 = *(var_60h_5);
    0x00030718 lw t9, -0x7fdc(gp)            |     t9 = sym.sd_device_unref;
                                             |     if (a0 != 0) {
    0x0003071c beqz a0, 0x3072c              |         
    0x00030720 bal 0x48690                   |         sym_sd_device_unref ();
    0x00030724 nop                           |         
    0x00030728 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |     }
    0x0003072c lw a0, 0x5c(sp)               |     a0 = *(var_5ch_5);
    0x00030730 lw t9, -0x7fdc(gp)            |     t9 = sym.sd_device_unref;
                                             |     if (a0 != 0) {
    0x00030734 bnez a0, 0x30450              |         goto label_19;
                                             |     }
    0x00030738 addiu v0, zero, 1             |     v0 = 1;
    0x0003073c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x00030740 b 0x30464                     |     goto label_20;
                                             | label_129:
    0x00030744 move s0, zero                 |     s0 = 0;
    0x00030748 b 0x30434                     |     goto label_21;
                                             | label_131:
    0x0003074c move s0, zero                 |     s0 = 0;
    0x00030750 b 0x306ec                     |     goto label_22;
                                             | label_112:
    0x00030754 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* str.virtio */
    0x00030758 addiu a1, fp, -0xcdc          |     a1 = fp + -0xcdc;
    0x0003075c lw t9, 0x28(sp)               |     t9 = *(var_30h_5);
    0x00030760 b 0x2ffb8                     |     goto label_14;
                                             | label_124:
    0x00030764 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x00030768 move a0, s0                   |     a0 = s0;
    0x0003076c addiu a1, sp, 0x38            |     a1 = sp + 0x38;
    0x00030770 addiu t9, t9, -0xd08          |     t9 += -0xd08;
    0x00030774 b 0x30310                     |     goto label_23;
                                             | label_113:
    0x00030778 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0003077c lw a2, 0x40(sp)               |     a2 = *(var_40h_3);
    0x00030780 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.scm__s */
    0x00030784 addiu a1, a1, -0x3f8          |     a1 += -aav.0x000003f8;
    0x00030788 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x0003078c jalr t9                       |     t9 ();
    0x00030790 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* esilref: 'scm' */
    0x00030794 addiu a1, fp, -0x3fc          |     a1 = fp + -0x3fc;
    0x00030798 b 0x304b4                     |     goto label_24;
                                             | label_119:
    0x0003079c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000307a0 lw t9, -0x74c8(gp)            |     t9 = sym.imp.strncmp;
    0x000307a4 addiu a2, zero, 2             |     a2 = 2;
                                             |     /* esilref: 'st' */
    0x000307a8 addiu a1, a1, 0x4a6c          |     a1 += 0x4a6c;
    0x000307ac addiu a0, zero, -3            |     a0 = -3;
    0x000307b0 jalr t9                       |     t9 ();
    0x000307b4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 == 0) {
    0x000307b8 beqz v0, 0x302ac              |         goto label_25;
                                             |     }
    0x000307bc lw s0, 0x34(sp)               |     s0 = *(var_34h_2);
    0x000307c0 b 0x2fa20                     |     goto label_7;
                                             | label_125:
    0x000307c4 sw zero, 0x84(sp)             |     *(var_84h_2) = 0;
                                             |     if (s0 == 0) {
    0x000307c8 beqz s0, 0x30b24              |         goto label_134;
                                             |     }
    0x000307cc lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000307d0 lw t9, -0x7b94(gp)            |     t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x000307d4 addiu a3, sp, 0x7c            |     a3 = sp + 0x7c;
                                             |     /* str.scsi_host */
    0x000307d8 addiu a2, a2, -0x690          |     a2 += -0x690;
    0x000307dc addiu a1, s5, -0x684          |     a1 = s5 + -0x684;
    0x000307e0 move a0, s0                   |     a0 = s0;
    0x000307e4 bal 0x4c154                   |     sym_sd_device_get_parent_with_subsystem_devtype ();
    0x000307e8 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x000307ec bltz v0, 0x308cc              |         goto label_135;
                                             |     }
    0x000307f0 lw t9, -0x7ed8(gp)            |     t9 = sym.sd_device_get_parent;
    0x000307f4 lw a0, 0x7c(sp)               |     a0 = *(var_7ch_3);
    0x000307f8 addiu a1, sp, 0x80            |     a1 = sp + 0x80;
    0x000307fc bal 0x4a720                   |     sym_sd_device_get_parent ();
    0x00030800 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030804 bltz v0, 0x308cc              |         goto label_135;
                                             |     }
    0x00030808 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x0003080c lw a0, 0x80(sp)               |     a0 = *(var_80h_2);
    0x00030810 addiu a1, sp, 0x8c            |     a1 = sp + 0x8c;
    0x00030814 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00030818 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0003081c bltz v0, 0x308cc              |         goto label_135;
                                             |     }
    0x00030820 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030824 lw t9, -0x7b84(gp)            |     t9 = sym.sd_device_new_from_subsystem_sysname;
    0x00030828 lw a2, 0x8c(sp)               |     a2 = *(var_8ch_2);
                                             |     /* str.ata_port */
    0x0003082c addiu a1, a1, -0x49c          |     a1 += -0x49c;
    0x00030830 addiu a0, sp, 0x84            |     a0 = sp + 0x84;
    0x00030834 bal 0x494bc                   |     sym_sd_device_new_from_subsystem_sysname ();
    0x00030838 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0003083c bltz v0, 0x308cc              |         goto label_135;
                                             |     }
    0x00030840 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030844 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00030848 lw a0, 0x84(sp)               |     a0 = *(var_84h_2);
    0x0003084c addiu a2, sp, 0x88            |     a2 = sp + 0x88;
                                             |     /* str.port_no */
    0x00030850 addiu a1, a1, -0x490          |     a1 += -aav.0x00000490;
    0x00030854 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00030858 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x0003085c bltz v0, 0x308cc              |         goto label_135;
                                             |     }
    0x00030860 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030864 lw a2, 0x88(sp)               |     a2 = *(var_88h_2);
    0x00030868 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.ata__s */
    0x0003086c addiu a1, a1, -0x488          |     a1 += -0x488;
    0x00030870 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030874 jalr t9                       |     t9 ();
    0x00030878 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             | label_27:
    0x0003087c lw a0, 0x84(sp)               |     a0 = *(var_84h_2);
    0x00030880 lw t9, -0x7fdc(gp)            |     t9 = sym.sd_device_unref;
                                             |     if (a0 == 0) {
    0x00030884 beqz a0, 0x2ff34              |         goto label_13;
                                             |     }
    0x00030888 addiu s6, zero, 1             |     s6 = 1;
    0x0003088c bal 0x48690                   |     sym_sd_device_unref ();
    0x00030890 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030894 sw s0, 0x34(sp)               |     *(var_34h_2) = s0;
    0x00030898 b 0x2fa20                     |     goto label_7;
                                             | label_114:
    0x0003089c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000308a0 lw a2, 0x40(sp)               |     a2 = *(var_40h_3);
    0x000308a4 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.ccw__s */
    0x000308a8 addiu a1, a1, -0x3f0          |     a1 += -aav.0x000003f0;
    0x000308ac addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000308b0 jalr t9                       |     t9 ();
    0x000308b4 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* esilref: 'ccw' */
    0x000308b8 addiu a1, fp, -0xa9c          |     a1 = fp + -0xa9c;
    0x000308bc b 0x304b4                     |     goto label_24;
                                             | label_126:
    0x000308c0 move a0, s0                   |     a0 = s0;
    0x000308c4 addiu a2, zero, 0x25          |     a2 = 0x25;
    0x000308c8 b 0x3016c                     |     goto label_26;
                                             | label_135:
    0x000308cc move s0, zero                 |     s0 = 0;
    0x000308d0 b 0x3087c                     |     goto label_27;
                                             | label_115:
    0x000308d4 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000308d8 lw a2, 0x40(sp)               |     a2 = *(var_40h_3);
    0x000308dc lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.ccwgroup__s */
    0x000308e0 addiu a1, a1, -0x3e8          |     a1 += -aav.0x000003e8;
    0x000308e4 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000308e8 jalr t9                       |     t9 ();
    0x000308ec lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* str.ccwgroup */
    0x000308f0 addiu a1, fp, -0xaa8          |     a1 = fp + -0xaa8;
    0x000308f4 b 0x304b4                     |     goto label_24;
                                             | label_127:
    0x000308f8 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x000308fc addiu a1, sp, 0x38            |     a1 = sp + 0x38;
    0x00030900 addiu t9, t9, -0x9a8          |     t9 += -0x9a8;
    0x00030904 b 0x2ffb8                     |     goto label_14;
                                             | label_116:
    0x00030908 lw s0, 0x34(sp)               |     s0 = *(var_34h_2);
    0x0003090c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     if (s0 == 0) {
    0x00030910 beqz s0, 0x30b44              |         goto label_136;
                                             |     }
    0x00030914 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00030918 addiu a2, sp, 0x84            |     a2 = sp + 0x84;
                                             |     /* esilref: 'type' */
    0x0003091c addiu a1, a1, -0x6180         |     a1 += -0x6180;
    0x00030920 move a0, s0                   |     a0 = s0;
    0x00030924 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00030928 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 >= 0) {
    0x0003092c bltz v0, 0x30950              |         
    0x00030930 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00030934 lw t9, -0x7d18(gp)            |         t9 = sym.sd_device_get_sysattr_value;
    0x00030938 addiu a2, sp, 0x88            |         a2 = sp + 0x88;
                                             |         /* str.ap_functions */
    0x0003093c addiu a1, a1, -0x3dc          |         a1 += -0x3dc;
    0x00030940 move a0, s0                   |         a0 = s0;
    0x00030944 bal 0x4e290                   |         sym_sd_device_get_sysattr_value ();
    0x00030948 lw gp, 0x18(sp)               |         gp = *(var_18h_6);
                                             |         if (v0 >= 0) {
    0x0003094c bgez v0, 0x30afc              |             goto label_137;
                                             |         }
                                             |     }
    0x00030950 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00030954 addiu a1, sp, 0x8c            |     a1 = sp + 0x8c;
    0x00030958 move a0, s0                   |     a0 = s0;
    0x0003095c bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00030960 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030964 bgez v0, 0x30974              |         
                                             |         /* esilref: 'ap' */
    0x00030968 addiu a1, fp, -0x1d7c         |         a1 = fp + -0x1d7c;
    0x0003096c move a0, s0                   |         a0 = s0;
    0x00030970 b 0x304b4                     |         goto label_24;
                                             |     }
    0x00030974 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030978 lw a2, 0x8c(sp)               |     a2 = *(var_8ch_2);
    0x0003097c lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.ap__s */
    0x00030980 addiu a1, a1, -0x3c0          |     a1 += -0x3c0;
    0x00030984 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030988 jalr t9                       |     t9 ();
                                             |     /* esilref: 'ap' */
    0x0003098c addiu a1, fp, -0x1d7c         |     a1 = fp + -0x1d7c;
    0x00030990 move a0, s0                   |     a0 = s0;
    0x00030994 b 0x304b4                     |     goto label_24;
                                             | label_128:
    0x00030998 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x0003099c lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
                                             |     /* str.handle_scsi_fibre_channel */
    0x000309a0 addiu v0, v0, -0x2f4          |     v0 += -aav.0x000002f4;
    0x000309a4 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x000309a8 addiu a3, zero, 0x6e          |     a3 = 0x6e;
                                             |     do {
                                             | label_28:
    0x000309ac lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x000309b0 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
                                             |         /* esilref: 'src/udev/udev-builtin-path_id.c' */
    0x000309b4 addiu a2, a2, -0x6d5          |         a2 += -0x6d5;
                                             |         /* str.parent */
    0x000309b8 addiu a1, a1, -0x5944         |         a1 += -aav.0x00005944;
    0x000309bc addiu a0, zero, 1             |         a0 = 1;
    0x000309c0 jalr t9                       |         t9 ();
                                             | label_130:
    0x000309c4 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x000309c8 lw t9, -0x7fc0(gp)            |         t9 = sym.log_assert_failed_realm;
                                             |         /* str.handle_scsi_sas */
    0x000309cc addiu v0, v0, -0x304          |         v0 += -aav.0x00000304;
    0x000309d0 sw v0, 0x10(sp)               |         *(var_10h_6) = v0;
    0x000309d4 addiu a3, zero, 0xa0          |         a3 = 0xa0;
    0x000309d8 b 0x309ac                     |         
                                             |     } while (1);
                                             | label_117:
    0x000309dc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000309e0 lw a2, 0x40(sp)               |     a2 = *(var_40h_3);
    0x000309e4 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.iucv__s */
    0x000309e8 addiu a1, a1, -0x3b0          |     a1 += -0x3b0;
    0x000309ec addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000309f0 jalr t9                       |     t9 ();
    0x000309f4 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     /* str.iucv */
    0x000309f8 addiu a1, fp, -0x3b8          |     a1 = fp + -0x3b8;
    0x000309fc b 0x304b4                     |     goto label_24;
                                             | label_132:
    0x00030a00 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x00030a04 lw t9, -0x7b94(gp)            |     t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x00030a08 addiu a3, sp, 0x78            |     a3 = sp + 0x78;
    0x00030a0c addiu a2, v0, -0x564          |     a2 = v0 + -aav.0x00000564;
    0x00030a10 addiu a1, s5, -0x684          |     a1 = s5 + -0x684;
    0x00030a14 move a0, s0                   |     a0 = s0;
    0x00030a18 sw zero, 0x80(sp)             |     *(var_80h_2) = 0;
    0x00030a1c sw zero, 0x8c(sp)             |     *(var_8ch_2) = 0;
    0x00030a20 bal 0x4c154                   |     sym_sd_device_get_parent_with_subsystem_devtype ();
    0x00030a24 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030a28 bltz v0, 0x30b3c              |         goto label_138;
                                             |     }
    0x00030a2c lw t9, -0x7ed8(gp)            |     t9 = sym.sd_device_get_parent;
    0x00030a30 lw a0, 0x78(sp)               |     a0 = *(var_78h_3);
    0x00030a34 addiu a1, sp, 0x7c            |     a1 = sp + 0x7c;
    0x00030a38 bal 0x4a720                   |     sym_sd_device_get_parent ();
    0x00030a3c lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030a40 bltz v0, 0x30b3c              |         goto label_138;
                                             |     }
    0x00030a44 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00030a48 lw a0, 0x7c(sp)               |     a0 = *(var_7ch_3);
    0x00030a4c addiu a1, sp, 0x88            |     a1 = sp + 0x88;
    0x00030a50 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00030a54 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030a58 bltz v0, 0x30b3c              |         goto label_138;
                                             |     }
    0x00030a5c lw t9, -0x7b84(gp)            |     t9 = sym.sd_device_new_from_subsystem_sysname;
    0x00030a60 lw a2, 0x88(sp)               |     a2 = *(var_88h_2);
                                             |     /* str.sas_device */
    0x00030a64 addiu a1, s6, -0x520          |     a1 = s6 + -0x520;
    0x00030a68 addiu a0, sp, 0x80            |     a0 = sp + 0x80;
    0x00030a6c bal 0x494bc                   |     sym_sd_device_new_from_subsystem_sysname ();
    0x00030a70 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030a74 bltz v0, 0x30b3c              |         goto label_138;
                                             |     }
    0x00030a78 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030a7c lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00030a80 lw a0, 0x80(sp)               |     a0 = *(var_80h_2);
    0x00030a84 addiu a2, sp, 0x84            |     a2 = sp + 0x84;
                                             |     /* str.sas_address */
    0x00030a88 addiu a1, a1, -0x4fc          |     a1 += -0x4fc;
    0x00030a8c bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00030a90 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (v0 < 0) {
    0x00030a94 bltz v0, 0x30b3c              |         goto label_138;
                                             |     }
    0x00030a98 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x00030a9c addiu a1, sp, 0x8c            |     a1 = sp + 0x8c;
                                             |     /* fcn.0002ef24 */
    0x00030aa0 addiu t9, t9, -0x10dc         |     t9 += -0x10dc;
    0x00030aa4 move a0, s0                   |     a0 = s0;
    0x00030aa8 bal 0x2ef24                   |     fcn_0002ef24 ();
                                             |     goto label_1;
    0x00030aac lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030ab0 lw a3, 0x8c(sp)               |     a3 = *(var_8ch_2);
    0x00030ab4 lw a2, 0x84(sp)               |     a2 = *(var_84h_2);
    0x00030ab8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030abc lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.sas__s__s */
    0x00030ac0 addiu a1, a1, -0x4f0          |     a1 += -aav.0x000004f0;
    0x00030ac4 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030ac8 jalr t9                       |     t9 ();
    0x00030acc lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             | label_29:
    0x00030ad0 lw t9, -0x71d0(gp)            |     t9 = *((gp - 7284));
    0x00030ad4 lw a0, 0x8c(sp)               |     a0 = *(var_8ch_2);
    0x00030ad8 jalr t9                       |     t9 ();
    0x00030adc lw a0, 0x80(sp)               |     a0 = *(var_80h_2);
    0x00030ae0 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
                                             |     if (a0 == 0) {
    0x00030ae4 beqz a0, 0x306ec              |         goto label_22;
                                             |     }
    0x00030ae8 lw t9, -0x7fdc(gp)            |     t9 = sym.sd_device_unref;
    0x00030aec bal 0x48690                   |     sym_sd_device_unref ();
    0x00030af0 nop                           |     
    0x00030af4 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030af8 b 0x306ec                     |     goto label_22;
                                             | label_137:
    0x00030afc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030b00 lw a3, 0x88(sp)               |     a3 = *(var_88h_2);
    0x00030b04 lw a2, 0x84(sp)               |     a2 = *(var_84h_2);
    0x00030b08 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.ap__s__s */
    0x00030b0c addiu a1, a1, -0x3cc          |     a1 += -0x3cc;
    0x00030b10 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030b14 jalr t9                       |     t9 ();
                                             |     /* esilref: 'ap' */
    0x00030b18 addiu a1, fp, -0x1d7c         |     a1 = fp + -0x1d7c;
    0x00030b1c move a0, s0                   |     a0 = s0;
    0x00030b20 b 0x304b4                     |     goto label_24;
                                             | label_134:
    0x00030b24 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00030b28 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
                                             |     /* str.handle_scsi_ata */
    0x00030b2c addiu v0, v0, -0x328          |     v0 += -aav.0x00000328;
    0x00030b30 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x00030b34 addiu a3, zero, 0x106         |     a3 = 0x106;
    0x00030b38 b 0x309ac                     |     goto label_28;
                                             | label_138:
    0x00030b3c move s0, zero                 |     s0 = 0;
    0x00030b40 b 0x30ad0                     |     goto label_29;
                                             | label_136:
    0x00030b44 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00030b48 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
                                             |     /* str.handle_ap */
    0x00030b4c addiu v0, v0, -0x35c          |     v0 += -aav.0x0000035c;
    0x00030b50 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x00030b54 addiu a3, zero, 0x1f9         |     a3 = 0x1f9;
    0x00030b58 b 0x309ac                     |     goto label_28;
                                             | label_133:
    0x00030b5c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00030b60 lw a3, 0x74(sp)               |     a3 = *(var_74h_5);
    0x00030b64 lw a2, 0x8c(sp)               |     a2 = *(var_8ch_2);
    0x00030b68 lw t9, 0x24(sp)               |     t9 = *(var_24h_4);
                                             |     /* str.sas_phy_s__s */
    0x00030b6c addiu a1, a1, -0x4c0          |     a1 += -0x4c0;
    0x00030b70 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x00030b74 jalr t9                       |     t9 ();
    0x00030b78 lw gp, 0x18(sp)               |     gp = *(var_18h_6);
    0x00030b7c b 0x306ec                     |     goto label_22;
                                             | label_101:
    0x00030b80 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00030b84 jalr t9                       |     t9 ();
    0x00030b88 nop                           |     
                                             | label_36:
    0x00030b8c lui gp, 9                     |     
    0x00030b90 addiu gp, gp, 0x65e4          |     
    0x00030b94 addu gp, gp, t9               |     gp += t9;
    0x00030b98 addiu sp, sp, -0x7ff0         |     
    0x00030b9c ori v1, zero, 0x80a8          |     v1 = 0x80a8;
    0x00030ba0 sw fp, 0x7fe8(sp)             |     *(arg_7fe8h) = fp;
    0x00030ba4 sw s4, 0x7fd8(sp)             |     *(arg_7fd8h) = s4;
    0x00030ba8 sw s3, 0x7fd4(sp)             |     *(arg_7fd4h) = s3;
    0x00030bac sw s2, 0x7fd0(sp)             |     *(arg_7fd0h) = s2;
    0x00030bb0 sw s1, 0x7fcc(sp)             |     *(arg_7fcch) = s1;
    0x00030bb4 sw ra, 0x7fec(sp)             |     *(arg_7fech) = ra;
    0x00030bb8 sw s7, 0x7fe4(sp)             |     *(arg_7fe4h) = s7;
    0x00030bbc sw s6, 0x7fe0(sp)             |     *(arg_7fe0h) = s6;
    0x00030bc0 sw s5, 0x7fdc(sp)             |     *(arg_7fdch) = s5;
    0x00030bc4 sw s0, 0x7fc8(sp)             |     *(arg_7fc8h) = s0;
    0x00030bc8 subu sp, sp, v1               |     
    0x00030bcc move fp, sp                   |     fp = sp;
    0x00030bd0 lui s2, 1                     |     s2 = 0x10000;
    0x00030bd4 lw s1, -0x71f0(gp)            |     s1 = *((gp - 7292));
    0x00030bd8 addiu a2, fp, 0x10            |     a2 = fp + 0x10;
    0x00030bdc move s3, a1                   |     s3 = a1;
    0x00030be0 ori v1, s2, 0x60              |     v1 = s2 | 0x60;
    0x00030be4 lui a1, 0xfffe                |     a1 = 0xfffe0000;
    0x00030be8 addu v1, v1, a2               |     v1 += a2;
    0x00030bec ori a1, a1, 0xffd8            |     a1 |= 0xffd8;
    0x00030bf0 addu a1, v1, a1               |     a1 = v1 + a1;
    0x00030bf4 sw gp, 0x30(sp)               |     *(var_30h_3) = gp;
    0x00030bf8 ori v1, s2, 0x5c              |     v1 = s2 | 0x5c;
    0x00030bfc lw v0, (s1)                   |     v0 = *(s1);
    0x00030c00 addu v1, v1, a2               |     v1 += a2;
    0x00030c04 lw t9, -0x7f70(gp)            |     t9 = sym.sd_device_get_syspath;
    0x00030c08 sw v0, (v1)                   |     *(v1) = v0;
    0x00030c0c move s4, a0                   |     s4 = a0;
    0x00030c10 bal 0x4a62c                   |     sym_sd_device_get_syspath ();
    0x00030c14 lw gp, 0x30(fp)               |     gp = *(arg_30h);
                                             |     if (v0 < 0) {
    0x00030c18 bltz v0, 0x30f68              |         goto label_139;
                                             |     }
    0x00030c1c ori v1, s2, 0x60              |     v1 = s2 | 0x60;
    0x00030c20 addiu a0, fp, 0x10            |     a0 = fp + 0x10;
    0x00030c24 lui v0, 0xffff                |     v0 = 0xffff0000;
    0x00030c28 addu v1, v1, a0               |     v1 += a0;
    0x00030c2c addu v0, v1, v0               |     v0 = v1 + v0;
    0x00030c30 lw s0, -0x28(v0)              |     s0 = *((v0 - 10));
    0x00030c34 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s0 == 0) {
    0x00030c38 beqz s0, 0x311a8              |         goto label_140;
                                             |     }
    0x00030c3c move a0, s0                   |     a0 = s0;
    0x00030c40 jalr t9                       |     t9 ();
    0x00030c44 lui a0, 0x40                  |     a0 = 0x400000;
    0x00030c48 addiu v1, v0, 0xd             |     v1 = v0 + 0xd;
    0x00030c4c addiu a0, a0, 1               |     a0++;
    0x00030c50 sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x00030c54 lw gp, 0x30(fp)               |     gp = *(arg_30h);
                                             |     if (v1 == 0) {
    0x00030c58 beqz v1, 0x310a8              |         goto label_141;
                                             |     }
    0x00030c5c addiu v0, v0, 0x14            |     v0 += 0x14;
    0x00030c60 srl v0, v0, 3                 |     v0 >>= 3;
    0x00030c64 sll v0, v0, 3                 |     v0 <<= 3;
    0x00030c68 subu sp, sp, v0               |     
    0x00030c6c lw t9, -0x722c(gp)            |     t9 = sym.imp.stpcpy;
    0x00030c70 addiu s2, sp, 0x30            |     s2 = sp + 0x30;
    0x00030c74 move a1, s0                   |     a1 = s0;
    0x00030c78 move a0, s2                   |     a0 = s2;
    0x00030c7c jalr t9                       |     t9 ();
    0x00030c80 lw gp, 0x30(fp)               |     gp = *(arg_30h);
    0x00030c84 lw a0, -0x7fc4(gp)            |     a0 = *(gp);
                                             |     /* str._descriptors */
    0x00030c88 addiu v1, a0, -0x200          |     v1 = a0 + -aav.0x00000200;
    0x00030c8c lw a0, -0x200(a0)             |     a0 = *(a0);
    0x00030c90 lw a1, 4(v1)                  |     a1 = *((v1 + 1));
    0x00030c94 swl a0, 3(v0)                 |     __asm ("swl a0, 3(v0)");
    0x00030c98 swr a0, (v0)                  |     __asm ("swr a0, (v0)");
    0x00030c9c swl a1, 7(v0)                 |     __asm ("swl a1, 7(v0)");
    0x00030ca0 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
    0x00030ca4 swr a1, 4(v0)                 |     __asm ("swr a1, 4(v0)");
    0x00030ca8 lbu v1, 0xc(v1)               |     v1 = *((v1 + 12));
    0x00030cac swl a0, 0xb(v0)               |     __asm ("swl a0, 0xb(v0)");
    0x00030cb0 swr a0, 8(v0)                 |     __asm ("swr a0, 8(v0)");
    0x00030cb4 sb v1, 0xc(v0)                |     *((v0 + 12)) = v1;
    0x00030cb8 addiu v0, v0, 0xc             |     v0 += 0xc;
                                             | label_35:
    0x00030cbc lw t9, -0x7354(gp)            |     t9 = sym.imp.open64;
    0x00030cc0 sb zero, (v0)                 |     *(v0) = 0;
    0x00030cc4 lui a1, 8                     |     a1 = 0x80000;
    0x00030cc8 move a0, s2                   |     a0 = s2;
    0x00030ccc jalr t9                       |     t9 ();
    0x00030cd0 move s5, v0                   |     s5 = v0;
    0x00030cd4 lw gp, 0x30(fp)               |     gp = *(arg_30h);
                                             |     if (v0 < 0) {
    0x00030cd8 bltz v0, 0x30e60              |         goto label_142;
                                             |     }
    0x00030cdc lui v0, 1                     |     v0 = 0x10000;
    0x00030ce0 addiu v1, fp, 0x10            |     v1 = fp + 0x10;
    0x00030ce4 lui s0, 0xfffe                |     s0 = 0xfffe0000;
    0x00030ce8 ori v0, v0, 0x60              |     v0 |= 0x60;
    0x00030cec lw t9, -0x7184(gp)            |     t9 = sym.imp.read;
    0x00030cf0 addu v0, v0, v1               |     v0 += v1;
    0x00030cf4 ori s0, s0, 0xffe8            |     s0 |= 0xffe8;
    0x00030cf8 lui s6, 1                     |     s6 = 10000;
    0x00030cfc addiu a2, s6, 0x11            |     a2 = 0x10011;
    0x00030d00 addu a1, v0, s0               |     a1 = v0 + s0;
    0x00030d04 move a0, s5                   |     a0 = s5;
    0x00030d08 jalr t9                       |     t9 ();
    0x00030d0c move t0, v0                   |     t0 = v0;
    0x00030d10 slti v0, v0, 0x12             |     v0 = (v0 < 0x12) ? 1 : 0;
    0x00030d14 lw gp, 0x30(fp)               |     gp = *(arg_30h);
                                             |     if (v0 != 0) {
    0x00030d18 bnez v0, 0x30fb0              |         goto label_143;
                                             |     }
    0x00030d1c addiu s6, s6, 0x12            |     s6 += 0x12;
    0x00030d20 slt s6, t0, s6                |     s6 = (t0 < s6) ? 1 : 0;
    0x00030d24 lui v0, 1                     |     v0 = 0x10000;
                                             |     if (s6 == 0) {
    0x00030d28 beqz s6, 0x311b8              |         goto label_144;
                                             |     }
    0x00030d2c ori v0, v0, 0x60              |     v0 |= 0x60;
    0x00030d30 addiu v1, fp, 0x10            |     v1 = fp + 0x10;
    0x00030d34 addiu t2, s0, -8              |     t2 = s0 + -8;
    0x00030d38 addu v0, v0, v1               |     v0 += v1;
    0x00030d3c addu s6, v0, t2               |     s6 = v0 + t2;
    0x00030d40 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00030d44 sw s0, 0x44(fp)               |     *(arg_44h) = s0;
    0x00030d48 sb zero, (s3)                 |     *(s3) = 0;
    0x00030d4c move s0, zero                 |     s0 = 0;
    0x00030d50 move s7, zero                 |     s7 = 0;
    0x00030d54 sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x00030d58 b 0x30d6c                     |     
                                             |     while (a1 != a0) {
                                             | label_30:
    0x00030d5c addiu v0, s7, 9               |         v0 = s7 + 9;
    0x00030d60 sltu v0, v0, t0               |         v0 = (v0 < t0) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x00030d64 beqz v0, 0x31080              |             goto label_145;
                                             |         }
    0x00030d68 nop                           |         
    0x00030d6c addiu t3, s0, 7               |         t3 = s0 + 7;
    0x00030d70 sltiu v0, t3, 0x1fe           |         v0 = (t3 < 0x1fe) ? 1 : 0;
    0x00030d74 addiu v1, fp, 0x10            |         v1 = fp + 0x10;
                                             |         if (v0 == 0) {
    0x00030d78 beqz v0, 0x31090              |             goto label_146;
                                             |         }
    0x00030d7c lui v0, 1                     |         v0 = 0x10060;
    0x00030d80 ori v0, v0, 0x60              |         
    0x00030d84 addu v0, v0, v1               |         v0 += v1;
    0x00030d88 lw v1, 0x44(fp)               |         v1 = *(arg_44h);
    0x00030d8c addu v0, v0, v1               |         v0 += v1;
    0x00030d90 addu v0, v0, s7               |         v0 += s7;
    0x00030d94 lbu v1, (v0)                  |         v1 = *(v0);
    0x00030d98 sltiu a0, v1, 3               |         a0 = (v1 < 3) ? 1 : 0;
    0x00030d9c addiu a0, t0, -9              |         a0 = t0 + -9;
                                             |         if (a0 != 0) {
    0x00030da0 bnez a0, 0x31080              |             goto label_145;
                                             |         }
    0x00030da4 sltu a0, a0, v1               |         a0 = (a0 < v1) ? 1 : 0;
    0x00030da8 addiu a0, zero, 4             |         a0 = 4;
                                             |         if (a0 != 0) {
    0x00030dac bnez a0, 0x310d4              |             goto label_147;
                                             |         }
    0x00030db0 lbu a1, 1(v0)                 |         a1 = *(var_8e0h);
    0x00030db4 addu s7, s7, v1               |         s7 += v1;
    0x00030db8 bne a1, a0, 0x30d5c           |         
                                             |     }
    0x00030dbc lbu t5, 7(v0)                 |     t5 = *(var_7h);
    0x00030dc0 lbu t4, 6(v0)                 |     t4 = *(var_6h);
    0x00030dc4 lbu v1, 5(v0)                 |     v1 = *(var_8e4h);
    0x00030dc8 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x00030dcc lw t9, -0x7164(gp)            |     t9 = sym.imp.__snprintf_chk
    0x00030dd0 addiu v0, v0, -0x210          |     v0 += -aav.0x00000210;
    0x00030dd4 sw t3, 0x3c(fp)               |     *(arg_3ch) = t3;
    0x00030dd8 sw t0, 0x40(fp)               |     *(arg_40h) = t0;
    0x00030ddc addiu a3, zero, 8             |     a3 = 8;
    0x00030de0 addiu a2, zero, 1             |     a2 = 1;
    0x00030de4 addiu a1, zero, 8             |     a1 = 8;
    0x00030de8 move a0, s6                   |     a0 = s6;
    0x00030dec sw t5, 0x1c(sp)               |     *(var_1ch_3) = t5;
    0x00030df0 sw t4, 0x18(sp)               |     *(var_10h_6) = t4;
    0x00030df4 sw v1, 0x14(sp)               |     *(var_14h_2) = v1;
    0x00030df8 sw v0, 0x10(sp)               |     *(var_10h_8) = v0;
    0x00030dfc jalr t9                       |     t9 ();
    0x00030e00 lw gp, 0x30(fp)               |     gp = *(arg_30h);
    0x00030e04 move a1, s6                   |     a1 = s6;
    0x00030e08 lw t9, -0x716c(gp)            |     t9 = sym.imp.strstr;
    0x00030e0c move a0, s3                   |     a0 = s3;
    0x00030e10 jalr t9                       |     t9 ();
    0x00030e14 lw gp, 0x30(fp)               |     gp = *(arg_30h);
    0x00030e18 lw t0, 0x40(fp)               |     t0 = *(arg_40h);
    0x00030e1c lw t3, 0x3c(fp)               |     t3 = *(arg_3ch);
                                             |     if (v0 != 0) {
    0x00030e20 bnez v0, 0x30d5c              |         goto label_30;
                                             |     }
    0x00030e24 lui v1, 1                     |     v1 = 0x10060;
    0x00030e28 ori v1, v1, 0x60              |     
    0x00030e2c addiu a0, fp, 0x10            |     a0 = fp + 0x10;
    0x00030e30 addu v1, v1, a0               |     v1 += a0;
    0x00030e34 lui v0, 0xffff                |     v0 = 0xffff0000;
    0x00030e38 addu v0, v1, v0               |     v0 = v1 + v0;
    0x00030e3c addu t1, s3, s0               |     t1 = s3 + s0;
    0x00030e40 lw v1, -0x20(v0)              |     v1 = *((v0 - 8));
    0x00030e44 lw v0, -0x1c(v0)              |     v0 = *((v0 - 7));
    0x00030e48 swl v1, 3(t1)                 |     __asm ("swl v1, 3(t1)");
    0x00030e4c swr v1, (t1)                  |     __asm ("swr v1, (t1)");
    0x00030e50 swl v0, 7(t1)                 |     __asm ("swl v0, 7(t1)");
    0x00030e54 swr v0, 4(t1)                 |     __asm ("swr v0, 4(t1)");
    0x00030e58 move s0, t3                   |     s0 = t3;
    0x00030e5c b 0x30d5c                     |     goto label_30;
                                             | label_142:
    0x00030e60 lui v0, 1                     |     v0 = 0x10000;
    0x00030e64 addiu v1, fp, 0x10            |     v1 = fp + 0x10;
    0x00030e68 ori v0, v0, 0x60              |     v0 |= 0x60;
    0x00030e6c addu v0, v0, v1               |     v0 += v1;
    0x00030e70 lui s0, 0xffff                |     s0 = 0xffff0000;
    0x00030e74 addu s6, v0, s0               |     s6 = v0 + s0;
    0x00030e78 lw t9, -0x73b8(gp)            |     t9 = sym.imp.__errno_location;
    0x00030e7c sw zero, -0x24(s6)            |     *((s6 - 9)) = 0;
    0x00030e80 jalr t9                       |     t9 ();
    0x00030e84 lw s3, (v0)                   |     s3 = *(v0);
    0x00030e88 lw gp, 0x30(fp)               |     gp = *(arg_30h);
                                             |     if (s4 != 0) {
    0x00030e8c beqz s4, 0x30ea8              |         
    0x00030e90 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00030e94 addiu a0, zero, 1             |         a0 = 1;
    0x00030e98 jalr t9                       |         t9 ();
    0x00030e9c slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00030ea0 lw gp, 0x30(fp)               |         gp = *(arg_30h);
                                             |         if (v0 == 0) {
    0x00030ea4 beqz v0, 0x30f74              |             goto label_148;
                                             |         }
                                             |     }
    0x00030ea8 move a0, zero                 |     a0 = 0;
                                             | label_31:
    0x00030eac move v0, zero                 |     v0 = 0;
                                             | label_32:
    0x00030eb0 lw v1, -0x7fc4(gp)            |     v1 = *(gp);
    0x00030eb4 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x00030eb8 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00030ebc lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00030ec0 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
                                             |     /* str.Failed_to_open___s_:__m */
    0x00030ec4 addiu v1, v1, -0x278          |     v1 += -aav.0x00000278;
                                             |     /* esilref: 'dev_if_packed_info' */
    0x00030ec8 addiu v0, v0, 0x200           |     v0 += aav.0x00000200;
    0x00030ecc sw a0, 0x18(sp)               |     *(var_10h_6) = a0;
    0x00030ed0 sw s2, 0x28(sp)               |     *(var_20h) = s2;
    0x00030ed4 sw v1, 0x24(sp)               |     *(var_24h_3) = v1;
    0x00030ed8 sw zero, 0x20(sp)             |     *(var_18h_6) = 0;
    0x00030edc sw zero, 0x1c(sp)             |     *(var_1ch_3) = 0;
    0x00030ee0 sw v0, 0x10(sp)               |     *(var_10h_8) = v0;
    0x00030ee4 addiu a3, zero, 0xa7          |     a3 = 0xa7;
                                             |     /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00030ee8 addiu a2, a2, -0x299          |     a2 += -0x299;
    0x00030eec move a1, s3                   |     a1 = s3;
    0x00030ef0 addiu a0, zero, 7             |     a0 = 7;
    0x00030ef4 jalr t9                       |     t9 ();
    0x00030ef8 lw gp, 0x30(fp)               |     gp = *(arg_30h);
    0x00030efc move s0, v0                   |     s0 = v0;
                                             |     do {
                                             | label_33:
    0x00030f00 lw t9, -0x7f88(gp)            |         t9 = sym.safe_close;
    0x00030f04 move a0, s5                   |         a0 = s5;
    0x00030f08 jalr t9                       |         t9 ();
    0x00030f0c lui v0, 1                     |         v0 = 0x10000;
    0x00030f10 addiu v1, fp, 0x10            |         v1 = fp + 0x10;
    0x00030f14 ori v0, v0, 0x5c              |         v0 |= 0x5c;
    0x00030f18 addu v0, v0, v1               |         v0 += v1;
    0x00030f1c lw gp, 0x30(fp)               |         gp = *(arg_30h);
    0x00030f20 lw a0, (v0)                   |         a0 = *(v0);
    0x00030f24 lw v1, (s1)                   |         v1 = *(s1);
    0x00030f28 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x00030f2c bne a0, v1, 0x311e4           |             goto label_149;
                                             |         }
    0x00030f30 ori t0, zero, 0x80a8          |         t0 = 0x80a8;
    0x00030f34 addu sp, fp, t0               |         
    0x00030f38 lw ra, 0x7fec(sp)             |         ra = *(var_904h);
    0x00030f3c lw fp, 0x7fe8(sp)             |         fp = *(var_900h);
    0x00030f40 lw s7, 0x7fe4(sp)             |         s7 = *(var_8fch);
    0x00030f44 lw s6, 0x7fe0(sp)             |         s6 = *(var_8f8h);
    0x00030f48 lw s5, 0x7fdc(sp)             |         s5 = *(var_8f4h);
    0x00030f4c lw s4, 0x7fd8(sp)             |         s4 = *(var_8f0h);
    0x00030f50 lw s3, 0x7fd4(sp)             |         s3 = *(var_8ech);
    0x00030f54 lw s2, 0x7fd0(sp)             |         s2 = *(var_8e8h);
    0x00030f58 lw s1, 0x7fcc(sp)             |         s1 = *(var_8e4h);
    0x00030f5c lw s0, 0x7fc8(sp)             |         s0 = *(var_8e0h);
    0x00030f60 addiu sp, sp, 0x7ff0          |         
    0x00030f64 jr ra                         |         return v0;
                                             | label_139:
    0x00030f68 move s0, v0                   |         s0 = v0;
    0x00030f6c addiu s5, zero, -1            |         s5 = -1;
    0x00030f70 b 0x30f00                     |         
                                             |     } while (1);
                                             | label_148:
    0x00030f74 lui v0, 1                     |     v0 = 0x10000;
    0x00030f78 addiu v1, fp, 0x10            |     v1 = fp + 0x10;
    0x00030f7c ori v0, v0, 0x60              |     v0 |= 0x60;
    0x00030f80 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00030f84 addu v0, v0, v1               |     v0 += v1;
    0x00030f88 addiu a1, s0, -0x24           |     a1 = s0 + -0x24;
    0x00030f8c move a0, s4                   |     a0 = s4;
    0x00030f90 addu a1, v0, a1               |     a1 = v0 + a1;
    0x00030f94 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00030f98 lw a0, -0x24(s6)              |     a0 = *((s6 - 9));
    0x00030f9c lw gp, 0x30(fp)               |     gp = *(arg_30h);
                                             |     if (a0 == 0) {
    0x00030fa0 beqz a0, 0x30eac              |         goto label_31;
                                             |     }
    0x00030fa4 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00030fa8 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00030fac b 0x30eb0                     |     goto label_32;
                                             | label_143:
    0x00030fb0 lui v0, 1                     |     v0 = 0x10060;
    0x00030fb4 ori v0, v0, 0x60              |     
    0x00030fb8 addiu v1, fp, 0x10            |     v1 = fp + 0x10;
    0x00030fbc addu v0, v0, v1               |     v0 += v1;
    0x00030fc0 subu s6, v0, s6               |     __asm ("subu s6, v0, s6");
    0x00030fc4 sw zero, -0x24(s6)            |     *((s6 - 9)) = 0;
                                             |     if (s4 != 0) {
    0x00030fc8 beqz s4, 0x30fe4              |         
    0x00030fcc lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00030fd0 addiu a0, zero, 1             |         a0 = 1;
    0x00030fd4 jalr t9                       |         t9 ();
    0x00030fd8 slti v0, v0, 4                |         v0 = (v0 < 4) ? 1 : 0;
    0x00030fdc lw gp, 0x30(fp)               |         gp = *(arg_30h);
                                             |         if (v0 == 0) {
    0x00030fe0 beqz v0, 0x31044              |             goto label_150;
                                             |         }
                                             |     }
    0x00030fe4 move a0, zero                 |     a0 = 0;
                                             |     do {
    0x00030fe8 move v0, zero                 |         v0 = 0;
                                             | label_34:
    0x00030fec lw v1, -0x7fc4(gp)            |         v1 = *(gp);
    0x00030ff0 sw v0, 0x14(sp)               |         *(var_14h_2) = v0;
    0x00030ff4 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00030ff8 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x00030ffc lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.Short_read_from___s_ */
    0x00031000 addiu v1, v1, -0x260          |         v1 += -aav.0x00000260;
                                             |         /* esilref: 'dev_if_packed_info' */
    0x00031004 addiu v0, v0, 0x200           |         v0 += aav.0x00000200;
    0x00031008 lui a1, 0x4000                |         a1 = 0x40000000;
    0x0003100c sw a0, 0x18(sp)               |         *(var_10h_6) = a0;
    0x00031010 sw s2, 0x28(sp)               |         *(var_20h) = s2;
    0x00031014 sw v1, 0x24(sp)               |         *(var_24h_3) = v1;
    0x00031018 sw zero, 0x20(sp)             |         *(var_18h_6) = 0;
    0x0003101c sw zero, 0x1c(sp)             |         *(var_1ch_3) = 0;
    0x00031020 sw v0, 0x10(sp)               |         *(var_10h_8) = v0;
    0x00031024 addiu a3, zero, 0xac          |         a3 = 0xac;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00031028 addiu a2, a2, -0x299          |         a2 += -0x299;
    0x0003102c addiu a1, a1, 5               |         a1 += 5;
    0x00031030 addiu a0, zero, 4             |         a0 = 4;
    0x00031034 jalr t9                       |         t9 ();
    0x00031038 move s0, v0                   |         s0 = v0;
    0x0003103c lw gp, 0x30(fp)               |         gp = *(arg_30h);
    0x00031040 b 0x30f00                     |         goto label_33;
                                             | label_150:
    0x00031044 lui v0, 1                     |         v0 = 0x10000;
    0x00031048 addiu v1, fp, 0x10            |         v1 = fp + 0x10;
    0x0003104c ori v0, v0, 0x60              |         v0 |= 0x60;
    0x00031050 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00031054 addu v0, v0, v1               |         v0 += v1;
    0x00031058 addiu s0, s0, -0xc            |         s0 += -0xc;
    0x0003105c move a0, s4                   |         a0 = s4;
    0x00031060 addu a1, v0, s0               |         a1 = v0 + s0;
    0x00031064 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00031068 lw a0, -0x24(s6)              |         a0 = *((s6 - 9));
    0x0003106c lw gp, 0x30(fp)               |         gp = *(arg_30h);
    0x00031070 beqz a0, 0x30fe8              |         
                                             |     } while (a0 == 0);
    0x00031074 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00031078 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x0003107c b 0x30fec                     |     goto label_34;
                                             | label_145:
    0x00031080 addu s3, s3, s0               |     s3 += s0;
                                             |     if (s0 != 0) {
    0x00031084 bnel s0, zero, 0x31094        |         
    0x00031088 move s0, zero                 |         s0 = 0;
    0x0003108c b 0x30f00                     |         goto label_33;
                                             | label_146:
    0x00031090 addu s3, s3, s0               |         s3 += s0;
                                             |     }
    0x00031094 addiu v0, zero, 0x3a          |     v0 = 0x3a;
    0x00031098 sb v0, (s3)                   |     *(s3) = v0;
    0x0003109c sb zero, 1(s3)                |     *((s3 + 1)) = 0;
    0x000310a0 move s0, zero                 |     s0 = 0;
    0x000310a4 b 0x30f00                     |     goto label_33;
                                             | label_141:
    0x000310a8 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000310ac lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000310b0 lw a1, -0x7fd0(gp)            |     a1 = *(gp);
                                             |     /* str.dev_if_packed_info */
    0x000310b4 addiu v0, v0, 0x214           |     v0 += aav.0x00000214;
    0x000310b8 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x000310bc sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x000310c0 addiu a3, zero, 0xa4          |     a3 = 0xa4;
                                             |     /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x000310c4 addiu a2, a2, -0x299          |     a2 += -0x299;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x000310c8 addiu a1, a1, 0x7c64          |     a1 += 0x7c64;
    0x000310cc addiu a0, zero, 1             |     a0 = 1;
    0x000310d0 jalr t9                       |     t9 ();
                                             | label_147:
    0x000310d4 lui v0, 1                     |     v0 = 0x10060;
    0x000310d8 ori v0, v0, 0x60              |     
    0x000310dc addiu v1, fp, 0x10            |     v1 = fp + 0x10;
    0x000310e0 lui s0, 0xffff                |     s0 = 0xffff0000;
    0x000310e4 addu v0, v0, v1               |     v0 += v1;
    0x000310e8 addu s3, v0, s0               |     s3 = v0 + s0;
    0x000310ec sw zero, -0x24(s3)            |     *((s3 - 9)) = 0;
                                             |     if (s4 != 0) {
    0x000310f0 beqz s4, 0x31148              |         
    0x000310f4 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x000310f8 addiu a0, zero, 1             |         a0 = 1;
    0x000310fc jalr t9                       |         t9 ();
    0x00031100 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00031104 lw gp, 0x30(fp)               |         gp = *(arg_30h);
                                             |         if (v0 == 0) {
    0x00031108 bnez v0, 0x31148              |             
    0x0003110c lui v0, 1                     |             v0 = 0x10000;
    0x00031110 addiu v1, fp, 0x10            |             v1 = fp + 0x10;
    0x00031114 ori v0, v0, 0x60              |             v0 |= 0x60;
    0x00031118 lw t9, -0x7fb8(gp)            |             t9 = sym.sd_device_get_sysname;
    0x0003111c addu v0, v0, v1               |             v0 += v1;
    0x00031120 addiu a1, s0, -0x24           |             a1 = s0 + -0x24;
    0x00031124 move a0, s4                   |             a0 = s4;
    0x00031128 addu a1, v0, a1               |             a1 = v0 + a1;
    0x0003112c bal 0x4ac0c                   |             sym_sd_device_get_sysname ();
    0x00031130 lw a0, -0x24(s3)              |             a0 = *((s3 - 9));
    0x00031134 lw gp, 0x30(fp)               |             gp = *(arg_30h);
                                             |             if (a0 == 0) {
    0x00031138 beqz a0, 0x3114c              |                 goto label_151;
                                             |             }
    0x0003113c lw v1, -0x7fd0(gp)            |             v1 = *(gp);
                                             |             /* str.DEVICE */
    0x00031140 addiu v1, v1, 0x7b84          |             v1 += 0x7b84;
    0x00031144 b 0x31150                     |             
                                             |         }
                                             |     } else {
    0x00031148 move a0, zero                 |         a0 = 0;
                                             | label_151:
    0x0003114c move v1, zero                 |         v1 = 0;
                                             |     }
    0x00031150 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00031154 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     /* str.Corrupt_data_read_from___s_ */
    0x00031158 addiu v0, v0, -0x22c          |     v0 += -aav.0x0000022c;
    0x0003115c sw v0, 0x24(sp)               |     *(var_24h_3) = v0;
    0x00031160 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00031164 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
                                             |     /* esilref: 'dev_if_packed_info' */
    0x00031168 addiu v0, v0, 0x200           |     v0 += aav.0x00000200;
    0x0003116c lui a1, 0x4000                |     a1 = 0x40000000;
    0x00031170 sw a0, 0x18(sp)               |     *(var_10h_6) = a0;
    0x00031174 sw s2, 0x28(sp)               |     *(var_20h) = s2;
    0x00031178 sw zero, 0x20(sp)             |     *(var_18h_6) = 0;
    0x0003117c sw zero, 0x1c(sp)             |     *(var_1ch_3) = 0;
    0x00031180 sw v1, 0x14(sp)               |     *(var_14h_2) = v1;
    0x00031184 sw v0, 0x10(sp)               |     *(var_10h_8) = v0;
    0x00031188 addiu a3, zero, 0xbb          |     a3 = 0xbb;
                                             |     /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x0003118c addiu a2, a2, -0x299          |     a2 += -0x299;
    0x00031190 addiu a1, a1, 5               |     a1 += 5;
    0x00031194 addiu a0, zero, 7             |     a0 = 7;
    0x00031198 jalr t9                       |     t9 ();
    0x0003119c move s0, v0                   |     s0 = v0;
    0x000311a0 lw gp, 0x30(fp)               |     gp = *(arg_30h);
    0x000311a4 b 0x30f00                     |     goto label_33;
                                             | label_140:
    0x000311a8 addiu sp, sp, -8              |     
    0x000311ac addiu v0, sp, 0x30            |     v0 = sp + 0x30;
    0x000311b0 move s2, v0                   |     s2 = v0;
    0x000311b4 b 0x30cbc                     |     goto label_35;
                                             | label_144:
    0x000311b8 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x000311bc lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000311c0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.dev_if_packed_info */
    0x000311c4 addiu v0, v0, 0x214           |     v0 += aav.0x00000214;
    0x000311c8 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x000311cc sw v0, 0x10(sp)               |     *(var_10h_8) = v0;
    0x000311d0 addiu a3, zero, 0xad          |     a3 = 0xad;
                                             |     /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x000311d4 addiu a2, a2, -0x299          |     a2 += -0x299;
                                             |     /* str._size_t__size___sizeof_buf */
    0x000311d8 addiu a1, a1, -0x248          |     a1 += -aav.0x00000248;
    0x000311dc addiu a0, zero, 1             |     a0 = 1;
    0x000311e0 jalr t9                       |     t9 ();
                                             | label_149:
    0x000311e4 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000311e8 jalr t9                       |     t9 ();
    0x000311ec nop                           |     
    0x000311f0 lui gp, 9                     |     
    0x000311f4 addiu gp, gp, 0x5f80          |     
    0x000311f8 addu gp, gp, t9               |     gp += t9;
    0x000311fc addiu sp, sp, -0x908          |     
    0x00031200 lw t9, -0x7398(gp)            |     t9 = sym.imp.memset;
    0x00031204 sw s1, 0x8e4(sp)              |     *(var_8e4h) = s1;
    0x00031208 lw s1, -0x71f0(gp)            |     s1 = *((gp - 7292));
    0x0003120c sw ra, 0x904(sp)              |     *(var_904h) = ra;
    0x00031210 sw gp, 0x30(sp)               |     *(var_30h_4) = gp;
    0x00031214 sw s2, 0x8e8(sp)              |     *(var_8e8h) = s2;
    0x00031218 sw s0, 0x8e0(sp)              |     *(var_8e0h) = s0;
    0x0003121c sw fp, 0x900(sp)              |     *(var_900h) = fp;
    0x00031220 sw s7, 0x8fc(sp)              |     *(var_8fch) = s7;
    0x00031224 sw s6, 0x8f8(sp)              |     *(var_8f8h) = s6;
    0x00031228 sw s5, 0x8f4(sp)              |     *(var_8f4h) = s5;
    0x0003122c sw s4, 0x8f0(sp)              |     *(var_8e8h) = s4;
    0x00031230 sw s3, 0x8ec(sp)              |     *(var_8e4h) = s3;
    0x00031234 lw v0, (s1)                   |     v0 = *(s1);
    0x00031238 addiu a2, zero, 0x3c          |     a2 = 0x3c;
    0x0003123c move a1, zero                 |     a1 = 0;
    0x00031240 move s0, a0                   |     s0 = a0;
    0x00031244 sw v0, 0x8dc(sp)              |     *(var_8dch) = v0;
    0x00031248 addiu a0, sp, 0xa0            |     a0 = sp + 0xa0;
    0x0003124c sw zero, 0x9c(sp)             |     *(var_9ch) = 0;
    0x00031250 move s2, a3                   |     s2 = a3;
    0x00031254 jalr t9                       |     t9 ();
    0x00031258 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x0003125c addiu a2, zero, 0x3c          |     a2 = 0x3c;
    0x00031260 move a1, zero                 |     a1 = 0;
    0x00031264 lw t9, -0x7398(gp)            |     t9 = sym.imp.memset;
    0x00031268 addiu a0, sp, 0xe0            |     a0 = sp + 0xe0;
    0x0003126c sw zero, 0xdc(sp)             |     *(var_dch) = 0;
    0x00031270 jalr t9                       |     t9 ();
    0x00031274 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031278 addiu a2, zero, 0x1fc         |     a2 = aav.0x000001fc;
    0x0003127c move a1, zero                 |     a1 = 0;
    0x00031280 lw t9, -0x7398(gp)            |     t9 = sym.imp.memset;
    0x00031284 addiu a0, sp, 0x4e0           |     a0 = sp + 0x4e0;
    0x00031288 sw zero, 0x4dc(sp)            |     *(var_4dch) = 0;
    0x0003128c jalr t9                       |     t9 ();
    0x00031290 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031294 addiu a2, zero, 0x1fc         |     a2 = aav.0x000001fc;
    0x00031298 move a1, zero                 |     a1 = 0;
    0x0003129c lw t9, -0x7398(gp)            |     t9 = sym.imp.memset;
    0x000312a0 addiu a0, sp, 0x6e0           |     a0 = sp + aav.0x000006e0;
    0x000312a4 sw zero, 0x6dc(sp)            |     *(var_6dch) = 0;
    0x000312a8 jalr t9                       |     t9 ();
    0x000312ac lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000312b0 addiu a2, zero, 0x3c          |     a2 = 0x3c;
    0x000312b4 move a1, zero                 |     a1 = 0;
    0x000312b8 lw t9, -0x7398(gp)            |     t9 = sym.imp.memset;
    0x000312bc addiu a0, sp, 0x120           |     a0 = sp + aav.0x00000120;
    0x000312c0 sw zero, 0x11c(sp)            |     *(var_11ch) = 0;
    0x000312c4 jalr t9                       |     t9 ();
    0x000312c8 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000312cc addiu a2, zero, 0x3c          |     a2 = 0x3c;
    0x000312d0 move a1, zero                 |     a1 = 0;
    0x000312d4 lw t9, -0x7398(gp)            |     t9 = sym.imp.memset;
    0x000312d8 addiu a0, sp, 0x160           |     a0 = sp + aav.0x00000160;
    0x000312dc sw zero, 0x15c(sp)            |     *(var_15ch) = 0;
    0x000312e0 jalr t9                       |     t9 ();
    0x000312e4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000312e8 addiu a2, zero, 0x3c          |     a2 = 0x3c;
    0x000312ec move a1, zero                 |     a1 = 0;
    0x000312f0 lw t9, -0x7398(gp)            |     t9 = sym.imp.memset;
    0x000312f4 addiu a0, sp, 0x1a0           |     a0 = sp + aav.0x000001a0;
    0x000312f8 sw zero, 0x19c(sp)            |     *(var_19ch) = 0;
    0x000312fc jalr t9                       |     t9 ();
    0x00031300 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031304 sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x00031308 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
                                             |     if (s0 == 0) {
    0x0003130c beqz s0, 0x3188c              |         goto label_152;
                                             |     }
    0x00031310 lw t9, -0x7f70(gp)            |     t9 = sym.sd_device_get_syspath;
    0x00031314 addiu a1, sp, 0x60            |     a1 = sp + 0x60;
    0x00031318 move a0, s0                   |     a0 = s0;
    0x0003131c bal 0x4a62c                   |     sym_sd_device_get_syspath ();
    0x00031320 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00031324 bltz v0, 0x317b8              |         goto label_47;
                                             |     }
    0x00031328 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x0003132c addiu a1, sp, 0x64            |     a1 = sp + 0x64;
    0x00031330 move a0, s0                   |     a0 = s0;
    0x00031334 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00031338 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x0003133c bltz v0, 0x317b8              |         goto label_47;
                                             |     }
    0x00031340 lw t9, -0x7f6c(gp)            |     t9 = sym.sd_device_get_devtype;
    0x00031344 addiu a1, sp, 0x68            |     a1 = sp + 0x68;
    0x00031348 move a0, s0                   |     a0 = s0;
    0x0003134c bal 0x4b88c                   |     sym_sd_device_get_devtype ();
    0x00031350 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 >= 0) {
    0x00031354 bltz v0, 0x31374              |         
    0x00031358 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0003135c lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
    0x00031360 lw a0, 0x68(sp)               |         a0 = *(var_68h_4);
                                             |         /* str.usb_device */
    0x00031364 addiu a1, a1, -0x348c         |         a1 += -aav.0x0000348c;
    0x00031368 jalr t9                       |         t9 ();
    0x0003136c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 == 0) {
    0x00031370 beqz v0, 0x31460              |             goto label_153;
                                             |         }
                                             |     }
    0x00031374 lw s4, -0x7fc4(gp)            |     s4 = *(gp);
    0x00031378 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003137c lw t9, -0x7b94(gp)            |     t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x00031380 addiu a3, sp, 0x50            |     a3 = sp + 0x50;
                                             |     /* str.usb_interface */
    0x00031384 addiu a2, a2, -0x99c          |     a2 += -0x99c;
                                             |     /* esilref: 'usb' */
    0x00031388 addiu a1, s4, -0x3490         |     a1 = s4 + -0x3490;
    0x0003138c move a0, s0                   |     a0 = s0;
    0x00031390 bal 0x4c154                   |     sym_sd_device_get_parent_with_subsystem_devtype ();
    0x00031394 move s3, v0                   |     s3 = v0;
    0x00031398 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x0003139c bltz v0, 0x317f4              |         goto label_154;
                                             |     }
    0x000313a0 lw t9, -0x7f70(gp)            |     t9 = sym.sd_device_get_syspath;
    0x000313a4 lw a0, 0x50(sp)               |     a0 = *(var_50h_2);
    0x000313a8 addiu a1, sp, 0x6c            |     a1 = sp + 0x6c;
    0x000313ac bal 0x4a62c                   |     sym_sd_device_get_syspath ();
    0x000313b0 move s3, v0                   |     s3 = v0;
    0x000313b4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x000313b8 bltz v0, 0x318b8              |         goto label_155;
                                             |     }
    0x000313bc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000313c0 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x000313c4 lw a0, 0x50(sp)               |     a0 = *(var_50h_2);
    0x000313c8 addiu a2, sp, 0x48            |     a2 = sp + 0x48;
                                             |     /* str.bInterfaceNumber */
    0x000313cc addiu a1, a1, -0x174          |     a1 += -aav.0x00000174;
    0x000313d0 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x000313d4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000313d8 lw a0, 0x50(sp)               |     a0 = *(var_50h_2);
    0x000313dc addiu a2, sp, 0x4c            |     a2 = sp + 0x4c;
    0x000313e0 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000313e4 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
                                             |     /* str.driver */
    0x000313e8 addiu a1, a1, -0x5964         |     a1 += -0x5964;
    0x000313ec bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x000313f0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000313f4 lw a0, 0x50(sp)               |     a0 = *(var_50h_2);
    0x000313f8 addiu a2, sp, 0x58            |     a2 = sp + 0x58;
    0x000313fc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00031400 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
                                             |     /* str.bInterfaceClass */
    0x00031404 addiu a1, a1, -0x160          |     a1 += -aav.0x00000160;
    0x00031408 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x0003140c move s3, v0                   |     s3 = v0;
    0x00031410 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00031414 bltz v0, 0x31940              |         goto label_156;
                                             |     }
    0x00031418 lw t9, -0x7328(gp)            |     t9 = sym.imp.strtoul;
    0x0003141c lw a0, 0x58(sp)               |     a0 = *(var_58h_2);
    0x00031420 addiu a2, zero, 0x10          |     a2 = 0x10;
    0x00031424 move a1, zero                 |     a1 = 0;
    0x00031428 jalr t9                       |     t9 ();
    0x0003142c move s3, v0                   |     s3 = v0;
    0x00031430 addiu v0, zero, 8             |     v0 = 8;
    0x00031434 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (s3 == v0) {
    0x00031438 beq s3, v0, 0x31ccc           |         goto label_157;
                                             |     }
    0x0003143c sltiu v0, s3, 0xf             |     v0 = (s3 < 0xf) ? 1 : 0;
    0x00031440 lw v1, -0x7fc4(gp)            |     v1 = *(gp);
                                             |     if (v0 == 0) {
    0x00031444 beqz v0, 0x31b8c              |         goto label_158;
                                             |     }
    0x00031448 sll v0, s3, 2                 |     v0 = s3 << 2;
    0x0003144c addiu v1, v1, 0x168           |     v1 += aav.0x00000168;
    0x00031450 lwx v0, v0(v1)                |     __asm ("lwx v0, v0(v1)");
    0x00031454 addu v0, v0, gp               |     v0 += gp;
    0x00031458 jr v0                         |     v0 ();
    0x0003145c nop                           |     
                                             | label_153:
    0x00031460 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x00031464 addiu s3, sp, 0x6dc           |     s3 = sp + 0x6dc;
    0x00031468 move a0, s0                   |     a0 = s0;
    0x0003146c addiu t9, t9, 0xb8c           |     t9 += aav.0x00000b8c;
    0x00031470 move a1, s3                   |     a1 = s3;
    0x00031474 bal 0x30b8c                   |     fcn_30b8c ();
                                             |     goto label_36;
    0x00031478 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x0003147c addiu v1, sp, 0x90            |     v1 = sp + 0x90;
    0x00031480 sw s0, 0x54(sp)               |     *(var_54h_2) = s0;
    0x00031484 move a0, s0                   |     a0 = s0;
                                             | label_42:
    0x00031488 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0003148c lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00031490 move a2, v1                   |     a2 = v1;
                                             |     /* str.idVendor */
    0x00031494 addiu a1, a1, -0x3480         |     a1 += -0x3480;
    0x00031498 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x0003149c move s4, v0                   |     s4 = v0;
    0x000314a0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x000314a4 bltz v0, 0x31b98              |         goto label_159;
                                             |     }
    0x000314a8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x000314ac lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x000314b0 lw a0, 0x54(sp)               |     a0 = *(var_54h_2);
    0x000314b4 addiu a2, sp, 0x94            |     a2 = sp + 0x94;
                                             |     /* str.idProduct */
    0x000314b8 addiu a1, a1, -0x3474         |     a1 += -0x3474;
    0x000314bc bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x000314c0 move s4, v0                   |     s4 = v0;
    0x000314c4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x000314c8 bltz v0, 0x31cfc              |         goto label_160;
                                             |     }
    0x000314cc lb v0, 0x9c(sp)               |     v0 = *(var_9ch);
    0x000314d0 addiu v0, sp, 0x1dc           |     v0 = sp + aav.0x000001dc;
                                             |     if (v0 == 0) {
    0x000314d4 beqz v0, 0x31e94              |         goto label_161;
                                             |     }
    0x000314d8 addiu s4, sp, 0x98            |     s4 = sp + 0x98;
    0x000314dc sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x000314e0 addiu s5, sp, 0x9c            |     s5 = sp + 0x9c;
                                             | label_58:
    0x000314e4 lb v0, 0xdc(sp)               |     v0 = *(var_dch);
    0x000314e8 addiu v0, sp, 0x2dc           |     v0 = sp + aav.0x000002dc;
                                             |     if (v0 == 0) {
    0x000314ec beqz v0, 0x31e20              |         goto label_162;
                                             |     }
    0x000314f0 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x000314f4 addiu s6, sp, 0xdc            |     s6 = sp + 0xdc;
                                             | label_57:
    0x000314f8 lb v0, 0x11c(sp)              |     v0 = *(var_11ch);
                                             |     if (v0 == 0) {
    0x000314fc beql v0, zero, 0x319a0        |         goto label_163;
                                             |     }
    0x00031500 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             | label_40:
    0x00031504 addiu v0, sp, 0x11c           |     v0 = sp + aav.0x0000011c;
    0x00031508 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
                                             | label_41:
    0x0003150c lb v0, 0x4dc(sp)              |     v0 = *(var_4dch);
    0x00031510 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x00031514 beqz v0, 0x31d84              |         goto label_164;
                                             |     }
                                             | label_53:
    0x00031518 lw fp, -0x7fc4(gp)            |     fp = *(gp);
                                             | label_54:
    0x0003151c lw t9, -0x7d20(gp)            |     t9 = sym.strpcpyl;
                                             | label_55:
    0x00031520 addiu s7, sp, 0x3dc           |     s7 = sp + 0x3dc;
    0x00031524 move a0, s4                   |     a0 = s4;
    0x00031528 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0003152c sw s6, 0x10(sp)               |     *(var_10h_7) = s6;
    0x00031530 addiu a3, fp, -0x30ac         |     a3 = fp + -0x30ac;
    0x00031534 move a2, s5                   |     a2 = s5;
    0x00031538 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x0003153c sw s7, 0x98(sp)               |     *(var_98h) = s7;
    0x00031540 jalr t9                       |     t9 ();
    0x00031544 lb a0, 0x4dc(sp)              |     a0 = *(var_4dch);
    0x00031548 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (a0 != 0) {
    0x0003154c beqz a0, 0x31570              |         
    0x00031550 lw t9, -0x7d20(gp)            |         t9 = sym.strpcpyl;
    0x00031554 move a1, v0                   |         a1 = v0;
    0x00031558 sw zero, 0x10(sp)             |         *(var_10h_7) = 0;
    0x0003155c addiu a3, sp, 0x4dc           |         a3 = sp + aav.0x000004dc;
    0x00031560 addiu a2, fp, -0x30ac         |         a2 = fp + -0x30ac;
    0x00031564 move a0, s4                   |         a0 = s4;
    0x00031568 jalr t9                       |         t9 ();
    0x0003156c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |     }
    0x00031570 lb v1, 0x19c(sp)              |     v1 = *(var_19ch);
    0x00031574 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     if (v1 != 0) {
    0x00031578 beqz v1, 0x315a4              |         
    0x0003157c lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x00031580 lw t9, -0x7d20(gp)            |         t9 = sym.strpcpyl;
    0x00031584 sw zero, 0x10(sp)             |         *(var_10h_7) = 0;
    0x00031588 addiu a3, sp, 0x19c           |         a3 = sp + aav.0x0000019c;
    0x0003158c addiu a2, a2, -0x57b8         |         a2 += -0x57b8;
    0x00031590 move a1, v0                   |         a1 = v0;
    0x00031594 move a0, s4                   |         a0 = s4;
    0x00031598 jalr t9                       |         t9 ();
    0x0003159c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000315a0 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
                                             |     }
    0x000315a4 lw t9, -0x7bb8(gp)            |     t9 = *(gp);
    0x000315a8 move a3, s5                   |     a3 = s5;
                                             |     /* str.ID_VENDOR */
    0x000315ac addiu a2, a2, 0x94            |     a2 += 0x94;
    0x000315b0 move a1, s2                   |     a1 = s2;
    0x000315b4 move a0, s0                   |     a0 = s0;
    0x000315b8 bal 0x28a28                   |     fcn_00028a28 ();
    0x000315bc lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000315c0 lw a3, 0x3c(sp)               |     a3 = *(var_3ch_2);
    0x000315c4 move a1, s2                   |     a1 = s2;
    0x000315c8 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000315cc lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_VENDOR_ENC */
    0x000315d0 addiu a2, a2, 0xa0            |     a2 += 0xa0;
    0x000315d4 move a0, s0                   |     a0 = s0;
    0x000315d8 bal 0x28a28                   |     fcn_00028a28 ();
    0x000315dc lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000315e0 lw a3, 0x90(sp)               |     a3 = *(var_90h);
    0x000315e4 move a1, s2                   |     a1 = s2;
    0x000315e8 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x000315ec lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_VENDOR_ID */
    0x000315f0 addiu a2, a2, 0xb0            |     a2 += 0xb0;
    0x000315f4 move a0, s0                   |     a0 = s0;
    0x000315f8 bal 0x28a28                   |     fcn_00028a28 ();
    0x000315fc lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031600 move a3, s6                   |     a3 = s6;
    0x00031604 move a1, s2                   |     a1 = s2;
    0x00031608 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003160c lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_MODEL */
    0x00031610 addiu a2, a2, 0xc0            |     a2 += 0xc0;
    0x00031614 move a0, s0                   |     a0 = s0;
    0x00031618 bal 0x28a28                   |     fcn_00028a28 ();
    0x0003161c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031620 lw a3, 0x40(sp)               |     a3 = *(var_40h_2);
    0x00031624 move a1, s2                   |     a1 = s2;
    0x00031628 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003162c lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_MODEL_ENC */
    0x00031630 addiu a2, a2, 0xcc            |     a2 += 0xcc;
    0x00031634 move a0, s0                   |     a0 = s0;
    0x00031638 bal 0x28a28                   |     fcn_00028a28 ();
    0x0003163c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031640 lw a3, 0x94(sp)               |     a3 = *(var_94h);
    0x00031644 move a1, s2                   |     a1 = s2;
    0x00031648 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003164c lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_MODEL_ID */
    0x00031650 addiu a2, a2, 0xdc            |     a2 += 0xdc;
    0x00031654 move a0, s0                   |     a0 = s0;
    0x00031658 bal 0x28a28                   |     fcn_00028a28 ();
    0x0003165c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031660 lw a3, 0x44(sp)               |     a3 = *(var_44h_2);
    0x00031664 move a1, s2                   |     a1 = s2;
    0x00031668 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003166c lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_REVISION */
    0x00031670 addiu a2, a2, 0xe8            |     a2 += 0xe8;
    0x00031674 move a0, s0                   |     a0 = s0;
    0x00031678 bal 0x28a28                   |     fcn_00028a28 ();
    0x0003167c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031680 move a3, s7                   |     a3 = s7;
    0x00031684 move a1, s2                   |     a1 = s2;
    0x00031688 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0003168c lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_SERIAL */
    0x00031690 addiu a2, a2, 0xf4            |     a2 += 0xf4;
    0x00031694 move a0, s0                   |     a0 = s0;
    0x00031698 bal 0x28a28                   |     fcn_00028a28 ();
    0x0003169c lb v0, 0x4dc(sp)              |     v0 = *(var_4dch);
    0x000316a0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 != 0) {
    0x000316a4 beqz v0, 0x316c8              |         
    0x000316a8 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x000316ac lw t9, -0x7bb8(gp)            |         t9 = *(gp);
    0x000316b0 addiu a3, sp, 0x4dc           |         a3 = sp + aav.0x000004dc;
                                             |         /* str.ID_SERIAL_SHORT */
    0x000316b4 addiu a2, a2, 0x158           |         a2 += aav.0x00000158;
    0x000316b8 move a1, s2                   |         a1 = s2;
    0x000316bc move a0, s0                   |         a0 = s0;
    0x000316c0 bal 0x28a28                   |         fcn_00028a28 ();
    0x000316c4 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |     }
    0x000316c8 lb v0, 0x15c(sp)              |     v0 = *(var_15ch);
    0x000316cc lb v0, 0x19c(sp)              |     v0 = *(var_19ch);
                                             |     if (v0 != 0) {
    0x000316d0 beqz v0, 0x316f8              |         
    0x000316d4 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x000316d8 lw t9, -0x7bb8(gp)            |         t9 = *(gp);
    0x000316dc addiu a3, sp, 0x15c           |         a3 = sp + aav.0x0000015c;
                                             |         /* str.ID_TYPE */
    0x000316e0 addiu a2, a2, 0x150           |         a2 += aav.0x00000150;
    0x000316e4 move a1, s2                   |         a1 = s2;
    0x000316e8 move a0, s0                   |         a0 = s0;
    0x000316ec bal 0x28a28                   |         fcn_00028a28 ();
    0x000316f0 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000316f4 lb v0, 0x19c(sp)              |         v0 = *(var_19ch);
                                             |     }
    0x000316f8 lw a3, -0x7fc4(gp)            |     a3 = *(gp);
                                             |     if (v0 != 0) {
    0x000316fc beqz v0, 0x31724              |         
    0x00031700 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x00031704 lw t9, -0x7bb8(gp)            |         t9 = *(gp);
    0x00031708 addiu a3, sp, 0x19c           |         a3 = sp + aav.0x0000019c;
                                             |         /* str.ID_INSTANCE */
    0x0003170c addiu a2, a2, 0x144           |         a2 += aav.0x00000144;
    0x00031710 move a1, s2                   |         a1 = s2;
    0x00031714 move a0, s0                   |         a0 = s0;
    0x00031718 bal 0x28a28                   |         fcn_00028a28 ();
    0x0003171c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031720 lw a3, -0x7fc4(gp)            |         a3 = *(gp);
                                             |     }
    0x00031724 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00031728 lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* esilref: 'usb' */
    0x0003172c addiu a3, a3, -0x3490         |     a3 += -0x3490;
                                             |     /* str.ID_BUS */
    0x00031730 addiu a2, a2, 0x100           |     a2 += aav.0x00000100;
    0x00031734 move a1, s2                   |     a1 = s2;
    0x00031738 move a0, s0                   |     a0 = s0;
    0x0003173c bal 0x28a28                   |     fcn_00028a28 ();
    0x00031740 lb v0, 0x6dc(sp)              |     v0 = *(var_6dch);
    0x00031744 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 != 0) {
    0x00031748 beqz v0, 0x3176c              |         
    0x0003174c lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x00031750 lw t9, -0x7bb8(gp)            |         t9 = *(gp);
    0x00031754 move a3, s3                   |         a3 = s3;
                                             |         /* str.ID_USB_INTERFACES */
    0x00031758 addiu a2, a2, 0x130           |         a2 += aav.0x00000130;
    0x0003175c move a1, s2                   |         a1 = s2;
    0x00031760 move a0, s0                   |         a0 = s0;
    0x00031764 bal 0x28a28                   |         fcn_00028a28 ();
    0x00031768 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |     }
    0x0003176c lw a3, 0x48(sp)               |     a3 = *(var_48h);
    0x00031770 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     if (a3 != 0) {
    0x00031774 beqz a3, 0x31790              |         
    0x00031778 lw t9, -0x7bb8(gp)            |         t9 = *(gp);
                                             |         /* str.ID_USB_INTERFACE_NUM */
    0x0003177c addiu a2, a2, 0x108           |         a2 += aav.0x00000108;
    0x00031780 move a1, s2                   |         a1 = s2;
    0x00031784 move a0, s0                   |         a0 = s0;
    0x00031788 bal 0x28a28                   |         fcn_00028a28 ();
    0x0003178c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |     }
    0x00031790 lw a3, 0x4c(sp)               |     a3 = *(var_4ch);
    0x00031794 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     if (a3 == 0) {
    0x00031798 beqz a3, 0x31cf4              |         goto label_165;
                                             |     }
    0x0003179c lw t9, -0x7bb8(gp)            |     t9 = *(gp);
                                             |     /* str.ID_USB_DRIVER */
    0x000317a0 addiu a2, a2, 0x120           |     a2 += aav.0x00000120;
    0x000317a4 move a1, s2                   |     a1 = s2;
    0x000317a8 move a0, s0                   |     a0 = s0;
    0x000317ac bal 0x28a28                   |     fcn_00028a28 ();
    0x000317b0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000317b4 move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_47:
    0x000317b8 lw a0, 0x8dc(sp)              |         a0 = *(var_8dch);
    0x000317bc lw v1, (s1)                   |         v1 = *(s1);
    0x000317c0 lw ra, 0x904(sp)              |         ra = *(var_904h);
                                             |         if (a0 != v1) {
    0x000317c4 bne a0, v1, 0x32300           |             goto label_166;
                                             |         }
    0x000317c8 lw fp, 0x900(sp)              |         fp = *(var_900h);
    0x000317cc lw s7, 0x8fc(sp)              |         s7 = *(var_8fch);
    0x000317d0 lw s6, 0x8f8(sp)              |         s6 = *(var_8f8h);
    0x000317d4 lw s5, 0x8f4(sp)              |         s5 = *(var_8f4h);
    0x000317d8 lw s4, 0x8f0(sp)              |         s4 = *(var_8f0h);
    0x000317dc lw s3, 0x8ec(sp)              |         s3 = *(var_8ech);
    0x000317e0 lw s2, 0x8e8(sp)              |         s2 = *(var_8e8h);
    0x000317e4 lw s1, 0x8e4(sp)              |         s1 = *(var_8e4h);
    0x000317e8 lw s0, 0x8e0(sp)              |         s0 = *(var_8e0h);
    0x000317ec addiu sp, sp, 0x908           |         
    0x000317f0 jr ra                         |         return v0;
                                             | label_154:
    0x000317f4 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x000317f8 addiu a0, zero, 1             |         a0 = 1;
    0x000317fc sw zero, 0x98(sp)             |         *(var_98h) = 0;
    0x00031800 jalr t9                       |         t9 ();
    0x00031804 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00031808 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x0003180c move a0, zero                 |         a0 = 0;
                                             |         if (v0 == 0) {
    0x00031810 beqz v0, 0x31864              |             goto label_167;
                                             |         }
                                             | label_37:
    0x00031814 move v0, zero                 |         v0 = 0;
                                             | label_38:
    0x00031818 lw v1, -0x7fc4(gp)            |         v1 = *(gp);
    0x0003181c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00031820 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
                                             |         /* str.Failed_to_access_usb_interface:__m */
    0x00031824 addiu v1, v1, -0x1b4          |         v1 += -aav.0x000001b4;
                                             |         /* esilref: 'builtin_usb_id' */
    0x00031828 addiu v0, v0, 0x228           |         v0 += aav.0x00000228;
    0x0003182c lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x00031830 sw v1, 0x24(sp)               |         *(var_24h_2) = v1;
    0x00031834 sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x00031838 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x0003183c sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x00031840 sw v0, 0x10(sp)               |         *(var_10h_7) = v0;
    0x00031844 addiu a3, zero, 0x115         |         a3 = 0x115;
                                             | label_39:
    0x00031848 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x0003184c move a1, s3                   |         a1 = s3;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00031850 addiu a2, a2, -0x299          |         a2 += -0x299;
    0x00031854 addiu a0, zero, 7             |         a0 = 7;
    0x00031858 jalr t9                       |         t9 ();
    0x0003185c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031860 b 0x317b8                     |         
                                             |     } while (1);
                                             | label_167:
    0x00031864 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00031868 move a0, s0                   |     a0 = s0;
    0x0003186c addiu a1, sp, 0x98            |     a1 = sp + 0x98;
    0x00031870 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00031874 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00031878 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (a0 == 0) {
    0x0003187c beqz a0, 0x31814              |         goto label_37;
                                             |     }
    0x00031880 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00031884 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00031888 b 0x31818                     |     goto label_38;
                                             | label_152:
    0x0003188c lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x00031890 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00031894 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.builtin_usb_id */
    0x00031898 addiu v0, v0, 0x238           |     v0 += aav.0x00000238;
    0x0003189c lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x000318a0 sw v0, 0x10(sp)               |     *(var_10h_7) = v0;
    0x000318a4 addiu a3, zero, 0x101         |     a3 = 0x101;
                                             |     /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x000318a8 addiu a2, a2, -0x299          |     a2 += -0x299;
                                             |     /* esilref: 'dev' */
    0x000318ac addiu a1, a1, 0x42ec          |     a1 += 0x42ec;
    0x000318b0 addiu a0, zero, 1             |     a0 = 1;
    0x000318b4 jalr t9                       |     t9 ();
                                             | label_155:
    0x000318b8 lw s0, 0x50(sp)               |     s0 = *(var_50h_2);
    0x000318bc sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s0 != 0) {
    0x000318c0 beqz s0, 0x31904              |         
    0x000318c4 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x000318c8 addiu a0, zero, 1             |         a0 = 1;
    0x000318cc jalr t9                       |         t9 ();
    0x000318d0 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x000318d4 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 == 0) {
    0x000318d8 bnez v0, 0x31904              |             
    0x000318dc lw t9, -0x7fb8(gp)            |             t9 = sym.sd_device_get_sysname;
    0x000318e0 move a0, s0                   |             a0 = s0;
    0x000318e4 addiu a1, sp, 0x98            |             a1 = sp + 0x98;
    0x000318e8 bal 0x4ac0c                   |             sym_sd_device_get_sysname ();
    0x000318ec lw a0, 0x98(sp)               |             a0 = *(var_98h);
    0x000318f0 lw gp, 0x30(sp)               |             gp = *(var_30h_4);
                                             |             if (a0 == 0) {
    0x000318f4 beqz a0, 0x31908              |                 goto label_168;
                                             |             }
    0x000318f8 lw v0, -0x7fd0(gp)            |             v0 = *(gp);
                                             |             /* str.DEVICE */
    0x000318fc addiu v0, v0, 0x7b84          |             v0 += 0x7b84;
    0x00031900 b 0x3190c                     |             
                                             |         }
                                             |     } else {
    0x00031904 move a0, zero                 |         a0 = 0;
                                             | label_168:
    0x00031908 move v0, zero                 |         v0 = 0;
                                             |     }
    0x0003190c lw v1, -0x7fc4(gp)            |     v1 = *(gp);
    0x00031910 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00031914 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.Failed_to_get_syspath:__m */
    0x00031918 addiu v1, v1, -0x190          |     v1 += -aav.0x00000190;
                                             |     /* esilref: 'builtin_usb_id' */
    0x0003191c addiu v0, v0, 0x228           |     v0 += aav.0x00000228;
    0x00031920 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x00031924 sw v1, 0x24(sp)               |     *(var_24h_2) = v1;
    0x00031928 sw zero, 0x20(sp)             |     *(var_20h_2) = 0;
    0x0003192c sw zero, 0x1c(sp)             |     *(var_1ch_2) = 0;
    0x00031930 sw a0, 0x18(sp)               |     *(var_18h_7) = a0;
    0x00031934 sw v0, 0x10(sp)               |     *(var_10h_7) = v0;
    0x00031938 addiu a3, zero, 0x119         |     a3 = 0x119;
    0x0003193c b 0x31848                     |     goto label_39;
                                             | label_156:
    0x00031940 lw s0, 0x50(sp)               |     s0 = *(var_50h_2);
    0x00031944 sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s0 != 0) {
    0x00031948 beqz s0, 0x31964              |         
    0x0003194c lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00031950 addiu a0, zero, 1             |         a0 = 1;
    0x00031954 jalr t9                       |         t9 ();
    0x00031958 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x0003195c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 == 0) {
    0x00031960 beqz v0, 0x31b64              |             goto label_169;
                                             |         }
                                             |     }
    0x00031964 move a0, zero                 |     a0 = 0;
                                             | label_44:
    0x00031968 move v0, zero                 |     v0 = 0;
                                             | label_45:
    0x0003196c lw v1, -0x7fc4(gp)            |     v1 = *(gp);
    0x00031970 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00031974 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     /* str.Failed_to_get_bInterfaceClass_attribute:__m */
    0x00031978 addiu v1, v1, -0x150          |     v1 += -aav.0x00000150;
                                             |     /* esilref: 'builtin_usb_id' */
    0x0003197c addiu v0, v0, 0x228           |     v0 += aav.0x00000228;
    0x00031980 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
    0x00031984 sw v1, 0x24(sp)               |     *(var_24h_2) = v1;
    0x00031988 sw zero, 0x20(sp)             |     *(var_20h_2) = 0;
    0x0003198c sw zero, 0x1c(sp)             |     *(var_1ch_2) = 0;
    0x00031990 sw a0, 0x18(sp)               |     *(var_18h_7) = a0;
    0x00031994 sw v0, 0x10(sp)               |     *(var_10h_7) = v0;
    0x00031998 addiu a3, zero, 0x11f         |     a3 = 0x11f;
    0x0003199c b 0x31848                     |     goto label_39;
                                             | label_163:
    0x000319a0 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x000319a4 lw a0, 0x54(sp)               |     a0 = *(var_54h_2);
    0x000319a8 move a2, s4                   |     a2 = s4;
                                             |     /* str.bcdDevice */
    0x000319ac addiu a1, a1, 0x80            |     a1 += 0x80;
    0x000319b0 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x000319b4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x000319b8 bltz v0, 0x31504              |         goto label_40;
                                             |     }
    0x000319bc lw t9, -0x7d48(gp)            |     t9 = sym.util_replace_whitespace;
    0x000319c0 addiu s7, sp, 0x11c           |     s7 = sp + aav.0x0000011c;
    0x000319c4 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x000319c8 addiu a2, zero, 0x3f          |     a2 = 0x3f;
    0x000319cc move a1, s7                   |     a1 = s7;
    0x000319d0 sw s7, 0x44(sp)               |     *(var_44h_2) = s7;
    0x000319d4 jalr t9                       |     t9 ();
    0x000319d8 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000319dc move a1, zero                 |     a1 = 0;
    0x000319e0 lw t9, -0x7d38(gp)            |     t9 = sym.util_replace_chars;
    0x000319e4 move a0, s7                   |     a0 = s7;
    0x000319e8 jalr t9                       |     t9 ();
    0x000319ec lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000319f0 b 0x3150c                     |     goto label_41;
                                             | label_46:
    0x000319fc lw t9, -0x73cc(gp)            |     t9 = sym.imp.strncpy;
    0x00031a00 addiu a2, zero, 0x3f          |     a2 = 0x3f;
    0x00031a04 addiu a0, sp, 0x15c           |     a0 = sp + aav.0x0000015c;
    0x00031a08 jalr t9                       |     t9 ();
    0x00031a0c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031a10 move s5, zero                 |     s5 = 0;
    0x00031a14 sb zero, 0x19a(sp)            |     *(var_19ah) = 0;
                                             | label_50:
    0x00031a18 lw s6, 0x50(sp)               |     s6 = *(var_50h_2);
    0x00031a1c sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s6 != 0) {
    0x00031a20 beqz s6, 0x31a3c              |         
    0x00031a24 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00031a28 addiu a0, zero, 1             |         a0 = 1;
    0x00031a2c jalr t9                       |         t9 ();
    0x00031a30 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00031a34 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 == 0) {
    0x00031a38 beqz v0, 0x31b3c              |             goto label_170;
                                             |         }
                                             |     }
    0x00031a3c move t0, zero                 |     t0 = 0;
                                             |     do {
    0x00031a40 move v0, zero                 |         v0 = 0;
                                             | label_43:
    0x00031a44 lw s7, -0x7fc4(gp)            |         s7 = *(gp);
    0x00031a48 lw v1, -0x7fc4(gp)            |         v1 = *(gp);
    0x00031a4c lw fp, -0x7fc4(gp)            |         fp = *(gp);
    0x00031a50 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.if_class:_d_protocol:_d */
    0x00031a54 addiu v1, v1, -0x110          |         v1 += -aav.0x00000110;
                                             |         /* esilref: 'builtin_usb_id' */
    0x00031a58 addiu s7, s7, 0x228           |         s7 += aav.0x00000228;
    0x00031a5c addiu a3, zero, 0x129         |         a3 = 0x129;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00031a60 addiu a2, fp, -0x299          |         a2 = fp + -0x299;
    0x00031a64 move a1, zero                 |         a1 = 0;
    0x00031a68 addiu a0, zero, 7             |         a0 = 7;
    0x00031a6c sw s3, 0x28(sp)               |         *(var_28h_2) = s3;
    0x00031a70 sw v1, 0x24(sp)               |         *(var_24h_2) = v1;
    0x00031a74 sw t0, 0x18(sp)               |         *(var_18h_7) = t0;
    0x00031a78 sw s5, 0x2c(sp)               |         *(var_2ch_3) = s5;
    0x00031a7c sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x00031a80 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00031a84 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00031a88 sw s7, 0x10(sp)               |         *(var_10h_7) = s7;
    0x00031a8c jalr t9                       |         t9 ();
    0x00031a90 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031a94 lw a0, 0x50(sp)               |         a0 = *(var_50h_2);
    0x00031a98 addiu a3, sp, 0x54            |         a3 = sp + 0x54;
    0x00031a9c lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x00031aa0 lw t9, -0x7b94(gp)            |         t9 = sym.sd_device_get_parent_with_subsystem_devtype;
                                             |         /* str.usb_device */
    0x00031aa4 addiu a2, a2, -0x348c         |         a2 += -aav.0x0000348c;
                                             |         /* esilref: 'usb' */
    0x00031aa8 addiu a1, s4, -0x3490         |         a1 = s4 + -0x3490;
    0x00031aac bal 0x4c154                   |         sym_sd_device_get_parent_with_subsystem_devtype ();
    0x00031ab0 move s3, v0                   |         s3 = v0;
    0x00031ab4 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 < 0) {
    0x00031ab8 bltz v0, 0x31c38              |             goto label_171;
                                             |         }
    0x00031abc lw t9, -0x7b90(gp)            |         t9 = *(gp);
    0x00031ac0 addiu s3, sp, 0x6dc           |         s3 = sp + 0x6dc;
    0x00031ac4 lw a0, 0x54(sp)               |         a0 = *(var_54h_2);
    0x00031ac8 addiu t9, t9, 0xb8c           |         t9 += aav.0x00000b8c;
    0x00031acc move a1, s3                   |         a1 = s3;
    0x00031ad0 bal 0x30b8c                   |         fcn_30b8c ();
                                             |         goto label_36;
    0x00031ad4 addiu v0, zero, 2             |         v0 = 2;
    0x00031ad8 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (s5 == v0) {
    0x00031adc beq s5, v0, 0x31f0c           |             goto label_172;
                                             |         }
    0x00031ae0 addiu v0, zero, 6             |         v0 = 6;
    0x00031ae4 lw a0, 0x54(sp)               |         a0 = *(var_54h_2);
                                             |         if (s5 == v0) {
    0x00031ae8 beq s5, v0, 0x31f0c           |             goto label_172;
                                             |         }
    0x00031aec addiu v1, sp, 0x90            |         v1 = sp + 0x90;
    0x00031af0 b 0x31488                     |         goto label_42;
                                             | label_170:
    0x00031b3c lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00031b40 addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x00031b44 move a0, s6                   |         a0 = s6;
    0x00031b48 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00031b4c lw t0, 0x98(sp)               |         t0 = *(var_98h);
    0x00031b50 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031b54 beqz t0, 0x31a40              |         
                                             |     } while (t0 == 0);
    0x00031b58 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00031b5c addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00031b60 b 0x31a44                     |     goto label_43;
                                             | label_169:
    0x00031b64 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00031b68 move a0, s0                   |     a0 = s0;
    0x00031b6c addiu a1, sp, 0x98            |     a1 = sp + 0x98;
    0x00031b70 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00031b74 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00031b78 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (a0 == 0) {
    0x00031b7c beqz a0, 0x31968              |         goto label_44;
                                             |     }
    0x00031b80 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00031b84 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00031b88 b 0x3196c                     |     goto label_45;
                                             | label_158:
    0x00031b8c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.generic */
    0x00031b90 addiu a1, a1, -0x1ec          |     a1 += -aav.0x000001ec;
    0x00031b94 b 0x319fc                     |     goto label_46;
                                             | label_159:
    0x00031b98 lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
    0x00031b9c sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s0 != 0) {
    0x00031ba0 beqz s0, 0x31bbc              |         
    0x00031ba4 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00031ba8 addiu a0, zero, 1             |         a0 = 1;
    0x00031bac jalr t9                       |         t9 ();
    0x00031bb0 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00031bb4 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 == 0) {
    0x00031bb8 beqz v0, 0x31c10              |             goto label_173;
                                             |         }
                                             |     }
    0x00031bbc move a0, zero                 |     a0 = 0;
                                             |     do {
    0x00031bc0 move v1, zero                 |         v1 = 0;
                                             | label_48:
    0x00031bc4 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00031bc8 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.Failed_to_get_idVendor_attribute:__m */
    0x00031bcc addiu v0, v0, 0x18            |         v0 += 0x18;
    0x00031bd0 sw v0, 0x24(sp)               |         *(var_24h_2) = v0;
    0x00031bd4 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00031bd8 sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
                                             |         /* esilref: 'builtin_usb_id' */
    0x00031bdc addiu v0, v0, 0x228           |         v0 += aav.0x00000228;
    0x00031be0 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00031be4 sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x00031be8 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00031bec sw v0, 0x10(sp)               |         *(var_10h_7) = v0;
    0x00031bf0 addiu a3, zero, 0x172         |         a3 = 0x172;
                                             | label_51:
    0x00031bf4 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
    0x00031bf8 move a1, s4                   |         a1 = s4;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00031bfc addiu a2, a2, -0x299          |         a2 += -0x299;
    0x00031c00 addiu a0, zero, 7             |         a0 = 7;
    0x00031c04 jalr t9                       |         t9 ();
    0x00031c08 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031c0c b 0x317b8                     |         goto label_47;
                                             | label_173:
    0x00031c10 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00031c14 move a0, s0                   |         a0 = s0;
    0x00031c18 addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x00031c1c bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00031c20 lw a0, 0x98(sp)               |         a0 = *(var_98h);
    0x00031c24 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031c28 beqz a0, 0x31bc0              |         
                                             |     } while (a0 == 0);
    0x00031c2c lw v1, -0x7fd0(gp)            |     v1 = *(gp);
                                             |     /* str.DEVICE */
    0x00031c30 addiu v1, v1, 0x7b84          |     v1 += 0x7b84;
    0x00031c34 b 0x31bc4                     |     goto label_48;
                                             | label_171:
    0x00031c38 lw s0, 0x50(sp)               |     s0 = *(var_50h_2);
    0x00031c3c sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s0 != 0) {
    0x00031c40 beqz s0, 0x31c5c              |         
    0x00031c44 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00031c48 addiu a0, zero, 1             |         a0 = 1;
    0x00031c4c jalr t9                       |         t9 ();
    0x00031c50 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00031c54 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 == 0) {
    0x00031c58 beqz v0, 0x31ca4              |             goto label_174;
                                             |         }
                                             |     }
    0x00031c5c move a0, zero                 |     a0 = 0;
                                             |     do {
    0x00031c60 move v1, zero                 |         v1 = 0;
                                             | label_49:
    0x00031c64 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00031c68 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.Failed_to_find_parent_usb_device */
    0x00031c6c addiu v0, v0, -0xf8           |         v0 += -0xf8;
    0x00031c70 sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x00031c74 sw v0, 0x24(sp)               |         *(var_24h_2) = v0;
    0x00031c78 sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x00031c7c sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00031c80 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00031c84 sw s7, 0x10(sp)               |         *(var_10h_7) = s7;
    0x00031c88 addiu a3, zero, 0x12e         |         a3 = 0x12e;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00031c8c addiu a2, fp, -0x299          |         a2 = fp + -0x299;
    0x00031c90 move a1, s3                   |         a1 = s3;
    0x00031c94 addiu a0, zero, 7             |         a0 = 7;
    0x00031c98 jalr t9                       |         t9 ();
    0x00031c9c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031ca0 b 0x317b8                     |         goto label_47;
                                             | label_174:
    0x00031ca4 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00031ca8 move a0, s0                   |         a0 = s0;
    0x00031cac addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x00031cb0 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00031cb4 lw a0, 0x98(sp)               |         a0 = *(var_98h);
    0x00031cb8 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031cbc beqz a0, 0x31c60              |         
                                             |     } while (a0 == 0);
    0x00031cc0 lw v1, -0x7fd0(gp)            |     v1 = *(gp);
                                             |     /* str.DEVICE */
    0x00031cc4 addiu v1, v1, 0x7b84          |     v1 += 0x7b84;
    0x00031cc8 b 0x31c64                     |     goto label_49;
                                             | label_157:
    0x00031ccc lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00031cd0 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00031cd4 lw a0, 0x50(sp)               |     a0 = *(var_50h_2);
    0x00031cd8 addiu a2, sp, 0x5c            |     a2 = sp + 0x5c;
                                             |     /* str.bInterfaceSubClass */
    0x00031cdc addiu a1, a1, -0x124          |     a1 += -aav.0x00000124;
    0x00031ce0 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00031ce4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 >= 0) {
    0x00031ce8 bgez v0, 0x32038              |         goto label_175;
                                             |     }
    0x00031cec move s5, zero                 |     s5 = 0;
    0x00031cf0 b 0x31a18                     |     goto label_50;
                                             | label_165:
    0x00031cf4 move v0, zero                 |     v0 = 0;
    0x00031cf8 b 0x317b8                     |     goto label_47;
                                             | label_160:
    0x00031cfc lw s0, 0x54(sp)               |     s0 = *(var_54h_2);
    0x00031d00 sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s0 != 0) {
    0x00031d04 beqz s0, 0x31d20              |         
    0x00031d08 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00031d0c addiu a0, zero, 1             |         a0 = 1;
    0x00031d10 jalr t9                       |         t9 ();
    0x00031d14 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00031d18 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 == 0) {
    0x00031d1c beqz v0, 0x31d5c              |             goto label_176;
                                             |         }
                                             |     }
    0x00031d20 move a0, zero                 |     a0 = 0;
                                             |     do {
    0x00031d24 move v1, zero                 |         v1 = 0;
                                             | label_52:
    0x00031d28 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00031d2c lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.Failed_to_get_idProduct_attribute:__m */
    0x00031d30 addiu v0, v0, 0x40            |         v0 += 0x40;
    0x00031d34 sw v0, 0x24(sp)               |         *(var_24h_2) = v0;
    0x00031d38 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00031d3c sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
                                             |         /* esilref: 'builtin_usb_id' */
    0x00031d40 addiu v0, v0, 0x228           |         v0 += aav.0x00000228;
    0x00031d44 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00031d48 sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x00031d4c sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00031d50 sw v0, 0x10(sp)               |         *(var_10h_7) = v0;
    0x00031d54 addiu a3, zero, 0x176         |         a3 = 0x176;
    0x00031d58 b 0x31bf4                     |         goto label_51;
                                             | label_176:
    0x00031d5c lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00031d60 move a0, s0                   |         a0 = s0;
    0x00031d64 addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x00031d68 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00031d6c lw a0, 0x98(sp)               |         a0 = *(var_98h);
    0x00031d70 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031d74 beqz a0, 0x31d24              |         
                                             |     } while (a0 == 0);
    0x00031d78 lw v1, -0x7fd0(gp)            |     v1 = *(gp);
                                             |     /* str.DEVICE */
    0x00031d7c addiu v1, v1, 0x7b84          |     v1 += 0x7b84;
    0x00031d80 b 0x31d28                     |     goto label_52;
                                             | label_164:
    0x00031d84 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00031d88 lw a0, 0x54(sp)               |     a0 = *(var_54h_2);
    0x00031d8c move a2, s4                   |     a2 = s4;
                                             |     /* str.serial */
    0x00031d90 addiu a1, a1, 0x8c            |     a1 += 0x8c;
    0x00031d94 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00031d98 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00031d9c bltz v0, 0x31518              |         goto label_53;
                                             |     }
    0x00031da0 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00031da4 lbu v0, (a0)                  |     v0 = *(a0);
    0x00031da8 addiu v1, v0, -0x20           |     v1 = v0 + -0x20;
                                             |     if (v0 == 0) {
    0x00031dac beqz v0, 0x31df0              |         goto label_177;
                                             |     }
    0x00031db0 sltiu v1, v1, 0x60            |     v1 = (v1 < 0x60) ? 1 : 0;
    0x00031db4 addiu v1, zero, 0x2c          |     v1 = 0x2c;
                                             |     if (v1 == 0) {
    0x00031db8 beqz v1, 0x31518              |         goto label_53;
                                             |     }
    0x00031dbc move a1, a0                   |     a1 = a0;
                                             |     if (v0 == v1) {
    0x00031dc0 beq v0, v1, 0x31518           |         goto label_53;
                                             |     }
    0x00031dc4 addiu a2, zero, 0x2c          |     a2 = 0x2c;
    0x00031dc8 b 0x31de0                     |     goto label_178;
                                             | label_56:
    0x00031dcc sltiu v1, v1, 0x60            |     v1 = (v1 < 0x60) ? 1 : 0;
    0x00031dd0 lw fp, -0x7fc4(gp)            |     fp = *(gp);
                                             |     if (v1 == 0) {
    0x00031dd4 beqz v1, 0x3151c              |         goto label_54;
                                             |     }
    0x00031dd8 lw t9, -0x7d20(gp)            |     t9 = sym.strpcpyl;
                                             |     if (v0 == a2) {
    0x00031ddc beq v0, a2, 0x31520           |         goto label_55;
                                             |     }
                                             | label_178:
    0x00031de0 addiu a1, a1, 1               |     a1++;
    0x00031de4 lbu v0, (a1)                  |     v0 = *(a1);
    0x00031de8 addiu v1, v0, -0x20           |     v1 = v0 + -0x20;
                                             |     if (v0 != 0) {
    0x00031dec bnez v0, 0x31dcc              |         goto label_56;
                                             |     }
                                             | label_177:
    0x00031df0 lw t9, -0x7d48(gp)            |     t9 = sym.util_replace_whitespace;
    0x00031df4 addiu s7, sp, 0x4dc           |     s7 = sp + aav.0x000004dc;
    0x00031df8 addiu a2, zero, 0x1ff         |     a2 = 0x1ff;
    0x00031dfc move a1, s7                   |     a1 = s7;
    0x00031e00 jalr t9                       |     t9 ();
    0x00031e04 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031e08 move a1, zero                 |     a1 = 0;
    0x00031e0c lw t9, -0x7d38(gp)            |     t9 = sym.util_replace_chars;
    0x00031e10 move a0, s7                   |     a0 = s7;
    0x00031e14 jalr t9                       |     t9 ();
    0x00031e18 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031e1c b 0x31518                     |     goto label_53;
                                             | label_162:
    0x00031e20 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00031e24 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00031e28 lw a0, 0x54(sp)               |     a0 = *(var_54h_2);
    0x00031e2c move a2, s4                   |     a2 = s4;
                                             |     /* str.product */
    0x00031e30 addiu a1, a1, 0x78            |     a1 += 0x78;
    0x00031e34 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00031e38 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00031e3c bltz v0, 0x320ec              |         goto label_179;
                                             |     }
    0x00031e40 lw a0, 0x98(sp)               |     a0 = *(var_98h);
                                             | label_61:
    0x00031e44 lw t9, -0x7b54(gp)            |     t9 = sym.udev_util_encode_string;
    0x00031e48 addiu v0, sp, 0x2dc           |     v0 = sp + aav.0x000002dc;
    0x00031e4c addiu a2, zero, 0x100         |     a2 = aav.0x00000100;
    0x00031e50 move a1, v0                   |     a1 = v0;
    0x00031e54 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00031e58 jalr t9                       |     t9 ();
    0x00031e5c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031e60 addiu s6, sp, 0xdc            |     s6 = sp + 0xdc;
    0x00031e64 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00031e68 lw t9, -0x7d48(gp)            |     t9 = sym.util_replace_whitespace;
    0x00031e6c addiu a2, zero, 0x3f          |     a2 = 0x3f;
    0x00031e70 move a1, s6                   |     a1 = s6;
    0x00031e74 jalr t9                       |     t9 ();
    0x00031e78 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031e7c move a1, zero                 |     a1 = 0;
    0x00031e80 lw t9, -0x7d38(gp)            |     t9 = sym.util_replace_chars;
    0x00031e84 move a0, s6                   |     a0 = s6;
    0x00031e88 jalr t9                       |     t9 ();
    0x00031e8c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031e90 b 0x314f8                     |     goto label_57;
                                             | label_161:
    0x00031e94 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00031e98 lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x00031e9c addiu s4, sp, 0x98            |     s4 = sp + 0x98;
    0x00031ea0 lw a0, 0x54(sp)               |     a0 = *(var_54h_2);
    0x00031ea4 move a2, s4                   |     a2 = s4;
                                             |     /* str.manufacturer */
    0x00031ea8 addiu a1, a1, 0x68            |     a1 += 0x68;
    0x00031eac bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00031eb0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00031eb4 bltz v0, 0x320e0              |         goto label_180;
                                             |     }
    0x00031eb8 lw a0, 0x98(sp)               |     a0 = *(var_98h);
                                             | label_60:
    0x00031ebc lw t9, -0x7b54(gp)            |     t9 = sym.udev_util_encode_string;
    0x00031ec0 addiu v0, sp, 0x1dc           |     v0 = sp + aav.0x000001dc;
    0x00031ec4 addiu a2, zero, 0x100         |     a2 = aav.0x00000100;
    0x00031ec8 move a1, v0                   |     a1 = v0;
    0x00031ecc sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x00031ed0 jalr t9                       |     t9 ();
    0x00031ed4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031ed8 addiu s5, sp, 0x9c            |     s5 = sp + 0x9c;
    0x00031edc lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00031ee0 lw t9, -0x7d48(gp)            |     t9 = sym.util_replace_whitespace;
    0x00031ee4 addiu a2, zero, 0x3f          |     a2 = 0x3f;
    0x00031ee8 move a1, s5                   |     a1 = s5;
    0x00031eec jalr t9                       |     t9 ();
    0x00031ef0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031ef4 move a1, zero                 |     a1 = 0;
    0x00031ef8 lw t9, -0x7d38(gp)            |     t9 = sym.util_replace_chars;
    0x00031efc move a0, s5                   |     a0 = s5;
    0x00031f00 jalr t9                       |     t9 ();
    0x00031f04 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031f08 b 0x314e4                     |     goto label_58;
                                             | label_172:
    0x00031f0c lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x00031f10 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00031f14 lw t9, -0x7b94(gp)            |     t9 = sym.sd_device_get_parent_with_subsystem_devtype;
    0x00031f18 addiu a3, sp, 0x70            |     a3 = sp + 0x70;
                                             |     /* str.scsi_device */
    0x00031f1c addiu a2, a2, -0x594          |     a2 += -aav.0x00000594;
                                             |     /* str.scsi */
    0x00031f20 addiu a1, a1, -0x684          |     a1 += -0x684;
    0x00031f24 move a0, s0                   |     a0 = s0;
    0x00031f28 bal 0x4c154                   |     sym_sd_device_get_parent_with_subsystem_devtype ();
    0x00031f2c move s4, v0                   |     s4 = v0;
    0x00031f30 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00031f34 bltz v0, 0x320f8              |         goto label_181;
                                             |     }
    0x00031f38 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00031f3c lw a0, 0x70(sp)               |     a0 = *(var_70h_4);
    0x00031f40 addiu a1, sp, 0x74            |     a1 = sp + 0x74;
    0x00031f44 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00031f48 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00031f4c bltz v0, 0x3218c              |         goto label_182;
                                             |     }
    0x00031f50 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00031f54 addiu v1, sp, 0x90            |     v1 = sp + 0x90;
    0x00031f58 lw t9, -0x7458(gp)            |     t9 = sym.imp.sscanf;
    0x00031f5c lw a0, 0x74(sp)               |     a0 = *(var_74h_4);
    0x00031f60 addiu v0, sp, 0x94            |     v0 = sp + 0x94;
    0x00031f64 sw v1, 0x10(sp)               |     *(var_10h_7) = v1;
    0x00031f68 sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x00031f6c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00031f70 addiu a3, sp, 0x8c            |     a3 = sp + 0x8c;
    0x00031f74 addiu a2, sp, 0x88            |     a2 = sp + 0x88;
                                             |     /* str._d:_d:_d:_d */
    0x00031f78 addiu a1, a1, -0x5e0          |     a1 += -0x5e0;
    0x00031f7c jalr t9                       |     t9 ();
    0x00031f80 addiu a0, zero, 4             |     a0 = 4;
    0x00031f84 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00031f88 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
                                             |     if (v0 == a0) {
    0x00031f8c beq v0, a0, 0x32198           |         goto label_183;
                                             |     }
    0x00031f90 lw s4, 0x70(sp)               |     s4 = *(var_70h_4);
    0x00031f94 sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s4 != 0) {
    0x00031f98 beqz s4, 0x31fb8              |         
    0x00031f9c lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00031fa0 addiu a0, zero, 1             |         a0 = 1;
    0x00031fa4 jalr t9                       |         t9 ();
    0x00031fa8 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00031fac lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00031fb0 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
                                             |         if (v0 == 0) {
    0x00031fb4 beqz v0, 0x3200c              |             goto label_184;
                                             |         }
                                             |     }
    0x00031fb8 move a1, zero                 |     a1 = 0;
                                             |     do {
    0x00031fbc move v0, zero                 |         v0 = 0;
                                             | label_59:
    0x00031fc0 lw a0, -0x7fc4(gp)            |         a0 = *(gp);
    0x00031fc4 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.Invalid_SCSI_device */
    0x00031fc8 addiu a0, a0, -0xb0           |         a0 += -0xb0;
    0x00031fcc sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
    0x00031fd0 sw a0, 0x24(sp)               |         *(var_24h_2) = a0;
    0x00031fd4 sw a1, 0x18(sp)               |         *(var_18h_7) = a1;
    0x00031fd8 addiu a0, zero, 7             |         a0 = 7;
    0x00031fdc sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x00031fe0 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00031fe4 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00031fe8 sw s7, 0x10(sp)               |         *(var_10h_7) = s7;
    0x00031fec addiu a3, zero, 0x142         |         a3 = 0x142;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00031ff0 addiu a2, fp, -0x299          |         a2 = fp + -0x299;
    0x00031ff4 move a1, zero                 |         a1 = 0;
    0x00031ff8 jalr t9                       |         t9 ();
    0x00031ffc lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032000 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
    0x00032004 lw a0, 0x54(sp)               |         a0 = *(var_54h_2);
    0x00032008 b 0x31488                     |         goto label_42;
                                             | label_184:
    0x0003200c lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00032010 addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x00032014 move a0, s4                   |         a0 = s4;
    0x00032018 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x0003201c lw a1, 0x98(sp)               |         a1 = *(var_98h);
    0x00032020 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032024 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
    0x00032028 beqz a1, 0x31fbc              |         
                                             |     } while (a1 == 0);
    0x0003202c lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00032030 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00032034 b 0x31fc0                     |     goto label_59;
                                             | label_175:
    0x00032038 lw s6, 0x5c(sp)               |     s6 = *(var_5ch_4);
    0x0003203c lw t9, -0x7328(gp)            |     t9 = sym.imp.strtoul;
    0x00032040 move a2, zero                 |     a2 = 0;
    0x00032044 addiu a1, sp, 0x98            |     a1 = sp + 0x98;
    0x00032048 move a0, s6                   |     a0 = s6;
    0x0003204c jalr t9                       |     t9 ();
    0x00032050 lw v1, 0x98(sp)               |     v1 = *(var_98h);
    0x00032054 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00032058 move s5, v0                   |     s5 = v0;
                                             |     if (s6 == v1) {
    0x0003205c beq s6, v1, 0x320d4           |         goto label_185;
                                             |     }
    0x00032060 sltiu v0, v0, 7               |     v0 = (v0 < 7) ? 1 : 0;
    0x00032064 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x00032068 beqz v0, 0x320d4              |         goto label_185;
                                             |     }
    0x0003206c sll v1, s5, 2                 |     v1 = s5 << 2;
    0x00032070 addiu v0, v0, 0x1a4           |     v0 += segment.NOTE;
    0x00032074 lwx v0, v1(v0)                |     __asm ("lwx v0, v1(v0)");
    0x00032078 addu v0, v0, gp               |     v0 += gp;
    0x0003207c jr v0                         |     v0 ();
    0x00032080 nop                           |     
                                             |     do {
    0x0003208c lw t9, -0x7d40(gp)            |         t9 = sym.strscpy;
    0x00032090 addiu a1, zero, 0x3f          |         a1 = 0x3f;
    0x00032094 addiu a0, sp, 0x15c           |         a0 = sp + aav.0x0000015c;
    0x00032098 jalr t9                       |         t9 ();
    0x0003209c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000320a0 b 0x31a18                     |         goto label_50;
                                             | label_185:
    0x000320d4 lw a2, -0x7fc4(gp)            |         a2 = *(gp);
                                             |         /* str.generic */
    0x000320d8 addiu a2, a2, -0x1ec          |         a2 += -aav.0x000001ec;
    0x000320dc b 0x3208c                     |         
                                             |     } while (1);
                                             | label_180:
    0x000320e0 lw a0, 0x90(sp)               |     a0 = *(var_90h);
    0x000320e4 sw a0, 0x98(sp)               |     *(var_98h) = a0;
    0x000320e8 b 0x31ebc                     |     goto label_60;
                                             | label_179:
    0x000320ec lw a0, 0x94(sp)               |     a0 = *(var_94h);
    0x000320f0 sw a0, 0x98(sp)               |     *(var_98h) = a0;
    0x000320f4 b 0x31e44                     |     goto label_61;
                                             | label_181:
    0x000320f8 lw t9, -0x7fcc(gp)            |     t9 = sym.log_get_max_level_realm;
    0x000320fc addiu a0, zero, 1             |     a0 = 1;
    0x00032100 sw zero, 0x98(sp)             |     *(var_98h) = 0;
    0x00032104 jalr t9                       |     t9 ();
    0x00032108 slti v0, v0, 7                |     v0 = (v0 < 7) ? 1 : 0;
    0x0003210c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00032110 move a0, zero                 |     a0 = 0;
    0x00032114 beqz v0, 0x32164              |     
                                             |     while (a0 == 0) {
    0x00032118 move v1, zero                 |         v1 = 0;
                                             | label_62:
    0x0003211c lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x00032120 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.Unable_to_find_parent_SCSI_device */
    0x00032124 addiu v0, v0, -0xd4           |         v0 += -0xd4;
    0x00032128 sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x0003212c sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00032130 addiu a0, zero, 7             |         a0 = 7;
    0x00032134 sw v0, 0x24(sp)               |         *(var_24h_2) = v0;
    0x00032138 sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x0003213c sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00032140 sw s7, 0x10(sp)               |         *(var_10h_7) = s7;
    0x00032144 addiu a3, zero, 0x13c         |         a3 = aav.0x0000013c;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x00032148 addiu a2, fp, -0x299          |         a2 = fp + -0x299;
    0x0003214c move a1, s4                   |         a1 = s4;
    0x00032150 jalr t9                       |         t9 ();
    0x00032154 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032158 addiu v1, sp, 0x90            |         v1 = sp + 0x90;
    0x0003215c lw a0, 0x54(sp)               |         a0 = *(var_54h_2);
    0x00032160 b 0x31488                     |         goto label_42;
    0x00032164 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x00032168 move a0, s0                   |         a0 = s0;
    0x0003216c addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x00032170 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x00032174 lw a0, 0x98(sp)               |         a0 = *(var_98h);
    0x00032178 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x0003217c beqz a0, 0x32118              |         
                                             |     }
    0x00032180 lw v1, -0x7fd0(gp)            |     v1 = *(gp);
                                             |     /* str.DEVICE */
    0x00032184 addiu v1, v1, 0x7b84          |     v1 += 0x7b84;
    0x00032188 b 0x3211c                     |     goto label_62;
                                             | label_182:
    0x0003218c addiu v1, sp, 0x90            |     v1 = sp + 0x90;
    0x00032190 lw a0, 0x54(sp)               |     a0 = *(var_54h_2);
    0x00032194 b 0x31488                     |     goto label_42;
                                             | label_183:
    0x00032198 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0003219c lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
    0x000321a0 lw a0, 0x70(sp)               |     a0 = *(var_70h_4);
    0x000321a4 sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x000321a8 addiu a2, sp, 0x7c            |     a2 = sp + 0x7c;
                                             |     /* esilref: 'vendor' */
    0x000321ac addiu a1, a1, -0x115c         |     a1 += -0x115c;
    0x000321b0 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x000321b4 move s4, v0                   |     s4 = v0;
    0x000321b8 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000321bc lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
                                             |     if (v0 >= 0) {
    0x000321c0 bltz v0, 0x3230c              |         
    0x000321c4 lw t9, -0x7b54(gp)            |         t9 = sym.udev_util_encode_string;
    0x000321c8 lw a0, 0x7c(sp)               |         a0 = *(var_7ch_2);
    0x000321cc sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
    0x000321d0 addiu a2, zero, 0x100         |         a2 = aav.0x00000100;
    0x000321d4 addiu a1, sp, 0x1dc           |         a1 = sp + aav.0x000001dc;
    0x000321d8 jalr t9                       |         t9 ();
    0x000321dc lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000321e0 addiu s5, sp, 0x9c            |         s5 = sp + 0x9c;
    0x000321e4 lw a0, 0x7c(sp)               |         a0 = *(var_7ch_2);
    0x000321e8 lw t9, -0x7d48(gp)            |         t9 = sym.util_replace_whitespace;
    0x000321ec addiu a2, zero, 0x3f          |         a2 = 0x3f;
    0x000321f0 move a1, s5                   |         a1 = s5;
    0x000321f4 jalr t9                       |         t9 ();
    0x000321f8 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000321fc move a1, zero                 |         a1 = 0;
    0x00032200 lw t9, -0x7d38(gp)            |         t9 = sym.util_replace_chars;
    0x00032204 move a0, s5                   |         a0 = s5;
    0x00032208 jalr t9                       |         t9 ();
    0x0003220c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032210 lw a0, 0x70(sp)               |         a0 = *(var_70h_4);
    0x00032214 addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00032218 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0003221c lw t9, -0x7d18(gp)            |         t9 = sym.sd_device_get_sysattr_value;
                                             |         /* str.model */
    0x00032220 addiu a1, a1, -0x74           |         a1 += -0x74;
    0x00032224 bal 0x4e290                   |         sym_sd_device_get_sysattr_value ();
    0x00032228 move s4, v0                   |         s4 = v0;
    0x0003222c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032230 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
                                             |         if (v0 < 0) {
    0x00032234 bltz v0, 0x32388              |             goto label_186;
                                             |         }
    0x00032238 lw t9, -0x7b54(gp)            |         t9 = sym.udev_util_encode_string;
    0x0003223c lw a0, 0x78(sp)               |         a0 = *(var_78h_2);
    0x00032240 sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
    0x00032244 addiu a2, zero, 0x100         |         a2 = aav.0x00000100;
    0x00032248 addiu a1, sp, 0x2dc           |         a1 = sp + aav.0x000002dc;
    0x0003224c jalr t9                       |         t9 ();
    0x00032250 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032254 addiu s6, sp, 0xdc            |         s6 = sp + 0xdc;
    0x00032258 lw a0, 0x78(sp)               |         a0 = *(var_78h_2);
    0x0003225c lw t9, -0x7d48(gp)            |         t9 = sym.util_replace_whitespace;
    0x00032260 addiu a2, zero, 0x3f          |         a2 = 0x3f;
    0x00032264 move a1, s6                   |         a1 = s6;
    0x00032268 jalr t9                       |         t9 ();
    0x0003226c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032270 move a1, zero                 |         a1 = 0;
    0x00032274 lw t9, -0x7d38(gp)            |         t9 = sym.util_replace_chars;
    0x00032278 move a0, s6                   |         a0 = s6;
    0x0003227c jalr t9                       |         t9 ();
    0x00032280 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032284 lw a0, 0x70(sp)               |         a0 = *(var_70h_4);
    0x00032288 addiu a2, sp, 0x80            |         a2 = sp + 0x80;
    0x0003228c lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x00032290 lw t9, -0x7d18(gp)            |         t9 = sym.sd_device_get_sysattr_value;
                                             |         /* esilref: 'type' */
    0x00032294 addiu a1, a1, -0x6180         |         a1 += -0x6180;
    0x00032298 bal 0x4e290                   |         sym_sd_device_get_sysattr_value ();
    0x0003229c move s4, v0                   |         s4 = v0;
    0x000322a0 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000322a4 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
                                             |         if (v0 < 0) {
    0x000322a8 bltz v0, 0x324f8              |             goto label_187;
                                             |         }
    0x000322ac lw s5, 0x80(sp)               |         s5 = *(var_80h);
    0x000322b0 lw t9, -0x7328(gp)            |         t9 = sym.imp.strtoul;
    0x000322b4 addiu s4, sp, 0x98            |         s4 = sp + 0x98;
    0x000322b8 sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
    0x000322bc move a0, s5                   |         a0 = s5;
    0x000322c0 move a2, zero                 |         a2 = 0;
    0x000322c4 move a1, s4                   |         a1 = s4;
    0x000322c8 jalr t9                       |         t9 ();
    0x000322cc lw a0, 0x98(sp)               |         a0 = *(var_98h);
    0x000322d0 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000322d4 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
                                             |         if (s5 == a0) {
    0x000322d8 beq s5, a0, 0x32440           |             goto label_188;
                                             |         }
    0x000322dc sltiu a0, v0, 0x10            |         a0 = (v0 < 0x10) ? 1 : 0;
    0x000322e0 sll a0, v0, 2                 |         a0 = v0 << 2;
                                             |         if (a0 == 0) {
    0x000322e4 beqz a0, 0x32440              |             goto label_188;
                                             |         }
    0x000322e8 lw v0, -0x7fc4(gp)            |         v0 = *(gp);
    0x000322ec addiu v0, v0, 0x1c0           |         v0 += aav.0x000001c0;
    0x000322f0 lwx v0, a0(v0)                |         __asm ("lwx v0, a0(v0)");
    0x000322f4 addu v0, v0, gp               |         v0 += gp;
    0x000322f8 jr v0                         |         v0 ();
    0x000322fc nop                           |         
                                             | label_166:
    0x00032300 lw t9, -0x7230(gp)            |         t9 = sym.imp.__stack_chk_fail;
    0x00032304 jalr t9                       |         t9 ();
    0x00032308 nop                           |         
                                             |     }
    0x0003230c lw s5, 0x70(sp)               |     s5 = *(var_70h_4);
    0x00032310 sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s5 != 0) {
    0x00032314 beqz s5, 0x32334              |         
    0x00032318 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x0003231c addiu a0, zero, 1             |         a0 = 1;
    0x00032320 jalr t9                       |         t9 ();
    0x00032324 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00032328 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x0003232c lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
                                             |         if (v0 == 0) {
    0x00032330 beqz v0, 0x323e8              |             goto label_189;
                                             |         }
                                             |     }
    0x00032334 move a0, zero                 |     a0 = 0;
                                             | label_63:
    0x00032338 move v0, zero                 |     v0 = 0;
                                             | label_64:
    0x0003233c lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00032340 lw t9, -0x7fbc(gp)            |     t9 = sym.log_object_internal;
                                             |     /* str.Failed_to_get_SCSI_vendor_attribute:__m */
    0x00032344 addiu a1, a1, -0x9c           |     a1 += -0x9c;
    0x00032348 sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x0003234c sw a1, 0x24(sp)               |     *(var_24h_2) = a1;
    0x00032350 sw zero, 0x20(sp)             |     *(var_20h_2) = 0;
    0x00032354 sw zero, 0x1c(sp)             |     *(var_1ch_2) = 0;
    0x00032358 sw a0, 0x18(sp)               |     *(var_18h_7) = a0;
    0x0003235c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00032360 sw s7, 0x10(sp)               |     *(var_10h_7) = s7;
    0x00032364 addiu a3, zero, 0x149         |     a3 = 0x149;
                                             |     do {
                                             | label_67:
    0x00032368 addiu a0, zero, 7             |         a0 = 7;
    0x0003236c addiu a2, fp, -0x299          |         a2 = fp + -0x299;
    0x00032370 move a1, s4                   |         a1 = s4;
    0x00032374 jalr t9                       |         t9 ();
    0x00032378 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x0003237c lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
    0x00032380 lw a0, 0x54(sp)               |         a0 = *(var_54h_2);
    0x00032384 b 0x31488                     |         goto label_42;
                                             | label_186:
    0x00032388 lw s5, 0x70(sp)               |         s5 = *(var_70h_4);
    0x0003238c sw zero, 0x98(sp)             |         *(var_98h) = 0;
                                             |         if (s5 != 0) {
    0x00032390 beqz s5, 0x323b0              |             
    0x00032394 lw t9, -0x7fcc(gp)            |             t9 = sym.log_get_max_level_realm;
    0x00032398 addiu a0, zero, 1             |             a0 = 1;
    0x0003239c jalr t9                       |             t9 ();
    0x000323a0 slti v0, v0, 7                |             v0 = (v0 < 7) ? 1 : 0;
    0x000323a4 lw gp, 0x30(sp)               |             gp = *(var_30h_4);
    0x000323a8 lw v1, 0x3c(sp)               |             v1 = *(var_3ch_2);
                                             |             if (v0 == 0) {
    0x000323ac beqz v0, 0x32414              |                 goto label_190;
                                             |             }
                                             |         }
    0x000323b0 move a0, zero                 |         a0 = 0;
                                             | label_65:
    0x000323b4 move v0, zero                 |         v0 = 0;
                                             | label_66:
    0x000323b8 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x000323bc sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
                                             |         /* str.Failed_to_get_SCSI_model_attribute:__m */
    0x000323c0 addiu a1, a1, -0x6c           |         a1 += -0x6c;
    0x000323c4 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x000323c8 sw a1, 0x24(sp)               |         *(var_24h_2) = a1;
    0x000323cc sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x000323d0 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x000323d4 sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x000323d8 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x000323dc sw s7, 0x10(sp)               |         *(var_10h_7) = s7;
    0x000323e0 addiu a3, zero, 0x152         |         a3 = 0x152;
    0x000323e4 b 0x32368                     |         
                                             |     } while (1);
                                             | label_189:
    0x000323e8 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x000323ec move a0, s5                   |     a0 = s5;
    0x000323f0 addiu a1, sp, 0x98            |     a1 = sp + 0x98;
    0x000323f4 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x000323f8 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x000323fc lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00032400 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
                                             |     if (a0 == 0) {
    0x00032404 beqz a0, 0x32338              |         goto label_63;
                                             |     }
    0x00032408 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x0003240c addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00032410 b 0x3233c                     |     goto label_64;
                                             | label_190:
    0x00032414 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00032418 move a0, s5                   |     a0 = s5;
    0x0003241c addiu a1, sp, 0x98            |     a1 = sp + 0x98;
    0x00032420 bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00032424 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00032428 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x0003242c lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
                                             |     if (a0 == 0) {
    0x00032430 beqz a0, 0x323b4              |         goto label_65;
                                             |     }
    0x00032434 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00032438 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x0003243c b 0x323b8                     |     goto label_66;
                                             | label_188:
    0x00032440 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
                                             |     /* str.generic */
    0x00032444 addiu a2, a2, -0x1ec          |     a2 += -aav.0x000001ec;
    0x00032448 lw t9, -0x7d40(gp)            |     t9 = sym.strscpy;
    0x0003244c sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x00032450 addiu a1, zero, 0x3f          |     a1 = 0x3f;
    0x00032454 addiu a0, sp, 0x15c           |     a0 = sp + aav.0x0000015c;
    0x00032458 jalr t9                       |     t9 ();
    0x0003245c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00032460 lw a0, 0x70(sp)               |     a0 = *(var_70h_4);
    0x00032464 addiu a2, sp, 0x84            |     a2 = sp + 0x84;
    0x00032468 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x0003246c lw t9, -0x7d18(gp)            |     t9 = sym.sd_device_get_sysattr_value;
                                             |     /* esilref: 'rev' */
    0x00032470 addiu a1, a1, -0x1610         |     a1 += -0x1610;
    0x00032474 bal 0x4e290                   |     sym_sd_device_get_sysattr_value ();
    0x00032478 move s5, v0                   |     s5 = v0;
    0x0003247c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00032480 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
                                             |     if (v0 < 0) {
    0x00032484 bltz v0, 0x32558              |         goto label_191;
                                             |     }
    0x00032488 lw t9, -0x7d48(gp)            |     t9 = sym.util_replace_whitespace;
    0x0003248c addiu s4, sp, 0x11c           |     s4 = sp + aav.0x0000011c;
    0x00032490 lw a0, 0x84(sp)               |     a0 = *(var_84h);
    0x00032494 sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x00032498 addiu a2, zero, 0x3f          |     a2 = 0x3f;
    0x0003249c move a1, s4                   |     a1 = s4;
    0x000324a0 jalr t9                       |     t9 ();
    0x000324a4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000324a8 move a1, zero                 |     a1 = 0;
    0x000324ac lw t9, -0x7d38(gp)            |     t9 = sym.util_replace_chars;
    0x000324b0 move a0, s4                   |     a0 = s4;
    0x000324b4 jalr t9                       |     t9 ();
    0x000324b8 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000324bc lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x000324c0 addiu a0, sp, 0x19c           |     a0 = sp + aav.0x0000019c;
    0x000324c4 lw a3, -0x7fc4(gp)            |     a3 = *(gp);
    0x000324c8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000324cc lw v0, 0x90(sp)               |     v0 = *(var_90h);
    0x000324d0 lw t9, -0x7534(gp)            |     t9 = sym.imp.__sprintf_chk
    0x000324d4 sw v0, 0x10(sp)               |     *(var_10h_7) = v0;
                                             |     /* str._d:_d */
    0x000324d8 addiu a3, a3, 0x10            |     a3 += 0x10;
    0x000324dc addiu a2, zero, 0x40          |     a2 = 0x40;
    0x000324e0 addiu a1, zero, 1             |     a1 = 1;
    0x000324e4 jalr t9                       |     t9 ();
    0x000324e8 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000324ec lw a0, 0x54(sp)               |     a0 = *(var_54h_2);
    0x000324f0 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x000324f4 b 0x31488                     |     goto label_42;
                                             | label_187:
    0x000324f8 lw s5, 0x70(sp)               |     s5 = *(var_70h_4);
    0x000324fc sw zero, 0x98(sp)             |     *(var_98h) = 0;
                                             |     if (s5 != 0) {
    0x00032500 beqz s5, 0x32520              |         
    0x00032504 lw t9, -0x7fcc(gp)            |         t9 = sym.log_get_max_level_realm;
    0x00032508 addiu a0, zero, 1             |         a0 = 1;
    0x0003250c jalr t9                       |         t9 ();
    0x00032510 slti v0, v0, 7                |         v0 = (v0 < 7) ? 1 : 0;
    0x00032514 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00032518 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
                                             |         if (v0 == 0) {
    0x0003251c beqz v0, 0x325d4              |             goto label_192;
                                             |         }
                                             |     }
    0x00032520 move a0, zero                 |     a0 = 0;
                                             |     do {
    0x00032524 move v0, zero                 |         v0 = 0;
                                             | label_68:
    0x00032528 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0003252c sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
                                             |         /* str.Failed_to_get_SCSI_type_attribute:__m */
    0x00032530 addiu a1, a1, -0x44           |         a1 += -0x44;
    0x00032534 lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
    0x00032538 sw a1, 0x24(sp)               |         *(var_24h_2) = a1;
    0x0003253c sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x00032540 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00032544 sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x00032548 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0003254c sw s7, 0x10(sp)               |         *(var_10h_7) = s7;
    0x00032550 addiu a3, zero, 0x15b         |         a3 = 0x15b;
    0x00032554 b 0x32368                     |         goto label_67;
                                             | label_191:
    0x00032558 lw s6, 0x70(sp)               |         s6 = *(var_70h_4);
    0x0003255c sw zero, 0x98(sp)             |         *(var_98h) = 0;
                                             |         if (s6 != 0) {
    0x00032560 beqz s6, 0x32580              |             
    0x00032564 lw t9, -0x7fcc(gp)            |             t9 = sym.log_get_max_level_realm;
    0x00032568 addiu a0, zero, 1             |             a0 = 1;
    0x0003256c jalr t9                       |             t9 ();
    0x00032570 slti v0, v0, 7                |             v0 = (v0 < 7) ? 1 : 0;
    0x00032574 lw gp, 0x30(sp)               |             gp = *(var_30h_4);
    0x00032578 lw v1, 0x3c(sp)               |             v1 = *(var_3ch_2);
                                             |             if (v0 == 0) {
    0x0003257c beqz v0, 0x32600              |                 goto label_193;
                                             |             }
                                             |         }
    0x00032580 move a0, zero                 |         a0 = 0;
                                             | label_69:
    0x00032584 move v0, zero                 |         v0 = 0;
                                             | label_70:
    0x00032588 lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0003258c lw t9, -0x7fbc(gp)            |         t9 = sym.log_object_internal;
                                             |         /* str.Failed_to_get_SCSI_revision_attribute:__m */
    0x00032590 addiu a1, a1, -0x1c           |         a1 += -0x1c;
    0x00032594 sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
    0x00032598 sw a1, 0x24(sp)               |         *(var_24h_2) = a1;
    0x0003259c sw a0, 0x18(sp)               |         *(var_18h_7) = a0;
    0x000325a0 sw zero, 0x20(sp)             |         *(var_20h_2) = 0;
    0x000325a4 addiu a0, zero, 7             |         a0 = 7;
    0x000325a8 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x000325ac sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x000325b0 sw s7, 0x10(sp)               |         *(var_10h_7) = s7;
    0x000325b4 addiu a3, zero, 0x162         |         a3 = 0x162;
                                             |         /* esilref: 'src/udev/udev-builtin-usb_id.c' */
    0x000325b8 addiu a2, fp, -0x299          |         a2 = fp + -0x299;
    0x000325bc move a1, s5                   |         a1 = s5;
    0x000325c0 jalr t9                       |         t9 ();
    0x000325c4 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000325c8 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
    0x000325cc lw a0, 0x54(sp)               |         a0 = *(var_54h_2);
    0x000325d0 b 0x31488                     |         goto label_42;
                                             | label_192:
    0x000325d4 lw t9, -0x7fb8(gp)            |         t9 = sym.sd_device_get_sysname;
    0x000325d8 move a0, s5                   |         a0 = s5;
    0x000325dc addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x000325e0 bal 0x4ac0c                   |         sym_sd_device_get_sysname ();
    0x000325e4 lw a0, 0x98(sp)               |         a0 = *(var_98h);
    0x000325e8 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000325ec lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
    0x000325f0 beqz a0, 0x32524              |         
                                             |     } while (a0 == 0);
    0x000325f4 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x000325f8 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x000325fc b 0x32528                     |     goto label_68;
                                             | label_193:
    0x00032600 lw t9, -0x7fb8(gp)            |     t9 = sym.sd_device_get_sysname;
    0x00032604 move a0, s6                   |     a0 = s6;
    0x00032608 move a1, s4                   |     a1 = s4;
    0x0003260c bal 0x4ac0c                   |     sym_sd_device_get_sysname ();
    0x00032610 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00032614 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00032618 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
                                             |     if (a0 == 0) {
    0x0003261c beqz a0, 0x32584              |         goto label_69;
                                             |     }
    0x00032620 lw v0, -0x7fd0(gp)            |     v0 = *(gp);
                                             |     /* str.DEVICE */
    0x00032624 addiu v0, v0, 0x7b84          |     v0 += 0x7b84;
    0x00032628 b 0x32588                     |     goto label_70;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x5fc6c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.cg_pid_get_path ()           | void cg_pid_get_path () {
    0x0005fc6c lui gp, 6                     |     
    0x0005fc70 addiu gp, gp, 0x7504          |     
    0x0005fc74 addu gp, gp, t9               |     gp += t9;
    0x0005fc78 addiu sp, sp, -0x70           |     
    0x0005fc7c sw s4, 0x58(sp)               |     *(var_58h) = s4;
    0x0005fc80 lw s4, -0x71f0(gp)            |     s4 = *((gp - 7292));
    0x0005fc84 sw fp, 0x68(sp)               |     *(var_68h) = fp;
    0x0005fc88 sw ra, 0x6c(sp)               |     *(var_6ch) = ra;
    0x0005fc8c sw s7, 0x64(sp)               |     *(var_64h) = s7;
    0x0005fc90 sw s6, 0x60(sp)               |     *(var_60h) = s6;
    0x0005fc94 sw s5, 0x5c(sp)               |     *(var_5ch) = s5;
    0x0005fc98 sw s3, 0x54(sp)               |     *(var_54h) = s3;
    0x0005fc9c sw s2, 0x50(sp)               |     *(var_50h) = s2;
    0x0005fca0 sw s1, 0x4c(sp)               |     *(var_4ch) = s1;
    0x0005fca4 sw s0, 0x48(sp)               |     *(var_48h) = s0;
    0x0005fca8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0005fcac move fp, sp                   |     fp = sp;
    0x0005fcb0 lw v0, (s4)                   |     v0 = *(s4);
    0x0005fcb4 sw a2, 0x2c(fp)               |     *(arg_2ch) = a2;
    0x0005fcb8 sw v0, 0x44(fp)               |     *(arg_44h) = v0;
    0x0005fcbc sw zero, 0x34(fp)             |     *(arg_34h) = 0;
                                             |     if (a2 == 0) {
    0x0005fcc0 beqz a2, 0x5ffd8              |         goto label_9;
                                             |     }
    0x0005fcc4 move s3, a1                   |     s3 = a1;
                                             |     if (a1 < 0) {
    0x0005fcc8 bltz a1, 0x60004              |         goto label_10;
                                             |     }
    0x0005fccc move s0, a0                   |     s0 = a0;
                                             |     if (a0 == 0) {
    0x0005fcd0 beqz a0, 0x5ffb4              |         goto label_11;
                                             |     }
    0x0005fcd4 lw t9, -0x7800(gp)            |     t9 = sym.cg_controller_is_valid;
    0x0005fcd8 bal 0x5fa88                   |     sym_cg_controller_is_valid ();
    0x0005fcdc nop                           |     
    0x0005fce0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x0005fce4 beqz v0, 0x60058              |         goto label_12;
                                             |     }
                                             | label_5:
    0x0005fce8 lw t9, -0x77fc(gp)            |     t9 = sym.cg_unified_controller;
    0x0005fcec move a0, s0                   |     a0 = s0;
    0x0005fcf0 bal 0x5fb98                   |     sym_cg_unified_controller ();
    0x0005fcf4 move s1, v0                   |     s1 = v0;
    0x0005fcf8 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 < 0) {
    0x0005fcfc bltz v0, 0x5fe2c              |         goto label_8;
                                             |     }
    0x0005fd00 lw a1, -0x7fd0(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x0005fd04 beqz v0, 0x5fe80              |         goto label_13;
                                             |     }
    0x0005fd08 move s2, zero                 |     s2 = 0;
                                             | label_6:
    0x0005fd0c addiu sp, sp, -0x20           |     
                                             |     if (s3 == 0) {
    0x0005fd10 bnel s3, zero, 0x5feac        |         goto label_14;
                                             |     }
                                             |     do {
    0x0005fd14 lw s5, -0x7e08(gp)            |         s5 = *((gp - 8066));
                                             |         /* str._proc_self_cgroup */
    0x0005fd18 addiu s5, s5, -0x5e48         |         s5 += -0x5e48;
                                             | label_0:
    0x0005fd1c lw a1, -0x7fc4(gp)            |         a1 = *(gp);
    0x0005fd20 lw t9, -0x77f8(gp)            |         t9 = sym.fopen_unlocked;
    0x0005fd24 addiu a2, fp, 0x34            |         a2 = fp + 0x34;
                                             |         /* esilref: 're' */
    0x0005fd28 addiu a1, a1, 0x72d0          |         a1 += 0x72d0;
    0x0005fd2c move a0, s5                   |         a0 = s5;
    0x0005fd30 bal 0x64d88                   |         sym_fopen_unlocked ();
    0x0005fd34 addiu v1, zero, -2            |         v1 = -2;
    0x0005fd38 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |         if (v0 == v1) {
    0x0005fd3c beq v0, v1, 0x60060           |             goto label_15;
                                             |         }
                                             |         if (v0 >= 0) {
    0x0005fd40 bltzl v0, 0x5fe2c             |             
    0x0005fd44 move s1, v0                   |             s1 = v0;
    0x0005fd48 lw v0, -0x7e08(gp)            |             v0 = *((gp - 8066));
    0x0005fd4c lw s3, -0x7fc4(gp)            |             s3 = *(gp);
                                             |             /* esilref: '0:' */
    0x0005fd50 addiu v0, v0, -0x5e18         |             v0 += -0x5e18;
    0x0005fd54 addiu s6, fp, 0x38            |             s6 = fp + 0x38;
    0x0005fd58 addiu s7, fp, 0x3c            |             s7 = fp + 0x3c;
                                             |             /* esilref: '' */
    0x0005fd5c addiu s3, s3, -0x4618         |             s3 += -0x4618;
    0x0005fd60 sw v0, 0x24(fp)               |             *(arg_24h) = v0;
                                             | label_1:
    0x0005fd64 lw t9, -0x7c1c(gp)            |             t9 = sym.read_line_full;
    0x0005fd68 lw a0, 0x34(fp)               |             a0 = *(arg_34h);
    0x0005fd6c move a3, s6                   |             a3 = s6;
    0x0005fd70 move a2, zero                 |             a2 = 0;
    0x0005fd74 lui a1, 0x10                  |             a1 = 0x100000;
    0x0005fd78 sw zero, 0x38(fp)             |             *(arg_38h) = 0;
    0x0005fd7c bal 0x65b44                   |             sym_read_line_full ();
    0x0005fd80 lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |             if (v0 < 0) {
    0x0005fd84 bltz v0, 0x60038              |                 goto label_16;
                                             |             }
    0x0005fd88 lw s5, 0x38(fp)               |             s5 = *(arg_38h);
                                             |             if (v0 == 0) {
    0x0005fd8c beqz v0, 0x60040              |                 goto label_17;
                                             |             }
    0x0005fd90 lw t9, -0x732c(gp)            |             t9 = sym.imp.strchr;
                                             |             if (s1 == 0) {
    0x0005fd94 beqz s1, 0x5fef0              |                 goto label_18;
                                             |             }
    0x0005fd98 lw t9, -0x74c8(gp)            |             t9 = sym.imp.strncmp;
    0x0005fd9c lw a1, 0x24(fp)               |             a1 = *(arg_24h);
    0x0005fda0 addiu a2, zero, 2             |             a2 = 2;
    0x0005fda4 move a0, s5                   |             a0 = s5;
    0x0005fda8 jalr t9                       |             t9 ();
    0x0005fdac lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |             if (v0 != 0) {
    0x0005fdb0 bnez v0, 0x5fedc              |                 goto label_2;
                                             |             }
    0x0005fdb4 addiu a0, s5, 2               |             a0 = s5 + 2;
    0x0005fdb8 lw t9, -0x732c(gp)            |             t9 = sym.imp.strchr;
                                             |             if (a0 == 0) {
    0x0005fdbc beqz a0, 0x5fed8              |                 goto label_19;
                                             |             }
    0x0005fdc0 addiu a1, zero, 0x3a          |             a1 = 0x3a;
    0x0005fdc4 jalr t9                       |             t9 ();
    0x0005fdc8 sw v0, 0x28(fp)               |             *(arg_28h) = v0;
    0x0005fdcc lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |             if (v0 == 0) {
    0x0005fdd0 beqz v0, 0x5fedc              |                 goto label_2;
                                             |             }
                                             | label_3:
    0x0005fdd4 lw v0, 0x28(fp)               |             v0 = *(arg_28h);
    0x0005fdd8 lw t9, -0x71d4(gp)            |             t9 = sym.imp.strdup;
    0x0005fddc addiu a0, v0, 1               |             a0 = v0 + 1;
    0x0005fde0 jalr t9                       |             t9 ();
    0x0005fde4 move s0, v0                   |             s0 = v0;
    0x0005fde8 lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |             if (v0 == 0) {
    0x0005fdec beqz v0, 0x60030              |                 goto label_20;
                                             |             }
    0x0005fdf0 lw a1, -0x7e08(gp)            |             a1 = *((gp - 8066));
    0x0005fdf4 lw t9, -0x7d60(gp)            |             t9 = sym.endswith;
                                             |             /* str.__deleted_ */
    0x0005fdf8 addiu a1, a1, -0x5e14         |             a1 += -0x5e14;
    0x0005fdfc move a0, v0                   |             a0 = v0;
    0x0005fe00 bal 0x7b744                   |             sym_endswith ();
    0x0005fe04 lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |             if (v0 != 0) {
    0x0005fe08 beqz v0, 0x5fe10              |                 
    0x0005fe0c sb zero, (v0)                 |                 *(v0) = 0;
                                             |             }
    0x0005fe10 lw v0, 0x2c(fp)               |             v0 = *(arg_2ch);
    0x0005fe14 move s1, zero                 |             s1 = 0;
    0x0005fe18 sw s0, (v0)                   |             *(v0) = s0;
                                             | label_7:
    0x0005fe1c lw t9, -0x71d0(gp)            |             t9 = *((gp - 7284));
    0x0005fe20 lw a0, 0x38(fp)               |             a0 = *(arg_38h);
    0x0005fe24 jalr t9                       |             t9 ();
    0x0005fe28 lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |         }
                                             | label_8:
    0x0005fe2c lw t9, -0x7bfc(gp)            |         t9 = sym.safe_fclose;
    0x0005fe30 lw a0, 0x34(fp)               |         a0 = *(arg_34h);
    0x0005fe34 bal 0x64144                   |         sym_safe_fclose ();
    0x0005fe38 lw a0, 0x44(fp)               |         a0 = *(arg_44h);
    0x0005fe3c lw v1, (s4)                   |         v1 = *(s4);
    0x0005fe40 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0005fe44 move v0, s1                   |         v0 = s1;
                                             |         if (a0 != v1) {
    0x0005fe48 bne a0, v1, 0x60068           |             goto label_21;
                                             |         }
    0x0005fe4c move sp, fp                   |         
    0x0005fe50 lw ra, 0x6c(sp)               |         ra = *(var_6ch);
    0x0005fe54 lw fp, 0x68(sp)               |         fp = *(var_68h);
    0x0005fe58 lw s7, 0x64(sp)               |         s7 = *(var_64h);
    0x0005fe5c lw s6, 0x60(sp)               |         s6 = *(var_60h);
    0x0005fe60 lw s5, 0x5c(sp)               |         s5 = *(var_5ch);
    0x0005fe64 lw s4, 0x58(sp)               |         s4 = *(var_58h);
    0x0005fe68 lw s3, 0x54(sp)               |         s3 = *(var_54h);
    0x0005fe6c lw s2, 0x50(sp)               |         s2 = *(var_50h);
    0x0005fe70 lw s1, 0x4c(sp)               |         s1 = *(var_4ch);
    0x0005fe74 lw s0, 0x48(sp)               |         s0 = *(var_48h);
    0x0005fe78 addiu sp, sp, 0x70            |         
    0x0005fe7c jr ra                         |         return v0;
                                             | label_13:
    0x0005fe80 lw t9, -0x7178(gp)            |         t9 = *((gp - 7262));
                                             |         /* str._systemd */
    0x0005fe84 addiu a1, a1, 0x7e4c          |         a1 += 0x7e4c;
    0x0005fe88 move a0, s0                   |         a0 = s0;
    0x0005fe8c jalr t9                       |         t9 ();
    0x0005fe90 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |         if (v0 != 0) {
    0x0005fe94 bnez v0, 0x5ffc0              |             goto label_22;
                                             |         }
    0x0005fe98 lw s0, -0x7e08(gp)            |         s0 = *((gp - 8066));
    0x0005fe9c addiu s2, zero, 0xc           |         s2 = 0xc;
                                             |         /* str.namesystemd */
    0x0005fea0 addiu s0, s0, -0x5e58         |         s0 += -0x5e58;
    0x0005fea4 beqz s3, 0x5fd14              |         
                                             |     } while (s3 == 0);
    0x0005fea8 addiu sp, sp, -0x20           |     
                                             | label_14:
    0x0005feac lw a3, -0x7e08(gp)            |     a3 = *((gp - 8066));
    0x0005feb0 lw t9, -0x7534(gp)            |     t9 = sym.imp.__sprintf_chk
    0x0005feb4 addiu s5, sp, 0x18            |     s5 = sp + 0x18;
    0x0005feb8 sw s3, 0x10(sp)               |     *(var_28h) = s3;
                                             |     /* str._proc__i_cgroup */
    0x0005febc addiu a3, a3, -0x5e28         |     a3 += -0x5e28;
    0x0005fec0 addiu a2, zero, 0x1a          |     a2 = 0x1a;
    0x0005fec4 addiu a1, zero, 1             |     a1 = 1;
    0x0005fec8 move a0, s5                   |     a0 = s5;
    0x0005fecc jalr t9                       |     t9 ();
    0x0005fed0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0005fed4 b 0x5fd1c                     |     goto label_0;
                                             | label_19:
    0x0005fed8 addiu s5, zero, -2            |     s5 = -2;
                                             |     do {
                                             | label_2:
    0x0005fedc lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x0005fee0 move a0, s5                   |         a0 = s5;
    0x0005fee4 jalr t9                       |         t9 ();
    0x0005fee8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0005feec b 0x5fd64                     |         goto label_1;
                                             | label_18:
    0x0005fef0 addiu a1, zero, 0x3a          |         a1 = 0x3a;
    0x0005fef4 move a0, s5                   |         a0 = s5;
    0x0005fef8 jalr t9                       |         t9 ();
    0x0005fefc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0005ff00 beqz v0, 0x5fedc              |         
                                             |     } while (v0 == 0);
    0x0005ff04 addiu v1, v0, 1               |     v1 = v0 + 1;
    0x0005ff08 lw t9, -0x732c(gp)            |     t9 = sym.imp.strchr;
    0x0005ff0c addiu a1, zero, 0x3a          |     a1 = 0x3a;
    0x0005ff10 move a0, v1                   |     a0 = v1;
    0x0005ff14 sw v1, 0x20(fp)               |     *(arg_20h) = v1;
    0x0005ff18 jalr t9                       |     t9 ();
    0x0005ff1c sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x0005ff20 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x0005ff24 beqz v0, 0x5fedc              |         goto label_2;
                                             |     }
    0x0005ff28 lw v1, 0x20(fp)               |     v1 = *(arg_20h);
    0x0005ff2c lw t9, -0x7af4(gp)            |     t9 = sym.split;
    0x0005ff30 addiu s5, fp, 0x40            |     s5 = fp + 0x40;
    0x0005ff34 sb zero, (v0)                 |     *(v0) = 0;
    0x0005ff38 move a3, zero                 |     a3 = 0;
    0x0005ff3c move a2, s3                   |     a2 = s3;
    0x0005ff40 move a1, s7                   |     a1 = s7;
    0x0005ff44 move a0, s5                   |     a0 = s5;
    0x0005ff48 sw v1, 0x40(fp)               |     *(arg_40h) = v1;
    0x0005ff4c bal 0x7b9a8                   |     sym_split ();
    0x0005ff50 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x0005ff54 beqz v0, 0x5ff9c              |         goto label_23;
                                             |     }
                                             | label_4:
    0x0005ff58 lw v1, 0x3c(fp)               |     v1 = *(arg_3ch);
    0x0005ff5c lw t9, -0x7218(gp)            |     t9 = sym.imp.memcmp;
                                             |     if (v1 != s2) {
    0x0005ff60 bne v1, s2, 0x5ff7c           |         goto label_24;
                                             |     }
    0x0005ff64 move a2, s2                   |     a2 = s2;
    0x0005ff68 move a1, s0                   |     a1 = s0;
    0x0005ff6c move a0, v0                   |     a0 = v0;
    0x0005ff70 jalr t9                       |     t9 ();
    0x0005ff74 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x0005ff78 beqz v0, 0x5fdd4              |         goto label_3;
                                             |     }
                                             | label_24:
    0x0005ff7c lw t9, -0x7af4(gp)            |     t9 = sym.split;
    0x0005ff80 move a3, zero                 |     a3 = 0;
    0x0005ff84 move a2, s3                   |     a2 = s3;
    0x0005ff88 move a1, s7                   |     a1 = s7;
    0x0005ff8c move a0, s5                   |     a0 = s5;
    0x0005ff90 bal 0x7b9a8                   |     sym_split ();
    0x0005ff94 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x0005ff98 bnez v0, 0x5ff58              |         goto label_4;
                                             |     }
                                             | label_23:
    0x0005ff9c lw s5, 0x38(fp)               |     s5 = *(arg_38h);
    0x0005ffa0 lw t9, -0x71d0(gp)            |     t9 = *((gp - 7284));
    0x0005ffa4 move a0, s5                   |     a0 = s5;
    0x0005ffa8 jalr t9                       |     t9 ();
    0x0005ffac lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0005ffb0 b 0x5fd64                     |     goto label_1;
                                             | label_11:
    0x0005ffb4 lw s0, -0x7fd0(gp)            |     s0 = *(gp);
                                             |     /* str._systemd */
    0x0005ffb8 addiu s0, s0, 0x7e4c          |     s0 += 0x7e4c;
    0x0005ffbc b 0x5fce8                     |     goto label_5;
                                             | label_22:
    0x0005ffc0 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x0005ffc4 move a0, s0                   |     a0 = s0;
    0x0005ffc8 jalr t9                       |     t9 ();
    0x0005ffcc move s2, v0                   |     s2 = v0;
    0x0005ffd0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0005ffd4 b 0x5fd0c                     |     goto label_6;
                                             | label_9:
    0x0005ffd8 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
    0x0005ffdc lw a2, -0x7e08(gp)            |     a2 = *((gp - 8066));
    0x0005ffe0 lw a1, -0x7e08(gp)            |     a1 = *((gp - 8066));
                                             |     /* str.cg_pid_get_path */
    0x0005ffe4 addiu v0, v0, -0x5d38         |     v0 += -0x5d38;
    0x0005ffe8 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x0005ffec sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0005fff0 addiu a3, zero, 0x40b         |     a3 = 0x40b;
                                             |     /* esilref: 'src/basic/cgroup-util.c' */
    0x0005fff4 addiu a2, a2, -0x6165         |     a2 += -0x6165;
                                             |     /* esilref: 'path' */
    0x0005fff8 addiu a1, a1, -0x4880         |     a1 += -0x4880;
    0x0005fffc move a0, zero                 |     a0 = 0;
    0x00060000 bal 0x6e764                   |     sym_log_assert_failed_realm ();
                                             | label_10:
    0x00060004 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
    0x00060008 lw a2, -0x7e08(gp)            |     a2 = *((gp - 8066));
    0x0006000c lw a1, -0x7e08(gp)            |     a1 = *((gp - 8066));
                                             |     /* str.cg_pid_get_path */
    0x00060010 addiu v0, v0, -0x5d38         |     v0 += -0x5d38;
    0x00060014 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x00060018 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0006001c addiu a3, zero, 0x40c         |     a3 = 0x40c;
                                             |     /* esilref: 'src/basic/cgroup-util.c' */
    0x00060020 addiu a2, a2, -0x6165         |     a2 += -0x6165;
                                             |     /* str.pid___0 */
    0x00060024 addiu a1, a1, -0x5e34         |     a1 += -0x5e34;
    0x00060028 move a0, zero                 |     a0 = 0;
    0x0006002c bal 0x6e764                   |     sym_log_assert_failed_realm ();
                                             | label_20:
    0x00060030 addiu s1, zero, -0xc          |     s1 = -0xc;
    0x00060034 b 0x5fe1c                     |     goto label_7;
                                             | label_16:
    0x00060038 move s1, v0                   |     s1 = v0;
    0x0006003c b 0x5fe1c                     |     goto label_7;
                                             | label_17:
    0x00060040 lw t9, -0x71d0(gp)            |     t9 = *((gp - 7284));
    0x00060044 move a0, s5                   |     a0 = s5;
    0x00060048 jalr t9                       |     t9 ();
    0x0006004c addiu s1, zero, -0x3d         |     s1 = -0x3d;
    0x00060050 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00060054 b 0x5fe2c                     |     goto label_8;
                                             | label_12:
    0x00060058 addiu s1, zero, -0x16         |     s1 = -0x16;
    0x0006005c b 0x5fe2c                     |     goto label_8;
                                             | label_15:
    0x00060060 addiu s1, zero, -3            |     s1 = -3;
    0x00060064 b 0x5fe2c                     |     goto label_8;
                                             | label_21:
    0x00060068 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0006006c jalr t9                       |     t9 ();
    0x00060070 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x852cc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.encode_devnode_name ()       | void encode_devnode_name () {
    0x000852cc lui gp, 4                     |     
    0x000852d0 addiu gp, gp, 0x1ea4          |     
    0x000852d4 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000852d8 beqz a0, 0x854a4              |         goto label_2;
                                             |     }
    0x000852dc nop                           |     
                                             |     if (a1 == 0) {
    0x000852e0 beqz a1, 0x854a4              |         goto label_2;
                                             |     }
    0x000852e4 nop                           |     
    0x000852e8 addiu sp, sp, -0x48           |     
    0x000852ec sw s6, 0x38(sp)               |     *(var_38h_2) = s6;
    0x000852f0 sw s5, 0x34(sp)               |     *(var_34h_2) = s5;
    0x000852f4 sw s4, 0x30(sp)               |     *(var_30h_2) = s4;
    0x000852f8 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x000852fc sw ra, 0x44(sp)               |     *(var_44h_2) = ra;
    0x00085300 sw fp, 0x40(sp)               |     *(var_40h_2) = fp;
    0x00085304 sw s7, 0x3c(sp)               |     *(var_3ch_2) = s7;
    0x00085308 sw s3, 0x2c(sp)               |     *(var_2ch_2) = s3;
    0x0008530c sw s2, 0x28(sp)               |     *(var_28h_2) = s2;
    0x00085310 sw s1, 0x24(sp)               |     *(var_24h_2) = s1;
    0x00085314 sw s0, 0x20(sp)               |     *(var_20h_2) = s0;
    0x00085318 lb v0, (a0)                   |     v0 = *(a0);
    0x0008531c move s6, a2                   |     s6 = a2;
    0x00085320 move s5, a1                   |     s5 = a1;
    0x00085324 move s4, a0                   |     s4 = a0;
                                             |     if (v0 == 0) {
    0x00085328 beqz v0, 0x8549c              |         goto label_3;
                                             |     }
    0x0008532c lw fp, -0x7e08(gp)            |     fp = *((gp - 8066));
    0x00085330 move s1, a0                   |     s1 = a0;
    0x00085334 move s3, zero                 |     s3 = 0;
    0x00085338 move s0, zero                 |     s0 = 0;
    0x0008533c addiu s7, zero, 0x5c          |     s7 = 0x5c;
                                             |     /* str.x_02x */
    0x00085340 addiu fp, fp, -0x10e8         |     fp += -0x10e8;
    0x00085344 b 0x8538c                     |     
                                             |     while (v0 == 0) {
    0x00085348 subu v0, s6, s3               |         __asm ("subu v0, s6, s3");
    0x0008534c sltu v0, v0, s2               |         v0 = (v0 < s2) ? 1 : 0;
    0x00085350 lw t9, -0x71e8(gp)            |         t9 = sym.imp.memcpy;
                                             |         if (v0 != 0) {
    0x00085354 bnez v0, 0x85468              |             goto label_4;
                                             |         }
    0x00085358 addu a0, s5, s3               |         a0 = s5 + s3;
    0x0008535c move a2, s2                   |         a2 = s2;
    0x00085360 move a1, s1                   |         a1 = s1;
    0x00085364 jalr t9                       |         t9 ();
    0x00085368 addiu s0, s0, -1              |         s0 += -1;
    0x0008536c lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x00085370 addu s3, s3, s2               |         s3 += s2;
    0x00085374 addu s0, s2, s0               |         s0 = s2 + s0;
                                             | label_1:
    0x00085378 addiu s0, s0, 1               |         s0++;
    0x0008537c addu s1, s4, s0               |         s1 = s4 + s0;
    0x00085380 lb v0, (s1)                   |         v0 = *(s1);
                                             |         if (v0 == 0) {
    0x00085384 beqz v0, 0x853f0              |             goto label_5;
                                             |         }
    0x00085388 nop                           |         
                                             | label_0:
    0x0008538c lw t9, -0x75b8(gp)            |         t9 = sym.utf8_encoded_valid_unichar;
    0x00085390 addiu a1, zero, -1            |         a1 = -1;
    0x00085394 move a0, s1                   |         a0 = s1;
    0x00085398 bal 0x8039c                   |         sym_utf8_encoded_valid_unichar ();
    0x0008539c move s2, v0                   |         s2 = v0;
    0x000853a0 slti v0, v0, 2                |         v0 = (v0 < 2) ? 1 : 0;
    0x000853a4 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x000853a8 beqz v0, 0x85348              |         
                                             |     }
    0x000853ac lb a0, (s1)                   |     a0 = *(s1);
    0x000853b0 subu v0, s6, s3               |     __asm ("subu v0, s6, s3");
                                             |     if (a0 == s7) {
    0x000853b4 beq a0, s7, 0x85434           |         goto label_6;
                                             |     }
    0x000853b8 lw t9, -0x7580(gp)            |     t9 = sym.whitelisted_char_for_devnode;
    0x000853bc move a1, zero                 |     a1 = 0;
    0x000853c0 bal 0x85218                   |     sym_whitelisted_char_for_devnode ();
    0x000853c4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x000853c8 beqz v0, 0x85430              |         goto label_7;
                                             |     }
    0x000853cc addu v0, s5, s3               |     v0 = s5 + s3;
                                             |     if (s6 == s3) {
    0x000853d0 beq s6, s3, 0x85468           |         goto label_4;
                                             |     }
    0x000853d4 lb v1, (s1)                   |     v1 = *(s1);
    0x000853d8 addiu s0, s0, 1               |     s0++;
    0x000853dc addu s1, s4, s0               |     s1 = s4 + s0;
    0x000853e0 sb v1, (v0)                   |     *(v0) = v1;
    0x000853e4 lb v0, (s1)                   |     v0 = *(s1);
    0x000853e8 addiu s3, s3, 1               |     s3++;
                                             |     if (v0 != 0) {
    0x000853ec bnez v0, 0x8538c              |         goto label_0;
                                             |     }
                                             |     do {
                                             | label_5:
    0x000853f0 addu s3, s5, s3               |         s3 = s5 + s3;
                                             |         if (s6 != s3) {
    0x000853f4 beq s6, s3, 0x85468           |             
    0x000853f8 move v0, zero                 |             v0 = 0;
    0x000853fc sb zero, (s3)                 |             *(s3) = 0;
    0x00085400 lw ra, 0x44(sp)               |             ra = *(var_44h_2);
    0x00085404 lw fp, 0x40(sp)               |             fp = *(var_40h_2);
    0x00085408 lw s7, 0x3c(sp)               |             s7 = *(var_3ch_2);
    0x0008540c lw s6, 0x38(sp)               |             s6 = *(var_38h_2);
    0x00085410 lw s5, 0x34(sp)               |             s5 = *(var_34h_2);
    0x00085414 lw s4, 0x30(sp)               |             s4 = *(var_30h_2);
    0x00085418 lw s3, 0x2c(sp)               |             s3 = *(var_2ch_2);
    0x0008541c lw s2, 0x28(sp)               |             s2 = *(var_28h_2);
    0x00085420 lw s1, 0x24(sp)               |             s1 = *(var_24h_2);
    0x00085424 lw s0, 0x20(sp)               |             s0 = *(var_20h_2);
    0x00085428 addiu sp, sp, 0x48            |             
    0x0008542c jr ra                         |             return v0;
                                             | label_7:
    0x00085430 subu v0, s6, s3               |             __asm ("subu v0, s6, s3");
                                             | label_6:
    0x00085434 sltiu v0, v0, 4               |             v0 = (v0 < 4) ? 1 : 0;
    0x00085438 lw t9, -0x7534(gp)            |             t9 = sym.imp.__sprintf_chk
                                             |             if (v0 != 0) {
    0x0008543c bnez v0, 0x85468              |                 goto label_4;
                                             |             }
    0x00085440 lbu v0, (s1)                  |             v0 = *(s1);
    0x00085444 addu a0, s5, s3               |             a0 = s5 + s3;
    0x00085448 sw v0, 0x10(sp)               |             *(var_10h_2) = v0;
    0x0008544c move a3, fp                   |             a3 = fp;
    0x00085450 addiu a2, zero, -1            |             a2 = -1;
    0x00085454 addiu a1, zero, 1             |             a1 = 1;
    0x00085458 jalr t9                       |             t9 ();
    0x0008545c addiu s3, s3, 4               |             s3 += 4;
    0x00085460 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x00085464 b 0x85378                     |             goto label_1;
                                             |         }
                                             | label_4:
    0x00085468 lw ra, 0x44(sp)               |         ra = *(var_44h_2);
    0x0008546c lw fp, 0x40(sp)               |         fp = *(var_40h_2);
    0x00085470 lw s7, 0x3c(sp)               |         s7 = *(var_3ch_2);
    0x00085474 lw s6, 0x38(sp)               |         s6 = *(var_38h_2);
    0x00085478 lw s5, 0x34(sp)               |         s5 = *(var_34h_2);
    0x0008547c lw s4, 0x30(sp)               |         s4 = *(var_30h_2);
    0x00085480 lw s3, 0x2c(sp)               |         s3 = *(var_2ch_2);
    0x00085484 lw s2, 0x28(sp)               |         s2 = *(var_28h_2);
    0x00085488 lw s1, 0x24(sp)               |         s1 = *(var_24h_2);
    0x0008548c lw s0, 0x20(sp)               |         s0 = *(var_20h_2);
    0x00085490 addiu v0, zero, -0x16         |         v0 = -0x16;
    0x00085494 addiu sp, sp, 0x48            |         
    0x00085498 jr ra                         |         return v0;
                                             | label_3:
    0x0008549c move s3, zero                 |         s3 = 0;
    0x000854a0 b 0x853f0                     |         
                                             |     } while (1);
                                             | label_2:
    0x000854a4 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x000854a8 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x7d898 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.get_ctty_devnr ()            | void get_ctty_devnr () {
    0x0007d898 lui gp, 5                     |     
    0x0007d89c addiu gp, gp, -0x6728         |     
    0x0007d8a0 addu gp, gp, t9               |     gp += t9;
    0x0007d8a4 addiu sp, sp, -0x50           |     
    0x0007d8a8 sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x0007d8ac lw s1, -0x71f0(gp)            |     s1 = *((gp - 7292));
    0x0007d8b0 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x0007d8b4 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x0007d8b8 sw s2, 0x44(sp)               |     *(var_44h) = s2;
    0x0007d8bc sw s0, 0x3c(sp)               |     *(var_3ch) = s0;
    0x0007d8c0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0007d8c4 move fp, sp                   |     fp = sp;
    0x0007d8c8 lw v0, (s1)                   |     v0 = *(s1);
    0x0007d8cc sw zero, 0x2c(fp)             |     *(arg_2ch) = 0;
    0x0007d8d0 sw v0, 0x34(fp)               |     *(arg_34h) = v0;
    0x0007d8d4 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
                                             |     if (a0 < 0) {
    0x0007d8d8 bltz a0, 0x7d9f0              |         goto label_1;
                                             |     }
    0x0007d8dc move s2, a1                   |     s2 = a1;
                                             |     if (a0 != 0) {
    0x0007d8e0 bnez a0, 0x7d9c0              |         goto label_2;
                                             |     }
    0x0007d8e4 lw s0, -0x7e08(gp)            |     s0 = *((gp - 8066));
                                             |     /* str._proc_self_stat */
    0x0007d8e8 addiu s0, s0, -0x3304         |     s0 += -0x3304;
                                             |     do {
    0x0007d8ec lw t9, -0x7b80(gp)            |         t9 = sym.read_one_line_file;
    0x0007d8f0 move a0, s0                   |         a0 = s0;
    0x0007d8f4 addiu a1, fp, 0x2c            |         a1 = fp + 0x2c;
    0x0007d8f8 bal 0x65e98                   |         sym_read_one_line_file ();
    0x0007d8fc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0007d900 lw s0, 0x2c(fp)               |         s0 = *(arg_2ch);
                                             |         if (v0 >= 0) {
    0x0007d904 bltz v0, 0x7d97c              |             
    0x0007d908 lw t9, -0x7444(gp)            |             t9 = sym.imp.strrchr;
    0x0007d90c addiu a1, zero, 0x29          |             a1 = 0x29;
    0x0007d910 move a0, s0                   |             a0 = s0;
    0x0007d914 jalr t9                       |             t9 ();
    0x0007d918 lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |             if (v0 == 0) {
    0x0007d91c beqz v0, 0x7da2c              |                 goto label_3;
                                             |             }
    0x0007d920 lw a1, -0x7e08(gp)            |             a1 = *((gp - 8066));
    0x0007d924 lw t9, -0x7458(gp)            |             t9 = sym.imp.sscanf;
    0x0007d928 addiu a2, fp, 0x30            |             a2 = fp + 0x30;
                                             |             /* str.__c__d__d__d__lu_ */
    0x0007d92c addiu a1, a1, -0x24d4         |             a1 += -aav.0x000024d4;
    0x0007d930 addiu a0, v0, 1               |             a0 = v0 + 1;
    0x0007d934 jalr t9                       |             t9 ();
    0x0007d938 addiu v1, zero, 1             |             v1 = 1;
    0x0007d93c lw gp, 0x18(fp)               |             gp = *(arg_18h);
                                             |             if (v0 != v1) {
    0x0007d940 bne v0, v1, 0x7da18           |                 goto label_4;
                                             |             }
    0x0007d944 lw v1, 0x30(fp)               |             v1 = *(arg_30h);
    0x0007d948 addiu a1, zero, -0x100        |             a1 = -aav.0x00000100;
    0x0007d94c srl a0, v1, 0xc               |             a0 = v1 >> 0xc;
    0x0007d950 and a0, a0, a1                |             a0 &= a1;
    0x0007d954 ext v0, v1, 8, 0xc            |             __asm ("ext v0, v1, 8, 0xc");
    0x0007d958 or v0, v0, a0                 |             v0 |= a0;
    0x0007d95c andi a0, v1, 0xff             |             a0 = v1 & 0xff;
    0x0007d960 or v0, v0, a0                 |             v0 |= a0;
    0x0007d964 lw s0, 0x2c(fp)               |             s0 = *(arg_2ch);
                                             |             if (v0 == 0) {
    0x0007d968 beqz v0, 0x7da24              |                 goto label_5;
                                             |             }
    0x0007d96c move v0, zero                 |             v0 = 0;
                                             |             if (s2 == 0) {
    0x0007d970 beqz s2, 0x7d97c              |                 goto label_0;
                                             |             }
    0x0007d974 sw v1, (s2)                   |             *(s2) = v1;
    0x0007d978 sw zero, 4(s2)                |             *((s2 + 1)) = 0;
                                             |         }
                                             | label_0:
    0x0007d97c lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x0007d980 sw v0, 0x24(fp)               |         *(arg_24h) = v0;
    0x0007d984 move a0, s0                   |         a0 = s0;
    0x0007d988 jalr t9                       |         t9 ();
    0x0007d98c lw a0, 0x34(fp)               |         a0 = *(arg_34h);
    0x0007d990 lw v1, (s1)                   |         v1 = *(s1);
    0x0007d994 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0007d998 lw v0, 0x24(fp)               |         v0 = *(arg_24h);
                                             |         if (a0 != v1) {
    0x0007d99c bne a0, v1, 0x7da34           |             goto label_6;
                                             |         }
    0x0007d9a0 move sp, fp                   |         
    0x0007d9a4 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x0007d9a8 lw fp, 0x48(sp)               |         fp = *(var_48h);
    0x0007d9ac lw s2, 0x44(sp)               |         s2 = *(var_44h);
    0x0007d9b0 lw s1, 0x40(sp)               |         s1 = *(var_40h);
    0x0007d9b4 lw s0, 0x3c(sp)               |         s0 = *(var_3ch);
    0x0007d9b8 addiu sp, sp, 0x50            |         
    0x0007d9bc jr ra                         |         return v0;
                                             | label_2:
    0x0007d9c0 addiu sp, sp, -0x18           |         
    0x0007d9c4 lw a3, -0x7e08(gp)            |         a3 = *((gp - 8066));
    0x0007d9c8 lw t9, -0x7534(gp)            |         t9 = sym.imp.__sprintf_chk
    0x0007d9cc addiu s0, sp, 0x18            |         s0 = sp + 0x18;
    0x0007d9d0 sw a0, 0x10(sp)               |         *(var_10h_3) = a0;
                                             |         /* str._proc__i_stat */
    0x0007d9d4 addiu a3, a3, -0x32f4         |         a3 += -0x32f4;
    0x0007d9d8 addiu a2, zero, 0x18          |         a2 = 0x18;
    0x0007d9dc addiu a1, zero, 1             |         a1 = 1;
    0x0007d9e0 move a0, s0                   |         a0 = s0;
    0x0007d9e4 jalr t9                       |         t9 ();
    0x0007d9e8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0007d9ec b 0x7d8ec                     |         
                                             |     } while (1);
                                             | label_1:
    0x0007d9f0 lw a2, -0x7e08(gp)            |     a2 = *((gp - 8066));
    0x0007d9f4 lw a1, -0x7e08(gp)            |     a1 = *((gp - 8066));
                                             |     /* str.get_ctty_devnr */
    0x0007d9f8 addiu v0, v0, -0x2418         |     v0 += -aav.0x00002418;
    0x0007d9fc lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x0007da00 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0007da04 addiu a3, zero, 0x39a         |     a3 = 0x39a;
                                             |     /* esilref: 'src/basic/terminal-util.c' */
    0x0007da08 addiu a2, a2, -0x24f1         |     a2 += -0x24f1;
                                             |     /* str.pid___0 */
    0x0007da0c addiu a1, a1, -0x5e34         |     a1 += -0x5e34;
    0x0007da10 move a0, zero                 |     a0 = 0;
    0x0007da14 bal 0x6e764                   |     sym_log_assert_failed_realm ();
                                             | label_4:
    0x0007da18 lw s0, 0x2c(fp)               |     s0 = *(arg_2ch);
    0x0007da1c addiu v0, zero, -5            |     v0 = -5;
    0x0007da20 b 0x7d97c                     |     goto label_0;
                                             | label_5:
    0x0007da24 addiu v0, zero, -6            |     v0 = -6;
    0x0007da28 b 0x7d97c                     |     goto label_0;
                                             | label_3:
    0x0007da2c addiu v0, zero, -5            |     v0 = -5;
    0x0007da30 b 0x7d97c                     |     goto label_0;
                                             | label_6:
    0x0007da34 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0007da38 jalr t9                       |     t9 ();
    0x0007da3c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x76b94 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.get_process_cmdline ()       | void get_process_cmdline () {
    0x00076b94 lui gp, 5                     |     
    0x00076b98 addiu gp, gp, 0x5dc           |     
    0x00076b9c addu gp, gp, t9               |     gp += t9;
    0x00076ba0 addiu sp, sp, -0x58           |     
    0x00076ba4 lw t9, -0x7234(gp)            |     t9 = sym.imp.sysconf;
    0x00076ba8 sw s1, 0x38(sp)               |     *(var_38h_2) = s1;
    0x00076bac lw s1, -0x71f0(gp)            |     s1 = *((gp - 7292));
    0x00076bb0 sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x00076bb4 sw s5, 0x48(sp)               |     *(var_48h) = s5;
    0x00076bb8 sw s4, 0x44(sp)               |     *(var_44h_2) = s4;
    0x00076bbc sw s3, 0x40(sp)               |     *(var_40h_2) = s3;
    0x00076bc0 sw s2, 0x3c(sp)               |     *(var_3ch_2) = s2;
    0x00076bc4 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x00076bc8 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x00076bcc sw s6, 0x4c(sp)               |     *(var_4ch) = s6;
    0x00076bd0 sw s0, 0x34(sp)               |     *(var_34h_2) = s0;
    0x00076bd4 move fp, sp                   |     fp = sp;
    0x00076bd8 lw v0, (s1)                   |     v0 = *(s1);
    0x00076bdc move s5, a0                   |     s5 = a0;
    0x00076be0 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x00076be4 move a0, zero                 |     a0 = 0;
    0x00076be8 sw zero, 0x24(fp)             |     *(arg_24h) = 0;
    0x00076bec move s2, a1                   |     s2 = a1;
    0x00076bf0 move s3, a2                   |     s3 = a2;
    0x00076bf4 move s4, a3                   |     s4 = a3;
    0x00076bf8 jalr t9                       |     t9 ();
    0x00076bfc lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 <= 0) {
    0x00076c00 blez v0, 0x76ea4              |         goto label_5;
                                             |     }
                                             |     if (s4 == 0) {
    0x00076c04 beql s4, zero, 0x76ed0        |         goto label_6;
                                             |     }
    0x00076c08 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
                                             |     if (s5 < 0) {
    0x00076c0c bltzl s5, 0x76ef8             |         goto label_7;
                                             |     }
    0x00076c10 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
    0x00076c14 move s0, v0                   |     s0 = v0;
                                             |     if (s5 != 0) {
    0x00076c18 bnez s5, 0x76da8              |         goto label_8;
                                             |     }
    0x00076c1c lw s6, -0x7e08(gp)            |     s6 = *((gp - 8066));
                                             |     /* str._proc_self_cmdline */
    0x00076c20 addiu s6, s6, -0x32c0         |     s6 += -0x32c0;
                                             | label_0:
    0x00076c24 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00076c28 lw t9, -0x77f8(gp)            |     t9 = sym.fopen_unlocked;
    0x00076c2c move a0, s6                   |     a0 = s6;
    0x00076c30 addiu a2, fp, 0x24            |     a2 = fp + 0x24;
                                             |     /* esilref: 're' */
    0x00076c34 addiu a1, a1, 0x72d0          |     a1 += 0x72d0;
    0x00076c38 bal 0x64d88                   |     sym_fopen_unlocked ();
    0x00076c3c move s6, v0                   |     s6 = v0;
    0x00076c40 addiu v0, zero, -2            |     v0 = -2;
    0x00076c44 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (s6 == v0) {
    0x00076c48 beq s6, v0, 0x76f5c           |         goto label_9;
                                             |     }
    0x00076c4c sll a2, s2, 2                 |     a2 = s2 << 2;
                                             |     if (s6 < 0) {
    0x00076c50 bltz s6, 0x76df0              |         goto label_10;
                                             |     }
    0x00076c54 addiu a2, a2, 1               |     a2++;
    0x00076c58 sltu v0, a2, s2               |     v0 = (a2 < s2) ? 1 : 0;
    0x00076c5c move a0, s0                   |     a0 = s0;
                                             |     if (v0 != 0) {
    0x00076c60 bnez v0, 0x76dd8              |         goto label_11;
                                             |     }
    0x00076c64 move s6, s0                   |     s6 = s0;
                                             | label_1:
    0x00076c68 lw t9, -0x72d0(gp)            |     t9 = sym.imp.malloc;
    0x00076c6c jalr t9                       |     t9 ();
    0x00076c70 nop                           |     
    0x00076c74 move s0, v0                   |     s0 = v0;
    0x00076c78 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x00076c7c beqz v0, 0x76f54              |         goto label_12;
                                             |     }
    0x00076c80 lw t9, -0x72a4(gp)            |     t9 = sym.imp.fread;
    0x00076c84 lw a3, 0x24(fp)               |     a3 = *(arg_24h);
    0x00076c88 move a2, s6                   |     a2 = s6;
    0x00076c8c addiu a1, zero, 1             |     a1 = 1;
    0x00076c90 move a0, v0                   |     a0 = v0;
    0x00076c94 jalr t9                       |     t9 ();
    0x00076c98 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x00076c9c beqz v0, 0x76df8              |         goto label_13;
                                             |     }
    0x00076ca0 addiu v1, zero, 1             |     v1 = 1;
    0x00076ca4 addiu a1, s0, -1              |     a1 = s0 + -1;
                                             |     if (v0 == v1) {
    0x00076ca8 beq v0, v1, 0x76cd0           |         goto label_14;
                                             |     }
    0x00076cac move v1, s0                   |     v1 = s0;
    0x00076cb0 addu a1, a1, v0               |     a1 += v0;
    0x00076cb4 addiu a2, zero, 0x20          |     a2 = 0x20;
    0x00076cb8 lb a0, (v1)                   |     a0 = *(v1);
                                             |     if (a0 != 0) {
                                             |         do {
    0x00076cbc beql a0, zero, 0x76cc4        |             
    0x00076cc0 sb a2, (v1)                   |             *(v1) = a2;
                                             |         }
    0x00076cc4 addiu v1, v1, 1               |         v1++;
    0x00076cc8 lb a0, (v1)                   |         a0 = *(v1);
    0x00076ccc bnel a1, v1, 0x76cbc          |         
                                             |     } while (a1 == v1);
                                             | label_14:
    0x00076cd0 addu v0, s0, v0               |     v0 = s0 + v0;
    0x00076cd4 sb zero, (v0)                 |     *(v0) = 0;
                                             | label_3:
    0x00076cd8 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
    0x00076cdc lw t9, -0x7d3c(gp)            |     t9 = sym.delete_trailing_chars;
                                             |     /* esilref: ' 	
' */
    0x00076ce0 addiu a1, a1, -0x6204         |     a1 += -0x6204;
    0x00076ce4 move a0, s0                   |     a0 = s0;
    0x00076ce8 andi s3, s3, 2                |     s3 &= 2;
    0x00076cec bal 0x7bd54                   |     sym_delete_trailing_chars ();
    0x00076cf0 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (s3 != 0) {
    0x00076cf4 bnez s3, 0x76e88              |         goto label_15;
                                             |     }
    0x00076cf8 move a2, zero                 |     a2 = 0;
                                             | label_4:
    0x00076cfc lw t9, -0x7640(gp)            |     t9 = sym.escape_non_printable_full;
    0x00076d00 move a1, s2                   |     a1 = s2;
    0x00076d04 move a0, s0                   |     a0 = s0;
    0x00076d08 bal 0x637dc                   |     sym_escape_non_printable_full ();
    0x00076d0c move s2, v0                   |     s2 = v0;
    0x00076d10 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x00076d14 beqz v0, 0x76f54              |         goto label_12;
                                             |     }
    0x00076d18 lw t9, -0x7334(gp)            |     t9 = sym.imp.strlen;
    0x00076d1c move a0, v0                   |     a0 = v0;
    0x00076d20 jalr t9                       |     t9 ();
    0x00076d24 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x00076d28 addiu a1, v0, 1               |     a1 = v0 + 1;
    0x00076d2c move a0, s2                   |     a0 = s2;
    0x00076d30 lw t9, -0x72c8(gp)            |     t9 = sym.imp.realloc;
    0x00076d34 move s6, zero                 |     s6 = 0;
    0x00076d38 jalr t9                       |     t9 ();
                                             |     if (v0 != 0) {
    0x00076d3c movz v0, s2, v0               |         v0 = s2;
                                             |     }
    0x00076d40 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x00076d44 sw v0, (s4)                   |     *(s4) = v0;
                                             |     do {
                                             | label_2:
    0x00076d48 lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x00076d4c move a0, s0                   |         a0 = s0;
    0x00076d50 jalr t9                       |         t9 ();
    0x00076d54 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x00076d58 lw t9, -0x7bfc(gp)            |         t9 = sym.safe_fclose;
    0x00076d5c lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x00076d60 bal 0x64144                   |         sym_safe_fclose ();
    0x00076d64 lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x00076d68 lw v1, (s1)                   |         v1 = *(s1);
    0x00076d6c lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x00076d70 move v0, s6                   |         v0 = s6;
                                             |         if (a0 != v1) {
    0x00076d74 bne a0, v1, 0x76f68           |             goto label_16;
                                             |         }
    0x00076d78 move sp, fp                   |         
    0x00076d7c lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x00076d80 lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x00076d84 lw s6, 0x4c(sp)               |         s6 = *(var_4ch);
    0x00076d88 lw s5, 0x48(sp)               |         s5 = *(var_48h);
    0x00076d8c lw s4, 0x44(sp)               |         s4 = *(var_44h_2);
    0x00076d90 lw s3, 0x40(sp)               |         s3 = *(var_40h_2);
    0x00076d94 lw s2, 0x3c(sp)               |         s2 = *(var_3ch_2);
    0x00076d98 lw s1, 0x38(sp)               |         s1 = *(var_38h_2);
    0x00076d9c lw s0, 0x34(sp)               |         s0 = *(var_34h_2);
    0x00076da0 addiu sp, sp, 0x58            |         
    0x00076da4 jr ra                         |         return v0;
                                             | label_8:
    0x00076da8 addiu sp, sp, -0x20           |         
    0x00076dac lw a3, -0x7e08(gp)            |         a3 = *((gp - 8066));
    0x00076db0 lw t9, -0x7534(gp)            |         t9 = sym.imp.__sprintf_chk
    0x00076db4 addiu s6, sp, 0x18            |         s6 = sp + 0x18;
    0x00076db8 sw s5, 0x10(sp)               |         *(var_a8h) = s5;
                                             |         /* str._proc__i_cmdline */
    0x00076dbc addiu a3, a3, -0x32ac         |         a3 += -0x32ac;
    0x00076dc0 addiu a2, zero, 0x1b          |         a2 = 0x1b;
    0x00076dc4 addiu a1, zero, 1             |         a1 = 1;
    0x00076dc8 move a0, s6                   |         a0 = s6;
    0x00076dcc jalr t9                       |         t9 ();
    0x00076dd0 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x00076dd4 b 0x76c24                     |         goto label_0;
                                             | label_11:
    0x00076dd8 sltu s6, s0, a2               |         s6 = (s0 < a2) ? 1 : 0;
                                             |         if (s6 != 0) {
    0x00076ddc movz a0, a2, s6               |             a0 = a2;
                                             |         }
    0x00076de0 move s6, a0                   |         s6 = a0;
    0x00076de4 addiu a0, zero, 1             |         a0 = 1;
                                             |         if (s6 == 0) {
    0x00076de8 movn a0, s6, s6               |             a0 = s6;
                                             |         }
    0x00076dec b 0x76c68                     |         goto label_1;
                                             | label_10:
    0x00076df0 move s0, zero                 |         s0 = 0;
    0x00076df4 b 0x76d48                     |         
                                             |     } while (1);
                                             | label_13:
    0x00076df8 lw t9, -0x71fc(gp)            |     t9 = sym.imp.ferror;
    0x00076dfc lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x00076e00 jalr t9                       |     t9 ();
    0x00076e04 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 != 0) {
    0x00076e08 bnez v0, 0x76f20              |         goto label_17;
                                             |     }
    0x00076e0c andi v0, s3, 1                |     v0 = s3 & 1;
    0x00076e10 addiu s6, zero, -2            |     s6 = -2;
                                             |     if (v0 == 0) {
    0x00076e14 beqz v0, 0x76d48              |         goto label_2;
                                             |     }
    0x00076e18 lw t9, -0x763c(gp)            |     t9 = sym.get_process_comm;
    0x00076e1c addiu a1, fp, 0x28            |     a1 = fp + 0x28;
    0x00076e20 move a0, s5                   |     a0 = s5;
    0x00076e24 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x00076e28 bal 0x769cc                   |     sym_get_process_comm ();
    0x00076e2c move s6, v0                   |     s6 = v0;
    0x00076e30 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 >= 0) {
    0x00076e34 bltz v0, 0x76f40              |         
    0x00076e38 lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x00076e3c move a0, s0                   |         a0 = s0;
    0x00076e40 jalr t9                       |         t9 ();
    0x00076e44 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x00076e48 lw a1, 0x28(fp)               |         a1 = *(arg_28h);
    0x00076e4c move a3, zero                 |         a3 = 0;
    0x00076e50 lw a2, -0x7e08(gp)            |         a2 = *((gp - 8066));
    0x00076e54 lw a0, -0x7e08(gp)            |         a0 = *((gp - 8066));
    0x00076e58 lw t9, -0x7ba8(gp)            |         t9 = sym.strjoin_real;
    0x00076e5c addiu a2, a2, -0x3298         |         a2 += -0x3298;
    0x00076e60 addiu a0, a0, -0x3294         |         a0 += -0x3294;
    0x00076e64 bal 0x7bbcc                   |         sym_strjoin_real ();
    0x00076e68 move s0, v0                   |         s0 = v0;
    0x00076e6c lw gp, 0x18(fp)               |         gp = *(var_18h_2);
                                             |         if (v0 != 0) {
    0x00076e70 beqz v0, 0x76f3c              |             
    0x00076e74 lw t9, -0x71d0(gp)            |             t9 = *((gp - 7284));
    0x00076e78 lw a0, 0x28(fp)               |             a0 = *(arg_28h);
    0x00076e7c jalr t9                       |             t9 ();
    0x00076e80 lw gp, 0x18(fp)               |             gp = *(var_18h_2);
    0x00076e84 b 0x76cd8                     |             goto label_3;
                                             | label_15:
    0x00076e88 lw t9, -0x76e0(gp)            |             t9 = sym.is_locale_utf8;
    0x00076e8c bal 0x6d724                   |             sym_is_locale_utf8 ();
    0x00076e90 nop                           |             
    0x00076e94 xori v0, v0, 1                |             v0 ^= 1;
    0x00076e98 lw gp, 0x18(fp)               |             gp = *(var_18h_2);
    0x00076e9c andi a2, v0, 0xff             |             a2 = v0 & 0xff;
    0x00076ea0 b 0x76cfc                     |             goto label_4;
                                             | label_5:
    0x00076ea4 lw v0, -0x7e08(gp)            |             v0 = *((gp - 8066));
    0x00076ea8 lw a2, -0x7e08(gp)            |             a2 = *((gp - 8066));
    0x00076eac lw a1, -0x7e08(gp)            |             a1 = *((gp - 8066));
                                             |             /* str.sc_arg_max */
    0x00076eb0 addiu v0, v0, -0x2d1c         |             v0 += -0x2d1c;
    0x00076eb4 lw t9, -0x7fc0(gp)            |             t9 = sym.log_assert_failed_realm;
    0x00076eb8 sw v0, 0x10(sp)               |             *(var_10h_2) = v0;
    0x00076ebc addiu a3, zero, 0xe           |             a3 = 0xe;
                                             |             /* esilref: 'src/basic/env-util.h' */
    0x00076ec0 addiu a2, a2, -0x5939         |             a2 += -0x5939;
                                             |             /* str.l___0 */
    0x00076ec4 addiu a1, a1, -0x5924         |             a1 += -0x5924;
    0x00076ec8 move a0, zero                 |             a0 = 0;
    0x00076ecc bal 0x6e764                   |             sym_log_assert_failed_realm ();
                                             | label_6:
    0x00076ed0 lw a2, -0x7e08(gp)            |             a2 = *((gp - 8066));
    0x00076ed4 lw a1, -0x7fc4(gp)            |             a1 = *(gp);
    0x00076ed8 addiu v0, v0, -0x2d10         |             v0 += -0x2d10;
    0x00076edc lw t9, -0x7fc0(gp)            |             t9 = sym.log_assert_failed_realm;
    0x00076ee0 sw v0, 0x10(sp)               |             *(var_10h_2) = v0;
    0x00076ee4 addiu a3, zero, 0x77          |             a3 = 0x77;
                                             |             /* esilref: 'src/basic/process-util.c' */
    0x00076ee8 addiu a2, a2, -0x3331         |             a2 += -0x3331;
                                             |             /* esilref: 'line' */
    0x00076eec addiu a1, a1, -0x1a5c         |             a1 += -0x1a5c;
    0x00076ef0 move a0, zero                 |             a0 = 0;
    0x00076ef4 bal 0x6e764                   |             sym_log_assert_failed_realm ();
                                             | label_7:
    0x00076ef8 lw a2, -0x7e08(gp)            |             a2 = *((gp - 8066));
    0x00076efc lw a1, -0x7e08(gp)            |             a1 = *((gp - 8066));
    0x00076f00 addiu v0, v0, -0x2d10         |             v0 += -0x2d10;
    0x00076f04 lw t9, -0x7fc0(gp)            |             t9 = sym.log_assert_failed_realm;
    0x00076f08 sw v0, 0x10(sp)               |             *(var_10h_2) = v0;
    0x00076f0c addiu a3, zero, 0x78          |             a3 = 0x78;
                                             |             /* esilref: 'src/basic/process-util.c' */
    0x00076f10 addiu a2, a2, -0x3331         |             a2 += -0x3331;
                                             |             /* str.pid___0 */
    0x00076f14 addiu a1, a1, -0x5e34         |             a1 += -0x5e34;
    0x00076f18 move a0, zero                 |             a0 = 0;
    0x00076f1c bal 0x6e764                   |             sym_log_assert_failed_realm ();
                                             | label_17:
    0x00076f20 lw t9, -0x73b8(gp)            |             t9 = sym.imp.__errno_location;
    0x00076f24 jalr t9                       |             t9 ();
    0x00076f28 nop                           |             
    0x00076f2c lw s6, (v0)                   |             s6 = *(v0);
    0x00076f30 lw gp, 0x18(fp)               |             gp = *(var_18h_2);
    0x00076f34 negu s6, s6                   |             __asm ("negu s6, s6");
    0x00076f38 b 0x76d48                     |             goto label_2;
                                             |         }
    0x00076f3c addiu s6, zero, -0xc          |         s6 = -0xc;
                                             |     }
    0x00076f40 lw t9, -0x71d0(gp)            |     t9 = *((gp - 7284));
    0x00076f44 lw a0, 0x28(fp)               |     a0 = *(arg_28h);
    0x00076f48 jalr t9                       |     t9 ();
    0x00076f4c lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x00076f50 b 0x76d48                     |     goto label_2;
                                             | label_12:
    0x00076f54 addiu s6, zero, -0xc          |     s6 = -0xc;
    0x00076f58 b 0x76d48                     |     goto label_2;
                                             | label_9:
    0x00076f5c move s0, zero                 |     s0 = 0;
    0x00076f60 addiu s6, zero, -3            |     s6 = -3;
    0x00076f64 b 0x76d48                     |     goto label_2;
                                             | label_16:
    0x00076f68 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00076f6c jalr t9                       |     t9 ();
    0x00076f70 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x769cc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.get_process_comm ()          | void get_process_comm () {
    0x000769cc lui gp, 5                     |     
    0x000769d0 addiu gp, gp, 0x7a4           |     
    0x000769d4 addu gp, gp, t9               |     gp += t9;
    0x000769d8 addiu sp, sp, -0x48           |     
    0x000769dc sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x000769e0 lw s3, -0x71f0(gp)            |     s3 = *((gp - 7292));
    0x000769e4 sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x000769e8 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x000769ec sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x000769f0 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x000769f4 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x000769f8 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x000769fc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00076a00 move fp, sp                   |     fp = sp;
    0x00076a04 lw v0, (s3)                   |     v0 = *(s3);
    0x00076a08 sw zero, 0x20(fp)             |     *(arg_20h) = 0;
    0x00076a0c sw v0, 0x24(fp)               |     *(arg_24h) = v0;
                                             |     if (a1 == 0) {
    0x00076a10 beql a1, zero, 0x76b20        |         goto label_1;
                                             |     }
    0x00076a14 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
    0x00076a18 move s1, a0                   |     s1 = a0;
                                             |     if (a0 < 0) {
    0x00076a1c bltz a0, 0x76b48              |         goto label_2;
                                             |     }
    0x00076a20 lw t9, -0x72d0(gp)            |     t9 = sym.imp.malloc;
    0x00076a24 addiu a0, zero, 0x80          |     a0 = 0x80;
    0x00076a28 move s4, a1                   |     s4 = a1;
    0x00076a2c jalr t9                       |     t9 ();
    0x00076a30 move s0, v0                   |     s0 = v0;
    0x00076a34 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00076a38 beqz v0, 0x76b7c              |         goto label_3;
                                             |     }
    0x00076a3c addiu sp, sp, -0x18           |     
                                             |     if (s1 == 0) {
    0x00076a40 bnel s1, zero, 0x76af4        |         goto label_4;
                                             |     }
    0x00076a44 lw s2, -0x7e08(gp)            |     s2 = *((gp - 8066));
                                             |     /* str._proc_self_comm */
    0x00076a48 addiu s2, s2, -0x32e0         |     s2 += -0x32e0;
                                             |     do {
    0x00076a4c lw t9, -0x7b80(gp)            |         t9 = sym.read_one_line_file;
    0x00076a50 move a0, s2                   |         a0 = s2;
    0x00076a54 addiu a1, fp, 0x20            |         a1 = fp + 0x20;
    0x00076a58 bal 0x65e98                   |         sym_read_one_line_file ();
    0x00076a5c move s1, v0                   |         s1 = v0;
    0x00076a60 addiu v0, zero, -2            |         v0 = -2;
    0x00076a64 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00076a68 lw a0, 0x20(fp)               |         a0 = *(arg_20h);
                                             |         if (s1 == v0) {
    0x00076a6c beq s1, v0, 0x76b74           |             goto label_5;
                                             |         }
    0x00076a70 lw t9, -0x7644(gp)            |         t9 = sym.cellescape;
                                             |         if (s1 >= 0) {
    0x00076a74 bltz s1, 0x76a9c              |             
    0x00076a78 move a2, a0                   |             a2 = a0;
    0x00076a7c addiu a1, zero, 0x80          |             a1 = 0x80;
    0x00076a80 move a0, s0                   |             a0 = s0;
    0x00076a84 bal 0x7c07c                   |             sym_cellescape ();
    0x00076a88 lw a0, 0x20(fp)               |             a0 = *(arg_20h);
    0x00076a8c lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00076a90 move s1, zero                 |             s1 = 0;
    0x00076a94 sw s0, (s4)                   |             *(s4) = s0;
    0x00076a98 move s0, zero                 |             s0 = 0;
                                             |         }
                                             | label_0:
    0x00076a9c lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x00076aa0 jalr t9                       |         t9 ();
    0x00076aa4 nop                           |         
    0x00076aa8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00076aac lw t9, -0x71d0(gp)            |         t9 = *((gp - 7284));
    0x00076ab0 move a0, s0                   |         a0 = s0;
    0x00076ab4 jalr t9                       |         t9 ();
    0x00076ab8 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x00076abc lw v1, (s3)                   |         v1 = *(s3);
    0x00076ac0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00076ac4 move v0, s1                   |         v0 = s1;
                                             |         if (a0 != v1) {
    0x00076ac8 bne a0, v1, 0x76b88           |             goto label_6;
                                             |         }
    0x00076acc move sp, fp                   |         
    0x00076ad0 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x00076ad4 lw fp, 0x40(sp)               |         fp = *(var_40h);
    0x00076ad8 lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x00076adc lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x00076ae0 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x00076ae4 lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x00076ae8 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x00076aec addiu sp, sp, 0x48            |         
    0x00076af0 jr ra                         |         return v0;
                                             | label_4:
    0x00076af4 lw a3, -0x7e08(gp)            |         a3 = *((gp - 8066));
    0x00076af8 lw t9, -0x7534(gp)            |         t9 = sym.imp.__sprintf_chk
    0x00076afc addiu s2, sp, 0x18            |         s2 = sp + 0x18;
    0x00076b00 sw s1, 0x10(sp)               |         *(var_50h) = s1;
                                             |         /* str._proc__i_comm */
    0x00076b04 addiu a3, a3, -0x32d0         |         a3 += -0x32d0;
    0x00076b08 addiu a2, zero, 0x18          |         a2 = 0x18;
    0x00076b0c addiu a1, zero, 1             |         a1 = 1;
    0x00076b10 move a0, s2                   |         a0 = s2;
    0x00076b14 jalr t9                       |         t9 ();
    0x00076b18 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00076b1c b 0x76a4c                     |         
                                             |     } while (1);
                                             | label_1:
    0x00076b20 lw a2, -0x7e08(gp)            |     a2 = *((gp - 8066));
    0x00076b24 lw a1, -0x7fc4(gp)            |     a1 = *(gp);
                                             |     /* str.get_process_comm */
    0x00076b28 addiu v0, v0, -0x2cfc         |     v0 += -0x2cfc;
    0x00076b2c lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x00076b30 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00076b34 addiu a3, zero, 0x57          |     a3 = 0x57;
                                             |     /* esilref: 'src/basic/process-util.c' */
    0x00076b38 addiu a2, a2, -0x3331         |     a2 += -0x3331;
                                             |     /* esilref: 'ret' */
    0x00076b3c addiu a1, a1, -0x6790         |     a1 += -0x6790;
    0x00076b40 move a0, zero                 |     a0 = 0;
    0x00076b44 bal 0x6e764                   |     sym_log_assert_failed_realm ();
                                             | label_2:
    0x00076b48 lw v0, -0x7e08(gp)            |     v0 = *((gp - 8066));
    0x00076b4c lw a2, -0x7e08(gp)            |     a2 = *((gp - 8066));
    0x00076b50 lw a1, -0x7e08(gp)            |     a1 = *((gp - 8066));
                                             |     /* str.get_process_comm */
    0x00076b54 addiu v0, v0, -0x2cfc         |     v0 += -0x2cfc;
    0x00076b58 lw t9, -0x7fc0(gp)            |     t9 = sym.log_assert_failed_realm;
    0x00076b5c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00076b60 addiu a3, zero, 0x58          |     a3 = 0x58;
                                             |     /* esilref: 'src/basic/process-util.c' */
    0x00076b64 addiu a2, a2, -0x3331         |     a2 += -0x3331;
                                             |     /* str.pid___0 */
    0x00076b68 addiu a1, a1, -0x5e34         |     a1 += -0x5e34;
    0x00076b6c move a0, zero                 |     a0 = 0;
    0x00076b70 bal 0x6e764                   |     sym_log_assert_failed_realm ();
                                             | label_5:
    0x00076b74 addiu s1, zero, -3            |     s1 = -3;
    0x00076b78 b 0x76a9c                     |     goto label_0;
                                             | label_3:
    0x00076b7c move a0, zero                 |     a0 = 0;
    0x00076b80 addiu s1, zero, -0xc          |     s1 = -0xc;
    0x00076b84 b 0x76a9c                     |     goto label_0;
                                             | label_6:
    0x00076b88 lw t9, -0x7230(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00076b8c jalr t9                       |     t9 ();
    0x00076b90 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x77630 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.getenv_for_pid ()        | void getenv_for_pid () {
    0x00077630 lui gp, 5                 |     
    0x00077634 addiu gp, gp, -0x4c0      |     
    0x00077638 addu gp, gp, t9           |     gp += t9;
    0x0007763c addiu sp, sp, -0x60       |     
    0x00077640 sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x00077644 lw s4, -0x71f0(gp)        |     s4 = *((gp - 7292));
    0x00077648 sw fp, 0x58(sp)           |     *(var_58h) = fp;
    0x0007764c sw ra, 0x5c(sp)           |     *(var_5ch) = ra;
    0x00077650 sw s7, 0x54(sp)           |     *(var_54h) = s7;
    0x00077654 sw s6, 0x50(sp)           |     *(var_50h) = s6;
    0x00077658 sw s5, 0x4c(sp)           |     *(var_4ch) = s5;
    0x0007765c sw s3, 0x44(sp)           |     *(var_44h) = s3;
    0x00077660 sw s2, 0x40(sp)           |     *(var_40h) = s2;
    0x00077664 sw s1, 0x3c(sp)           |     *(var_3ch) = s1;
    0x00077668 sw s0, 0x38(sp)           |     *(var_38h) = s0;
    0x0007766c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00077670 move fp, sp               |     fp = sp;
    0x00077674 lw v0, (s4)               |     v0 = *(s4);
    0x00077678 sw zero, 0x2c(fp)         |     *(arg_2ch) = 0;
    0x0007767c sw v0, 0x34(fp)           |     *(arg_34h) = v0;
                                         |     if (a0 < 0) {
    0x00077680 bltzl a0, 0x77860         |         goto label_2;
                                         |     }
    0x00077684 lw v0, -0x7e08(gp)        |     v0 = *((gp - 8066));
    0x00077688 move s2, a1               |     s2 = a1;
                                         |     if (a1 == 0) {
    0x0007768c beqz a1, 0x77888          |         goto label_3;
                                         |     }
    0x00077690 move s5, a2               |     s5 = a2;
                                         |     if (a2 == 0) {
    0x00077694 beqz a2, 0x778b4          |         goto label_4;
                                         |     }
    0x00077698 move s0, a0               |     s0 = a0;
    0x0007769c bnez a0, 0x77724          |     
                                         |     while (v0 == s0) {
    0x000776a0 lw t9, -0x72c4(gp)        |         t9 = sym.imp.getenv;
    0x000776a4 move a0, s2               |         a0 = s2;
    0x000776a8 jalr t9                   |         t9 ();
    0x000776ac lw gp, 0x18(fp)           |         gp = *(arg_18h);
                                         |         if (v0 == 0) {
    0x000776b0 beqz v0, 0x77854          |             goto label_5;
                                         |         }
    0x000776b4 lw t9, -0x71d4(gp)        |         t9 = sym.imp.strdup;
    0x000776b8 move a0, v0               |         a0 = v0;
    0x000776bc jalr t9                   |         t9 ();
    0x000776c0 lw gp, 0x18(fp)           |         gp = *(arg_18h);
                                         |         if (v0 == 0) {
    0x000776c4 beqz v0, 0x7792c          |             goto label_6;
                                         |         }
    0x000776c8 sw v0, (s5)               |         *(s5) = v0;
    0x000776cc addiu s0, zero, 1         |         s0 = 1;
                                         | label_0:
    0x000776d0 lw t9, -0x7bfc(gp)        |         t9 = sym.safe_fclose;
    0x000776d4 lw a0, 0x2c(fp)           |         a0 = *(arg_2ch);
    0x000776d8 bal 0x64144               |         sym_safe_fclose ();
    0x000776dc lw a0, 0x34(fp)           |         a0 = *(arg_34h);
    0x000776e0 lw v1, (s4)               |         v1 = *(s4);
    0x000776e4 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x000776e8 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x000776ec bne a0, v1, 0x7793c       |             goto label_7;
                                         |         }
    0x000776f0 move sp, fp               |         
    0x000776f4 lw ra, 0x5c(sp)           |         ra = *(var_5ch);
    0x000776f8 lw fp, 0x58(sp)           |         fp = *(var_58h);
    0x000776fc lw s7, 0x54(sp)           |         s7 = *(var_54h);
    0x00077700 lw s6, 0x50(sp)           |         s6 = *(var_50h);
    0x00077704 lw s5, 0x4c(sp)           |         s5 = *(var_4ch);
    0x00077708 lw s4, 0x48(sp)           |         s4 = *(var_48h);
    0x0007770c lw s3, 0x44(sp)           |         s3 = *(var_44h);
    0x00077710 lw s2, 0x40(sp)           |         s2 = *(var_40h);
    0x00077714 lw s1, 0x3c(sp)           |         s1 = *(var_3ch);
    0x00077718 lw s0, 0x38(sp)           |         s0 = *(var_38h);
    0x0007771c addiu sp, sp, 0x60        |         
    0x00077720 jr ra                     |         return v0;
    0x00077724 lw t9, -0x7fd4(gp)        |         t9 = sym.getpid_cached;
    0x00077728 bal 0x77540               |         sym_getpid_cached ();
    0x0007772c nop                       |         
    0x00077730 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00077734 beq v0, s0, 0x776a0       |         
                                         |     }
    0x00077738 addiu sp, sp, -0x20       |     
    0x0007773c lw a3, -0x7e08(gp)        |     a3 = *((gp - 8066));
    0x00077740 lw t9, -0x7534(gp)        |     t9 = sym.imp.__sprintf_chk
    0x00077744 addiu s1, sp, 0x18        |     s1 = sp + 0x18;
                                         |     /* str._proc__i_environ */
    0x00077748 addiu a3, a3, -0x327c     |     a3 += -0x327c;
    0x0007774c addiu a2, zero, 0x1b      |     a2 = 0x1b;
    0x00077750 addiu a1, zero, 1         |     a1 = 1;
    0x00077754 move a0, s1               |     a0 = s1;
    0x00077758 sw s0, 0x10(sp)           |     *(var_10h_3) = s0;
    0x0007775c jalr t9                   |     t9 ();
    0x00077760 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00077764 addiu a2, fp, 0x2c        |     a2 = fp + 0x2c;
    0x00077768 move a0, s1               |     a0 = s1;
    0x0007776c lw a1, -0x7fc4(gp)        |     a1 = *(gp);
    0x00077770 lw t9, -0x77f8(gp)        |     t9 = sym.fopen_unlocked;
                                         |     /* esilref: 're' */
    0x00077774 addiu a1, a1, 0x72d0      |     a1 += 0x72d0;
    0x00077778 bal 0x64d88               |     sym_fopen_unlocked ();
    0x0007777c move s0, v0               |     s0 = v0;
    0x00077780 addiu v0, zero, -2        |     v0 = -2;
    0x00077784 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (s0 == v0) {
    0x00077788 beq s0, v0, 0x77934       |         goto label_8;
                                         |     }
    0x0007778c lw t9, -0x7334(gp)        |     t9 = sym.imp.strlen;
                                         |     if (s0 < 0) {
    0x00077790 bltz s0, 0x776d0          |         goto label_0;
                                         |     }
    0x00077794 move a0, s2               |     a0 = s2;
    0x00077798 jalr t9                   |     t9 ();
    0x0007779c move s3, v0               |     s3 = v0;
    0x000777a0 lui v0, 0x50              |     v0 = 0x500001;
    0x000777a4 addiu v0, v0, 1           |     
    0x000777a8 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000777ac sw zero, 0x30(fp)         |     *(arg_30h) = 0;
    0x000777b0 move s1, zero             |     s1 = 0;
    0x000777b4 addiu s6, fp, 0x30        |     s6 = fp + 0x30;
    0x000777b8 sw v0, 0x24(fp)           |     *(arg_24h) = v0;
    0x000777bc b 0x77818                 |     
                                         |     while (v0 >= 0) {
    0x000777c0 lw t9, -0x74c8(gp)        |         t9 = sym.imp.strncmp;
                                         |         if (v0 == 0) {
    0x000777c4 beqz v0, 0x778e0          |             goto label_9;
                                         |         }
    0x000777c8 move a2, s3               |         a2 = s3;
    0x000777cc move a1, s2               |         a1 = s2;
    0x000777d0 move a0, s7               |         a0 = s7;
    0x000777d4 jalr t9                   |         t9 ();
    0x000777d8 addu s1, s1, s0           |         s1 += s0;
    0x000777dc lw gp, 0x18(fp)           |         gp = *(arg_18h);
                                         |         if (v0 == 0) {
    0x000777e0 bnez v0, 0x777f8          |             
    0x000777e4 addu v0, s7, s3           |             v0 = s7 + s3;
    0x000777e8 addiu v1, zero, 0x3d      |             v1 = 0x3d;
    0x000777ec lb v0, (v0)               |             v0 = *(v0);
    0x000777f0 lw t9, -0x71d4(gp)        |             t9 = sym.imp.strdup;
                                         |             if (v0 == v1) {
    0x000777f4 beq v0, v1, 0x77904       |                 goto label_10;
                                         |             }
                                         |         }
    0x000777f8 lw t9, -0x71d0(gp)        |         t9 = *((gp - 7284));
    0x000777fc move a0, s7               |         a0 = s7;
    0x00077800 jalr t9                   |         t9 ();
    0x00077804 lw v0, 0x24(fp)           |         v0 = *(arg_24h);
    0x00077808 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x0007780c sltu v0, s1, v0           |         v0 = (s1 < v0) ? 1 : 0;
    0x00077810 sw zero, 0x30(fp)         |         *(arg_30h) = 0;
                                         |         if (v0 == 0) {
    0x00077814 beqz v0, 0x778f8          |             goto label_11;
                                         |         }
    0x00077818 lw t9, -0x7c1c(gp)        |         t9 = sym.read_line_full;
    0x0007781c lw a0, 0x2c(fp)           |         a0 = *(arg_2ch);
    0x00077820 move a3, s6               |         a3 = s6;
    0x00077824 addiu a2, zero, 1         |         a2 = 1;
    0x00077828 lui a1, 0x10              |         a1 = 0x100000;
    0x0007782c bal 0x65b44               |         sym_read_line_full ();
    0x00077830 move s0, v0               |         s0 = v0;
    0x00077834 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00077838 lw s7, 0x30(fp)           |         s7 = *(arg_30h);
    0x0007783c bgez v0, 0x777c0          |         
                                         |     }
                                         |     do {
                                         | label_1:
    0x00077840 lw t9, -0x71d0(gp)        |         t9 = *((gp - 7284));
    0x00077844 move a0, s7               |         a0 = s7;
    0x00077848 jalr t9                   |         t9 ();
    0x0007784c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00077850 b 0x776d0                 |         goto label_0;
                                         | label_5:
    0x00077854 sw zero, (s5)             |         *(s5) = 0;
    0x00077858 move s0, zero             |         s0 = 0;
    0x0007785c b 0x776d0                 |         goto label_0;
                                         | label_2:
    0x00077860 lw a2, -0x7e08(gp)        |         a2 = *((gp - 8066));
    0x00077864 lw a1, -0x7e08(gp)        |         a1 = *((gp - 8066));
                                         |         /* str.getenv_for_pid */
    0x00077868 addiu v0, v0, -0x2da0     |         v0 += -0x2da0;
    0x0007786c lw t9, -0x7fc0(gp)        |         t9 = sym.log_assert_failed_realm;
    0x00077870 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00077874 addiu a3, zero, 0x31d     |         a3 = 0x31d;
                                         |         /* esilref: 'src/basic/process-util.c' */
    0x00077878 addiu a2, a2, -0x3331     |         a2 += -0x3331;
                                         |         /* str.pid___0 */
    0x0007787c addiu a1, a1, -0x5e34     |         a1 += -0x5e34;
    0x00077880 move a0, zero             |         a0 = 0;
    0x00077884 bal 0x6e764               |         sym_log_assert_failed_realm ();
                                         | label_3:
    0x00077888 lw v0, -0x7e08(gp)        |         v0 = *((gp - 8066));
    0x0007788c lw a2, -0x7e08(gp)        |         a2 = *((gp - 8066));
    0x00077890 lw a1, -0x7e08(gp)        |         a1 = *((gp - 8066));
                                         |         /* str.getenv_for_pid */
    0x00077894 addiu v0, v0, -0x2da0     |         v0 += -0x2da0;
    0x00077898 lw t9, -0x7fc0(gp)        |         t9 = sym.log_assert_failed_realm;
    0x0007789c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000778a0 addiu a3, zero, 0x31e     |         a3 = 0x31e;
                                         |         /* esilref: 'src/basic/process-util.c' */
    0x000778a4 addiu a2, a2, -0x3331     |         a2 += -0x3331;
                                         |         /* str.field */
    0x000778a8 addiu a1, a1, -0x319c     |         a1 += -0x319c;
    0x000778ac move a0, zero             |         a0 = 0;
    0x000778b0 bal 0x6e764               |         sym_log_assert_failed_realm ();
                                         | label_4:
    0x000778b4 lw v0, -0x7e08(gp)        |         v0 = *((gp - 8066));
    0x000778b8 lw a2, -0x7e08(gp)        |         a2 = *((gp - 8066));
    0x000778bc lw a1, -0x7fc4(gp)        |         a1 = *(gp);
                                         |         /* str.getenv_for_pid */
    0x000778c0 addiu v0, v0, -0x2da0     |         v0 += -0x2da0;
    0x000778c4 lw t9, -0x7fc0(gp)        |         t9 = sym.log_assert_failed_realm;
    0x000778c8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000778cc addiu a3, zero, 0x31f     |         a3 = 0x31f;
                                         |         /* esilref: 'src/basic/process-util.c' */
    0x000778d0 addiu a2, a2, -0x3331     |         a2 += -0x3331;
                                         |         /* esilref: 'ret' */
    0x000778d4 addiu a1, a1, -0x6790     |         a1 += -0x6790;
    0x000778d8 move a0, zero             |         a0 = 0;
    0x000778dc bal 0x6e764               |         sym_log_assert_failed_realm ();
                                         | label_9:
    0x000778e0 lw t9, -0x71d0(gp)        |         t9 = *((gp - 7284));
    0x000778e4 move a0, s7               |         a0 = s7;
    0x000778e8 jalr t9                   |         t9 ();
    0x000778ec lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x000778f0 sw zero, (s5)             |         *(s5) = 0;
    0x000778f4 b 0x776d0                 |         goto label_0;
                                         | label_11:
    0x000778f8 move s7, zero             |         s7 = 0;
    0x000778fc addiu s0, zero, -0x84     |         s0 = -0x84;
    0x00077900 b 0x77840                 |         
                                         |     } while (1);
                                         | label_10:
    0x00077904 addiu a0, s3, 1           |     a0 = s3 + 1;
    0x00077908 addu a0, s7, a0           |     a0 = s7 + a0;
    0x0007790c jalr t9                   |     t9 ();
    0x00077910 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 != 0) {
    0x00077914 beqz v0, 0x77924          |         
    0x00077918 sw v0, (s5)               |         *(s5) = v0;
    0x0007791c addiu s0, zero, 1         |         s0 = 1;
    0x00077920 b 0x77840                 |         goto label_1;
                                         |     }
    0x00077924 addiu s0, zero, -0xc      |     s0 = -0xc;
    0x00077928 b 0x77840                 |     goto label_1;
                                         | label_6:
    0x0007792c addiu s0, zero, -0xc      |     s0 = -0xc;
    0x00077930 b 0x776d0                 |     goto label_0;
                                         | label_8:
    0x00077934 addiu s0, zero, -3        |     s0 = -3;
    0x00077938 b 0x776d0                 |     goto label_0;
                                         | label_7:
    0x0007793c lw t9, -0x7230(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00077940 jalr t9                   |     t9 ();
    0x00077944 nop                       |     
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x78ab4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.set_oom_score_adjust ()          | void set_oom_score_adjust () {
    0x00078ab4 lui gp, 5                         |     
    0x00078ab8 addiu gp, gp, -0x1944             |     
    0x00078abc addu gp, gp, t9                   |     gp += t9;
    0x00078ac0 addiu sp, sp, -0x40               |     
    0x00078ac4 lw a3, -0x7fc4(gp)                |     a3 = *(gp);
    0x00078ac8 sw s1, 0x38(sp)                   |     *(var_38h) = s1;
    0x00078acc lw s1, -0x71f0(gp)                |     s1 = *((gp - 7292));
    0x00078ad0 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x00078ad4 sw ra, 0x3c(sp)                   |     *(var_3ch) = ra;
    0x00078ad8 sw s0, 0x34(sp)                   |     *(var_34h) = s0;
    0x00078adc lw v0, (s1)                       |     v0 = *(s1);
    0x00078ae0 lw t9, -0x7534(gp)                |     t9 = sym.imp.__sprintf_chk
    0x00078ae4 addiu s0, sp, 0x20                |     s0 = sp + 0x20;
    0x00078ae8 sw a0, 0x10(sp)                   |     *(var_10h) = a0;
                                                 |     /* esilref: '&i' */
    0x00078aec addiu a3, a3, -0x7824             |     a3 += -0x7824;
    0x00078af0 addiu a2, zero, 0xc               |     a2 = 0xc;
    0x00078af4 addiu a1, zero, 1                 |     a1 = 1;
    0x00078af8 move a0, s0                       |     a0 = s0;
    0x00078afc sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
    0x00078b00 jalr t9                           |     t9 ();
    0x00078b04 nop                               |     
    0x00078b08 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00078b0c move a3, zero                     |     a3 = 0;
    0x00078b10 addiu a2, zero, 0x28              |     a2 = 0x28;
    0x00078b14 lw a0, -0x7e08(gp)                |     a0 = *((gp - 8066));
    0x00078b18 lw t9, -0x7f84(gp)                |     t9 = sym.write_string_file_ts;
                                                 |     /* str._proc_self_oom_score_adj */
    0x00078b1c addiu a0, a0, -0x2dec             |     a0 += -0x2dec;
    0x00078b20 move a1, s0                       |     a1 = s0;
    0x00078b24 bal 0x655e8                       |     sym_write_string_file_ts ();
    0x00078b28 lw a0, 0x2c(sp)                   |     a0 = *(var_2ch);
    0x00078b2c lw v1, (s1)                       |     v1 = *(s1);
    0x00078b30 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (a0 == v1) {
    0x00078b34 bne a0, v1, 0x78b4c               |         
    0x00078b38 lw ra, 0x3c(sp)                   |         ra = *(var_3ch);
    0x00078b3c lw s1, 0x38(sp)                   |         s1 = *(var_38h);
    0x00078b40 lw s0, 0x34(sp)                   |         s0 = *(var_34h);
    0x00078b44 addiu sp, sp, 0x40                |         
    0x00078b48 jr ra                             |         return v1;
                                                 |     }
    0x00078b4c lw t9, -0x7230(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x00078b50 jalr t9                           |     t9 ();
    0x00078b54 nop                               |     
                                                 | }

[*] Function printf used 10 times systemd-udevd