#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*/ printf(char *);
void PrintHelp(void) {
  printf(
      "\n\n"
      "rexdump: R3X Disassembler - help\n"
      "Usage  -i [input file name] -o [output file name]\n\n"
      "Copyright (C) 2015 Benderx2 <https://github.com/Benderx2>\n\n"
      "R3X is free software and is licensed under 2-clause BSD License "
      "<http://opensource.org/licenses/BSD-2-Clause>\n"
      "You are free to modify, redistrubute, or make profit of this program "
      "provided\n"
      "you respect it's license and terms.\n"
      "\n\n"
      "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "
      "\"AS IS\"\n"
      "AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n"
      "THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR "
      "PURPOSE ARE DISCLAIMED.\n"
      "IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR "
      "ANY DIRECT,\n"
      "INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES "
      "(INCLUDING,\n"
      "BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS "
      "OF USE, DATA, OR PROFITS;\n"
      "OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF "
      "LIABILITY, \n"
      "WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR "
      "OTHERWISE) \n"
      "ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF "
      "THE POSSIBILITY OF SUCH DAMAGE.\n");
}


x86 assembly (clang, -O0):
<PrintHelp>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<PrintHelp>:
lea    0xee9(%rip),%rdi
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [1130 x i8] c"\0A\0Arexdump: R3X Disassembler - help\0AUsage -i [input file name] -o [output file name]\0A\0ACopyright (C) 2015 Benderx2 <https://github.com/Benderx2>\0A\0AR3X is free software and is licensed under 2-clause BSD License <http://opensource.org/licenses/BSD-2-Clause>\0AYou are free to modify, redistrubute, or make profit of this program provided\0Ayou respect it's license and terms.\0A\0A\0ATHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \22AS IS\22\0AAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\0ATHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\0AIN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\0AINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\0ABUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\0AOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \0AWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \0AARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\0A\00"
define void @PrintHelp() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1130 x i8], [1130 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1129 x i8] c"\0A\0Arexdump: R3X Disassembler - help\0AUsage -i [input file name] -o [output file name]\0A\0ACopyright (C) 2015 Benderx2 <https://github.com/Benderx2>\0A\0AR3X is free software and is licensed under 2-clause BSD License <http://opensource.org/licenses/BSD-2-Clause>\0AYou are free to modify, redistrubute, or make profit of this program provided\0Ayou respect it's license and terms.\0A\0A\0ATHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \22AS IS\22\0AAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\0ATHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\0AIN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\0AINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\0ABUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\0AOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \0AWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \0AARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\00"
define void @PrintHelp() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1129 x i8], [1129 x i8]* @str, i64 0, i64 0))
ret void
}