#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *, char const *);
int /*<<< orphan*/ printf(char *, char const *, char const *, ...);
int /*<<< orphan*/ puts(char *);
int /*<<< orphan*/ stderr;
int /*<<< orphan*/ strcmp(char const *, char *);
void PrintEpochHelp(const char *RootCommand, const char *InCmd) {
  const char *HelpMsgs[] = {
      ("[poweroff/halt/reboot]:\n\t"
       "Enter poweroff, halt, or reboot to do the obvious."),
      ("shutdown [-r/-p/-h] <time>:\n\t"
       "Wrapper for the 'shutdown' command. See 'shutdown --help' for more."),
      ("[disable/enable] objectid:\n\t"
       "Enter disable or enable followed by an object ID to disable or "
       "enable\n\tthat object."),
      ("[start/stop/restart] objectid:\n\t"
       "Enter start, stop, or restart followed by an object ID to "
       "control\n\tthat object."),
      ("reload objectid:\n\t"
       "If a reload command exists for the object specified,\n\tthe object is "
       "reloaded."),
      ("objrl objectid [del/add/check] runlevel:\n\t"
       "runlevel del and add do pretty much what it sounds like,\n\t"
       "and check will tell you if that object is enabled for that runlevel."),
      ("[status/statusnc] [objectid]:\n\t"
       "Prints information about the object specified.\n\t"
       "If an object is not specified, it prints info on all known objects. "
       "statusnc excludes any color output."),
      ("setcad [on/off]:\n\t"
       "Sets Ctrl-Alt-Del instant reboot modes. If set to on,\n\t"
       "striking Ctrl-Alt-Del at a console will instantly reboot the system\n\t"
       "without intervention by Epoch. Otherwise, if set to off, Epoch will\n\t"
       "perform a normal reboot when Ctrl-Alt-Del is pressed."),
      ("configreload:\n\t"
       "Enter configreload to reload the configuration file from disk.\n\t"
       "This is useful for when you change it\n\t"
       "to add or remove services, change runlevels, and more."),
      ("reexec:\n\t"
       "Enter reeexec to partially restart Epoch from disk.\n\t"
       "This is necessary for updating the Epoch binary to prevent\n\t"
       "a failure with unmounting the filesystem the binary is on."),
      ("runlevel:\n\t"
       "Enter runlevel without any arguments to print the current runlevel,\n\t"
       "or enter an argument as the new runlevel."),
      ("getpid objectid:\n\t"
       "Retrieves the PID Epoch has on record for the given object.\n\t"
       "If a PID file is specified, then the PID will be gotten from there."),
      ("kill objectid:\n\t"
       "Sends SIGKILL to the object specified. If a PID file is specified,\n\t"
       "the PID will be retrieved from that."),
      ("[merge/unmerge] filename:\n\t"
       "Removes or adds an \"Import\" attribute in config containing the\n\t"
       "specified file path.\n\t"
       "Note that you will need to reload configuration or\n\t"
       "reexecute to make any data in the new config file load.\n\t"
       "This command simply edits the configuration file on-disk."),
      ("version:\n\t"
       "Prints the current version of the Epoch Init System.")};
  enum {
    HCMD,
    SHTDN,
    ENDIS,
    STAP,
    REL,
    OBJRL,
    STATUS,
    SETCAD,
    CONFRL,
    REEXEC,
    RLCTL,
    GETPID,
    KILLOBJ,
    MERGECMD,
    VER,
    ENUM_MAX
  };
  printf("%s\nCompiled %s %s\n\n", "Epoch Init System (git/master)",
         "Mar 19 2022", "01:44:47");
  if (InCmd == NULL) {
    short Inc = 0;
    puts("Printing all help.\n-----\n");
    for (; Inc < ENUM_MAX; ++Inc) {
      printf("%s %s\n\n", RootCommand, HelpMsgs[Inc]);
    }
  } else if (!strcmp(InCmd, "poweroff") || !strcmp(InCmd, "halt") ||
             !strcmp(InCmd, "reboot")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[HCMD]);
    return;
  } else if (!strcmp(InCmd, "shutdown")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[SHTDN]);
    return;
  } else if (!strcmp(InCmd, "disable") || !strcmp(InCmd, "enable")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[ENDIS]);
    return;
  } else if (!strcmp(InCmd, "start") || !strcmp(InCmd, "stop") ||
             !strcmp(InCmd, "restart")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[STAP]);
    return;
  } else if (!strcmp(InCmd, "objrl")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[OBJRL]);
    return;
  } else if (!strcmp(InCmd, "status") || !strcmp(InCmd, "statusnc")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[STATUS]);
    return;
  } else if (!strcmp(InCmd, "setcad")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[SETCAD]);
    return;
  } else if (!strcmp(InCmd, "configreload")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[CONFRL]);
    return;
  } else if (!strcmp(InCmd, "reexec")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[REEXEC]);
    return;
  } else if (!strcmp(InCmd, "reload")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[REL]);
    return;
  } else if (!strcmp(InCmd, "runlevel")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[RLCTL]);
    return;
  } else if (!strcmp(InCmd, "getpid")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[GETPID]);
    return;
  } else if (!strcmp(InCmd, "kill")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[KILLOBJ]);
    return;
  } else if (!strcmp(InCmd, "merge") || !strcmp(InCmd, "unmerge")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[MERGECMD]);
    return;
  } else if (!strcmp(InCmd, "version")) {
    printf("%s %s\n\n", RootCommand, HelpMsgs[VER]);
    return;
  } else {
    fprintf(stderr, "Unknown command name, \"%s\".\n", InCmd);
    return;
  }
}


