[*] Binary protection state of systemd
Full RELRO Canary found NX disabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of systemd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0x33d00 */
| #include <stdint.h>
|
; (fcn) fcn.00033d00 () | void fcn_00033d00 () {
0x00033d00 lui gp, 0x13 |
0x00033d04 addiu gp, gp, -0xca0 |
0x00033d08 addu gp, gp, t9 | gp += t9;
0x00033d0c addiu sp, sp, -0x80 |
0x00033d10 lw v0, -0x7f58(gp) | v0 = *(gp);
0x00033d14 sw s3, 0x6c(sp) | *(var_6ch) = s3;
0x00033d18 lw s3, -0x6f14(gp) | s3 = *((gp - 7109));
0x00033d1c sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x00033d20 sw fp, 0x78(sp) | *(var_78h) = fp;
0x00033d24 sw s4, 0x70(sp) | *(var_70h) = s4;
0x00033d28 sw s2, 0x68(sp) | *(var_68h) = s2;
0x00033d2c sw s0, 0x60(sp) | *(var_60h) = s0;
0x00033d30 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00033d34 sw s5, 0x74(sp) | *(var_74h) = s5;
0x00033d38 sw s1, 0x64(sp) | *(var_64h) = s1;
0x00033d3c move fp, sp | fp = sp;
0x00033d40 lw v1, (s3) | v1 = *(s3);
0x00033d44 lw t9, -0x742c(gp) | t9 = sym.imp.__snprintf_chk;
0x00033d48 addiu s0, fp, 0x2c | s0 = fp + 0x2c;
| /* str._run_systemd_dynamic_uid_direct:_u */
0x00033d4c addiu v0, v0, -0x58c8 | v0 += -0x58c8;
0x00033d50 sw a0, 0x14(sp) | *(var_14h) = a0;
0x00033d54 addiu a3, zero, 0x2d | a3 = 0x2d;
0x00033d58 move a0, s0 | a0 = s0;
0x00033d5c sw v1, 0x5c(fp) | *(var_5ch) = v1;
0x00033d60 move s2, a1 | s2 = a1;
0x00033d64 move s4, a2 | s4 = a2;
0x00033d68 addiu a1, zero, 0x2d | a1 = 0x2d;
0x00033d6c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033d70 addiu a2, zero, 1 | a2 = 1;
0x00033d74 jalr t9 | t9 ();
0x00033d78 lw gp, 0x20(fp) | gp = *(var_20h);
0x00033d7c lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x00033d80 move a0, s0 | a0 = s0;
0x00033d84 jalr t9 | t9 ();
0x00033d88 lw gp, 0x20(fp) | gp = *(var_20h);
0x00033d8c bltz v0, 0x33e84 |
| while (s1 == v0) {
0x00033d90 move s1, zero | s1 = 0;
| if (s4 != 0) {
0x00033d94 bnez s4, 0x33ea8 | goto label_4;
| }
| label_0:
0x00033d98 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x00033d9c move a0, s2 | a0 = s2;
0x00033da0 jalr t9 | t9 ();
0x00033da4 lui a0, 0x40 | a0 = 0x400000;
0x00033da8 addiu v1, v0, 0x21 | v1 = v0 + 0x21;
0x00033dac addiu a0, a0, 1 | a0++;
0x00033db0 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x00033db4 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v1 == 0) {
0x00033db8 beqz v1, 0x33f8c | goto label_5;
| }
0x00033dbc lw a0, -0x7f58(gp) | a0 = *(gp);
0x00033dc0 addiu v0, v0, 0x28 | v0 += 0x28;
0x00033dc4 srl v0, v0, 3 | v0 >>= 3;
| /* str._run_systemd_dynamic_uid_direct: */
0x00033dc8 addiu v1, a0, -0x5888 | v1 = a0 + -0x5888;
0x00033dcc sll v0, v0, 3 | v0 <<= 3;
0x00033dd0 subu sp, sp, v0 |
0x00033dd4 addiu s0, sp, 0x20 | s0 = sp + 0x20;
0x00033dd8 lw t4, -0x5888(a0) | t4 = *((a0 - 5666));
0x00033ddc lw t3, 4(v1) | t3 = *((v1 + 1));
0x00033de0 lw t2, 8(v1) | t2 = *((v1 + 2));
0x00033de4 lw t1, 0xc(v1) | t1 = *((v1 + 3));
0x00033de8 lw t0, 0x10(v1) | t0 = *((v1 + 4));
0x00033dec lw a3, 0x14(v1) | a3 = *((v1 + 5));
0x00033df0 lw a2, 0x18(v1) | a2 = *((v1 + 6));
0x00033df4 lw v0, 0x1c(v1) | v0 = *((v1 + 7));
0x00033df8 lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x00033dfc move a1, s2 | a1 = s2;
0x00033e00 addiu a0, s0, 0x20 | a0 = s0 + 0x20;
0x00033e04 sw t4, (s0) | *(s0) = t4;
0x00033e08 sw t3, 4(s0) | *(var_4h) = t3;
0x00033e0c sw t2, 8(s0) | *(var_8h) = t2;
0x00033e10 sw t1, 0xc(s0) | *(var_ch) = t1;
0x00033e14 sw t0, 0x10(s0) | *(var_10h_2) = t0;
0x00033e18 sw a3, 0x14(s0) | *(var_14h_2) = a3;
0x00033e1c sw a2, 0x18(s0) | *(var_10h) = a2;
0x00033e20 sw v0, 0x1c(s0) | *(var_14h) = v0;
0x00033e24 jalr t9 | t9 ();
0x00033e28 lw gp, 0x20(fp) | gp = *(var_20h);
0x00033e2c lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x00033e30 move a0, s0 | a0 = s0;
0x00033e34 jalr t9 | t9 ();
0x00033e38 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 < 0) {
0x00033e3c bltz v0, 0x33f04 | goto label_6;
| }
| label_1:
0x00033e40 lw t9, -0x6c7c(gp) | t9 = sym.imp.symlink;
| if (s4 != 0) {
0x00033e44 bnez s4, 0x33f34 | goto label_7;
| }
| label_2:
0x00033e48 lw a0, 0x5c(fp) | a0 = *(var_5ch);
0x00033e4c lw v1, (s3) | v1 = *(s3);
0x00033e50 move v0, s1 | v0 = s1;
| if (a0 != v1) {
0x00033e54 bne a0, v1, 0x34060 | goto label_8;
| }
0x00033e58 move sp, fp |
0x00033e5c lw ra, 0x7c(sp) | ra = *(var_7ch);
0x00033e60 lw fp, 0x78(sp) | fp = *(var_78h);
0x00033e64 lw s5, 0x74(sp) | s5 = *(var_74h);
0x00033e68 lw s4, 0x70(sp) | s4 = *(var_70h);
0x00033e6c lw s3, 0x6c(sp) | s3 = *(var_6ch);
0x00033e70 lw s2, 0x68(sp) | s2 = *(var_68h);
0x00033e74 lw s1, 0x64(sp) | s1 = *(var_64h);
0x00033e78 lw s0, 0x60(sp) | s0 = *(var_60h);
0x00033e7c addiu sp, sp, 0x80 |
0x00033e80 jr ra | return v0;
0x00033e84 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x00033e88 jalr t9 | t9 ();
0x00033e8c nop |
0x00033e90 lw s1, (v0) | s1 = *(v0);
0x00033e94 addiu v0, zero, 2 | v0 = 2;
0x00033e98 lw gp, 0x20(fp) | gp = *(var_20h);
0x00033e9c beq s1, v0, 0x33d90 |
| }
0x00033ea0 negu s1, s1 | __asm ("negu s1, s1");
| if (s4 == 0) {
0x00033ea4 beqz s4, 0x33d98 | goto label_0;
| }
| label_4:
0x00033ea8 lw t9, -0x6c7c(gp) | t9 = sym.imp.symlink;
0x00033eac move a1, s0 | a1 = s0;
0x00033eb0 move a0, s2 | a0 = s2;
0x00033eb4 jalr t9 | t9 ();
0x00033eb8 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 >= 0) {
0x00033ebc bgez v0, 0x33d98 | goto label_0;
| }
0x00033ec0 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x00033ec4 jalr t9 | t9 ();
0x00033ec8 nop |
0x00033ecc lw gp, 0x20(fp) | gp = *(var_20h);
0x00033ed0 move a0, zero | a0 = 0;
0x00033ed4 lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00033ed8 lw s5, (v0) | s5 = *(v0);
0x00033edc jalr t9 | t9 ();
0x00033ee0 slti v0, v0, 4 | v0 = (v0 < 4) ? 1 : 0;
0x00033ee4 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 == 0) {
0x00033ee8 beqz v0, 0x33fd8 | goto label_9;
| }
0x00033eec move a1, s5 | a1 = s5;
| if (s5 < 0) {
0x00033ef0 bltz s5, 0x33fb8 | goto label_10;
| }
0x00033ef4 andi a1, a1, 0xff | a1 &= 0xff;
0x00033ef8 negu v0, a1 | __asm ("negu v0, a1");
| if (s1 != 0) {
| label_3:
0x00033efc movz s1, v0, s1 | s1 = v0;
| }
0x00033f00 b 0x33d98 | goto label_0;
| label_6:
0x00033f04 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x00033f08 jalr t9 | t9 ();
0x00033f0c nop |
0x00033f10 lw v0, (v0) | v0 = *(v0);
0x00033f14 addiu v1, zero, 2 | v1 = 2;
0x00033f18 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 == v1) {
0x00033f1c beq v0, v1, 0x33e40 | goto label_1;
| }
| if (s1 != 0) {
0x00033f20 bnez s1, 0x33e40 | goto label_1;
| }
0x00033f24 nop |
0x00033f28 negu s1, v0 | __asm ("negu s1, v0");
| if (s4 == 0) {
0x00033f2c beqz s4, 0x33e48 | goto label_2;
| }
0x00033f30 lw t9, -0x6c7c(gp) | t9 = sym.imp.symlink;
| label_7:
0x00033f34 move a1, s0 | a1 = s0;
0x00033f38 addiu a0, fp, 0x4c | a0 = fp + 0x4c;
0x00033f3c jalr t9 | t9 ();
0x00033f40 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 >= 0) {
0x00033f44 bgez v0, 0x33e48 | goto label_2;
| }
0x00033f48 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x00033f4c jalr t9 | t9 ();
0x00033f50 nop |
0x00033f54 lw gp, 0x20(fp) | gp = *(var_20h);
0x00033f58 move a0, zero | a0 = 0;
0x00033f5c lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00033f60 lw s2, (v0) | s2 = *(v0);
0x00033f64 jalr t9 | t9 ();
0x00033f68 slti v0, v0, 4 | v0 = (v0 < 4) ? 1 : 0;
0x00033f6c lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 == 0) {
0x00033f70 beqz v0, 0x3401c | goto label_11;
| }
0x00033f74 move a1, s2 | a1 = s2;
| if (s2 < 0) {
0x00033f78 bltz s2, 0x33fc8 | goto label_12;
| }
0x00033f7c andi a1, a1, 0xff | a1 &= 0xff;
0x00033f80 negu v0, a1 | __asm ("negu v0, a1");
| do {
| if (s1 != 0) {
0x00033f84 movz s1, v0, s1 | s1 = v0;
| }
0x00033f88 b 0x33e48 | goto label_2;
| label_5:
0x00033f8c lw v0, -0x7f58(gp) | v0 = *(gp);
0x00033f90 lw a2, -0x7f58(gp) | a2 = *(gp);
0x00033f94 lw a1, -0x7f58(gp) | a1 = *(gp);
| /* str.make_uid_symlinks */
0x00033f98 addiu v0, v0, -0x55e0 | v0 += -0x55e0;
0x00033f9c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00033fa0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033fa4 addiu a3, zero, 0xa4 | a3 = 0xa4;
| /* esilref: 'src/core/dynamic-user.c' */
0x00033fa8 addiu a2, a2, -0x58e1 | a2 += -0x58e1;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x00033fac addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x00033fb0 move a0, zero | a0 = 0;
0x00033fb4 jalr t9 | t9 ();
| label_10:
0x00033fb8 negu a1, s5 | __asm ("negu a1, s5");
0x00033fbc andi a1, a1, 0xff | a1 &= 0xff;
0x00033fc0 negu v0, a1 | __asm ("negu v0, a1");
0x00033fc4 b 0x33efc | goto label_3;
| label_12:
0x00033fc8 negu a1, s2 | __asm ("negu a1, s2");
0x00033fcc andi a1, a1, 0xff | a1 &= 0xff;
0x00033fd0 negu v0, a1 | __asm ("negu v0, a1");
0x00033fd4 b 0x33f84 |
| } while (1);
| label_9:
0x00033fd8 lw v0, -0x7f58(gp) | v0 = *(gp);
0x00033fdc lw a2, -0x7f58(gp) | a2 = *(gp);
| /* str.Failed_to_symlink___s_:__m */
0x00033fe0 addiu v0, v0, -0x58a4 | v0 += -0x58a4;
0x00033fe4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00033fe8 lw v0, -0x7f58(gp) | v0 = *(gp);
0x00033fec lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* esilref: 'make_uid_symlinks' */
0x00033ff0 addiu v0, v0, -0x55f4 | v0 += -0x55f4;
0x00033ff4 sw s0, 0x18(sp) | *(var_18h_2) = s0;
0x00033ff8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00033ffc addiu a3, zero, 0x9f | a3 = 0x9f;
| /* esilref: 'src/core/dynamic-user.c' */
0x00034000 addiu a2, a2, -0x58e1 | a2 += -0x58e1;
0x00034004 move a1, s5 | a1 = s5;
0x00034008 addiu a0, zero, 4 | a0 = 4;
0x0003400c jalr t9 | t9 ();
| if (s1 != 0) {
0x00034010 movz s1, v0, s1 | s1 = v0;
| }
0x00034014 lw gp, 0x20(fp) | gp = *(var_20h);
0x00034018 b 0x33d98 | goto label_0;
| label_11:
0x0003401c lw v0, -0x7f58(gp) | v0 = *(gp);
0x00034020 lw a2, -0x7f58(gp) | a2 = *(gp);
| /* str.Failed_to_symlink___s_:__m */
0x00034024 addiu v0, v0, -0x58a4 | v0 += -0x58a4;
0x00034028 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0003402c lw v0, -0x7f58(gp) | v0 = *(gp);
0x00034030 lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* esilref: 'make_uid_symlinks' */
0x00034034 addiu v0, v0, -0x55f4 | v0 += -0x55f4;
0x00034038 sw s0, 0x18(sp) | *(var_18h_2) = s0;
0x0003403c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034040 addiu a3, zero, 0xac | a3 = 0xac;
| /* esilref: 'src/core/dynamic-user.c' */
0x00034044 addiu a2, a2, -0x58e1 | a2 += -0x58e1;
0x00034048 move a1, s2 | a1 = s2;
0x0003404c addiu a0, zero, 4 | a0 = 4;
0x00034050 jalr t9 | t9 ();
| if (s1 != 0) {
0x00034054 movz s1, v0, s1 | s1 = v0;
| }
0x00034058 lw gp, 0x20(fp) | gp = *(var_20h);
0x0003405c b 0x33e48 | goto label_2;
| label_8:
0x00034060 lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
0x00034064 jalr t9 | t9 ();
0x00034068 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0x38adc */
| #include <stdint.h>
|
; (fcn) fcn.00038adc () | void fcn_00038adc () {
0x00038adc lui gp, 0x13 |
0x00038ae0 addiu gp, gp, -0x5a7c |
0x00038ae4 addu gp, gp, t9 | gp += t9;
0x00038ae8 addiu sp, sp, -0x48 |
0x00038aec sw s2, 0x30(sp) | *(var_30h) = s2;
0x00038af0 lw s2, -0x6f14(gp) | s2 = *((gp - 7109));
0x00038af4 sw fp, 0x40(sp) | *(var_40h) = fp;
0x00038af8 sw ra, 0x44(sp) | *(var_44h) = ra;
0x00038afc sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x00038b00 sw s4, 0x38(sp) | *(var_38h) = s4;
0x00038b04 sw s3, 0x34(sp) | *(var_34h) = s3;
0x00038b08 sw s1, 0x2c(sp) | *(var_2ch_2) = s1;
0x00038b0c sw s0, 0x28(sp) | *(var_28h_2) = s0;
0x00038b10 sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x00038b14 move fp, sp | fp = sp;
0x00038b18 lw v0, (s2) | v0 = *(s2);
0x00038b1c sw v0, 0x24(fp) | *(arg_24h) = v0;
0x00038b20 lw v0, -0x7f58(gp) | v0 = *(gp);
| if (a0 == 0) {
0x00038b24 beqz a0, 0x38d08 | goto label_4;
| }
0x00038b28 lbu v0, 0x5c(a0) | v0 = *((a0 + 92));
0x00038b2c move s1, a0 | s1 = a0;
0x00038b30 andi v0, v0, 2 | v0 &= 2;
0x00038b34 move s3, a3 | s3 = a3;
| if (v0 != 0) {
0x00038b38 bnez v0, 0x38cb0 | goto label_5;
| }
0x00038b3c lw v0, (a1) | v0 = *(a1);
0x00038b40 lw s0, 0x50(a0) | s0 = *((a0 + 20));
0x00038b44 andi v0, v0, 2 | v0 &= 2;
| if (s0 == 0) {
0x00038b48 beqz s0, 0x38cf4 | goto label_6;
| }
| label_0:
0x00038b4c addiu v1, zero, 0x2f | v1 = 0x2f;
| if (v0 != 0) {
0x00038b50 bnez v0, 0x38c5c | goto label_3;
| }
0x00038b54 lb v0, (s0) | v0 = *(s0);
0x00038b58 lw s5, 0x54(s1) | s5 = *((s1 + 21));
| if (v0 != v1) {
0x00038b5c bne v0, v1, 0x38b80 | goto label_2;
| }
0x00038b60 lb v1, 1(s0) | v1 = *((s0 + 1));
| if (v1 != v0) {
0x00038b64 bne v1, v0, 0x38b80 | goto label_2;
| }
0x00038b68 nop |
0x00038b6c addiu s0, s0, 1 | s0++;
0x00038b70 addiu v1, zero, 0x2f | v1 = 0x2f;
| do {
0x00038b74 lb v0, 1(s0) | v0 = *((s0 + 1));
0x00038b78 beql v0, v1, 0x38b74 |
| } while (v0 == v1);
0x00038b7c addiu s0, s0, 1 | s0++;
| label_2:
0x00038b80 lw t9, -0x6f20(gp) | t9 = sym.imp.chdir;
| if (s5 == 0) {
0x00038b84 beqz s5, 0x38c60 | goto label_7;
| }
0x00038b88 lb v0, (s5) | v0 = *(s5);
| if (v0 == 0) {
0x00038b8c beqz v0, 0x38c60 | goto label_7;
| }
0x00038b90 nop |
0x00038b94 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x00038b98 move a0, s5 | a0 = s5;
0x00038b9c jalr t9 | t9 ();
0x00038ba0 lw gp, 0x18(fp) | gp = *(var_18h_3);
0x00038ba4 move a0, s0 | a0 = s0;
0x00038ba8 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x00038bac move s4, v0 | s4 = v0;
0x00038bb0 jalr t9 | t9 ();
0x00038bb4 addu v0, s4, v0 | v0 = s4 + v0;
0x00038bb8 lui a0, 0x40 | a0 = 0x400000;
0x00038bbc addiu v1, v0, 2 | v1 = v0 + 2;
0x00038bc0 addiu a0, a0, 1 | a0++;
0x00038bc4 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x00038bc8 lw gp, 0x18(fp) | gp = *(var_18h_3);
| if (v1 == 0) {
0x00038bcc beqz v1, 0x38d34 | goto label_8;
| }
0x00038bd0 addiu v0, v0, 9 | v0 += 9;
0x00038bd4 srl v0, v0, 3 | v0 >>= 3;
0x00038bd8 sll v0, v0, 3 | v0 <<= 3;
0x00038bdc subu sp, sp, v0 |
0x00038be0 lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x00038be4 addiu s4, sp, 0x18 | s4 = sp + 0x18;
0x00038be8 move a1, s5 | a1 = s5;
0x00038bec move a0, s4 | a0 = s4;
0x00038bf0 jalr t9 | t9 ();
0x00038bf4 sltu v1, s4, v0 | v1 = (s4 < v0) ? 1 : 0;
0x00038bf8 lw gp, 0x18(fp) | gp = *(var_18h_3);
| if (v1 == 0) {
0x00038bfc beqz v1, 0x38c30 | goto label_9;
| }
0x00038c00 lb a0, -1(v0) | a0 = *((v0 - 1));
0x00038c04 addiu v1, zero, 0x2f | v1 = 0x2f;
0x00038c08 addiu a0, zero, 0x2f | a0 = 0x2f;
| if (a0 != v1) {
0x00038c0c bne a0, v1, 0x38c30 | goto label_9;
| }
0x00038c10 addiu v0, v0, -1 | v0 += -1;
0x00038c14 b 0x38c24 |
| while (s4 == v0) {
0x00038c18 lb a0, (s0) | a0 = *(s0);
| if (v1 == a0) {
0x00038c1c bnel v1, a0, 0x38c34 | goto label_10;
| }
0x00038c20 addiu v0, v0, -1 | v0 += -1;
0x00038c24 lb v1, -1(v0) | v1 = *((v0 - 1));
0x00038c28 bnel s4, v0, 0x38c18 |
| }
0x00038c2c move v0, s4 | v0 = s4;
| label_9:
0x00038c30 lb a0, (s0) | a0 = *(s0);
| label_10:
0x00038c34 addiu v1, zero, 0x2f | v1 = 0x2f;
0x00038c38 lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
| if (a0 != v1) {
0x00038c3c beq a0, v1, 0x38c48 |
0x00038c40 sb v1, (v0) | *(v0) = v1;
0x00038c44 addiu v0, v0, 1 | v0++;
| }
0x00038c48 move a1, s0 | a1 = s0;
0x00038c4c move a0, v0 | a0 = v0;
0x00038c50 jalr t9 | t9 ();
0x00038c54 lw gp, 0x18(fp) | gp = *(var_18h_3);
0x00038c58 move s0, s4 | s0 = s4;
| label_3:
0x00038c5c lw t9, -0x6f20(gp) | t9 = sym.imp.chdir;
| label_7:
0x00038c60 move a0, s0 | a0 = s0;
0x00038c64 jalr t9 | t9 ();
0x00038c68 lw gp, 0x18(fp) | gp = *(var_18h_3);
| if (v0 < 0) {
0x00038c6c bltz v0, 0x38cc4 | goto label_11;
| }
0x00038c70 move v0, zero | v0 = 0;
| do {
| label_1:
0x00038c74 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00038c78 lw v1, (s2) | v1 = *(s2);
0x00038c7c lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
| if (a0 != v1) {
0x00038c80 bne a0, v1, 0x38d70 | goto label_12;
| }
0x00038c84 move sp, fp |
0x00038c88 lw ra, 0x44(sp) | ra = *(var_44h);
0x00038c8c lw fp, 0x40(sp) | fp = *(var_40h);
0x00038c90 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x00038c94 lw s4, 0x38(sp) | s4 = *(var_38h);
0x00038c98 lw s3, 0x34(sp) | s3 = *(var_34h);
0x00038c9c lw s2, 0x30(sp) | s2 = *(var_30h);
0x00038ca0 lw s1, 0x2c(sp) | s1 = *(var_2ch_2);
0x00038ca4 lw s0, 0x28(sp) | s0 = *(var_28h_2);
0x00038ca8 addiu sp, sp, 0x48 |
0x00038cac jr ra | return v0;
| label_5:
0x00038cb0 move s0, a2 | s0 = a2;
| if (a2 == 0) {
0x00038cb4 beqz a2, 0x38d60 | goto label_13;
| }
0x00038cb8 lw v0, (a1) | v0 = *(a1);
0x00038cbc andi v0, v0, 2 | v0 &= 2;
0x00038cc0 b 0x38b4c | goto label_0;
| label_11:
0x00038cc4 lw v0, 0x5c(s1) | v0 = *((s1 + 23));
0x00038cc8 andi v0, v0, 1 | v0 &= 1;
0x00038ccc move v0, zero | v0 = 0;
0x00038cd0 bnel v0, zero, 0x38c74 |
| } while (v0 == 0);
0x00038cd4 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x00038cd8 addiu v0, zero, 0xc8 | v0 = 0xc8;
0x00038cdc sw v0, (s3) | *(s3) = v0;
0x00038ce0 jalr t9 | t9 ();
0x00038ce4 lw v0, (v0) | v0 = *(v0);
0x00038ce8 lw gp, 0x18(fp) | gp = *(var_18h_3);
0x00038cec negu v0, v0 | __asm ("negu v0, v0");
0x00038cf0 b 0x38c74 | goto label_1;
| label_6:
0x00038cf4 lw s0, -0x7f60(gp) | s0 = *((gp - 8152));
| if (v0 == 0) {
0x00038cf8 bnez v0, 0x38d2c |
0x00038cfc lw s5, 0x54(s1) | s5 = *((s1 + 21));
0x00038d00 addiu s0, s0, -0x774c | s0 += -0x774c;
0x00038d04 b 0x38b80 | goto label_2;
| label_4:
0x00038d08 lw a2, -0x7f58(gp) | a2 = *(gp);
0x00038d0c lw a1, -0x7f58(gp) | a1 = *(gp);
| /* str.apply_working_directory */
0x00038d10 addiu v0, v0, -0x2770 | v0 += -0x2770;
0x00038d14 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00038d18 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x00038d1c addiu a3, zero, 0xa0a | a3 = 0xa0a;
| /* esilref: 'src/core/execute.c' */
0x00038d20 addiu a2, a2, -0x4f91 | a2 += -0x4f91;
| /* str.context */
0x00038d24 addiu a1, a1, -0x4f7c | a1 += -0x4f7c;
0x00038d28 jalr t9 | t9 ();
| }
0x00038d2c addiu s0, s0, -0x774c | s0 += -0x774c;
0x00038d30 b 0x38c5c | goto label_3;
| label_8:
0x00038d34 lw v0, -0x7f58(gp) | v0 = *(gp);
0x00038d38 lw a2, -0x7f58(gp) | a2 = *(gp);
0x00038d3c lw a1, -0x7f58(gp) | a1 = *(gp);
| /* str.apply_working_directory */
0x00038d40 addiu v0, v0, -0x2770 | v0 += -0x2770;
0x00038d44 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00038d48 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x00038d4c addiu a3, zero, 0xa1e | a3 = 0xa1e;
| /* esilref: 'src/core/execute.c' */
0x00038d50 addiu a2, a2, -0x4f91 | a2 += -0x4f91;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x00038d54 addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x00038d58 move a0, zero | a0 = 0;
0x00038d5c jalr t9 | t9 ();
| label_13:
0x00038d60 addiu v0, zero, 0xc8 | v0 = 0xc8;
0x00038d64 sw v0, (a3) | *(a3) = v0;
0x00038d68 addiu v0, zero, -6 | v0 = -6;
0x00038d6c b 0x38c74 | goto label_1;
| label_12:
0x00038d70 jalr t9 | t9 ();
0x00038d74 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0x6e994 */
| #include <stdint.h>
|
; (fcn) fcn.0006e994 () | void fcn_0006e994 () {
0x0006e994 lui gp, 0xf |
0x0006e998 addiu gp, gp, 0x46cc |
0x0006e99c addu gp, gp, t9 | gp += t9;
0x0006e9a0 addiu sp, sp, -0x110 |
0x0006e9a4 lw t9, -0x68d0(gp) | t9 = sym.imp.__xstat64;
0x0006e9a8 sw s2, 0xf4(sp) | *(var_f4h) = s2;
0x0006e9ac lw s2, -0x6f14(gp) | s2 = *((gp - 7109));
0x0006e9b0 sw fp, 0x108(sp) | *(var_108h) = fp;
0x0006e9b4 sw s4, 0xfc(sp) | *(var_fch) = s4;
0x0006e9b8 sw s3, 0xf8(sp) | *(var_f8h) = s3;
0x0006e9bc sw s1, 0xf0(sp) | *(var_f0h) = s1;
0x0006e9c0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0006e9c4 sw ra, 0x10c(sp) | *(var_10ch) = ra;
0x0006e9c8 sw s6, 0x104(sp) | *(var_104h) = s6;
0x0006e9cc sw s5, 0x100(sp) | *(var_100h) = s5;
0x0006e9d0 sw s0, 0xec(sp) | *(var_ech) = s0;
0x0006e9d4 move fp, sp | fp = sp;
0x0006e9d8 lw v0, (s2) | v0 = *(s2);
0x0006e9dc move s1, a0 | s1 = a0;
0x0006e9e0 move s3, a1 | s3 = a1;
0x0006e9e4 move s4, a2 | s4 = a2;
0x0006e9e8 move a1, a0 | a1 = a0;
0x0006e9ec addiu a2, fp, 0x40 | a2 = fp + 0x40;
0x0006e9f0 addiu a0, zero, 3 | a0 = 3;
0x0006e9f4 sw v0, 0xe4(fp) | *(var_e4h) = v0;
0x0006e9f8 sw zero, 0x34(fp) | *(var_34h) = 0;
0x0006e9fc jalr t9 | t9 ();
0x0006ea00 nop |
0x0006ea04 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 >= 0) {
0x0006ea08 bltz v0, 0x6eb74 |
0x0006ea0c lw s5, 0x58(fp) | s5 = *(var_58h);
0x0006ea10 addiu v0, zero, 0x2000 | v0 = 0x2000;
0x0006ea14 andi v1, s5, 0xb000 | v1 = s5 & 0xb000;
0x0006ea18 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (v1 != v0) {
0x0006ea1c beq v1, v0, 0x6ea44 |
0x0006ea20 lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0006ea24 move a0, zero | a0 = 0;
0x0006ea28 jalr t9 | t9 ();
0x0006ea2c slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0006ea30 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 == 0) {
0x0006ea34 beqz v0, 0x6ee40 | goto label_4;
| }
0x0006ea38 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006ea3c addiu s0, zero, -0x16 | s0 = -0x16;
0x0006ea40 b 0x6ebc0 | goto label_0;
| }
0x0006ea44 move a0, s3 | a0 = s3;
0x0006ea48 jalr t9 | t9 ();
0x0006ea4c lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ea50 move a0, s1 | a0 = s1;
0x0006ea54 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x0006ea58 move s0, v0 | s0 = v0;
0x0006ea5c jalr t9 | t9 ();
0x0006ea60 addu v0, s0, v0 | v0 = s0 + v0;
0x0006ea64 lui a0, 0x40 | a0 = 0x400000;
0x0006ea68 addiu v1, v0, 1 | v1 = v0 + 1;
0x0006ea6c addiu a0, a0, 1 | a0++;
0x0006ea70 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x0006ea74 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v1 == 0) {
0x0006ea78 beqz v1, 0x6ef84 | goto label_5;
| }
0x0006ea7c addiu v0, v0, 8 | v0 += 8;
0x0006ea80 srl v0, v0, 3 | v0 >>= 3;
0x0006ea84 sll v0, v0, 3 | v0 <<= 3;
0x0006ea88 subu sp, sp, v0 |
0x0006ea8c lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x0006ea90 addiu s6, sp, 0x20 | s6 = sp + 0x20;
0x0006ea94 move a1, s3 | a1 = s3;
0x0006ea98 move a0, s6 | a0 = s6;
0x0006ea9c jalr t9 | t9 ();
0x0006eaa0 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006eaa4 move a1, s1 | a1 = s1;
0x0006eaa8 lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x0006eaac move a0, v0 | a0 = v0;
0x0006eab0 jalr t9 | t9 ();
0x0006eab4 lbu v0, (s4) | v0 = *(s4);
0x0006eab8 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 != 0) {
0x0006eabc bnez v0, 0x6ec10 | goto label_6;
| }
0x0006eac0 addiu s5, fp, 0x38 | s5 = fp + 0x38;
| label_2:
0x0006eac4 lw t9, -0x6858(gp) | t9 = sym.imp.mac_selinux_create_file_prepare;
0x0006eac8 move a1, zero | a1 = 0;
0x0006eacc move a0, s1 | a0 = s1;
0x0006ead0 jalr t9 | t9 ();
0x0006ead4 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ead8 move v1, zero | v1 = 0;
0x0006eadc move v0, zero | v0 = 0;
0x0006eae0 lw t9, -0x6bbc(gp) | t9 = sym.imp.__xmknod;
0x0006eae4 move a3, s5 | a3 = s5;
0x0006eae8 ori a2, zero, 0x8000 | a2 = 0x8000;
0x0006eaec move a1, s6 | a1 = s6;
0x0006eaf0 addiu a0, zero, 1 | a0 = 1;
0x0006eaf4 sw v1, 0x3c(fp) | *(var_3ch) = v1;
0x0006eaf8 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0006eafc jalr t9 | t9 ();
0x0006eb00 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006eb04 lw t9, -0x72a4(gp) | t9 = sym.imp.mac_selinux_create_file_clear;
0x0006eb08 move s0, v0 | s0 = v0;
0x0006eb0c jalr t9 | t9 ();
0x0006eb10 lw gp, 0x20(fp) | gp = *(var_20h);
| if (s0 >= 0) {
0x0006eb14 bgez s0, 0x6ecc0 | goto label_7;
| }
0x0006eb18 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x0006eb1c jalr t9 | t9 ();
0x0006eb20 nop |
0x0006eb24 lw s0, (v0) | s0 = *(v0);
0x0006eb28 addiu v0, zero, 0x11 | v0 = 0x11;
0x0006eb2c lw gp, 0x20(fp) | gp = *(var_20h);
| if (s0 == v0) {
0x0006eb30 beq s0, v0, 0x6ecc0 | goto label_7;
| }
0x0006eb34 lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0006eb38 move a0, zero | a0 = 0;
0x0006eb3c jalr t9 | t9 ();
0x0006eb40 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0006eb44 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 != 0) {
0x0006eb48 bnez v0, 0x6ebac | goto label_8;
| }
0x0006eb4c lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006eb50 lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* str.mknod___fallback_failed_for__s:__m */
0x0006eb54 addiu v0, v0, 0x6810 | v0 += aav.0x00006810;
0x0006eb58 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006eb5c lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006eb60 sw s1, 0x18(sp) | *(var_18h) = s1;
| /* str.clone_device_node */
0x0006eb64 addiu v0, v0, 0x7624 | v0 += 0x7624;
0x0006eb68 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006eb6c addiu a3, zero, 0x277 | a3 = 0x277;
0x0006eb70 b 0x6ee1c | goto label_3;
| }
0x0006eb74 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x0006eb78 jalr t9 | t9 ();
0x0006eb7c nop |
0x0006eb80 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006eb84 lw s0, (v0) | s0 = *(v0);
0x0006eb88 lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0006eb8c move a0, zero | a0 = 0;
0x0006eb90 jalr t9 | t9 ();
0x0006eb94 addiu v1, zero, 2 | v1 = 2;
0x0006eb98 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006eb9c slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (s0 == v1) {
0x0006eba0 beq s0, v1, 0x6eff0 | goto label_9;
| }
0x0006eba4 lw v0, -0x7f58(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0006eba8 beqz v0, 0x6edfc | goto label_10;
| }
| if (s0 >= 0) {
| do {
| label_8:
0x0006ebac bltzl s0, 0x6ebb4 |
0x0006ebb0 negu s0, s0 | __asm ("negu s0, s0");
| }
0x0006ebb4 andi s0, s0, 0xff | s0 &= 0xff;
0x0006ebb8 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006ebbc negu s0, s0 | __asm ("negu s0, s0");
| label_0:
0x0006ebc0 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x0006ebc4 jalr t9 | t9 ();
0x0006ebc8 nop |
0x0006ebcc lw a0, 0xe4(fp) | a0 = *(var_e4h);
0x0006ebd0 lw v1, (s2) | v1 = *(s2);
0x0006ebd4 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ebd8 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x0006ebdc bne a0, v1, 0x6f048 | goto label_11;
| }
0x0006ebe0 move sp, fp |
0x0006ebe4 lw ra, 0x10c(sp) | ra = *(var_10ch);
0x0006ebe8 lw fp, 0x108(sp) | fp = *(var_108h);
0x0006ebec lw s6, 0x104(sp) | s6 = *(var_104h);
0x0006ebf0 lw s5, 0x100(sp) | s5 = *(var_100h);
0x0006ebf4 lw s4, 0xfc(sp) | s4 = *(var_fch);
0x0006ebf8 lw s3, 0xf8(sp) | s3 = *(var_f8h);
0x0006ebfc lw s2, 0xf4(sp) | s2 = *(var_f4h);
0x0006ec00 lw s1, 0xf0(sp) | s1 = *(var_f0h);
0x0006ec04 lw s0, 0xec(sp) | s0 = *(var_ech);
0x0006ec08 addiu sp, sp, 0x110 |
0x0006ec0c jr ra | return v0;
| label_6:
0x0006ec10 lw t9, -0x6858(gp) | t9 = sym.imp.mac_selinux_create_file_prepare;
0x0006ec14 move a1, s5 | a1 = s5;
0x0006ec18 move a0, s1 | a0 = s1;
0x0006ec1c jalr t9 | t9 ();
0x0006ec20 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ec24 lw v0, 0x68(fp) | v0 = *(var_68h);
0x0006ec28 lw a2, 0x58(fp) | a2 = *(var_58h);
0x0006ec2c lw t9, -0x6bbc(gp) | t9 = sym.imp.__xmknod;
0x0006ec30 addiu s5, fp, 0x38 | s5 = fp + 0x38;
0x0006ec34 move a3, s5 | a3 = s5;
0x0006ec38 move a1, s6 | a1 = s6;
0x0006ec3c addiu a0, zero, 1 | a0 = 1;
0x0006ec40 sw v0, 0x38(fp) | *(var_38h) = v0;
0x0006ec44 sw zero, 0x3c(fp) | *(var_3ch) = 0;
0x0006ec48 jalr t9 | t9 ();
0x0006ec4c lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ec50 lw t9, -0x72a4(gp) | t9 = sym.imp.mac_selinux_create_file_clear;
0x0006ec54 move s0, v0 | s0 = v0;
0x0006ec58 jalr t9 | t9 ();
0x0006ec5c lw gp, 0x20(fp) | gp = *(var_20h);
| if (s0 >= 0) {
0x0006ec60 bgez s0, 0x6ece4 | goto label_12;
| }
0x0006ec64 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x0006ec68 jalr t9 | t9 ();
0x0006ec6c nop |
0x0006ec70 lw s0, (v0) | s0 = *(v0);
0x0006ec74 addiu v0, zero, 1 | v0 = 1;
0x0006ec78 lw gp, 0x20(fp) | gp = *(var_20h);
| if (s0 == v0) {
0x0006ec7c beq s0, v0, 0x6ee80 | goto label_13;
| }
0x0006ec80 lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0006ec84 move a0, zero | a0 = 0;
0x0006ec88 jalr t9 | t9 ();
0x0006ec8c slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0006ec90 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ec94 bnez v0, 0x6ebac |
| } while (v0 != 0);
0x0006ec98 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006ec9c lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* str.mknod_failed_for__s:__m */
0x0006eca0 addiu v0, v0, 0x67f8 | v0 += 0x67f8;
0x0006eca4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006eca8 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006ecac sw s1, 0x18(sp) | *(var_18h) = s1;
| /* str.clone_device_node */
0x0006ecb0 addiu v0, v0, 0x7624 | v0 += 0x7624;
0x0006ecb4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006ecb8 addiu a3, zero, 0x26b | a3 = 0x26b;
0x0006ecbc b 0x6ee1c | goto label_3;
| label_7:
0x0006ecc0 lw t9, -0x6ab8(gp) | t9 = sym.imp.mount;
0x0006ecc4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0006ecc8 addiu a3, zero, 0x1000 | a3 = 0x1000;
0x0006eccc move a2, zero | a2 = 0;
0x0006ecd0 move a1, s6 | a1 = s6;
0x0006ecd4 move a0, s1 | a0 = s1;
0x0006ecd8 jalr t9 | t9 ();
0x0006ecdc lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 < 0) {
0x0006ece0 bltz v0, 0x6ee88 | goto label_14;
| }
| label_12:
0x0006ece4 lw a1, -0x7f58(gp) | a1 = *(gp);
0x0006ece8 lw t9, -0x6d84(gp) | t9 = sym.imp.path_startswith;
| /* str._dev_ */
0x0006ecec addiu a1, a1, -0x3744 | a1 += -0x3744;
0x0006ecf0 move a0, s1 | a0 = s1;
0x0006ecf4 jalr t9 | t9 ();
0x0006ecf8 move s0, v0 | s0 = v0;
0x0006ecfc lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 == 0) {
0x0006ed00 beqz v0, 0x6ef28 | goto label_15;
| }
0x0006ed04 lw v0, 0x58(fp) | v0 = *(var_58h);
0x0006ed08 addiu v1, zero, 0x2000 | v1 = 0x2000;
0x0006ed0c andi v0, v0, 0xf000 | v0 &= 0xf000;
| if (v0 == v1) {
0x0006ed10 beql v0, v1, 0x6ee78 | goto label_16;
| }
0x0006ed14 lw a0, -0x7f58(gp) | a0 = *(gp);
0x0006ed18 lw a0, -0x7f58(gp) | a0 = *(gp);
| /* str.block */
0x0006ed1c addiu a0, a0, 0x6728 | a0 += 0x6728;
| label_1:
0x0006ed20 lw v0, 0x68(fp) | v0 = *(var_68h);
0x0006ed24 addiu a2, zero, -0x100 | a2 = -aav.0x00000100;
0x0006ed28 srl v1, v0, 0xc | v1 = v0 >> 0xc;
0x0006ed2c andi a1, v0, 0xff | a1 = v0 & 0xff;
0x0006ed30 and v1, v1, a2 | v1 &= a2;
0x0006ed34 lw a2, -0x7f58(gp) | a2 = *(gp);
0x0006ed38 or v1, v1, a1 | v1 |= a1;
0x0006ed3c lw t9, -0x6c2c(gp) | t9 = sym.imp.__asprintf_chk;
0x0006ed40 ext v0, v0, 8, 0xc | __asm ("ext v0, v0, 8, 0xc");
0x0006ed44 sw a0, 0x10(sp) | *(var_10h) = a0;
0x0006ed48 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0006ed4c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006ed50 move a3, s3 | a3 = s3;
| /* str._s_dev__s__u:_u */
0x0006ed54 addiu a2, a2, 0x685c | a2 += 0x685c;
0x0006ed58 addiu a1, zero, 1 | a1 = 1;
0x0006ed5c addiu a0, fp, 0x34 | a0 = fp + 0x34;
0x0006ed60 jalr t9 | t9 ();
0x0006ed64 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 < 0) {
0x0006ed68 bltz v0, 0x6ef54 | goto label_17;
| }
0x0006ed6c lw t9, -0x759c(gp) | t9 = sym.imp.mkdir_parents;
0x0006ed70 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006ed74 addiu a1, zero, 0x1ed | a1 = 0x1ed;
0x0006ed78 jalr t9 | t9 ();
0x0006ed7c lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ed80 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x0006ed84 move a0, s0 | a0 = s0;
0x0006ed88 jalr t9 | t9 ();
0x0006ed8c lui a0, 0x40 | a0 = 0x400000;
0x0006ed90 addiu v1, v0, 4 | v1 = v0 + 4;
0x0006ed94 addiu a0, a0, 1 | a0++;
0x0006ed98 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x0006ed9c lw gp, 0x20(fp) | gp = *(var_20h);
| if (v1 == 0) {
0x0006eda0 beqz v1, 0x6efd8 | goto label_18;
| }
0x0006eda4 addiu v0, v0, 0xb | v0 += 0xb;
0x0006eda8 srl v0, v0, 3 | v0 >>= 3;
0x0006edac sll v0, v0, 3 | v0 <<= 3;
0x0006edb0 subu sp, sp, v0 |
0x0006edb4 addiu s1, sp, 0x20 | s1 = sp + 0x20;
0x0006edb8 lui v0, 0x2f | v0 = 0x2f0000;
0x0006edbc lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x0006edc0 addiu v0, v0, 0x2e2e | v0 += 0x2e2e;
0x0006edc4 move a1, s0 | a1 = s0;
0x0006edc8 addiu a0, s1, 3 | a0 = s1 + 3;
0x0006edcc sw v0, (s1) | *(s1) = v0;
0x0006edd0 jalr t9 | t9 ();
0x0006edd4 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006edd8 lw a1, 0x34(fp) | a1 = *(var_34h);
0x0006eddc lw t9, -0x6c7c(gp) | t9 = sym.imp.symlink;
0x0006ede0 move a0, s1 | a0 = s1;
0x0006ede4 jalr t9 | t9 ();
0x0006ede8 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 < 0) {
0x0006edec bltz v0, 0x6ef30 | goto label_19;
| }
0x0006edf0 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006edf4 move s0, zero | s0 = 0;
0x0006edf8 b 0x6ebc0 | goto label_0;
| label_10:
0x0006edfc lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Failed_to_stat___device_node__s_to_clone__ignoring:__m */
0x0006ee00 addiu v0, v0, 0x6780 | v0 += 0x6780;
0x0006ee04 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006ee08 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006ee0c sw s1, 0x18(sp) | *(var_18h) = s1;
| /* str.clone_device_node */
0x0006ee10 addiu v0, v0, 0x7624 | v0 += 0x7624;
0x0006ee14 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006ee18 addiu a3, zero, 0x258 | a3 = aav.0x00000258;
| label_3:
0x0006ee1c lw a2, -0x7f58(gp) | a2 = *(gp);
0x0006ee20 move a1, s0 | a1 = s0;
| /* esilref: 'src/core/namespace.c' */
0x0006ee24 addiu a2, a2, 0x6737 | a2 += 0x6737;
| do {
0x0006ee28 addiu a0, zero, 7 | a0 = 7;
0x0006ee2c jalr t9 | t9 ();
0x0006ee30 move s0, v0 | s0 = v0;
0x0006ee34 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ee38 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006ee3c b 0x6ebc0 | goto label_0;
| label_4:
0x0006ee40 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006ee44 lw a2, -0x7f58(gp) | a2 = *(gp);
| /* str.Device_node__s_to_clone_is_not_a_device_node__ignoring. */
0x0006ee48 addiu v0, v0, 0x67bc | v0 += 0x67bc;
0x0006ee4c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006ee50 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006ee54 lui a1, 0x4000 | a1 = 0x40000000;
| /* str.clone_device_node */
0x0006ee58 addiu v0, v0, 0x7624 | v0 += 0x7624;
0x0006ee5c lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
0x0006ee60 sw s1, 0x18(sp) | *(var_18h) = s1;
0x0006ee64 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006ee68 addiu a3, zero, 0x25f | a3 = 0x25f;
| /* esilref: 'src/core/namespace.c' */
0x0006ee6c addiu a2, a2, 0x6737 | a2 += 0x6737;
0x0006ee70 addiu a1, a1, 0x16 | a1 += 0x16;
0x0006ee74 b 0x6ee28 |
| } while (1);
| /* str.char */
| label_16:
0x0006ee78 addiu a0, a0, 0x6720 | a0 += 0x6720;
0x0006ee7c b 0x6ed20 | goto label_1;
| label_13:
0x0006ee80 sb zero, (s4) | *(s4) = 0;
0x0006ee84 b 0x6eac4 | goto label_2;
| label_14:
0x0006ee88 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x0006ee8c jalr t9 | t9 ();
0x0006ee90 nop |
0x0006ee94 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ee98 move a0, zero | a0 = 0;
0x0006ee9c lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0006eea0 lw s0, (v0) | s0 = *(v0);
0x0006eea4 jalr t9 | t9 ();
0x0006eea8 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0006eeac lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 == 0) {
0x0006eeb0 beqz v0, 0x6efb0 | goto label_20;
| }
0x0006eeb4 move a1, s0 | a1 = s0;
| if (s0 < 0) {
0x0006eeb8 bgez s0, 0x6eec0 |
0x0006eebc negu a1, s0 | __asm ("negu a1, s0");
| }
0x0006eec0 andi a1, a1, 0xff | a1 &= 0xff;
0x0006eec4 negu s0, a1 | __asm ("negu s0, a1");
0x0006eec8 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006eecc b 0x6ebc0 | goto label_0;
| do {
0x0006eed0 lw t9, -0x6654(gp) | t9 = sym.imp.__errno_location;
0x0006eed4 sw a0, 0x2c(fp) | *(var_2ch) = a0;
0x0006eed8 jalr t9 | t9 ();
0x0006eedc lw gp, 0x20(fp) | gp = *(var_20h);
0x0006eee0 lw a1, (v0) | a1 = *(v0);
0x0006eee4 lw a0, 0x2c(fp) | a0 = *(var_2ch);
0x0006eee8 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006eeec lw a2, -0x7f58(gp) | a2 = *(gp);
| /* str.Failed_to_symlink__s_to__s__ignoring:__m */
0x0006eef0 addiu v0, v0, 0x686c | v0 += 0x686c;
0x0006eef4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006eef8 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006eefc lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* str.clone_device_node */
0x0006ef00 addiu v0, v0, 0x7624 | v0 += 0x7624;
0x0006ef04 sw a0, 0x1c(sp) | *(var_1ch_4) = a0;
0x0006ef08 sw s1, 0x18(sp) | *(var_18h) = s1;
0x0006ef0c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006ef10 addiu a3, zero, 0x28f | a3 = 0x28f;
| /* esilref: 'src/core/namespace.c' */
0x0006ef14 addiu a2, a2, 0x6737 | a2 += 0x6737;
0x0006ef18 addiu a0, zero, 7 | a0 = 7;
0x0006ef1c jalr t9 | t9 ();
0x0006ef20 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ef24 move s0, zero | s0 = 0;
| label_15:
0x0006ef28 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006ef2c b 0x6ebc0 | goto label_0;
| label_19:
0x0006ef30 lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0006ef34 move a0, zero | a0 = 0;
0x0006ef38 jalr t9 | t9 ();
0x0006ef3c slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0006ef40 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ef44 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006ef48 beqz v0, 0x6eed0 |
| } while (v0 == 0);
0x0006ef4c move s0, zero | s0 = 0;
0x0006ef50 b 0x6ebc0 | goto label_0;
| label_17:
0x0006ef54 lw a3, -0x7f58(gp) | a3 = *(gp);
0x0006ef58 lw a1, -0x7f58(gp) | a1 = *(gp);
0x0006ef5c lw t9, -0x75f8(gp) | t9 = sym.imp.log_oom_internal;
0x0006ef60 move a0, zero | a0 = 0;
| /* str.clone_device_node */
0x0006ef64 addiu a3, a3, 0x7624 | a3 += 0x7624;
0x0006ef68 addiu a2, zero, 0x288 | a2 = aav.0x00000288;
| /* esilref: 'src/core/namespace.c' */
0x0006ef6c addiu a1, a1, 0x6737 | a1 += 0x6737;
0x0006ef70 jalr t9 | t9 ();
0x0006ef74 move s0, v0 | s0 = v0;
0x0006ef78 lw gp, 0x20(fp) | gp = *(var_20h);
0x0006ef7c lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006ef80 b 0x6ebc0 | goto label_0;
| label_5:
0x0006ef84 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006ef88 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* esilref: 'clone_device_node' */
0x0006ef8c addiu v0, v0, 0x7610 | v0 += 0x7610;
0x0006ef90 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006ef94 addiu a3, zero, 0x261 | a3 = 0x261;
| do {
0x0006ef98 lw a2, -0x7f58(gp) | a2 = *(gp);
0x0006ef9c lw a1, -0x7f58(gp) | a1 = *(gp);
| /* esilref: 'src/core/namespace.c' */
0x0006efa0 addiu a2, a2, 0x6737 | a2 += 0x6737;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x0006efa4 addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x0006efa8 move a0, zero | a0 = 0;
0x0006efac jalr t9 | t9 ();
| label_20:
0x0006efb0 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006efb4 lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* str.Bind_mounting_failed_for__s:__m */
0x0006efb8 addiu v0, v0, 0x6838 | v0 += 0x6838;
0x0006efbc sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006efc0 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006efc4 sw s1, 0x18(sp) | *(var_18h) = s1;
| /* str.clone_device_node */
0x0006efc8 addiu v0, v0, 0x7624 | v0 += 0x7624;
0x0006efcc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006efd0 addiu a3, zero, 0x27f | a3 = 0x27f;
0x0006efd4 b 0x6ee1c | goto label_3;
| label_18:
0x0006efd8 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006efdc lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* esilref: 'clone_device_node' */
0x0006efe0 addiu v0, v0, 0x7610 | v0 += 0x7610;
0x0006efe4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006efe8 addiu a3, zero, 0x28c | a3 = aav.0x0000028c;
0x0006efec b 0x6ef98 |
| } while (1);
| label_9:
0x0006eff0 lw v0, -0x7f58(gp) | v0 = *(gp);
| if (v0 != 0) {
0x0006eff4 beqz v0, 0x6f004 |
0x0006eff8 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006effc addiu s0, zero, -6 | s0 = -6;
0x0006f000 b 0x6ebc0 | goto label_0;
| }
0x0006f004 lw a2, -0x7f58(gp) | a2 = *(gp);
| /* str.Device_node__s_to_clone_does_not_exist__ignoring. */
0x0006f008 addiu v0, v0, 0x674c | v0 += 0x674c;
0x0006f00c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0006f010 lw v0, -0x7f58(gp) | v0 = *(gp);
0x0006f014 lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* str.clone_device_node */
0x0006f018 addiu v0, v0, 0x7624 | v0 += 0x7624;
0x0006f01c addiu a0, zero, 7 | a0 = 7;
0x0006f020 sw s1, 0x18(sp) | *(var_18h) = s1;
0x0006f024 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006f028 addiu a3, zero, 0x254 | a3 = aav.0x00000254;
| /* esilref: 'src/core/namespace.c' */
0x0006f02c addiu a2, a2, 0x6737 | a2 += 0x6737;
0x0006f030 addiu a1, zero, 2 | a1 = 2;
0x0006f034 jalr t9 | t9 ();
0x0006f038 addiu s0, zero, -6 | s0 = -6;
0x0006f03c lw gp, 0x20(fp) | gp = *(var_20h);
0x0006f040 lw a0, 0x34(fp) | a0 = *(var_34h);
0x0006f044 b 0x6ebc0 | goto label_0;
| label_11:
0x0006f048 lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
0x0006f04c jalr t9 | t9 ();
0x0006f050 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0x740dc */
| #include <stdint.h>
|
; (fcn) fcn.000740dc () | void fcn_000740dc () {
0x000740dc lui gp, 0xf |
0x000740e0 addiu gp, gp, -0x107c |
0x000740e4 addu gp, gp, t9 | gp += t9;
0x000740e8 addiu sp, sp, -0x40 |
0x000740ec sltiu v0, a0, 7 | v0 = (a0 < 7) ? 1 : 0;
0x000740f0 sw s2, 0x34(sp) | *(var_34h) = s2;
0x000740f4 lw s2, -0x6f14(gp) | s2 = *((gp - 7109));
0x000740f8 sw fp, 0x38(sp) | *(var_38h) = fp;
0x000740fc sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00074100 sw s1, 0x30(sp) | *(var_30h) = s1;
0x00074104 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00074108 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0007410c move fp, sp | fp = sp;
0x00074110 lw v1, (s2) | v1 = *(s2);
0x00074114 sw v1, 0x24(fp) | *(var_24h) = v1;
0x00074118 lw s0, -0x7f80(gp) | s0 = *((gp - 8160));
| if (v0 == 0) {
0x0007411c beqz v0, 0x741ec | goto label_0;
| }
0x00074120 sll a0, a0, 2 | a0 <<= 2;
| /* esilref: 'mnt' */
0x00074124 addiu s0, s0, -0x66cc | s0 += -0x66cc;
0x00074128 lwx s0, a0(s0) | __asm ("lwx s0, a0(s0)");
0x0007412c lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (s0 == 0) {
0x00074130 beqz s0, 0x741ec | goto label_0;
| }
0x00074134 move a0, s0 | a0 = s0;
0x00074138 jalr t9 | t9 ();
0x0007413c lui a0, 0x40 | a0 = 0x400000;
0x00074140 addiu v1, v0, 0xf | v1 = v0 + 0xf;
0x00074144 addiu a0, a0, 1 | a0++;
0x00074148 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x0007414c lw gp, 0x18(fp) | gp = *(var_18h);
| if (v1 == 0) {
0x00074150 beqz v1, 0x741f4 | goto label_1;
| }
0x00074154 lw a0, -0x7f58(gp) | a0 = *(gp);
0x00074158 addiu v0, v0, 0x16 | v0 += 0x16;
| /* str._proc_self_ns_ */
0x0007415c addiu v1, a0, 0x7454 | v1 = a0 + 0x7454;
0x00074160 srl v0, v0, 3 | v0 >>= 3;
0x00074164 sll v0, v0, 3 | v0 <<= 3;
0x00074168 subu sp, sp, v0 |
0x0007416c lw t0, 0x7454(a0) | t0 = *((a0 + 7445));
0x00074170 lw a3, 4(v1) | a3 = *((v1 + 1));
0x00074174 lw a2, 8(v1) | a2 = *((v1 + 2));
0x00074178 lhu v0, 0xc(v1) | v0 = *((v1 + 6));
0x0007417c lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x00074180 move a1, s0 | a1 = s0;
0x00074184 addiu a0, sp, 0x26 | a0 = sp + 0x26;
0x00074188 sw t0, 0x18(sp) | *(var_18h) = t0;
0x0007418c sw a3, 0x1c(sp) | *(var_1ch) = a3;
0x00074190 sw a2, 0x20(sp) | *(var_10h) = a2;
0x00074194 sh v0, 0x24(sp) | *(var_24h) = v0;
0x00074198 jalr t9 | t9 ();
0x0007419c lw gp, 0x18(fp) | gp = *(var_18h);
0x000741a0 addiu s1, sp, 0x18 | s1 = sp + 0x18;
0x000741a4 move a1, zero | a1 = 0;
0x000741a8 lw t9, -0x6c00(gp) | t9 = sym.imp.access;
0x000741ac move a0, s1 | a0 = s1;
0x000741b0 jalr t9 | t9 ();
0x000741b4 lw gp, 0x18(fp) | gp = *(var_18h);
0x000741b8 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
| do {
0x000741bc lw a0, 0x24(fp) | a0 = *(var_24h);
0x000741c0 lw v1, (s2) | v1 = *(s2);
0x000741c4 lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
| if (a0 != v1) {
0x000741c8 bne a0, v1, 0x74220 | goto label_2;
| }
0x000741cc move sp, fp |
0x000741d0 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000741d4 lw fp, 0x38(sp) | fp = *(var_38h);
0x000741d8 lw s2, 0x34(sp) | s2 = *(var_34h);
0x000741dc lw s1, 0x30(sp) | s1 = *(var_30h);
0x000741e0 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x000741e4 addiu sp, sp, 0x40 |
0x000741e8 jr ra | return v0;
| label_0:
0x000741ec move v0, zero | v0 = 0;
0x000741f0 b 0x741bc |
| } while (1);
| label_1:
0x000741f4 lw v0, -0x7f58(gp) | v0 = *(gp);
0x000741f8 lw a2, -0x7f58(gp) | a2 = *(gp);
0x000741fc lw a1, -0x7f58(gp) | a1 = *(gp);
| /* str.ns_type_supported */
0x00074200 addiu v0, v0, 0x7464 | v0 += 0x7464;
0x00074204 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00074208 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0007420c addiu a3, zero, 0x721 | a3 = 0x721;
| /* esilref: 'src/core/namespace.c' */
0x00074210 addiu a2, a2, 0x6737 | a2 += 0x6737;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x00074214 addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x00074218 move a0, zero | a0 = 0;
0x0007421c jalr t9 | t9 ();
| label_2:
0x00074220 jalr t9 | t9 ();
0x00074224 nop |
0x00074228 lui gp, 0xf |
0x0007422c addiu gp, gp, -0x11c8 |
0x00074230 addu gp, gp, t9 | gp += t9;
0x00074234 sltiu v0, a0, 4 | v0 = (a0 < 4) ? 1 : 0;
0x00074238 sll a0, a0, 2 | a0 <<= 2;
| if (v0 != 0) {
0x0007423c beqz v0, 0x74250 |
0x00074240 lw v0, -0x7f80(gp) | v0 = *((gp - 8160));
| /* esilref: 'no' */
0x00074244 addiu v0, v0, -0x66a0 | v0 += -0x66a0;
0x00074248 lwx v0, a0(v0) | __asm ("lwx v0, a0(v0)");
0x0007424c jr ra | return v0;
| }
0x00074250 move v0, zero | v0 = 0;
0x00074254 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0x89b18 */
| #include <stdint.h>
|
; (fcn) fcn.00089b18 () | void fcn_00089b18 () {
0x00089b18 lui gp, 0xe |
0x00089b1c addiu gp, gp, -0x6ab8 |
0x00089b20 addu gp, gp, t9 | gp += t9;
0x00089b24 addiu sp, sp, -0x40 |
0x00089b28 sw s3, 0x34(sp) | *(var_34h) = s3;
0x00089b2c lw s3, -0x6f14(gp) | s3 = *((gp - 7109));
0x00089b30 sw fp, 0x38(sp) | *(var_38h) = fp;
0x00089b34 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00089b38 sw s2, 0x30(sp) | *(var_30h) = s2;
0x00089b3c sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x00089b40 sw s0, 0x28(sp) | *(var_28h) = s0;
0x00089b44 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00089b48 move fp, sp | fp = sp;
0x00089b4c lw v0, (s3) | v0 = *(s3);
0x00089b50 sw v0, 0x24(fp) | *(var_24h_5) = v0;
| if (a0 == 0) {
0x00089b54 beql a0, zero, 0x89c70 | goto label_0;
| }
0x00089b58 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x00089b5c lw s1, 0x6e4(a0) | s1 = *((a0 + 441));
0x00089b60 move s2, a0 | s2 = a0;
| if (s1 == 0) {
0x00089b64 beqz s1, 0x89c68 | goto label_1;
| }
0x00089b68 lw a1, -0x7fbc(gp) | a1 = *(gp);
0x00089b6c lw t9, -0x757c(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'lo' */
0x00089b70 addiu a1, a1, -0x33b4 | a1 += -0x33b4;
0x00089b74 move a0, s1 | a0 = s1;
0x00089b78 jalr t9 | t9 ();
0x00089b7c lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 == 0) {
0x00089b80 beqz v0, 0x89c34 | goto label_2;
| }
0x00089b84 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x00089b88 move a0, s1 | a0 = s1;
0x00089b8c jalr t9 | t9 ();
0x00089b90 lui a0, 0x40 | a0 = 0x400000;
| /* esilref: 'deficiencies.' */
0x00089b94 addiu v1, v0, 0x1c | v1 = v0 + 0x1c;
0x00089b98 addiu a0, a0, 1 | a0++;
0x00089b9c sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x00089ba0 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v1 == 0) {
0x00089ba4 beqz v1, 0x89c94 | goto label_3;
| }
0x00089ba8 lw a0, -0x7fbc(gp) | a0 = *(gp);
| /* esilref: 'ncies.' */
0x00089bac addiu v0, v0, 0x23 | v0 += 0x23;
| /* str._sys_subsystem_net_devices_ */
0x00089bb0 addiu v1, a0, -0x33b0 | v1 = a0 + -0x33b0;
0x00089bb4 srl v0, v0, 3 | v0 >>= 3;
0x00089bb8 sll v0, v0, 3 | v0 <<= 3;
0x00089bbc subu sp, sp, v0 |
0x00089bc0 lw t3, -0x33b0(a0) | t3 = *((a0 - 3308));
0x00089bc4 lw a3, 0x10(v1) | a3 = *((v1 + 4));
0x00089bc8 lw a2, 0x14(v1) | a2 = *((v1 + 5));
0x00089bcc lw t2, 4(v1) | t2 = *((v1 + 1));
0x00089bd0 lw t1, 8(v1) | t1 = *((v1 + 2));
0x00089bd4 lw t0, 0xc(v1) | t0 = *((v1 + 3));
0x00089bd8 lw v0, 0x18(v1) | v0 = *((v1 + 6));
0x00089bdc lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x00089be0 move a1, s1 | a1 = s1;
0x00089be4 addiu a0, sp, 0x33 | a0 = sp + 0x33;
0x00089be8 sw t3, 0x18(sp) | *(var_18h) = t3;
0x00089bec sw t2, 0x1c(sp) | *(var_1ch) = t2;
0x00089bf0 sw t1, 0x20(sp) | *(var_20h_2) = t1;
0x00089bf4 sw t0, 0x24(sp) | *(var_24h_5) = t0;
0x00089bf8 sw a3, 0x28(sp) | *(var_28h) = a3;
0x00089bfc sw a2, 0x2c(sp) | *(var_2ch) = a2;
0x00089c00 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00089c04 jalr t9 | t9 ();
0x00089c08 lw gp, 0x18(fp) | gp = *(var_18h);
0x00089c0c addiu v0, zero, 1 | v0 = 1;
0x00089c10 addiu s0, sp, 0x18 | s0 = sp + 0x18;
0x00089c14 lw t9, -0x7908(gp) | t9 = *(gp);
0x00089c18 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00089c1c addiu a3, zero, 3 | a3 = 3;
0x00089c20 move a2, zero | a2 = 0;
0x00089c24 move a1, s0 | a1 = s0;
0x00089c28 move a0, s2 | a0 = s2;
0x00089c2c bal 0xa237c | fcn_000a237c ();
0x00089c30 lw gp, 0x18(fp) | gp = *(var_18h);
| do {
| label_2:
0x00089c34 lw a0, 0x24(fp) | a0 = *(var_24h_5);
0x00089c38 lw v1, (s3) | v1 = *(s3);
0x00089c3c lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
| if (a0 != v1) {
0x00089c40 bne a0, v1, 0x89cc0 | goto label_4;
| }
0x00089c44 move sp, fp |
0x00089c48 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00089c4c lw fp, 0x38(sp) | fp = *(var_38h);
0x00089c50 lw s3, 0x34(sp) | s3 = *(var_34h);
0x00089c54 lw s2, 0x30(sp) | s2 = *(var_30h);
0x00089c58 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00089c5c lw s0, 0x28(sp) | s0 = *(var_28h);
0x00089c60 addiu sp, sp, 0x40 |
0x00089c64 jr ra | return v0;
| label_1:
0x00089c68 move v0, zero | v0 = 0;
0x00089c6c b 0x89c34 |
| } while (1);
| label_0:
0x00089c70 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x00089c74 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.socket_add_device_dependencies */
0x00089c78 addiu v0, v0, -0x2144 | v0 += -0x2144;
0x00089c7c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00089c80 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00089c84 addiu a3, zero, 0x122 | a3 = 0x122;
| /* esilref: 'src/core/socket.c' */
0x00089c88 addiu a2, a2, -0x38b5 | a2 += -0x38b5;
0x00089c8c addiu a1, a1, -0x80c | a1 += -0x80c;
0x00089c90 jalr t9 | t9 ();
| label_3:
0x00089c94 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x00089c98 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x00089c9c lw a1, -0x7f58(gp) | a1 = *(gp);
| /* str.socket_add_device_dependencies */
0x00089ca0 addiu v0, v0, -0x2144 | v0 += -0x2144;
0x00089ca4 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00089ca8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00089cac addiu a3, zero, 0x127 | a3 = 0x127;
| /* esilref: 'src/core/socket.c' */
0x00089cb0 addiu a2, a2, -0x38b5 | a2 += -0x38b5;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x00089cb4 addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x00089cb8 move a0, zero | a0 = 0;
0x00089cbc jalr t9 | t9 ();
| label_4:
0x00089cc0 jalr t9 | t9 ();
0x00089cc4 nop |
0x00089cc8 lui gp, 0xe |
0x00089ccc addiu gp, gp, -0x6c68 |
0x00089cd0 addu gp, gp, t9 | gp += t9;
0x00089cd4 addiu v0, zero, 3 | v0 = 3;
| if (a0 != 0) {
0x00089cd8 beqz a0, 0x89cf0 |
0x00089cdc lw v1, 4(a0) | v1 = *((a0 + 1));
0x00089ce0 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v1 == v0) {
0x00089ce4 bnel v1, v0, 0x89cf4 | goto label_5;
| }
0x00089ce8 lw v0, 0x6a0(a0) | v0 = *((a0 + 424));
0x00089cec jr ra | return v0;
| }
0x00089cf0 lw v0, -0x7fbc(gp) | v0 = *(gp);
| label_5:
0x00089cf4 addiu sp, sp, -0x28 |
0x00089cf8 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x00089cfc lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.socket_control_pid */
0x00089d00 addiu v0, v0, -0x1afc | v0 += -0x1afc;
0x00089d04 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00089d08 addiu a3, zero, 0xcd9 | a3 = 0xcd9;
0x00089d0c sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00089d10 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00089d14 sw v0, 0x10(sp) | *(var_10h_2) = v0;
| /* esilref: 'src/core/socket.c' */
0x00089d18 addiu a2, a2, -0x38b5 | a2 += -0x38b5;
0x00089d1c addiu a1, a1, -0x80c | a1 += -0x80c;
0x00089d20 move a0, zero | a0 = 0;
0x00089d24 jalr t9 | t9 ();
0x00089d28 lui gp, 0xe |
0x00089d2c addiu gp, gp, -0x6cc8 |
0x00089d30 addu gp, gp, t9 | gp += t9;
0x00089d34 move v0, a0 | v0 = a0;
| if (a0 != 0) {
0x00089d38 beqz a0, 0x89d58 |
0x00089d3c lw a0, 4(a0) | a0 = *((a0 + 1));
0x00089d40 addiu v1, zero, 3 | v1 = 3;
| if (a0 != v1) {
0x00089d44 bne a0, v1, 0x89d8c | goto label_6;
| }
0x00089d48 nop |
0x00089d4c lw v0, 0x35c(v0) | v0 = *(v0);
0x00089d50 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x00089d54 jr ra | return v0;
| }
0x00089d58 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x00089d5c addiu sp, sp, -0x28 |
0x00089d60 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x00089d64 lw a1, -0x7fbc(gp) | a1 = *(gp);
| /* str.socket_may_gc */
0x00089d68 addiu v0, v0, -0x1f98 | v0 += -0x1f98;
0x00089d6c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00089d70 addiu a3, zero, 0xb20 | a3 = 0xb20;
0x00089d74 sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x00089d78 sw ra, 0x24(sp) | *(var_24h_2) = ra;
0x00089d7c sw v0, 0x10(sp) | *(var_10h_3) = v0;
| /* esilref: 'src/core/socket.c' */
0x00089d80 addiu a2, a2, -0x38b5 | a2 += -0x38b5;
0x00089d84 addiu a1, a1, 0x7d4 | a1 += 0x7d4;
0x00089d88 jalr t9 | t9 ();
| label_6:
0x00089d8c lw v0, 0x35c(zero) | v0 = *(zero);
0x00089d90 teq zero, zero | __asm ("teq zero, zero");
0x00089d94 lui gp, 0xe |
0x00089d98 addiu gp, gp, -0x6d34 |
0x00089d9c addu gp, gp, t9 | gp += t9;
0x00089da0 addiu sp, sp, -0x28 |
0x00089da4 sw gp, 0x18(sp) | *(var_18h_4) = gp;
0x00089da8 sw ra, 0x24(sp) | *(var_24h_3) = ra;
0x00089dac move v0, a0 | v0 = a0;
| if (a0 != 0) {
0x00089db0 beqz a0, 0x89de0 |
0x00089db4 lw a0, 4(a0) | a0 = *((a0 + 1));
0x00089db8 addiu v1, zero, 3 | v1 = 3;
0x00089dbc lw ra, 0x24(sp) | ra = *(var_24h_3);
| if (a0 != v1) {
0x00089dc0 bne a0, v1, 0x89e08 | goto label_7;
| }
0x00089dc4 lw v1, 0x68c(v0) | v1 = *((v0 + 419));
0x00089dc8 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x00089dcc sll v1, v1, 2 | v1 <<= 2;
0x00089dd0 addiu v0, v0, -0x1900 | v0 += -0x1900;
0x00089dd4 addiu sp, sp, 0x28 |
0x00089dd8 lwx v0, v1(v0) | __asm ("lwx v0, v1(v0)");
0x00089ddc jr ra | return v0;
| }
0x00089de0 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x00089de4 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x00089de8 lw a1, -0x7fbc(gp) | a1 = *(gp);
| /* str.socket_active_state */
0x00089dec addiu v0, v0, -0x1fc8 | v0 += -aav.0x00001fc8;
0x00089df0 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00089df4 sw v0, 0x10(sp) | *(var_10h_4) = v0;
0x00089df8 addiu a3, zero, 0xad4 | a3 = 0xad4;
| /* esilref: 'src/core/socket.c' */
0x00089dfc addiu a2, a2, -0x38b5 | a2 += -0x38b5;
0x00089e00 addiu a1, a1, 0x7d4 | a1 += 0x7d4;
0x00089e04 jalr t9 | t9 ();
| label_7:
0x00089e08 lw v0, 0x68c(zero) | v0 = *((zero + 419));
0x00089e0c teq zero, zero | __asm ("teq zero, zero");
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0xa6bc8 */
| #include <stdint.h>
|
; (fcn) fcn.000a6bc8 () | void fcn_000a6bc8 () {
0x000a6bc8 lui gp, 0xc |
0x000a6bcc addiu gp, gp, -0x3b68 |
0x000a6bd0 addu gp, gp, t9 | gp += t9;
0x000a6bd4 addiu sp, sp, -0x78 |
0x000a6bd8 sw s1, 0x54(sp) | *(var_54h) = s1;
0x000a6bdc lw s1, -0x6f14(gp) | s1 = *((gp - 7109));
0x000a6be0 sw fp, 0x70(sp) | *(var_70h) = fp;
0x000a6be4 sw ra, 0x74(sp) | *(var_74h) = ra;
0x000a6be8 sw s7, 0x6c(sp) | *(var_6ch) = s7;
0x000a6bec sw s6, 0x68(sp) | *(var_68h) = s6;
0x000a6bf0 sw s5, 0x64(sp) | *(var_64h) = s5;
0x000a6bf4 sw s4, 0x60(sp) | *(var_60h) = s4;
0x000a6bf8 sw s3, 0x5c(sp) | *(var_5ch) = s3;
0x000a6bfc sw s2, 0x58(sp) | *(var_58h) = s2;
0x000a6c00 sw s0, 0x50(sp) | *(var_50h) = s0;
0x000a6c04 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000a6c08 move fp, sp | fp = sp;
0x000a6c0c lw v0, (s1) | v0 = *(s1);
0x000a6c10 sw zero, 0x30(fp) | *(var_30h) = 0;
0x000a6c14 sw v0, 0x4c(fp) | *(var_4ch) = v0;
0x000a6c18 sw zero, 0x34(fp) | *(var_34h) = 0;
0x000a6c1c sw zero, 0x38(fp) | *(var_38h) = 0;
| if (a0 == 0) {
0x000a6c20 beqz a0, 0xa7184 | goto label_7;
| }
0x000a6c24 move s3, a2 | s3 = a2;
| if (a2 == 0) {
0x000a6c28 beqz a2, 0xa71ac | goto label_8;
| }
0x000a6c2c andi v0, a1, 3 | v0 = a1 & 3;
| if (a3 == 0) {
0x000a6c30 beqz a3, 0xa71d8 | goto label_9;
| }
0x000a6c34 move s2, a1 | s2 = a1;
| if (v0 == 0) {
0x000a6c38 bnez v0, 0xa6cb8 |
0x000a6c3c move a0, zero | a0 = 0;
0x000a6c40 move s2, zero | s2 = 0;
| label_0:
0x000a6c44 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000a6c48 jalr t9 | t9 ();
0x000a6c4c nop |
0x000a6c50 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a6c54 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000a6c58 lw a0, 0x34(fp) | a0 = *(var_34h);
0x000a6c5c jalr t9 | t9 ();
0x000a6c60 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a6c64 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000a6c68 lw a0, 0x30(fp) | a0 = *(var_30h);
0x000a6c6c jalr t9 | t9 ();
0x000a6c70 lw a0, 0x4c(fp) | a0 = *(var_4ch);
0x000a6c74 lw v1, (s1) | v1 = *(s1);
0x000a6c78 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a6c7c move v0, s2 | v0 = s2;
| if (a0 != v1) {
0x000a6c80 bne a0, v1, 0xa72e0 | goto label_10;
| }
0x000a6c84 move sp, fp |
0x000a6c88 lw ra, 0x74(sp) | ra = *(var_74h);
0x000a6c8c lw fp, 0x70(sp) | fp = *(var_70h);
0x000a6c90 lw s7, 0x6c(sp) | s7 = *(var_6ch);
0x000a6c94 lw s6, 0x68(sp) | s6 = *(var_68h);
0x000a6c98 lw s5, 0x64(sp) | s5 = *(var_64h);
0x000a6c9c lw s4, 0x60(sp) | s4 = *(var_60h);
0x000a6ca0 lw s3, 0x5c(sp) | s3 = *(var_5ch);
0x000a6ca4 lw s2, 0x58(sp) | s2 = *(var_58h);
0x000a6ca8 lw s1, 0x54(sp) | s1 = *(var_54h);
0x000a6cac lw s0, 0x50(sp) | s0 = *(var_50h);
0x000a6cb0 addiu sp, sp, 0x78 |
0x000a6cb4 jr ra | return v0;
| }
0x000a6cb8 lw t9, -0x788c(gp) | t9 = *(gp);
0x000a6cbc move s0, a0 | s0 = a0;
0x000a6cc0 addiu a2, fp, 0x38 | a2 = fp + 0x38;
0x000a6cc4 move a0, a3 | a0 = a3;
0x000a6cc8 bal 0xa6858 | fcn_000a6858 ();
0x000a6ccc move s4, v0 | s4 = v0;
0x000a6cd0 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 == 0) {
0x000a6cd4 beqz v0, 0xa72d4 | goto label_11;
| }
0x000a6cd8 andi v0, s2, 4 | v0 = s2 & 4;
0x000a6cdc sw v0, 0x2c(fp) | *(var_2ch) = v0;
| if (v0 == 0) {
0x000a6ce0 beqz v0, 0xa6e30 | goto label_12;
| }
0x000a6ce4 lw v0, 4(s0) | v0 = *((s0 + 1));
0x000a6ce8 sll v1, v0, 2 | v1 = v0 << 2;
0x000a6cec lw v0, -0x7e58(gp) | v0 = *((gp - 8086));
0x000a6cf0 lwx v0, v1(v0) | __asm ("lwx v0, v1(v0)");
0x000a6cf4 lw v0, 0x18(v0) | v0 = *((v0 + 6));
| if (v0 == 0) {
0x000a6cf8 beql v0, zero, 0xa7240 | goto label_13;
| }
0x000a6cfc lw a0, 0x38(fp) | a0 = *(var_38h);
0x000a6d00 lw s7, 0xa8(s0) | s7 = *((s0 + 42));
| if (s7 == 0) {
0x000a6d04 beql s7, zero, 0xa70c0 | goto label_14;
| }
0x000a6d08 sw v0, 0x40(fp) | *(var_40h) = v0;
0x000a6d0c lw v1, 0x34c(s0) | v1 = *(s0);
0x000a6d10 sll v1, v1, 0xe | v1 <<= 0xe;
| if (v1 < 0) {
0x000a6d14 bltzl v1, 0xa70c0 | goto label_14;
| }
0x000a6d18 sw v0, 0x40(fp) | *(var_40h) = v0;
0x000a6d1c lbu v1, 0x34e(s0) | v1 = *((s0 + 846));
0x000a6d20 andi v1, v1, 3 | v1 &= 3;
0x000a6d24 lw t9, -0x664c(gp) | t9 = sym.imp.fputs;
| if (v1 != 0) {
0x000a6d28 bnez v1, 0xa6de4 | goto label_15;
| }
0x000a6d2c lw s3, -0x7fbc(gp) | s3 = *(gp);
0x000a6d30 sw v0, 0x40(fp) | *(var_40h) = v0;
0x000a6d34 lw v0, -0x7fbc(gp) | v0 = *(gp);
| /* esilref: '
[' */
0x000a6d38 addiu s6, s3, 0x13a0 | s6 = s3 + 0x13a0;
| /* esilref: ']
' */
0x000a6d3c addiu v0, v0, 0x1420 | v0 += 0x1420;
0x000a6d40 addiu s3, fp, 0x3c | s3 = fp + 0x3c;
0x000a6d44 sw v0, 0x44(fp) | *(var_44h) = v0;
0x000a6d48 sw s4, 0x48(fp) | *(var_48h) = s4;
0x000a6d4c addiu v0, zero, 2 | v0 = 2;
0x000a6d50 move s2, zero | s2 = 0;
0x000a6d54 addiu s5, fp, 0x48 | s5 = fp + 0x48;
0x000a6d58 move s4, s3 | s4 = s3;
0x000a6d5c sw s6, 0x3c(fp) | *(var_3ch) = s6;
0x000a6d60 addu s2, s2, v0 | s2 += v0;
| if (s5 == s4) {
0x000a6d64 beq s5, s4, 0xa6d8c | goto label_16;
| }
| do {
0x000a6d68 addiu s4, s4, 4 | s4 += 4;
0x000a6d6c lw a0, (s4) | a0 = *(s4);
0x000a6d70 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (a0 == 0) {
0x000a6d74 beqz a0, 0xa6d8c | goto label_16;
| }
0x000a6d78 jalr t9 | t9 ();
0x000a6d7c nop |
0x000a6d80 addu s2, s2, v0 | s2 += v0;
0x000a6d84 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a6d88 bne s5, s4, 0xa6d68 |
| } while (s5 != s4);
| label_16:
0x000a6d8c lui a0, 0x40 | a0 = 0x400000;
0x000a6d90 addiu v0, s2, 1 | v0 = s2 + 1;
0x000a6d94 addiu a0, a0, 1 | a0++;
0x000a6d98 sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x000a6d9c addiu v0, s2, 8 | v0 = s2 + 8;
| if (v0 == 0) {
0x000a6da0 beqz v0, 0xa72a4 | goto label_17;
| }
0x000a6da4 srl v0, v0, 3 | v0 >>= 3;
0x000a6da8 sll v0, v0, 3 | v0 <<= 3;
0x000a6dac subu sp, sp, v0 |
0x000a6db0 addiu s4, sp, 0x18 | s4 = sp + 0x18;
0x000a6db4 move v0, s4 | v0 = s4;
0x000a6db8 move a1, s6 | a1 = s6;
0x000a6dbc lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
| do {
0x000a6dc0 move a0, v0 | a0 = v0;
0x000a6dc4 jalr t9 | t9 ();
0x000a6dc8 lw gp, 0x18(fp) | gp = *(var_18h);
| if (s3 == s5) {
0x000a6dcc beq s3, s5, 0xa6de0 | goto label_1;
| }
0x000a6dd0 addiu s3, s3, 4 | s3 += 4;
0x000a6dd4 lw a1, (s3) | a1 = *(s3);
0x000a6dd8 lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x000a6ddc bnez a1, 0xa6dc0 |
| } while (a1 != 0);
| label_1:
0x000a6de0 lw t9, -0x664c(gp) | t9 = sym.imp.fputs;
| do {
| label_15:
0x000a6de4 move a1, s7 | a1 = s7;
0x000a6de8 move a0, s4 | a0 = s4;
0x000a6dec jalr t9 | t9 ();
0x000a6df0 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a6df4 move a0, s4 | a0 = s4;
0x000a6df8 lw a1, -0x7fd8(gp) | a1 = sym.imp.log_target_to_string;
0x000a6dfc lw t9, -0x7190(gp) | t9 = sym.imp.endswith;
0x000a6e00 addiu a1, a1, 0x4288 | a1 += 0x4288;
0x000a6e04 jalr t9 | t9 ();
0x000a6e08 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 == 0) {
0x000a6e0c beqz v0, 0xa7224 | goto label_18;
| }
| label_5:
0x000a6e10 lw v1, 0x2c(fp) | v1 = *(var_2ch);
0x000a6e14 lbu v0, 0x34e(s0) | v0 = *((s0 + 846));
0x000a6e18 sltu s6, zero, v1 | s6 = (0 < v1) ? 1 : 0;
0x000a6e1c ins v0, s6, 0, 2 | __asm ("ins v0, s6, 0, 2");
0x000a6e20 sb v0, 0x34e(s0) | *((s0 + 846)) = v0;
0x000a6e24 lw a0, 0x38(fp) | a0 = *(var_38h);
0x000a6e28 move s2, zero | s2 = 0;
0x000a6e2c b 0xa6c44 | goto label_0;
| label_12:
0x000a6e30 lw s7, 0xa8(s0) | s7 = *((s0 + 42));
0x000a6e34 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (s7 == 0) {
0x000a6e38 beqz s7, 0xa6ec8 | goto label_19;
| }
0x000a6e3c lw v0, 0x34c(s0) | v0 = *(s0);
0x000a6e40 sll v0, v0, 0xe | v0 <<= 0xe;
0x000a6e44 addiu v1, zero, 1 | v1 = 1;
| if (v0 < 0) {
0x000a6e48 bltz v0, 0xa6ec8 | goto label_19;
| }
0x000a6e4c lbu v0, 0x34e(s0) | v0 = *((s0 + 846));
0x000a6e50 andi v0, v0, 3 | v0 &= 3;
0x000a6e54 lw t9, -0x664c(gp) | t9 = sym.imp.fputs;
0x000a6e58 bne v0, v1, 0xa6de4 |
| } while (v0 != v1);
0x000a6e5c lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x000a6e60 move a0, s4 | a0 = s4;
0x000a6e64 jalr t9 | t9 ();
0x000a6e68 lui v1, 0x40 | v1 = 0x400000;
0x000a6e6c addiu v0, v0, 9 | v0 += 9;
0x000a6e70 addiu v1, v1, 1 | v1++;
0x000a6e74 sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
0x000a6e78 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v1 == 0) {
0x000a6e7c beqz v1, 0xa72bc | goto label_20;
| }
0x000a6e80 lw v1, -0x7fbc(gp) | v1 = *(gp);
0x000a6e84 addiu v0, v0, 7 | v0 += 7;
| /* str._n_Unit__n */
0x000a6e88 addiu a0, v1, 0x142c | a0 = v1 + 0x142c;
0x000a6e8c srl v0, v0, 3 | v0 >>= 3;
0x000a6e90 sll v0, v0, 3 | v0 <<= 3;
0x000a6e94 subu sp, sp, v0 |
0x000a6e98 lw v1, 0x142c(v1) | v1 = *((v1 + 1291));
0x000a6e9c lw v0, 4(a0) | v0 = *((a0 + 1));
0x000a6ea0 lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x000a6ea4 move a1, s4 | a1 = s4;
0x000a6ea8 addiu s2, sp, 0x18 | s2 = sp + 0x18;
0x000a6eac sw v1, 0x18(sp) | *(var_18h) = v1;
0x000a6eb0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000a6eb4 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x000a6eb8 jalr t9 | t9 ();
0x000a6ebc move s4, s2 | s4 = s2;
0x000a6ec0 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a6ec4 b 0xa6de0 | goto label_1;
| label_19:
0x000a6ec8 move a0, s4 | a0 = s4;
0x000a6ecc jalr t9 | t9 ();
0x000a6ed0 lui a0, 0x40 | a0 = 0x400000;
0x000a6ed4 addiu v1, v0, 8 | v1 = v0 + 8;
0x000a6ed8 addiu a0, a0, 1 | a0++;
0x000a6edc sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000a6ee0 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v1 == 0) {
0x000a6ee4 beqz v1, 0xa728c | goto label_21;
| }
0x000a6ee8 lw a0, -0x7fbc(gp) | a0 = *(gp);
0x000a6eec addiu v0, v0, 0xf | v0 += 0xf;
0x000a6ef0 srl v0, v0, 3 | v0 >>= 3;
| /* str._Unit__n */
0x000a6ef4 addiu a1, a0, 0x1424 | a1 = a0 + 0x1424;
0x000a6ef8 sll v0, v0, 3 | v0 <<= 3;
0x000a6efc subu sp, sp, v0 |
0x000a6f00 addiu s5, sp, 0x18 | s5 = sp + 0x18;
0x000a6f04 lw a0, 0x1424(a0) | a0 = *((a0 + 1289));
0x000a6f08 lw v0, 4(a1) | v0 = *((a1 + 1));
0x000a6f0c lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x000a6f10 sw a0, (s5) | *(s5) = a0;
0x000a6f14 sw v0, 4(s5) | *(var_4h) = v0;
0x000a6f18 move a1, s4 | a1 = s4;
0x000a6f1c addiu a0, s5, 7 | a0 = s5 + 7;
0x000a6f20 jalr t9 | t9 ();
0x000a6f24 lw gp, 0x18(fp) | gp = *(var_18h);
| label_2:
0x000a6f28 move s4, s5 | s4 = s5;
| if (s7 != 0) {
0x000a6f2c bnez s7, 0xa6de0 | goto label_1;
| }
0x000a6f30 lbu v0, 0x349(s0) | v0 = *((s0 + 841));
0x000a6f34 andi v0, s2, 2 | v0 = s2 & 2;
| if (v0 != 0) {
0x000a6f38 bnez v0, 0xa7218 | goto label_22;
| }
0x000a6f3c andi s2, s2, 1 | s2 &= 1;
| if (v0 != 0) {
0x000a6f40 bnez v0, 0xa7204 | goto label_23;
| }
| if (s2 == 0) {
0x000a6f44 beql s2, zero, 0xa7240 | goto label_13;
| }
0x000a6f48 lw a0, 0x38(fp) | a0 = *(var_38h);
0x000a6f4c lw v0, (s0) | v0 = *(s0);
0x000a6f50 lw s4, 0xe8(v0) | s4 = *((v0 + 58));
| label_4:
0x000a6f54 lw a1, -0x7fbc(gp) | a1 = *(gp);
| if (s4 == 0) {
0x000a6f58 beqz s4, 0xa723c | goto label_24;
| }
0x000a6f5c lw v0, -0x7fd8(gp) | v0 = sym.imp.log_target_to_string;
0x000a6f60 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| /* str._This_is_a_drop_in_unit_file_extension__created_via__systemctl_set_property__n_or_an_equivalent_operation._Do_not_edit._n */
0x000a6f64 addiu s2, a1, 0x13a4 | s2 = a1 + 0x13a4;
0x000a6f68 addiu v0, v0, 0x4288 | v0 += 0x4288;
0x000a6f6c move a0, s5 | a0 = s5;
0x000a6f70 sw s2, 0x3c(fp) | *(var_3ch) = s2;
0x000a6f74 sw s5, 0x40(fp) | *(var_40h) = s5;
0x000a6f78 sw v0, 0x44(fp) | *(var_44h) = v0;
0x000a6f7c jalr t9 | t9 ();
0x000a6f80 lui a0, 0x40 | a0 = 0x400000;
0x000a6f84 addiu v1, v0, 0x7b | v1 = v0 + 0x7b;
0x000a6f88 addiu a0, a0, 1 | a0++;
0x000a6f8c sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000a6f90 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v1 == 0) {
0x000a6f94 beqz v1, 0xa7248 | goto label_25;
| }
0x000a6f98 addiu v0, v0, 0x82 | v0 += 0x82;
0x000a6f9c srl v0, v0, 3 | v0 >>= 3;
0x000a6fa0 sll v0, v0, 3 | v0 <<= 3;
0x000a6fa4 subu sp, sp, v0 |
0x000a6fa8 addiu s5, sp, 0x18 | s5 = sp + 0x18;
0x000a6fac addiu s7, fp, 0x3c | s7 = fp + 0x3c;
0x000a6fb0 addiu s6, fp, 0x44 | s6 = fp + 0x44;
0x000a6fb4 move v0, s5 | v0 = s5;
0x000a6fb8 move a1, s2 | a1 = s2;
0x000a6fbc lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
| do {
0x000a6fc0 move a0, v0 | a0 = v0;
0x000a6fc4 jalr t9 | t9 ();
0x000a6fc8 lw gp, 0x18(fp) | gp = *(var_18h);
| if (s6 == s7) {
0x000a6fcc beq s6, s7, 0xa6fe0 | goto label_26;
| }
0x000a6fd0 addiu s7, s7, 4 | s7 += 4;
0x000a6fd4 lw a1, (s7) | a1 = *(s7);
0x000a6fd8 lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x000a6fdc bnez a1, 0xa6fc0 |
| } while (a1 != 0);
| label_26:
0x000a6fe0 addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x000a6fe4 lw t9, -0x6b00(gp) | t9 = sym.imp.drop_in_file;
0x000a6fe8 lw a1, 0x10(s0) | a1 = *((s0 + 4));
0x000a6fec sw v0, 0x14(sp) | *(var_14h) = v0;
0x000a6ff0 addiu v0, fp, 0x30 | v0 = fp + 0x30;
0x000a6ff4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a6ff8 move a3, s3 | a3 = s3;
0x000a6ffc addiu a2, zero, 0x32 | a2 = 0x32;
0x000a7000 move a0, s4 | a0 = s4;
0x000a7004 jalr t9 | t9 ();
0x000a7008 move s2, v0 | s2 = v0;
0x000a700c lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 < 0) {
0x000a7010 bltz v0, 0xa7210 | goto label_27;
| }
0x000a7014 lw t9, -0x6f70(gp) | t9 = sym.imp.mkdir_p_label;
0x000a7018 lw a0, 0x30(fp) | a0 = *(var_30h);
0x000a701c addiu a1, zero, 0x1ed | a1 = 0x1ed;
0x000a7020 jalr t9 | t9 ();
0x000a7024 lw v0, (s0) | v0 = *(s0);
0x000a7028 lw a0, 0xfc(v0) | a0 = *((v0 + 63));
0x000a702c lw gp, 0x18(fp) | gp = *(var_18h);
| if (a0 != 0) {
0x000a7030 beqz a0, 0xa704c |
0x000a7034 lw t9, -0x6fc0(gp) | t9 = sym.imp.set_put_strdup;
0x000a7038 lw a1, 0x30(fp) | a1 = *(var_30h);
0x000a703c jalr t9 | t9 ();
0x000a7040 move s2, v0 | s2 = v0;
0x000a7044 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 < 0) {
0x000a7048 bltz v0, 0xa7210 | goto label_27;
| }
| }
0x000a704c lw t9, -0x6a5c(gp) | t9 = sym.imp.write_string_file_atomic_label_ts;
0x000a7050 lw a0, 0x34(fp) | a0 = *(var_34h);
0x000a7054 move a2, zero | a2 = 0;
0x000a7058 move a1, s5 | a1 = s5;
0x000a705c jalr t9 | t9 ();
0x000a7060 move s2, v0 | s2 = v0;
0x000a7064 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 < 0) {
0x000a7068 bltz v0, 0xa7210 | goto label_27;
| }
0x000a706c lw t9, -0x6884(gp) | t9 = sym.imp.strv_push;
0x000a7070 lw a1, 0x34(fp) | a1 = *(var_34h);
0x000a7074 addiu a0, s0, 0x88 | a0 = s0 + 0x88;
0x000a7078 jalr t9 | t9 ();
0x000a707c move s2, v0 | s2 = v0;
0x000a7080 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 < 0) {
0x000a7084 bltz v0, 0xa7210 | goto label_27;
| }
0x000a7088 lw t9, -0x73bc(gp) | t9 = sym.imp.strv_uniq;
0x000a708c lw a0, 0x88(s0) | a0 = *((s0 + 34));
0x000a7090 sw zero, 0x34(fp) | *(var_34h) = 0;
0x000a7094 jalr t9 | t9 ();
0x000a7098 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a709c move a0, zero | a0 = 0;
0x000a70a0 lw t9, -0x717c(gp) | t9 = sym.imp.now;
0x000a70a4 move s2, zero | s2 = 0;
0x000a70a8 jalr t9 | t9 ();
0x000a70ac lw gp, 0x18(fp) | gp = *(var_18h);
0x000a70b0 sw v0, 0xa0(s0) | *((s0 + 40)) = v0;
0x000a70b4 sw v1, 0xa4(s0) | *((s0 + 41)) = v1;
0x000a70b8 lw a0, 0x38(fp) | a0 = *(var_38h);
0x000a70bc b 0xa6c44 | goto label_0;
| label_14:
0x000a70c0 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a70c4 lw s5, -0x7fbc(gp) | s5 = *(gp);
| /* esilref: ']
' */
0x000a70c8 addiu v0, v0, 0x1420 | v0 += 0x1420;
0x000a70cc addiu s6, fp, 0x3c | s6 = fp + 0x3c;
0x000a70d0 addiu v1, s5, -0x4114 | v1 = s5 + -0x4114;
0x000a70d4 sw v0, 0x44(fp) | *(var_44h) = v0;
0x000a70d8 sw s4, 0x48(fp) | *(var_48h) = s4;
0x000a70dc addiu v0, zero, 1 | v0 = 1;
0x000a70e0 move s5, zero | s5 = 0;
0x000a70e4 addiu s4, fp, 0x48 | s4 = fp + 0x48;
0x000a70e8 move a1, s6 | a1 = s6;
0x000a70ec sw v1, 0x24(fp) | *(var_24h) = v1;
0x000a70f0 sw v1, 0x3c(fp) | *(var_3ch) = v1;
0x000a70f4 addu s5, s5, v0 | s5 += v0;
| if (s4 == a1) {
0x000a70f8 beq s4, a1, 0xa7128 | goto label_28;
| }
| do {
0x000a70fc lw a0, 4(a1) | a0 = *(var_40h);
0x000a7100 addiu a1, a1, 4 | a1 += 4;
0x000a7104 sw a1, 0x28(fp) | *(var_28h) = a1;
| if (a0 == 0) {
0x000a7108 beqz a0, 0xa7128 | goto label_28;
| }
0x000a710c lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x000a7110 jalr t9 | t9 ();
0x000a7114 nop |
0x000a7118 lw a1, 0x28(fp) | a1 = *(var_28h);
0x000a711c lw gp, 0x18(fp) | gp = *(var_18h);
0x000a7120 addu s5, s5, v0 | s5 += v0;
0x000a7124 bne s4, a1, 0xa70fc |
| } while (s4 != a1);
| label_28:
0x000a7128 lui a0, 0x40 | a0 = 0x400000;
0x000a712c addiu v0, s5, 1 | v0 = s5 + 1;
0x000a7130 addiu a0, a0, 1 | a0++;
0x000a7134 sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x000a7138 addiu v1, s5, 8 | v1 = s5 + 8;
| if (v0 == 0) {
0x000a713c beqz v0, 0xa7274 | goto label_29;
| }
0x000a7140 srl v1, v1, 3 | v1 >>= 3;
0x000a7144 sll v1, v1, 3 | v1 <<= 3;
0x000a7148 subu sp, sp, v1 |
0x000a714c addiu s5, sp, 0x18 | s5 = sp + 0x18;
0x000a7150 lw a1, 0x24(fp) | a1 = *(var_24h);
0x000a7154 move v0, s5 | v0 = s5;
0x000a7158 lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
| label_3:
0x000a715c move a0, v0 | a0 = v0;
0x000a7160 jalr t9 | t9 ();
0x000a7164 lw gp, 0x18(fp) | gp = *(var_18h);
| if (s4 == s6) {
0x000a7168 beq s4, s6, 0xa6f28 | goto label_2;
| }
0x000a716c addiu s6, s6, 4 | s6 += 4;
0x000a7170 lw a1, (s6) | a1 = *(s6);
0x000a7174 lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
| if (a1 != 0) {
0x000a7178 bnez a1, 0xa715c | goto label_3;
| }
0x000a717c b 0xa6f28 | goto label_2;
0x000a7180 nop |
| label_7:
0x000a7184 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a7188 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x000a718c lw a1, -0x7fbc(gp) | a1 = *(gp);
| /* str.unit_write_setting */
0x000a7190 addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a7194 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000a7198 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a719c addiu a3, zero, 0x11ad | a3 = 0x11ad;
| /* esilref: 'src/core/unit.c' */
0x000a71a0 addiu a2, a2, -0x4b1 | a2 += -0x4b1;
0x000a71a4 addiu a1, a1, 0x7d4 | a1 += 0x7d4;
0x000a71a8 jalr t9 | t9 ();
| label_8:
0x000a71ac lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a71b0 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x000a71b4 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.unit_write_setting */
0x000a71b8 addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a71bc lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000a71c0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a71c4 addiu a3, zero, 0x11ae | a3 = 0x11ae;
| /* esilref: 'src/core/unit.c' */
0x000a71c8 addiu a2, a2, -0x4b1 | a2 += -0x4b1;
| /* esilref: 'name' */
0x000a71cc addiu a1, a1, 0x2c40 | a1 += 0x2c40;
0x000a71d0 move a0, zero | a0 = 0;
0x000a71d4 jalr t9 | t9 ();
| label_9:
0x000a71d8 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a71dc lw a2, -0x7fbc(gp) | a2 = *(gp);
0x000a71e0 lw a1, -0x7fd8(gp) | a1 = sym.imp.log_target_to_string;
| /* str.unit_write_setting */
0x000a71e4 addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a71e8 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000a71ec sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a71f0 addiu a3, zero, 0x11af | a3 = 0x11af;
| /* esilref: 'src/core/unit.c' */
0x000a71f4 addiu a2, a2, -0x4b1 | a2 += -0x4b1;
| /* str.data */
0x000a71f8 addiu a1, a1, 0x5cac | a1 += 0x5cac;
0x000a71fc move a0, zero | a0 = 0;
0x000a7200 jalr t9 | t9 ();
| label_23:
0x000a7204 lw v0, (s0) | v0 = *(s0);
0x000a7208 lw s4, 0xe4(v0) | s4 = *((v0 + 57));
0x000a720c b 0xa6f54 | goto label_4;
| label_27:
0x000a7210 lw a0, 0x38(fp) | a0 = *(var_38h);
0x000a7214 b 0xa6c44 | goto label_0;
| label_22:
0x000a7218 lw v0, (s0) | v0 = *(s0);
0x000a721c lw s4, 0xe0(v0) | s4 = *((v0 + 56));
0x000a7220 b 0xa6f54 | goto label_4;
| label_18:
0x000a7224 lw t9, -0x7174(gp) | t9 = sym.imp.fputc;
0x000a7228 lw a1, 0xa8(s0) | a1 = *((s0 + 42));
0x000a722c addiu a0, zero, 0xa | a0 = 0xa;
0x000a7230 jalr t9 | t9 ();
0x000a7234 lw gp, 0x18(fp) | gp = *(var_18h);
0x000a7238 b 0xa6e10 | goto label_5;
| label_24:
0x000a723c lw a0, 0x38(fp) | a0 = *(var_38h);
| label_13:
0x000a7240 addiu s2, zero, -0x16 | s2 = -0x16;
0x000a7244 b 0xa6c44 | goto label_0;
| label_25:
0x000a7248 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a724c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_write_setting */
0x000a7250 addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a7254 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a7258 addiu a3, zero, 0x11de | a3 = 0x11de;
| do {
| label_6:
0x000a725c lw a2, -0x7fbc(gp) | a2 = *(gp);
0x000a7260 lw a1, -0x7f58(gp) | a1 = *(gp);
| /* esilref: 'src/core/unit.c' */
0x000a7264 addiu a2, a2, -0x4b1 | a2 += -0x4b1;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x000a7268 addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x000a726c move a0, zero | a0 = 0;
0x000a7270 jalr t9 | t9 ();
| label_29:
0x000a7274 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a7278 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_write_setting */
0x000a727c addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a7280 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a7284 addiu a3, zero, 0x11c0 | a3 = 0x11c0;
0x000a7288 b 0xa725c |
| } while (1);
| label_21:
0x000a728c lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a7290 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_write_setting */
0x000a7294 addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a7298 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a729c addiu a3, zero, 0x11c5 | a3 = 0x11c5;
0x000a72a0 b 0xa725c | goto label_6;
| label_17:
0x000a72a4 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a72a8 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_write_setting */
0x000a72ac addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a72b0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a72b4 addiu a3, zero, 0x11c2 | a3 = 0x11c2;
0x000a72b8 b 0xa725c | goto label_6;
| label_20:
0x000a72bc lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000a72c0 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_write_setting */
0x000a72c4 addiu v0, v0, 0x2770 | v0 += 0x2770;
0x000a72c8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000a72cc addiu a3, zero, 0x11c7 | a3 = 0x11c7;
0x000a72d0 b 0xa725c | goto label_6;
| label_11:
0x000a72d4 lw a0, 0x38(fp) | a0 = *(var_38h);
0x000a72d8 addiu s2, zero, -0xc | s2 = -0xc;
0x000a72dc b 0xa6c44 | goto label_0;
| label_10:
0x000a72e0 lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
0x000a72e4 jalr t9 | t9 ();
0x000a72e8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0xaaf48 */
| #include <stdint.h>
|
; (fcn) fcn.000aaf48 () | void fcn_000aaf48 () {
| label_25:
0x000aaf48 lui gp, 0xc |
0x000aaf4c addiu gp, gp, -0x7ee8 |
0x000aaf50 addu gp, gp, t9 | gp += t9;
0x000aaf54 addiu sp, sp, -0x40 |
0x000aaf58 sw s1, 0x2c(sp) | *(var_5ch_2) = s1;
0x000aaf5c lw s1, -0x6f14(gp) | s1 = *((gp - 7109));
0x000aaf60 sw fp, 0x38(sp) | *(var_38h_2) = fp;
0x000aaf64 sw ra, 0x3c(sp) | *(var_3ch_2) = ra;
0x000aaf68 sw s3, 0x34(sp) | *(var_64h_3) = s3;
0x000aaf6c sw s2, 0x30(sp) | *(var_30h_2) = s2;
0x000aaf70 sw s0, 0x28(sp) | *(var_28h_3) = s0;
0x000aaf74 sw gp, 0x18(sp) | *(var_18h_4) = gp;
0x000aaf78 move fp, sp | fp = sp;
0x000aaf7c lw v0, (s1) | v0 = *(s1);
0x000aaf80 sw v0, 0x24(fp) | *(arg_24h) = v0;
0x000aaf84 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (a0 == 0) {
0x000aaf88 beqz a0, 0xab3f4 | goto label_35;
| }
0x000aaf8c lw s2, 0x10(a0) | s2 = *((a0 + 4));
0x000aaf90 move s0, a0 | s0 = a0;
| if (s2 == 0) {
0x000aaf94 beqz s2, 0xab3a8 | goto label_36;
| }
0x000aaf98 lw v0, (a0) | v0 = *(a0);
0x000aaf9c lw v0, 0xbc(v0) | v0 = *((v0 + 47));
| if (v0 != 0) {
0x000aafa0 bnez v0, 0xab3a8 | goto label_36;
| }
0x000aafa4 nop |
0x000aafa8 lhu v0, 0x34c(a0) | v0 = *(a0);
0x000aafac andi v1, v0, 0x400 | v1 = v0 & aav.0x00000400;
0x000aafb0 andi v1, v0, 0x800 | v1 = v0 & 0x800;
| if (v1 == 0) {
0x000aafb4 beqz v1, 0xab3d8 | goto label_37;
| }
0x000aafb8 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x000aafbc move a0, s2 | a0 = s2;
0x000aafc0 jalr t9 | t9 ();
0x000aafc4 lui a0, 0x40 | a0 = 0x400000;
0x000aafc8 addiu v1, v0, 0x1f | v1 = v0 + 0x1f;
0x000aafcc addiu a0, a0, 1 | a0++;
0x000aafd0 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000aafd4 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v1 == 0) {
0x000aafd8 beqz v1, 0xab4f8 | goto label_38;
| }
0x000aafdc lw a0, -0x7fbc(gp) | a0 = *(gp);
0x000aafe0 addiu v0, v0, 0x26 | v0 += 0x26;
0x000aafe4 srl v0, v0, 3 | v0 >>= 3;
| /* str._run_systemd_units_invocation: */
0x000aafe8 addiu v1, a0, 0x88 | v1 = a0 + 0x88;
0x000aafec sll v0, v0, 3 | v0 <<= 3;
0x000aaff0 subu sp, sp, v0 |
0x000aaff4 addiu s3, sp, 0x18 | s3 = sp + 0x18;
0x000aaff8 lw t4, 0x88(a0) | t4 = *((a0 + 34));
0x000aaffc lw t3, 4(v1) | t3 = *((v1 + 1));
0x000ab000 lw t2, 8(v1) | t2 = *((v1 + 2));
0x000ab004 lw t1, 0xc(v1) | t1 = *((v1 + 3));
0x000ab008 lw t0, 0x10(v1) | t0 = *((v1 + 4));
0x000ab00c lw a3, 0x14(v1) | a3 = *((v1 + 5));
0x000ab010 lw a2, 0x18(v1) | a2 = *((v1 + 6));
0x000ab014 lhu v0, 0x1c(v1) | v0 = *((v1 + 14));
0x000ab018 lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x000ab01c move a1, s2 | a1 = s2;
0x000ab020 addiu a0, s3, 0x1e | a0 = s3 + 0x1e;
0x000ab024 sw t4, (s3) | *(s3) = t4;
0x000ab028 sw t3, 4(s3) | *((s3 + 1)) = t3;
0x000ab02c sw t2, 8(s3) | *((s3 + 2)) = t2;
0x000ab030 sw t1, 0xc(s3) | *((s3 + 3)) = t1;
0x000ab034 sw t0, 0x10(s3) | *((s3 + 4)) = t0;
0x000ab038 sw a3, 0x14(s3) | *((s3 + 5)) = a3;
0x000ab03c sw a2, 0x18(s3) | *((s3 + 6)) = a2;
0x000ab040 sh v0, 0x1c(s3) | *((s3 + 14)) = v0;
0x000ab044 jalr t9 | t9 ();
0x000ab048 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab04c lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x000ab050 move a0, s3 | a0 = s3;
0x000ab054 jalr t9 | t9 ();
0x000ab058 lbu v0, 0x34d(s0) | v0 = *((s0 + 845));
0x000ab05c lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab060 ins v0, zero, 2, 1 | __asm ("ins v0, zero, 2, 1");
0x000ab064 sb v0, 0x34d(s0) | *((s0 + 845)) = v0;
0x000ab068 lhu v0, 0x34c(s0) | v0 = *(s0);
0x000ab06c andi v1, v0, 0x800 | v1 = v0 & 0x800;
| if (v1 == 0) {
0x000ab070 beql v1, zero, 0xab13c | goto label_39;
| }
0x000ab074 andi v1, v0, 0x1000 | v1 = v0 & 0x1000;
0x000ab078 lw s2, 0x10(s0) | s2 = *((s0 + 4));
0x000ab07c lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (s2 == 0) {
0x000ab080 beqz s2, 0xab444 | goto label_40;
| }
0x000ab084 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| label_0:
0x000ab088 move a0, s2 | a0 = s2;
0x000ab08c jalr t9 | t9 ();
0x000ab090 lui a0, 0x40 | a0 = 0x400000;
0x000ab094 addiu v1, v0, 0x22 | v1 = v0 + 0x22;
0x000ab098 addiu a0, a0, 1 | a0++;
0x000ab09c sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000ab0a0 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v1 == 0) {
0x000ab0a4 beqz v1, 0xab418 | goto label_41;
| }
0x000ab0a8 addiu v0, v0, 0x29 | v0 += 0x29;
0x000ab0ac srl v0, v0, 3 | v0 >>= 3;
0x000ab0b0 sll v0, v0, 3 | v0 <<= 3;
0x000ab0b4 subu sp, sp, v0 |
0x000ab0b8 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab0bc addiu s3, sp, 0x18 | s3 = sp + 0x18;
| /* str._run_systemd_units_log_level_max: */
0x000ab0c0 addiu v0, v0, 0xf4 | v0 += 0xf4;
0x000ab0c4 move v1, s3 | v1 = s3;
0x000ab0c8 addiu t0, v0, 0x20 | t0 = v0 + 0x20;
| do {
0x000ab0cc lw a3, (v0) | a3 = *(v0);
0x000ab0d0 lw a2, 4(v0) | a2 = *((v0 + 1));
0x000ab0d4 lw a1, 8(v0) | a1 = *((v0 + 2));
0x000ab0d8 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000ab0dc addiu v0, v0, 0x10 | v0 += 0x10;
0x000ab0e0 sw a3, (v1) | *(v1) = a3;
0x000ab0e4 sw a2, 4(v1) | *((v1 + 1)) = a2;
0x000ab0e8 sw a1, 8(v1) | *((v1 + 2)) = a1;
0x000ab0ec sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x000ab0f0 addiu v1, v1, 0x10 | v1 += 0x10;
0x000ab0f4 bne v0, t0, 0xab0cc |
| } while (v0 != t0);
0x000ab0f8 lbu v0, (v0) | v0 = *(v0);
0x000ab0fc lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x000ab100 sb v0, (v1) | *(v1) = v0;
0x000ab104 move a1, s2 | a1 = s2;
0x000ab108 addiu a0, s3, 0x21 | a0 = s3 + 0x21;
0x000ab10c jalr t9 | t9 ();
0x000ab110 lw gp, 0x18(fp) | gp = *(var_18h_4);
| label_3:
0x000ab114 lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x000ab118 sb zero, (v0) | *(v0) = 0;
0x000ab11c move a0, s3 | a0 = s3;
0x000ab120 jalr t9 | t9 ();
0x000ab124 lbu v0, 0x34d(s0) | v0 = *((s0 + 845));
0x000ab128 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab12c ins v0, zero, 3, 1 | __asm ("ins v0, zero, 3, 1");
0x000ab130 sb v0, 0x34d(s0) | *((s0 + 845)) = v0;
0x000ab134 lhu v0, 0x34c(s0) | v0 = *(s0);
0x000ab138 andi v1, v0, 0x1000 | v1 = v0 & 0x1000;
| if (v1 != 0) {
| label_39:
0x000ab13c beql v1, zero, 0xab208 |
0x000ab140 andi v1, v0, 0x2000 | v1 = v0 & 0x2000;
0x000ab144 lw s2, 0x10(s0) | s2 = *((s0 + 4));
0x000ab148 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (s2 == 0) {
0x000ab14c beqz s2, 0xab558 | goto label_42;
| }
| label_2:
0x000ab150 move a0, s2 | a0 = s2;
0x000ab154 jalr t9 | t9 ();
0x000ab158 lui a0, 0x40 | a0 = 0x400000;
0x000ab15c addiu v1, v0, 0x21 | v1 = v0 + 0x21;
0x000ab160 addiu a0, a0, 1 | a0++;
0x000ab164 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000ab168 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v1 == 0) {
0x000ab16c beqz v1, 0xab510 | goto label_43;
| }
0x000ab170 lw a0, -0x7fbc(gp) | a0 = *(gp);
0x000ab174 addiu v0, v0, 0x28 | v0 += 0x28;
0x000ab178 srl v0, v0, 3 | v0 >>= 3;
| /* str._run_systemd_units_extra_fields: */
0x000ab17c addiu v1, a0, 0x1cac | v1 = a0 + 0x1cac;
0x000ab180 sll v0, v0, 3 | v0 <<= 3;
0x000ab184 subu sp, sp, v0 |
0x000ab188 addiu s3, sp, 0x18 | s3 = sp + 0x18;
0x000ab18c lw t2, 0x1cac(a0) | t2 = *((a0 + 1835));
0x000ab190 lw a1, 0x14(v1) | a1 = *((v1 + 5));
0x000ab194 lw a0, 0x18(v1) | a0 = *((v1 + 6));
0x000ab198 lw t1, 4(v1) | t1 = *((v1 + 1));
0x000ab19c lw t0, 8(v1) | t0 = *((v1 + 2));
0x000ab1a0 lw a3, 0xc(v1) | a3 = *((v1 + 3));
0x000ab1a4 lw a2, 0x10(v1) | a2 = *((v1 + 4));
0x000ab1a8 lw v0, 0x1c(v1) | v0 = *((v1 + 7));
0x000ab1ac lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x000ab1b0 sw a1, 0x14(s3) | *((s3 + 5)) = a1;
0x000ab1b4 sw a0, 0x18(s3) | *((s3 + 6)) = a0;
0x000ab1b8 sw t2, (s3) | *(s3) = t2;
0x000ab1bc sw t1, 4(s3) | *((s3 + 1)) = t1;
0x000ab1c0 sw t0, 8(s3) | *((s3 + 2)) = t0;
0x000ab1c4 sw a3, 0xc(s3) | *((s3 + 3)) = a3;
0x000ab1c8 sw a2, 0x10(s3) | *((s3 + 4)) = a2;
0x000ab1cc sw v0, 0x1c(s3) | *((s3 + 7)) = v0;
0x000ab1d0 move a1, s2 | a1 = s2;
0x000ab1d4 addiu a0, s3, 0x20 | a0 = s3 + 0x20;
0x000ab1d8 jalr t9 | t9 ();
0x000ab1dc lw gp, 0x18(fp) | gp = *(var_18h_4);
| label_6:
0x000ab1e0 lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x000ab1e4 sb zero, (v0) | *(v0) = 0;
0x000ab1e8 move a0, s3 | a0 = s3;
0x000ab1ec jalr t9 | t9 ();
0x000ab1f0 lbu v0, 0x34d(s0) | v0 = *((s0 + 845));
0x000ab1f4 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab1f8 ins v0, zero, 4, 1 | __asm ("ins v0, zero, 4, 1");
0x000ab1fc sb v0, 0x34d(s0) | *((s0 + 845)) = v0;
0x000ab200 lhu v0, 0x34c(s0) | v0 = *(s0);
0x000ab204 andi v1, v0, 0x2000 | v1 = v0 & 0x2000;
| }
| label_1:
0x000ab208 andi v0, v0, 0x4000 | v0 &= 0x4000;
| if (v1 == 0) {
0x000ab20c beqz v1, 0xab2e0 | goto label_44;
| }
0x000ab210 lw s2, 0x10(s0) | s2 = *((s0 + 4));
0x000ab214 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (s2 == 0) {
0x000ab218 beqz s2, 0xab494 | goto label_45;
| }
0x000ab21c move a0, s2 | a0 = s2;
0x000ab220 jalr t9 | t9 ();
0x000ab224 lui a0, 0x40 | a0 = 0x400000;
0x000ab228 addiu v1, v0, 0x2c | v1 = v0 + 0x2c;
0x000ab22c addiu a0, a0, 1 | a0++;
0x000ab230 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000ab234 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v1 == 0) {
0x000ab238 beqz v1, 0xab528 | goto label_46;
| }
0x000ab23c addiu v0, v0, 0x33 | v0 += 0x33;
0x000ab240 srl v0, v0, 3 | v0 >>= 3;
0x000ab244 sll v0, v0, 3 | v0 <<= 3;
0x000ab248 subu sp, sp, v0 |
0x000ab24c lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab250 addiu s3, sp, 0x18 | s3 = sp + 0x18;
| /* str._run_systemd_units_log_rate_limit_interval: */
0x000ab254 addiu v0, v0, 0x150 | v0 += aav.0x00000150;
0x000ab258 move v1, s3 | v1 = s3;
0x000ab25c addiu a1, v0, 0x20 | a1 = v0 + 0x20;
| do {
0x000ab260 lw t0, (v0) | t0 = *(v0);
0x000ab264 lw a3, 4(v0) | a3 = *((v0 + 1));
0x000ab268 lw a2, 8(v0) | a2 = *((v0 + 2));
0x000ab26c lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000ab270 addiu v0, v0, 0x10 | v0 += 0x10;
0x000ab274 sw t0, (v1) | *(v1) = t0;
0x000ab278 sw a3, 4(v1) | *((v1 + 1)) = a3;
0x000ab27c sw a2, 8(v1) | *((v1 + 2)) = a2;
0x000ab280 sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x000ab284 addiu v1, v1, 0x10 | v1 += 0x10;
0x000ab288 bne v0, a1, 0xab260 |
| } while (v0 != a1);
0x000ab28c lw a1, (v0) | a1 = *(v0);
0x000ab290 lw a0, 4(v0) | a0 = *((v0 + 1));
0x000ab294 lw v0, 8(v0) | v0 = *((v0 + 2));
0x000ab298 lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x000ab29c sw a1, (v1) | *(v1) = a1;
0x000ab2a0 sw a0, 4(v1) | *((v1 + 1)) = a0;
0x000ab2a4 sw v0, 8(v1) | *((v1 + 2)) = v0;
0x000ab2a8 move a1, s2 | a1 = s2;
0x000ab2ac addiu a0, s3, 0x2b | a0 = s3 + 0x2b;
0x000ab2b0 jalr t9 | t9 ();
0x000ab2b4 lw gp, 0x18(fp) | gp = *(var_18h_4);
| label_4:
0x000ab2b8 lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x000ab2bc sb zero, (v0) | *(v0) = 0;
0x000ab2c0 move a0, s3 | a0 = s3;
0x000ab2c4 jalr t9 | t9 ();
0x000ab2c8 lbu v0, 0x34d(s0) | v0 = *((s0 + 845));
0x000ab2cc lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab2d0 ins v0, zero, 5, 1 | __asm ("ins v0, zero, 5, 1");
0x000ab2d4 sb v0, 0x34d(s0) | *((s0 + 845)) = v0;
0x000ab2d8 lhu v0, 0x34c(s0) | v0 = *(s0);
0x000ab2dc andi v0, v0, 0x4000 | v0 &= 0x4000;
| if (v0 == 0) {
| label_44:
0x000ab2e0 beqz v0, 0xab3a8 | goto label_36;
| }
0x000ab2e4 nop |
0x000ab2e8 lw s2, 0x10(s0) | s2 = *((s0 + 4));
0x000ab2ec lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (s2 == 0) {
0x000ab2f0 beqz s2, 0xab5ac | goto label_47;
| }
0x000ab2f4 move a0, s2 | a0 = s2;
0x000ab2f8 jalr t9 | t9 ();
0x000ab2fc lui a0, 0x40 | a0 = 0x400000;
0x000ab300 addiu v1, v0, 0x29 | v1 = v0 + 0x29;
0x000ab304 addiu a0, a0, 1 | a0++;
0x000ab308 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000ab30c lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v1 == 0) {
0x000ab310 beqz v1, 0xab540 | goto label_48;
| }
0x000ab314 addiu v0, v0, 0x30 | v0 += 0x30;
0x000ab318 srl v0, v0, 3 | v0 >>= 3;
0x000ab31c sll v0, v0, 3 | v0 <<= 3;
0x000ab320 subu sp, sp, v0 |
0x000ab324 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab328 addiu s3, sp, 0x18 | s3 = sp + 0x18;
| /* str._run_systemd_units_log_rate_limit_burst: */
0x000ab32c addiu v0, v0, 0x1b4 | v0 += aav.0x000001b4;
0x000ab330 move v1, s3 | v1 = s3;
0x000ab334 addiu a1, v0, 0x20 | a1 = v0 + 0x20;
| do {
0x000ab338 lw t0, (v0) | t0 = *(v0);
0x000ab33c lw a3, 4(v0) | a3 = *((v0 + 1));
0x000ab340 lw a2, 8(v0) | a2 = *((v0 + 2));
0x000ab344 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000ab348 addiu v0, v0, 0x10 | v0 += 0x10;
0x000ab34c sw t0, (v1) | *(v1) = t0;
0x000ab350 sw a3, 4(v1) | *((v1 + 1)) = a3;
0x000ab354 sw a2, 8(v1) | *((v1 + 2)) = a2;
0x000ab358 sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x000ab35c addiu v1, v1, 0x10 | v1 += 0x10;
0x000ab360 bne v0, a1, 0xab338 |
| } while (v0 != a1);
0x000ab364 lw a0, (v0) | a0 = *(v0);
0x000ab368 lw v0, 4(v0) | v0 = *((v0 + 1));
0x000ab36c lw t9, -0x6a80(gp) | t9 = sym.imp.stpcpy;
0x000ab370 sw a0, (v1) | *(v1) = a0;
0x000ab374 sw v0, 4(v1) | *((v1 + 1)) = v0;
0x000ab378 move a1, s2 | a1 = s2;
0x000ab37c addiu a0, s3, 0x28 | a0 = s3 + 0x28;
0x000ab380 jalr t9 | t9 ();
0x000ab384 lw gp, 0x18(fp) | gp = *(var_18h_4);
| label_7:
0x000ab388 lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x000ab38c sb zero, (v0) | *(v0) = 0;
0x000ab390 move a0, s3 | a0 = s3;
0x000ab394 jalr t9 | t9 ();
0x000ab398 lbu v0, 0x34d(s0) | v0 = *((s0 + 845));
0x000ab39c lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab3a0 ins v0, zero, 6, 1 | __asm ("ins v0, zero, 6, 1");
0x000ab3a4 sb v0, 0x34d(s0) | *((s0 + 845)) = v0;
| label_36:
0x000ab3a8 lw v1, 0x24(fp) | v1 = *(arg_24h);
0x000ab3ac lw v0, (s1) | v0 = *(s1);
0x000ab3b0 lw ra, 0x3c(fp) | ra = *(var_3ch_2);
| if (v1 != v0) {
0x000ab3b4 bne v1, v0, 0xab610 | goto label_49;
| }
0x000ab3b8 move sp, fp |
0x000ab3bc lw fp, 0x38(sp) | fp = *((sp + 14));
0x000ab3c0 lw s3, 0x34(sp) | s3 = *(var_34h_2);
0x000ab3c4 lw s2, 0x30(sp) | s2 = *((sp + 12));
0x000ab3c8 lw s1, 0x2c(sp) | s1 = *((sp + 11));
0x000ab3cc lw s0, 0x28(sp) | s0 = *(var_10h_8);
0x000ab3d0 addiu sp, sp, 0x40 |
0x000ab3d4 jr ra | return v0;
| label_37:
0x000ab3d8 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (v1 != 0) {
0x000ab3dc bnez v1, 0xab088 | goto label_0;
| }
0x000ab3e0 andi v1, v0, 0x1000 | v1 = v0 & 0x1000;
0x000ab3e4 andi v1, v0, 0x2000 | v1 = v0 & 0x2000;
| if (v1 == 0) {
0x000ab3e8 beqz v1, 0xab208 | goto label_1;
| }
0x000ab3ec b 0xab150 | goto label_2;
0x000ab3f0 nop |
| label_35:
0x000ab3f4 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x000ab3f8 lw a1, -0x7fbc(gp) | a1 = *(gp);
| /* str.unit_unlink_state_files */
0x000ab3fc addiu v0, v0, 0x2324 | v0 += 0x2324;
0x000ab400 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000ab404 sw v0, 0x10(sp) | *(var_70h) = v0;
0x000ab408 addiu a3, zero, 0x15c0 | a3 = 0x15c0;
| /* esilref: 'src/core/unit.c' */
0x000ab40c addiu a2, a2, -0x4b1 | a2 += -0x4b1;
0x000ab410 addiu a1, a1, 0x7d4 | a1 += 0x7d4;
0x000ab414 jalr t9 | t9 ();
| label_41:
0x000ab418 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab41c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_unlink_state_files */
0x000ab420 addiu v0, v0, 0x2324 | v0 += 0x2324;
0x000ab424 sw v0, 0x10(sp) | *(var_70h) = v0;
0x000ab428 addiu a3, zero, 0x15d2 | a3 = 0x15d2;
| label_5:
0x000ab42c lw a2, -0x7fbc(gp) | a2 = *(gp);
0x000ab430 lw a1, -0x7f58(gp) | a1 = *(gp);
| /* esilref: 'src/core/unit.c' */
0x000ab434 addiu a2, a2, -0x4b1 | a2 += -0x4b1;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x000ab438 addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x000ab43c move a0, zero | a0 = 0;
0x000ab440 jalr t9 | t9 ();
| label_40:
0x000ab444 addiu sp, sp, -0x28 |
0x000ab448 addiu s3, sp, 0x18 | s3 = sp + 0x18;
0x000ab44c addiu v0, v0, 0xf4 | v0 += 0xf4;
0x000ab450 move v1, s3 | v1 = s3;
0x000ab454 addiu t0, v0, 0x20 | t0 = v0 + 0x20;
| do {
0x000ab458 lw a3, (v0) | a3 = *(v0);
0x000ab45c lw a2, 4(v0) | a2 = *((v0 + 1));
0x000ab460 lw a1, 8(v0) | a1 = *((v0 + 2));
0x000ab464 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000ab468 addiu v0, v0, 0x10 | v0 += 0x10;
0x000ab46c sw a3, (v1) | *(v1) = a3;
0x000ab470 sw a2, 4(v1) | *(var_54h_2) = a2;
0x000ab474 sw a1, 8(v1) | *(var_10h_6) = a1;
0x000ab478 sw a0, 0xc(v1) | *(var_14h_2) = a0;
0x000ab47c addiu v1, v1, 0x10 | v1 += 0x10;
0x000ab480 bne v0, t0, 0xab458 |
| } while (v0 != t0);
0x000ab484 lhu a0, (v0) | a0 = *(v0);
0x000ab488 addiu v0, s3, 0x21 | v0 = s3 + 0x21;
0x000ab48c sh a0, (v1) | *(v1) = a0;
0x000ab490 b 0xab114 | goto label_3;
| label_45:
0x000ab494 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab498 addiu sp, sp, -0x30 |
0x000ab49c addiu s3, sp, 0x18 | s3 = sp + 0x18;
| /* str._run_systemd_units_log_rate_limit_interval: */
0x000ab4a0 addiu v0, v0, 0x150 | v0 += aav.0x00000150;
0x000ab4a4 move v1, s3 | v1 = s3;
0x000ab4a8 addiu t0, v0, 0x20 | t0 = v0 + 0x20;
| do {
0x000ab4ac lw a3, (v0) | a3 = *(v0);
0x000ab4b0 lw a2, 4(v0) | a2 = *((v0 + 1));
0x000ab4b4 lw a1, 8(v0) | a1 = *((v0 + 2));
0x000ab4b8 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000ab4bc addiu v0, v0, 0x10 | v0 += 0x10;
0x000ab4c0 sw a3, (v1) | *(v1) = a3;
0x000ab4c4 sw a2, 4(v1) | *((v1 + 1)) = a2;
0x000ab4c8 sw a1, 8(v1) | *((v1 + 2)) = a1;
0x000ab4cc sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x000ab4d0 addiu v1, v1, 0x10 | v1 += 0x10;
0x000ab4d4 bne v0, t0, 0xab4ac |
| } while (v0 != t0);
0x000ab4d8 lw a1, (v0) | a1 = *(v0);
0x000ab4dc lw a0, 4(v0) | a0 = *((v0 + 1));
0x000ab4e0 lw v0, 8(v0) | v0 = *((v0 + 2));
0x000ab4e4 sw a1, (v1) | *(v1) = a1;
0x000ab4e8 sw v0, 8(v1) | *((v1 + 2)) = v0;
0x000ab4ec sw a0, 4(v1) | *((v1 + 1)) = a0;
0x000ab4f0 addiu v0, s3, 0x2b | v0 = s3 + 0x2b;
0x000ab4f4 b 0xab2b8 | goto label_4;
| label_38:
0x000ab4f8 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab4fc lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_unlink_state_files */
0x000ab500 addiu v0, v0, 0x2324 | v0 += 0x2324;
0x000ab504 sw v0, 0x10(sp) | *(var_70h) = v0;
0x000ab508 addiu a3, zero, 0x15cb | a3 = 0x15cb;
0x000ab50c b 0xab42c | goto label_5;
| label_43:
0x000ab510 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab514 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_unlink_state_files */
0x000ab518 addiu v0, v0, 0x2324 | v0 += 0x2324;
0x000ab51c sw v0, 0x10(sp) | *(var_10h_8) = v0;
0x000ab520 addiu a3, zero, 0x15d9 | a3 = 0x15d9;
0x000ab524 b 0xab42c | goto label_5;
| label_46:
0x000ab528 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab52c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_unlink_state_files */
0x000ab530 addiu v0, v0, 0x2324 | v0 += 0x2324;
0x000ab534 sw v0, 0x10(sp) | *(var_10h_8) = v0;
0x000ab538 addiu a3, zero, 0x15e0 | a3 = 0x15e0;
0x000ab53c b 0xab42c | goto label_5;
| label_48:
0x000ab540 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab544 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_unlink_state_files */
0x000ab548 addiu v0, v0, 0x2324 | v0 += 0x2324;
0x000ab54c sw v0, 0x10(sp) | *(var_10h_8) = v0;
0x000ab550 addiu a3, zero, 0x15e7 | a3 = 0x15e7;
0x000ab554 b 0xab42c | goto label_5;
| label_42:
0x000ab558 lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab55c addiu sp, sp, -0x28 |
0x000ab560 addiu s3, sp, 0x18 | s3 = sp + 0x18;
| /* str._run_systemd_units_extra_fields: */
0x000ab564 addiu v0, v0, 0x1cac | v0 += 0x1cac;
0x000ab568 move v1, s3 | v1 = s3;
0x000ab56c addiu t0, v0, 0x20 | t0 = v0 + 0x20;
| do {
0x000ab570 lw a3, (v0) | a3 = *(v0);
0x000ab574 lw a2, 4(v0) | a2 = *((v0 + 1));
0x000ab578 lw a1, 8(v0) | a1 = *((v0 + 2));
0x000ab57c lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000ab580 addiu v0, v0, 0x10 | v0 += 0x10;
0x000ab584 sw a3, (v1) | *(v1) = a3;
0x000ab588 sw a2, 4(v1) | *((v1 + 1)) = a2;
0x000ab58c sw a1, 8(v1) | *((v1 + 2)) = a1;
0x000ab590 sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x000ab594 addiu v1, v1, 0x10 | v1 += 0x10;
0x000ab598 bne v0, t0, 0xab570 |
| } while (v0 != t0);
0x000ab59c lbu a0, (v0) | a0 = *(v0);
0x000ab5a0 addiu v0, s3, 0x20 | v0 = s3 + 0x20;
0x000ab5a4 sb a0, (v1) | *(v1) = a0;
0x000ab5a8 b 0xab1e0 | goto label_6;
| label_47:
0x000ab5ac lw v0, -0x7fbc(gp) | v0 = *(gp);
0x000ab5b0 addiu sp, sp, -0x30 |
0x000ab5b4 addiu s3, sp, 0x18 | s3 = sp + 0x18;
| /* str._run_systemd_units_log_rate_limit_burst: */
0x000ab5b8 addiu v0, v0, 0x1b4 | v0 += aav.0x000001b4;
0x000ab5bc move v1, s3 | v1 = s3;
0x000ab5c0 addiu t0, v0, 0x20 | t0 = v0 + 0x20;
| do {
0x000ab5c4 lw a3, (v0) | a3 = *(v0);
0x000ab5c8 lw a2, 4(v0) | a2 = *((v0 + 1));
0x000ab5cc lw a1, 8(v0) | a1 = *((v0 + 2));
0x000ab5d0 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000ab5d4 addiu v0, v0, 0x10 | v0 += 0x10;
0x000ab5d8 sw a3, (v1) | *(v1) = a3;
0x000ab5dc sw a2, 4(v1) | *((v1 + 1)) = a2;
0x000ab5e0 sw a1, 8(v1) | *((v1 + 2)) = a1;
0x000ab5e4 sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x000ab5e8 addiu v1, v1, 0x10 | v1 += 0x10;
0x000ab5ec bne v0, t0, 0xab5c4 |
| } while (v0 != t0);
0x000ab5f0 lw a1, (v0) | a1 = *(v0);
0x000ab5f4 lw a0, 4(v0) | a0 = *((v0 + 1));
0x000ab5f8 lbu v0, 8(v0) | v0 = *((v0 + 8));
0x000ab5fc sw a1, (v1) | *(v1) = a1;
0x000ab600 sb v0, 8(v1) | *((v1 + 8)) = v0;
0x000ab604 sw a0, 4(v1) | *((v1 + 1)) = a0;
0x000ab608 addiu v0, s3, 0x28 | v0 = s3 + 0x28;
0x000ab60c b 0xab388 | goto label_7;
| label_49:
0x000ab610 lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
0x000ab614 jalr t9 | t9 ();
0x000ab618 nop |
| label_34:
0x000ab61c lui gp, 0xb |
0x000ab620 addiu gp, gp, 0x7a44 |
0x000ab624 addu gp, gp, t9 | gp += t9;
0x000ab628 addiu sp, sp, -0x78 |
0x000ab62c lw v0, -0x6f14(gp) | v0 = *((gp - 7109));
0x000ab630 sw fp, 0x70(sp) | *(var_70h) = fp;
0x000ab634 move fp, sp | fp = sp;
0x000ab638 sw ra, 0x74(sp) | *(var_74h) = ra;
0x000ab63c sw s7, 0x6c(sp) | *(var_6ch_2) = s7;
0x000ab640 sw s6, 0x68(sp) | *(var_68h_2) = s6;
0x000ab644 sw s5, 0x64(sp) | *(var_64h_2) = s5;
0x000ab648 sw s4, 0x60(sp) | *(var_60h_2) = s4;
0x000ab64c sw s3, 0x5c(sp) | *(var_14h_2) = s3;
0x000ab650 sw s2, 0x58(sp) | *(var_10h_6) = s2;
0x000ab654 sw s1, 0x54(sp) | *(var_54h_2) = s1;
0x000ab658 sw s0, 0x50(sp) | *(var_50h_2) = s0;
0x000ab65c sw gp, 0x18(sp) | *((sp + 6)) = gp;
0x000ab660 sw v0, 0x24(fp) | *(arg_24h) = v0;
0x000ab664 lw v0, (v0) | v0 = *(v0);
0x000ab668 sw v0, 0x4c(fp) | *(arg_4ch) = v0;
0x000ab66c lw v0, 0x24(fp) | v0 = *(arg_24h);
| if (a0 == 0) {
0x000ab670 beqz a0, 0xabf60 | goto label_50;
| }
0x000ab674 move s0, a0 | s0 = a0;
0x000ab678 lw a0, 0x164(a0) | a0 = *(a0);
0x000ab67c lw t9, -0x7dcc(gp) | t9 = *(gp);
| if (a0 != 0) {
0x000ab680 beqz a0, 0xab6a0 |
0x000ab684 bal 0xb9024 | fcn_000b9024 ();
0x000ab688 nop |
0x000ab68c lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab690 lw t9, -0x783c(gp) | t9 = *(gp);
0x000ab694 lw a0, 0x164(s0) | a0 = *(s0);
0x000ab698 bal 0xb98bc | fcn_000b98bc ();
0x000ab69c lw gp, 0x18(fp) | gp = *(var_18h_4);
| }
0x000ab6a0 lw t9, -0x6670(gp) | t9 = *(gp);
0x000ab6a4 lw a0, 0xa8(s0) | a0 = *((s0 + 42));
0x000ab6a8 jalr t9 | t9 ();
0x000ab6ac lw v1, (s0) | v1 = *(s0);
0x000ab6b0 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab6b4 sw v0, 0xa8(s0) | *((s0 + 42)) = v0;
0x000ab6b8 lw v0, 0x390(v1) | v0 = *(v1);
| if (v0 <= 0) {
0x000ab6bc blezl v0, 0xac054 | goto label_51;
| }
0x000ab6c0 lbu v0, 0x349(s0) | v0 = *((s0 + 841));
| label_21:
0x000ab6c4 lw t9, -0x7838(gp) | t9 = *(gp);
| label_20:
0x000ab6c8 move a0, s0 | a0 = s0;
0x000ab6cc jalr t9 | t9 ();
0x000ab6d0 lw v0, 4(s0) | v0 = *(var_54h_2);
0x000ab6d4 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 >= 0) {
0x000ab6d8 bltz v0, 0xab758 |
0x000ab6dc lw s2, -0x7e58(gp) | s2 = *((gp - 8086));
0x000ab6e0 sll v0, v0, 2 | v0 <<= 2;
0x000ab6e4 lwx s1, v0(s2) | __asm ("lwx s1, v0(s2)");
0x000ab6e8 lw t9, 0x24(s1) | t9 = *((s1 + 9));
0x000ab6ec move a0, s0 | a0 = s0;
| if (t9 == 0) {
0x000ab6f0 beqz t9, 0xabfc8 | goto label_52;
| }
0x000ab6f4 jalr t9 | t9 ();
0x000ab6f8 nop |
0x000ab6fc lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab700 lw t9, -0x7cd8(gp) | t9 = *(gp);
0x000ab704 move a0, s0 | a0 = s0;
0x000ab708 bal 0xa5bf0 | fcn_000a5bf0 ();
0x000ab70c lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != 0) {
0x000ab710 beqz v0, 0xab724 |
| label_15:
0x000ab714 lw t9, -0x7834(gp) | t9 = *((gp - 7693));
0x000ab718 move a0, v0 | a0 = v0;
0x000ab71c jalr t9 | t9 ();
0x000ab720 lw gp, 0x18(fp) | gp = *(var_18h_4);
| }
0x000ab724 lw s1, 4(s0) | s1 = *(var_54h_2);
0x000ab728 sll s1, s1, 2 | s1 <<= 2;
| if (s1 < 0) {
0x000ab72c bltz s1, 0xab758 | goto label_53;
| }
0x000ab730 lwx s1, s1(s2) | __asm ("lwx s1, s1(s2)");
0x000ab734 lw a0, 8(s1) | a0 = *((s1 + 2));
| label_16:
0x000ab738 lw t9, -0x79ec(gp) | t9 = *(gp);
| if (a0 == 0) {
0x000ab73c beqz a0, 0xab75c | goto label_54;
| }
0x000ab740 addu a0, s0, a0 | a0 = s0 + a0;
0x000ab744 lw t9, -0x7830(gp) | t9 = *(gp);
| if (a0 == 0) {
0x000ab748 beqz a0, 0xab758 | goto label_53;
| }
0x000ab74c bal 0xb7f58 | fcn_000b7f58 ();
0x000ab750 nop |
0x000ab754 lw gp, 0x18(fp) | gp = *(var_18h_4);
| }
| label_53:
0x000ab758 lw t9, -0x79ec(gp) | t9 = *(gp);
| label_54:
0x000ab75c move a0, s0 | a0 = s0;
0x000ab760 bal 0x9fdec | fcn_0009fdec ();
0x000ab764 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab768 lw a0, 0xb4(s0) | a0 = *((s0 + 45));
0x000ab76c lw t9, -0x7570(gp) | t9 = sym.imp.sd_bus_slot_unref;
0x000ab770 addiu s5, fp, 0x44 | s5 = fp + 0x44;
0x000ab774 jalr t9 | t9 ();
0x000ab778 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab77c lw t9, -0x6d8c(gp) | t9 = sym.imp.sd_bus_track_unref;
0x000ab780 lw a0, 0xbc(s0) | a0 = *((s0 + 47));
0x000ab784 jalr t9 | t9 ();
0x000ab788 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab78c lw t9, -0x6df8(gp) | t9 = sym.imp.strv_free;
0x000ab790 lw a0, 0xc0(s0) | a0 = *((s0 + 48));
0x000ab794 jalr t9 | t9 ();
0x000ab798 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab79c sw v0, 0xc0(s0) | *((s0 + 48)) = v0;
0x000ab7a0 lw v0, -0x7f60(gp) | v0 = *((gp - 8152));
0x000ab7a4 addiu s6, v0, -0x774c | s6 = v0 + -0x774c;
| label_10:
0x000ab7a8 lw t9, -0x72bc(gp) | t9 = sym.imp.internal_hashmap_first_key_and_value;
0x000ab7ac lw a0, 0x74(s0) | a0 = *((s0 + 29));
0x000ab7b0 move a2, s5 | a2 = s5;
0x000ab7b4 addiu a1, zero, 1 | a1 = 1;
0x000ab7b8 sw zero, 0x44(fp) | *(arg_44h) = 0;
0x000ab7bc jalr t9 | t9 ();
0x000ab7c0 lw s3, 0x44(fp) | s3 = *(arg_44h);
0x000ab7c4 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (s3 == 0) {
0x000ab7c8 beqz s3, 0xab934 | goto label_55;
| }
0x000ab7cc lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x000ab7d0 move a0, s3 | a0 = s3;
0x000ab7d4 jalr t9 | t9 ();
0x000ab7d8 addiu v1, v0, 8 | v1 = v0 + 8;
0x000ab7dc lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab7e0 srl v1, v1, 3 | v1 >>= 3;
0x000ab7e4 sll v1, v1, 3 | v1 <<= 3;
0x000ab7e8 move s4, sp | s4 = sp;
0x000ab7ec subu sp, sp, v1 |
0x000ab7f0 addiu s1, sp, 0x18 | s1 = sp + 0x18;
0x000ab7f4 lw t9, -0x6d94(gp) | t9 = sym.imp.memcpy;
0x000ab7f8 addiu a2, v0, 1 | a2 = v0 + 1;
0x000ab7fc move a1, s3 | a1 = s3;
0x000ab800 move a0, s1 | a0 = s1;
0x000ab804 jalr t9 | t9 ();
0x000ab808 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab80c move a1, zero | a1 = 0;
0x000ab810 lw t9, -0x7210(gp) | t9 = sym.imp.path_simplify;
0x000ab814 move a0, s1 | a0 = s1;
0x000ab818 jalr t9 | t9 ();
0x000ab81c lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab820 move a1, s6 | a1 = s6;
0x000ab824 lw t9, -0x757c(gp) | t9 = sym.imp.strcmp;
0x000ab828 move a0, s1 | a0 = s1;
0x000ab82c jalr t9 | t9 ();
0x000ab830 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 == 0) {
0x000ab834 bnez v0, 0xab83c |
0x000ab838 sb zero, 0x18(sp) | *((sp + 24)) = 0;
| }
0x000ab83c lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
0x000ab840 move a0, s1 | a0 = s1;
0x000ab844 jalr t9 | t9 ();
0x000ab848 addu v0, s1, v0 | v0 = s1 + v0;
0x000ab84c lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != 0) {
0x000ab850 bnez v0, 0xab874 | goto label_9;
| }
0x000ab854 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000ab858 b 0xab920 | goto label_56;
| do {
| label_8:
0x000ab85c lw t9, -0x6aa4(gp) | t9 = sym.imp.strrchr;
0x000ab860 addiu a1, zero, 0x2f | a1 = 0x2f;
0x000ab864 move a0, s1 | a0 = s1;
0x000ab868 jalr t9 | t9 ();
0x000ab86c lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 == 0) {
0x000ab870 beqz v0, 0xab91c | goto label_57;
| }
| label_9:
0x000ab874 lw v1, (s0) | v1 = *(s0);
0x000ab878 sb zero, (v0) | *(v0) = 0;
0x000ab87c lw t9, -0x66b8(gp) | t9 = sym.imp.hashmap_get2;
0x000ab880 lw a0, 0x3d0(v1) | a0 = *(v1);
0x000ab884 move a2, s5 | a2 = s5;
0x000ab888 move a1, s1 | a1 = s1;
0x000ab88c jalr t9 | t9 ();
0x000ab890 move s2, v0 | s2 = v0;
0x000ab894 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab898 beqz v0, 0xab85c |
| } while (v0 == 0);
0x000ab89c lw t9, -0x6634(gp) | t9 = sym.imp.internal_hashmap_remove;
0x000ab8a0 move a1, s0 | a1 = s0;
0x000ab8a4 move a0, s2 | a0 = s2;
0x000ab8a8 jalr t9 | t9 ();
0x000ab8ac lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab8b0 lw t9, -0x70d8(gp) | t9 = sym.imp.internal_hashmap_size;
0x000ab8b4 move a0, s2 | a0 = s2;
0x000ab8b8 jalr t9 | t9 ();
0x000ab8bc lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != 0) {
0x000ab8c0 bnez v0, 0xab85c | goto label_8;
| }
0x000ab8c4 lw v0, (s0) | v0 = *(s0);
0x000ab8c8 lw t9, -0x6634(gp) | t9 = sym.imp.internal_hashmap_remove;
0x000ab8cc lw a1, 0x44(fp) | a1 = *(arg_44h);
0x000ab8d0 lw a0, 0x3d0(v0) | a0 = *(v0);
0x000ab8d4 jalr t9 | t9 ();
0x000ab8d8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab8dc lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000ab8e0 lw a0, 0x44(fp) | a0 = *(arg_44h);
0x000ab8e4 jalr t9 | t9 ();
0x000ab8e8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab8ec move a2, zero | a2 = 0;
0x000ab8f0 move a1, zero | a1 = 0;
0x000ab8f4 lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000ab8f8 move a0, s2 | a0 = s2;
0x000ab8fc jalr t9 | t9 ();
0x000ab900 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab904 addiu a1, zero, 0x2f | a1 = 0x2f;
0x000ab908 lw t9, -0x6aa4(gp) | t9 = sym.imp.strrchr;
0x000ab90c move a0, s1 | a0 = s1;
0x000ab910 jalr t9 | t9 ();
0x000ab914 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != 0) {
0x000ab918 bnez v0, 0xab874 | goto label_9;
| }
| label_57:
0x000ab91c lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
| label_56:
0x000ab920 move a0, s3 | a0 = s3;
0x000ab924 move sp, s4 |
0x000ab928 jalr t9 | t9 ();
0x000ab92c lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab930 b 0xab7a8 | goto label_10;
| label_55:
0x000ab934 lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000ab938 lw a0, 0x74(s0) | a0 = *((s0 + 29));
0x000ab93c move a2, zero | a2 = 0;
0x000ab940 move a1, zero | a1 = 0;
0x000ab944 jalr t9 | t9 ();
0x000ab948 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab94c sw v0, 0x74(s0) | *((s0 + 29)) = v0;
0x000ab950 addiu v0, zero, -2 | v0 = -2;
0x000ab954 sw v0, 0x3c(fp) | *(var_3ch_2) = v0;
0x000ab958 sw zero, 0x40(fp) | *(arg_40h) = 0;
0x000ab95c addiu s2, fp, 0x30 | s2 = fp + 0x30;
0x000ab960 addiu s1, fp, 0x3c | s1 = fp + 0x3c;
0x000ab964 b 0xab984 |
| while (v0 != 0) {
0x000ab968 lw v0, (s0) | v0 = *(s0);
0x000ab96c lw t9, -0x6fd0(gp) | t9 = sym.imp.internal_hashmap_remove_value;
0x000ab970 lw a1, 0x30(fp) | a1 = *(var_30h_2);
0x000ab974 lw a0, (v0) | a0 = *(v0);
0x000ab978 move a2, s0 | a2 = s0;
0x000ab97c jalr t9 | t9 ();
0x000ab980 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab984 lw t9, -0x6c58(gp) | t9 = sym.imp.set_iterate;
0x000ab988 lw a0, 0x18(s0) | a0 = *(var_68h_2);
0x000ab98c move a2, s2 | a2 = s2;
0x000ab990 move a1, s1 | a1 = s1;
0x000ab994 jalr t9 | t9 ();
0x000ab998 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab99c bnez v0, 0xab968 |
| }
0x000ab9a0 lw v0, 0x318(s0) | v0 = *(s0);
0x000ab9a4 lw a1, 0x310(s0) | a1 = *(s0);
0x000ab9a8 lw v1, 0x31c(s0) | v1 = *(s0);
0x000ab9ac lw a0, 0x314(s0) | a0 = *(s0);
0x000ab9b0 or v0, v0, a1 | v0 |= a1;
0x000ab9b4 or v1, v1, a0 | v1 |= a0;
0x000ab9b8 or v0, v0, v1 | v0 |= v1;
0x000ab9bc lw v0, (s0) | v0 = *(s0);
| if (v0 == 0) {
0x000ab9c0 bnel v0, zero, 0xabfa0 | goto label_58;
| }
0x000ab9c4 lw s1, 0xac(s0) | s1 = *((s0 + 43));
| if (s1 != 0) {
0x000ab9c8 beql s1, zero, 0xab9f4 |
0x000ab9cc lw s1, 0xb0(s0) | s1 = *((s0 + 44));
| label_13:
0x000ab9d0 lw t9, -0x7bfc(gp) | t9 = *(gp);
0x000ab9d4 move a0, s1 | a0 = s1;
0x000ab9d8 jalr t9 | t9 ();
0x000ab9dc lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab9e0 lw t9, -0x7bf8(gp) | t9 = *(gp);
0x000ab9e4 move a0, s1 | a0 = s1;
0x000ab9e8 jalr t9 | t9 ();
0x000ab9ec lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ab9f0 lw s1, 0xb0(s0) | s1 = *((s0 + 44));
| }
| label_14:
0x000ab9f4 lw t9, -0x7bfc(gp) | t9 = *(gp);
| if (s1 != 0) {
0x000ab9f8 beqz s1, 0xaba18 |
0x000ab9fc move a0, s1 | a0 = s1;
0x000aba00 jalr t9 | t9 ();
0x000aba04 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000aba08 lw t9, -0x7bf8(gp) | t9 = *(gp);
0x000aba0c move a0, s1 | a0 = s1;
0x000aba10 jalr t9 | t9 ();
0x000aba14 lw gp, 0x18(fp) | gp = *(var_18h_4);
| }
0x000aba18 lw v0, -0x7d48(gp) | v0 = *(gp);
0x000aba1c addiu s2, s0, 0x1c | s2 = s0 + 0x1c;
0x000aba20 sw v0, 0x2c(fp) | *(var_5ch_2) = v0;
0x000aba24 addiu v0, s0, 0x74 | v0 = s0 + 0x74;
0x000aba28 sw v0, 0x28(fp) | *(var_28h_3) = v0;
0x000aba2c addiu s7, fp, 0x34 | s7 = fp + 0x34;
0x000aba30 addiu s6, fp, 0x38 | s6 = fp + 0x38;
0x000aba34 addiu s3, zero, 0x16 | s3 = 0x16;
| label_12:
0x000aba38 addiu v0, zero, -2 | v0 = -2;
0x000aba3c lw s1, (s2) | s1 = *(s2);
0x000aba40 sw v0, 0x44(fp) | *(arg_44h) = v0;
0x000aba44 sw zero, 0x48(fp) | *(arg_48h) = 0;
| label_11:
0x000aba48 lw t9, -0x729c(gp) | t9 = sym.imp.internal_hashmap_iterate;
0x000aba4c move a3, s7 | a3 = s7;
0x000aba50 move a2, s6 | a2 = s6;
0x000aba54 move a1, s5 | a1 = s5;
0x000aba58 move a0, s1 | a0 = s1;
0x000aba5c jalr t9 | t9 ();
0x000aba60 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 == 0) {
0x000aba64 beqz v0, 0xabaac | goto label_59;
| }
0x000aba68 move s4, zero | s4 = 0;
| do {
0x000aba6c addiu v0, s4, 6 | v0 = s4 + 6;
0x000aba70 sll a0, v0, 2 | a0 = v0 << 2;
0x000aba74 lw v0, 0x34(fp) | v0 = *(var_64h_3);
0x000aba78 lw t9, -0x6634(gp) | t9 = sym.imp.internal_hashmap_remove;
0x000aba7c addu v0, v0, a0 | v0 += a0;
0x000aba80 move a1, s0 | a1 = s0;
0x000aba84 lw a0, 4(v0) | a0 = *((v0 + 1));
0x000aba88 addiu s4, s4, 1 | s4++;
0x000aba8c jalr t9 | t9 ();
0x000aba90 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000aba94 bne s4, s3, 0xaba6c |
| } while (s4 != s3);
0x000aba98 lw t9, 0x2c(fp) | t9 = *(var_5ch_2);
0x000aba9c lw a0, 0x34(fp) | a0 = *(var_64h_3);
0x000abaa0 jalr t9 | t9 ();
0x000abaa4 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abaa8 b 0xaba48 | goto label_11;
| label_59:
0x000abaac lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000abab0 move a2, zero | a2 = 0;
0x000abab4 move a1, zero | a1 = 0;
0x000abab8 move a0, s1 | a0 = s1;
0x000ababc jalr t9 | t9 ();
0x000abac0 lw v0, 0x28(fp) | v0 = *(var_28h_3);
0x000abac4 addiu s2, s2, 4 | s2 += 4;
0x000abac8 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != s2) {
0x000abacc bne v0, s2, 0xaba38 | goto label_12;
| }
0x000abad0 lhu v0, 0x34c(s0) | v0 = *(s0);
0x000abad4 andi v0, v0, 8 | v0 &= 8;
0x000abad8 lw t9, -0x782c(gp) | t9 = *(gp);
| if (v0 != 0) {
0x000abadc bnez v0, 0xac12c | goto label_60;
| }
| label_24:
0x000abae0 lw t9, -0x7828(gp) | t9 = *(gp);
0x000abae4 move a0, s0 | a0 = s0;
0x000abae8 bal 0xb9944 | fcn_000b9944 ();
0x000abaec lw v0, (s0) | v0 = *(s0);
0x000abaf0 lw v0, 0x390(v0) | v0 = *(v0);
0x000abaf4 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 <= 0) {
0x000abaf8 blez v0, 0xac13c | goto label_61;
| }
| label_26:
0x000abafc lw t9, -0x7930(gp) | t9 = *(gp);
0x000abb00 move a1, zero | a1 = 0;
0x000abb04 move a0, s0 | a0 = s0;
0x000abb08 bal 0xa8fdc | fcn_000a8fdc ();
0x000abb0c lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abb10 lw a0, (s0) | a0 = *(s0);
0x000abb14 move a2, zero | a2 = 0;
0x000abb18 lw t9, -0x7824(gp) | t9 = *(gp);
0x000abb1c move a1, s0 | a1 = s0;
0x000abb20 jalr t9 | t9 ();
0x000abb24 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abb28 lw v0, (s0) | v0 = *(s0);
0x000abb2c move a1, s0 | a1 = s0;
0x000abb30 lw t9, -0x6634(gp) | t9 = sym.imp.internal_hashmap_remove;
0x000abb34 lw s1, -0x7964(gp) | s1 = *(gp);
0x000abb38 lw a0, 0x70(v0) | a0 = *((v0 + 28));
0x000abb3c jalr t9 | t9 ();
0x000abb40 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abb44 lw t9, -0x79f0(gp) | t9 = *(gp);
0x000abb48 move a0, s0 | a0 = s0;
0x000abb4c bal 0x9fa9c | fcn_0009fa9c ();
0x000abb50 addiu a0, s0, 0x160 | a0 = s0 + aav.0x00000160;
| do {
0x000abb54 move t9, s1 | t9 = s1;
0x000abb58 bal 0xa4e80 | fcn_000a4e80 ();
0x000abb5c nop |
0x000abb60 lw a0, 0xe4(s0) | a0 = *((s0 + 57));
0x000abb64 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abb68 bnez a0, 0xabb54 |
| } while (a0 != 0);
0x000abb6c lw v1, 4(s0) | v1 = *(var_54h_2);
0x000abb70 addiu v0, zero, -1 | v0 = -1;
| if (v1 != v0) {
0x000abb74 beql v1, v0, 0xabbb0 |
0x000abb78 lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
0x000abb7c lw a0, 0x170(s0) | a0 = *(s0);
0x000abb80 lw a1, (s0) | a1 = *(s0);
0x000abb84 lw v0, 0x174(s0) | v0 = *(s0);
| if (a0 != 0) {
0x000abb88 beqz a0, 0xabb94 |
0x000abb8c sw v0, 0x174(a0) | *(a0) = v0;
0x000abb90 lw v0, 0x174(s0) | v0 = *(s0);
| }
0x000abb94 sll v1, v1, 2 | v1 <<= 2;
| if (v0 == 0) {
0x000abb98 beqz v0, 0xac014 | goto label_62;
| }
0x000abb9c lw v1, 0x170(s0) | v1 = *(s0);
0x000abba0 sw v1, 0x170(v0) | *(v0) = v1;
0x000abba4 sw zero, 0x174(s0) | *(s0) = 0;
0x000abba8 sw zero, 0x170(s0) | *(s0) = 0;
| label_18:
0x000abbac lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
| }
0x000abbb0 andi v1, v0, 1 | v1 = v0 & 1;
0x000abbb4 andi v1, v0, 2 | v1 = v0 & 2;
| if (v1 != 0) {
0x000abbb8 beqz v1, 0xabbf4 |
0x000abbbc lw v1, 0x178(s0) | v1 = *(s0);
0x000abbc0 lw a0, (s0) | a0 = *(s0);
0x000abbc4 lw v0, 0x17c(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abbc8 beqz v1, 0xabbd4 |
0x000abbcc sw v0, 0x17c(v1) | *(v1) = v0;
0x000abbd0 lw v0, 0x17c(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abbd4 beql v0, zero, 0xac150 | goto label_63;
| }
0x000abbd8 lw v0, 0x38(a0) | v0 = *((a0 + 14));
0x000abbdc lw v1, 0x178(s0) | v1 = *(s0);
0x000abbe0 sw v1, 0x178(v0) | *(v0) = v1;
| label_27:
0x000abbe4 lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
0x000abbe8 sw zero, 0x17c(s0) | *(s0) = 0;
0x000abbec sw zero, 0x178(s0) | *(s0) = 0;
0x000abbf0 andi v1, v0, 2 | v1 = v0 & 2;
| }
0x000abbf4 andi v1, v0, 8 | v1 = v0 & 8;
| if (v1 != 0) {
0x000abbf8 beqz v1, 0xabc34 |
0x000abbfc lw v1, 0x180(s0) | v1 = *(s0);
0x000abc00 lw a0, (s0) | a0 = *(s0);
0x000abc04 lw v0, 0x184(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abc08 beqz v1, 0xabc14 |
0x000abc0c sw v0, 0x184(v1) | *(v1) = v0;
0x000abc10 lw v0, 0x184(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abc14 beql v0, zero, 0xac164 | goto label_64;
| }
0x000abc18 lw v0, 0x40(a0) | v0 = *((a0 + 16));
0x000abc1c lw v1, 0x180(s0) | v1 = *(s0);
0x000abc20 sw v1, 0x180(v0) | *(v0) = v1;
| label_28:
0x000abc24 lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
0x000abc28 sw zero, 0x184(s0) | *(s0) = 0;
0x000abc2c sw zero, 0x180(s0) | *(s0) = 0;
0x000abc30 andi v1, v0, 8 | v1 = v0 & 8;
| }
0x000abc34 andi v1, v0, 0x10 | v1 = v0 & 0x10;
| if (v1 != 0) {
0x000abc38 beqz v1, 0xabc74 |
0x000abc3c lw v1, 0x190(s0) | v1 = *(s0);
0x000abc40 lw a0, (s0) | a0 = *(s0);
0x000abc44 lw v0, 0x194(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abc48 beqz v1, 0xabc54 |
0x000abc4c sw v0, 0x194(v1) | *(v1) = v0;
0x000abc50 lw v0, 0x194(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abc54 beql v0, zero, 0xac178 | goto label_65;
| }
0x000abc58 lw v0, 0x4c(a0) | v0 = *((a0 + 19));
0x000abc5c lw v1, 0x190(s0) | v1 = *(s0);
0x000abc60 sw v1, 0x190(v0) | *(v0) = v1;
| label_29:
0x000abc64 lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
0x000abc68 sw zero, 0x194(s0) | *(s0) = 0;
0x000abc6c sw zero, 0x190(s0) | *(s0) = 0;
0x000abc70 andi v1, v0, 0x10 | v1 = v0 & 0x10;
| }
0x000abc74 andi v1, v0, 0x20 | v1 = v0 & 0x20;
| if (v1 != 0) {
0x000abc78 beqz v1, 0xabcb4 |
0x000abc7c lw v1, 0x198(s0) | v1 = *(s0);
0x000abc80 lw a0, (s0) | a0 = *(s0);
0x000abc84 lw v0, 0x19c(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abc88 beqz v1, 0xabc94 |
0x000abc8c sw v0, 0x19c(v1) | *(v1) = v0;
0x000abc90 lw v0, 0x19c(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abc94 beql v0, zero, 0xac18c | goto label_66;
| }
0x000abc98 lw v0, 0x54(a0) | v0 = *((a0 + 21));
0x000abc9c lw v1, 0x198(s0) | v1 = *(s0);
0x000abca0 sw v1, 0x198(v0) | *(v0) = v1;
| label_30:
0x000abca4 lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
0x000abca8 sw zero, 0x19c(s0) | *(s0) = 0;
0x000abcac sw zero, 0x198(s0) | *(s0) = 0;
0x000abcb0 andi v1, v0, 0x20 | v1 = v0 & 0x20;
| }
0x000abcb4 andi v1, v0, 4 | v1 = v0 & 4;
| if (v1 != 0) {
0x000abcb8 beqz v1, 0xabcf4 |
0x000abcbc lw v1, 0x1a0(s0) | v1 = *(s0);
0x000abcc0 lw a0, (s0) | a0 = *(s0);
0x000abcc4 lw v0, 0x1a4(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abcc8 beqz v1, 0xabcd4 |
0x000abccc sw v0, 0x1a4(v1) | *(v1) = v0;
0x000abcd0 lw v0, 0x1a4(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abcd4 beql v0, zero, 0xac204 | goto label_67;
| }
0x000abcd8 lw v0, 0x58(a0) | v0 = *((a0 + 22));
0x000abcdc lw v1, 0x1a0(s0) | v1 = *(s0);
0x000abce0 sw v1, 0x1a0(v0) | *(v0) = v1;
| label_32:
0x000abce4 lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
0x000abce8 sw zero, 0x1a4(s0) | *(s0) = 0;
0x000abcec sw zero, 0x1a0(s0) | *(s0) = 0;
0x000abcf0 andi v1, v0, 4 | v1 = v0 & 4;
| }
| if (v1 != 0) {
0x000abcf4 beql v1, zero, 0xabd34 |
0x000abcf8 seb v0, v0 | __asm ("seb v0, v0");
0x000abcfc lw v1, 0x188(s0) | v1 = *(s0);
0x000abd00 lw a0, (s0) | a0 = *(s0);
0x000abd04 lw v0, 0x18c(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abd08 beqz v1, 0xabd14 |
0x000abd0c sw v0, 0x18c(v1) | *(v1) = v0;
0x000abd10 lw v0, 0x18c(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abd14 beql v0, zero, 0xac218 | goto label_68;
| }
0x000abd18 lw v0, 0x48(a0) | v0 = *((a0 + 18));
0x000abd1c lw v1, 0x188(s0) | v1 = *(s0);
0x000abd20 sw v1, 0x188(v0) | *(v0) = v1;
| label_33:
0x000abd24 lbu v0, 0x34b(s0) | v0 = *((s0 + 843));
0x000abd28 sw zero, 0x18c(s0) | *(s0) = 0;
0x000abd2c sw zero, 0x188(s0) | *(s0) = 0;
0x000abd30 seb v0, v0 | __asm ("seb v0, v0");
| }
| if (v0 < 0) {
0x000abd34 bltzl v0, 0xabfe4 | goto label_69;
| }
0x000abd38 lw v1, 0x1b0(s0) | v1 = *(s0);
| label_17:
0x000abd3c lhu v0, 0x34c(s0) | v0 = *(s0);
0x000abd40 andi v0, v0, 1 | v0 &= 1;
0x000abd44 lw t9, -0x6a98(gp) | t9 = sym.imp.safe_close;
| if (v0 != 0) {
0x000abd48 beqz v0, 0xabd80 |
0x000abd4c lw v1, 0x1b8(s0) | v1 = *(s0);
0x000abd50 lw a0, (s0) | a0 = *(s0);
0x000abd54 lw v0, 0x1bc(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abd58 beqz v1, 0xabd64 |
0x000abd5c sw v0, 0x1bc(v1) | *(v1) = v0;
0x000abd60 lw v0, 0x1bc(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abd64 beql v0, zero, 0xac038 | goto label_70;
| }
0x000abd68 lw v0, 0x64(a0) | v0 = *((a0 + 25));
0x000abd6c lw v1, 0x1b8(s0) | v1 = *(s0);
0x000abd70 sw v1, 0x1b8(v0) | *(v0) = v1;
0x000abd74 sw zero, 0x1bc(s0) | *(s0) = 0;
0x000abd78 sw zero, 0x1b8(s0) | *(s0) = 0;
| label_19:
0x000abd7c lw t9, -0x6a98(gp) | t9 = sym.imp.safe_close;
| }
0x000abd80 lw a0, 0x2a8(s0) | a0 = *(s0);
0x000abd84 jalr t9 | t9 ();
0x000abd88 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abd8c lw t9, -0x6a98(gp) | t9 = sym.imp.safe_close;
0x000abd90 lw a0, 0x2ac(s0) | a0 = *(s0);
0x000abd94 jalr t9 | t9 ();
0x000abd98 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abd9c lw t9, -0x6a98(gp) | t9 = sym.imp.safe_close;
0x000abda0 lw a0, 0x2b0(s0) | a0 = *(s0);
0x000abda4 jalr t9 | t9 ();
0x000abda8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abdac lw t9, -0x6a98(gp) | t9 = sym.imp.safe_close;
0x000abdb0 lw a0, 0x2b4(s0) | a0 = *(s0);
0x000abdb4 jalr t9 | t9 ();
0x000abdb8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abdbc lw t9, -0x6a98(gp) | t9 = sym.imp.safe_close;
0x000abdc0 lw a0, 0x2b8(s0) | a0 = *(s0);
0x000abdc4 jalr t9 | t9 ();
0x000abdc8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abdcc lw t9, -0x6a98(gp) | t9 = sym.imp.safe_close;
0x000abdd0 lw a0, 0x2bc(s0) | a0 = *(s0);
0x000abdd4 jalr t9 | t9 ();
0x000abdd8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abddc lw t9, -0x74f8(gp) | t9 = sym.imp.bpf_program_unref;
0x000abde0 lw a0, 0x2c0(s0) | a0 = *(s0);
0x000abde4 jalr t9 | t9 ();
0x000abde8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abdec lw t9, -0x74f8(gp) | t9 = sym.imp.bpf_program_unref;
0x000abdf0 lw a0, 0x2c4(s0) | a0 = *(s0);
0x000abdf4 jalr t9 | t9 ();
0x000abdf8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abdfc lw t9, -0x74f8(gp) | t9 = sym.imp.bpf_program_unref;
0x000abe00 lw a0, 0x2c8(s0) | a0 = *(s0);
0x000abe04 jalr t9 | t9 ();
0x000abe08 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abe0c lw t9, -0x74f8(gp) | t9 = sym.imp.bpf_program_unref;
0x000abe10 lw a0, 0x2cc(s0) | a0 = *(s0);
0x000abe14 jalr t9 | t9 ();
0x000abe18 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abe1c lw a0, 0x2d0(s0) | a0 = *(s0);
0x000abe20 move a2, zero | a2 = 0;
0x000abe24 lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000abe28 move a1, zero | a1 = 0;
0x000abe2c jalr t9 | t9 ();
0x000abe30 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abe34 lw a0, 0x2d8(s0) | a0 = *(s0);
0x000abe38 move a2, zero | a2 = 0;
0x000abe3c lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000abe40 move a1, zero | a1 = 0;
0x000abe44 jalr t9 | t9 ();
0x000abe48 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abe4c lw a0, 0x2d4(s0) | a0 = *(s0);
0x000abe50 move a2, zero | a2 = 0;
0x000abe54 lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000abe58 move a1, zero | a1 = 0;
0x000abe5c jalr t9 | t9 ();
0x000abe60 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abe64 lw a0, 0x2dc(s0) | a0 = *(s0);
0x000abe68 move a2, zero | a2 = 0;
0x000abe6c lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000abe70 move a1, zero | a1 = 0;
0x000abe74 jalr t9 | t9 ();
0x000abe78 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abe7c lw t9, -0x74f8(gp) | t9 = sym.imp.bpf_program_unref;
0x000abe80 lw a0, 0x2a4(s0) | a0 = *(s0);
0x000abe84 jalr t9 | t9 ();
0x000abe88 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abe8c lw a0, 0xe8(s0) | a0 = *((s0 + 58));
0x000abe90 lw t9, -0x7164(gp) | t9 = sym.imp.condition_free_list_type;
0x000abe94 addiu a1, zero, -1 | a1 = -1;
0x000abe98 jalr t9 | t9 ();
0x000abe9c lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abea0 lw a0, 0xec(s0) | a0 = *((s0 + 59));
0x000abea4 lw t9, -0x7164(gp) | t9 = sym.imp.condition_free_list_type;
0x000abea8 addiu a1, zero, -1 | a1 = -1;
0x000abeac jalr t9 | t9 ();
0x000abeb0 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abeb4 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000abeb8 lw a0, 0x78(s0) | a0 = *((s0 + 30));
0x000abebc jalr t9 | t9 ();
0x000abec0 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abec4 lw t9, -0x6df8(gp) | t9 = sym.imp.strv_free;
0x000abec8 lw a0, 0x7c(s0) | a0 = *((s0 + 31));
0x000abecc jalr t9 | t9 ();
0x000abed0 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abed4 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000abed8 lw a0, 0x80(s0) | a0 = *((s0 + 32));
0x000abedc jalr t9 | t9 ();
0x000abee0 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abee4 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000abee8 lw a0, 0x84(s0) | a0 = *((s0 + 33));
0x000abeec jalr t9 | t9 ();
0x000abef0 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abef4 lw t9, -0x6df8(gp) | t9 = sym.imp.strv_free;
0x000abef8 lw a0, 0x88(s0) | a0 = *((s0 + 34));
0x000abefc jalr t9 | t9 ();
0x000abf00 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abf04 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000abf08 lw a0, 0x14(s0) | a0 = *(var_64h_2);
0x000abf0c jalr t9 | t9 ();
0x000abf10 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abf14 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000abf18 lw a0, 0xe0(s0) | a0 = *((s0 + 56));
0x000abf1c jalr t9 | t9 ();
0x000abf20 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abf24 lw a0, 0x18(s0) | a0 = *(var_68h_2);
0x000abf28 lw a1, -0x6ba4(gp) | a1 = *((gp - 6889));
0x000abf2c lw t9, -0x6720(gp) | t9 = sym.imp.internal_hashmap_free;
0x000abf30 move a2, zero | a2 = 0;
0x000abf34 jalr t9 | t9 ();
0x000abf38 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abf3c lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000abf40 lw a0, 0x204(s0) | a0 = *(s0);
0x000abf44 jalr t9 | t9 ();
0x000abf48 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abf4c lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000abf50 move a0, s0 | a0 = s0;
0x000abf54 jalr t9 | t9 ();
0x000abf58 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000abf5c lw v0, 0x24(fp) | v0 = *(arg_24h);
| label_50:
0x000abf60 lw v1, 0x4c(fp) | v1 = *(arg_4ch);
0x000abf64 lw v0, (v0) | v0 = *(v0);
0x000abf68 lw ra, 0x74(fp) | ra = *(arg_74h);
| if (v1 != v0) {
0x000abf6c bne v1, v0, 0xac2ac | goto label_71;
| }
0x000abf70 move sp, fp |
0x000abf74 lw fp, 0x70(sp) | fp = *(var_70h);
0x000abf78 lw s7, 0x6c(sp) | s7 = *(var_6ch_2);
0x000abf7c lw s6, 0x68(sp) | s6 = *(var_68h_2);
0x000abf80 lw s5, 0x64(sp) | s5 = *(var_64h_2);
0x000abf84 lw s4, 0x60(sp) | s4 = *(var_60h_2);
0x000abf88 lw s3, 0x5c(sp) | s3 = *(var_14h_2);
0x000abf8c lw s2, 0x58(sp) | s2 = *(var_10h_6);
0x000abf90 lw s1, 0x54(sp) | s1 = *(var_54h_2);
0x000abf94 lw s0, 0x50(sp) | s0 = *(var_50h_2);
0x000abf98 addiu sp, sp, 0x78 |
0x000abf9c jr ra | return v0;
| label_58:
0x000abfa0 lw t9, -0x6fd0(gp) | t9 = sym.imp.internal_hashmap_remove_value;
0x000abfa4 move a2, s0 | a2 = s0;
0x000abfa8 lw a0, 4(v0) | a0 = *((v0 + 1));
0x000abfac addiu a1, s0, 0x310 | a1 = s0 + aav.0x00000310;
0x000abfb0 jalr t9 | t9 ();
0x000abfb4 lw s1, 0xac(s0) | s1 = *((s0 + 43));
0x000abfb8 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (s1 != 0) {
0x000abfbc bnez s1, 0xab9d0 | goto label_13;
| }
0x000abfc0 lw s1, 0xb0(s0) | s1 = *((s0 + 44));
0x000abfc4 b 0xab9f4 | goto label_14;
| label_52:
0x000abfc8 lw t9, -0x7cd8(gp) | t9 = *(gp);
0x000abfcc bal 0xa5bf0 | fcn_000a5bf0 ();
0x000abfd0 nop |
0x000abfd4 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != 0) {
0x000abfd8 bnez v0, 0xab714 | goto label_15;
| }
0x000abfdc lw a0, 8(s1) | a0 = *((s1 + 2));
0x000abfe0 b 0xab738 | goto label_16;
| label_69:
0x000abfe4 lw a0, (s0) | a0 = *(s0);
0x000abfe8 lw v0, 0x1b4(s0) | v0 = *(s0);
| if (v1 != 0) {
0x000abfec beqz v1, 0xabff8 |
0x000abff0 sw v0, 0x1b4(v1) | *(v1) = v0;
0x000abff4 lw v0, 0x1b4(s0) | v0 = *(s0);
| }
| if (v0 == 0) {
0x000abff8 beql v0, zero, 0xac22c | goto label_72;
| }
0x000abffc lw v0, 0x60(a0) | v0 = *((a0 + 24));
0x000ac000 lw v1, 0x1b0(s0) | v1 = *(s0);
0x000ac004 sw v1, 0x1b0(v0) | *(v0) = v1;
0x000ac008 sw zero, 0x1b4(s0) | *(s0) = 0;
0x000ac00c sw zero, 0x1b0(s0) | *(s0) = 0;
0x000ac010 b 0xabd3c | goto label_17;
| label_62:
0x000ac014 addu v1, a1, v1 | v1 = a1 + v1;
0x000ac018 lw v0, 0xc(v1) | v0 = *((v1 + 3));
0x000ac01c lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 != s0) {
0x000ac020 bne v0, s0, 0xac248 | goto label_73;
| }
0x000ac024 lw v0, 0x170(s0) | v0 = *(s0);
0x000ac028 sw v0, 0xc(v1) | *((v1 + 3)) = v0;
0x000ac02c sw zero, 0x174(s0) | *(s0) = 0;
0x000ac030 sw zero, 0x170(s0) | *(s0) = 0;
0x000ac034 b 0xabbac | goto label_18;
| label_70:
0x000ac038 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 != s0) {
0x000ac03c bne v0, s0, 0xac25c | goto label_74;
| }
0x000ac040 lw v0, 0x1b8(s0) | v0 = *(s0);
0x000ac044 sw v0, 0x64(a0) | *((a0 + 25)) = v0;
0x000ac048 sw zero, 0x1bc(s0) | *(s0) = 0;
0x000ac04c sw zero, 0x1b8(s0) | *(s0) = 0;
0x000ac050 b 0xabd7c | goto label_19;
| label_51:
0x000ac054 lw t9, -0x7838(gp) | t9 = *(gp);
| if (v0 == 0) {
0x000ac058 beqz v0, 0xab6c8 | goto label_20;
| }
0x000ac05c lw a0, 0x80(s0) | a0 = *((s0 + 32));
0x000ac060 lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
| if (a0 != 0) {
0x000ac064 beqz a0, 0xac074 |
0x000ac068 jalr t9 | t9 ();
0x000ac06c nop |
0x000ac070 lw gp, 0x18(fp) | gp = *(var_18h_4);
| }
0x000ac074 lw s1, 0x88(s0) | s1 = *((s0 + 34));
0x000ac078 lw a0, (s1) | a0 = *(s1);
| if (s1 == 0) {
0x000ac07c bnel s1, zero, 0xac108 | goto label_75;
| }
0x000ac080 lw t9, -0x7838(gp) | t9 = *(gp);
0x000ac084 b 0xab6c8 | goto label_20;
| label_22:
0x000ac088 lw t9, -0x6b54(gp) | t9 = sym.imp.dirname_malloc;
0x000ac08c move a0, v0 | a0 = v0;
0x000ac090 jalr t9 | t9 ();
0x000ac094 move s3, v0 | s3 = v0;
0x000ac098 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 == 0) {
0x000ac09c beqz v0, 0xac124 | goto label_76;
| }
0x000ac0a0 lw v0, (s0) | v0 = *(s0);
0x000ac0a4 lw t9, -0x6968(gp) | t9 = sym.imp.path_equal;
0x000ac0a8 move a1, s3 | a1 = s3;
0x000ac0ac lw a0, 0xe0(v0) | a0 = *((v0 + 56));
0x000ac0b0 jalr t9 | t9 ();
0x000ac0b4 lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != 0) {
0x000ac0b8 beqz v0, 0xac0dc |
0x000ac0bc lw t9, -0x6e24(gp) | t9 = sym.imp.unlink;
0x000ac0c0 lw a0, (s1) | a0 = *(s1);
0x000ac0c4 jalr t9 | t9 ();
0x000ac0c8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ac0cc lw t9, -0x71b4(gp) | t9 = sym.imp.rmdir;
0x000ac0d0 move a0, s2 | a0 = s2;
0x000ac0d4 jalr t9 | t9 ();
0x000ac0d8 lw gp, 0x18(fp) | gp = *(var_18h_4);
| }
| label_23:
0x000ac0dc lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000ac0e0 move a0, s3 | a0 = s3;
0x000ac0e4 jalr t9 | t9 ();
0x000ac0e8 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ac0ec move a0, s2 | a0 = s2;
0x000ac0f0 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000ac0f4 addiu s1, s1, 4 | s1 += 4;
0x000ac0f8 jalr t9 | t9 ();
0x000ac0fc lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (s1 == 0) {
0x000ac100 beqz s1, 0xab6c4 | goto label_21;
| }
0x000ac104 lw a0, (s1) | a0 = *(s1);
| label_75:
0x000ac108 lw t9, -0x6b54(gp) | t9 = sym.imp.dirname_malloc;
| if (a0 == 0) {
0x000ac10c beqz a0, 0xab6c4 | goto label_21;
| }
0x000ac110 jalr t9 | t9 ();
0x000ac114 nop |
0x000ac118 move s2, v0 | s2 = v0;
0x000ac11c lw gp, 0x18(fp) | gp = *(var_18h_4);
| if (v0 != 0) {
0x000ac120 bnez v0, 0xac088 | goto label_22;
| }
| label_76:
0x000ac124 move s3, zero | s3 = 0;
0x000ac128 b 0xac0dc | goto label_23;
| label_60:
0x000ac12c lw a0, (s0) | a0 = *(s0);
0x000ac130 jalr t9 | t9 ();
0x000ac134 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ac138 b 0xabae0 | goto label_24;
| label_61:
0x000ac13c lw t9, -0x7820(gp) | t9 = *(gp);
0x000ac140 move a0, s0 | a0 = s0;
0x000ac144 bal 0xaaf48 | fcn_000aaf48 ();
| goto label_25;
0x000ac148 lw gp, 0x18(fp) | gp = *(var_18h_4);
0x000ac14c b 0xabafc | goto label_26;
| label_63:
0x000ac150 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 == s0) {
0x000ac154 bne v0, s0, 0xac1a0 |
0x000ac158 lw v0, 0x178(s0) | v0 = *(s0);
0x000ac15c sw v0, 0x38(a0) | *((a0 + 14)) = v0;
0x000ac160 b 0xabbe4 | goto label_27;
| label_64:
0x000ac164 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 != s0) {
0x000ac168 bne v0, s0, 0xac1c8 | goto label_77;
| }
0x000ac16c lw v0, 0x180(s0) | v0 = *(s0);
0x000ac170 sw v0, 0x40(a0) | *((a0 + 16)) = v0;
0x000ac174 b 0xabc24 | goto label_28;
| label_65:
0x000ac178 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 != s0) {
0x000ac17c bne v0, s0, 0xac1dc | goto label_78;
| }
0x000ac180 lw v0, 0x190(s0) | v0 = *(s0);
0x000ac184 sw v0, 0x4c(a0) | *((a0 + 19)) = v0;
0x000ac188 b 0xabc64 | goto label_29;
| label_66:
0x000ac18c lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 != s0) {
0x000ac190 bne v0, s0, 0xac1f0 | goto label_79;
| }
0x000ac194 lw v0, 0x198(s0) | v0 = *(s0);
0x000ac198 sw v0, 0x54(a0) | *((a0 + 21)) = v0;
0x000ac19c b 0xabca4 | goto label_30;
| }
0x000ac1a0 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac1a4 addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac1a8 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac1ac addiu a3, zero, 0x295 | a3 = 0x295;
| do {
| label_31:
0x000ac1b0 lw a2, -0x7fbc(gp) | a2 = *(gp);
0x000ac1b4 lw a1, -0x7fd8(gp) | a1 = sym.imp.log_target_to_string;
| /* esilref: 'src/core/unit.c' */
0x000ac1b8 addiu a2, a2, -0x4b1 | a2 += -0x4b1;
| /* str._head___item */
0x000ac1bc addiu a1, a1, 0x7f24 | a1 += 0x7f24;
0x000ac1c0 move a0, zero | a0 = 0;
0x000ac1c4 jalr t9 | t9 ();
| label_77:
0x000ac1c8 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000ac1cc addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac1d0 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac1d4 addiu a3, zero, 0x298 | a3 = aav.0x00000298;
0x000ac1d8 b 0xac1b0 |
| } while (1);
| label_78:
0x000ac1dc lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac1e0 addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac1e4 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac1e8 addiu a3, zero, 0x29b | a3 = 0x29b;
0x000ac1ec b 0xac1b0 | goto label_31;
| label_79:
0x000ac1f0 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac1f4 addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac1f8 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac1fc addiu a3, zero, 0x29e | a3 = 0x29e;
0x000ac200 b 0xac1b0 | goto label_31;
| label_67:
0x000ac204 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 == s0) {
0x000ac208 bne v0, s0, 0xac270 |
0x000ac20c lw v0, 0x1a0(s0) | v0 = *(s0);
0x000ac210 sw v0, 0x58(a0) | *((a0 + 22)) = v0;
0x000ac214 b 0xabce4 | goto label_32;
| label_68:
0x000ac218 lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 != s0) {
0x000ac21c bne v0, s0, 0xac284 | goto label_80;
| }
0x000ac220 lw v0, 0x188(s0) | v0 = *(s0);
0x000ac224 sw v0, 0x48(a0) | *((a0 + 18)) = v0;
0x000ac228 b 0xabd24 | goto label_33;
| label_72:
0x000ac22c lw v0, -0x7fbc(gp) | v0 = *(gp);
| if (v0 != s0) {
0x000ac230 bne v0, s0, 0xac298 | goto label_81;
| }
0x000ac234 lw v0, 0x1b0(s0) | v0 = *(s0);
0x000ac238 sw v0, 0x60(a0) | *((a0 + 24)) = v0;
0x000ac23c sw zero, 0x1b4(s0) | *(s0) = 0;
0x000ac240 sw zero, 0x1b0(s0) | *(s0) = 0;
0x000ac244 b 0xabd3c | goto label_17;
| label_73:
0x000ac248 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac24c addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac250 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac254 addiu a3, zero, 0x292 | a3 = 0x292;
0x000ac258 b 0xac1b0 | goto label_31;
| label_74:
0x000ac25c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac260 addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac264 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac268 addiu a3, zero, 0x2aa | a3 = 0x2aa;
0x000ac26c b 0xac1b0 | goto label_31;
| }
0x000ac270 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac274 addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac278 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac27c addiu a3, zero, 0x2a1 | a3 = 0x2a1;
0x000ac280 b 0xac1b0 | goto label_31;
| label_80:
0x000ac284 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac288 addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac28c sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac290 addiu a3, zero, 0x2a4 | a3 = aav.0x000002a4;
0x000ac294 b 0xac1b0 | goto label_31;
| label_81:
0x000ac298 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
| /* str.unit_free */
0x000ac29c addiu v0, v0, 0x3124 | v0 += 0x3124;
0x000ac2a0 sw v0, 0x10(sp) | *((sp + 4)) = v0;
0x000ac2a4 addiu a3, zero, 0x2a7 | a3 = 0x2a7;
0x000ac2a8 b 0xac1b0 | goto label_31;
| label_71:
0x000ac2ac lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
0x000ac2b0 jalr t9 | t9 ();
0x000ac2b4 nop |
0x000ac2b8 lui gp, 0xb |
0x000ac2bc addiu gp, gp, 0x6da8 |
0x000ac2c0 addu gp, gp, t9 | gp += t9;
0x000ac2c4 addiu sp, sp, -0x30 |
0x000ac2c8 lw t9, -0x7ac8(gp) | t9 = *(gp);
0x000ac2cc sw gp, 0x10(sp) | *((sp + 4)) = gp;
0x000ac2d0 sw s2, 0x28(sp) | *((sp + 10)) = s2;
0x000ac2d4 sw s1, 0x24(sp) | *((sp + 9)) = s1;
0x000ac2d8 sw ra, 0x2c(sp) | *(var_2ch_5) = ra;
0x000ac2dc sw s0, 0x20(sp) | *((sp + 8)) = s0;
0x000ac2e0 move s1, a2 | s1 = a2;
0x000ac2e4 move s2, a3 | s2 = a3;
0x000ac2e8 bal 0x9dd2c | fcn_0009dd2c ();
0x000ac2ec lw gp, 0x10(sp) | gp = *((sp + 4));
| if (v0 != 0) {
0x000ac2f0 beqz v0, 0xac32c |
0x000ac2f4 lw t9, -0x7ac4(gp) | t9 = *(gp);
0x000ac2f8 move a1, s1 | a1 = s1;
0x000ac2fc move a0, v0 | a0 = v0;
0x000ac300 move s0, v0 | s0 = v0;
0x000ac304 bal 0xa616c | fcn_000a616c ();
0x000ac308 lw gp, 0x10(sp) | gp = *((sp + 4));
| if (v0 < 0) {
0x000ac30c bltz v0, 0xac348 | goto label_82;
| }
0x000ac310 sw s0, (s2) | *(s2) = s0;
0x000ac314 lw ra, 0x2c(sp) | ra = *(var_2ch_5);
0x000ac318 lw s2, 0x28(sp) | s2 = *((sp + 10));
0x000ac31c lw s1, 0x24(sp) | s1 = *((sp + 9));
0x000ac320 lw s0, 0x20(sp) | s0 = *((sp + 8));
0x000ac324 addiu sp, sp, 0x30 |
0x000ac328 jr ra | return v0;
| }
0x000ac32c lw ra, 0x2c(sp) | ra = *(var_2ch_5);
0x000ac330 lw s2, 0x28(sp) | s2 = *((sp + 10));
0x000ac334 lw s1, 0x24(sp) | s1 = *((sp + 9));
0x000ac338 lw s0, 0x20(sp) | s0 = *((sp + 8));
0x000ac33c addiu v0, zero, -0xc | v0 = -0xc;
0x000ac340 addiu sp, sp, 0x30 |
0x000ac344 jr ra | return v0;
| label_82:
0x000ac348 lw t9, -0x7b18(gp) | t9 = *((gp - 7878));
0x000ac34c sw v0, 0x1c(sp) | *((sp + 7)) = v0;
0x000ac350 move a0, s0 | a0 = s0;
0x000ac354 bal 0xab61c | fcn_ab61c ();
| goto label_34;
0x000ac358 lw ra, 0x2c(sp) | ra = *(var_2ch_5);
0x000ac35c lw v0, 0x1c(sp) | v0 = *((sp + 7));
0x000ac360 lw s2, 0x28(sp) | s2 = *((sp + 10));
0x000ac364 lw s1, 0x24(sp) | s1 = *((sp + 9));
0x000ac368 lw s0, 0x20(sp) | s0 = *((sp + 8));
0x000ac36c addiu sp, sp, 0x30 |
0x000ac370 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0xde598 */
| #include <stdint.h>
|
; (fcn) fcn.000de598 () | void fcn_000de598 () {
| label_6:
0x000de598 lui gp, 8 |
0x000de59c addiu gp, gp, 0x4ac8 |
0x000de5a0 addu gp, gp, t9 | gp += t9;
0x000de5a4 addiu sp, sp, -0x58 |
0x000de5a8 sw s1, 0x40(sp) | *(var_40h) = s1;
0x000de5ac lw s1, -0x6f14(gp) | s1 = *((gp - 7109));
0x000de5b0 sw fp, 0x50(sp) | *(var_50h) = fp;
0x000de5b4 sw ra, 0x54(sp) | *(var_54h) = ra;
0x000de5b8 sw s4, 0x4c(sp) | *(var_4ch) = s4;
0x000de5bc sw s3, 0x48(sp) | *(var_48h) = s3;
0x000de5c0 sw s2, 0x44(sp) | *(var_44h) = s2;
0x000de5c4 sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x000de5c8 sw gp, 0x28(sp) | *(var_28h) = gp;
0x000de5cc move fp, sp | fp = sp;
0x000de5d0 lw v0, (s1) | v0 = *(s1);
0x000de5d4 sw v0, 0x34(fp) | *(var_34h_2) = v0;
0x000de5d8 addiu s2, a0, 0x420 | s2 = a0 + aav.0x00000420;
| if (a0 == 0) {
0x000de5dc beqz a0, 0xde814 | goto label_7;
| }
0x000de5e0 lbu v0, 0x36c(a0) | v0 = *(a0);
0x000de5e4 addiu v1, zero, 2 | v1 = 2;
0x000de5e8 andi v0, v0, 2 | v0 &= 2;
0x000de5ec move s0, a0 | s0 = a0;
0x000de5f0 sw zero, 0x37c(a0) | *(a0) = 0;
0x000de5f4 sw v1, 0x740(a0) | *((a0 + 464)) = v1;
0x000de5f8 sw s2, 0x73c(a0) | *((a0 + 463)) = s2;
| if (v0 == 0) {
0x000de5fc beqz v0, 0xde758 | goto label_8;
| }
0x000de600 lw s4, 0x364(a0) | s4 = *(a0);
0x000de604 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (s4 == 0) {
0x000de608 beqz s4, 0xde808 | goto label_9;
| }
0x000de60c move a0, s4 | a0 = s4;
0x000de610 jalr t9 | t9 ();
0x000de614 lui a0, 0x40 | a0 = 0x400000;
0x000de618 addiu v1, v0, 9 | v1 = v0 + 9;
0x000de61c addiu a0, a0, 1 | a0++;
0x000de620 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000de624 lw gp, 0x28(fp) | gp = *(var_28h);
| if (v1 == 0) {
0x000de628 beqz v1, 0xde83c | goto label_10;
| }
0x000de62c lw v1, -0x7fc4(gp) | v1 = *(gp);
0x000de630 addiu v0, v0, 0x10 | v0 += 0x10;
0x000de634 srl v0, v0, 3 | v0 >>= 3;
| /* str.remount_ */
0x000de638 addiu a0, v1, 0x5edc | a0 = v1 + 0x5edc;
0x000de63c sll v0, v0, 3 | v0 <<= 3;
0x000de640 subu sp, sp, v0 |
0x000de644 addiu s3, sp, 0x28 | s3 = sp + 0x28;
0x000de648 lw v0, 4(a0) | v0 = *((a0 + 1));
0x000de64c lw v1, 0x5edc(v1) | v1 = *((v1 + 6071));
0x000de650 lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x000de654 sw v1, (s3) | *(s3) = v1;
0x000de658 sw v0, 4(s3) | *(var_1ch_2) = v0;
0x000de65c move a1, s4 | a1 = s4;
0x000de660 addiu a0, s3, 8 | a0 = s3 + 8;
0x000de664 jalr t9 | t9 ();
0x000de668 lw gp, 0x28(fp) | gp = *(var_28h);
| label_2:
0x000de66c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000de670 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000de674 lw a3, 0x350(s0) | a3 = *(s0);
0x000de678 lw a2, 0x360(s0) | a2 = *(s0);
0x000de67c lw t9, -0x76cc(gp) | t9 = *((gp - 7603));
| /* esilref: '-o' */
0x000de680 addiu v0, v0, 0x5ef8 | v0 += 0x5ef8;
0x000de684 sw zero, 0x18(sp) | *(var_18h_4) = 0;
0x000de688 sw s3, 0x14(sp) | *(var_14h_3) = s3;
0x000de68c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._usr_bin_mount */
0x000de690 addiu a1, a1, 0x5ee8 | a1 += 0x5ee8;
0x000de694 move a0, s2 | a0 = s2;
0x000de698 jalr t9 | t9 ();
0x000de69c lw gp, 0x28(fp) | gp = *(var_28h);
| if (v0 < 0) {
0x000de6a0 bltz v0, 0xde75c | goto label_11;
| }
0x000de6a4 lbu v0, 0x374(s0) | v0 = *(s0);
0x000de6a8 lw a1, -0x7fc4(gp) | a1 = *(gp);
| if (v0 != 0) {
0x000de6ac bnez v0, 0xde7e4 | goto label_12;
| }
| label_0:
0x000de6b0 lw a2, 0x368(s0) | a2 = *(s0);
0x000de6b4 lw a1, -0x7fc4(gp) | a1 = *(gp);
| if (a2 != 0) {
0x000de6b8 beqz a2, 0xde6d8 |
0x000de6bc lw t9, -0x76c8(gp) | t9 = *((gp - 7602));
0x000de6c0 lw a0, 0x73c(s0) | a0 = *((s0 + 463));
0x000de6c4 move a3, zero | a3 = 0;
| /* esilref: '-t' */
0x000de6c8 addiu a1, a1, 0x5f00 | a1 += 0x5f00;
0x000de6cc jalr t9 | t9 ();
0x000de6d0 lw gp, 0x28(fp) | gp = *(var_28h);
| if (v0 < 0) {
0x000de6d4 bltz v0, 0xde75c | goto label_11;
| }
| }
0x000de6d8 lw t9, -0x76e0(gp) | t9 = *(gp);
| /* fcn.000dc77c */
0x000de6dc addiu t9, t9, -0x3884 | t9 += -0x3884;
0x000de6e0 move a0, s0 | a0 = s0;
0x000de6e4 bal 0xdc77c | fcn_000dc77c ();
0x000de6e8 lw gp, 0x28(fp) | gp = *(var_28h);
0x000de6ec lw a1, 0x73c(s0) | a1 = *((s0 + 463));
0x000de6f0 addiu a2, s0, 0x744 | a2 = s0 + 0x744;
0x000de6f4 lw t9, -0x76e0(gp) | t9 = *(gp);
| /* fcn.000dd514 */
0x000de6f8 addiu t9, t9, -0x2aec | t9 += -0x2aec;
0x000de6fc move a0, s0 | a0 = s0;
0x000de700 bal 0xdd514 | fcn_000dd514 ();
0x000de704 lw gp, 0x28(fp) | gp = *(var_28h);
| if (v0 < 0) {
0x000de708 bltz v0, 0xde75c | goto label_11;
| }
0x000de70c lw t9, -0x76e0(gp) | t9 = *(gp);
0x000de710 addiu a1, zero, 4 | a1 = 4;
| /* fcn.000dc7f0 */
0x000de714 addiu t9, t9, -0x3810 | t9 += -aav.0x00003810;
0x000de718 move a0, s0 | a0 = s0;
0x000de71c bal 0xdc7f0 | fcn_000dc7f0 ();
0x000de720 lw gp, 0x28(fp) | gp = *(var_28h);
| do {
0x000de724 lw v1, 0x34(fp) | v1 = *(var_34h_2);
0x000de728 lw v0, (s1) | v0 = *(s1);
0x000de72c lw ra, 0x54(fp) | ra = *(var_54h);
| if (v1 != v0) {
0x000de730 bne v1, v0, 0xde868 | goto label_13;
| }
0x000de734 move sp, fp |
0x000de738 lw fp, 0x50(sp) | fp = *(var_50h);
0x000de73c lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x000de740 lw s3, 0x48(sp) | s3 = *(var_48h);
0x000de744 lw s2, 0x44(sp) | s2 = *(var_44h);
0x000de748 lw s1, 0x40(sp) | s1 = *(var_40h);
0x000de74c lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x000de750 addiu sp, sp, 0x58 |
0x000de754 jr ra | return v0;
| label_8:
0x000de758 addiu v0, zero, -2 | v0 = -2;
| label_11:
0x000de75c lw v1, -0x7fc4(gp) | v1 = *(gp);
| label_1:
0x000de760 lw a0, (s0) | a0 = *(s0);
0x000de764 addiu a1, s0, 0x320 | a1 = s0 + section..hash;
| /* str.Failed_to_run_remount_task:__m */
0x000de768 addiu v1, v1, 0x5f04 | v1 += 0x5f04;
0x000de76c sw v1, 0x24(sp) | *(var_24h_4) = v1;
0x000de770 sw a1, 0x20(sp) | *(var_20h_2) = a1;
0x000de774 lw a1, 0x40c(a0) | a1 = *(a0);
0x000de778 lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x000de77c sw a1, 0x1c(sp) | *(var_1ch_2) = a1;
0x000de780 sw v1, 0x18(sp) | *(var_18h_4) = v1;
0x000de784 lw v1, 0x404(a0) | v1 = *(a0);
0x000de788 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000de78c sw v1, 0x14(sp) | *(var_14h_3) = v1;
0x000de790 lw v1, -0x7fc4(gp) | v1 = *(gp);
0x000de794 lw t9, -0x6dc0(gp) | t9 = sym.imp.log_object_internal;
| /* esilref: 'mount_enter_remounting' */
0x000de798 addiu v1, v1, 0x652c | v1 += 0x652c;
0x000de79c sw v1, 0x10(sp) | *(var_10h) = v1;
0x000de7a0 addiu a3, zero, 0x42a | a3 = 0x42a;
| /* esilref: 'src/core/mount.c' */
0x000de7a4 addiu a2, a2, 0x5a47 | a2 += 0x5a47;
0x000de7a8 move a1, v0 | a1 = v0;
0x000de7ac addiu a0, zero, 4 | a0 = 4;
0x000de7b0 jalr t9 | t9 ();
0x000de7b4 lw v0, 0x37c(s0) | v0 = *(s0);
0x000de7b8 lw gp, 0x28(fp) | gp = *(var_28h);
| if (v0 == 0) {
0x000de7bc bnez v0, 0xde7c8 |
0x000de7c0 addiu v0, zero, 1 | v0 = 1;
0x000de7c4 sw v0, 0x37c(s0) | *(s0) = v0;
| }
0x000de7c8 lw t9, -0x76e0(gp) | t9 = *(gp);
0x000de7cc move a1, zero | a1 = 0;
| /* fcn.000ddafc */
0x000de7d0 addiu t9, t9, -0x2504 | t9 += -0x2504;
0x000de7d4 move a0, s0 | a0 = s0;
0x000de7d8 bal 0xddafc | fcn_000ddafc ();
0x000de7dc lw gp, 0x28(fp) | gp = *(var_28h);
0x000de7e0 b 0xde724 |
| } while (1);
| label_12:
0x000de7e4 lw t9, -0x76c8(gp) | t9 = *((gp - 7602));
0x000de7e8 lw a0, 0x73c(s0) | a0 = *((s0 + 463));
0x000de7ec move a2, zero | a2 = 0;
| /* esilref: '-s' */
0x000de7f0 addiu a1, a1, 0x5efc | a1 += 0x5efc;
0x000de7f4 jalr t9 | t9 ();
0x000de7f8 lw gp, 0x28(fp) | gp = *(var_28h);
| if (v0 >= 0) {
0x000de7fc bgez v0, 0xde6b0 | goto label_0;
| }
0x000de800 lw v1, -0x7fc4(gp) | v1 = *(gp);
0x000de804 b 0xde760 | goto label_1;
| label_9:
0x000de808 lw s3, -0x7fc4(gp) | s3 = *(gp);
| /* str.remount */
0x000de80c addiu s3, s3, 0x5ed4 | s3 += 0x5ed4;
0x000de810 b 0xde66c | goto label_2;
| label_7:
0x000de814 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000de818 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000de81c lw a1, -0x7fbc(gp) | a1 = *(gp);
| /* str.mount_enter_remounting */
0x000de820 addiu v0, v0, 0x6544 | v0 += 0x6544;
0x000de824 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000de828 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000de82c addiu a3, zero, 0x402 | a3 = 0x402;
| /* esilref: 'src/core/mount.c' */
0x000de830 addiu a2, a2, 0x5a47 | a2 += 0x5a47;
0x000de834 addiu a1, a1, 0x570 | a1 += 0x570;
0x000de838 jalr t9 | t9 ();
| label_10:
0x000de83c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000de840 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000de844 lw a1, -0x7f58(gp) | a1 = *(gp);
| /* str.mount_enter_remounting */
0x000de848 addiu v0, v0, 0x6544 | v0 += 0x6544;
0x000de84c lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000de850 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000de854 addiu a3, zero, 0x40f | a3 = 0x40f;
| /* esilref: 'src/core/mount.c' */
0x000de858 addiu a2, a2, 0x5a47 | a2 += 0x5a47;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x000de85c addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x000de860 move a0, zero | a0 = 0;
0x000de864 jalr t9 | t9 ();
| label_13:
0x000de868 lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
0x000de86c jalr t9 | t9 ();
0x000de870 nop |
0x000de874 lui gp, 8 |
0x000de878 addiu gp, gp, 0x47ec |
0x000de87c addu gp, gp, t9 | gp += t9;
0x000de880 addiu sp, sp, -0x50 |
0x000de884 sw s1, 0x48(sp) | *(var_48h_2) = s1;
0x000de888 lw s1, -0x6f14(gp) | s1 = *((gp - 7109));
0x000de88c sw gp, 0x28(sp) | *(var_28h_2) = gp;
0x000de890 sw ra, 0x4c(sp) | *(var_4ch_2) = ra;
0x000de894 sw s0, 0x44(sp) | *(var_44h_2) = s0;
0x000de898 lw v0, (s1) | v0 = *(s1);
0x000de89c sw v0, 0x3c(sp) | *(var_3ch_2) = v0;
0x000de8a0 lw v0, -0x7fc4(gp) | v0 = *(gp);
| if (a0 == 0) {
0x000de8a4 beqz a0, 0xdebf8 | goto label_14;
| }
0x000de8a8 lw v1, 4(a0) | v1 = *((a0 + 1));
0x000de8ac addiu v0, zero, 1 | v0 = 1;
0x000de8b0 move s0, a0 | s0 = a0;
| if (v1 != v0) {
0x000de8b4 bne v1, v0, 0xdebf4 | goto label_15;
| }
0x000de8b8 lw v0, 0x734(a0) | v0 = *((a0 + 461));
0x000de8bc sltiu a0, v0, 0xa | a0 = (v0 < 0xa) ? 1 : 0;
0x000de8c0 sllv a0, v1, v0 | a0 = v1 << v0;
| if (a0 != 0) {
0x000de8c4 beqz a0, 0xde8dc |
0x000de8c8 andi a0, a0, 0x320 | a0 &= section..hash;
0x000de8cc addiu v0, zero, -0xb | v0 = -0xb;
| if (a0 == 0) {
0x000de8d0 bnel a0, zero, 0xdebb0 | goto label_16;
| }
| if (v0 == v1) {
0x000de8d4 beql v0, v1, 0xdebb0 | goto label_16;
| }
0x000de8d8 move v0, zero | v0 = 0;
| }
0x000de8dc addiu v1, zero, 0xa | v1 = 0xa;
| if (v0 != 0) {
0x000de8e0 beqz v0, 0xde914 |
0x000de8e4 lw v0, -0x7fc4(gp) | v0 = *(gp);
| if (v0 == v1) {
0x000de8e8 beq v0, v1, 0xde914 | goto label_17;
| }
0x000de8ec lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000de8f0 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.mount_start */
0x000de8f4 addiu v0, v0, 0x6514 | v0 += 0x6514;
0x000de8f8 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000de8fc sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000de900 addiu a3, zero, 0x44c | a3 = 0x44c;
| /* esilref: 'src/core/mount.c' */
0x000de904 addiu a2, a2, 0x5a47 | a2 += 0x5a47;
| /* str.IN_SET_m__state__MOUNT_DEAD__MOUNT_FAILED_ */
0x000de908 addiu a1, a1, 0x5f28 | a1 += 0x5f28;
0x000de90c move a0, zero | a0 = 0;
0x000de910 jalr t9 | t9 ();
| }
| label_17:
0x000de914 lw t9, -0x7a00(gp) | t9 = *(gp);
0x000de918 move a0, s0 | a0 = s0;
0x000de91c jalr t9 | t9 ();
0x000de920 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000de924 bltz v0, 0xdebd0 | goto label_18;
| }
0x000de928 lw t9, -0x79fc(gp) | t9 = *(gp);
0x000de92c move a0, s0 | a0 = s0;
0x000de930 jalr t9 | t9 ();
0x000de934 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000de938 bltz v0, 0xdebb0 | goto label_16;
| }
0x000de93c lw t9, -0x76e0(gp) | t9 = *(gp);
| /* fcn.000dc688 */
0x000de940 addiu t9, t9, -0x3978 | t9 += -0x3978;
0x000de944 move a0, s0 | a0 = s0;
0x000de948 bal 0xdc688 | fcn_000dc688 ();
0x000de94c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000de950 lw a1, 0x350(s0) | a1 = *(s0);
0x000de954 lw t9, -0x77f0(gp) | t9 = *(gp);
0x000de958 move a0, s0 | a0 = s0;
0x000de95c jalr t9 | t9 ();
0x000de960 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000de964 bltz v0, 0xdeb30 | goto label_3;
| }
0x000de968 lw t9, -0x6f70(gp) | t9 = sym.imp.mkdir_p_label;
0x000de96c lw a1, 0x380(s0) | a1 = *(s0);
0x000de970 lw a0, 0x350(s0) | a0 = *(s0);
0x000de974 jalr t9 | t9 ();
0x000de978 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000de97c lw a1, 0x350(s0) | a1 = *(s0);
0x000de980 lw t9, -0x77ec(gp) | t9 = *(gp);
0x000de984 move a0, s0 | a0 = s0;
0x000de988 jalr t9 | t9 ();
0x000de98c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000de990 lw t9, -0x7984(gp) | t9 = *(gp);
0x000de994 move a0, s0 | a0 = s0;
0x000de998 jalr t9 | t9 ();
0x000de99c lbu v0, 0x36c(s0) | v0 = *(s0);
0x000de9a0 addiu v1, s0, 0x390 | v1 = s0 + aav.0x00000390;
0x000de9a4 andi v0, v0, 2 | v0 &= 2;
0x000de9a8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000de9ac sw zero, 0x740(s0) | *((s0 + 464)) = 0;
0x000de9b0 sw v1, 0x73c(s0) | *((s0 + 463)) = v1;
| if (v0 == 0) {
0x000de9b4 beqz v0, 0xdec20 | goto label_19;
| }
0x000de9b8 lw t9, -0x76e0(gp) | t9 = *(gp);
| /* fcn.000dcc58 */
0x000de9bc addiu t9, t9, -0x33a8 | t9 += -0x33a8;
0x000de9c0 addiu a0, s0, 0x360 | a0 = s0 + aav.0x00000360;
0x000de9c4 bal 0xdcc58 | fcn_000dcc58 ();
0x000de9c8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x000de9cc bnez v0, 0xdec38 | goto label_20;
| }
| label_5:
0x000de9d0 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000de9d4 lw t9, -0x6e08(gp) | t9 = sym.imp.fstab_filter_options;
0x000de9d8 lw a0, 0x364(s0) | a0 = *(s0);
0x000de9dc addiu v0, sp, 0x38 | v0 = sp + 0x38;
0x000de9e0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000de9e4 move a3, zero | a3 = 0;
0x000de9e8 move a2, zero | a2 = 0;
| /* esilref: 'nofail' */
0x000de9ec addiu a1, a1, 0x5af8 | a1 += 0x5af8;
0x000de9f0 sw zero, 0x38(sp) | *(var_38h) = 0;
0x000de9f4 jalr t9 | t9 ();
0x000de9f8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000de9fc bltz v0, 0xdeb18 | goto label_21;
| }
0x000dea00 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000dea04 lw t9, -0x76cc(gp) | t9 = *((gp - 7603));
0x000dea08 lw a3, 0x350(s0) | a3 = *(s0);
0x000dea0c lw a2, 0x360(s0) | a2 = *(s0);
0x000dea10 lw a0, 0x73c(s0) | a0 = *((s0 + 463));
| /* str._usr_bin_mount */
0x000dea14 addiu a1, a1, 0x5ee8 | a1 += 0x5ee8;
0x000dea18 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x000dea1c jalr t9 | t9 ();
0x000dea20 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000dea24 bltz v0, 0xdeb18 | goto label_21;
| }
0x000dea28 lbu v0, 0x374(s0) | v0 = *(s0);
0x000dea2c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000dea30 bnez v0, 0xdeafc |
| while (v0 >= 0) {
0x000dea34 lw a2, 0x368(s0) | a2 = *(s0);
0x000dea38 lw t9, -0x76c8(gp) | t9 = *((gp - 7602));
| if (a2 != 0) {
0x000dea3c beqz a2, 0xdea5c |
0x000dea40 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000dea44 lw a0, 0x73c(s0) | a0 = *((s0 + 463));
0x000dea48 move a3, zero | a3 = 0;
| /* esilref: '-t' */
0x000dea4c addiu a1, a1, 0x5f00 | a1 += 0x5f00;
0x000dea50 jalr t9 | t9 ();
0x000dea54 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000dea58 bltz v0, 0xdeb18 | goto label_21;
| }
| }
0x000dea5c lw a2, 0x38(sp) | a2 = *(var_38h);
0x000dea60 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
| if (a2 == 0) {
0x000dea64 beqz a2, 0xdec28 | goto label_22;
| }
0x000dea68 lb v0, (a2) | v0 = *(a2);
0x000dea6c lw a1, -0x7fc4(gp) | a1 = *(gp);
| if (v0 == 0) {
0x000dea70 beqz v0, 0xdec28 | goto label_22;
| }
0x000dea74 lw t9, -0x76c8(gp) | t9 = *((gp - 7602));
0x000dea78 lw a0, 0x73c(s0) | a0 = *((s0 + 463));
0x000dea7c move a3, zero | a3 = 0;
| /* esilref: '-o' */
0x000dea80 addiu a1, a1, 0x5ef8 | a1 += 0x5ef8;
0x000dea84 jalr t9 | t9 ();
0x000dea88 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000dea8c lw a0, 0x38(sp) | a0 = *(var_38h);
0x000dea90 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000dea94 sw v0, 0x34(sp) | *(var_34h) = v0;
0x000dea98 jalr t9 | t9 ();
0x000dea9c lw v0, 0x34(sp) | v0 = *(var_34h);
0x000deaa0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000deaa4 bltz v0, 0xdeb30 | goto label_3;
| }
| label_4:
0x000deaa8 lw t9, -0x76e0(gp) | t9 = *(gp);
| /* fcn.000dc77c */
0x000deaac addiu t9, t9, -0x3884 | t9 += -0x3884;
0x000deab0 move a0, s0 | a0 = s0;
0x000deab4 bal 0xdc77c | fcn_000dc77c ();
0x000deab8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000deabc lw a1, 0x73c(s0) | a1 = *((s0 + 463));
0x000deac0 addiu a2, s0, 0x744 | a2 = s0 + 0x744;
0x000deac4 lw t9, -0x76e0(gp) | t9 = *(gp);
| /* fcn.000dd514 */
0x000deac8 addiu t9, t9, -0x2aec | t9 += -0x2aec;
0x000deacc move a0, s0 | a0 = s0;
0x000dead0 bal 0xdd514 | fcn_000dd514 ();
0x000dead4 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 < 0) {
0x000dead8 bltz v0, 0xdeb30 | goto label_3;
| }
0x000deadc lw t9, -0x76e0(gp) | t9 = *(gp);
0x000deae0 addiu a1, zero, 1 | a1 = 1;
| /* fcn.000dc7f0 */
0x000deae4 addiu t9, t9, -0x3810 | t9 += -aav.0x00003810;
0x000deae8 move a0, s0 | a0 = s0;
0x000deaec bal 0xdc7f0 | fcn_000dc7f0 ();
0x000deaf0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000deaf4 addiu v0, zero, 1 | v0 = 1;
0x000deaf8 b 0xdebb0 | goto label_16;
0x000deafc lw t9, -0x76c8(gp) | t9 = *((gp - 7602));
0x000deb00 lw a0, 0x73c(s0) | a0 = *((s0 + 463));
0x000deb04 move a2, zero | a2 = 0;
| /* esilref: '-s' */
0x000deb08 addiu a1, a1, 0x5efc | a1 += 0x5efc;
0x000deb0c jalr t9 | t9 ();
0x000deb10 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000deb14 bgez v0, 0xdea34 |
| }
| label_21:
0x000deb18 lw t9, -0x6ba4(gp) | t9 = *((gp - 6889));
0x000deb1c lw a0, 0x38(sp) | a0 = *(var_38h);
0x000deb20 sw v0, 0x34(sp) | *(var_34h) = v0;
0x000deb24 jalr t9 | t9 ();
0x000deb28 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000deb2c lw v0, 0x34(sp) | v0 = *(var_34h);
| label_3:
0x000deb30 lw v1, -0x7fc4(gp) | v1 = *(gp);
0x000deb34 lw a0, (s0) | a0 = *(s0);
0x000deb38 addiu a1, s0, 0x320 | a1 = s0 + section..hash;
| /* str.Failed_to_run_mount_task:__m */
0x000deb3c addiu v1, v1, 0x5f54 | v1 += 0x5f54;
0x000deb40 sw v1, 0x24(sp) | *(var_24h) = v1;
0x000deb44 sw a1, 0x20(sp) | *(var_20h) = a1;
0x000deb48 lw a1, 0x40c(a0) | a1 = *(a0);
0x000deb4c lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x000deb50 sw a1, 0x1c(sp) | *(var_1ch) = a1;
0x000deb54 sw v1, 0x18(sp) | *(var_18h) = v1;
0x000deb58 move a1, v0 | a1 = v0;
0x000deb5c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000deb60 lw v1, 0x404(a0) | v1 = *(a0);
0x000deb64 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000deb68 lw t9, -0x6dc0(gp) | t9 = sym.imp.log_object_internal;
| /* str.mount_enter_mounting */
0x000deb6c addiu v0, v0, 0x64fc | v0 += 0x64fc;
0x000deb70 addiu a3, zero, 0x3f0 | a3 = aav.0x000003f0;
| /* esilref: 'src/core/mount.c' */
0x000deb74 addiu a2, a2, 0x5a47 | a2 += 0x5a47;
0x000deb78 addiu a0, zero, 4 | a0 = 4;
0x000deb7c sw v1, 0x14(sp) | *(var_14h) = v1;
0x000deb80 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000deb84 jalr t9 | t9 ();
0x000deb88 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000deb8c addiu v0, zero, 1 | v0 = 1;
0x000deb90 sw v0, 0x34(sp) | *(var_34h) = v0;
0x000deb94 lw t9, -0x76e0(gp) | t9 = *(gp);
0x000deb98 addiu a1, zero, 1 | a1 = 1;
| /* fcn.000ddafc */
0x000deb9c addiu t9, t9, -0x2504 | t9 += -0x2504;
0x000deba0 move a0, s0 | a0 = s0;
0x000deba4 bal 0xddafc | fcn_000ddafc ();
0x000deba8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000debac lw v0, 0x34(sp) | v0 = *(var_34h);
| do {
| label_16:
0x000debb0 lw a0, 0x3c(sp) | a0 = *(var_3ch_2);
0x000debb4 lw v1, (s1) | v1 = *(s1);
0x000debb8 lw ra, 0x4c(sp) | ra = *(var_4ch_2);
| if (a0 != v1) {
0x000debbc bne a0, v1, 0xdec50 | goto label_23;
| }
0x000debc0 lw s1, 0x48(sp) | s1 = *(var_48h_2);
0x000debc4 lw s0, 0x44(sp) | s0 = *(var_44h_2);
0x000debc8 addiu sp, sp, 0x50 |
0x000debcc jr ra | return v0;
| label_18:
0x000debd0 lw t9, -0x76e0(gp) | t9 = *(gp);
0x000debd4 sw v0, 0x34(sp) | *(var_34h) = v0;
0x000debd8 addiu a1, zero, 6 | a1 = 6;
| /* fcn.000dc998 */
0x000debdc addiu t9, t9, -0x3668 | t9 += -0x3668;
0x000debe0 move a0, s0 | a0 = s0;
0x000debe4 bal 0xdc998 | fcn_000dc998 ();
0x000debe8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000debec lw v0, 0x34(sp) | v0 = *(var_34h);
0x000debf0 b 0xdebb0 |
| } while (1);
| label_15:
0x000debf4 lw v0, -0x7fc4(gp) | v0 = *(gp);
| label_14:
0x000debf8 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000debfc lw a1, -0x7fbc(gp) | a1 = *(gp);
| /* str.mount_start */
0x000dec00 addiu v0, v0, 0x6514 | v0 += 0x6514;
0x000dec04 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000dec08 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000dec0c addiu a3, zero, 0x43e | a3 = 0x43e;
| /* esilref: 'src/core/mount.c' */
0x000dec10 addiu a2, a2, 0x5a47 | a2 += 0x5a47;
0x000dec14 addiu a1, a1, 0x570 | a1 += 0x570;
0x000dec18 move a0, zero | a0 = 0;
0x000dec1c jalr t9 | t9 ();
| label_19:
0x000dec20 addiu v0, zero, -2 | v0 = -2;
0x000dec24 b 0xdeb30 | goto label_3;
| label_22:
0x000dec28 move a0, a2 | a0 = a2;
0x000dec2c jalr t9 | t9 ();
0x000dec30 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000dec34 b 0xdeaa8 | goto label_4;
| label_20:
0x000dec38 lw t9, -0x6f70(gp) | t9 = sym.imp.mkdir_p_label;
0x000dec3c lw a1, 0x380(s0) | a1 = *(s0);
0x000dec40 lw a0, 0x360(s0) | a0 = *(s0);
0x000dec44 jalr t9 | t9 ();
0x000dec48 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000dec4c b 0xde9d0 | goto label_5;
| label_23:
0x000dec50 lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
0x000dec54 jalr t9 | t9 ();
0x000dec58 nop |
0x000dec5c lui gp, 8 |
0x000dec60 addiu gp, gp, 0x4404 |
0x000dec64 addu gp, gp, t9 | gp += t9;
0x000dec68 addiu sp, sp, -0x28 |
0x000dec6c sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x000dec70 sw ra, 0x24(sp) | *(var_24h_2) = ra;
0x000dec74 addiu v1, zero, 1 | v1 = 1;
| if (a0 != 0) {
0x000dec78 beqz a0, 0xdecb0 |
0x000dec7c lw a1, 4(a0) | a1 = *((a0 + 1));
0x000dec80 addiu v0, zero, 3 | v0 = 3;
| if (a1 != v1) {
0x000dec84 bne a1, v1, 0xdecb0 | goto label_24;
| }
0x000dec88 lw v1, 0x734(a0) | v1 = *((a0 + 461));
0x000dec8c lw t9, -0x76e0(gp) | t9 = *(gp);
| if (v1 != v0) {
0x000dec90 bne v1, v0, 0xdecdc | goto label_25;
| }
| /* fcn.000de598 */
0x000dec94 addiu t9, t9, -0x1a68 | t9 += -0x1a68;
0x000dec98 bal 0xde598 | fcn_000de598 ();
| goto label_6;
0x000dec9c nop |
0x000deca0 lw ra, 0x24(sp) | ra = *(var_24h_2);
0x000deca4 addiu v0, zero, 1 | v0 = 1;
0x000deca8 addiu sp, sp, 0x28 |
0x000decac jr ra | return v0;
| }
| label_24:
0x000decb0 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000decb4 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000decb8 lw a1, -0x7fbc(gp) | a1 = *(gp);
| /* str.mount_reload */
0x000decbc addiu v0, v0, 0x655c | v0 += 0x655c;
0x000decc0 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000decc4 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x000decc8 addiu a3, zero, 0x488 | a3 = 0x488;
| /* esilref: 'src/core/mount.c' */
0x000deccc addiu a2, a2, 0x5a47 | a2 += 0x5a47;
0x000decd0 addiu a1, a1, 0x570 | a1 += 0x570;
0x000decd4 move a0, zero | a0 = 0;
0x000decd8 jalr t9 | t9 ();
| label_25:
0x000decdc lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000dece0 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x000dece4 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.mount_reload */
0x000dece8 addiu v0, v0, 0x655c | v0 += 0x655c;
0x000decec lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000decf0 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x000decf4 addiu a3, zero, 0x489 | a3 = 0x489;
| /* esilref: 'src/core/mount.c' */
0x000decf8 addiu a2, a2, 0x5a47 | a2 += 0x5a47;
| /* str.m__state__MOUNT_MOUNTED */
0x000decfc addiu a1, a1, 0x5f74 | a1 += 0x5f74;
0x000ded00 move a0, zero | a0 = 0;
0x000ded04 jalr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0xeac70 */
| #include <stdint.h>
|
; (fcn) fcn.000eac70 () | void fcn_000eac70 () {
0x000eac70 lui gp, 8 |
0x000eac74 addiu gp, gp, -0x7c10 |
0x000eac78 addu gp, gp, t9 | gp += t9;
0x000eac7c addiu sp, sp, -0x50 |
0x000eac80 sw s2, 0x44(sp) | *(var_44h) = s2;
0x000eac84 lw s2, -0x6f14(gp) | s2 = *((gp - 7109));
0x000eac88 sw fp, 0x48(sp) | *(var_48h) = fp;
0x000eac8c sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x000eac90 sw s1, 0x40(sp) | *(var_40h) = s1;
0x000eac94 sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x000eac98 sw gp, 0x20(sp) | *(var_20h) = gp;
0x000eac9c move fp, sp | fp = sp;
0x000eaca0 lw v0, (s2) | v0 = *(s2);
0x000eaca4 sw v0, 0x34(fp) | *(var_34h) = v0;
0x000eaca8 lw v0, -0x7f60(gp) | v0 = *((gp - 8152));
| if (a0 == 0) {
0x000eacac beqz a0, 0xeadac | goto label_2;
| }
0x000eacb0 lw t9, -0x6dc4(gp) | t9 = sym.imp.strlen;
| if (a1 == 0) {
0x000eacb4 beqz a1, 0xeadd0 | goto label_3;
| }
0x000eacb8 sw a1, 0x2c(fp) | *(var_2ch) = a1;
0x000eacbc move s1, a0 | s1 = a0;
0x000eacc0 move a0, a1 | a0 = a1;
0x000eacc4 jalr t9 | t9 ();
0x000eacc8 lui a0, 0x40 | a0 = 0x400000;
0x000eaccc addiu v1, v0, 0x10 | v1 = v0 + 0x10;
0x000eacd0 addiu a0, a0, 1 | a0++;
0x000eacd4 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000eacd8 lw gp, 0x20(fp) | gp = *(var_20h);
0x000eacdc lw a1, 0x2c(fp) | a1 = *(var_2ch);
| if (v1 == 0) {
0x000eace0 beqz v1, 0xeadf8 | goto label_4;
| }
0x000eace4 lw a0, -0x7f60(gp) | a0 = *((gp - 8152));
0x000eace8 addiu v0, v0, 0x17 | v0 += 0x17;
| /* str._sys_fs_cgroup_ */
0x000eacec addiu v1, a0, -0x784c | v1 = a0 + -0x784c;
0x000eacf0 srl v0, v0, 3 | v0 >>= 3;
0x000eacf4 sll v0, v0, 3 | v0 <<= 3;
0x000eacf8 subu sp, sp, v0 |
0x000eacfc lw t0, -0x784c(a0) | t0 = *((a0 - 7699));
0x000ead00 lw a2, 8(v1) | a2 = *((v1 + 2));
0x000ead04 lw a3, 4(v1) | a3 = *((v1 + 1));
0x000ead08 lw v0, 0xc(v1) | v0 = *((v1 + 3));
0x000ead0c lw t9, -0x6edc(gp) | t9 = sym.imp.strcpy
0x000ead10 addiu a0, sp, 0x2f | a0 = sp + 0x2f;
0x000ead14 sw t0, 0x20(sp) | *(var_20h) = t0;
0x000ead18 sw a3, 0x24(sp) | *(var_24h_2) = a3;
0x000ead1c sw a2, 0x28(sp) | *(var_28h) = a2;
0x000ead20 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000ead24 jalr t9 | t9 ();
0x000ead28 lw gp, 0x20(fp) | gp = *(var_20h);
0x000ead2c addiu s0, sp, 0x20 | s0 = sp + 0x20;
0x000ead30 move a0, s1 | a0 = s1;
0x000ead34 lw t9, -0x7498(gp) | t9 = sym.imp.symlink_idempotent;
0x000ead38 move a2, zero | a2 = 0;
0x000ead3c move a1, s0 | a1 = s0;
0x000ead40 jalr t9 | t9 ();
0x000ead44 move s1, v0 | s1 = v0;
0x000ead48 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 < 0) {
0x000ead4c bltz v0, 0xead84 | goto label_5;
| }
0x000ead50 move v0, zero | v0 = 0;
| do {
| label_0:
0x000ead54 lw a0, 0x34(fp) | a0 = *(var_34h);
0x000ead58 lw v1, (s2) | v1 = *(s2);
0x000ead5c lw t9, -0x7124(gp) | t9 = sym.imp.__stack_chk_fail;
| if (a0 != v1) {
0x000ead60 bne a0, v1, 0xeae64 | goto label_6;
| }
0x000ead64 move sp, fp |
0x000ead68 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x000ead6c lw fp, 0x48(sp) | fp = *(var_48h);
0x000ead70 lw s2, 0x44(sp) | s2 = *(var_44h);
0x000ead74 lw s1, 0x40(sp) | s1 = *(var_40h);
0x000ead78 lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x000ead7c addiu sp, sp, 0x50 |
0x000ead80 jr ra | return v0;
| label_5:
0x000ead84 lw t9, -0x7684(gp) | t9 = sym.imp.log_get_max_level_realm;
0x000ead88 move a0, zero | a0 = 0;
0x000ead8c jalr t9 | t9 ();
0x000ead90 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x000ead94 lw gp, 0x20(fp) | gp = *(var_20h);
| if (v0 == 0) {
0x000ead98 beqz v0, 0xeae24 | goto label_7;
| }
0x000ead9c negu v0, s1 | __asm ("negu v0, s1");
0x000eada0 andi v0, v0, 0xff | v0 &= 0xff;
0x000eada4 negu v0, v0 | __asm ("negu v0, v0");
0x000eada8 b 0xead54 |
| } while (1);
| label_2:
0x000eadac lw a2, -0x7f60(gp) | a2 = *((gp - 8152));
0x000eadb0 lw a1, -0x7fd8(gp) | a1 = sym.imp.log_target_to_string;
| /* str.symlink_controller */
0x000eadb4 addiu v0, v0, -0x73e4 | v0 += -0x73e4;
0x000eadb8 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000eadbc sw v0, 0x10(sp) | *(var_10h) = v0;
0x000eadc0 addiu a3, zero, 0x108 | a3 = aav.0x00000108;
| /* esilref: 'src/core/mount-setup.c' */
0x000eadc4 addiu a2, a2, -0x7919 | a2 += -0x7919;
| /* esilref: 'target' */
0x000eadc8 addiu a1, a1, 0x4a04 | a1 += 0x4a04;
0x000eadcc jalr t9 | t9 ();
| label_3:
0x000eadd0 lw a2, -0x7f60(gp) | a2 = *((gp - 8152));
0x000eadd4 lw a1, -0x7f58(gp) | a1 = *(gp);
0x000eadd8 addiu v0, v0, -0x73e4 | v0 += -0x73e4;
0x000eaddc lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000eade0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000eade4 addiu a3, zero, 0x109 | a3 = 0x109;
| /* esilref: 'src/core/mount-setup.c' */
0x000eade8 addiu a2, a2, -0x7919 | a2 += -0x7919;
| /* esilref: 'alias' */
0x000eadec addiu a1, a1, -0xd30 | a1 += -0xd30;
0x000eadf0 move a0, zero | a0 = 0;
0x000eadf4 jalr t9 | t9 ();
| label_4:
0x000eadf8 lw v0, -0x7f60(gp) | v0 = *((gp - 8152));
0x000eadfc lw a2, -0x7f60(gp) | a2 = *((gp - 8152));
0x000eae00 lw a1, -0x7f58(gp) | a1 = *(gp);
| /* str.symlink_controller */
0x000eae04 addiu v0, v0, -0x73e4 | v0 += -0x73e4;
0x000eae08 lw t9, -0x6b04(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000eae0c sw v0, 0x10(sp) | *(var_10h) = v0;
0x000eae10 addiu a3, zero, 0x10b | a3 = 0x10b;
| /* esilref: 'src/core/mount-setup.c' */
0x000eae14 addiu a2, a2, -0x7919 | a2 += -0x7919;
| /* str.sizeof_char__n____ALLOCA_MAX */
0x000eae18 addiu a1, a1, -0x7f38 | a1 += -0x7f38;
0x000eae1c move a0, zero | a0 = 0;
0x000eae20 jalr t9 | t9 ();
| label_7:
0x000eae24 lw v0, -0x7f60(gp) | v0 = *((gp - 8152));
0x000eae28 lw a2, -0x7f60(gp) | a2 = *((gp - 8152));
| /* str.Failed_to_create_symlink__s:__m */
0x000eae2c addiu v0, v0, -0x783c | v0 += -0x783c;
0x000eae30 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000eae34 lw v0, -0x7f60(gp) | v0 = *((gp - 8152));
0x000eae38 lw t9, -0x70e0(gp) | t9 = sym.imp.log_internal_realm;
| /* esilref: 'symlink_controller' */
0x000eae3c addiu v0, v0, -0x73f8 | v0 += -0x73f8;
0x000eae40 sw s0, 0x18(sp) | *(var_18h) = s0;
0x000eae44 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000eae48 addiu a3, zero, 0x10f | a3 = 0x10f;
| /* esilref: 'src/core/mount-setup.c' */
0x000eae4c addiu a2, a2, -0x7919 | a2 += -0x7919;
0x000eae50 move a1, s1 | a1 = s1;
0x000eae54 addiu a0, zero, 3 | a0 = 3;
0x000eae58 jalr t9 | t9 ();
0x000eae5c lw gp, 0x20(fp) | gp = *(var_20h);
0x000eae60 b 0xead54 | goto label_0;
| label_6:
0x000eae64 jalr t9 | t9 ();
0x000eae68 nop |
0x000eae6c lui gp, 8 |
0x000eae70 addiu gp, gp, -0x7e0c |
0x000eae74 addu gp, gp, t9 | gp += t9;
0x000eae78 lw v1, 4(a3) | v1 = *((a3 + 1));
| if (v1 == 0) {
0x000eae7c beqz v1, 0xeaf0c | goto label_8;
| }
0x000eae80 nop |
0x000eae84 addiu sp, sp, -0x28 |
0x000eae88 lw t9, -0x7688(gp) | t9 = sym.imp.label_fix;
0x000eae8c sw s0, 0x18(sp) | *(var_18h_2) = s0;
0x000eae90 move s0, a3 | s0 = a3;
0x000eae94 sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x000eae98 sw s2, 0x20(sp) | *(var_20h_2) = s2;
0x000eae9c sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x000eaea0 sw ra, 0x24(sp) | *(var_24h) = ra;
0x000eaea4 move a1, zero | a1 = 0;
0x000eaea8 move s2, a0 | s2 = a0;
0x000eaeac move s1, a2 | s1 = a2;
0x000eaeb0 jalr t9 | t9 ();
0x000eaeb4 lw v0, 4(s0) | v0 = *((s0 + 1));
0x000eaeb8 addiu v1, zero, 1 | v1 = 1;
0x000eaebc lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == v1) {
0x000eaec0 beq v0, v1, 0xeaee0 | goto label_9;
| }
0x000eaec4 move v0, zero | v0 = 0;
| do {
| label_1:
0x000eaec8 lw ra, 0x24(sp) | ra = *(var_24h);
0x000eaecc lw s2, 0x20(sp) | s2 = *(var_20h_2);
0x000eaed0 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x000eaed4 lw s0, 0x18(sp) | s0 = *(var_18h_2);
0x000eaed8 addiu sp, sp, 0x28 |
0x000eaedc jr ra | return v0;
| label_9:
0x000eaee0 move v0, zero | v0 = 0;
0x000eaee4 bne s1, v0, 0xeaec8 |
| } while (s1 != v0);
0x000eaee8 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000eaeec lw t9, -0x757c(gp) | t9 = sym.imp.strcmp;
| /* str._run_initramfs */
0x000eaef0 addiu a1, a1, 0x5b80 | a1 += 0x5b80;
0x000eaef4 move a0, s2 | a0 = s2;
0x000eaef8 jalr t9 | t9 ();
0x000eaefc move v0, zero | v0 = 0;
| if (v0 == 0) {
0x000eaf00 bnel v0, zero, 0xeaec8 | goto label_1;
| }
0x000eaf04 addiu v0, zero, 2 | v0 = 2;
0x000eaf08 b 0xeaec8 | goto label_1;
| label_8:
0x000eaf0c move v0, zero | v0 = 0;
0x000eaf10 jr ra | return v0;
| }
[*] Function strcpy used 12 times systemd