[*] Binary protection state of scsi_id

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


[*] Function strcpy tear down of scsi_id

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/udev/scsi_id @ 0x3c5c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00003c5c ()              | void fcn_00003c5c () {
    0x00003c5c lui gp, 3                 |     
    0x00003c60 addiu gp, gp, -0x4a3c     |     
    0x00003c64 addu gp, gp, t9           |     gp += t9;
    0x00003c68 addiu sp, sp, -0x88       |     
    0x00003c6c lw v0, -0x7c7c(gp)        |     v0 = *((gp - 7967));
    0x00003c70 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00003c74 sw s7, 0x7c(sp)           |     *(var_7ch) = s7;
    0x00003c78 sw s5, 0x74(sp)           |     *(var_74h) = s5;
    0x00003c7c sw s2, 0x68(sp)           |     *(var_68h) = s2;
    0x00003c80 sw s0, 0x60(sp)           |     *(var_60h) = s0;
    0x00003c84 sw ra, 0x84(sp)           |     *(var_84h) = ra;
    0x00003c88 sw fp, 0x80(sp)           |     *(var_80h) = fp;
    0x00003c8c sw s6, 0x78(sp)           |     *(var_78h) = s6;
    0x00003c90 sw s4, 0x70(sp)           |     *(var_70h) = s4;
    0x00003c94 sw s3, 0x6c(sp)           |     *(var_6ch) = s3;
    0x00003c98 sw s1, 0x64(sp)           |     *(var_64h) = s1;
    0x00003c9c lw s0, -0x7fd8(gp)        |     s0 = *((gp - 8182));
    0x00003ca0 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00003ca4 sw a1, 0x44(sp)           |     *(var_44h) = a1;
    0x00003ca8 lw v0, (v0)               |     v0 = *(v0);
    0x00003cac lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x00003cb0 lw t9, -0x7d84(gp)        |     t9 = sym.imp.fopen64;
    0x00003cb4 move s5, a0               |     s5 = a0;
                                         |     /* esilref: 're' */
    0x00003cb8 addiu a1, a1, 0x593c      |     a1 += 0x593c;
                                         |     /* str._etc_scsi_id.config */
    0x00003cbc addiu a0, s0, 0x7004      |     a0 = s0 + 0x7004;
    0x00003cc0 sw a2, 0x30(sp)           |     *(var_30h) = a2;
    0x00003cc4 sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x00003cc8 sw zero, 0x54(sp)         |     *(var_54h) = 0;
    0x00003ccc move s7, a3               |     s7 = a3;
    0x00003cd0 jalr t9                   |     t9 ();
    0x00003cd4 move s2, v0               |     s2 = v0;
    0x00003cd8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00003cdc beqz v0, 0x409c           |         goto label_15;
                                         |     }
    0x00003ce0 lw t9, -0x7cd0(gp)        |     t9 = sym.imp.malloc;
    0x00003ce4 addiu a0, zero, 0x100     |     a0 = 0x100;
    0x00003ce8 jalr t9                   |     t9 ();
    0x00003cec move s0, v0               |     s0 = v0;
    0x00003cf0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003cf4 sw v0, 0x54(sp)           |     *(var_54h) = v0;
                                         |     if (v0 == 0) {
    0x00003cf8 beqz v0, 0x41b4           |         goto label_16;
                                         |     }
    0x00003cfc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00003d00 lw s4, -0x7fdc(gp)        |     s4 = *(gp);
    0x00003d04 sw v0, 0x34(sp)           |     *(var_34h_2) = v0;
    0x00003d08 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00003d0c sw zero, (s7)             |     *(s7) = 0;
    0x00003d10 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00003d14 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00003d18 move s1, zero             |     s1 = 0;
                                         |     /* str.OPTIONS */
    0x00003d1c addiu v0, v0, 0x33c4      |     v0 += 0x33c4;
    0x00003d20 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00003d24 lw v0, -0x7fb8(gp)        |     v0 = *((gp - 8174));
    0x00003d28 addiu s4, s4, 0x33b0      |     s4 += 0x33b0;
    0x00003d2c addiu v0, v0, 0x3780      |     v0 += 0x3780;
    0x00003d30 sw v0, 0x28(sp)           |     *(var_28h_2) = v0;
                                         | label_0:
    0x00003d34 lw t9, -0x7c84(gp)        |     t9 = sym.imp.fgets;
    0x00003d38 move a2, s2               |     a2 = s2;
    0x00003d3c addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00003d40 move a0, s0               |     a0 = s0;
    0x00003d44 jalr t9                   |     t9 ();
    0x00003d48 move s3, v0               |     s3 = v0;
    0x00003d4c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003d50 sw v0, 0x58(sp)           |     *(var_58h) = v0;
                                         |     if (v0 == 0) {
    0x00003d54 beqz v0, 0x4034           |         goto label_17;
                                         |     }
    0x00003d58 lw s0, 0x54(sp)           |     s0 = *(var_54h);
    0x00003d5c lw t9, -0x7cfc(gp)        |     t9 = sym.imp.strlen;
    0x00003d60 move a0, s0               |     a0 = s0;
    0x00003d64 jalr t9                   |     t9 ();
    0x00003d68 addu v0, s3, v0           |     v0 = s3 + v0;
    0x00003d6c addiu v1, zero, 0xa       |     v1 = 0xa;
    0x00003d70 lb v0, -1(v0)             |     v0 = *((v0 - 1));
    0x00003d74 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003d78 addiu s1, s1, 1           |     s1++;
                                         |     if (v0 != v1) {
    0x00003d7c bne v0, v1, 0x3fe0        |         goto label_18;
                                         |     }
    0x00003d80 lw t9, -0x7dc4(gp)        |     t9 = sym.imp.__ctype_b_loc;
    0x00003d84 jalr t9                   |     t9 ();
    0x00003d88 nop                       |     
    0x00003d8c lw a1, (v0)               |     a1 = *(v0);
    0x00003d90 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003d94 move v0, s3               |     v0 = s3;
    0x00003d98 b 0x3da0                  |     
                                         |     while (v1 != 0) {
    0x00003d9c sw v0, 0x58(sp)           |         *(var_58h) = v0;
    0x00003da0 lb a0, (v0)               |         a0 = *(v0);
    0x00003da4 sll v1, a0, 1             |         v1 = a0 << 1;
    0x00003da8 addu v1, a1, v1           |         v1 = a1 + v1;
    0x00003dac lhu v1, (v1)              |         v1 = *(v1);
    0x00003db0 andi v1, v1, 0x2000       |         v1 &= 0x2000;
    0x00003db4 addiu v0, v0, 1           |         v0++;
    0x00003db8 bnez v1, 0x3d9c           |         
                                         |     }
    0x00003dbc addiu v0, zero, 0x23      |     v0 = 0x23;
                                         |     if (a0 == 0) {
    0x00003dc0 beqz a0, 0x3d34           |         goto label_0;
                                         |     }
    0x00003dc4 lw t9, -0x7cd8(gp)        |     t9 = sym.imp.strsep;
                                         |     if (a0 == v0) {
    0x00003dc8 beq a0, v0, 0x3d34        |         goto label_0;
                                         |     }
    0x00003dcc addiu s0, sp, 0x58        |     s0 = sp + 0x58;
    0x00003dd0 move a1, s4               |     a1 = s4;
    0x00003dd4 move a0, s0               |     a0 = s0;
    0x00003dd8 jalr t9                   |     t9 ();
    0x00003ddc move fp, v0               |     fp = v0;
    0x00003de0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00003de4 beqz v0, 0x3f9c           |         goto label_19;
                                         |     }
    0x00003de8 lw v0, 0x34(sp)           |     v0 = *(var_34h_2);
    0x00003dec lw t9, -0x7d08(gp)        |     t9 = sym.imp.strcasecmp;
    0x00003df0 addiu a1, v0, 0x33b4      |     a1 = v0 + 0x33b4;
    0x00003df4 move a0, fp               |     a0 = fp;
    0x00003df8 jalr t9                   |     t9 ();
    0x00003dfc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00003e00 bnez v0, 0x3fd4           |         goto label_20;
                                         |     }
    0x00003e04 lw t9, 0x28(sp)           |     t9 = *(var_28h_2);
    0x00003e08 move a0, s0               |     a0 = s0;
    0x00003e0c jalr t9                   |     t9 ();
    0x00003e10 move s3, v0               |     s3 = v0;
    0x00003e14 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00003e18 beqz v0, 0x4284           |         goto label_21;
                                         |     }
    0x00003e1c lw t9, -0x7cd8(gp)        |     t9 = sym.imp.strsep;
    0x00003e20 move a1, s4               |     a1 = s4;
    0x00003e24 move a0, s0               |     a0 = s0;
    0x00003e28 jalr t9                   |     t9 ();
    0x00003e2c move fp, v0               |     fp = v0;
    0x00003e30 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00003e34 beqz v0, 0x3f9c           |         goto label_19;
                                         |     }
    0x00003e38 lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
    0x00003e3c lw t9, -0x7d08(gp)        |     t9 = sym.imp.strcasecmp;
    0x00003e40 addiu a1, v0, 0x33bc      |     a1 = v0 + 0x33bc;
    0x00003e44 move a0, fp               |     a0 = fp;
    0x00003e48 jalr t9                   |     t9 ();
    0x00003e4c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00003e50 bnez v0, 0x4118           |         goto label_22;
                                         |     }
    0x00003e54 lw t9, 0x28(sp)           |     t9 = *(var_28h_2);
    0x00003e58 move a0, s0               |     a0 = s0;
    0x00003e5c jalr t9                   |     t9 ();
    0x00003e60 move s6, v0               |     s6 = v0;
    0x00003e64 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00003e68 beqz v0, 0x42b8           |         goto label_23;
                                         |     }
    0x00003e6c lw t9, -0x7cd8(gp)        |     t9 = sym.imp.strsep;
    0x00003e70 move a1, s4               |     a1 = s4;
    0x00003e74 move a0, s0               |     a0 = s0;
    0x00003e78 jalr t9                   |     t9 ();
    0x00003e7c move fp, v0               |     fp = v0;
    0x00003e80 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00003e84 beqz v0, 0x3f9c           |         goto label_19;
                                         |     }
                                         | label_3:
    0x00003e88 lw t9, -0x7d08(gp)        |     t9 = sym.imp.strcasecmp;
    0x00003e8c lw a1, 0x2c(sp)           |     a1 = *(var_2ch);
    0x00003e90 move a0, fp               |     a0 = fp;
    0x00003e94 jalr t9                   |     t9 ();
    0x00003e98 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00003e9c bnez v0, 0x3f9c           |         goto label_19;
                                         |     }
    0x00003ea0 lw t9, 0x28(sp)           |     t9 = *(var_28h_2);
    0x00003ea4 move a0, s0               |     a0 = s0;
    0x00003ea8 jalr t9                   |     t9 ();
    0x00003eac move v1, v0               |     v1 = v0;
    0x00003eb0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00003eb4 beqz v0, 0x41e0           |         goto label_24;
                                         |     }
    0x00003eb8 lw a3, 0x54(sp)           |     a3 = *(var_54h);
                                         |     if (s3 == 0) {
    0x00003ebc beqz s3, 0x3fbc           |         goto label_25;
                                         |     }
    0x00003ec0 move s0, a3               |     s0 = a3;
                                         |     if (s5 == 0) {
    0x00003ec4 beqz s5, 0x3d34           |         goto label_0;
                                         |     }
    0x00003ec8 lw t9, -0x7cfc(gp)        |     t9 = sym.imp.strlen;
    0x00003ecc sw a3, 0x40(sp)           |     *(var_40h_2) = a3;
    0x00003ed0 sw v1, 0x3c(sp)           |     *(var_3ch_2) = v1;
    0x00003ed4 move a0, s3               |     a0 = s3;
    0x00003ed8 jalr t9                   |     t9 ();
    0x00003edc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003ee0 move a2, v0               |     a2 = v0;
    0x00003ee4 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00003ee8 lw t9, -0x7d9c(gp)        |     t9 = sym.imp.strncmp;
    0x00003eec move a1, s3               |     a1 = s3;
    0x00003ef0 move a0, s5               |     a0 = s5;
    0x00003ef4 jalr t9                   |     t9 ();
    0x00003ef8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00003efc bnez v0, 0x3d34           |         goto label_0;
                                         |     }
    0x00003f00 lw t0, 0x48(sp)           |     t0 = *(var_48h);
    0x00003f04 addu t0, s5, t0           |     t0 = s5 + t0;
    0x00003f08 lw v1, 0x3c(sp)           |     v1 = *(var_3ch_2);
                                         |     if (t0 == 0) {
    0x00003f0c beqz t0, 0x3d34           |         goto label_0;
                                         |     }
    0x00003f10 lw a3, 0x40(sp)           |     a3 = *(var_40h_2);
                                         |     if (s6 == 0) {
    0x00003f14 beqz s6, 0x3f5c           |         goto label_6;
                                         |     }
    0x00003f18 lw t9, -0x7cfc(gp)        |     t9 = sym.imp.strlen;
    0x00003f1c move a0, s6               |     a0 = s6;
    0x00003f20 jalr t9                   |     t9 ();
    0x00003f24 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003f28 move a1, s6               |     a1 = s6;
    0x00003f2c lw s6, 0x44(sp)           |     s6 = *(var_44h);
    0x00003f30 lw t9, -0x7d9c(gp)        |     t9 = sym.imp.strncmp;
    0x00003f34 move a2, v0               |     a2 = v0;
    0x00003f38 move a0, s6               |     a0 = s6;
    0x00003f3c move s3, v0               |     s3 = v0;
    0x00003f40 jalr t9                   |     t9 ();
    0x00003f44 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00003f48 bnez v0, 0x3d34           |         goto label_0;
                                         |     }
    0x00003f4c addu s3, s6, s3           |     s3 = s6 + s3;
    0x00003f50 lw v1, 0x3c(sp)           |     v1 = *(var_3ch_2);
    0x00003f54 lw a3, 0x40(sp)           |     a3 = *(var_40h_2);
                                         |     if (s3 == 0) {
    0x00003f58 beqz s3, 0x3d34           |         goto label_0;
                                         |     }
                                         | label_6:
    0x00003f5c lw t9, -0x7cbc(gp)        |     t9 = sym.imp.strcpy
                                         | label_2:
    0x00003f60 move a1, v1               |     a1 = v1;
    0x00003f64 move a0, a3               |     a0 = a3;
    0x00003f68 jalr t9                   |     t9 ();
    0x00003f6c lw s1, 0x54(sp)           |     s1 = *(var_54h);
    0x00003f70 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003f74 move a0, zero             |     a0 = 0;
    0x00003f78 move v0, s1               |     v0 = s1;
    0x00003f7c addiu a1, zero, 0x20      |     a1 = 0x20;
                                         |     do {
                                         | label_1:
    0x00003f80 lb v1, (v0)               |         v1 = *(v0);
    0x00003f84 lw t9, -0x7dc8(gp)        |         t9 = sym.imp.calloc;
                                         |         if (v1 == 0) {
    0x00003f88 beqz v1, 0x4120           |             goto label_26;
                                         |         }
    0x00003f8c addiu v0, v0, 1           |         v0++;
    0x00003f90 bne v1, a1, 0x3f80        |         
                                         |     } while (v1 != a1);
    0x00003f94 addiu a0, a0, 1           |     a0++;
    0x00003f98 b 0x3f80                  |     goto label_1;
                                         | label_19:
    0x00003f9c lw t9, -0x7fc8(gp)        |     t9 = sym.log_get_max_level_realm;
                                         |     do {
    0x00003fa0 addiu a0, zero, 1         |         a0 = 1;
    0x00003fa4 bal 0xba34                |         sym_log_get_max_level_realm ();
    0x00003fa8 slti v0, v0, 3            |         v0 = (v0 < 3) ? 1 : 0;
    0x00003fac lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00003fb0 beqz v0, 0x4224           |             goto label_27;
                                         |         }
                                         | label_4:
    0x00003fb4 addiu s0, zero, -1        |         s0 = -1;
    0x00003fb8 b 0x4038                  |         goto label_5;
                                         | label_25:
    0x00003fbc lw t9, -0x7fc8(gp)        |         t9 = sym.log_get_max_level_realm;
    0x00003fc0 bnez s6, 0x3fa0           |         
                                         |     } while (s6 != 0);
    0x00003fc4 move s0, a3               |     s0 = a3;
                                         |     if (s5 != 0) {
    0x00003fc8 bnez s5, 0x3d34           |         goto label_0;
                                         |     }
    0x00003fcc lw t9, -0x7cbc(gp)        |     t9 = sym.imp.strcpy
    0x00003fd0 b 0x3f60                  |     goto label_2;
                                         | label_20:
    0x00003fd4 move s6, zero             |     s6 = 0;
    0x00003fd8 move s3, zero             |     s3 = 0;
    0x00003fdc b 0x3e88                  |     goto label_3;
                                         | label_18:
    0x00003fe0 lw t9, -0x7fc8(gp)        |     t9 = sym.log_get_max_level_realm;
    0x00003fe4 addiu a0, zero, 1         |     a0 = 1;
    0x00003fe8 bal 0xba34                |     sym_log_get_max_level_realm ();
    0x00003fec slti v0, v0, 3            |     v0 = (v0 < 3) ? 1 : 0;
    0x00003ff0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00003ff4 bnez v0, 0x4034           |         goto label_17;
                                         |     }
    0x00003ff8 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00003ffc lw a2, -0x7fdc(gp)        |     a2 = *(gp);
                                         |     /* str.Config_file_line__d_too_long */
    0x00004000 addiu v0, v0, 0x3390      |     v0 += 0x3390;
    0x00004004 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00004008 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000400c lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.get_file_options */
    0x00004010 addiu v0, v0, 0x35f8      |     v0 += 0x35f8;
    0x00004014 sw s1, 0x18(sp)           |     *(var_18h_2) = s1;
    0x00004018 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x0000401c addiu a3, zero, 0xbc      |     a3 = 0xbc;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_id.c' */
    0x00004020 addiu a2, a2, 0x321f      |     a2 += 0x321f;
    0x00004024 move a1, zero             |     a1 = 0;
    0x00004028 addiu a0, zero, 0x403     |     a0 = 0x403;
    0x0000402c bal 0xaf78                |     sym_log_internal_realm ();
    0x00004030 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     do {
                                         | label_17:
    0x00004034 addiu s0, zero, 1         |         s0 = 1;
                                         | label_5:
    0x00004038 lw t9, -0x7fb4(gp)        |         t9 = sym.safe_fclose;
    0x0000403c move a0, s2               |         a0 = s2;
    0x00004040 bal 0x77bc                |         sym_safe_fclose ();
    0x00004044 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00004048 lw t9, -0x7c70(gp)        |         t9 = sym.imp.free;
    0x0000404c lw a0, 0x54(sp)           |         a0 = *(var_54h);
    0x00004050 jalr t9                   |         t9 ();
    0x00004054 lw v0, 0x38(sp)           |         v0 = *(var_38h);
    0x00004058 lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x0000405c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00004060 lw v1, (v0)               |         v1 = *(v0);
    0x00004064 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x00004068 bne a0, v1, 0x42f0        |             goto label_28;
                                         |         }
    0x0000406c lw ra, 0x84(sp)           |         ra = *(var_84h);
    0x00004070 lw fp, 0x80(sp)           |         fp = *(var_80h);
    0x00004074 lw s7, 0x7c(sp)           |         s7 = *(var_7ch);
    0x00004078 lw s6, 0x78(sp)           |         s6 = *(var_78h);
    0x0000407c lw s5, 0x74(sp)           |         s5 = *(var_74h);
    0x00004080 lw s4, 0x70(sp)           |         s4 = *(var_70h);
    0x00004084 lw s3, 0x6c(sp)           |         s3 = *(var_6ch);
    0x00004088 lw s2, 0x68(sp)           |         s2 = *(var_68h);
    0x0000408c lw s1, 0x64(sp)           |         s1 = *(var_64h);
    0x00004090 lw s0, 0x60(sp)           |         s0 = *(var_60h);
    0x00004094 addiu sp, sp, 0x88        |         
    0x00004098 jr ra                     |         return v0;
                                         | label_15:
    0x0000409c lw t9, -0x7d2c(gp)        |         t9 = sym.imp.__errno_location;
    0x000040a0 jalr t9                   |         t9 ();
    0x000040a4 nop                       |         
    0x000040a8 lw s1, (v0)               |         s1 = *(v0);
    0x000040ac addiu v0, zero, 2         |         v0 = 2;
    0x000040b0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000040b4 beq s1, v0, 0x4034        |         
                                         |     } while (s1 == v0);
    0x000040b8 lw t9, -0x7fc8(gp)        |     t9 = sym.log_get_max_level_realm;
    0x000040bc addiu a0, zero, 1         |     a0 = 1;
    0x000040c0 bal 0xba34                |     sym_log_get_max_level_realm ();
    0x000040c4 slti v0, v0, 3            |     v0 = (v0 < 3) ? 1 : 0;
    0x000040c8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000040cc bnez v0, 0x3fb4           |         goto label_4;
                                         |     }
    0x000040d0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000040d4 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
                                         |     /* str.cant_open__s:__m */
    0x000040d8 addiu v0, v0, 0x337c      |     v0 += 0x337c;
    0x000040dc sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x000040e0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000040e4 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str._etc_scsi_id.config */
    0x000040e8 addiu s0, s0, 0x7004      |     s0 += 0x7004;
                                         |     /* str.get_file_options */
    0x000040ec addiu v0, v0, 0x35f8      |     v0 += 0x35f8;
    0x000040f0 sw s0, 0x18(sp)           |     *(var_18h_2) = s0;
    0x000040f4 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000040f8 addiu a3, zero, 0xa4      |     a3 = 0xa4;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_id.c' */
    0x000040fc addiu a2, a2, 0x321f      |     a2 += 0x321f;
    0x00004100 move a1, s1               |     a1 = s1;
    0x00004104 addiu a0, zero, 0x403     |     a0 = 0x403;
    0x00004108 bal 0xaf78                |     sym_log_internal_realm ();
    0x0000410c addiu s0, zero, -1        |     s0 = -1;
    0x00004110 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00004114 b 0x4038                  |     goto label_5;
                                         | label_22:
    0x00004118 move s6, zero             |     s6 = 0;
    0x0000411c b 0x3e88                  |     goto label_3;
                                         | label_26:
    0x00004120 addiu s0, a0, 2           |     s0 = a0 + 2;
    0x00004124 addiu a1, zero, 4         |     a1 = 4;
    0x00004128 move a0, s0               |     a0 = s0;
    0x0000412c jalr t9                   |     t9 ();
    0x00004130 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00004134 sw v0, (s7)               |     *(s7) = v0;
                                         |     if (v0 == 0) {
    0x00004138 beqz v0, 0x4270           |         goto label_29;
                                         |     }
    0x0000413c lw v1, 0x30(sp)           |     v1 = *(var_30h);
    0x00004140 sw s0, (v1)               |     *(v1) = s0;
    0x00004144 lw v0, (s7)               |     v0 = *(s7);
    0x00004148 sw s1, (v0)               |     *(v0) = s1;
    0x0000414c lw v0, (v1)               |     v0 = *(v1);
    0x00004150 slti v0, v0, 2            |     v0 = (v0 < 2) ? 1 : 0;
    0x00004154 sw zero, 0x54(sp)         |     *(var_54h) = 0;
                                         |     if (v0 == 0) {
    0x00004158 bnel v0, zero, 0x41ac     |         goto label_30;
                                         |     }
    0x0000415c lw s3, -0x7fdc(gp)        |     s3 = *(gp);
    0x00004160 addiu s0, zero, 1         |     s0 = 1;
    0x00004164 addiu s4, sp, 0x54        |     s4 = sp + 0x54;
                                         |     /* esilref: ' 	' */
    0x00004168 addiu s3, s3, 0x33f4      |     s3 += 0x33f4;
    0x0000416c lw s1, (s7)               |     s1 = *(s7);
                                         |     do {
    0x00004170 sll v0, s0, 2             |         v0 = s0 << 2;
    0x00004174 lw t9, -0x7cd8(gp)        |         t9 = sym.imp.strsep;
    0x00004178 addu s1, s1, v0           |         s1 += v0;
    0x0000417c move a1, s3               |         a1 = s3;
    0x00004180 move a0, s4               |         a0 = s4;
    0x00004184 jalr t9                   |         t9 ();
    0x00004188 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000418c sw v0, (s1)               |         *(s1) = v0;
    0x00004190 lw v0, 0x30(sp)           |         v0 = *(var_30h);
    0x00004194 addiu s0, s0, 1           |         s0++;
    0x00004198 lw v0, (v0)               |         v0 = *(v0);
    0x0000419c slt v0, s0, v0            |         v0 = (s0 < v0) ? 1 : 0;
    0x000041a0 lw s1, (s7)               |         s1 = *(s7);
    0x000041a4 bnel v0, zero, 0x4170     |         
                                         |     } while (v0 == 0);
    0x000041a8 sw zero, 0x54(sp)         |     *(var_54h) = 0;
                                         | label_30:
    0x000041ac move s0, zero             |     s0 = 0;
    0x000041b0 b 0x4038                  |     goto label_5;
                                         | label_16:
    0x000041b4 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x000041b8 lw t9, -0x7fb0(gp)        |     t9 = sym.log_oom_internal;
                                         |     /* str.get_file_options */
    0x000041bc addiu a3, a3, 0x35f8      |     a3 += 0x35f8;
    0x000041c0 addiu a2, zero, 0xb0      |     a2 = 0xb0;
                                         | label_7:
    0x000041c4 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x000041c8 addiu a0, zero, 1         |     a0 = 1;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_id.c' */
    0x000041cc addiu a1, a1, 0x321f      |     a1 += 0x321f;
    0x000041d0 bal 0xb15c                |     sym_log_oom_internal ();
    0x000041d4 move s0, v0               |     s0 = v0;
    0x000041d8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000041dc b 0x4038                  |     goto label_5;
                                         | label_24:
    0x000041e0 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x000041e4 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x000041e8 lw t9, -0x7fb0(gp)        |     t9 = sym.log_oom_internal;
                                         |     /* str.get_file_options */
    0x000041ec addiu a3, a3, 0x35f8      |     a3 += 0x35f8;
    0x000041f0 addiu a2, zero, 0xe3      |     a2 = 0xe3;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_id.c' */
    0x000041f4 addiu a1, a1, 0x321f      |     a1 += 0x321f;
    0x000041f8 addiu a0, zero, 1         |     a0 = 1;
    0x000041fc bal 0xb15c                |     sym_log_oom_internal ();
    0x00004200 move s0, v0               |     s0 = v0;
    0x00004204 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00004208 bnez v0, 0x4038           |         goto label_5;
                                         |     }
    0x0000420c move v1, zero             |     v1 = 0;
                                         |     if (s3 != 0) {
    0x00004210 bnez s3, 0x421c           |         goto label_31;
                                         |     }
                                         |     if (s6 == 0) {
    0x00004214 beql s6, zero, 0x4038     |         goto label_5;
                                         |     }
    0x00004218 addiu s0, zero, 1         |     s0 = 1;
                                         | label_31:
    0x0000421c lw a3, 0x54(sp)           |     a3 = *(var_54h);
    0x00004220 b 0x3f5c                  |     goto label_6;
                                         | label_27:
    0x00004224 lw v0, 0x54(sp)           |     v0 = *(var_54h);
    0x00004228 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
    0x0000422c sw v0, 0x1c(sp)           |     *(var_1ch_2) = v0;
    0x00004230 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004234 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.Error_parsing_config_file_line__d__s */
    0x00004238 addiu v0, v0, 0x33cc      |     v0 += 0x33cc;
    0x0000423c sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00004240 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004244 sw s1, 0x18(sp)           |     *(var_18h_2) = s1;
                                         |     /* str.get_file_options */
    0x00004248 addiu v0, v0, 0x35f8      |     v0 += 0x35f8;
    0x0000424c sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004250 addiu a3, zero, 0xed      |     a3 = 0xed;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_id.c' */
    0x00004254 addiu a2, a2, 0x321f      |     a2 += 0x321f;
    0x00004258 move a1, zero             |     a1 = 0;
    0x0000425c addiu a0, zero, 0x403     |     a0 = 0x403;
    0x00004260 bal 0xaf78                |     sym_log_internal_realm ();
    0x00004264 addiu s0, zero, -1        |     s0 = -1;
    0x00004268 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000426c b 0x4038                  |     goto label_5;
                                         | label_29:
    0x00004270 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x00004274 lw t9, -0x7fb0(gp)        |     t9 = sym.log_oom_internal;
                                         |     /* str.get_file_options */
    0x00004278 addiu a3, a3, 0x35f8      |     a3 += 0x35f8;
    0x0000427c addiu a2, zero, 0x10d     |     a2 = 0x10d;
    0x00004280 b 0x41c4                  |     goto label_7;
                                         | label_21:
    0x00004284 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x00004288 lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x0000428c lw t9, -0x7fb0(gp)        |     t9 = sym.log_oom_internal;
                                         |     /* str.get_file_options */
    0x00004290 addiu a3, a3, 0x35f8      |     a3 += 0x35f8;
    0x00004294 addiu a2, zero, 0xcf      |     a2 = 0xcf;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_id.c' */
    0x00004298 addiu a1, a1, 0x321f      |     a1 += 0x321f;
    0x0000429c addiu a0, zero, 1         |     a0 = 1;
    0x000042a0 bal 0xb15c                |     sym_log_oom_internal ();
    0x000042a4 move s0, v0               |     s0 = v0;
    0x000042a8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000042ac bnez v0, 0x4038           |         goto label_5;
                                         |     }
    0x000042b0 addiu s0, zero, 1         |     s0 = 1;
    0x000042b4 b 0x4038                  |     goto label_5;
                                         | label_23:
    0x000042b8 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x000042bc lw a1, -0x7fdc(gp)        |     a1 = *(gp);
    0x000042c0 lw t9, -0x7fb0(gp)        |     t9 = sym.log_oom_internal;
                                         |     /* str.get_file_options */
    0x000042c4 addiu a3, a3, 0x35f8      |     a3 += 0x35f8;
    0x000042c8 addiu a2, zero, 0xd8      |     a2 = 0xd8;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_id.c' */
    0x000042cc addiu a1, a1, 0x321f      |     a1 += 0x321f;
    0x000042d0 addiu a0, zero, 1         |     a0 = 1;
    0x000042d4 bal 0xb15c                |     sym_log_oom_internal ();
    0x000042d8 move s0, v0               |     s0 = v0;
    0x000042dc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000042e0 bnez v0, 0x4038           |         goto label_5;
                                         |     }
    0x000042e4 move v1, zero             |     v1 = 0;
    0x000042e8 lw a3, 0x54(sp)           |     a3 = *(var_54h);
    0x000042ec b 0x3f5c                  |     goto label_6;
                                         | label_28:
    0x000042f0 lw t9, -0x7c94(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000042f4 jalr t9                   |     t9 ();
    0x000042f8 nop                       |     
    0x000042fc lui gp, 3                 |     
    0x00004300 addiu gp, gp, -0x50dc     |     
    0x00004304 addu gp, gp, t9           |     gp += t9;
    0x00004308 addiu sp, sp, -0x48       |     
    0x0000430c lw t9, -0x7fc8(gp)        |     t9 = sym.log_get_max_level_realm;
    0x00004310 sw gp, 0x28(sp)           |     *(var_28h) = gp;
    0x00004314 sw s2, 0x38(sp)           |     *(var_38h_2) = s2;
    0x00004318 sw s1, 0x34(sp)           |     *(var_34h) = s1;
    0x0000431c sw s0, 0x30(sp)           |     *(var_30h_2) = s0;
    0x00004320 sw ra, 0x44(sp)           |     *(var_44h_2) = ra;
    0x00004324 sw s4, 0x40(sp)           |     *(var_40h) = s4;
    0x00004328 sw s3, 0x3c(sp)           |     *(var_3ch) = s3;
    0x0000432c move s0, a0               |     s0 = a0;
    0x00004330 move s1, a2               |     s1 = a2;
    0x00004334 addiu a0, zero, 1         |     a0 = 1;
    0x00004338 move s2, a1               |     s2 = a1;
    0x0000433c bal 0xba34                |     sym_log_get_max_level_realm ();
    0x00004340 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s1 <= 0) {
    0x00004344 blez s1, 0x4434           |         goto label_32;
                                         |     }
    0x00004348 lbu v1, (s2)              |     v1 = *(s2);
    0x0000434c addiu a0, zero, 7         |     a0 = 7;
    0x00004350 ext s3, v1, 4, 3          |     __asm ("ext s3, v1, 4, 3");
    0x00004354 andi s4, v1, 0xf          |     s4 = v1 & 0xf;
                                         |     if (s3 == a0) {
    0x00004358 beq s3, a0, 0x43a0        |         goto label_33;
                                         |     }
    0x0000435c slti a0, s1, 4            |     a0 = (s1 < 4) ? 1 : 0;
    0x00004360 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
                                         |     if (a0 != 0) {
    0x00004364 bnez a0, 0x45d8           |         goto label_34;
                                         |     }
    0x00004368 sltiu a0, v1, 0xf         |     a0 = (v1 < 0xf) ? 1 : 0;
                                         |     if (a0 == 0) {
    0x0000436c beqz a0, 0x4464           |         goto label_35;
                                         |     }
    0x00004370 nop                       |     
    0x00004374 lw s1, -0x7fdc(gp)        |     s1 = *(gp);
                                         |     if (v0 == 0) {
    0x00004378 beqz v0, 0x4594           |         goto label_36;
                                         |     }
                                         | label_9:
    0x0000437c addiu v0, zero, -1        |     v0 = -1;
                                         |     do {
                                         | label_8:
    0x00004380 lw ra, 0x44(sp)           |         ra = *(var_44h_2);
    0x00004384 lw s4, 0x40(sp)           |         s4 = *(var_40h);
    0x00004388 lw s3, 0x3c(sp)           |         s3 = *(var_3ch);
    0x0000438c lw s2, 0x38(sp)           |         s2 = *(var_38h_2);
    0x00004390 lw s1, 0x34(sp)           |         s1 = *(var_34h);
    0x00004394 lw s0, 0x30(sp)           |         s0 = *(var_30h_2);
    0x00004398 addiu sp, sp, 0x48        |         
    0x0000439c jr ra                     |         return v0;
                                         | label_33:
    0x000043a0 lbu a0, 7(s2)             |         a0 = *((s2 + 7));
    0x000043a4 addiu a0, a0, 8           |         a0 += 8;
    0x000043a8 slt a1, s1, a0            |         a1 = (s1 < a0) ? 1 : 0;
    0x000043ac andi v1, v1, 0xe          |         v1 &= 0xe;
                                         |         if (a1 != 0) {
    0x000043b0 bnez a1, 0x4550           |             goto label_37;
                                         |         }
    0x000043b4 addiu v1, s4, -2          |         v1 = s4 + -2;
                                         |         if (v1 != 0) {
    0x000043b8 bnez v1, 0x4638           |             goto label_38;
                                         |         }
    0x000043bc slti v1, a0, 0xe          |         v1 = (a0 < 0xe) ? 1 : 0;
    0x000043c0 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
                                         |         if (v1 == 0) {
    0x000043c4 bnel v1, zero, 0x46ac     |             goto label_39;
                                         |         }
    0x000043c8 lbu v1, 2(s2)             |         v1 = *((s2 + 2));
    0x000043cc lbu a0, 0xc(s2)           |         a0 = *((s2 + 12));
    0x000043d0 lbu a1, 0xd(s2)           |         a1 = *((s2 + 13));
    0x000043d4 andi v1, v1, 0xf          |         v1 &= 0xf;
                                         | label_13:
    0x000043d8 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x000043dc addiu v0, zero, -1        |         v0 = -1;
    0x000043e0 bnel v0, zero, 0x4380     |         
                                         |     } while (v0 == 0);
    0x000043e4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000043e8 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
                                         |     /* str._s:_sense_key_0x_x_ASC_0x_x_ASCQ_0x_x */
    0x000043ec addiu v0, v0, 0x3744      |     v0 += 0x3744;
    0x000043f0 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000043f4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000043f8 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.scsi_dump_sense */
    0x000043fc addiu v0, v0, 0x3a94      |     v0 += 0x3a94;
    0x00004400 addiu s0, s0, 0x40        |     s0 += 0x40;
    0x00004404 sw a1, 0x24(sp)           |     *(var_24h) = a1;
    0x00004408 sw a0, 0x20(sp)           |     *(var_20h_2) = a0;
    0x0000440c sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x00004410 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00004414 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00004418 addiu a3, zero, 0xd4      |     a3 = 0xd4;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x0000441c addiu a2, a2, 0x3693      |     a2 += 0x3693;
    0x00004420 move a1, zero             |     a1 = 0;
    0x00004424 addiu a0, zero, 0x407     |     a0 = 0x407;
    0x00004428 bal 0xaf78                |     sym_log_internal_realm ();
    0x0000442c addiu v0, zero, -1        |     v0 = -1;
    0x00004430 b 0x4444                  |     goto label_11;
                                         | label_32:
    0x00004434 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00004438 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     if (v0 == 0) {
    0x0000443c beqz v0, 0x450c           |         goto label_40;
                                         |     }
    0x00004440 addiu v0, zero, -0x16     |     v0 = -0x16;
                                         | label_11:
    0x00004444 lw ra, 0x44(sp)           |     ra = *(var_44h_2);
                                         | label_10:
    0x00004448 lw s4, 0x40(sp)           |     s4 = *(var_40h);
    0x0000444c lw s3, 0x3c(sp)           |     s3 = *(var_3ch);
    0x00004450 lw s2, 0x38(sp)           |     s2 = *(var_38h_2);
    0x00004454 lw s1, 0x34(sp)           |     s1 = *(var_34h);
    0x00004458 lw s0, 0x30(sp)           |     s0 = *(var_30h_2);
    0x0000445c addiu sp, sp, 0x48        |     
    0x00004460 jr ra                     |     return v0;
                                         | label_35:
    0x00004464 addiu v0, zero, -1        |     v0 = -1;
                                         |     if (v0 != 0) {
    0x00004468 bnez v0, 0x4380           |         goto label_8;
                                         |     }
    0x0000446c lbu v0, 2(s2)             |     v0 = *((s2 + 2));
    0x00004470 lw s1, -0x7fdc(gp)        |     s1 = *(gp);
    0x00004474 sw v0, 0x20(sp)           |     *(var_20h_2) = v0;
    0x00004478 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000447c lw s2, -0x7fdc(gp)        |     s2 = *(gp);
    0x00004480 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str._s:_sense___2x__2x */
    0x00004484 addiu v0, v0, 0x3784      |     v0 += 0x3784;
                                         |     /* str.scsi_dump_sense */
    0x00004488 addiu s1, s1, 0x3a94      |     s1 += 0x3a94;
    0x0000448c addiu s0, s0, 0x40        |     s0 += 0x40;
    0x00004490 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x00004494 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00004498 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000449c sw s1, 0x10(sp)           |     *(var_10h) = s1;
    0x000044a0 addiu a3, zero, 0xe0      |     a3 = 0xe0;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x000044a4 addiu a2, s2, 0x3693      |     a2 = s2 + 0x3693;
    0x000044a8 move a1, zero             |     a1 = 0;
    0x000044ac addiu a0, zero, 0x407     |     a0 = 0x407;
    0x000044b0 bal 0xaf78                |     sym_log_internal_realm ();
    0x000044b4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         | label_12:
    0x000044b8 lw t9, -0x7fc8(gp)        |     t9 = sym.log_get_max_level_realm;
    0x000044bc addiu a0, zero, 1         |     a0 = 1;
    0x000044c0 bal 0xba34                |     sym_log_get_max_level_realm ();
    0x000044c4 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x000044c8 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 != 0) {
    0x000044cc bnez v0, 0x437c           |         goto label_9;
                                         |     }
    0x000044d0 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000044d4 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str._s:_non_extended_sense_class__d_code_0x_0x */
    0x000044d8 addiu v0, v0, 0x3798      |     v0 += 0x3798;
    0x000044dc sw s4, 0x20(sp)           |     *(var_20h_2) = s4;
    0x000044e0 sw s3, 0x1c(sp)           |     *(var_1ch) = s3;
    0x000044e4 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x000044e8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000044ec sw s1, 0x10(sp)           |     *(var_10h) = s1;
    0x000044f0 addiu a3, zero, 0xe2      |     a3 = 0xe2;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x000044f4 addiu a2, s2, 0x3693      |     a2 = s2 + 0x3693;
    0x000044f8 move a1, zero             |     a1 = 0;
    0x000044fc addiu a0, zero, 0x407     |     a0 = 0x407;
    0x00004500 bal 0xaf78                |     sym_log_internal_realm ();
    0x00004504 addiu v0, zero, -1        |     v0 = -1;
    0x00004508 b 0x4380                  |     goto label_8;
                                         | label_40:
    0x0000450c lw a2, -0x7fdc(gp)        |     a2 = *(gp);
                                         |     /* str._s:_sense_buffer_empty */
    0x00004510 addiu v0, v0, 0x36b4      |     v0 += 0x36b4;
    0x00004514 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004518 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000451c lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.scsi_dump_sense */
    0x00004520 addiu v0, v0, 0x3a94      |     v0 += 0x3a94;
    0x00004524 addiu s0, s0, 0x40        |     s0 += 0x40;
    0x00004528 lui a1, 0x4000            |     a1 = 0x40000000;
    0x0000452c sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00004530 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00004534 addiu a3, zero, 0xae      |     a3 = 0xae;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x00004538 addiu a2, a2, 0x3693      |     a2 += 0x3693;
    0x0000453c addiu a1, a1, 0x16        |     a1 += 0x16;
    0x00004540 addiu a0, zero, 0x407     |     a0 = 0x407;
    0x00004544 bal 0xaf78                |     sym_log_internal_realm ();
    0x00004548 lw ra, 0x44(sp)           |     ra = *(var_44h_2);
    0x0000454c b 0x4448                  |     goto label_10;
                                         | label_37:
    0x00004550 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00004554 addiu v0, zero, -0x16     |     v0 = -0x16;
                                         |     if (v0 == 0) {
    0x00004558 bnel v0, zero, 0x4444     |         goto label_11;
                                         |     }
    0x0000455c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004560 subu a0, a0, s1           |     __asm ("subu a0, a0, s1");
                                         |     /* str._s:_sense_buffer_too_small__d_bytes___d_bytes_too_short */
    0x00004564 addiu v0, v0, 0x36cc      |     v0 += 0x36cc;
    0x00004568 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000456c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004570 addiu s0, s0, 0x40        |     s0 += 0x40;
                                         |     /* str.scsi_dump_sense */
    0x00004574 addiu v0, v0, 0x3a94      |     v0 += 0x3a94;
    0x00004578 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
    0x0000457c sw a0, 0x20(sp)           |     *(var_20h_2) = a0;
    0x00004580 sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x00004584 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00004588 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000458c addiu a3, zero, 0xbc      |     a3 = 0xbc;
    0x00004590 b 0x4618                  |     goto label_41;
                                         | label_36:
    0x00004594 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004598 lw s2, -0x7fdc(gp)        |     s2 = *(gp);
    0x0000459c lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str._s:_old_sense_key:_0x_x */
    0x000045a0 addiu v0, v0, 0x376c      |     v0 += aav.0x0000376c;
                                         |     /* str.scsi_dump_sense */
    0x000045a4 addiu s1, s1, 0x3a94      |     s1 += 0x3a94;
    0x000045a8 addiu s0, s0, 0x40        |     s0 += 0x40;
    0x000045ac sw s4, 0x1c(sp)           |     *(var_1ch) = s4;
    0x000045b0 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x000045b4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000045b8 sw s1, 0x10(sp)           |     *(var_10h) = s1;
    0x000045bc addiu a3, zero, 0xdd      |     a3 = 0xdd;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x000045c0 addiu a2, s2, 0x3693      |     a2 = s2 + 0x3693;
    0x000045c4 move a1, zero             |     a1 = 0;
    0x000045c8 addiu a0, zero, 0x407     |     a0 = 0x407;
    0x000045cc bal 0xaf78                |     sym_log_internal_realm ();
    0x000045d0 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000045d4 b 0x44b8                  |     goto label_12;
                                         | label_34:
    0x000045d8 addiu v0, zero, -0x16     |     v0 = -0x16;
                                         |     if (v0 == 0) {
    0x000045dc bnel v0, zero, 0x4444     |         goto label_11;
                                         |     }
    0x000045e0 addiu v0, zero, 4         |     v0 = 4;
    0x000045e4 subu v0, v0, s1           |     __asm ("subu v0, v0, s1");
    0x000045e8 sw v0, 0x20(sp)           |     *(var_20h_2) = v0;
    0x000045ec lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000045f0 addiu s0, s0, 0x40        |     s0 += 0x40;
                                         |     /* str._s:_sense_buffer_too_small__d_bytes___d_bytes_too_short */
    0x000045f4 addiu v0, v0, 0x36cc      |     v0 += 0x36cc;
    0x000045f8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000045fc lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004600 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.scsi_dump_sense */
    0x00004604 addiu v0, v0, 0x3a94      |     v0 += 0x3a94;
    0x00004608 sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x0000460c sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00004610 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00004614 addiu a3, zero, 0xda      |     a3 = 0xda;
                                         | label_41:
    0x00004618 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
    0x0000461c lui a1, 0x4000            |     a1 = 0x40000000;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x00004620 addiu a2, a2, 0x3693      |     a2 += 0x3693;
    0x00004624 addiu a1, a1, 0x16        |     a1 += 0x16;
    0x00004628 addiu a0, zero, 0x407     |     a0 = 0x407;
    0x0000462c bal 0xaf78                |     sym_log_internal_realm ();
    0x00004630 lw ra, 0x44(sp)           |     ra = *(var_44h_2);
    0x00004634 b 0x4448                  |     goto label_10;
                                         | label_38:
    0x00004638 sltiu v1, v1, 2           |     v1 = (v1 < 2) ? 1 : 0;
                                         |     if (v1 != 0) {
    0x0000463c beql v1, zero, 0x4658     |         
    0x00004640 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00004644 lbu v1, 1(s2)             |         v1 = *((s2 + 1));
    0x00004648 lbu a0, 2(s2)             |         a0 = *((s2 + 2));
    0x0000464c andi v1, v1, 0xf          |         v1 &= 0xf;
    0x00004650 lbu a1, 3(s2)             |         a1 = *((s2 + 3));
    0x00004654 b 0x43d8                  |         goto label_13;
                                         |     }
    0x00004658 addiu v0, zero, -0x16     |     v0 = -0x16;
                                         |     if (v0 == 0) {
    0x0000465c bnel v0, zero, 0x4444     |         goto label_11;
                                         |     }
    0x00004660 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004664 addiu s0, s0, 0x40        |     s0 += 0x40;
                                         |     /* str._s:_invalid_sense_code_0x_x */
    0x00004668 addiu v0, v0, 0x3728      |     v0 += 0x3728;
    0x0000466c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004670 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00004674 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.scsi_dump_sense */
    0x00004678 addiu v0, v0, 0x3a94      |     v0 += 0x3a94;
    0x0000467c sw s4, 0x1c(sp)           |     *(var_1ch) = s4;
    0x00004680 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00004684 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00004688 addiu a3, zero, 0xd1      |     a3 = 0xd1;
                                         | label_14:
    0x0000468c lw a2, -0x7fdc(gp)        |     a2 = *(gp);
    0x00004690 lui a1, 0x4000            |     a1 = 0x40000000;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x00004694 addiu a2, a2, 0x3693      |     a2 += 0x3693;
    0x00004698 addiu a1, a1, 0x16        |     a1 += 0x16;
    0x0000469c addiu a0, zero, 0x407     |     a0 = 0x407;
    0x000046a0 bal 0xaf78                |     sym_log_internal_realm ();
    0x000046a4 lw ra, 0x44(sp)           |     ra = *(var_44h_2);
    0x000046a8 b 0x4448                  |     goto label_10;
                                         | label_39:
    0x000046ac addiu v0, zero, -0x16     |     v0 = -0x16;
                                         |     if (v0 == 0) {
    0x000046b0 bnel v0, zero, 0x4444     |         goto label_11;
                                         |     }
    0x000046b4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000046b8 addiu s0, s0, 0x40        |     s0 += 0x40;
                                         |     /* str._s:_sense_result_too_small__d_bytes */
    0x000046bc addiu v0, v0, 0x3704      |     v0 += 0x3704;
    0x000046c0 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000046c4 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x000046c8 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.scsi_dump_sense */
    0x000046cc addiu v0, v0, 0x3a94      |     v0 += 0x3a94;
    0x000046d0 sw a0, 0x1c(sp)           |     *(var_1ch) = a0;
    0x000046d4 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x000046d8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000046dc addiu a3, zero, 0xc6      |     a3 = 0xc6;
    0x000046e0 b 0x468c                  |     goto label_14;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/udev/scsi_id @ 0x522c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0000522c ()              | void fcn_0000522c () {
    0x0000522c lui gp, 3                 |     
    0x00005230 addiu gp, gp, -0x600c     |     
    0x00005234 addu gp, gp, t9           |     gp += t9;
    0x00005238 addiu sp, sp, -0x188      |     
    0x0000523c addiu v1, zero, 0x100     |     v1 = 0x100;
    0x00005240 sw s1, 0x164(sp)          |     *(var_164h_2) = s1;
    0x00005244 lw s1, -0x7c7c(gp)        |     s1 = *((gp - 7967));
    0x00005248 sw ra, 0x184(sp)          |     *(var_184h_2) = ra;
    0x0000524c sw gp, 0x28(sp)           |     *(var_28h_2) = gp;
    0x00005250 sw fp, 0x180(sp)          |     *(var_180h_2) = fp;
    0x00005254 sw s6, 0x178(sp)          |     *(var_178h_2) = s6;
    0x00005258 sw s5, 0x174(sp)          |     *(var_174h_2) = s5;
    0x0000525c sw s4, 0x170(sp)          |     *(var_170h_2) = s4;
    0x00005260 sw s3, 0x16c(sp)          |     *(var_16ch_2) = s3;
    0x00005264 sw s2, 0x168(sp)          |     *(var_168h_2) = s2;
    0x00005268 sw s0, 0x160(sp)          |     *(var_160h) = s0;
    0x0000526c sw s7, 0x17c(sp)          |     *(var_17ch_2) = s7;
    0x00005270 lw v0, (s1)               |     v0 = *(s1);
    0x00005274 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x00005278 sw v1, 0x10(sp)           |     *(var_10h_2) = v1;
    0x0000527c lw v1, 0x1a4(sp)          |     v1 = *(var_1a4h);
    0x00005280 move s4, a3               |     s4 = a3;
    0x00005284 lw a3, 0x19c(sp)          |     a3 = *(var_19ch);
    0x00005288 sw v1, 0x30(sp)           |     *(var_30h_2) = v1;
    0x0000528c addiu t9, t9, 0x4fec      |     t9 += fcn.00004fec;
    0x00005290 move s3, a2               |     s3 = a2;
    0x00005294 sw v0, 0x15c(sp)          |     *(var_15ch) = v0;
    0x00005298 move a2, zero             |     a2 = 0;
    0x0000529c move s2, a0               |     s2 = a0;
    0x000052a0 move fp, a1               |     fp = a1;
    0x000052a4 lw s6, 0x1a0(sp)          |     s6 = *(var_1a0h);
    0x000052a8 lw s5, 0x1a8(sp)          |     s5 = *(var_1a8h);
    0x000052ac bal 0x4fec                |     fcn_00004fec ();
    0x000052b0 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000052b4 addiu s0, sp, 0x5c        |     s0 = sp + 0x5c;
    0x000052b8 addiu a2, zero, 0xfe      |     a2 = 0xfe;
    0x000052bc lw t9, -0x7d1c(gp)        |     t9 = sym.imp.memset;
    0x000052c0 move a1, zero             |     a1 = 0;
    0x000052c4 move a0, s0               |     a0 = s0;
    0x000052c8 jalr t9                   |     t9 ();
    0x000052cc lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000052d0 sw s0, 0x10(sp)           |     *(var_10h_2) = s0;
    0x000052d4 addiu a3, zero, 0x83      |     a3 = 0x83;
    0x000052d8 lw t9, -0x7fb8(gp)        |     t9 = *((gp - 8174));
    0x000052dc addiu a2, zero, 1         |     a2 = 1;
    0x000052e0 move a1, fp               |     a1 = fp;
    0x000052e4 addiu t9, t9, 0x4a38      |     t9 += fcn.00004a38;
    0x000052e8 move a0, s2               |     a0 = s2;
    0x000052ec bal 0x4a38                |     fcn_00004a38 ();
    0x000052f0 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
                                         |     if (v0 < 0) {
    0x000052f4 bltz v0, 0x54e0           |         goto label_2;
                                         |     }
    0x000052f8 lbu v1, 0x5d(sp)          |     v1 = *(var_5dh);
    0x000052fc addiu v0, zero, 0x83      |     v0 = 0x83;
    0x00005300 lw t9, -0x7fc8(gp)        |     t9 = sym.log_get_max_level_realm;
                                         |     if (v1 != v0) {
    0x00005304 bne v1, v0, 0x54cc        |         goto label_13;
                                         |     }
    0x00005308 lbu v0, 0x62(sp)          |     v0 = *(var_62h_2);
    0x0000530c lbu fp, 0x5f(sp)          |     fp = *(var_5fh);
                                         |     if (v0 != 0) {
    0x00005310 bnez v0, 0x56e0           |         goto label_14;
                                         |     }
    0x00005314 lw t0, -0x7fdc(gp)        |     t0 = *(gp);
    0x00005318 lw t1, -0x7fdc(gp)        |     t1 = *(gp);
    0x0000531c addiu s7, t0, 0x3afc      |     s7 = t0 + 0x3afc;
    0x00005320 addiu v0, s7, 0x27        |     v0 = s7 + 0x27;
    0x00005324 sw v0, 0x34(sp)           |     *(var_34h_2) = v0;
    0x00005328 lw v0, -0x7fb8(gp)        |     v0 = *((gp - 8174));
    0x0000532c lbu a1, 0x5e(sp)          |     a1 = *(var_5eh);
    0x00005330 addiu v0, v0, 0x46e4      |     v0 += fcn.000046e4;
    0x00005334 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00005338 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
                                         |     /* str.0123456789abcdef */
    0x0000533c addiu t1, t1, 0x3ae8      |     t1 += 0x3ae8;
                                         |     /* str.check_fill_0x83_id */
    0x00005340 addiu v0, v0, 0x3a08      |     v0 += 0x3a08;
    0x00005344 sw v0, 0x44(sp)           |     *(var_44h_2) = v0;
    0x00005348 sll v0, a1, 8             |     v0 = a1 << 8;
                                         | label_3:
    0x0000534c negu v0, v0               |     __asm ("negu v0, v0");
    0x00005350 addiu v1, zero, 4         |     v1 = 4;
                                         |     if (v0 == fp) {
    0x00005354 beq v0, fp, 0x55f0        |         goto label_15;
                                         |     }
    0x00005358 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x0000535c sw v0, 0x38(sp)           |     *(var_38h_2) = v0;
    0x00005360 lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00005364 sw v0, 0x3c(sp)           |     *(var_3ch_2) = v0;
    0x00005368 addu fp, s0, v1           |     fp = s0 + v1;
                                         | label_1:
    0x0000536c addiu a3, zero, 0x10      |     a3 = 0x10;
    0x00005370 lbu v0, 1(fp)             |     v0 = *(arg_1h);
    0x00005374 andi a0, v0, 0x30         |     a0 = v0 & 0x30;
                                         |     if (a0 == a3) {
    0x00005378 beql a0, a3, 0x5608       |         goto label_16;
                                         |     }
    0x0000537c lbu a0, (s7)              |     a0 = *(s7);
    0x00005380 addiu v0, sp, 0x160       |     v0 = sp + aav.0x00000160;
                                         |     if (a0 == 0) {
    0x00005384 bnel a0, zero, 0x55c4     |         goto label_17;
                                         |     }
    0x00005388 lbu a0, (s7)              |     a0 = *(s7);
    0x0000538c andi v0, v0, 0xf          |     v0 &= 0xf;
                                         | label_4:
    0x00005390 addiu v0, sp, 0x160       |     v0 = sp + aav.0x00000160;
                                         |     if (v0 != a0) {
    0x00005394 bne v0, a0, 0x55c4        |         goto label_17;
                                         |     }
    0x00005398 lbu v0, 1(s7)             |     v0 = *((s7 + 1));
    0x0000539c addiu a3, zero, 0xff      |     a3 = 0xff;
                                         |     if (v0 != a3) {
    0x000053a0 beql v0, a3, 0x53bc       |         
    0x000053a4 lbu a3, (fp)              |         a3 = *(fp);
    0x000053a8 lbu a3, 4(fp)             |         a3 = *(arg_4h);
    0x000053ac srl a3, a3, 4             |         a3 >>= 4;
    0x000053b0 addiu v0, sp, 0x160       |         v0 = sp + aav.0x00000160;
                                         |         if (v0 != a3) {
    0x000053b4 bne v0, a3, 0x55c4        |             goto label_17;
                                         |         }
    0x000053b8 lbu a3, (fp)              |         a3 = *(fp);
                                         |     }
    0x000053bc lbu v0, 2(s7)             |     v0 = *((s7 + 2));
    0x000053c0 andi a3, a3, 0xf          |     a3 &= 0xf;
    0x000053c4 addiu v0, sp, 0x160       |     v0 = sp + aav.0x00000160;
                                         |     if (v0 != a3) {
    0x000053c8 bne v0, a3, 0x55c4        |         goto label_17;
                                         |     }
    0x000053cc addiu v0, zero, 2         |     v0 = 2;
    0x000053d0 lbu t2, 3(fp)             |     t2 = *(arg_3h);
                                         |     if (a3 == v0) {
    0x000053d4 beq a3, v0, 0x56d8        |         goto label_18;
                                         |     }
    0x000053d8 sll t3, t2, 1             |     t3 = t2 << 1;
                                         | label_8:
    0x000053dc lw v0, 0x198(sp)          |     v0 = *(var_10h);
                                         |     if (a0 == 0) {
    0x000053e0 beqz a0, 0x5520           |         goto label_19;
                                         |     }
    0x000053e4 addiu t3, t3, 2           |     t3 += 2;
    0x000053e8 slt v0, v0, t3            |     v0 = (v0 < t3) ? 1 : 0;
    0x000053ec addiu v0, zero, 5         |     v0 = 5;
                                         |     if (v0 != 0) {
    0x000053f0 bnez v0, 0x5530           |         goto label_20;
                                         |     }
    0x000053f4 addu a0, t1, a0           |     a0 = t1 + a0;
                                         |     if (a0 != v0) {
    0x000053f8 bnel a0, v0, 0x5408       |         
    0x000053fc lbu v0, 7(fp)             |         v0 = *(arg_7h);
                                         |         if (s5 == 0) {
    0x00005400 bnel s5, zero, 0x5818     |             goto label_21;
                                         |         }
    0x00005404 addu a0, t1, a0           |         a0 = t1 + a0;
                                         |     }
                                         | label_0:
    0x00005408 lbu v0, (a0)              |     v0 = *(a0);
    0x0000540c sb v0, (s3)               |     *(s3) = v0;
    0x00005410 lbu v0, (s7)              |     v0 = *(s7);
    0x00005414 lw t9, 0x40(sp)           |     t9 = *(var_40h);
                                         |     if (v0 == 0) {
    0x00005418 beqz v0, 0x57ac           |         goto label_22;
                                         |     }
                                         | label_9:
    0x0000541c lw t9, -0x7cfc(gp)        |     t9 = sym.imp.strlen;
    0x00005420 sw t2, 0x38(sp)           |     *(var_38h_2) = t2;
    0x00005424 sw a3, 0x34(sp)           |     *(var_34h_2) = a3;
    0x00005428 sw t1, 0x3c(sp)           |     *(var_3ch_2) = t1;
    0x0000542c move a0, s3               |     a0 = s3;
    0x00005430 jalr t9                   |     t9 ();
    0x00005434 lw t2, 0x38(sp)           |     t2 = *(var_38h_2);
    0x00005438 lw a3, 0x34(sp)           |     a3 = *(var_34h_2);
    0x0000543c addiu v1, zero, 2         |     v1 = 2;
    0x00005440 move s0, v0               |     s0 = v0;
    0x00005444 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x00005448 addiu v0, t2, 3           |     v0 = t2 + 3;
                                         |     if (a3 == v1) {
    0x0000544c beq a3, v1, 0x57e0        |         goto label_23;
                                         |     }
    0x00005450 addiu v1, zero, 3         |     v1 = 3;
    0x00005454 lw t1, 0x3c(sp)           |     t1 = *(var_3ch_2);
                                         |     if (v0 == v1) {
    0x00005458 beq v0, v1, 0x54a0        |         goto label_10;
                                         |     }
    0x0000545c addiu v1, s0, 1           |     v1 = s0 + 1;
    0x00005460 addu a1, fp, t2           |     a1 = fp + t2;
    0x00005464 addiu a2, fp, 4           |     a2 = fp + 4;
    0x00005468 addu v1, s3, v1           |     v1 = s3 + v1;
    0x0000546c addiu a1, a1, 4           |     a1 += 4;
                                         |     do {
    0x00005470 lbu v0, (a2)              |         v0 = *(a2);
    0x00005474 addiu a2, a2, 1           |         a2++;
    0x00005478 srl a0, v0, 4             |         a0 = v0 >> 4;
    0x0000547c andi v0, v0, 0xf          |         v0 &= 0xf;
    0x00005480 addu a0, t1, a0           |         a0 = t1 + a0;
    0x00005484 addu v0, t1, v0           |         v0 = t1 + v0;
    0x00005488 lbu a0, (a0)              |         a0 = *(a0);
    0x0000548c lbu v0, (v0)              |         v0 = *(v0);
    0x00005490 sb a0, -1(v1)             |         *((v1 - 1)) = a0;
    0x00005494 sb v0, (v1)               |         *(v1) = v0;
    0x00005498 addiu v1, v1, 2           |         v1 += 2;
    0x0000549c bne a1, a2, 0x5470        |         
                                         |     } while (a1 != a2);
                                         | label_10:
    0x000054a0 addu s2, s3, s0           |     s2 = s3 + s0;
    0x000054a4 lw t9, -0x7cbc(gp)        |     t9 = sym.imp.strcpy
                                         | label_11:
    0x000054a8 move a1, s2               |     a1 = s2;
    0x000054ac move a0, s4               |     a0 = s4;
    0x000054b0 jalr t9                   |     t9 ();
    0x000054b4 lbu v1, (s7)              |     v1 = *(s7);
    0x000054b8 addiu v0, zero, 3         |     v0 = 3;
    0x000054bc lw gp, 0x28(sp)           |     gp = *(var_28h_2);
                                         |     if (v1 == v0) {
    0x000054c0 beq v1, v0, 0x5694        |         goto label_24;
                                         |     }
                                         | label_7:
    0x000054c4 move v0, zero             |     v0 = 0;
    0x000054c8 b 0x54e4                  |     goto label_6;
                                         | label_13:
    0x000054cc addiu a0, zero, 1         |     a0 = 1;
    0x000054d0 bal 0xba34                |     sym_log_get_max_level_realm ();
    0x000054d4 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x000054d8 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
                                         |     if (v0 == 0) {
    0x000054dc beqz v0, 0x564c           |         goto label_25;
                                         |     }
                                         | label_2:
    0x000054e0 addiu v0, zero, 1         |     v0 = 1;
                                         | label_6:
    0x000054e4 lw a0, 0x15c(sp)          |     a0 = *(var_15ch);
    0x000054e8 lw v1, (s1)               |     v1 = *(s1);
    0x000054ec lw ra, 0x184(sp)          |     ra = *(var_184h_2);
                                         |     if (a0 != v1) {
    0x000054f0 bne a0, v1, 0x5870        |         goto label_26;
                                         |     }
    0x000054f4 lw fp, 0x180(sp)          |     fp = *(var_180h_2);
    0x000054f8 lw s7, 0x17c(sp)          |     s7 = *(var_17ch_2);
    0x000054fc lw s6, 0x178(sp)          |     s6 = *(var_178h_2);
    0x00005500 lw s5, 0x174(sp)          |     s5 = *(var_174h_2);
    0x00005504 lw s4, 0x170(sp)          |     s4 = *(var_170h_2);
    0x00005508 lw s3, 0x16c(sp)          |     s3 = *(var_16ch_2);
    0x0000550c lw s2, 0x168(sp)          |     s2 = *(var_168h_2);
    0x00005510 lw s1, 0x164(sp)          |     s1 = *(var_164h_2);
    0x00005514 lw s0, 0x160(sp)          |     s0 = *(var_160h);
    0x00005518 addiu sp, sp, 0x188       |     
    0x0000551c jr ra                     |     return v1;
                                         | label_19:
    0x00005520 addiu t3, t3, 0x1a        |     t3 += 0x1a;
    0x00005524 slt v0, v0, t3            |     v0 = (v0 < t3) ? 1 : 0;
    0x00005528 addu a0, t1, a0           |     a0 = t1 + a0;
                                         |     if (v0 == 0) {
    0x0000552c beqz v0, 0x5408           |         goto label_0;
                                         |     }
                                         | label_20:
    0x00005530 lw t9, -0x7fc8(gp)        |     t9 = sym.log_get_max_level_realm;
    0x00005534 sw t1, 0x54(sp)           |     *(var_54h) = t1;
    0x00005538 sw a1, 0x50(sp)           |     *(var_50h) = a1;
    0x0000553c sw t3, 0x4c(sp)           |     *(var_4ch_2) = t3;
    0x00005540 sw v1, 0x48(sp)           |     *(var_48h_2) = v1;
    0x00005544 addiu a0, zero, 1         |     a0 = 1;
    0x00005548 bal 0xba34                |     sym_log_get_max_level_realm ();
    0x0000554c slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00005550 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x00005554 lw v1, 0x48(sp)           |     v1 = *(var_48h_2);
    0x00005558 lw t3, 0x4c(sp)           |     t3 = *(var_4ch_2);
    0x0000555c lw a1, 0x50(sp)           |     a1 = *(var_50h);
    0x00005560 lw t1, 0x54(sp)           |     t1 = *(var_54h);
                                         |     if (v0 == 0) {
    0x00005564 bnez v0, 0x55c0           |         
    0x00005568 lw v0, 0x38(sp)           |         v0 = *(var_38h_2);
    0x0000556c lw v1, 0x198(sp)          |         v1 = *(var_10h);
    0x00005570 addiu v0, v0, 0x38d8      |         v0 += 0x38d8;
    0x00005574 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00005578 lw v0, 0x44(sp)           |         v0 = *(var_44h_2);
    0x0000557c lw t9, -0x7fc0(gp)        |         t9 = sym.log_internal_realm;
    0x00005580 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00005584 lw v0, 0x3c(sp)           |         v0 = *(var_3ch_2);
    0x00005588 addiu a0, s2, 0x40        |         a0 = s2 + 0x40;
    0x0000558c sw t1, 0x4c(sp)           |         *(var_4ch_2) = t1;
    0x00005590 sw v1, 0x1c(sp)           |         *(var_1ch) = v1;
    0x00005594 sw a0, 0x18(sp)           |         *(var_18h) = a0;
    0x00005598 move a1, zero             |         a1 = 0;
    0x0000559c sw t3, 0x20(sp)           |         *(var_20h_2) = t3;
    0x000055a0 addiu a3, zero, 0x1dc     |         a3 = aav.0x000001dc;
    0x000055a4 addiu a2, v0, 0x3693      |         a2 = v0 + 0x3693;
    0x000055a8 addiu a0, zero, 0x407     |         a0 = 0x407;
    0x000055ac bal 0xaf78                |         sym_log_internal_realm ();
    0x000055b0 lw gp, 0x28(sp)           |         gp = *(var_28h_2);
    0x000055b4 lbu a1, 0x5e(sp)          |         a1 = *(var_5eh);
    0x000055b8 lw v1, 0x48(sp)           |         v1 = *(var_48h_2);
    0x000055bc lw t1, 0x4c(sp)           |         t1 = *(var_4ch_2);
                                         |     }
                                         | label_12:
    0x000055c0 addiu v0, sp, 0x160       |     v0 = sp + aav.0x00000160;
                                         | label_17:
    0x000055c4 addu v0, v0, v1           |     v0 += v1;
    0x000055c8 lbu a0, 0x5f(sp)          |     a0 = *(var_5fh);
    0x000055cc lbu a2, -0x101(v0)        |     a2 = *((v0 - 257));
    0x000055d0 addiu a0, a0, 3           |     a0 += 3;
    0x000055d4 sll v0, a1, 8             |     v0 = a1 << 8;
    0x000055d8 addiu a2, a2, 4           |     a2 += 4;
    0x000055dc addu v1, v1, a2           |     v1 += a2;
    0x000055e0 addu v0, v0, a0           |     v0 += a0;
    0x000055e4 sltu v0, v0, v1           |     v0 = (v0 < v1) ? 1 : 0;
                                         |     if (v0 == 0) {
    0x000055e8 beql v0, zero, 0x536c     |         goto label_1;
                                         |     }
    0x000055ec addu fp, s0, v1           |     fp = s0 + v1;
                                         | label_15:
    0x000055f0 lw v0, 0x34(sp)           |     v0 = *(var_34h_2);
                                         | label_5:
    0x000055f4 addiu s7, s7, 3           |     s7 += 3;
    0x000055f8 lbu fp, 0x5f(sp)          |     fp = *(var_5fh);
                                         |     if (v0 == s7) {
    0x000055fc beq v0, s7, 0x54e0        |         goto label_2;
                                         |     }
    0x00005600 sll v0, a1, 8             |     v0 = a1 << 8;
    0x00005604 b 0x534c                  |     goto label_3;
                                         | label_16:
    0x00005608 addiu a3, zero, 5         |     a3 = 5;
    0x0000560c andi v0, v0, 0xf          |     v0 &= 0xf;
                                         |     if (a0 == a3) {
    0x00005610 beq a0, a3, 0x5390        |         goto label_4;
                                         |     }
    0x00005614 addiu v0, sp, 0x160       |     v0 = sp + aav.0x00000160;
    0x00005618 addu v0, v0, v1           |     v0 += v1;
    0x0000561c lbu a0, 0x5f(sp)          |     a0 = *(var_5fh);
    0x00005620 lbu a2, -0x101(v0)        |     a2 = *((v0 - 257));
    0x00005624 addiu a0, a0, 3           |     a0 += 3;
    0x00005628 sll v0, a1, 8             |     v0 = a1 << 8;
    0x0000562c addiu a2, a2, 4           |     a2 += 4;
    0x00005630 addu v1, v1, a2           |     v1 += a2;
    0x00005634 addu v0, v0, a0           |     v0 += a0;
    0x00005638 sltu v0, v0, v1           |     v0 = (v0 < v1) ? 1 : 0;
                                         |     if (v0 == 0) {
    0x0000563c beql v0, zero, 0x536c     |         goto label_1;
                                         |     }
    0x00005640 addu fp, s0, v1           |     fp = s0 + v1;
    0x00005644 lw v0, 0x34(sp)           |     v0 = *(var_34h_2);
    0x00005648 b 0x55f4                  |     goto label_5;
                                         | label_25:
    0x0000564c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00005650 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
                                         |     /* str._s:_Invalid_page_0x83 */
    0x00005654 addiu v0, v0, 0x38fc      |     v0 += 0x38fc;
    0x00005658 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000565c lw v0, -0x7fdc(gp)        |     v0 = *(gp);
    0x00005660 lw t9, -0x7fc0(gp)        |     t9 = sym.log_internal_realm;
                                         |     /* str.do_scsi_page83_inquiry */
    0x00005664 addiu v0, v0, 0x3a1c      |     v0 += 0x3a1c;
    0x00005668 addiu s2, s2, 0x40        |     s2 += 0x40;
    0x0000566c sw s2, 0x18(sp)           |     *(var_18h) = s2;
    0x00005670 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00005674 addiu a3, zero, 0x23a     |     a3 = 0x23a;
                                         |     /* esilref: 'src/udev/scsi_id/scsi_serial.c' */
    0x00005678 addiu a2, a2, 0x3693      |     a2 += 0x3693;
    0x0000567c move a1, zero             |     a1 = 0;
    0x00005680 addiu a0, zero, 0x407     |     a0 = 0x407;
    0x00005684 bal 0xaf78                |     sym_log_internal_realm ();
    0x00005688 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x0000568c addiu v0, zero, 1         |     v0 = 1;
    0x00005690 b 0x54e4                  |     goto label_6;
                                         | label_24:
    0x00005694 lw t9, -0x7d38(gp)        |     t9 = sym.imp.strncpy;
                                         |     if (s6 == 0) {
    0x00005698 beqz s6, 0x54c4           |         goto label_7;
                                         |     }
    0x0000569c move a0, s6               |     a0 = s6;
    0x000056a0 addiu a2, zero, 0x10      |     a2 = 0x10;
    0x000056a4 move a1, s2               |     a1 = s2;
    0x000056a8 jalr t9                   |     t9 ();
    0x000056ac lw a0, 0x30(sp)           |     a0 = *(var_30h_2);
    0x000056b0 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
                                         |     if (a0 == 0) {
    0x000056b4 beqz a0, 0x54c4           |         goto label_7;
                                         |     }
    0x000056b8 lw t9, -0x7d38(gp)        |     t9 = sym.imp.strncpy;
    0x000056bc addiu a1, s0, 0x10        |     a1 = s0 + 0x10;
    0x000056c0 addiu a2, zero, 0x10      |     a2 = 0x10;
    0x000056c4 addu a1, s3, a1           |     a1 = s3 + a1;
    0x000056c8 jalr t9                   |     t9 ();
    0x000056cc lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000056d0 move v0, zero             |     v0 = 0;
    0x000056d4 b 0x54e4                  |     goto label_6;
                                         | label_18:
    0x000056d8 move t3, t2               |     t3 = t2;
    0x000056dc b 0x53dc                  |     goto label_8;
                                         | label_14:
    0x000056e0 lw t9, -0x7cfc(gp)        |     t9 = sym.imp.strlen;
    0x000056e4 addiu v0, zero, 0x33      |     v0 = 0x33;
    0x000056e8 sb v0, (s3)               |     *(s3) = v0;
    0x000056ec move a0, s3               |     a0 = s3;
    0x000056f0 jalr t9                   |     t9 ();
    0x000056f4 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
                                         |     if (fp == 0) {
    0x000056f8 beqz fp, 0x5780           |         goto label_27;
                                         |     }
    0x000056fc lw v1, 0x198(sp)          |     v1 = *(var_10h);
    0x00005700 addiu v1, v1, -3          |     v1 += -3;
    0x00005704 slt v1, v0, v1            |     v1 = (v0 < v1) ? 1 : 0;
    0x00005708 lw v1, 0x198(sp)          |     v1 = *(var_10h);
                                         |     if (v1 == 0) {
    0x0000570c beqz v1, 0x5780           |         goto label_27;
                                         |     }
    0x00005710 addiu a1, zero, -2        |     a1 = -2;
    0x00005714 addiu a0, v1, -4          |     a0 = v1 + -4;
    0x00005718 subu a0, a0, v0           |     __asm ("subu a0, a0, v0");
    0x0000571c addiu a3, s3, 3           |     a3 = s3 + 3;
    0x00005720 lw a2, -0x7fdc(gp)        |     a2 = *(gp);
    0x00005724 addiu v1, v0, 1           |     v1 = v0 + 1;
    0x00005728 and a0, a0, a1            |     a0 &= a1;
    0x0000572c addu a3, a3, v0           |     a3 += v0;
    0x00005730 addiu v0, sp, 0x5f        |     v0 = sp + 0x5f;
    0x00005734 addiu a1, sp, 0x60        |     a1 = sp + 0x60;
    0x00005738 addu v1, s3, v1           |     v1 = s3 + v1;
    0x0000573c addu fp, v0, fp           |     fp = v0 + fp;
    0x00005740 addu a3, a0, a3           |     a3 = a0 + a3;
                                         |     /* str.0123456789abcdef */
    0x00005744 addiu a2, a2, 0x3ae8      |     a2 += 0x3ae8;
    0x00005748 b 0x5758                  |     
                                         |     while (a1 != fp) {
    0x0000574c addiu v1, v1, 2           |         v1 += 2;
    0x00005750 addiu a1, a1, 1           |         a1++;
                                         |         if (a3 == v1) {
    0x00005754 beq a3, v1, 0x5780        |             goto label_27;
                                         |         }
    0x00005758 lbu v0, (a1)              |         v0 = *(a1);
    0x0000575c srl a0, v0, 4             |         a0 = v0 >> 4;
    0x00005760 andi v0, v0, 0xf          |         v0 &= 0xf;
    0x00005764 addu a0, a2, a0           |         a0 = a2 + a0;
    0x00005768 addu v0, a2, v0           |         v0 = a2 + v0;
    0x0000576c lbu a0, (a0)              |         a0 = *(a0);
    0x00005770 lbu v0, (v0)              |         v0 = *(v0);
    0x00005774 sb a0, -1(v1)             |         *((v1 - 1)) = a0;
    0x00005778 sb v0, (v1)               |         *(v1) = v0;
    0x0000577c bne a1, fp, 0x574c        |         
                                         |     }
                                         | label_27:
    0x00005780 lw v0, 0x198(sp)          |     v0 = *(var_10h);
    0x00005784 lw t9, -0x7d38(gp)        |     t9 = sym.imp.strncpy;
    0x00005788 addiu a2, v0, -1          |     a2 = v0 + -1;
    0x0000578c addu v0, s3, a2           |     v0 = s3 + a2;
    0x00005790 move a1, s3               |     a1 = s3;
    0x00005794 sb zero, (v0)             |     *(v0) = 0;
    0x00005798 move a0, s4               |     a0 = s4;
    0x0000579c jalr t9                   |     t9 ();
    0x000057a0 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000057a4 move v0, zero             |     v0 = 0;
    0x000057a8 b 0x54e4                  |     goto label_6;
                                         | label_22:
    0x000057ac sw t1, 0x4c(sp)           |     *(var_4ch_2) = t1;
    0x000057b0 sw v1, 0x48(sp)           |     *(var_48h_2) = v1;
    0x000057b4 addiu a1, s3, 1           |     a1 = s3 + 1;
    0x000057b8 move a0, s2               |     a0 = s2;
    0x000057bc jalr t9                   |     t9 ();
    0x000057c0 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x000057c4 lw v1, 0x48(sp)           |     v1 = *(var_48h_2);
    0x000057c8 lw t1, 0x4c(sp)           |     t1 = *(var_4ch_2);
                                         |     if (v0 < 0) {
    0x000057cc bltz v0, 0x5868           |         goto label_28;
                                         |     }
    0x000057d0 lbu a3, (fp)              |     a3 = *(fp);
    0x000057d4 lbu t2, 3(fp)             |     t2 = *(arg_3h);
    0x000057d8 andi a3, a3, 0xf          |     a3 &= 0xf;
    0x000057dc b 0x541c                  |     goto label_9;
                                         | label_23:
    0x000057e0 addiu v1, zero, 3         |     v1 = 3;
    0x000057e4 addu s2, s3, s0           |     s2 = s3 + s0;
                                         |     if (v0 == v1) {
    0x000057e8 beq v0, v1, 0x54a0        |         goto label_10;
                                         |     }
    0x000057ec addu a0, fp, t2           |     a0 = fp + t2;
    0x000057f0 addiu a2, fp, 4           |     a2 = fp + 4;
    0x000057f4 move v0, s2               |     v0 = s2;
    0x000057f8 addiu a0, a0, 4           |     a0 += 4;
                                         |     do {
    0x000057fc lbu v1, (a2)              |         v1 = *(a2);
    0x00005800 addiu a2, a2, 1           |         a2++;
    0x00005804 sb v1, (v0)               |         *(v0) = v1;
    0x00005808 addiu v0, v0, 1           |         v0++;
    0x0000580c bne a0, a2, 0x57fc        |         
                                         |     } while (a0 != a2);
    0x00005810 lw t9, -0x7cbc(gp)        |     t9 = sym.imp.strcpy
    0x00005814 b 0x54a8                  |     goto label_11;
                                         | label_21:
    0x00005818 lbu a0, 6(fp)             |     a0 = *(arg_6h);
    0x0000581c sll v0, v0, 8             |     v0 <<= 8;
    0x00005820 or v0, v0, a0             |     v0 |= a0;
    0x00005824 lw a3, -0x7fdc(gp)        |     a3 = *(gp);
    0x00005828 wsbh v0, v0               |     __asm ("wsbh v0, v0");
    0x0000582c lw t9, -0x7dcc(gp)        |     t9 = sym.imp.__sprintf_chk;
    0x00005830 andi v0, v0, 0xffff       |     v0 &= 0xffff;
    0x00005834 sw t1, 0x4c(sp)           |     *(var_4ch_2) = t1;
    0x00005838 sw v1, 0x48(sp)           |     *(var_48h_2) = v1;
    0x0000583c addiu a1, zero, 1         |     a1 = 1;
    0x00005840 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
                                         |     /* esilref: '&x' */
    0x00005844 addiu a3, a3, 0x3864      |     a3 += 0x3864;
    0x00005848 addiu a2, zero, -1        |     a2 = -1;
    0x0000584c move a0, s5               |     a0 = s5;
    0x00005850 jalr t9                   |     t9 ();
    0x00005854 lw gp, 0x28(sp)           |     gp = *(var_28h_2);
    0x00005858 lbu a1, 0x5e(sp)          |     a1 = *(var_5eh);
    0x0000585c lw v1, 0x48(sp)           |     v1 = *(var_48h_2);
    0x00005860 lw t1, 0x4c(sp)           |     t1 = *(var_4ch_2);
    0x00005864 b 0x55c0                  |     goto label_12;
                                         | label_28:
    0x00005868 lbu a1, 0x5e(sp)          |     a1 = *(var_5eh);
    0x0000586c b 0x55c0                  |     goto label_12;
                                         | label_26:
    0x00005870 lw t9, -0x7c94(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00005874 jalr t9                   |     t9 ();
    0x00005878 nop                       |     
                                         | }

[*] Function strcpy used 5 times scsi_id