x86 assembly (clang, -O0):
<PrintEpochHelp>:
push   %rbp
mov    %rsp,%rbp
sub    $0xa0,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
lea    -0x90(%rbp),%rdi
lea    0x2c2f(%rip),%rsi
mov    $0x78,%edx
call   1070 <memcpy@plt>
lea    0x1713(%rip),%rdi
lea    0x1720(%rip),%rsi
lea    0x1738(%rip),%rdx
lea    0x173d(%rip),%rcx
mov    $0x0,%al
call   1040 <printf@plt>
cmpq   $0x0,-0x10(%rbp)
jne    120c <PrintEpochHelp+0xbc>
movw   $0x0,-0x92(%rbp)
lea    0x1724(%rip),%rdi
call   1030 <puts@plt>
movswl -0x92(%rbp),%eax
cmp    $0xf,%eax
jge    1207 <PrintEpochHelp+0xb7>
mov    -0x8(%rbp),%rsi
movswq -0x92(%rbp),%rax
ff
mov    -0x90(%rbp,%rax,8),%rdx
ff
lea    0x16b8(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x92(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x92(%rbp)
jmp    11be <PrintEpochHelp+0x6e>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x16e0(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     1257 <PrintEpochHelp+0x107>
mov    -0x10(%rbp),%rdi
lea    0x16d0(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     1257 <PrintEpochHelp+0x107>
mov    -0x10(%rbp),%rdi
lea    0x16bc(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    1275 <PrintEpochHelp+0x125>
mov    -0x8(%rbp),%rsi
mov    -0x90(%rbp),%rdx
lea    0x1638(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x168c(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    12ac <PrintEpochHelp+0x15c>
mov    -0x8(%rbp),%rsi
mov    -0x88(%rbp),%rdx
lea    0x1601(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x165e(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     12de <PrintEpochHelp+0x18e>
mov    -0x10(%rbp),%rdi
lea    0x164d(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    12f9 <PrintEpochHelp+0x1a9>
mov    -0x8(%rbp),%rsi
mov    -0x80(%rbp),%rdx
lea    0x15b4(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x1627(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     1344 <PrintEpochHelp+0x1f4>
mov    -0x10(%rbp),%rdi
lea    0x1607(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     1344 <PrintEpochHelp+0x1f4>
mov    -0x10(%rbp),%rdi
lea    0x15f3(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    135f <PrintEpochHelp+0x20f>
mov    -0x8(%rbp),%rsi
mov    -0x78(%rbp),%rdx
lea    0x154e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x15c7(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    1393 <PrintEpochHelp+0x243>
mov    -0x8(%rbp),%rsi
mov    -0x68(%rbp),%rdx
lea    0x151a(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x1599(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     13c5 <PrintEpochHelp+0x275>
mov    -0x10(%rbp),%rdi
lea    0x1587(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    13e0 <PrintEpochHelp+0x290>
mov    -0x8(%rbp),%rsi
mov    -0x60(%rbp),%rdx
lea    0x14cd(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x155c(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    1414 <PrintEpochHelp+0x2c4>
mov    -0x8(%rbp),%rsi
mov    -0x58(%rbp),%rdx
lea    0x1499(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x152f(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    1448 <PrintEpochHelp+0x2f8>
mov    -0x8(%rbp),%rsi
mov    -0x50(%rbp),%rdx
lea    0x1465(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x1508(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    147c <PrintEpochHelp+0x32c>
mov    -0x8(%rbp),%rsi
mov    -0x48(%rbp),%rdx
lea    0x1431(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x14cd(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    14b0 <PrintEpochHelp+0x360>
mov    -0x8(%rbp),%rsi
mov    -0x70(%rbp),%rdx
lea    0x13fd(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x14a7(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    14e4 <PrintEpochHelp+0x394>
mov    -0x8(%rbp),%rsi
mov    -0x40(%rbp),%rdx
lea    0x13c9(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x147c(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    1518 <PrintEpochHelp+0x3c8>
mov    -0x8(%rbp),%rsi
mov    -0x38(%rbp),%rdx
lea    0x1395(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x144f(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    154c <PrintEpochHelp+0x3fc>
mov    -0x8(%rbp),%rsi
mov    -0x30(%rbp),%rdx
lea    0x1361(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x1422(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     157e <PrintEpochHelp+0x42e>
mov    -0x10(%rbp),%rdi
lea    0x1407(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    1599 <PrintEpochHelp+0x449>
mov    -0x8(%rbp),%rsi
mov    -0x28(%rbp),%rdx
lea    0x1314(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    -0x10(%rbp),%rdi
lea    0x13db(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    15cd <PrintEpochHelp+0x47d>
mov    -0x8(%rbp),%rsi
mov    -0x20(%rbp),%rdx
lea    0x12e0(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    15e6 <PrintEpochHelp+0x496>
mov    0x2a0c(%rip),%rax
mov    (%rax),%edi
mov    -0x10(%rbp),%rdx
lea    0x13a6(%rip),%rsi
call   1060 <fprintf@plt>
add    $0xa0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<PrintEpochHelp>:
push   %r15
push   %r14
push   %rbx
mov    %rsi,%r14
mov    %rdi,%r15
lea    0x1743(%rip),%rdi
lea    0x1750(%rip),%rsi
lea    0x1768(%rip),%rdx
lea    0x176d(%rip),%rcx
xor    %eax,%eax
call   1040 <printf@plt>
test   %r14,%r14
je     13a1 <PrintEpochHelp+0x261>
lea    0x1779(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     138e <PrintEpochHelp+0x24e>
lea    0x176b(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     138e <PrintEpochHelp+0x24e>
lea    0x1759(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     138e <PrintEpochHelp+0x24e>
lea    0x1749(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     14f5 <PrintEpochHelp+0x3b5>
lea    0x173b(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     14e5 <PrintEpochHelp+0x3a5>
lea    0x172c(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     14e5 <PrintEpochHelp+0x3a5>
lea    0x1723(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1505 <PrintEpochHelp+0x3c5>
lea    0x1705(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1505 <PrintEpochHelp+0x3c5>
lea    0x16f3(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1505 <PrintEpochHelp+0x3c5>
lea    0x16e4(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1525 <PrintEpochHelp+0x3e5>
lea    0x16d3(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1515 <PrintEpochHelp+0x3d5>
lea    0x16c3(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1515 <PrintEpochHelp+0x3d5>
lea    0x16b5(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1535 <PrintEpochHelp+0x3f5>
lea    0x16a5(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1545 <PrintEpochHelp+0x405>
lea    0x169b(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1555 <PrintEpochHelp+0x415>
lea    0x167d(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1568 <PrintEpochHelp+0x428>
lea    0x1674(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     157b <PrintEpochHelp+0x43b>
lea    0x1666(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     158e <PrintEpochHelp+0x44e>
lea    0x1656(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     15b4 <PrintEpochHelp+0x474>
lea    0x1646(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     15a1 <PrintEpochHelp+0x461>
lea    0x162d(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     15a1 <PrintEpochHelp+0x461>
lea    0x161e(%rip),%rsi
mov    %r14,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     15c7 <PrintEpochHelp+0x487>
mov    0x2c68(%rip),%rax
mov    (%rax),%edi
lea    0x1606(%rip),%rsi
mov    %r14,%rdx
pop    %rbx
pop    %r14
pop    %r15
jmp    1060 <fprintf@plt>
lea    0x150c(%rip),%rdi
lea    0xc64(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1535(%rip),%rdi
call   1030 <puts@plt>
lea    0x14ed(%rip),%rbx
lea    0xc45(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xc7d(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xcca(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xd26(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xd82(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xdce(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xe63(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf06(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xffb(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1094(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1135(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x119b(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x121a(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x127f(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1383(%rip),%rdx
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
pop    %rbx
pop    %r14
pop    %r15
jmp    1040 <printf@plt>
lea    0x13b5(%rip),%rdi
lea    0xbba(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x13a5(%rip),%rdi
lea    0xb49(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1395(%rip),%rdi
lea    0xc0a(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1385(%rip),%rdi
lea    0xd73(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1375(%rip),%rdi
lea    0xcba(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1365(%rip),%rdi
lea    0xe0a(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1355(%rip),%rdi
lea    0xf03(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1345(%rip),%rdi
lea    0xfa0(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x1332(%rip),%rdi
lea    0xc17(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x131f(%rip),%rdi
lea    0x102f(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x130c(%rip),%rdi
lea    0x1096(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x12f9(%rip),%rdi
lea    0x118f(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x12e6(%rip),%rdi
lea    0x1103(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>
lea    0x12d3(%rip),%rdi
lea    0x1281(%rip),%rdx
jmp    14d6 <PrintEpochHelp+0x396>

LLVM IR (-O0):
@.str = [76 x i8] c"[poweroff/halt/reboot]:\0A\09Enter poweroff, halt, or reboot to do the obvious.\00"
@.str.1 = [97 x i8] c"shutdown [-r/-p/-h] <time>:\0A\09Wrapper for the 'shutdown' command. See 'shutdown --help' for more.\00"
@.str.2 = [112 x i8] c"[disable/enable] objectid:\0A\09Enter disable or enable followed by an object ID to disable or enable\0A\09that object.\00"
@.str.3 = [112 x i8] c"[start/stop/restart] objectid:\0A\09Enter start, stop, or restart followed by an object ID to control\0A\09that object.\00"
@.str.4 = [96 x i8] c"reload objectid:\0A\09If a reload command exists for the object specified,\0A\09the object is reloaded.\00"
@.str.5 = [169 x i8] c"objrl objectid [del/add/check] runlevel:\0A\09runlevel del and add do pretty much what it sounds like,\0A\09and check will tell you if that object is enabled for that runlevel.\00"
@.str.6 = [183 x i8] c"[status/statusnc] [objectid]:\0A\09Prints information about the object specified.\0A\09If an object is not specified, it prints info on all known objects. statusnc excludes any color output.\00"
@.str.7 = [265 x i8] c"setcad [on/off]:\0A\09Sets Ctrl-Alt-Del instant reboot modes. If set to on,\0A\09striking Ctrl-Alt-Del at a console will instantly reboot the system\0A\09without intervention by Epoch. Otherwise, if set to off, Epoch will\0A\09perform a normal reboot when Ctrl-Alt-Del is pressed.\00"
@.str.8 = [173 x i8] c"configreload:\0A\09Enter configreload to reload the configuration file from disk.\0A\09This is useful for when you change it\0A\09to add or remove services, change runlevels, and more.\00"
@.str.9 = [181 x i8] c"reexec:\0A\09Enter reeexec to partially restart Epoch from disk.\0A\09This is necessary for updating the Epoch binary to prevent\0A\09a failure with unmounting the filesystem the binary is on.\00"
@.str.10 = [122 x i8] c"runlevel:\0A\09Enter runlevel without any arguments to print the current runlevel,\0A\09or enter an argument as the new runlevel.\00"
@.str.11 = [147 x i8] c"getpid objectid:\0A\09Retrieves the PID Epoch has on record for the given object.\0A\09If a PID file is specified, then the PID will be gotten from there.\00"
@.str.12 = [121 x i8] c"kill objectid:\0A\09Sends SIGKILL to the object specified. If a PID file is specified,\0A\09the PID will be retrieved from that.\00"
@.str.13 = [280 x i8] c"[merge/unmerge] filename:\0A\09Removes or adds an \22Import\22 attribute in config containing the\0A\09specified file path.\0A\09Note that you will need to reload configuration or\0A\09reexecute to make any data in the new config file load.\0A\09This command simply edits the configuration file on-disk.\00"
@.str.14 = [63 x i8] c"version:\0A\09Prints the current version of the Epoch Init System.\00"
@__const.PrintEpochHelp.HelpMsgs = [15 x i8*] [i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.1, i32 0, i32 0), i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.2, i32 0, i32 0), i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.4, i32 0, i32 0), i8* getelementptr inbounds ([169 x i8], [169 x i8]* @.str.5, i32 0, i32 0), i8* getelementptr inbounds ([183 x i8], [183 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([265 x i8], [265 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([181 x i8], [181 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([121 x i8], [121 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([280 x i8], [280 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.14, i32 0, i32 0)]
@.str.15 = [20 x i8] c"%s\0ACompiled %s %s\0A\0A\00"
@.str.16 = [31 x i8] c"Epoch Init System (git/master)\00"
@.str.17 = [12 x i8] c"Mar 19 2022\00"
@.str.18 = [9 x i8] c"01:44:47\00"
@.str.19 = [26 x i8] c"Printing all help.\0A-----\0A\00"
@.str.20 = [8 x i8] c"%s %s\0A\0A\00"
@.str.21 = [9 x i8] c"poweroff\00"
@.str.22 = [5 x i8] c"halt\00"
@.str.23 = [7 x i8] c"reboot\00"
@.str.24 = [9 x i8] c"shutdown\00"
@.str.25 = [8 x i8] c"disable\00"
@.str.26 = [7 x i8] c"enable\00"
@.str.27 = [6 x i8] c"start\00"
@.str.28 = [5 x i8] c"stop\00"
@.str.29 = [8 x i8] c"restart\00"
@.str.30 = [6 x i8] c"objrl\00"
@.str.31 = [7 x i8] c"status\00"
@.str.32 = [9 x i8] c"statusnc\00"
@.str.33 = [7 x i8] c"setcad\00"
@.str.34 = [13 x i8] c"configreload\00"
@.str.35 = [7 x i8] c"reexec\00"
@.str.36 = [7 x i8] c"reload\00"
@.str.37 = [9 x i8] c"runlevel\00"
@.str.38 = [7 x i8] c"getpid\00"
@.str.39 = [5 x i8] c"kill\00"
@.str.40 = [6 x i8] c"merge\00"
@.str.41 = [8 x i8] c"unmerge\00"
@.str.42 = [8 x i8] c"version\00"
@stderr = global i32 0
@.str.43 = [29 x i8] c"Unknown command name, \22%s\22.\0A\00"
define void @PrintEpochHelp(i8* %0, i8* %1) {
%3 = alloca i8*
%4 = alloca i8*
%5 = alloca [15 x i8*]
%6 = alloca i16
store i8* %0, i8** %3
store i8* %1, i8** %4
%7 = bitcast [15 x i8*]* %5 to i8*
%8 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
%9 = load i8*, i8** %4
%10 = icmp eq i8* %9, null
br i1 %10, label %11, label %28
11: ; preds = %2
store i16 0, i16* %6
%12 = call i32 @puts(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.19, i64 0, i64 0))
br label %13
13: ; preds = %24, %11
%14 = load i16, i16* %6
%15 = sext i16 %14 to i32
%16 = icmp slt i32 %15, 15
br i1 %16, label %17, label %27
17: ; preds = %13
%18 = load i8*, i8** %3
%19 = load i16, i16* %6
%20 = sext i16 %19 to i64
%21 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 %20
%22 = load i8*, i8** %21
%23 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %18, i8* %22)
br label %24
24: ; preds = %17
%25 = load i16, i16* %6
%26 = add i16 %25, 1
store i16 %26, i16* %6
br label %13
27: ; preds = %13
br label %195
28: ; preds = %2
%29 = load i8*, i8** %4
%30 = call i32 @strcmp(i8* %29, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.21, i64 0, i64 0))
%31 = icmp ne i32 %30, 0
br i1 %31, label %32, label %40
32: ; preds = %28
%33 = load i8*, i8** %4
%34 = call i32 @strcmp(i8* %33, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0))
%35 = icmp ne i32 %34, 0
br i1 %35, label %36, label %40
36: ; preds = %32
%37 = load i8*, i8** %4
%38 = call i32 @strcmp(i8* %37, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.23, i64 0, i64 0))
%39 = icmp ne i32 %38, 0
br i1 %39, label %45, label %40
40: ; preds = %36, %32, %28
%41 = load i8*, i8** %3
%42 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 0
%43 = load i8*, i8** %42
%44 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %41, i8* %43)
br label %195
45: ; preds = %36
%46 = load i8*, i8** %4
%47 = call i32 @strcmp(i8* %46, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.24, i64 0, i64 0))
%48 = icmp ne i32 %47, 0
br i1 %48, label %54, label %49
49: ; preds = %45
%50 = load i8*, i8** %3
%51 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 1
%52 = load i8*, i8** %51
%53 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %50, i8* %52)
br label %195
54: ; preds = %45
%55 = load i8*, i8** %4
%56 = call i32 @strcmp(i8* %55, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0))
%57 = icmp ne i32 %56, 0
br i1 %57, label %58, label %62
58: ; preds = %54
%59 = load i8*, i8** %4
%60 = call i32 @strcmp(i8* %59, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.26, i64 0, i64 0))
%61 = icmp ne i32 %60, 0
br i1 %61, label %67, label %62
62: ; preds = %58, %54
%63 = load i8*, i8** %3
%64 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 2
%65 = load i8*, i8** %64
%66 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %63, i8* %65)
br label %195
67: ; preds = %58
%68 = load i8*, i8** %4
%69 = call i32 @strcmp(i8* %68, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.27, i64 0, i64 0))
%70 = icmp ne i32 %69, 0
br i1 %70, label %71, label %79
71: ; preds = %67
%72 = load i8*, i8** %4
%73 = call i32 @strcmp(i8* %72, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28, i64 0, i64 0))
%74 = icmp ne i32 %73, 0
br i1 %74, label %75, label %79
75: ; preds = %71
%76 = load i8*, i8** %4
%77 = call i32 @strcmp(i8* %76, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.29, i64 0, i64 0))
%78 = icmp ne i32 %77, 0
br i1 %78, label %84, label %79
79: ; preds = %75, %71, %67
%80 = load i8*, i8** %3
%81 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 3
%82 = load i8*, i8** %81
%83 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %80, i8* %82)
br label %195
84: ; preds = %75
%85 = load i8*, i8** %4
%86 = call i32 @strcmp(i8* %85, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.30, i64 0, i64 0))
%87 = icmp ne i32 %86, 0
br i1 %87, label %93, label %88
88: ; preds = %84
%89 = load i8*, i8** %3
%90 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 5
%91 = load i8*, i8** %90
%92 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %89, i8* %91)
br label %195
93: ; preds = %84
%94 = load i8*, i8** %4
%95 = call i32 @strcmp(i8* %94, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.31, i64 0, i64 0))
%96 = icmp ne i32 %95, 0
br i1 %96, label %97, label %101
97: ; preds = %93
%98 = load i8*, i8** %4
%99 = call i32 @strcmp(i8* %98, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.32, i64 0, i64 0))
%100 = icmp ne i32 %99, 0
br i1 %100, label %106, label %101
101: ; preds = %97, %93
%102 = load i8*, i8** %3
%103 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 6
%104 = load i8*, i8** %103
%105 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %102, i8* %104)
br label %195
106: ; preds = %97
%107 = load i8*, i8** %4
%108 = call i32 @strcmp(i8* %107, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.33, i64 0, i64 0))
%109 = icmp ne i32 %108, 0
br i1 %109, label %115, label %110
110: ; preds = %106
%111 = load i8*, i8** %3
%112 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 7
%113 = load i8*, i8** %112
%114 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %111, i8* %113)
br label %195
115: ; preds = %106
%116 = load i8*, i8** %4
%117 = call i32 @strcmp(i8* %116, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.34, i64 0, i64 0))
%118 = icmp ne i32 %117, 0
br i1 %118, label %124, label %119
119: ; preds = %115
%120 = load i8*, i8** %3
%121 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 8
%122 = load i8*, i8** %121
%123 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %120, i8* %122)
br label %195
124: ; preds = %115
%125 = load i8*, i8** %4
%126 = call i32 @strcmp(i8* %125, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.35, i64 0, i64 0))
%127 = icmp ne i32 %126, 0
br i1 %127, label %133, label %128
128: ; preds = %124
%129 = load i8*, i8** %3
%130 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 9
%131 = load i8*, i8** %130
%132 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %129, i8* %131)
br label %195
133: ; preds = %124
%134 = load i8*, i8** %4
%135 = call i32 @strcmp(i8* %134, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.36, i64 0, i64 0))
%136 = icmp ne i32 %135, 0
br i1 %136, label %142, label %137
137: ; preds = %133
%138 = load i8*, i8** %3
%139 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 4
%140 = load i8*, i8** %139
%141 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %138, i8* %140)
br label %195
142: ; preds = %133
%143 = load i8*, i8** %4
%144 = call i32 @strcmp(i8* %143, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.37, i64 0, i64 0))
%145 = icmp ne i32 %144, 0
br i1 %145, label %151, label %146
146: ; preds = %142
%147 = load i8*, i8** %3
%148 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 10
%149 = load i8*, i8** %148
%150 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %147, i8* %149)
br label %195
151: ; preds = %142
%152 = load i8*, i8** %4
%153 = call i32 @strcmp(i8* %152, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.38, i64 0, i64 0))
%154 = icmp ne i32 %153, 0
br i1 %154, label %160, label %155
155: ; preds = %151
%156 = load i8*, i8** %3
%157 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 11
%158 = load i8*, i8** %157
%159 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %156, i8* %158)
br label %195
160: ; preds = %151
%161 = load i8*, i8** %4
%162 = call i32 @strcmp(i8* %161, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i64 0, i64 0))
%163 = icmp ne i32 %162, 0
br i1 %163, label %169, label %164
164: ; preds = %160
%165 = load i8*, i8** %3
%166 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 12
%167 = load i8*, i8** %166
%168 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %165, i8* %167)
br label %195
169: ; preds = %160
%170 = load i8*, i8** %4
%171 = call i32 @strcmp(i8* %170, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0))
%172 = icmp ne i32 %171, 0
br i1 %172, label %173, label %177
173: ; preds = %169
%174 = load i8*, i8** %4
%175 = call i32 @strcmp(i8* %174, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.41, i64 0, i64 0))
%176 = icmp ne i32 %175, 0
br i1 %176, label %182, label %177
177: ; preds = %173, %169
%178 = load i8*, i8** %3
%179 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 13
%180 = load i8*, i8** %179
%181 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %178, i8* %180)
br label %195
182: ; preds = %173
%183 = load i8*, i8** %4
%184 = call i32 @strcmp(i8* %183, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.42, i64 0, i64 0))
%185 = icmp ne i32 %184, 0
br i1 %185, label %191, label %186
186: ; preds = %182
%187 = load i8*, i8** %3
%188 = getelementptr inbounds [15 x i8*], [15 x i8*]* %5, i64 0, i64 14
%189 = load i8*, i8** %188
%190 = call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %187, i8* %189)
br label %195
191: ; preds = %182
%192 = load i32, i32* @stderr
%193 = load i8*, i8** %4
%194 = call i32 @fprintf(i32 %192, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.43, i64 0, i64 0), i8* %193)
br label %195
195: ; preds = %40, %49, %62, %79, %88, %101, %110, %119, %128, %137, %146, %155, %164, %177, %186, %191, %27
ret void
}

LLVM IR (-O2):
@.str = [76 x i8] c"[poweroff/halt/reboot]:\0A\09Enter poweroff, halt, or reboot to do the obvious.\00"
@.str.1 = [97 x i8] c"shutdown [-r/-p/-h] <time>:\0A\09Wrapper for the 'shutdown' command. See 'shutdown --help' for more.\00"
@.str.2 = [112 x i8] c"[disable/enable] objectid:\0A\09Enter disable or enable followed by an object ID to disable or enable\0A\09that object.\00"
@.str.3 = [112 x i8] c"[start/stop/restart] objectid:\0A\09Enter start, stop, or restart followed by an object ID to control\0A\09that object.\00"
@.str.4 = [96 x i8] c"reload objectid:\0A\09If a reload command exists for the object specified,\0A\09the object is reloaded.\00"
@.str.5 = [169 x i8] c"objrl objectid [del/add/check] runlevel:\0A\09runlevel del and add do pretty much what it sounds like,\0A\09and check will tell you if that object is enabled for that runlevel.\00"
@.str.6 = [183 x i8] c"[status/statusnc] [objectid]:\0A\09Prints information about the object specified.\0A\09If an object is not specified, it prints info on all known objects. statusnc excludes any color output.\00"
@.str.7 = [265 x i8] c"setcad [on/off]:\0A\09Sets Ctrl-Alt-Del instant reboot modes. If set to on,\0A\09striking Ctrl-Alt-Del at a console will instantly reboot the system\0A\09without intervention by Epoch. Otherwise, if set to off, Epoch will\0A\09perform a normal reboot when Ctrl-Alt-Del is pressed.\00"
@.str.8 = [173 x i8] c"configreload:\0A\09Enter configreload to reload the configuration file from disk.\0A\09This is useful for when you change it\0A\09to add or remove services, change runlevels, and more.\00"
@.str.9 = [181 x i8] c"reexec:\0A\09Enter reeexec to partially restart Epoch from disk.\0A\09This is necessary for updating the Epoch binary to prevent\0A\09a failure with unmounting the filesystem the binary is on.\00"
@.str.10 = [122 x i8] c"runlevel:\0A\09Enter runlevel without any arguments to print the current runlevel,\0A\09or enter an argument as the new runlevel.\00"
@.str.11 = [147 x i8] c"getpid objectid:\0A\09Retrieves the PID Epoch has on record for the given object.\0A\09If a PID file is specified, then the PID will be gotten from there.\00"
@.str.12 = [121 x i8] c"kill objectid:\0A\09Sends SIGKILL to the object specified. If a PID file is specified,\0A\09the PID will be retrieved from that.\00"
@.str.13 = [280 x i8] c"[merge/unmerge] filename:\0A\09Removes or adds an \22Import\22 attribute in config containing the\0A\09specified file path.\0A\09Note that you will need to reload configuration or\0A\09reexecute to make any data in the new config file load.\0A\09This command simply edits the configuration file on-disk.\00"
@.str.14 = [63 x i8] c"version:\0A\09Prints the current version of the Epoch Init System.\00"
@.str.15 = [20 x i8] c"%s\0ACompiled %s %s\0A\0A\00"
@.str.16 = [31 x i8] c"Epoch Init System (git/master)\00"
@.str.17 = [12 x i8] c"Mar 19 2022\00"
@.str.18 = [9 x i8] c"01:44:47\00"
@.str.19 = [26 x i8] c"Printing all help.\0A-----\0A\00"
@.str.20 = [8 x i8] c"%s %s\0A\0A\00"
@.str.21 = [9 x i8] c"poweroff\00"
@.str.22 = [5 x i8] c"halt\00"
@.str.23 = [7 x i8] c"reboot\00"
@.str.24 = [9 x i8] c"shutdown\00"
@.str.25 = [8 x i8] c"disable\00"
@.str.26 = [7 x i8] c"enable\00"
@.str.27 = [6 x i8] c"start\00"
@.str.28 = [5 x i8] c"stop\00"
@.str.29 = [8 x i8] c"restart\00"
@.str.30 = [6 x i8] c"objrl\00"
@.str.31 = [7 x i8] c"status\00"
@.str.32 = [9 x i8] c"statusnc\00"
@.str.33 = [7 x i8] c"setcad\00"
@.str.34 = [13 x i8] c"configreload\00"
@.str.35 = [7 x i8] c"reexec\00"
@.str.36 = [7 x i8] c"reload\00"
@.str.37 = [9 x i8] c"runlevel\00"
@.str.38 = [7 x i8] c"getpid\00"
@.str.39 = [5 x i8] c"kill\00"
@.str.40 = [6 x i8] c"merge\00"
@.str.41 = [8 x i8] c"unmerge\00"
@.str.42 = [8 x i8] c"version\00"
@stderr = global i32 0
@.str.43 = [29 x i8] c"Unknown command name, \22%s\22.\0A\00"
define void @PrintEpochHelp(i8* %0, i8* %1) {
%3 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
%4 = icmp eq i8* %1, null
br i1 %4, label %5, label %22
5: ; preds = %2
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.19, i64 0, i64 0))
%7 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str, i64 0, i64 0))
%8 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.1, i64 0, i64 0))
%9 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.2, i64 0, i64 0))
%10 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.3, i64 0, i64 0))
%11 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.4, i64 0, i64 0))
%12 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([169 x i8], [169 x i8]* @.str.5, i64 0, i64 0))
%13 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([183 x i8], [183 x i8]* @.str.6, i64 0, i64 0))
%14 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([265 x i8], [265 x i8]* @.str.7, i64 0, i64 0))
%15 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str.8, i64 0, i64 0))
%16 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([181 x i8], [181 x i8]* @.str.9, i64 0, i64 0))
%17 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.10, i64 0, i64 0))
%18 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.11, i64 0, i64 0))
%19 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([121 x i8], [121 x i8]* @.str.12, i64 0, i64 0))
%20 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([280 x i8], [280 x i8]* @.str.13, i64 0, i64 0))
%21 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.14, i64 0, i64 0))
br label %121
22: ; preds = %2
%23 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(9) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.21, i64 0, i64 0))
%24 = icmp eq i32 %23, 0
br i1 %24, label %31, label %25
25: ; preds = %22
%26 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0))
%27 = icmp eq i32 %26, 0
br i1 %27, label %31, label %28
28: ; preds = %25
%29 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.23, i64 0, i64 0))
%30 = icmp eq i32 %29, 0
br i1 %30, label %31, label %33
31: ; preds = %28, %25, %22
%32 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str, i64 0, i64 0))
br label %121
33: ; preds = %28
%34 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(9) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.24, i64 0, i64 0))
%35 = icmp eq i32 %34, 0
br i1 %35, label %36, label %38
36: ; preds = %33
%37 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.1, i64 0, i64 0))
br label %121
38: ; preds = %33
%39 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(8) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0))
%40 = icmp eq i32 %39, 0
br i1 %40, label %44, label %41
41: ; preds = %38
%42 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.26, i64 0, i64 0))
%43 = icmp eq i32 %42, 0
br i1 %43, label %44, label %46
44: ; preds = %41, %38
%45 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.2, i64 0, i64 0))
br label %121
46: ; preds = %41
%47 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.27, i64 0, i64 0))
%48 = icmp eq i32 %47, 0
br i1 %48, label %55, label %49
49: ; preds = %46
%50 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28, i64 0, i64 0))
%51 = icmp eq i32 %50, 0
br i1 %51, label %55, label %52
52: ; preds = %49
%53 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(8) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.29, i64 0, i64 0))
%54 = icmp eq i32 %53, 0
br i1 %54, label %55, label %57
55: ; preds = %52, %49, %46
%56 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.3, i64 0, i64 0))
br label %121
57: ; preds = %52
%58 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.30, i64 0, i64 0))
%59 = icmp eq i32 %58, 0
br i1 %59, label %60, label %62
60: ; preds = %57
%61 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([169 x i8], [169 x i8]* @.str.5, i64 0, i64 0))
br label %121
62: ; preds = %57
%63 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.31, i64 0, i64 0))
%64 = icmp eq i32 %63, 0
br i1 %64, label %68, label %65
65: ; preds = %62
%66 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(9) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.32, i64 0, i64 0))
%67 = icmp eq i32 %66, 0
br i1 %67, label %68, label %70
68: ; preds = %65, %62
%69 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([183 x i8], [183 x i8]* @.str.6, i64 0, i64 0))
br label %121
70: ; preds = %65
%71 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.33, i64 0, i64 0))
%72 = icmp eq i32 %71, 0
br i1 %72, label %73, label %75
73: ; preds = %70
%74 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([265 x i8], [265 x i8]* @.str.7, i64 0, i64 0))
br label %121
75: ; preds = %70
%76 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(13) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.34, i64 0, i64 0))
%77 = icmp eq i32 %76, 0
br i1 %77, label %78, label %80
78: ; preds = %75
%79 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str.8, i64 0, i64 0))
br label %121
80: ; preds = %75
%81 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.35, i64 0, i64 0))
%82 = icmp eq i32 %81, 0
br i1 %82, label %83, label %85
83: ; preds = %80
%84 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([181 x i8], [181 x i8]* @.str.9, i64 0, i64 0))
br label %121
85: ; preds = %80
%86 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.36, i64 0, i64 0))
%87 = icmp eq i32 %86, 0
br i1 %87, label %88, label %90
88: ; preds = %85
%89 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.4, i64 0, i64 0))
br label %121
90: ; preds = %85
%91 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(9) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.37, i64 0, i64 0))
%92 = icmp eq i32 %91, 0
br i1 %92, label %93, label %95
93: ; preds = %90
%94 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([122 x i8], [122 x i8]* @.str.10, i64 0, i64 0))
br label %121
95: ; preds = %90
%96 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.38, i64 0, i64 0))
%97 = icmp eq i32 %96, 0
br i1 %97, label %98, label %100
98: ; preds = %95
%99 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.11, i64 0, i64 0))
br label %121
100: ; preds = %95
%101 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i64 0, i64 0))
%102 = icmp eq i32 %101, 0
br i1 %102, label %103, label %105
103: ; preds = %100
%104 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([121 x i8], [121 x i8]* @.str.12, i64 0, i64 0))
br label %121
105: ; preds = %100
%106 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0))
%107 = icmp eq i32 %106, 0
br i1 %107, label %111, label %108
108: ; preds = %105
%109 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(8) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.41, i64 0, i64 0))
%110 = icmp eq i32 %109, 0
br i1 %110, label %111, label %113
111: ; preds = %108, %105
%112 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([280 x i8], [280 x i8]* @.str.13, i64 0, i64 0))
br label %121
113: ; preds = %108
%114 = tail call i32 @strcmp(i8* dereferenceable(1) %1, i8* dereferenceable(8) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.42, i64 0, i64 0))
%115 = icmp eq i32 %114, 0
br i1 %115, label %116, label %118
116: ; preds = %113
%117 = tail call i32 (i8*, i8*, i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0), i8* %0, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.14, i64 0, i64 0))
br label %121
118: ; preds = %113
%119 = load i32, i32* @stderr
%120 = tail call i32 @fprintf(i32 %119, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.43, i64 0, i64 0), i8* %1)
br label %121
121: ; preds = %5, %118, %116, %111, %103, %98, %93, %88, %83, %78, %73, %68, %60, %55, %44, %36, %31
ret void
}