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