#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 print_help(void) {
  printf(
      "GNU MAC Changer\n"
      "Usage: macchanger [options] device\n\n"
      "  -h,  --help                   Print this help\n"
      "  -V,  --version                Print version and exit\n"
      "  -s,  --show                   Print the MAC address and exit\n"
      "  -e,  --ending                 Don't change the vendor bytes\n"
      "  -a,  --another                Set random vendor MAC of the same kind\n"
      "  -A                            Set random vendor MAC of any kind\n"
      "  -p,  --permanent              Reset to original, permanent hardware "
      "MAC\n"
      "  -r,  --random                 Set fully random MAC\n"
      "  -l,  --list[=keyword]         Print known vendors\n"
      "  -b,  --bia                    Pretend to be a burned-in-address\n"
      "  -m,  --mac=XX:XX:XX:XX:XX:XX  Set the MAC XX:XX:XX:XX:XX:XX\n\n"
      "Report bugs to https://github.com/alobbs/macchanger/issues\n");
}


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

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

LLVM IR (-O0):
@.str = [785 x i8] c"GNU MAC Changer\0AUsage: macchanger [options] device\0A\0A -h, --help Print this help\0A -V, --version Print version and exit\0A -s, --show Print the MAC address and exit\0A -e, --ending Don't change the vendor bytes\0A -a, --another Set random vendor MAC of the same kind\0A -A Set random vendor MAC of any kind\0A -p, --permanent Reset to original, permanent hardware MAC\0A -r, --random Set fully random MAC\0A -l, --list[=keyword] Print known vendors\0A -b, --bia Pretend to be a burned-in-address\0A -m, --mac=XX:XX:XX:XX:XX:XX Set the MAC XX:XX:XX:XX:XX:XX\0A\0AReport bugs to https://github.com/alobbs/macchanger/issues\0A\00"
define void @print_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([785 x i8], [785 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [784 x i8] c"GNU MAC Changer\0AUsage: macchanger [options] device\0A\0A -h, --help Print this help\0A -V, --version Print version and exit\0A -s, --show Print the MAC address and exit\0A -e, --ending Don't change the vendor bytes\0A -a, --another Set random vendor MAC of the same kind\0A -A Set random vendor MAC of any kind\0A -p, --permanent Reset to original, permanent hardware MAC\0A -r, --random Set fully random MAC\0A -l, --list[=keyword] Print known vendors\0A -b, --bia Pretend to be a burned-in-address\0A -m, --mac=XX:XX:XX:XX:XX:XX Set the MAC XX:XX:XX:XX:XX:XX\0A\0AReport bugs to https://github.com/alobbs/macchanger/issues\00"
define void @print_help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([784 x i8], [784 x i8]* @str, i64 0, i64 0))
ret void
}