[*] Binary protection state of systemd-pstore
Full RELRO Canary found NX disabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of systemd-pstore
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-pstore @ 0x22b0 */
| #include <stdint.h>
|
; (fcn) fcn.000022b0 () | void fcn_000022b0 () {
0x000022b0 lui gp, 2 |
0x000022b4 addiu gp, gp, -0x62b0 |
0x000022b8 addu gp, gp, t9 | gp += t9;
0x000022bc addiu sp, sp, -0x70 |
0x000022c0 sw s2, 0x50(sp) | *(var_50h) = s2;
0x000022c4 lw s2, -0x7f58(gp) | s2 = *((gp - 8150));
0x000022c8 sw fp, 0x68(sp) | *(var_68h) = fp;
0x000022cc sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x000022d0 sw s7, 0x64(sp) | *(var_64h) = s7;
0x000022d4 sw s6, 0x60(sp) | *(var_60h) = s6;
0x000022d8 sw s5, 0x5c(sp) | *(var_5ch) = s5;
0x000022dc sw s4, 0x58(sp) | *(var_58h) = s4;
0x000022e0 sw s3, 0x54(sp) | *(var_54h) = s3;
0x000022e4 sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x000022e8 sw s0, 0x48(sp) | *(var_48h) = s0;
0x000022ec sw gp, 0x20(sp) | *(var_20h_3) = gp;
0x000022f0 move fp, sp | fp = sp;
0x000022f4 lw v1, (s2) | v1 = *(s2);
0x000022f8 lbu v0, 0x119(a0) | v0 = *((a0 + 281));
0x000022fc sw v1, 0x44(fp) | *(arg_44h) = v1;
0x00002300 move s6, zero | s6 = 0;
| if (v0 != 0) {
0x00002304 beqz v0, 0x2388 |
0x00002308 move s3, zero | s3 = 0;
0x0000230c move s4, zero | s4 = 0;
0x00002310 move s0, zero | s0 = 0;
| label_0:
0x00002314 lw t9, -0x7f2c(gp) | t9 = sym.imp.free;
0x00002318 move a0, s6 | a0 = s6;
0x0000231c jalr t9 | t9 ();
0x00002320 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002324 lw t9, -0x7f2c(gp) | t9 = sym.imp.free;
0x00002328 move a0, s3 | a0 = s3;
0x0000232c jalr t9 | t9 ();
0x00002330 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002334 lw t9, -0x7f2c(gp) | t9 = sym.imp.free;
0x00002338 move a0, s4 | a0 = s4;
0x0000233c jalr t9 | t9 ();
0x00002340 lw a0, 0x44(fp) | a0 = *(arg_44h);
0x00002344 lw v1, (s2) | v1 = *(s2);
0x00002348 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x0000234c move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00002350 bne a0, v1, 0x2850 | goto label_5;
| }
0x00002354 move sp, fp |
0x00002358 lw ra, 0x6c(sp) | ra = *(var_6ch);
0x0000235c lw fp, 0x68(sp) | fp = *(var_68h);
0x00002360 lw s7, 0x64(sp) | s7 = *(var_64h);
0x00002364 lw s6, 0x60(sp) | s6 = *(var_60h);
0x00002368 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x0000236c lw s4, 0x58(sp) | s4 = *(var_58h);
0x00002370 lw s3, 0x54(sp) | s3 = *(var_54h);
0x00002374 lw s2, 0x50(sp) | s2 = *(var_50h);
0x00002378 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x0000237c lw s0, 0x48(sp) | s0 = *(var_48h);
0x00002380 addiu sp, sp, 0x70 |
0x00002384 jr ra | return v0;
| }
0x00002388 addiu s0, a0, 0x13 | s0 = a0 + 0x13;
0x0000238c move s1, a0 | s1 = a0;
0x00002390 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00002394 lw t9, -0x7f5c(gp) | t9 = sym.imp.path_join_internal;
0x00002398 move s3, a1 | s3 = a1;
0x0000239c addiu a2, zero, -1 | a2 = -1;
0x000023a0 move a1, s0 | a1 = s0;
0x000023a4 addiu a0, a0, 0x2dd4 | a0 += str._sys_fs_pstore;
0x000023a8 jalr t9 | t9 ();
0x000023ac move s4, v0 | s4 = v0;
0x000023b0 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x000023b4 beqz v0, 0x25f4 | goto label_6;
| }
0x000023b8 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000023bc lw t9, -0x7f5c(gp) | t9 = sym.imp.path_join_internal;
0x000023c0 move a1, s3 | a1 = s3;
0x000023c4 addiu a3, zero, -1 | a3 = -1;
0x000023c8 move a2, s0 | a2 = s0;
0x000023cc addiu a0, a0, 0x2d08 | a0 += str._var_lib_systemd_pstore;
0x000023d0 jalr t9 | t9 ();
0x000023d4 move s3, v0 | s3 = v0;
0x000023d8 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x000023dc beqz v0, 0x26d8 | goto label_7;
| }
0x000023e0 lw s5, -0x7fdc(gp) | s5 = *((gp - 8183));
0x000023e4 addiu v0, zero, 1 | v0 = 1;
0x000023e8 lw v1, 0x4004(s5) | v1 = *((s5 + 4097));
0x000023ec lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
| if (v1 == v0) {
0x000023f0 beq v1, v0, 0x2584 | goto label_8;
| }
0x000023f4 addiu s6, s6, 0x2f20 | s6 += 0x2f20;
| label_1:
0x000023f8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000023fc lw t9, -0x7f4c(gp) | t9 = sym.imp.strlen;
0x00002400 addiu a1, a1, 0x2dc4 | a1 += str.MESSAGEPStore_;
0x00002404 move a0, s0 | a0 = s0;
0x00002408 sw a1, 0x34(fp) | *(arg_34h) = a1;
0x0000240c sw a1, 0x2c(fp) | *(arg_2ch) = a1;
0x00002410 sw s0, 0x38(fp) | *(arg_38h) = s0;
0x00002414 sw s6, 0x3c(fp) | *(arg_3ch) = s6;
0x00002418 jalr t9 | t9 ();
0x0000241c lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002420 move a0, s6 | a0 = s6;
0x00002424 lw t9, -0x7f4c(gp) | t9 = sym.imp.strlen;
0x00002428 addiu s0, v0, 0xf | s0 = v0 + 0xf;
0x0000242c jalr t9 | t9 ();
0x00002430 addu v0, s0, v0 | v0 = s0 + v0;
0x00002434 lui a0, 0x40 | a0 = 0x400000;
0x00002438 addiu v1, v0, 1 | v1 = v0 + 1;
0x0000243c addiu a0, a0, 1 | a0++;
0x00002440 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x00002444 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002448 lw a1, 0x2c(fp) | a1 = *(arg_2ch);
| if (v1 == 0) {
0x0000244c beqz v1, 0x2708 | goto label_9;
| }
0x00002450 addiu v0, v0, 8 | v0 += 8;
0x00002454 srl v0, v0, 3 | v0 >>= 3;
0x00002458 sll v0, v0, 3 | v0 <<= 3;
0x0000245c subu sp, sp, v0 |
0x00002460 addiu s0, sp, 0x20 | s0 = sp + 0x20;
0x00002464 addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x00002468 sw v0, 0x2c(fp) | *(arg_2ch) = v0;
0x0000246c move s7, v0 | s7 = v0;
0x00002470 addiu s6, fp, 0x3c | s6 = fp + 0x3c;
0x00002474 move v0, s0 | v0 = s0;
0x00002478 lw t9, -0x7f0c(gp) | t9 = sym.imp.stpcpy;
| do {
0x0000247c move a0, v0 | a0 = v0;
0x00002480 jalr t9 | t9 ();
0x00002484 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (s6 == s7) {
0x00002488 beq s6, s7, 0x249c | goto label_10;
| }
0x0000248c addiu s7, s7, 4 | s7 += 4;
0x00002490 lw a1, (s7) | a1 = *(s7);
0x00002494 lw t9, -0x7f0c(gp) | t9 = sym.imp.stpcpy;
0x00002498 bnez a1, 0x247c |
| } while (a1 != 0);
| label_10:
0x0000249c lw t9, -0x7f4c(gp) | t9 = sym.imp.strlen;
0x000024a0 move a0, s0 | a0 = s0;
0x000024a4 jalr t9 | t9 ();
0x000024a8 lw a2, 0x120(s1) | a2 = *(s1);
0x000024ac lw gp, 0x20(fp) | gp = *(var_20h_3);
0x000024b0 sw s0, 0x34(fp) | *(arg_34h) = s0;
0x000024b4 sw v0, 0x38(fp) | *(arg_38h) = v0;
| if (a2 != 0) {
0x000024b8 bnez a2, 0x2528 | goto label_11;
| }
0x000024bc move s6, zero | s6 = 0;
0x000024c0 addiu v0, zero, 1 | v0 = 1;
| do {
0x000024c4 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x000024c8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000024cc lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000024d0 lw t9, -0x7f60(gp) | t9 = sym.imp.sd_journal_sendv_with_location;
0x000024d4 lw a3, 0x2c(fp) | a3 = *(arg_2ch);
0x000024d8 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x000024dc addiu a2, s0, 0x300c | a2 = s0 + str.move_file;
0x000024e0 addiu a1, a1, 0x2e10 | a1 += str.CODE_LINE152;
0x000024e4 addiu a0, a0, 0x2e20 | a0 += str.CODE_FILE.._git_src_pstore_pstore.c;
0x000024e8 jalr t9 | t9 ();
0x000024ec move s7, v0 | s7 = v0;
0x000024f0 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v0 < 0) {
0x000024f4 bltz v0, 0x2628 | goto label_12;
| }
0x000024f8 lw v1, 0x4004(s5) | v1 = *((s5 + 4097));
0x000024fc addiu v0, zero, 1 | v0 = 1;
0x00002500 lw t9, -0x7fac(gp) | t9 = sym.imp.mkdir_parents;
| if (v1 == v0) {
0x00002504 beq v1, v0, 0x2660 | goto label_13;
| }
| label_3:
0x00002508 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000250c lbu v0, 0x4000(v0) | v0 = *((v0 + 16384));
0x00002510 lw t9, -0x7f50(gp) | t9 = sym.imp.unlink;
| if (v0 != 0) {
0x00002514 bnez v0, 0x2650 | goto label_14;
| }
| label_2:
0x00002518 addiu v0, zero, 1 | v0 = 1;
0x0000251c sb v0, 0x119(s1) | *((s1 + 281)) = v0;
0x00002520 move s0, zero | s0 = 0;
0x00002524 b 0x2314 | goto label_0;
| label_11:
0x00002528 lw t9, -0x7f70(gp) | t9 = sym.imp.malloc;
0x0000252c addiu s0, a2, 5 | s0 = a2 + 5;
0x00002530 sw a2, 0x28(fp) | *(arg_28h) = a2;
0x00002534 move a0, s0 | a0 = s0;
0x00002538 jalr t9 | t9 ();
0x0000253c move s6, v0 | s6 = v0;
0x00002540 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002544 lw a2, 0x28(fp) | a2 = *(arg_28h);
| if (v0 == 0) {
0x00002548 beqz v0, 0x2734 | goto label_15;
| }
0x0000254c lui v0, 0x454c | v0 = 0x454c4946;
0x00002550 addiu v0, v0, 0x4946 |
0x00002554 lw t9, -0x7f48(gp) | t9 = sym.imp.memcpy;
0x00002558 sw v0, (s6) | *(s6) = v0;
0x0000255c lw a1, 0x11c(s1) | a1 = *((s1 + 71));
0x00002560 addiu v0, zero, 0x3d | v0 = 0x3d;
0x00002564 sh v0, 4(s6) | *((s6 + 2)) = v0;
0x00002568 addiu a0, s6, 5 | a0 = s6 + 5;
0x0000256c jalr t9 | t9 ();
0x00002570 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002574 sw s6, 0x3c(fp) | *(arg_3ch) = s6;
0x00002578 sw s0, 0x40(fp) | *(arg_40h) = s0;
0x0000257c addiu v0, zero, 2 | v0 = 2;
0x00002580 b 0x24c4 |
| } while (1);
| label_8:
0x00002584 lw t9, -0x7f4c(gp) | t9 = sym.imp.strlen;
0x00002588 move a0, s3 | a0 = s3;
0x0000258c jalr t9 | t9 ();
0x00002590 lui a0, 0x40 | a0 = 0x400000;
0x00002594 addiu v1, v0, 0xb | v1 = v0 + 0xb;
0x00002598 addiu a0, a0, 1 | a0++;
0x0000259c sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000025a0 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v1 == 0) {
0x000025a4 beqz v1, 0x27f4 | goto label_16;
| }
0x000025a8 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x000025ac addiu v0, v0, 0x12 | v0 += 0x12;
0x000025b0 srl v0, v0, 3 | v0 >>= 3;
0x000025b4 addiu v1, a0, 0x2e04 | v1 = a0 + str._moved_to_;
0x000025b8 sll v0, v0, 3 | v0 <<= 3;
0x000025bc subu sp, sp, v0 |
0x000025c0 addiu s6, sp, 0x20 | s6 = sp + 0x20;
0x000025c4 lw a1, 0x2e04(a0) | a1 = *(a0);
0x000025c8 lhu v0, 8(v1) | v0 = *((v1 + 4));
0x000025cc lw a0, 4(v1) | a0 = *((v1 + 1));
0x000025d0 lw t9, -0x7f54(gp) | t9 = sym.imp.strcpy
0x000025d4 sw a1, (s6) | *(s6) = a1;
0x000025d8 sw a0, 4(s6) | *((s6 + 1)) = a0;
0x000025dc sh v0, 8(s6) | *((s6 + 4)) = v0;
0x000025e0 move a1, s3 | a1 = s3;
0x000025e4 addiu a0, s6, 0xa | a0 = s6 + 0xa;
0x000025e8 jalr t9 | t9 ();
0x000025ec lw gp, 0x20(fp) | gp = *(var_20h_3);
0x000025f0 b 0x23f8 | goto label_1;
| label_6:
0x000025f4 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x000025f8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000025fc lw t9, -0x7fb0(gp) | t9 = sym.imp.log_oom_internal;
0x00002600 addiu a3, a3, 0x300c | a3 += str.move_file;
0x00002604 addiu a2, zero, 0x82 | a2 = 0x82;
0x00002608 addiu a1, a1, 0x2c2b | a1 += 0x2c2b;
0x0000260c move a0, zero | a0 = 0;
0x00002610 jalr t9 | t9 ();
0x00002614 move s0, v0 | s0 = v0;
0x00002618 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x0000261c move s3, zero | s3 = 0;
0x00002620 move s6, zero | s6 = 0;
0x00002624 b 0x2314 | goto label_0;
| label_12:
0x00002628 lw t9, -0x7fb4(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0000262c move a0, zero | a0 = 0;
0x00002630 jalr t9 | t9 ();
0x00002634 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00002638 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x0000263c beqz v0, 0x2760 | goto label_17;
| }
0x00002640 negu s0, s7 | __asm ("negu s0, s7");
0x00002644 andi s0, s0, 0xff | s0 &= 0xff;
0x00002648 negu s0, s0 | __asm ("negu s0, s0");
0x0000264c b 0x2314 | goto label_0;
| label_14:
0x00002650 move a0, s4 | a0 = s4;
0x00002654 jalr t9 | t9 ();
0x00002658 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x0000265c b 0x2518 | goto label_2;
| label_13:
0x00002660 addiu a1, zero, 0x1ed | a1 = 0x1ed;
0x00002664 move a0, s3 | a0 = s3;
0x00002668 jalr t9 | t9 ();
0x0000266c move s5, v0 | s5 = v0;
0x00002670 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v0 < 0) {
0x00002674 bltz v0, 0x279c | goto label_18;
| }
0x00002678 lw t9, -0x7ee8(gp) | t9 = sym.imp.copy_file_atomic_full;
0x0000267c addiu v0, zero, 4 | v0 = 4;
0x00002680 sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
0x00002684 sw zero, 0x18(sp) | *(var_18h_2) = 0;
0x00002688 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x0000268c sw zero, 0x10(sp) | *(var_10h_3) = 0;
0x00002690 move a3, zero | a3 = 0;
0x00002694 addiu a2, zero, 0x180 | a2 = aav.0x00000180;
0x00002698 move a1, s3 | a1 = s3;
0x0000269c move a0, s4 | a0 = s4;
0x000026a0 jalr t9 | t9 ();
0x000026a4 move s5, v0 | s5 = v0;
0x000026a8 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v0 >= 0) {
0x000026ac bgez v0, 0x2508 | goto label_3;
| }
0x000026b0 lw t9, -0x7fb4(gp) | t9 = sym.imp.log_get_max_level_realm;
0x000026b4 move a0, zero | a0 = 0;
0x000026b8 jalr t9 | t9 ();
0x000026bc slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x000026c0 lw gp, 0x20(fp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x000026c4 beqz v0, 0x280c | goto label_19;
| }
| do {
0x000026c8 negu s0, s5 | __asm ("negu s0, s5");
0x000026cc andi s0, s0, 0xff | s0 &= 0xff;
0x000026d0 negu s0, s0 | __asm ("negu s0, s0");
0x000026d4 b 0x2314 | goto label_0;
| label_7:
0x000026d8 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x000026dc lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000026e0 lw t9, -0x7fb0(gp) | t9 = sym.imp.log_oom_internal;
0x000026e4 addiu a3, a3, 0x300c | a3 += str.move_file;
0x000026e8 addiu a2, zero, 0x86 | a2 = 0x86;
0x000026ec addiu a1, a1, 0x2c2b | a1 += 0x2c2b;
0x000026f0 move a0, zero | a0 = 0;
0x000026f4 jalr t9 | t9 ();
0x000026f8 move s0, v0 | s0 = v0;
0x000026fc lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002700 move s6, zero | s6 = 0;
0x00002704 b 0x2314 | goto label_0;
| label_9:
0x00002708 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000270c lw t9, -0x7f1c(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00002710 addiu v0, v0, 0x3000 | v0 += 0x3000;
0x00002714 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x00002718 addiu a3, zero, 0x8a | a3 = 0x8a;
| label_4:
0x0000271c lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00002720 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00002724 addiu a2, a2, 0x2c2b | a2 += 0x2c2b;
0x00002728 addiu a1, a1, 0x2de4 | a1 += str.sizeof_char__n____ALLOCA_MAX;
0x0000272c move a0, zero | a0 = 0;
0x00002730 jalr t9 | t9 ();
| label_15:
0x00002734 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x00002738 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000273c lw t9, -0x7fb0(gp) | t9 = sym.imp.log_oom_internal;
0x00002740 addiu a3, a3, 0x300c | a3 += str.move_file;
0x00002744 addiu a2, zero, 0x93 | a2 = 0x93;
0x00002748 addiu a1, a1, 0x2c2b | a1 += 0x2c2b;
0x0000274c move a0, zero | a0 = 0;
0x00002750 jalr t9 | t9 ();
0x00002754 move s0, v0 | s0 = v0;
0x00002758 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x0000275c b 0x2314 | goto label_0;
| label_17:
0x00002760 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00002764 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00002768 lw t9, -0x7f74(gp) | t9 = sym.imp.log_internal_realm;
0x0000276c addiu s0, s0, 0x300c | s0 += str.move_file;
0x00002770 addiu v0, v0, 0x2e48 | v0 += str.Failed_to_log_pstore_entry:__m;
0x00002774 sw s0, 0x10(sp) | *(var_10h_3) = s0;
0x00002778 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x0000277c addiu a3, zero, 0x9a | a3 = 0x9a;
0x00002780 addiu a2, a2, 0x2c2b | a2 += 0x2c2b;
0x00002784 move a1, s7 | a1 = s7;
0x00002788 addiu a0, zero, 3 | a0 = 3;
0x0000278c jalr t9 | t9 ();
0x00002790 move s0, v0 | s0 = v0;
0x00002794 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x00002798 b 0x2314 | goto label_0;
| label_18:
0x0000279c lw t9, -0x7fb4(gp) | t9 = sym.imp.log_get_max_level_realm;
0x000027a0 move a0, zero | a0 = 0;
0x000027a4 jalr t9 | t9 ();
0x000027a8 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x000027ac lw gp, 0x20(fp) | gp = *(var_20h_3);
0x000027b0 bnez v0, 0x26c8 |
| } while (v0 != 0);
0x000027b4 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000027b8 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000027bc lw t9, -0x7f74(gp) | t9 = sym.imp.log_internal_realm;
0x000027c0 addiu s0, s0, 0x300c | s0 += str.move_file;
0x000027c4 addiu v0, v0, 0x2e68 | v0 += str.Failed_to_create_directory__s:__m;
0x000027c8 sw s0, 0x10(sp) | *(var_10h_3) = s0;
0x000027cc sw s3, 0x18(sp) | *(var_18h_2) = s3;
0x000027d0 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x000027d4 addiu a3, zero, 0xa0 | a3 = 0xa0;
0x000027d8 addiu a2, a2, 0x2c2b | a2 += 0x2c2b;
0x000027dc move a1, s5 | a1 = s5;
0x000027e0 addiu a0, zero, 3 | a0 = 3;
0x000027e4 jalr t9 | t9 ();
0x000027e8 move s0, v0 | s0 = v0;
0x000027ec lw gp, 0x20(fp) | gp = *(var_20h_3);
0x000027f0 b 0x2314 | goto label_0;
| label_16:
0x000027f4 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000027f8 lw t9, -0x7f1c(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000027fc addiu v0, v0, 0x3000 | v0 += 0x3000;
0x00002800 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x00002804 addiu a3, zero, 0x89 | a3 = 0x89;
0x00002808 b 0x271c | goto label_4;
| label_19:
0x0000280c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00002810 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00002814 lw t9, -0x7f74(gp) | t9 = sym.imp.log_internal_realm;
0x00002818 addiu s0, s0, 0x300c | s0 += str.move_file;
0x0000281c addiu v0, v0, 0x2e8c | v0 += str.Failed_to_copy_file_atomic:__s_to__s;
0x00002820 sw s0, 0x10(sp) | *(var_10h_3) = s0;
0x00002824 sw s3, 0x1c(sp) | *(var_1ch_2) = s3;
0x00002828 sw s4, 0x18(sp) | *(var_18h_2) = s4;
0x0000282c sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00002830 addiu a3, zero, 0xa3 | a3 = 0xa3;
0x00002834 addiu a2, a2, 0x2c2b | a2 += 0x2c2b;
0x00002838 move a1, s5 | a1 = s5;
0x0000283c addiu a0, zero, 3 | a0 = 3;
0x00002840 jalr t9 | t9 ();
0x00002844 move s0, v0 | s0 = v0;
0x00002848 lw gp, 0x20(fp) | gp = *(var_20h_3);
0x0000284c b 0x2314 | goto label_0;
| label_5:
0x00002850 lw t9, -0x7f78(gp) | t9 = sym.imp.__stack_chk_fail;
0x00002854 jalr t9 | t9 ();
0x00002858 nop |
0x0000285c nop |
| }
[*] Function strcpy used 2 times systemd-pstore