[*] Binary protection state of systemd-journald

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


[*] Function strcpy tear down of systemd-journald

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-journald @ 0x1688c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001688c ()                  | void fcn_0001688c () {
    0x0001688c lui gp, 2                     |     
    0x00016890 addiu gp, gp, 0x4774          |     
    0x00016894 addu gp, gp, t9               |     gp += t9;
    0x00016898 addiu sp, sp, -0x48           |     
    0x0001689c sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x000168a0 lw s2, -0x7cf4(gp)            |     s2 = *((gp - 7997));
    0x000168a4 sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x000168a8 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x000168ac sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x000168b0 sw s1, 0x34(sp)               |     *(var_34h_2) = s1;
    0x000168b4 sw s0, 0x30(sp)               |     *(var_30h_2) = s0;
    0x000168b8 sw gp, 0x18(sp)               |     *(var_18h_3) = gp;
    0x000168bc move fp, sp                   |     fp = sp;
    0x000168c0 lw v0, (s2)                   |     v0 = *(s2);
    0x000168c4 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x000168c8 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
                                             |     if (a0 == 0) {
    0x000168cc beql a0, zero, 0x169f8        |         goto label_0;
                                             |     }
    0x000168d0 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x000168d4 move s3, a1                   |     s3 = a1;
                                             |     if (a1 == 0) {
    0x000168d8 beqz a1, 0x16a1c              |         goto label_1;
                                             |     }
    0x000168dc lw s1, 0x44(a1)               |     s1 = *((a1 + 17));
    0x000168e0 lw t9, -0x7ca4(gp)            |     t9 = sym.imp.strlen;
                                             |     if (s1 == 0) {
    0x000168e4 beqz s1, 0x169f0              |         goto label_2;
                                             |     }
    0x000168e8 move a0, s1                   |     a0 = s1;
    0x000168ec jalr t9                       |     t9 ();
    0x000168f0 lui a0, 0x40                  |     a0 = 0x400000;
    0x000168f4 addiu v1, v0, 0x1f            |     v1 = v0 + 0x1f;
    0x000168f8 addiu a0, a0, 1               |     a0++;
    0x000168fc sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x00016900 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v1 == 0) {
    0x00016904 beqz v1, 0x16a48              |         goto label_3;
                                             |     }
    0x00016908 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
                                             |     /* esilref: 'notify_queue' */
    0x0001690c addiu v0, v0, 0x26            |     v0 += 0x26;
                                             |     /* str._run_systemd_units_invocation: */
    0x00016910 addiu v1, a0, 0x1348          |     v1 = a0 + 0x1348;
    0x00016914 srl v0, v0, 3                 |     v0 >>= 3;
    0x00016918 sll v0, v0, 3                 |     v0 <<= 3;
    0x0001691c subu sp, sp, v0               |     
    0x00016920 lw t4, 0x1348(a0)             |     t4 = *((a0 + 1234));
    0x00016924 lw t3, 4(v1)                  |     t3 = *((v1 + 1));
    0x00016928 lw t2, 8(v1)                  |     t2 = *((v1 + 2));
    0x0001692c lw t1, 0xc(v1)                |     t1 = *((v1 + 3));
    0x00016930 lw t0, 0x10(v1)               |     t0 = *((v1 + 4));
    0x00016934 lw a3, 0x14(v1)               |     a3 = *((v1 + 5));
    0x00016938 lw a2, 0x18(v1)               |     a2 = *((v1 + 6));
    0x0001693c lhu v0, 0x1c(v1)              |     v0 = *((v1 + 14));
    0x00016940 lw t9, -0x7cdc(gp)            |     t9 = sym.imp.strcpy
    0x00016944 move a1, s1                   |     a1 = s1;
    0x00016948 addiu a0, sp, 0x36            |     a0 = sp + 0x36;
    0x0001694c sw t4, 0x18(sp)               |     *(var_18h_3) = t4;
    0x00016950 sw t3, 0x1c(sp)               |     *(var_1ch) = t3;
    0x00016954 sw t2, 0x20(sp)               |     *(var_20h_3) = t2;
    0x00016958 sw t1, 0x24(sp)               |     *(var_24h_2) = t1;
    0x0001695c sw t0, 0x28(sp)               |     *(var_28h_2) = t0;
    0x00016960 sw a3, 0x2c(sp)               |     *(var_2ch_3) = a3;
    0x00016964 sw a2, 0x30(sp)               |     *(var_30h_2) = a2;
    0x00016968 sh v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x0001696c jalr t9                       |     t9 ();
    0x00016970 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00016974 addiu s0, sp, 0x18            |     s0 = sp + 0x18;
    0x00016978 addiu a1, fp, 0x28            |     a1 = fp + 0x28;
    0x0001697c lw t9, -0x7e74(gp)            |     t9 = sym.imp.readlink_malloc;
    0x00016980 move a0, s0                   |     a0 = s0;
    0x00016984 jalr t9                       |     t9 ();
    0x00016988 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 >= 0) {
    0x0001698c bltz v0, 0x169a4              |         
    0x00016990 lw t9, -0x7b08(gp)            |         t9 = sym.imp.sd_id128_from_string;
    0x00016994 lw a0, 0x28(fp)               |         a0 = *(arg_28h);
    0x00016998 addiu a1, s3, 0x58            |         a1 = s3 + 0x58;
    0x0001699c jalr t9                       |         t9 ();
    0x000169a0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x000169a4 lw s1, 0x28(fp)               |     s1 = *(arg_28h);
                                             |     do {
    0x000169a8 lw t9, -0x7c18(gp)            |         t9 = sym.imp.free;
    0x000169ac sw v0, 0x24(fp)               |         *(arg_24h) = v0;
    0x000169b0 move a0, s1                   |         a0 = s1;
    0x000169b4 jalr t9                       |         t9 ();
    0x000169b8 lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x000169bc lw v1, (s2)                   |         v1 = *(s2);
    0x000169c0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x000169c4 lw v0, 0x24(fp)               |         v0 = *(arg_24h);
                                             |         if (a0 != v1) {
    0x000169c8 bne a0, v1, 0x16a74           |             goto label_4;
                                             |         }
    0x000169cc move sp, fp                   |         
    0x000169d0 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x000169d4 lw fp, 0x40(sp)               |         fp = *(var_40h);
    0x000169d8 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x000169dc lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x000169e0 lw s1, 0x34(sp)               |         s1 = *(var_34h_2);
    0x000169e4 lw s0, 0x30(sp)               |         s0 = *(var_30h_2);
    0x000169e8 addiu sp, sp, 0x48            |         
    0x000169ec jr ra                         |         return v0;
                                             | label_2:
    0x000169f0 move v0, zero                 |         v0 = 0;
    0x000169f4 b 0x169a8                     |         
                                             |     } while (1);
                                             | label_0:
    0x000169f8 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x000169fc lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_invocation_id */
    0x00016a00 addiu v0, v0, 0x17b4          |     v0 += 0x17b4;
    0x00016a04 lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00016a08 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x00016a0c addiu a3, zero, 0x14c         |     a3 = 0x14c;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00016a10 addiu a2, a2, 0x1327          |     a2 += 0x1327;
    0x00016a14 addiu a1, a1, -0x1ce8         |     a1 += -0x1ce8;
    0x00016a18 jalr t9                       |     t9 ();
                                             | label_1:
    0x00016a1c lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016a20 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00016a24 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_invocation_id */
    0x00016a28 addiu v0, v0, 0x17b4          |     v0 += 0x17b4;
    0x00016a2c lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00016a30 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x00016a34 addiu a3, zero, 0x14d         |     a3 = 0x14d;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00016a38 addiu a2, a2, 0x1327          |     a2 += 0x1327;
    0x00016a3c addiu a1, a1, -0x3720         |     a1 += -0x3720;
    0x00016a40 move a0, zero                 |     a0 = 0;
    0x00016a44 jalr t9                       |     t9 ();
                                             | label_3:
    0x00016a48 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016a4c lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00016a50 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_invocation_id */
    0x00016a54 addiu v0, v0, 0x17b4          |     v0 += 0x17b4;
    0x00016a58 lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00016a5c sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x00016a60 addiu a3, zero, 0x154         |     a3 = 0x154;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00016a64 addiu a2, a2, 0x1327          |     a2 += 0x1327;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x00016a68 addiu a1, a1, -0x2218         |     a1 += -0x2218;
    0x00016a6c move a0, zero                 |     a0 = 0;
    0x00016a70 jalr t9                       |     t9 ();
                                             | label_4:
    0x00016a74 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00016a78 jalr t9                       |     t9 ();
    0x00016a7c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-journald @ 0x16a80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00016a80 ()                  | void fcn_00016a80 () {
    0x00016a80 lui gp, 2                     |     
    0x00016a84 addiu gp, gp, 0x4580          |     
    0x00016a88 addu gp, gp, t9               |     gp += t9;
    0x00016a8c addiu sp, sp, -0x48           |     
    0x00016a90 sw s0, 0x30(sp)               |     *(var_30h_3) = s0;
    0x00016a94 lw s0, -0x7cf4(gp)            |     s0 = *((gp - 7997));
    0x00016a98 sw fp, 0x40(sp)               |     *(var_40h_2) = fp;
    0x00016a9c sw ra, 0x44(sp)               |     *(var_44h_2) = ra;
    0x00016aa0 sw s3, 0x3c(sp)               |     *(var_3ch_2) = s3;
    0x00016aa4 sw s2, 0x38(sp)               |     *(var_38h_2) = s2;
    0x00016aa8 sw s1, 0x34(sp)               |     *(var_34h_3) = s1;
    0x00016aac sw gp, 0x18(sp)               |     *(var_18h_4) = gp;
    0x00016ab0 move fp, sp                   |     fp = sp;
    0x00016ab4 lw v0, (s0)                   |     v0 = *(s0);
    0x00016ab8 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x00016abc sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
                                             |     if (a0 == 0) {
    0x00016ac0 beql a0, zero, 0x16bf4        |         goto label_0;
                                             |     }
    0x00016ac4 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016ac8 lw s1, 0x44(a0)               |     s1 = *((a0 + 17));
    0x00016acc move s2, a0                   |     s2 = a0;
                                             |     if (s1 == 0) {
    0x00016ad0 beqz s1, 0x16bec              |         goto label_1;
                                             |     }
    0x00016ad4 lw t9, -0x7ca4(gp)            |     t9 = sym.imp.strlen;
    0x00016ad8 move a0, s1                   |     a0 = s1;
    0x00016adc jalr t9                       |     t9 ();
    0x00016ae0 lui a0, 0x40                  |     a0 = 0x400000;
                                             |     /* esilref: '_queue' */
    0x00016ae4 addiu v1, v0, 0x2c            |     v1 = v0 + 0x2c;
    0x00016ae8 addiu a0, a0, 1               |     a0++;
    0x00016aec sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x00016af0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v1 == 0) {
    0x00016af4 beqz v1, 0x16c18              |         goto label_2;
                                             |     }
    0x00016af8 addiu v0, v0, 0x33            |     v0 += 0x33;
    0x00016afc srl v0, v0, 3                 |     v0 >>= 3;
    0x00016b00 sll v0, v0, 3                 |     v0 <<= 3;
    0x00016b04 subu sp, sp, v0               |     
    0x00016b08 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016b0c addiu s3, sp, 0x18            |     s3 = sp + 0x18;
                                             |     /* str._run_systemd_units_log_rate_limit_interval: */
    0x00016b10 addiu v0, v0, 0x1368          |     v0 += 0x1368;
    0x00016b14 move v1, s3                   |     v1 = s3;
    0x00016b18 addiu t0, v0, 0x20            |     t0 = v0 + 0x20;
                                             |     do {
    0x00016b1c lw a3, (v0)                   |         a3 = *(v0);
    0x00016b20 lw a2, 4(v0)                  |         a2 = *((v0 + 1));
    0x00016b24 lw a1, 8(v0)                  |         a1 = *((v0 + 2));
    0x00016b28 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x00016b2c addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00016b30 sw a3, (v1)                   |         *(v1) = a3;
    0x00016b34 sw a2, 4(v1)                  |         *((v1 + 1)) = a2;
    0x00016b38 sw a1, 8(v1)                  |         *((v1 + 2)) = a1;
    0x00016b3c sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x00016b40 addiu v1, v1, 0x10            |         v1 += 0x10;
    0x00016b44 bne v0, t0, 0x16b1c           |         
                                             |     } while (v0 != t0);
    0x00016b48 lw a3, (v0)                   |     a3 = *(v0);
    0x00016b4c lw a2, 4(v0)                  |     a2 = *((v0 + 1));
    0x00016b50 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00016b54 lw t9, -0x7cdc(gp)            |     t9 = sym.imp.strcpy
    0x00016b58 move a1, s1                   |     a1 = s1;
    0x00016b5c addiu a0, s3, 0x2b            |     a0 = s3 + 0x2b;
    0x00016b60 sw a3, (v1)                   |     *(v1) = a3;
    0x00016b64 sw a2, 4(v1)                  |     *((v1 + 1)) = a2;
    0x00016b68 sw v0, 8(v1)                  |     *((v1 + 2)) = v0;
    0x00016b6c jalr t9                       |     t9 ();
    0x00016b70 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00016b74 addiu a1, fp, 0x28            |     a1 = fp + 0x28;
    0x00016b78 lw t9, -0x7e74(gp)            |     t9 = sym.imp.readlink_malloc;
    0x00016b7c move a0, s3                   |     a0 = s3;
    0x00016b80 jalr t9                       |     t9 ();
    0x00016b84 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 >= 0) {
    0x00016b88 bltz v0, 0x16ba0              |         
    0x00016b8c lw t9, -0x7afc(gp)            |         t9 = sym.imp.safe_atollu;
    0x00016b90 lw a0, 0x28(fp)               |         a0 = *(arg_28h);
                                             |         /* esilref: 'vice manager: &' */
    0x00016b94 addiu a1, s2, 0x88            |         a1 = s2 + 0x88;
    0x00016b98 jalr t9                       |         t9 ();
    0x00016b9c lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x00016ba0 lw s1, 0x28(fp)               |     s1 = *(arg_28h);
                                             |     do {
    0x00016ba4 lw t9, -0x7c18(gp)            |         t9 = sym.imp.free;
    0x00016ba8 sw v0, 0x24(fp)               |         *(arg_24h) = v0;
    0x00016bac move a0, s1                   |         a0 = s1;
    0x00016bb0 jalr t9                       |         t9 ();
    0x00016bb4 lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x00016bb8 lw v1, (s0)                   |         v1 = *(s0);
    0x00016bbc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00016bc0 lw v0, 0x24(fp)               |         v0 = *(arg_24h);
                                             |         if (a0 != v1) {
    0x00016bc4 bne a0, v1, 0x16c44           |             goto label_3;
                                             |         }
    0x00016bc8 move sp, fp                   |         
    0x00016bcc lw ra, 0x44(sp)               |         ra = *(var_44h_2);
    0x00016bd0 lw fp, 0x40(sp)               |         fp = *(var_40h_2);
    0x00016bd4 lw s3, 0x3c(sp)               |         s3 = *(var_3ch_2);
    0x00016bd8 lw s2, 0x38(sp)               |         s2 = *(var_38h_2);
    0x00016bdc lw s1, 0x34(sp)               |         s1 = *(var_34h_3);
    0x00016be0 lw s0, 0x30(sp)               |         s0 = *(var_30h_3);
    0x00016be4 addiu sp, sp, 0x48            |         
    0x00016be8 jr ra                         |         return v0;
                                             | label_1:
    0x00016bec move v0, zero                 |         v0 = 0;
    0x00016bf0 b 0x16ba4                     |         
                                             |     } while (1);
                                             | label_0:
    0x00016bf4 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00016bf8 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_log_rate_limit_interval */
    0x00016bfc addiu v0, v0, 0x1740          |     v0 += 0x1740;
    0x00016c00 lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00016c04 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00016c08 addiu a3, zero, 0x1d3         |     a3 = 0x1d3;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00016c0c addiu a2, a2, 0x1327          |     a2 += 0x1327;
    0x00016c10 addiu a1, a1, -0x3720         |     a1 += -0x3720;
    0x00016c14 jalr t9                       |     t9 ();
                                             | label_2:
    0x00016c18 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016c1c lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00016c20 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_log_rate_limit_interval */
    0x00016c24 addiu v0, v0, 0x1740          |     v0 += 0x1740;
    0x00016c28 lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00016c2c sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00016c30 addiu a3, zero, 0x1d8         |     a3 = 0x1d8;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00016c34 addiu a2, a2, 0x1327          |     a2 += 0x1327;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x00016c38 addiu a1, a1, -0x2218         |     a1 += -0x2218;
    0x00016c3c move a0, zero                 |     a0 = 0;
    0x00016c40 jalr t9                       |     t9 ();
                                             | label_3:
    0x00016c44 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00016c48 jalr t9                       |     t9 ();
    0x00016c4c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-journald @ 0x16c50 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00016c50 ()                  | void fcn_00016c50 () {
    0x00016c50 lui gp, 2                     |     
    0x00016c54 addiu gp, gp, 0x43b0          |     
    0x00016c58 addu gp, gp, t9               |     gp += t9;
    0x00016c5c addiu sp, sp, -0x48           |     
    0x00016c60 sw s0, 0x30(sp)               |     *(var_30h_4) = s0;
    0x00016c64 lw s0, -0x7cf4(gp)            |     s0 = *((gp - 7997));
    0x00016c68 sw fp, 0x40(sp)               |     *(var_40h_3) = fp;
    0x00016c6c sw ra, 0x44(sp)               |     *(var_44h_3) = ra;
    0x00016c70 sw s3, 0x3c(sp)               |     *(var_3ch_3) = s3;
    0x00016c74 sw s2, 0x38(sp)               |     *(var_38h_3) = s2;
    0x00016c78 sw s1, 0x34(sp)               |     *(var_34h_4) = s1;
    0x00016c7c sw gp, 0x18(sp)               |     *(var_18h_5) = gp;
    0x00016c80 move fp, sp                   |     fp = sp;
    0x00016c84 lw v0, (s0)                   |     v0 = *(s0);
    0x00016c88 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x00016c8c sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
                                             |     if (a0 == 0) {
    0x00016c90 beql a0, zero, 0x16dc0        |         goto label_1;
                                             |     }
    0x00016c94 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016c98 lw s1, 0x44(a0)               |     s1 = *((a0 + 17));
    0x00016c9c move s2, a0                   |     s2 = a0;
                                             |     if (s1 == 0) {
    0x00016ca0 beqz s1, 0x16db8              |         goto label_2;
                                             |     }
    0x00016ca4 lw t9, -0x7ca4(gp)            |     t9 = sym.imp.strlen;
    0x00016ca8 move a0, s1                   |     a0 = s1;
    0x00016cac jalr t9                       |     t9 ();
    0x00016cb0 lui a0, 0x40                  |     a0 = 0x400000;
                                             |     /* esilref: 'ify_queue' */
    0x00016cb4 addiu v1, v0, 0x29            |     v1 = v0 + 0x29;
    0x00016cb8 addiu a0, a0, 1               |     a0++;
    0x00016cbc sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x00016cc0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v1 == 0) {
    0x00016cc4 beqz v1, 0x16de4              |         goto label_3;
                                             |     }
                                             |     /* esilref: 'ue' */
    0x00016cc8 addiu v0, v0, 0x30            |     v0 += 0x30;
    0x00016ccc srl v0, v0, 3                 |     v0 >>= 3;
    0x00016cd0 sll v0, v0, 3                 |     v0 <<= 3;
    0x00016cd4 subu sp, sp, v0               |     
    0x00016cd8 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016cdc addiu s3, sp, 0x18            |     s3 = sp + 0x18;
                                             |     /* str._run_systemd_units_log_rate_limit_burst: */
    0x00016ce0 addiu v0, v0, 0x1394          |     v0 += 0x1394;
    0x00016ce4 move v1, s3                   |     v1 = s3;
    0x00016ce8 addiu a2, v0, 0x20            |     a2 = v0 + 0x20;
                                             |     do {
    0x00016cec lw t0, (v0)                   |         t0 = *(v0);
    0x00016cf0 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x00016cf4 lw a1, 8(v0)                  |         a1 = *((v0 + 2));
    0x00016cf8 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x00016cfc addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00016d00 sw t0, (v1)                   |         *(v1) = t0;
    0x00016d04 sw a3, 4(v1)                  |         *((v1 + 1)) = a3;
    0x00016d08 sw a1, 8(v1)                  |         *((v1 + 2)) = a1;
    0x00016d0c sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x00016d10 addiu v1, v1, 0x10            |         v1 += 0x10;
    0x00016d14 bne v0, a2, 0x16cec           |         
                                             |     } while (v0 != a2);
    0x00016d18 lw a2, (v0)                   |     a2 = *(v0);
    0x00016d1c lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00016d20 lw t9, -0x7cdc(gp)            |     t9 = sym.imp.strcpy
    0x00016d24 move a1, s1                   |     a1 = s1;
    0x00016d28 addiu a0, s3, 0x28            |     a0 = s3 + 0x28;
    0x00016d2c sw a2, (v1)                   |     *(v1) = a2;
    0x00016d30 sw v0, 4(v1)                  |     *((v1 + 1)) = v0;
    0x00016d34 jalr t9                       |     t9 ();
    0x00016d38 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00016d3c addiu a1, fp, 0x28            |     a1 = fp + 0x28;
    0x00016d40 lw t9, -0x7e74(gp)            |     t9 = sym.imp.readlink_malloc;
    0x00016d44 move a0, s3                   |     a0 = s3;
    0x00016d48 jalr t9                       |     t9 ();
    0x00016d4c lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             |     if (v0 >= 0) {
    0x00016d50 bltz v0, 0x16d6c              |         
    0x00016d54 lw t9, -0x7d44(gp)            |         t9 = sym.imp.safe_atou_full;
    0x00016d58 lw a0, 0x28(fp)               |         a0 = *(arg_28h);
                                             |         /* esilref: 'ager: &' */
    0x00016d5c addiu a2, s2, 0x90            |         a2 = s2 + 0x90;
    0x00016d60 move a1, zero                 |         a1 = 0;
    0x00016d64 jalr t9                       |         t9 ();
    0x00016d68 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x00016d6c lw s1, 0x28(fp)               |     s1 = *(arg_28h);
                                             |     do {
    0x00016d70 lw t9, -0x7c18(gp)            |         t9 = sym.imp.free;
    0x00016d74 nop                           |         
    0x00016d78 nop                           |         
    0x00016d7c nop                           |         
    0x00016d80 nop                           |         
    0x00016d84 invalid                       |         
    0x00016d88 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00016d8c lw v0, 0x24(fp)               |         v0 = *(arg_24h);
                                             |         if (a0 != v1) {
    0x00016d90 bne a0, v1, 0x16e10           |             goto label_4;
                                             |         }
    0x00016d94 move sp, fp                   |         
    0x00016d98 lw ra, 0x44(sp)               |         ra = *(var_44h_3);
    0x00016d9c lw fp, 0x40(sp)               |         fp = *(var_40h_3);
    0x00016da0 lw s3, 0x3c(sp)               |         s3 = *(var_3ch_3);
    0x00016da4 lw s2, 0x38(sp)               |         s2 = *(var_38h_3);
    0x00016da8 lw s1, 0x34(sp)               |         s1 = *(var_34h_4);
    0x00016dac lw s0, 0x30(sp)               |         s0 = *(var_30h_4);
    0x00016db0 addiu sp, sp, 0x48            |         
    0x00016db4 jr ra                         |         return v0;
                                             | label_2:
    0x00016db8 move v0, zero                 |         v0 = 0;
    0x00016dbc b 0x16d70                     |         
                                             |     } while (1);
                                             | label_1:
    0x00016dc0 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00016dc4 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_log_rate_limit_burst */
    0x00016dc8 addiu v0, v0, 0x1714          |     v0 += 0x1714;
    0x00016dcc lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00016dd0 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x00016dd4 addiu a3, zero, 0x1e5         |     a3 = 0x1e5;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00016dd8 addiu a2, a2, 0x1327          |     a2 += 0x1327;
    0x00016ddc addiu a1, a1, -0x3720         |     a1 += -0x3720;
    0x00016de0 jalr t9                       |     t9 ();
                                             | label_3:
    0x00016de4 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00016de8 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00016dec lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_log_rate_limit_burst */
    0x00016df0 addiu v0, v0, 0x1714          |     v0 += 0x1714;
    0x00016df4 lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00016df8 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x00016dfc addiu a3, zero, 0x1ea         |     a3 = 0x1ea;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00016e00 addiu a2, a2, 0x1327          |     a2 += 0x1327;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x00016e04 addiu a1, a1, -0x2218         |     a1 += -0x2218;
    0x00016e08 move a0, zero                 |     a0 = 0;
    0x00016e0c jalr t9                       |     t9 ();
                                             | label_4:
    0x00016e10 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00016e14 jalr t9                       |     t9 ();
    0x00016e18 nop                           |     
    0x00016e1c lw v1, 0xc(a0)                |     v1 = *((a0 + 3));
    0x00016e20 lw v0, 0xc(a1)                |     v0 = *((a1 + 3));
    0x00016e24 lw a3, 8(a0)                  |     a3 = *((a0 + 2));
    0x00016e28 sltu a2, v1, v0               |     a2 = (v1 < v0) ? 1 : 0;
    0x00016e2c lw t0, 8(a1)                  |     t0 = *((a1 + 2));
                                             |     if (a2 != 0) {
    0x00016e30 bnez a2, 0x16e84              |         goto label_5;
                                             |     }
    0x00016e34 sltu a2, a3, t0               |     a2 = (a3 < t0) ? 1 : 0;
                                             |     if (v0 == v1) {
    0x00016e38 beq v0, v1, 0x16e7c           |         goto label_6;
                                             |     }
    0x00016e3c sltu a2, v0, v1               |     a2 = (v0 < v1) ? 1 : 0;
                                             |     if (a2 != 0) {
                                             | label_0:
    0x00016e40 bnez a2, 0x16e74              |         goto label_7;
                                             |     }
    0x00016e44 nop                           |     
                                             |     if (v1 == v0) {
    0x00016e48 beql v1, v0, 0x16e6c          |         goto label_8;
                                             |     }
    0x00016e4c sltu a3, t0, a3               |     a3 = (t0 < a3) ? 1 : 0;
    0x00016e50 lw v0, 0x14(a0)               |     v0 = *((a0 + 5));
                                             |     do {
    0x00016e54 lw v1, 0x14(a1)               |         v1 = *((a1 + 5));
    0x00016e58 slt a0, v0, v1                |         a0 = (v0 < v1) ? 1 : 0;
                                             |         if (a0 != 0) {
    0x00016e5c bnez a0, 0x16e8c              |             goto label_9;
                                             |         }
    0x00016e60 nop                           |         
    0x00016e64 slt v0, v1, v0                |         v0 = (v1 < v0) ? 1 : 0;
    0x00016e68 jr ra                         |         return v0;
                                             | label_8:
    0x00016e6c beql a3, zero, 0x16e54        |         
                                             |     } while (a3 == 0);
    0x00016e70 lw v0, 0x14(a0)               |     v0 = *((a0 + 5));
                                             | label_7:
    0x00016e74 addiu v0, zero, 1             |     v0 = 1;
    0x00016e78 jr ra                         |     return v0;
                                             | label_6:
    0x00016e7c sltu a2, v0, v1               |     a2 = (v0 < v1) ? 1 : 0;
                                             |     if (a2 == 0) {
    0x00016e80 beqz a2, 0x16e40              |         goto label_0;
                                             |     }
                                             | label_5:
    0x00016e84 addiu v0, zero, -1            |     v0 = -1;
    0x00016e88 jr ra                         |     return v0;
                                             | label_9:
    0x00016e8c addiu v0, zero, -1            |     v0 = -1;
    0x00016e90 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-journald @ 0x16e94 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00016e94 ()              | void fcn_00016e94 () {
    0x00016e94 lui gp, 2                 |     
    0x00016e98 addiu gp, gp, 0x416c      |     
    0x00016e9c addu gp, gp, t9           |     gp += t9;
    0x00016ea0 addiu sp, sp, -0x40       |     
    0x00016ea4 sw s0, 0x28(sp)           |     *(var_28h) = s0;
    0x00016ea8 lw s0, -0x7cf4(gp)        |     s0 = *((gp - 7997));
    0x00016eac sw fp, 0x38(sp)           |     *(var_38h) = fp;
    0x00016eb0 sw s2, 0x30(sp)           |     *(var_30h) = s2;
    0x00016eb4 sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00016eb8 sw s3, 0x34(sp)           |     *(var_34h) = s3;
    0x00016ebc sw s1, 0x2c(sp)           |     *(var_2ch) = s1;
    0x00016ec0 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00016ec4 move fp, sp               |     fp = sp;
    0x00016ec8 lw v0, (s0)               |     v0 = *(s0);
    0x00016ecc move s2, a0               |     s2 = a0;
    0x00016ed0 sw zero, 0x20(fp)         |     *(var_20h) = 0;
    0x00016ed4 sw v0, 0x24(fp)           |     *(var_24h_2) = v0;
    0x00016ed8 lw t9, -0x7ca4(gp)        |     t9 = sym.imp.strlen;
                                         |     if (a0 == 0) {
    0x00016edc beqz a0, 0x16ff4          |         goto label_1;
                                         |     }
    0x00016ee0 move s1, a1               |     s1 = a1;
    0x00016ee4 jalr t9                   |     t9 ();
    0x00016ee8 lui a0, 0x40              |     a0 = 0x400000;
    0x00016eec addiu v1, v0, 0x22        |     v1 = v0 + 0x22;
    0x00016ef0 addiu a0, a0, 1           |     a0++;
    0x00016ef4 sltu v1, v1, a0           |     v1 = (v1 < a0) ? 1 : 0;
    0x00016ef8 lw gp, 0x18(fp)           |     gp = *(var_18h);
                                         |     if (v1 == 0) {
    0x00016efc beqz v1, 0x16ffc          |         goto label_2;
                                         |     }
    0x00016f00 addiu v0, v0, 0x29        |     v0 += 0x29;
    0x00016f04 srl v0, v0, 3             |     v0 >>= 3;
    0x00016f08 sll v0, v0, 3             |     v0 <<= 3;
    0x00016f0c subu sp, sp, v0           |     
    0x00016f10 lw v0, -0x7fc8(gp)        |     v0 = *(gp);
    0x00016f14 addiu s3, sp, 0x18        |     s3 = sp + 0x18;
                                         |     /* str._run_systemd_units_log_level_max: */
    0x00016f18 addiu v0, v0, 0x13c0      |     v0 += 0x13c0;
    0x00016f1c move v1, s3               |     v1 = s3;
    0x00016f20 addiu t0, v0, 0x20        |     t0 = v0 + 0x20;
                                         |     do {
    0x00016f24 lw a3, (v0)               |         a3 = *(v0);
    0x00016f28 lw a2, 4(v0)              |         a2 = *((v0 + 1));
    0x00016f2c lw a1, 8(v0)              |         a1 = *((v0 + 2));
    0x00016f30 lw a0, 0xc(v0)            |         a0 = *((v0 + 3));
    0x00016f34 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x00016f38 sw a3, (v1)               |         *(v1) = a3;
    0x00016f3c sw a2, 4(v1)              |         *((v1 + 1)) = a2;
    0x00016f40 sw a1, 8(v1)              |         *((v1 + 2)) = a1;
    0x00016f44 sw a0, 0xc(v1)            |         *((v1 + 3)) = a0;
    0x00016f48 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x00016f4c bne v0, t0, 0x16f24       |         
                                         |     } while (v0 != t0);
    0x00016f50 lbu v0, (v0)              |     v0 = *(v0);
    0x00016f54 lw t9, -0x7cdc(gp)        |     t9 = sym.imp.strcpy
    0x00016f58 addiu a0, s3, 0x21        |     a0 = s3 + 0x21;
    0x00016f5c move a1, s2               |     a1 = s2;
    0x00016f60 sb v0, (v1)               |     *(v1) = v0;
    0x00016f64 jalr t9                   |     t9 ();
    0x00016f68 lw gp, 0x18(fp)           |     gp = *(var_18h);
    0x00016f6c move a0, s3               |     a0 = s3;
    0x00016f70 lw t9, -0x7e74(gp)        |     t9 = sym.imp.readlink_malloc;
    0x00016f74 addiu a1, fp, 0x20        |     a1 = fp + 0x20;
    0x00016f78 jalr t9                   |     t9 ();
    0x00016f7c move s3, v0               |     s3 = v0;
    0x00016f80 lw gp, 0x18(fp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00016f84 bltz v0, 0x16fec          |         goto label_3;
                                         |     }
    0x00016f88 lw t9, -0x7d24(gp)        |     t9 = sym.imp.log_level_from_string;
    0x00016f8c lw a0, 0x20(fp)           |     a0 = *(var_20h);
    0x00016f90 jalr t9                   |     t9 ();
    0x00016f94 lw gp, 0x18(fp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00016f98 bltz v0, 0x17028          |         goto label_4;
                                         |     }
    0x00016f9c lw s2, 0x20(fp)           |     s2 = *(var_20h);
    0x00016fa0 sw v0, (s1)               |     *(s1) = v0;
    0x00016fa4 move s3, zero             |     s3 = 0;
                                         |     do {
                                         | label_0:
    0x00016fa8 lw t9, -0x7c18(gp)        |         t9 = sym.imp.free;
    0x00016fac move a0, s2               |         a0 = s2;
    0x00016fb0 jalr t9                   |         t9 ();
    0x00016fb4 lw a0, 0x24(fp)           |         a0 = *(var_24h_2);
    0x00016fb8 lw v1, (s0)               |         v1 = *(s0);
    0x00016fbc lw gp, 0x18(fp)           |         gp = *(var_18h);
    0x00016fc0 move v0, s3               |         v0 = s3;
                                         |         if (a0 != v1) {
    0x00016fc4 bne a0, v1, 0x17034       |             goto label_5;
                                         |         }
    0x00016fc8 move sp, fp               |         
    0x00016fcc lw ra, 0x3c(sp)           |         ra = *(var_3ch);
    0x00016fd0 lw fp, 0x38(sp)           |         fp = *(var_38h);
    0x00016fd4 lw s3, 0x34(sp)           |         s3 = *(var_34h);
    0x00016fd8 lw s2, 0x30(sp)           |         s2 = *(var_30h);
    0x00016fdc lw s1, 0x2c(sp)           |         s1 = *(var_2ch);
    0x00016fe0 lw s0, 0x28(sp)           |         s0 = *(var_28h);
    0x00016fe4 addiu sp, sp, 0x40        |         
    0x00016fe8 jr ra                     |         return v0;
                                         | label_3:
    0x00016fec lw s2, 0x20(fp)           |         s2 = *(var_20h);
    0x00016ff0 b 0x16fa8                 |         
                                         |     } while (1);
                                         | label_1:
    0x00016ff4 move s3, zero             |     s3 = 0;
    0x00016ff8 b 0x16fa8                 |     goto label_0;
                                         | label_2:
    0x00016ffc lw v0, -0x7fc8(gp)        |     v0 = *(gp);
    0x00017000 lw a2, -0x7fc8(gp)        |     a2 = *(gp);
    0x00017004 lw a1, -0x7fc8(gp)        |     a1 = *(gp);
                                         |     /* str.client_context_read_log_level_max */
    0x00017008 addiu v0, v0, 0x1790      |     v0 += 0x1790;
    0x0001700c lw t9, -0x7be8(gp)        |     t9 = sym.imp.log_assert_failed_realm;
    0x00017010 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00017014 addiu a3, zero, 0x167     |     a3 = 0x167;
                                         |     /* esilref: 'src/journal/journald-context.c' */
    0x00017018 addiu a2, a2, 0x1327      |     a2 += 0x1327;
                                         |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x0001701c addiu a1, a1, -0x2218     |     a1 += -0x2218;
    0x00017020 move a0, zero             |     a0 = 0;
    0x00017024 jalr t9                   |     t9 ();
                                         | label_4:
    0x00017028 lw s2, 0x20(fp)           |     s2 = *(var_20h);
    0x0001702c addiu s3, zero, -0x16     |     s3 = -0x16;
    0x00017030 b 0x16fa8                 |     goto label_0;
                                         | label_5:
    0x00017034 lw t9, -0x7d6c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00017038 jalr t9                   |     t9 ();
    0x0001703c nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-journald @ 0x17040 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00017040 ()                  | void fcn_00017040 () {
    0x00017040 lui gp, 2                     |     
    0x00017044 addiu gp, gp, 0x3fc0          |     
    0x00017048 addu gp, gp, t9               |     gp += t9;
    0x0001704c addiu sp, sp, -0x110          |     
    0x00017050 lw v0, -0x7cf4(gp)            |     v0 = *((gp - 7997));
    0x00017054 sw fp, 0x108(sp)              |     *(var_108h) = fp;
    0x00017058 move fp, sp                   |     fp = sp;
    0x0001705c sw ra, 0x10c(sp)              |     *(var_10ch) = ra;
    0x00017060 sw s7, 0x104(sp)              |     *(var_104h) = s7;
    0x00017064 sw s6, 0x100(sp)              |     *(var_100h) = s6;
    0x00017068 sw s5, 0xfc(sp)               |     *(var_fch) = s5;
    0x0001706c sw s4, 0xf8(sp)               |     *(var_f8h) = s4;
    0x00017070 sw s3, 0xf4(sp)               |     *(var_f4h) = s3;
    0x00017074 sw s2, 0xf0(sp)               |     *(var_f0h) = s2;
    0x00017078 sw s1, 0xec(sp)               |     *(var_ech) = s1;
    0x0001707c sw s0, 0xe8(sp)               |     *(var_e8h) = s0;
    0x00017080 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x00017084 sw v0, 0x24(fp)               |     *(arg_24h) = v0;
    0x00017088 lw s0, 0x44(a0)               |     s0 = *((a0 + 17));
    0x0001708c lw v0, (v0)                   |     v0 = *(v0);
    0x00017090 sw zero, 0x30(fp)             |     *(arg_30h) = 0;
    0x00017094 sw v0, 0xe4(fp)               |     *(arg_e4h) = v0;
    0x00017098 sw zero, 0x34(fp)             |     *(arg_34h) = 0;
    0x0001709c sw zero, 0x38(fp)             |     *(arg_38h) = 0;
    0x000170a0 sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
                                             |     if (s0 == 0) {
    0x000170a4 beqz s0, 0x17390              |         goto label_7;
                                             |     }
    0x000170a8 lw t9, -0x7ca4(gp)            |     t9 = sym.imp.strlen;
    0x000170ac move s3, a0                   |     s3 = a0;
    0x000170b0 move a0, s0                   |     a0 = s0;
    0x000170b4 jalr t9                       |     t9 ();
    0x000170b8 lui a0, 0x40                  |     a0 = 0x400000;
    0x000170bc addiu v1, v0, 0x25            |     v1 = v0 + 0x25;
    0x000170c0 addiu a0, a0, 1               |     a0++;
    0x000170c4 sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
    0x000170c8 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v1 == 0) {
    0x000170cc beqz v1, 0x1742c              |         goto label_8;
                                             |     }
    0x000170d0 addiu v0, v0, 0x2c            |     v0 += 0x2c;
    0x000170d4 srl v0, v0, 3                 |     v0 >>= 3;
    0x000170d8 sll v0, v0, 3                 |     v0 <<= 3;
    0x000170dc subu sp, sp, v0               |     
    0x000170e0 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x000170e4 addiu s1, sp, 0x18            |     s1 = sp + 0x18;
                                             |     /* str._run_systemd_units_log_extra_fields: */
    0x000170e8 addiu v0, v0, 0x13e4          |     v0 += 0x13e4;
    0x000170ec move v1, s1                   |     v1 = s1;
    0x000170f0 addiu a1, v0, 0x20            |     a1 = v0 + 0x20;
                                             |     do {
    0x000170f4 lw t0, (v0)                   |         t0 = *(v0);
    0x000170f8 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x000170fc lw a2, 8(v0)                  |         a2 = *((v0 + 2));
    0x00017100 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x00017104 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00017108 sw t0, (v1)                   |         *(v1) = t0;
    0x0001710c sw a3, 4(v1)                  |         *((v1 + 1)) = a3;
    0x00017110 sw a2, 8(v1)                  |         *((v1 + 2)) = a2;
    0x00017114 sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x00017118 addiu v1, v1, 0x10            |         v1 += 0x10;
    0x0001711c bne v0, a1, 0x170f4           |         
                                             |     } while (v0 != a1);
    0x00017120 lw v0, (v0)                   |     v0 = *(v0);
    0x00017124 lw t9, -0x7cdc(gp)            |     t9 = sym.imp.strcpy
    0x00017128 sw v0, (v1)                   |     *(v1) = v0;
    0x0001712c move a1, s0                   |     a1 = s0;
    0x00017130 addiu a0, s1, 0x24            |     a0 = s1 + 0x24;
    0x00017134 jalr t9                       |     t9 ();
    0x00017138 lw v0, 0x80(s3)               |     v0 = *((s3 + 32));
    0x0001713c addiu v1, zero, -1            |     v1 = -1;
    0x00017140 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 == v1) {
    0x00017144 beq v0, v1, 0x17328           |         goto label_9;
                                             |     }
    0x00017148 lw t9, -0x7b30(gp)            |     t9 = sym.imp.__xstat64;
    0x0001714c addiu a2, fp, 0x40            |     a2 = fp + 0x40;
    0x00017150 move a1, s1                   |     a1 = s1;
    0x00017154 addiu a0, zero, 3             |     a0 = 3;
    0x00017158 jalr t9                       |     t9 ();
    0x0001715c lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x00017160 bltz v0, 0x1734c              |         goto label_10;
                                             |     }
                                             | label_1:
    0x00017164 lw t9, -0x7edc(gp)            |     t9 = sym.imp.timespec_load_nsec;
    0x00017168 addiu a0, fp, 0x88            |     a0 = fp + 0x88;
    0x0001716c jalr t9                       |     t9 ();
    0x00017170 lw a0, 0x80(s3)               |     a0 = *((s3 + 32));
    0x00017174 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (a0 == v0) {
    0x00017178 beq a0, v0, 0x17458           |         goto label_11;
                                             |     }
                                             | label_0:
    0x0001717c lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             | label_2:
    0x00017180 lw t9, -0x7ed4(gp)            |     t9 = sym.imp.fopen64;
                                             |     /* esilref: 're' */
    0x00017184 addiu a1, a1, 0x140c          |     a1 += 0x140c;
    0x00017188 move a0, s1                   |     a0 = s1;
    0x0001718c jalr t9                       |     t9 ();
    0x00017190 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x00017194 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x00017198 beqz v0, 0x17374              |         goto label_12;
                                             |     }
    0x0001719c lw t9, -0x7aa0(gp)            |     t9 = sym.imp.fileno;
    0x000171a0 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x000171a4 jalr t9                       |     t9 ();
    0x000171a8 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x000171ac addiu a2, fp, 0x40            |     a2 = fp + 0x40;
    0x000171b0 move a1, v0                   |     a1 = v0;
    0x000171b4 lw t9, -0x7dec(gp)            |     t9 = sym.imp.__fxstat64;
    0x000171b8 addiu a0, zero, 3             |     a0 = 3;
    0x000171bc jalr t9                       |     t9 ();
    0x000171c0 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x000171c4 bltz v0, 0x17410              |         goto label_13;
                                             |     }
    0x000171c8 lw t9, -0x7ddc(gp)            |     t9 = sym.imp.read_full_stream_full;
    0x000171cc addiu v0, fp, 0x30            |     v0 = fp + 0x30;
    0x000171d0 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x000171d4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000171d8 addiu a3, fp, 0x3c            |     a3 = fp + 0x3c;
    0x000171dc move a2, zero                 |     a2 = 0;
    0x000171e0 move a1, zero                 |     a1 = 0;
    0x000171e4 jalr t9                       |     t9 ();
    0x000171e8 move s0, v0                   |     s0 = v0;
    0x000171ec lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x000171f0 bltz v0, 0x17398              |         goto label_4;
                                             |     }
    0x000171f4 lw s2, 0x30(fp)               |     s2 = *(arg_30h);
    0x000171f8 lw s6, 0x3c(fp)               |     s6 = *(arg_3ch);
                                             |     if (s2 == 0) {
    0x000171fc beqz s2, 0x1746c              |         goto label_14;
                                             |     }
    0x00017200 sltiu v0, s2, 8               |     v0 = (s2 < 8) ? 1 : 0;
    0x00017204 addiu s0, zero, -0x4d         |     s0 = -0x4d;
                                             |     if (v0 == 0) {
    0x00017208 bnel v0, zero, 0x17398        |         goto label_4;
                                             |     }
    0x0001720c lwl v0, 7(s6)                 |     __asm ("lwl v0, 7(s6)");
    0x00017210 lwl s0, 3(s6)                 |     __asm ("lwl s0, 3(s6)");
    0x00017214 lwr v0, 4(s6)                 |     __asm ("lwr v0, 4(s6)");
    0x00017218 lwr s0, (s6)                  |     __asm ("lwr s0, (s6)");
                                             |     if (v0 == 0) {
    0x0001721c beqz v0, 0x174ec              |         goto label_15;
                                             |     }
    0x00017220 addiu s1, s0, 8               |     s1 = s0 + 8;
                                             | label_6:
    0x00017224 sltu a0, s1, s0               |     a0 = (s1 < s0) ? 1 : 0;
    0x00017228 addu v0, a0, v0               |     v0 = a0 + v0;
    0x0001722c addiu s0, zero, -0x4d         |     s0 = -0x4d;
                                             |     if (v0 == 0) {
    0x00017230 bnel v0, zero, 0x17398        |         goto label_4;
                                             |     }
    0x00017234 sltu v0, s2, s1               |     v0 = (s2 < s1) ? 1 : 0;
    0x00017238 addiu s0, zero, -0x4d         |     s0 = -0x4d;
                                             |     if (v0 == 0) {
    0x0001723c bnel v0, zero, 0x17398        |         goto label_4;
                                             |     }
    0x00017240 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x00017244 addiu s4, fp, 0x34            |     s4 = fp + 0x34;
    0x00017248 addiu s7, fp, 0x38            |     s7 = fp + 0x38;
    0x0001724c b 0x17300                     |     
                                             |     while (v0 != 0) {
    0x00017250 lw t9, -0x7b7c(gp)            |         t9 = sym.imp.journal_field_valid;
    0x00017254 move a2, zero                 |         a2 = 0;
    0x00017258 subu a1, v0, s5               |         __asm ("subu a1, v0, s5");
    0x0001725c move a0, s5                   |         a0 = s5;
    0x00017260 jalr t9                       |         t9 ();
    0x00017264 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x00017268 beqz v0, 0x17320              |             goto label_16;
                                             |         }
    0x0001726c lw v0, 0x28(fp)               |         v0 = *(arg_28h);
    0x00017270 lw t9, -0x7c48(gp)            |         t9 = sym.imp.greedy_realloc;
    0x00017274 addiu v0, v0, 1               |         v0++;
    0x00017278 addiu a3, zero, 8             |         a3 = 8;
    0x0001727c sw v0, 0x28(fp)               |         *(arg_28h) = v0;
    0x00017280 move a2, v0                   |         a2 = v0;
    0x00017284 move a1, s4                   |         a1 = s4;
    0x00017288 move a0, s7                   |         a0 = s7;
    0x0001728c jalr t9                       |         t9 ();
    0x00017290 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x00017294 beqz v0, 0x174d0              |             goto label_17;
                                             |         }
    0x00017298 lw v0, 0x28(fp)               |         v0 = *(arg_28h);
    0x0001729c subu s2, s2, s1               |         __asm ("subu s2, s2, s1");
    0x000172a0 sll v0, v0, 3                 |         v0 <<= 3;
    0x000172a4 addiu a0, v0, -8              |         a0 = v0 + -8;
    0x000172a8 lw v0, 0x38(fp)               |         v0 = *(arg_38h);
    0x000172ac addu s6, s6, s1               |         s6 += s1;
    0x000172b0 addu v0, v0, a0               |         v0 += a0;
    0x000172b4 sw s5, (v0)                   |         *(v0) = s5;
    0x000172b8 sw s0, 4(v0)                  |         *((v0 + 1)) = s0;
                                             |         if (s2 == 0) {
    0x000172bc beqz s2, 0x17470              |             goto label_18;
                                             |         }
    0x000172c0 sltiu v0, s2, 8               |         v0 = (s2 < 8) ? 1 : 0;
    0x000172c4 addiu s0, zero, -0x4d         |         s0 = -0x4d;
                                             |         if (v0 == 0) {
    0x000172c8 bnel v0, zero, 0x17398        |             goto label_4;
                                             |         }
    0x000172cc lwl v0, 7(s6)                 |         __asm ("lwl v0, 7(s6)");
    0x000172d0 lwl s0, 3(s6)                 |         __asm ("lwl s0, 3(s6)");
    0x000172d4 lwr v0, 4(s6)                 |         __asm ("lwr v0, 4(s6)");
    0x000172d8 lwr s0, (s6)                  |         __asm ("lwr s0, (s6)");
                                             |         if (v0 == 0) {
    0x000172dc beqz v0, 0x174d8              |             goto label_19;
                                             |         }
    0x000172e0 addiu s1, s0, 8               |         s1 = s0 + 8;
                                             | label_5:
    0x000172e4 sltu a0, s1, s0               |         a0 = (s1 < s0) ? 1 : 0;
    0x000172e8 addu v0, a0, v0               |         v0 = a0 + v0;
    0x000172ec addiu s0, zero, -0x4d         |         s0 = -0x4d;
                                             |         if (v0 == 0) {
    0x000172f0 bnel v0, zero, 0x17398        |             goto label_4;
                                             |         }
    0x000172f4 sltu v0, s2, s1               |         v0 = (s2 < s1) ? 1 : 0;
    0x000172f8 addiu s0, zero, -0x4d         |         s0 = -0x4d;
                                             |         if (v0 == 0) {
    0x000172fc bnel v0, zero, 0x17398        |             goto label_4;
                                             |         }
    0x00017300 lw t9, -0x7e20(gp)            |         t9 = sym.imp.memchr;
    0x00017304 addiu s5, s6, 8               |         s5 = s6 + 8;
    0x00017308 move a2, s0                   |         a2 = s0;
    0x0001730c addiu a1, zero, 0x3d          |         a1 = 0x3d;
    0x00017310 move a0, s5                   |         a0 = s5;
    0x00017314 jalr t9                       |         t9 ();
    0x00017318 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0001731c bnez v0, 0x17250              |         
                                             |     }
                                             | label_16:
    0x00017320 addiu s0, zero, -0x4d         |     s0 = -0x4d;
    0x00017324 b 0x17398                     |     goto label_4;
                                             | label_9:
    0x00017328 lw v1, 0x84(s3)               |     v1 = *((s3 + 33));
    0x0001732c lw t9, -0x7b30(gp)            |     t9 = sym.imp.__xstat64;
                                             |     if (v1 == v0) {
    0x00017330 beq v1, v0, 0x1717c           |         goto label_0;
                                             |     }
    0x00017334 addiu a2, fp, 0x40            |     a2 = fp + 0x40;
    0x00017338 move a1, s1                   |     a1 = s1;
    0x0001733c addiu a0, zero, 3             |     a0 = 3;
    0x00017340 jalr t9                       |     t9 ();
    0x00017344 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 >= 0) {
    0x00017348 bgez v0, 0x17164              |         goto label_1;
                                             |     }
                                             | label_10:
    0x0001734c lw t9, -0x7aa8(gp)            |     t9 = sym.imp.__errno_location;
    0x00017350 jalr t9                       |     t9 ();
    0x00017354 nop                           |     
    0x00017358 lw s0, (v0)                   |     s0 = *(v0);
    0x0001735c addiu v0, zero, 2             |     v0 = 2;
    0x00017360 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (s0 != v0) {
    0x00017364 beq s0, v0, 0x17390           |         
    0x00017368 negu s0, s0                   |         __asm ("negu s0, s0");
    0x0001736c sw zero, 0x2c(fp)             |         *(arg_2ch) = 0;
    0x00017370 b 0x17398                     |         goto label_4;
                                             | label_12:
    0x00017374 lw t9, -0x7aa8(gp)            |         t9 = sym.imp.__errno_location;
    0x00017378 jalr t9                       |         t9 ();
    0x0001737c nop                           |         
    0x00017380 lw s0, (v0)                   |         s0 = *(v0);
    0x00017384 addiu v0, zero, 2             |         v0 = 2;
    0x00017388 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
                                             |         if (s0 != v0) {
    0x0001738c bne s0, v0, 0x17424           |             goto label_20;
                                             |         }
                                             |     }
                                             | label_7:
    0x00017390 sw zero, 0x2c(fp)             |     *(arg_2ch) = 0;
                                             | label_3:
    0x00017394 move s0, zero                 |     s0 = 0;
                                             |     do {
                                             | label_4:
    0x00017398 lw t9, -0x7ab4(gp)            |         t9 = sym.imp.safe_fclose;
    0x0001739c lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x000173a0 jalr t9                       |         t9 ();
    0x000173a4 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x000173a8 lw t9, -0x7c18(gp)            |         t9 = sym.imp.free;
    0x000173ac lw a0, 0x3c(fp)               |         a0 = *(arg_3ch);
    0x000173b0 jalr t9                       |         t9 ();
    0x000173b4 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x000173b8 lw t9, -0x7c18(gp)            |         t9 = sym.imp.free;
    0x000173bc lw a0, 0x38(fp)               |         a0 = *(arg_38h);
    0x000173c0 jalr t9                       |         t9 ();
    0x000173c4 lw v0, 0x24(fp)               |         v0 = *(arg_24h);
    0x000173c8 lw a0, 0xe4(fp)               |         a0 = *(arg_e4h);
    0x000173cc lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x000173d0 lw v1, (v0)                   |         v1 = *(v0);
    0x000173d4 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x000173d8 bne a0, v1, 0x17500           |             goto label_21;
                                             |         }
    0x000173dc move sp, fp                   |         
    0x000173e0 lw ra, 0x10c(sp)              |         ra = *(var_10ch);
    0x000173e4 lw fp, 0x108(sp)              |         fp = *(var_108h);
    0x000173e8 lw s7, 0x104(sp)              |         s7 = *(var_104h);
    0x000173ec lw s6, 0x100(sp)              |         s6 = *(var_100h);
    0x000173f0 lw s5, 0xfc(sp)               |         s5 = *(var_fch);
    0x000173f4 lw s4, 0xf8(sp)               |         s4 = *(var_f8h);
    0x000173f8 lw s3, 0xf4(sp)               |         s3 = *(var_f4h);
    0x000173fc lw s2, 0xf0(sp)               |         s2 = *(var_f0h);
    0x00017400 lw s1, 0xec(sp)               |         s1 = *(var_ech);
    0x00017404 lw s0, 0xe8(sp)               |         s0 = *(var_e8h);
    0x00017408 addiu sp, sp, 0x110           |         
    0x0001740c jr ra                         |         return v1;
                                             | label_13:
    0x00017410 lw t9, -0x7aa8(gp)            |         t9 = sym.imp.__errno_location;
    0x00017414 jalr t9                       |         t9 ();
    0x00017418 nop                           |         
    0x0001741c lw s0, (v0)                   |         s0 = *(v0);
    0x00017420 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
                                             | label_20:
    0x00017424 negu s0, s0                   |         __asm ("negu s0, s0");
    0x00017428 b 0x17398                     |         
                                             |     } while (1);
                                             | label_8:
    0x0001742c lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00017430 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00017434 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     /* str.client_context_read_extra_fields */
    0x00017438 addiu v0, v0, 0x176c          |     v0 += 0x176c;
    0x0001743c lw t9, -0x7be8(gp)            |     t9 = sym.imp.log_assert_failed_realm;
    0x00017440 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00017444 addiu a3, zero, 0x184         |     a3 = segment.NOTE;
                                             |     /* esilref: 'src/journal/journald-context.c' */
    0x00017448 addiu a2, a2, 0x1327          |     a2 += 0x1327;
                                             |     /* str.sizeof_char__n____ALLOCA_MAX */
    0x0001744c addiu a1, a1, -0x2218         |     a1 += -0x2218;
    0x00017450 move a0, zero                 |     a0 = 0;
    0x00017454 jalr t9                       |     t9 ();
                                             | label_11:
    0x00017458 lw v0, 0x84(s3)               |     v0 = *((s3 + 33));
    0x0001745c lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     if (v0 != v1) {
    0x00017460 bne v0, v1, 0x17180           |         goto label_2;
                                             |     }
    0x00017464 sw zero, 0x2c(fp)             |     *(arg_2ch) = 0;
    0x00017468 b 0x17394                     |     goto label_3;
                                             | label_14:
    0x0001746c sw zero, 0x28(fp)             |     *(arg_28h) = 0;
                                             | label_18:
    0x00017470 lw t9, -0x7c18(gp)            |     t9 = sym.imp.free;
    0x00017474 lw a0, 0x74(s3)               |     a0 = *((s3 + 29));
    0x00017478 move s0, zero                 |     s0 = 0;
    0x0001747c jalr t9                       |     t9 ();
    0x00017480 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x00017484 lw t9, -0x7c18(gp)            |     t9 = sym.imp.free;
    0x00017488 lw a0, 0x7c(s3)               |     a0 = *((s3 + 31));
    0x0001748c jalr t9                       |     t9 ();
    0x00017490 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x00017494 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x00017498 sw v0, 0x74(s3)               |     *((s3 + 29)) = v0;
    0x0001749c lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x000174a0 lw t9, -0x7edc(gp)            |     t9 = sym.imp.timespec_load_nsec;
    0x000174a4 sw v0, 0x78(s3)               |     *((s3 + 30)) = v0;
    0x000174a8 lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x000174ac addiu a0, fp, 0x88            |     a0 = fp + 0x88;
    0x000174b0 sw v0, 0x7c(s3)               |     *((s3 + 31)) = v0;
    0x000174b4 sw zero, 0x38(fp)             |     *(arg_38h) = 0;
    0x000174b8 sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
    0x000174bc jalr t9                       |     t9 ();
    0x000174c0 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x000174c4 sw v0, 0x80(s3)               |     *((s3 + 32)) = v0;
    0x000174c8 sw v1, 0x84(s3)               |     *((s3 + 33)) = v1;
    0x000174cc b 0x17398                     |     goto label_4;
                                             | label_17:
    0x000174d0 addiu s0, zero, -0xc          |     s0 = -0xc;
    0x000174d4 b 0x17398                     |     goto label_4;
                                             | label_19:
    0x000174d8 sltiu a0, s0, 2               |     a0 = (s0 < 2) ? 1 : 0;
    0x000174dc addiu s1, s0, 8               |     s1 = s0 + 8;
                                             |     if (a0 == 0) {
    0x000174e0 beqz a0, 0x172e4              |         goto label_5;
                                             |     }
    0x000174e4 addiu s0, zero, -0x4d         |     s0 = -0x4d;
    0x000174e8 b 0x17398                     |     goto label_4;
                                             | label_15:
    0x000174ec sltiu a0, s0, 2               |     a0 = (s0 < 2) ? 1 : 0;
    0x000174f0 addiu s1, s0, 8               |     s1 = s0 + 8;
                                             |     if (a0 == 0) {
    0x000174f4 beqz a0, 0x17224              |         goto label_6;
                                             |     }
    0x000174f8 addiu s0, zero, -0x4d         |     s0 = -0x4d;
    0x000174fc b 0x17398                     |     goto label_4;
                                             | label_21:
    0x00017500 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00017504 jalr t9                       |     t9 ();
    0x00017508 nop                           |     
                                             | }

[*] Function strcpy used 6 times systemd-journald