[*] Binary protection state of systemd-run-generator
Full RELRO Canary found NX disabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of systemd-run-generator
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/system-generators/systemd-run-generator @ 0x111c */
| #include <stdint.h>
|
; (fcn) fcn.0000111c () | void fcn_0000111c () {
0x0000111c lui gp, 2 |
0x00001120 addiu gp, gp, -0x610c |
0x00001124 addu gp, gp, t9 | gp += t9;
0x00001128 addiu sp, sp, -0x60 |
0x0000112c sw s3, 0x44(sp) | *(var_44h) = s3;
0x00001130 sw s0, 0x38(sp) | *(var_38h) = s0;
0x00001134 lw s3, -0x7f7c(gp) | s3 = *((gp - 8159));
0x00001138 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x0000113c sw fp, 0x58(sp) | *(var_58h) = fp;
0x00001140 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00001144 sw s7, 0x54(sp) | *(var_54h) = s7;
0x00001148 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0000114c sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x00001150 sw s4, 0x48(sp) | *(var_48h) = s4;
0x00001154 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00001158 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0000115c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00001160 move fp, sp | fp = sp;
0x00001164 lw v1, (s3) | v1 = *(s3);
0x00001168 lw v0, 0x3118(s0) | v0 = *((s0 + 3142));
0x0000116c sw v1, 0x34(fp) | *(arg_34h) = v1;
| if (v0 == 0) {
0x00001170 beql v0, zero, 0x141c | goto label_12;
| }
0x00001174 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001178 lw v0, (v0) | v0 = *(v0);
0x0000117c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
| if (v0 == 0) {
0x00001180 beqz v0, 0x141c | goto label_12;
| }
0x00001184 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
| label_0:
0x00001188 sw v0, 0x2c(fp) | *(arg_2ch) = v0;
0x0000118c lw s1, 0x311c(v0) | s1 = *((v0 + 3143));
0x00001190 lw t9, -0x7f70(gp) | t9 = sym.imp.strlen;
| if (s1 == 0) {
0x00001194 beqz s1, 0x179c | goto label_13;
| }
0x00001198 move a0, s1 | a0 = s1;
0x0000119c jalr t9 | t9 ();
0x000011a0 lui a0, 0x40 | a0 = 0x400000;
0x000011a4 addiu v1, v0, 0x1d | v1 = v0 + 0x1d;
0x000011a8 addiu a0, a0, 1 | a0++;
0x000011ac sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000011b0 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v1 == 0) {
0x000011b4 beqz v1, 0x1770 | goto label_14;
| }
0x000011b8 addiu v0, v0, 0x24 | v0 += 0x24;
0x000011bc srl v0, v0, 3 | v0 >>= 3;
0x000011c0 sll v0, v0, 3 | v0 <<= 3;
0x000011c4 subu sp, sp, v0 |
0x000011c8 lw t9, -0x7f4c(gp) | t9 = sym.imp.stpcpy;
0x000011cc addiu s4, sp, 0x20 | s4 = sp + 0x20;
0x000011d0 move a1, s1 | a1 = s1;
0x000011d4 move a0, s4 | a0 = s4;
0x000011d8 jalr t9 | t9 ();
0x000011dc lw gp, 0x20(fp) | gp = *(arg_20h);
0x000011e0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000011e4 addiu v1, a0, 0x1fd4 | v1 = a0 + str._kernel_command_line.service;
0x000011e8 lw a1, 0x1fd4(a0) | a1 = *(a0);
0x000011ec lw a0, 4(v1) | a0 = *((v1 + 1));
0x000011f0 swl a1, 3(v0) | __asm ("swl a1, 3(v0)");
0x000011f4 swr a1, (v0) | __asm ("swr a1, (v0)");
0x000011f8 swl a0, 7(v0) | __asm ("swl a0, 7(v0)");
0x000011fc lw a1, 8(v1) | a1 = *((v1 + 2));
0x00001200 swr a0, 4(v0) | __asm ("swr a0, 4(v0)");
0x00001204 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x00001208 lw a0, 0xc(v1) | a0 = *((v1 + 3));
0x0000120c swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x00001210 swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x00001214 lw a2, 0x10(v1) | a2 = *((v1 + 4));
0x00001218 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x0000121c lw a1, 0x14(v1) | a1 = *((v1 + 5));
0x00001220 swl a2, 0x13(v0) | __asm ("swl a2, 0x13(v0)");
0x00001224 lw a0, 0x18(v1) | a0 = *((v1 + 6));
0x00001228 swr a2, 0x10(v0) | __asm ("swr a2, 0x10(v0)");
0x0000122c swl a1, 0x17(v0) | __asm ("swl a1, 0x17(v0)");
0x00001230 swr a1, 0x14(v0) | __asm ("swr a1, 0x14(v0)");
0x00001234 lbu v1, 0x1c(v1) | v1 = *((v1 + 28));
0x00001238 swl a0, 0x1b(v0) | __asm ("swl a0, 0x1b(v0)");
0x0000123c swr a0, 0x18(v0) | __asm ("swr a0, 0x18(v0)");
0x00001240 sb v1, 0x1c(v0) | *((v0 + 28)) = v1;
0x00001244 addiu v0, v0, 0x1c | v0 += 0x1c;
| label_6:
0x00001248 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000124c lw t9, -0x7fa8(gp) | t9 = sym.imp.fopen64;
0x00001250 sb zero, (v0) | *(v0) = 0;
0x00001254 addiu a1, a1, 0x1cdc | a1 += 0x1cdc;
0x00001258 move a0, s4 | a0 = s4;
0x0000125c jalr t9 | t9 ();
0x00001260 move s1, v0 | s1 = v0;
0x00001264 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00001268 beqz v0, 0x1664 | goto label_15;
| }
0x0000126c lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001270 lw t9, -0x7f88(gp) | t9 = sym.imp.fwrite;
0x00001274 move a3, v0 | a3 = v0;
0x00001278 addiu a2, zero, 0xac | a2 = 0xac;
0x0000127c addiu a1, zero, 1 | a1 = 1;
0x00001280 addiu a0, a0, 0x1d04 | a0 += str._Automatically_generated_by_systemd_run_generator_n_n_Unit__nDescriptionCommand_from_Kernel_Command_Line_nDocumentationman:systemd_run_generator_8__nSourcePath_proc_cmdline_n;
0x00001284 jalr t9 | t9 ();
0x00001288 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0000128c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001290 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x00001294 lw t9, -0x7f28(gp) | t9 = sym.imp.strcmp_ptr;
0x00001298 lw s2, 0x3114(v0) | s2 = *((v0 + 3141));
0x0000129c addiu a1, s6, 0x1db4 | a1 = s6 + str.none;
0x000012a0 move a0, s2 | a0 = s2;
0x000012a4 jalr t9 | t9 ();
0x000012a8 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000012ac beqz v0, 0x12d8 |
| if (s2 == 0) {
0x000012b0 beql s2, zero, 0x16a4 | goto label_16;
| }
0x000012b4 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
| label_3:
0x000012b8 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000012bc lw t9, -0x7f2c(gp) | t9 = sym.imp.__fprintf_chk
0x000012c0 move a3, s2 | a3 = s2;
0x000012c4 addiu a2, a2, 0x1dbc | a2 += str.SuccessAction_s_n;
0x000012c8 addiu a1, zero, 1 | a1 = 1;
0x000012cc move a0, s1 | a0 = s1;
0x000012d0 jalr t9 | t9 ();
0x000012d4 lw gp, 0x20(fp) | gp = *(arg_20h);
| }
0x000012d8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000012dc lw t9, -0x7f28(gp) | t9 = sym.imp.strcmp_ptr;
0x000012e0 addiu a1, s6, 0x1db4 | a1 = s6 + str.none;
0x000012e4 lw s2, 0x3110(v0) | s2 = *((v0 + 3140));
0x000012e8 move a0, s2 | a0 = s2;
0x000012ec jalr t9 | t9 ();
0x000012f0 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 != 0) {
0x000012f4 bnez v0, 0x1434 | goto label_17;
| }
| label_2:
0x000012f8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000012fc lw t9, -0x7f88(gp) | t9 = sym.imp.fwrite;
0x00001300 move a3, s1 | a3 = s1;
0x00001304 addiu a2, zero, 0x37 | a2 = 0x37;
0x00001308 addiu a1, zero, 1 | a1 = 1;
0x0000130c addiu a0, a0, 0x1de4 | a0 += str._n_Service__nTypeoneshot_nStandardOutputjournalconsole_n;
0x00001310 jalr t9 | t9 ();
0x00001314 lw s0, 0x3118(s0) | s0 = *((s0 + 3142));
0x00001318 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (s0 == 0) {
0x0000131c beqz s0, 0x1460 | goto label_18;
| }
0x00001320 lw a0, (s0) | a0 = *(s0);
0x00001324 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
| if (a0 == 0) {
0x00001328 beqz a0, 0x1460 | goto label_18;
| }
0x0000132c lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
0x00001330 lw s7, -0x7fdc(gp) | s7 = *((gp - 8183));
0x00001334 addiu s6, s6, 0x1e1c | s6 += 0x1e1c;
0x00001338 addiu s2, s2, 0x1e20 | s2 += 0x1e20;
0x0000133c addiu s7, s7, 0x1e24 | s7 += str.ExecStart_s_n;
0x00001340 b 0x1384 |
| while (v0 != 0) {
0x00001344 lw t9, -0x7f2c(gp) | t9 = sym.imp.__fprintf_chk
0x00001348 move a3, v0 | a3 = v0;
0x0000134c move a2, s7 | a2 = s7;
0x00001350 addiu a1, zero, 1 | a1 = 1;
0x00001354 move a0, s1 | a0 = s1;
0x00001358 jalr t9 | t9 ();
0x0000135c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00001360 move a0, s5 | a0 = s5;
0x00001364 lw t9, -0x7f58(gp) | t9 = sym.imp.free;
0x00001368 addiu s0, s0, 4 | s0 += 4;
0x0000136c jalr t9 | t9 ();
0x00001370 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (s0 == 0) {
0x00001374 beqz s0, 0x1460 | goto label_18;
| }
0x00001378 lw a0, (s0) | a0 = *(s0);
0x0000137c lw t9, -0x7fa4(gp) | t9 = sym.imp.fflush_and_check;
| if (a0 == 0) {
0x00001380 beqz a0, 0x1464 | goto label_19;
| }
0x00001384 lw t9, -0x7f68(gp) | t9 = sym.imp.strreplace;
0x00001388 move a2, s6 | a2 = s6;
0x0000138c move a1, s2 | a1 = s2;
0x00001390 jalr t9 | t9 ();
0x00001394 move s5, v0 | s5 = v0;
0x00001398 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0000139c bnez v0, 0x1344 |
| }
0x000013a0 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000013a4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000013a8 lw t9, -0x7fa0(gp) | t9 = sym.imp.log_oom_internal;
0x000013ac addiu a3, a3, 0x2110 | a3 += 0x2110;
0x000013b0 addiu a2, zero, 0x5e | a2 = 0x5e;
0x000013b4 addiu a1, a1, 0x1c97 | a1 += 0x1c97;
0x000013b8 move a0, zero | a0 = 0;
0x000013bc jalr t9 | t9 ();
0x000013c0 lw gp, 0x20(fp) | gp = *(arg_20h);
0x000013c4 move s0, v0 | s0 = v0;
| label_1:
0x000013c8 lw t9, -0x7f24(gp) | t9 = sym.imp.safe_fclose;
0x000013cc move a0, s1 | a0 = s1;
0x000013d0 jalr t9 | t9 ();
0x000013d4 lw a0, 0x34(fp) | a0 = *(arg_34h);
0x000013d8 lw v1, (s3) | v1 = *(s3);
0x000013dc lw gp, 0x20(fp) | gp = *(arg_20h);
0x000013e0 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x000013e4 bne a0, v1, 0x1824 | goto label_20;
| }
0x000013e8 move sp, fp |
0x000013ec lw ra, 0x5c(sp) | ra = *(var_54h);
0x000013f0 lw fp, 0x58(sp) | fp = *(var_50h);
0x000013f4 lw s7, 0x54(sp) | s7 = *(var_4ch);
0x000013f8 lw s6, 0x50(sp) | s6 = *(var_48h);
0x000013fc lw s5, 0x4c(sp) | s5 = *(var_44h);
0x00001400 lw s4, 0x48(sp) | s4 = *(var_40h);
0x00001404 lw s3, 0x44(sp) | s3 = *(var_3ch);
0x00001408 lw s2, 0x40(sp) | s2 = *(var_38h);
0x0000140c lw s1, 0x3c(sp) | s1 = *(var_3ch_2);
0x00001410 lw s0, 0x38(sp) | s0 = *(var_38h_2);
0x00001414 addiu sp, sp, 0x60 |
0x00001418 jr ra | return v0;
| label_12:
0x0000141c lw v0, 0x3114(v0) | v0 = *((v0 + 3141));
0x00001420 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
| if (v0 != 0) {
0x00001424 bnez v0, 0x1188 | goto label_0;
| }
0x00001428 move s1, zero | s1 = 0;
| do {
0x0000142c move s0, zero | s0 = 0;
0x00001430 b 0x13c8 | goto label_1;
| if (s2 == 0) {
| label_17:
0x00001434 beql s2, zero, 0x16ac | goto label_21;
| }
0x00001438 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
| label_4:
0x0000143c lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001440 lw t9, -0x7f2c(gp) | t9 = sym.imp.__fprintf_chk
0x00001444 move a3, s2 | a3 = s2;
0x00001448 addiu a2, a2, 0x1dd0 | a2 += str.FailureAction_s_n;
0x0000144c addiu a1, zero, 1 | a1 = 1;
0x00001450 move a0, s1 | a0 = s1;
0x00001454 jalr t9 | t9 ();
0x00001458 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0000145c b 0x12f8 | goto label_2;
| label_18:
0x00001460 lw t9, -0x7fa4(gp) | t9 = sym.imp.fflush_and_check;
| label_19:
0x00001464 move a0, s1 | a0 = s1;
0x00001468 jalr t9 | t9 ();
0x0000146c move s0, v0 | s0 = v0;
0x00001470 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 < 0) {
0x00001474 bltz v0, 0x1730 | goto label_22;
| }
0x00001478 lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x0000147c lw s0, 0x311c(v0) | s0 = *((v0 + 3143));
0x00001480 lw t9, -0x7f70(gp) | t9 = sym.imp.strlen;
| if (s0 == 0) {
0x00001484 beqz s0, 0x1804 | goto label_23;
| }
0x00001488 move a0, s0 | a0 = s0;
0x0000148c jalr t9 | t9 ();
0x00001490 lui a0, 0x40 | a0 = 0x400000;
0x00001494 addiu v1, v0, 0x1c | v1 = v0 + 0x1c;
0x00001498 addiu a0, a0, 1 | a0++;
0x0000149c sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x000014a0 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v1 == 0) {
0x000014a4 beqz v1, 0x17d4 | goto label_24;
| }
0x000014a8 addiu v0, v0, 0x23 | v0 += 0x23;
0x000014ac srl v0, v0, 3 | v0 >>= 3;
0x000014b0 sll v0, v0, 3 | v0 <<= 3;
0x000014b4 subu sp, sp, v0 |
0x000014b8 lw t9, -0x7f4c(gp) | t9 = sym.imp.stpcpy;
0x000014bc addiu s2, sp, 0x20 | s2 = sp + 0x20;
0x000014c0 move a1, s0 | a1 = s0;
0x000014c4 move a0, s2 | a0 = s2;
0x000014c8 jalr t9 | t9 ();
0x000014cc lw gp, 0x20(fp) | gp = *(arg_20h);
0x000014d0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000014d4 addiu v1, a0, 0x1fb8 | v1 = a0 + str._kernel_command_line.target;
0x000014d8 lw a1, 0x1fb8(a0) | a1 = *(a0);
0x000014dc lw a0, 4(v1) | a0 = *((v1 + 1));
0x000014e0 swl a1, 3(v0) | __asm ("swl a1, 3(v0)");
0x000014e4 swr a1, (v0) | __asm ("swr a1, (v0)");
0x000014e8 swl a0, 7(v0) | __asm ("swl a0, 7(v0)");
0x000014ec lw a1, 8(v1) | a1 = *((v1 + 2));
0x000014f0 swr a0, 4(v0) | __asm ("swr a0, 4(v0)");
0x000014f4 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x000014f8 lw a0, 0xc(v1) | a0 = *((v1 + 3));
0x000014fc swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x00001500 swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x00001504 lw a1, 0x10(v1) | a1 = *((v1 + 4));
0x00001508 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x0000150c lw a0, 0x14(v1) | a0 = *((v1 + 5));
0x00001510 swl a1, 0x13(v0) | __asm ("swl a1, 0x13(v0)");
0x00001514 lw v1, 0x18(v1) | v1 = *((v1 + 6));
0x00001518 swr a1, 0x10(v0) | __asm ("swr a1, 0x10(v0)");
0x0000151c swl a0, 0x17(v0) | __asm ("swl a0, 0x17(v0)");
0x00001520 swr a0, 0x14(v0) | __asm ("swr a0, 0x14(v0)");
0x00001524 swl v1, 0x1b(v0) | __asm ("swl v1, 0x1b(v0)");
0x00001528 swr v1, 0x18(v0) | __asm ("swr v1, 0x18(v0)");
0x0000152c addiu v0, v0, 0x1b | v0 += 0x1b;
| label_8:
0x00001530 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001534 lw t9, -0x7f34(gp) | t9 = sym.imp.write_string_file_ts;
0x00001538 sb zero, (v0) | *(v0) = 0;
0x0000153c move a3, zero | a3 = 0;
0x00001540 addiu a2, zero, 0x41 | a2 = 0x41;
0x00001544 addiu a1, a1, 0x1e58 | a1 += str._Automatically_generated_by_systemd_run_generator_n_n_Unit__nDescriptionCommand_from_Kernel_Command_Line_nDocumentationman:systemd_run_generator_8__nSourcePath_proc_cmdline_nRequireskernel_command_line.service_nAfterkernel_command_line.service_n;
0x00001548 move a0, s2 | a0 = s2;
0x0000154c jalr t9 | t9 ();
0x00001550 move s0, v0 | s0 = v0;
0x00001554 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 < 0) {
0x00001558 bltz v0, 0x1708 | goto label_25;
| }
0x0000155c lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00001560 lw s0, 0x311c(v0) | s0 = *((v0 + 3143));
0x00001564 lw t9, -0x7f70(gp) | t9 = sym.imp.strlen;
| if (s0 == 0) {
0x00001568 beqz s0, 0x1814 | goto label_26;
| }
0x0000156c move a0, s0 | a0 = s0;
0x00001570 jalr t9 | t9 ();
0x00001574 lui a0, 0x40 | a0 = 0x400000;
0x00001578 addiu v1, v0, 0x10 | v1 = v0 + 0x10;
0x0000157c addiu a0, a0, 1 | a0++;
0x00001580 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x00001584 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v1 == 0) {
0x00001588 beqz v1, 0x17ec | goto label_27;
| }
0x0000158c addiu v0, v0, 0x17 | v0 += 0x17;
0x00001590 srl v0, v0, 3 | v0 >>= 3;
0x00001594 sll v0, v0, 3 | v0 <<= 3;
0x00001598 subu sp, sp, v0 |
0x0000159c lw t9, -0x7f4c(gp) | t9 = sym.imp.stpcpy;
0x000015a0 addiu s2, sp, 0x20 | s2 = sp + 0x20;
0x000015a4 move a1, s0 | a1 = s0;
0x000015a8 move a0, s2 | a0 = s2;
0x000015ac jalr t9 | t9 ();
0x000015b0 lw gp, 0x20(fp) | gp = *(arg_20h);
0x000015b4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000015b8 addiu v1, a0, 0x1fa8 | v1 = a0 + str._default.target;
0x000015bc lw a0, 0x1fa8(a0) | a0 = *(a0);
0x000015c0 lw a1, 4(v1) | a1 = *((v1 + 1));
0x000015c4 swl a0, 3(v0) | __asm ("swl a0, 3(v0)");
0x000015c8 swr a0, (v0) | __asm ("swr a0, (v0)");
0x000015cc swl a1, 7(v0) | __asm ("swl a1, 7(v0)");
0x000015d0 lw a0, 8(v1) | a0 = *((v1 + 2));
0x000015d4 swr a1, 4(v0) | __asm ("swr a1, 4(v0)");
0x000015d8 swl a0, 0xb(v0) | __asm ("swl a0, 0xb(v0)");
0x000015dc lw v1, 0xc(v1) | v1 = *((v1 + 3));
0x000015e0 swr a0, 8(v0) | __asm ("swr a0, 8(v0)");
0x000015e4 swl v1, 0xf(v0) | __asm ("swl v1, 0xf(v0)");
0x000015e8 swr v1, 0xc(v0) | __asm ("swr v1, 0xc(v0)");
0x000015ec addiu v0, v0, 0xf | v0 += 0xf;
| label_9:
0x000015f0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000015f4 lw t9, -0x7f60(gp) | t9 = sym.imp.symlink;
0x000015f8 sb zero, (v0) | *(v0) = 0;
0x000015fc move a1, s2 | a1 = s2;
0x00001600 addiu a0, a0, 0x1f4c | a0 += str.kernel_command_line.target;
0x00001604 jalr t9 | t9 ();
0x00001608 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0000160c bgez v0, 0x142c |
| } while (v0 >= 0);
0x00001610 lw t9, -0x7f20(gp) | t9 = sym.imp.__errno_location;
0x00001614 jalr t9 | t9 ();
0x00001618 nop |
0x0000161c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00001620 move a0, zero | a0 = 0;
0x00001624 lw t9, -0x7fac(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00001628 lw s0, (v0) | s0 = *(v0);
0x0000162c jalr t9 | t9 ();
0x00001630 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00001634 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 == 0) {
0x00001638 bnez v0, 0x1690 |
0x0000163c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001640 lw t9, -0x7f8c(gp) | t9 = sym.imp.log_internal_realm;
0x00001644 addiu v0, v0, 0x1f68 | v0 += str.Failed_to_link_unit_file_kernel_command_line.target___s:__m;
0x00001648 sw v0, 0x14(sp) | *(var_14h_4) = v0;
0x0000164c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001650 sw s2, 0x18(sp) | *(var_10h_3) = s2;
0x00001654 addiu v0, v0, 0x2110 | v0 += 0x2110;
0x00001658 sw v0, 0x10(sp) | *(var_10h_4) = v0;
0x0000165c addiu a3, zero, 0x79 | a3 = 0x79;
0x00001660 b 0x16d8 | goto label_5;
| label_15:
0x00001664 lw t9, -0x7f20(gp) | t9 = sym.imp.__errno_location;
0x00001668 jalr t9 | t9 ();
0x0000166c nop |
0x00001670 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00001674 move a0, zero | a0 = 0;
0x00001678 lw t9, -0x7fac(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0000167c lw s0, (v0) | s0 = *(v0);
0x00001680 jalr t9 | t9 ();
0x00001684 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00001688 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 == 0) {
0x0000168c beqz v0, 0x16b4 | goto label_28;
| }
| }
0x00001690 move a1, s0 | a1 = s0;
| if (s0 >= 0) {
0x00001694 bltz s0, 0x16f8 |
0x00001698 andi a1, a1, 0xff | a1 &= 0xff;
0x0000169c negu s0, a1 | __asm ("negu s0, a1");
0x000016a0 b 0x13c8 | goto label_1;
| label_16:
0x000016a4 addiu s2, s2, 0x1c88 | s2 += str.exit;
0x000016a8 b 0x12b8 | goto label_3;
| label_21:
0x000016ac addiu s2, s2, 0x1c88 | s2 += str.exit;
0x000016b0 b 0x143c | goto label_4;
| label_28:
0x000016b4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000016b8 lw t9, -0x7f8c(gp) | t9 = sym.imp.log_internal_realm;
0x000016bc addiu v0, v0, 0x1ce0 | v0 += str.Failed_to_create_unit_file__s:__m;
0x000016c0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000016c4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000016c8 sw s4, 0x18(sp) | *(var_18h) = s4;
0x000016cc addiu v0, v0, 0x2110 | v0 += 0x2110;
0x000016d0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000016d4 addiu a3, zero, 0x44 | a3 = 0x44;
| label_5:
0x000016d8 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000016dc move a1, s0 | a1 = s0;
0x000016e0 addiu a2, a2, 0x1c97 | a2 += 0x1c97;
0x000016e4 addiu a0, zero, 3 | a0 = 3;
0x000016e8 jalr t9 | t9 ();
0x000016ec move s0, v0 | s0 = v0;
0x000016f0 lw gp, 0x20(fp) | gp = *(arg_20h);
0x000016f4 b 0x13c8 | goto label_1;
| }
0x000016f8 negu a1, s0 | __asm ("negu a1, s0");
0x000016fc andi a1, a1, 0xff | a1 &= 0xff;
0x00001700 negu s0, a1 | __asm ("negu s0, a1");
0x00001704 b 0x13c8 | goto label_1;
| label_25:
0x00001708 lw t9, -0x7fac(gp) | t9 = sym.imp.log_get_max_level_realm;
0x0000170c move a0, zero | a0 = 0;
0x00001710 jalr t9 | t9 ();
0x00001714 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00001718 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 == 0) {
0x0000171c beqz v0, 0x17ac | goto label_29;
| }
| do {
0x00001720 negu s0, s0 | __asm ("negu s0, s0");
0x00001724 andi s0, s0, 0xff | s0 &= 0xff;
0x00001728 negu s0, s0 | __asm ("negu s0, s0");
0x0000172c b 0x13c8 | goto label_1;
| label_22:
0x00001730 lw t9, -0x7fac(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00001734 move a0, zero | a0 = 0;
0x00001738 jalr t9 | t9 ();
0x0000173c slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00001740 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00001744 bnez v0, 0x1720 |
| } while (v0 != 0);
0x00001748 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000174c lw t9, -0x7f8c(gp) | t9 = sym.imp.log_internal_realm;
0x00001750 addiu v0, v0, 0x1e34 | v0 += str.Failed_to_write_unit_file__s:__m;
0x00001754 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00001758 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000175c sw s4, 0x18(sp) | *(var_18h) = s4;
0x00001760 addiu v0, v0, 0x2110 | v0 += 0x2110;
0x00001764 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00001768 addiu a3, zero, 0x65 | a3 = 0x65;
0x0000176c b 0x16d8 | goto label_5;
| label_14:
0x00001770 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001774 lw t9, -0x7f50(gp) | t9 = sym.imp.log_assert_failed_realm;
0x00001778 addiu v0, v0, 0x211c | v0 += str.generate;
0x0000177c sw v0, 0x10(sp) | *(var_18h) = v0;
0x00001780 addiu a3, zero, 0x41 | a3 = 0x41;
| do {
| label_7:
0x00001784 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001788 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000178c addiu a2, a2, 0x1c97 | a2 += 0x1c97;
0x00001790 addiu a1, a1, 0x1cbc | a1 += str.sizeof_char__n____ALLOCA_MAX;
0x00001794 move a0, zero | a0 = 0;
0x00001798 jalr t9 | t9 ();
| label_13:
0x0000179c addiu sp, sp, -8 |
0x000017a0 addiu v0, sp, 0x20 | v0 = sp + 0x20;
0x000017a4 move s4, v0 | s4 = v0;
0x000017a8 b 0x1248 | goto label_6;
| label_29:
0x000017ac lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000017b0 lw t9, -0x7f8c(gp) | t9 = sym.imp.log_internal_realm;
0x000017b4 addiu v0, v0, 0x1ce0 | v0 += str.Failed_to_create_unit_file__s:__m;
0x000017b8 sw v0, 0x14(sp) | *(var_14h_3) = v0;
0x000017bc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000017c0 sw s2, 0x18(sp) | *(var_10h) = s2;
0x000017c4 addiu v0, v0, 0x2110 | v0 += 0x2110;
0x000017c8 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x000017cc addiu a3, zero, 0x74 | a3 = 0x74;
0x000017d0 b 0x16d8 | goto label_5;
| label_24:
0x000017d4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000017d8 lw t9, -0x7f50(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000017dc addiu v0, v0, 0x211c | v0 += str.generate;
0x000017e0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000017e4 addiu a3, zero, 0x68 | a3 = 0x68;
0x000017e8 b 0x1784 |
| } while (1);
| label_27:
0x000017ec lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000017f0 lw t9, -0x7f50(gp) | t9 = sym.imp.log_assert_failed_realm;
0x000017f4 addiu v0, v0, 0x211c | v0 += str.generate;
0x000017f8 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x000017fc addiu a3, zero, 0x77 | a3 = 0x77;
0x00001800 b 0x1784 | goto label_7;
| label_23:
0x00001804 addiu sp, sp, -8 |
0x00001808 addiu v0, sp, 0x20 | v0 = sp + 0x20;
0x0000180c move s2, v0 | s2 = v0;
0x00001810 b 0x1530 | goto label_8;
| label_26:
0x00001814 addiu sp, sp, -8 |
0x00001818 addiu v0, sp, 0x20 | v0 = sp + 0x20;
0x0000181c move s2, v0 | s2 = v0;
0x00001820 b 0x15f0 | goto label_9;
| label_20:
0x00001824 lw t9, -0x7f90(gp) | t9 = sym.imp.__stack_chk_fail;
0x00001828 jalr t9 | t9 ();
0x0000182c nop |
0x00001830 lui gp, 2 |
0x00001834 addiu gp, gp, -0x6820 |
0x00001838 addu gp, gp, t9 | gp += t9;
0x0000183c addiu sp, sp, -0x38 |
0x00001840 lw t9, -0x7f44(gp) | t9 = sym.imp.proc_cmdline_key_streq;
0x00001844 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00001848 move s0, a1 | s0 = a1;
0x0000184c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001850 sw gp, 0x20(sp) | *(var_20h_3) = gp;
0x00001854 sw s1, 0x30(sp) | *(var_30h) = s1;
0x00001858 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0000185c addiu a1, a1, 0x1ff4 | a1 += str.systemd.run;
0x00001860 move s1, a0 | s1 = a0;
0x00001864 jalr t9 | t9 ();
0x00001868 lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x0000186c beqz v0, 0x18a8 | goto label_30;
| }
0x00001870 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
| if (s0 == 0) {
0x00001874 beqz s0, 0x191c | goto label_31;
| }
0x00001878 lw t9, -0x7f78(gp) | t9 = sym.imp.strv_extend;
0x0000187c move a1, s0 | a1 = s0;
0x00001880 addiu a0, a0, 0x3118 | a0 += 0x3118;
0x00001884 jalr t9 | t9 ();
0x00001888 lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 < 0) {
0x0000188c bltz v0, 0x19a0 | goto label_32;
| }
| do {
| label_10:
0x00001890 lw ra, 0x34(sp) | ra = *(var_34h);
| label_11:
0x00001894 lw s1, 0x30(sp) | s1 = *(var_30h);
0x00001898 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0000189c move v0, zero | v0 = 0;
0x000018a0 addiu sp, sp, 0x38 |
0x000018a4 jr ra | return v0;
| label_30:
0x000018a8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000018ac lw t9, -0x7f44(gp) | t9 = sym.imp.proc_cmdline_key_streq;
0x000018b0 addiu a1, a1, 0x2060 | a1 += str.systemd.run_success_action;
0x000018b4 move a0, s1 | a0 = s1;
0x000018b8 jalr t9 | t9 ();
0x000018bc lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x000018c0 beqz v0, 0x18f8 | goto label_33;
| }
0x000018c4 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
| if (s0 == 0) {
0x000018c8 beqz s0, 0x191c | goto label_31;
| }
0x000018cc lw t9, -0x7f40(gp) | t9 = sym.imp.free_and_strdup;
0x000018d0 move a1, s0 | a1 = s0;
0x000018d4 addiu a0, a0, 0x3114 | a0 += 0x3114;
0x000018d8 jalr t9 | t9 ();
0x000018dc lw gp, 0x20(sp) | gp = *(var_20h_3);
0x000018e0 bgez v0, 0x1890 |
| } while (v0 >= 0);
0x000018e4 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000018e8 lw t9, -0x7fa0(gp) | t9 = sym.imp.log_oom_internal;
0x000018ec addiu a3, a3, 0x2144 | a3 += str.parse;
0x000018f0 addiu a2, zero, 0x2a | a2 = 0x2a;
0x000018f4 b 0x19b0 | goto label_34;
| label_33:
0x000018f8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000018fc lw t9, -0x7f44(gp) | t9 = sym.imp.proc_cmdline_key_streq;
0x00001900 addiu a1, a1, 0x207c | a1 += str.systemd.run_failure_action;
0x00001904 move a0, s1 | a0 = s1;
0x00001908 jalr t9 | t9 ();
0x0000190c lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x00001910 beqz v0, 0x1890 | goto label_10;
| }
0x00001914 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
| if (s0 != 0) {
0x00001918 bnez s0, 0x1974 | goto label_35;
| }
| label_31:
0x0000191c lw t9, -0x7fac(gp) | t9 = sym.imp.log_get_max_level_realm;
0x00001920 move a0, zero | a0 = 0;
0x00001924 jalr t9 | t9 ();
0x00001928 slti v0, v0, 4 | v0 = (v0 < 4) ? 1 : 0;
0x0000192c lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 != 0) {
0x00001930 bnez v0, 0x1890 | goto label_10;
| }
0x00001934 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001938 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x0000193c addiu v0, v0, 0x2020 | v0 += str.Missing_argument_for__s_kernel_command_line_switch__ignoring.;
0x00001940 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00001944 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001948 lw t9, -0x7f8c(gp) | t9 = sym.imp.log_internal_realm;
0x0000194c addiu v0, v0, 0x2128 | v0 += str.proc_cmdline_value_missing;
0x00001950 sw s1, 0x18(sp) | *(var_18h_2) = s1;
0x00001954 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001958 addiu a3, zero, 0x24 | a3 = 0x24;
0x0000195c addiu a2, a2, 0x2007 | a2 += 0x2007;
0x00001960 move a1, zero | a1 = 0;
0x00001964 addiu a0, zero, 4 | a0 = 4;
0x00001968 jalr t9 | t9 ();
0x0000196c lw ra, 0x34(sp) | ra = *(var_34h);
0x00001970 b 0x1894 | goto label_11;
| label_35:
0x00001974 lw t9, -0x7f40(gp) | t9 = sym.imp.free_and_strdup;
0x00001978 move a1, s0 | a1 = s0;
0x0000197c addiu a0, a0, 0x3110 | a0 += 0x3110;
0x00001980 jalr t9 | t9 ();
0x00001984 lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 >= 0) {
0x00001988 bgez v0, 0x1890 | goto label_10;
| }
0x0000198c lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001990 lw t9, -0x7fa0(gp) | t9 = sym.imp.log_oom_internal;
0x00001994 addiu a3, a3, 0x2144 | a3 += str.parse;
0x00001998 addiu a2, zero, 0x32 | a2 = 0x32;
0x0000199c b 0x19b0 | goto label_34;
| label_32:
0x000019a0 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000019a4 lw t9, -0x7fa0(gp) | t9 = sym.imp.log_oom_internal;
0x000019a8 addiu a3, a3, 0x2144 | a3 += str.parse;
0x000019ac addiu a2, zero, 0x22 | a2 = 0x22;
| label_34:
0x000019b0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000019b4 lw ra, 0x34(sp) | ra = *(var_34h);
0x000019b8 lw s1, 0x30(sp) | s1 = *(var_30h);
0x000019bc lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x000019c0 addiu a1, a1, 0x1c97 | a1 += 0x1c97;
0x000019c4 move a0, zero | a0 = 0;
0x000019c8 addiu sp, sp, 0x38 |
0x000019cc jr t9 | return t9 ();
| }
[*] Function fprintf used 4 times systemd-run-generator