#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 */
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ fputs(char *, int /*<<< orphan*/ *);
void help(FILE *f) {
  fputs("Usage: peflags [OPTIONS] file(s)...\n", f);
  fputs("Sets, clears, or displays various flags in PE files (that is,\n", f);
  fputs("exes and dlls).  For each flag, if an argument is given, then\n", f);
  fputs("the specified flag will be set or cleared; if no argument is\n", f);
  fputs("given, then the current value of that flag will be displayed.\n", f);
  fputs("\n", f);
  fputs("  -d, --dynamicbase  [BOOL]   Image base address may be relocated "
        "using\n",
        f);
  fputs("                              address space layout randomization "
        "(ASLR)\n",
        f);
  fputs("      --forceinteg   [BOOL]   Code integrity checks are enforced\n",
        f);
  fputs(
      "  -n, --nxcompat     [BOOL]   Image is compatible with data execution\n",
      f);
  fputs("                              prevention\n", f);
  fputs(
      "      --no-isolation [BOOL]   Image understands isolation but do not\n",
      f);
  fputs("                              isolate the image\n", f);
  fputs("      --no-seh       [BOOL]   Image does not use SEH. No SE handler "
        "may\n",
        f);
  fputs("                              be called in this image\n", f);
  fputs("      --no-bind      [BOOL]   Do not bind this image\n", f);
  fputs("      --wdmdriver    [BOOL]   Driver uses the WDM model\n", f);
  fputs("  -t, --tsaware      [BOOL]   Image is Terminal Server aware\n", f);
  fputs("      --wstrim       [BOOL]   Aggressively trim the working set.\n",
        f);
  fputs("      --bigaddr      [BOOL]   The application can handle addresses\n",
        f);
  fputs("                              larger than 2 GB\n", f);
  fputs("      --sepdbg       [BOOL]   Debugging information was removed and\n",
        f);
  fputs("                              stored separately in another file.\n",
        f);
  fputs("  -T, --filelist FILE         Indicate that FILE contains a list\n",
        f);
  fputs("                              of PE files to process\n", f);
  fputs("  -v, --verbose               Display diagnostic information\n", f);
  fputs("  -V, --version               Display version information\n", f);
  fputs("  -h, --help                  Display this help\n", f);
  fputs("\n", f);
  fputs(
      "BOOL: may be 1, true, or yes - indicates that the flag should be set\n",
      f);
  fputs("          if 0, false, or no - indicates that the flag should be "
        "cleared\n",
        f);
  fputs("          if not present, then display symbolicly the value of the "
        "flag\n",
        f);
  fputs("Valid forms for short options: -d, -d0, -d1, -dfalse, etc\n", f);
  fputs("Valid forms for long options :  --tsaware, --tsaware=true, etc\n", f);
  fputs(
      "To set a value, and display the results symbolic, repeat the option:\n",
      f);
  fputs("  --tsaware=true --tsaware -d0 -d\n", f);
  fputs("\n", f);
}


