[*] 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