#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);
int /*<<< orphan*/ printf(char *, char *);
void usage_err() {
  printf("\n"
         " PSKracker %s WiFi Security Auditing Toolkit\n"
         " Copyright (c) 2017-2019, soxrok2212 <soxrok2212@gmail.com>\n"
         "\n"
         " Usage: pskracker <arguments>\n"
         "\n"
         " Required Arguments:\n"
         "\n"
         "	-t, --target	: Target model number\n"
         "\n"
         " Optional Arguments:\n"
         "\n"
         "	-b, --bssid	: BSSID of target\n"
         "	-W, --wps	: Output possible WPS pin(s) only\n"
         "	-G, --guest	: Output possible guest WPA key(s) only\n"
         "	-s, --serial	: Serial number\n"
         "	-f, --force	: Force full output\n"
         "	-h, --help	: Display help/usage\n"
         "\n"
         " Example:\n"
         "\n"
         " pskracker -t <target model> -b <bssid> -s <serial number>\n"
         "\n",
         "0.2.1");
  exit(1);
}


x86 assembly (clang, -O0):
<usage_err>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
lea    0x10d3(%rip),%rsi
call   1030 <printf@plt>
mov    $0x1,%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<usage_err>:
push   %rax
lea    0xed8(%rip),%rdi
lea    0x10d6(%rip),%rsi
call   1030 <printf@plt>
mov    $0x1,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@.str = [517 x i8] c"\0A PSKracker %s WiFi Security Auditing Toolkit\0A Copyright (c) 2017-2019, soxrok2212 <soxrok2212@gmail.com>\0A\0A Usage: pskracker <arguments>\0A\0A Required Arguments:\0A\0A\09-t, --target\09: Target model number\0A\0A Optional Arguments:\0A\0A\09-b, --bssid\09: BSSID of target\0A\09-W, --wps\09: Output possible WPS pin(s) only\0A\09-G, --guest\09: Output possible guest WPA key(s) only\0A\09-s, --serial\09: Serial number\0A\09-f, --force\09: Force full output\0A\09-h, --help\09: Display help/usage\0A\0A Example:\0A\0A pskracker -t <target model> -b <bssid> -s <serial number>\0A\0A\00"
@.str.1 = [6 x i8] c"0.2.1\00"
define void @usage_err() {
%1 = call i32 @printf(i8* getelementptr inbounds ([517 x i8], [517 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0))
%2 = call i32 @exit(i32 1)
unreachable
}

LLVM IR (-O2):
@.str = [517 x i8] c"\0A PSKracker %s WiFi Security Auditing Toolkit\0A Copyright (c) 2017-2019, soxrok2212 <soxrok2212@gmail.com>\0A\0A Usage: pskracker <arguments>\0A\0A Required Arguments:\0A\0A\09-t, --target\09: Target model number\0A\0A Optional Arguments:\0A\0A\09-b, --bssid\09: BSSID of target\0A\09-W, --wps\09: Output possible WPS pin(s) only\0A\09-G, --guest\09: Output possible guest WPA key(s) only\0A\09-s, --serial\09: Serial number\0A\09-f, --force\09: Force full output\0A\09-h, --help\09: Display help/usage\0A\0A Example:\0A\0A pskracker -t <target model> -b <bssid> -s <serial number>\0A\0A\00"
@.str.1 = [6 x i8] c"0.2.1\00"
define void @usage_err() {
%1 = tail call i32 @printf(i8* getelementptr inbounds ([517 x i8], [517 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0))
%2 = tail call i32 @exit(i32 1)
unreachable
}