x86 assembly (clang, -O0):
<help>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rsi
lea    0xed9(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xeee(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xf1d(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xf4c(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xf7a(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1039(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xf99(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xfd2(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x100b(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x103d(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1074(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x108e(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x10c4(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x10e5(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x111e(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1145(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x116b(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1194(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x11c2(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x11f4(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1228(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1248(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x127d(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x12af(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x12e1(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1307(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1335(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1360(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xec9(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1371(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x13a7(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x13e1(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x141a(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1445(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x1475(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0x14ab(%rip),%rdi
call   1030 <fputs@plt>
mov    -0x8(%rbp),%rsi
lea    0xe49(%rip),%rdi
call   1030 <fputs@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<help>:
push   %rbx
mov    %rdi,%rbx
lea    0xed5(%rip),%rdi
mov    $0x24,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0xee1(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0xf07(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0xf2d(%rip),%rdi
mov    $0x3d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0xf52(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
mov    $0xa,%edi
mov    %rbx,%rsi
call   1030 <fputc@plt>
lea    0xf6b(%rip),%rdi
mov    $0x48,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0xf9b(%rip),%rdi
mov    $0x48,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0xfcb(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0xff4(%rip),%rdi
mov    $0x46,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1022(%rip),%rdi
mov    $0x29,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1033(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1060(%rip),%rdi
mov    $0x30,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1078(%rip),%rdi
mov    $0x48,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x10a8(%rip),%rdi
mov    $0x36,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x10c6(%rip),%rdi
mov    $0x35,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x10e3(%rip),%rdi
mov    $0x38,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1103(%rip),%rdi
mov    $0x3d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1128(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1151(%rip),%rdi
mov    $0x43,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x117c(%rip),%rdi
mov    $0x2f,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1193(%rip),%rdi
mov    $0x44,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x11bf(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x11e8(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1211(%rip),%rdi
mov    $0x35,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x122e(%rip),%rdi
mov    $0x3d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1253(%rip),%rdi
mov    $0x3a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1275(%rip),%rdi
mov    $0x30,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
mov    $0xa,%edi
mov    %rbx,%rsi
call   1030 <fputc@plt>
lea    0x1280(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x12ad(%rip),%rdi
mov    $0x49,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x12de(%rip),%rdi
mov    $0x48,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x130e(%rip),%rdi
mov    $0x3a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1330(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1357(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
lea    0x1384(%rip),%rdi
mov    $0x22,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   1040 <fwrite@plt>
mov    $0xa,%edi
mov    %rbx,%rsi
pop    %rbx
jmp    1030 <fputc@plt>

LLVM IR (-O0):
@.str = [37 x i8] c"Usage: peflags [OPTIONS] file(s)...\0A\00"
@.str.1 = [63 x i8] c"Sets, clears, or displays various flags in PE files (that is,\0A\00"
@.str.2 = [63 x i8] c"exes and dlls). For each flag, if an argument is given, then\0A\00"
@.str.3 = [62 x i8] c"the specified flag will be set or cleared; if no argument is\0A\00"
@.str.4 = [63 x i8] c"given, then the current value of that flag will be displayed.\0A\00"
@.str.5 = [2 x i8] c"\0A\00"
@.str.6 = [73 x i8] c" -d, --dynamicbase [BOOL] Image base address may be relocated using\0A\00"
@.str.7 = [73 x i8] c" address space layout randomization (ASLR)\0A\00"
@.str.8 = [66 x i8] c" --forceinteg [BOOL] Code integrity checks are enforced\0A\00"
@.str.9 = [71 x i8] c" -n, --nxcompat [BOOL] Image is compatible with data execution\0A\00"
@.str.10 = [42 x i8] c" prevention\0A\00"
@.str.11 = [70 x i8] c" --no-isolation [BOOL] Image understands isolation but do not\0A\00"
@.str.12 = [49 x i8] c" isolate the image\0A\00"
@.str.13 = [73 x i8] c" --no-seh [BOOL] Image does not use SEH. No SE handler may\0A\00"
@.str.14 = [55 x i8] c" be called in this image\0A\00"
@.str.15 = [54 x i8] c" --no-bind [BOOL] Do not bind this image\0A\00"
@.str.16 = [57 x i8] c" --wdmdriver [BOOL] Driver uses the WDM model\0A\00"
@.str.17 = [62 x i8] c" -t, --tsaware [BOOL] Image is Terminal Server aware\0A\00"
@.str.18 = [66 x i8] c" --wstrim [BOOL] Aggressively trim the working set.\0A\00"
@.str.19 = [68 x i8] c" --bigaddr [BOOL] The application can handle addresses\0A\00"
@.str.20 = [48 x i8] c" larger than 2 GB\0A\00"
@.str.21 = [69 x i8] c" --sepdbg [BOOL] Debugging information was removed and\0A\00"
@.str.22 = [66 x i8] c" stored separately in another file.\0A\00"
@.str.23 = [66 x i8] c" -T, --filelist FILE Indicate that FILE contains a list\0A\00"
@.str.24 = [54 x i8] c" of PE files to process\0A\00"
@.str.25 = [62 x i8] c" -v, --verbose Display diagnostic information\0A\00"
@.str.26 = [59 x i8] c" -V, --version Display version information\0A\00"
@.str.27 = [49 x i8] c" -h, --help Display this help\0A\00"
@.str.28 = [70 x i8] c"BOOL: may be 1, true, or yes - indicates that the flag should be set\0A\00"
@.str.29 = [74 x i8] c" if 0, false, or no - indicates that the flag should be cleared\0A\00"
@.str.30 = [73 x i8] c" if not present, then display symbolicly the value of the flag\0A\00"
@.str.31 = [59 x i8] c"Valid forms for short options: -d, -d0, -d1, -dfalse, etc\0A\00"
@.str.32 = [64 x i8] c"Valid forms for long options : --tsaware, --tsaware=true, etc\0A\00"
@.str.33 = [70 x i8] c"To set a value, and display the results symbolic, repeat the option:\0A\00"
@.str.34 = [35 x i8] c" --tsaware=true --tsaware -d0 -d\0A\00"
define void @help(i32* %0) {
%2 = alloca i32*
store i32* %0, i32** %2
%3 = load i32*, i32** %2
%4 = call i32 @fputs(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i32* %3)
%5 = load i32*, i32** %2
%6 = call i32 @fputs(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.1, i64 0, i64 0), i32* %5)
%7 = load i32*, i32** %2
%8 = call i32 @fputs(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.2, i64 0, i64 0), i32* %7)
%9 = load i32*, i32** %2
%10 = call i32 @fputs(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.3, i64 0, i64 0), i32* %9)
%11 = load i32*, i32** %2
%12 = call i32 @fputs(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.4, i64 0, i64 0), i32* %11)
%13 = load i32*, i32** %2
%14 = call i32 @fputs(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32* %13)
%15 = load i32*, i32** %2
%16 = call i32 @fputs(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.6, i64 0, i64 0), i32* %15)
%17 = load i32*, i32** %2
%18 = call i32 @fputs(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.7, i64 0, i64 0), i32* %17)
%19 = load i32*, i32** %2
%20 = call i32 @fputs(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.8, i64 0, i64 0), i32* %19)
%21 = load i32*, i32** %2
%22 = call i32 @fputs(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.9, i64 0, i64 0), i32* %21)
%23 = load i32*, i32** %2
%24 = call i32 @fputs(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.10, i64 0, i64 0), i32* %23)
%25 = load i32*, i32** %2
%26 = call i32 @fputs(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.11, i64 0, i64 0), i32* %25)
%27 = load i32*, i32** %2
%28 = call i32 @fputs(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.12, i64 0, i64 0), i32* %27)
%29 = load i32*, i32** %2
%30 = call i32 @fputs(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.13, i64 0, i64 0), i32* %29)
%31 = load i32*, i32** %2
%32 = call i32 @fputs(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.14, i64 0, i64 0), i32* %31)
%33 = load i32*, i32** %2
%34 = call i32 @fputs(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.15, i64 0, i64 0), i32* %33)
%35 = load i32*, i32** %2
%36 = call i32 @fputs(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.16, i64 0, i64 0), i32* %35)
%37 = load i32*, i32** %2
%38 = call i32 @fputs(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.17, i64 0, i64 0), i32* %37)
%39 = load i32*, i32** %2
%40 = call i32 @fputs(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.18, i64 0, i64 0), i32* %39)
%41 = load i32*, i32** %2
%42 = call i32 @fputs(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.19, i64 0, i64 0), i32* %41)
%43 = load i32*, i32** %2
%44 = call i32 @fputs(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.20, i64 0, i64 0), i32* %43)
%45 = load i32*, i32** %2
%46 = call i32 @fputs(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.21, i64 0, i64 0), i32* %45)
%47 = load i32*, i32** %2
%48 = call i32 @fputs(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.22, i64 0, i64 0), i32* %47)
%49 = load i32*, i32** %2
%50 = call i32 @fputs(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.23, i64 0, i64 0), i32* %49)
%51 = load i32*, i32** %2
%52 = call i32 @fputs(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.24, i64 0, i64 0), i32* %51)
%53 = load i32*, i32** %2
%54 = call i32 @fputs(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.25, i64 0, i64 0), i32* %53)
%55 = load i32*, i32** %2
%56 = call i32 @fputs(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.26, i64 0, i64 0), i32* %55)
%57 = load i32*, i32** %2
%58 = call i32 @fputs(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.27, i64 0, i64 0), i32* %57)
%59 = load i32*, i32** %2
%60 = call i32 @fputs(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32* %59)
%61 = load i32*, i32** %2
%62 = call i32 @fputs(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.28, i64 0, i64 0), i32* %61)
%63 = load i32*, i32** %2
%64 = call i32 @fputs(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.29, i64 0, i64 0), i32* %63)
%65 = load i32*, i32** %2
%66 = call i32 @fputs(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.30, i64 0, i64 0), i32* %65)
%67 = load i32*, i32** %2
%68 = call i32 @fputs(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.31, i64 0, i64 0), i32* %67)
%69 = load i32*, i32** %2
%70 = call i32 @fputs(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.32, i64 0, i64 0), i32* %69)
%71 = load i32*, i32** %2
%72 = call i32 @fputs(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0), i32* %71)
%73 = load i32*, i32** %2
%74 = call i32 @fputs(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.34, i64 0, i64 0), i32* %73)
%75 = load i32*, i32** %2
%76 = call i32 @fputs(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32* %75)
ret void
}

LLVM IR (-O2):
@.str = [37 x i8] c"Usage: peflags [OPTIONS] file(s)...\0A\00"
@.str.1 = [63 x i8] c"Sets, clears, or displays various flags in PE files (that is,\0A\00"
@.str.2 = [63 x i8] c"exes and dlls). For each flag, if an argument is given, then\0A\00"
@.str.3 = [62 x i8] c"the specified flag will be set or cleared; if no argument is\0A\00"
@.str.4 = [63 x i8] c"given, then the current value of that flag will be displayed.\0A\00"
@.str.6 = [73 x i8] c" -d, --dynamicbase [BOOL] Image base address may be relocated using\0A\00"
@.str.7 = [73 x i8] c" address space layout randomization (ASLR)\0A\00"
@.str.8 = [66 x i8] c" --forceinteg [BOOL] Code integrity checks are enforced\0A\00"
@.str.9 = [71 x i8] c" -n, --nxcompat [BOOL] Image is compatible with data execution\0A\00"
@.str.10 = [42 x i8] c" prevention\0A\00"
@.str.11 = [70 x i8] c" --no-isolation [BOOL] Image understands isolation but do not\0A\00"
@.str.12 = [49 x i8] c" isolate the image\0A\00"
@.str.13 = [73 x i8] c" --no-seh [BOOL] Image does not use SEH. No SE handler may\0A\00"
@.str.14 = [55 x i8] c" be called in this image\0A\00"
@.str.15 = [54 x i8] c" --no-bind [BOOL] Do not bind this image\0A\00"
@.str.16 = [57 x i8] c" --wdmdriver [BOOL] Driver uses the WDM model\0A\00"
@.str.17 = [62 x i8] c" -t, --tsaware [BOOL] Image is Terminal Server aware\0A\00"
@.str.18 = [66 x i8] c" --wstrim [BOOL] Aggressively trim the working set.\0A\00"
@.str.19 = [68 x i8] c" --bigaddr [BOOL] The application can handle addresses\0A\00"
@.str.20 = [48 x i8] c" larger than 2 GB\0A\00"
@.str.21 = [69 x i8] c" --sepdbg [BOOL] Debugging information was removed and\0A\00"
@.str.22 = [66 x i8] c" stored separately in another file.\0A\00"
@.str.23 = [66 x i8] c" -T, --filelist FILE Indicate that FILE contains a list\0A\00"
@.str.24 = [54 x i8] c" of PE files to process\0A\00"
@.str.25 = [62 x i8] c" -v, --verbose Display diagnostic information\0A\00"
@.str.26 = [59 x i8] c" -V, --version Display version information\0A\00"
@.str.27 = [49 x i8] c" -h, --help Display this help\0A\00"
@.str.28 = [70 x i8] c"BOOL: may be 1, true, or yes - indicates that the flag should be set\0A\00"
@.str.29 = [74 x i8] c" if 0, false, or no - indicates that the flag should be cleared\0A\00"
@.str.30 = [73 x i8] c" if not present, then display symbolicly the value of the flag\0A\00"
@.str.31 = [59 x i8] c"Valid forms for short options: -d, -d0, -d1, -dfalse, etc\0A\00"
@.str.32 = [64 x i8] c"Valid forms for long options : --tsaware, --tsaware=true, etc\0A\00"
@.str.33 = [70 x i8] c"To set a value, and display the results symbolic, repeat the option:\0A\00"
@.str.34 = [35 x i8] c" --tsaware=true --tsaware -d0 -d\0A\00"
define void @help(i32* %0) {
%2 = tail call i64 @fwrite(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i64 36, i64 1, i32* %0)
%3 = tail call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.1, i64 0, i64 0), i64 62, i64 1, i32* %0)
%4 = tail call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.2, i64 0, i64 0), i64 62, i64 1, i32* %0)
%5 = tail call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.3, i64 0, i64 0), i64 61, i64 1, i32* %0)
%6 = tail call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.4, i64 0, i64 0), i64 62, i64 1, i32* %0)
%7 = tail call i32 @fputc(i32 10, i32* %0)
%8 = tail call i64 @fwrite(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.6, i64 0, i64 0), i64 72, i64 1, i32* %0)
%9 = tail call i64 @fwrite(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.7, i64 0, i64 0), i64 72, i64 1, i32* %0)
%10 = tail call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.8, i64 0, i64 0), i64 65, i64 1, i32* %0)
%11 = tail call i64 @fwrite(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.9, i64 0, i64 0), i64 70, i64 1, i32* %0)
%12 = tail call i64 @fwrite(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.10, i64 0, i64 0), i64 41, i64 1, i32* %0)
%13 = tail call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.11, i64 0, i64 0), i64 69, i64 1, i32* %0)
%14 = tail call i64 @fwrite(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.12, i64 0, i64 0), i64 48, i64 1, i32* %0)
%15 = tail call i64 @fwrite(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.13, i64 0, i64 0), i64 72, i64 1, i32* %0)
%16 = tail call i64 @fwrite(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.14, i64 0, i64 0), i64 54, i64 1, i32* %0)
%17 = tail call i64 @fwrite(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.15, i64 0, i64 0), i64 53, i64 1, i32* %0)
%18 = tail call i64 @fwrite(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.16, i64 0, i64 0), i64 56, i64 1, i32* %0)
%19 = tail call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.17, i64 0, i64 0), i64 61, i64 1, i32* %0)
%20 = tail call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.18, i64 0, i64 0), i64 65, i64 1, i32* %0)
%21 = tail call i64 @fwrite(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.19, i64 0, i64 0), i64 67, i64 1, i32* %0)
%22 = tail call i64 @fwrite(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.20, i64 0, i64 0), i64 47, i64 1, i32* %0)
%23 = tail call i64 @fwrite(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.21, i64 0, i64 0), i64 68, i64 1, i32* %0)
%24 = tail call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.22, i64 0, i64 0), i64 65, i64 1, i32* %0)
%25 = tail call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.23, i64 0, i64 0), i64 65, i64 1, i32* %0)
%26 = tail call i64 @fwrite(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.24, i64 0, i64 0), i64 53, i64 1, i32* %0)
%27 = tail call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.25, i64 0, i64 0), i64 61, i64 1, i32* %0)
%28 = tail call i64 @fwrite(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.26, i64 0, i64 0), i64 58, i64 1, i32* %0)
%29 = tail call i64 @fwrite(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.27, i64 0, i64 0), i64 48, i64 1, i32* %0)
%30 = tail call i32 @fputc(i32 10, i32* %0)
%31 = tail call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.28, i64 0, i64 0), i64 69, i64 1, i32* %0)
%32 = tail call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.29, i64 0, i64 0), i64 73, i64 1, i32* %0)
%33 = tail call i64 @fwrite(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.30, i64 0, i64 0), i64 72, i64 1, i32* %0)
%34 = tail call i64 @fwrite(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.31, i64 0, i64 0), i64 58, i64 1, i32* %0)
%35 = tail call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.32, i64 0, i64 0), i64 63, i64 1, i32* %0)
%36 = tail call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0), i64 69, i64 1, i32* %0)
%37 = tail call i64 @fwrite(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.34, i64 0, i64 0), i64 34, i64 1, i32* %0)
%38 = tail call i32 @fputc(i32 10, i32* %0)
ret void
}