#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*/ exit(int /*<<< orphan*/);
int /*<<< orphan*/ fputs(char *, int /*<<< orphan*/);
int /*<<< orphan*/ puts(char *);
int /*<<< orphan*/ stdout;
void usage(void) {
  fputs("Usage: "
        "mcrcon"
        " [OPTIONS]... [COMMANDS]...\n"
        "Sends rcon commands to minecraft server.\n\n"
        "Option:\n"
        "  -h\t\tPrints usage.\n"
        "  -s\t\tSilent mode. Do not print data received from rcon.\n"
        "  -t\t\tTerminal mode. Acts as interactive terminal.\n"
        "  -p\t\tRcon password. Default: \"\".\n"
        "  -H\t\tHost address or ip.\n"
        "  -P\t\tPort. Default: 25575.\n"
        "  -c\t\tDo not print colors. Disables bukkit color printing.\n",
        stdout);
  puts("\nInvidual commands must be separated with spaces.\n");
  puts("Example:\n  "
       "mcrcon"
       " -c -H 192.168.1.42 -P 9999 -p password cmd1 \"cmd2 with spaces\"\n");
  puts("minecraft rcon ("
       "mcrcon"
       ") "
       "0.0.5"
       ".\nReport bugs to tiiffi_at_gmail_dot_com.\n");
  exit(0);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
mov    0x2ea5(%rip),%rax
mov    (%rax),%esi
lea    0xebc(%rip),%rdi
call   1040 <fputs@plt>
lea    0x101f(%rip),%rdi
call   1030 <puts@plt>
lea    0x1046(%rip),%rdi
call   1030 <puts@plt>
lea    0x108c(%rip),%rdi
call   1030 <puts@plt>
xor    %edi,%edi
call   1050 <exit@plt>

x86 assembly (clang, -O2):
<usage>:
push   %rax
mov    0x2ea8(%rip),%rax
mov    (%rax),%esi
lea    0xebf(%rip),%rdi
call   1040 <fputs@plt>
lea    0x1022(%rip),%rdi
call   1030 <puts@plt>
lea    0x1049(%rip),%rdi
call   1030 <puts@plt>
lea    0x108f(%rip),%rdi
call   1030 <puts@plt>
xor    %edi,%edi
call   1050 <exit@plt>

LLVM IR (-O0):
@.str = [367 x i8] c"Usage: mcrcon [OPTIONS]... [COMMANDS]...\0ASends rcon commands to minecraft server.\0A\0AOption:\0A -h\09\09Prints usage.\0A -s\09\09Silent mode. Do not print data received from rcon.\0A -t\09\09Terminal mode. Acts as interactive terminal.\0A -p\09\09Rcon password. Default: \22\22.\0A -H\09\09Host address or ip.\0A -P\09\09Port. Default: 25575.\0A -c\09\09Do not print colors. Disables bukkit color printing.\0A\00"
@stdout = global i32 0
@.str.1 = [51 x i8] c"\0AInvidual commands must be separated with spaces.\0A\00"
@.str.2 = [82 x i8] c"Example:\0A mcrcon -c -H 192.168.1.42 -P 9999 -p password cmd1 \22cmd2 with spaces\22\0A\00"
@.str.3 = [72 x i8] c"minecraft rcon (mcrcon) 0.0.5.\0AReport bugs to tiiffi_at_gmail_dot_com.\0A\00"
define void @usage() {
%1 = load i32, i32* @stdout
%2 = call i32 @fputs(i8* getelementptr inbounds ([367 x i8], [367 x i8]* @.str, i64 0, i64 0), i32 %1)
%3 = call i32 @puts(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.1, i64 0, i64 0))
%4 = call i32 @puts(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2, i64 0, i64 0))
%5 = call i32 @puts(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.3, i64 0, i64 0))
%6 = call i32 @exit(i32 0)
unreachable
}

LLVM IR (-O2):
@.str = [367 x i8] c"Usage: mcrcon [OPTIONS]... [COMMANDS]...\0ASends rcon commands to minecraft server.\0A\0AOption:\0A -h\09\09Prints usage.\0A -s\09\09Silent mode. Do not print data received from rcon.\0A -t\09\09Terminal mode. Acts as interactive terminal.\0A -p\09\09Rcon password. Default: \22\22.\0A -H\09\09Host address or ip.\0A -P\09\09Port. Default: 25575.\0A -c\09\09Do not print colors. Disables bukkit color printing.\0A\00"
@stdout = global i32 0
@.str.1 = [51 x i8] c"\0AInvidual commands must be separated with spaces.\0A\00"
@.str.2 = [82 x i8] c"Example:\0A mcrcon -c -H 192.168.1.42 -P 9999 -p password cmd1 \22cmd2 with spaces\22\0A\00"
@.str.3 = [72 x i8] c"minecraft rcon (mcrcon) 0.0.5.\0AReport bugs to tiiffi_at_gmail_dot_com.\0A\00"
define void @usage() {
%1 = load i32, i32* @stdout
%2 = tail call i32 @fputs(i8* getelementptr inbounds ([367 x i8], [367 x i8]* @.str, i64 0, i64 0), i32 %1)
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @.str.1, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @.str.3, i64 0, i64 0))
%6 = tail call i32 @exit(i32 0)
unreachable
}