#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*/ pressanykey();
int /*<<< orphan*/ prints(char *);
int /*<<< orphan*/ screen_clear();
int /*<<< orphan*/ winrefresh();
int winhelp() {
  screen_clear();
  prints(
      "=="
      "\xbb\xb6\xd3\xad\xc0\xb4\xcd\xe6\xbc\xfc\xc5\xcc\xc9\xa8\xc0\xd7\xd3\xce"
      "\xcf\xb7==  (\xb3\xcc\xd0\xf2\xd3\xc9 nju BBS \xd5\xbe\xb3\xa4 zhch "
      "\xc9\xe8\xbc\xc6)\r\n---------------------------------\\r\n\r\n");
  prints(
      "\xcd\xe6\xb7\xa8\xba\xdc\xbc\xf2\xb5\xa5\xa3\xac\xba\xcd[1;34mwindows["
      "m\xcf\xc2\xb5\xc4\xca\xf3\xb1\xea\xc9\xa8\xc0\xd7\xb2\xee\xb2\xbb\xb6"
      "\xe0.\r\n");
  prints("  "
         "'[1;32mF[m'"
         "\xbc\xfc\xb5\xc4\xd7\xf7\xd3\xc3\xcf\xe0\xb5\xb1\xd3\xda\xca\xf3\xb1"
         "\xea\xb5\xc4\xd7\xf3\xbc\xfc\xbc\xb0\xcb\xab\xbb\xf7\xb5\xc4\xd7\xf7"
         "\xd3\xc3\xa3\xac "
         "\xb3\xcc\xd0\xf2\xb8\xf9\xbe\xdd\xc4\xe3\xb5\xe3\xbb\xf7\xb5\xc4\xce"
         "\xbb\xd6\xc3\r\n");
  prints("  "
         "\xd7\xd4\xb6\xaf\xc5\xd0\xb6\xcf\xd2\xaa\xbd\xf8\xd0\xd0\xc4\xc4\xd6"
         "\xd6\xb2\xd9\xd7\xf7\xa1\xa3\r\n");
  prints("  "
         "'[1;32mS[m'"
         "\xbc\xfc\xd4\xf2\xcf\xe0\xb5\xb1\xd3\xda\xca\xf3\xb1\xea\xd3\xd2\xbc"
         "\xfc\xb5\xc4\xb9\xa6\xc4\xdc, "
         "\xbf\xc9\xd3\xc3\xc0\xb4\xb1\xea\xc0\xd7.\r\n");
  prints("  "
         "'[1;32mH[m'"
         "\xbc\xfc\xd3\xc3\xc0\xb4\xcf\xd4\xca\xbe\xb1\xbe\xb0\xef\xd6\xfa\xd0"
         "\xc5\xcf\xa2.\r\n");
  prints("  '[1;32mQ[m'\xbc\xfc\xcd\xcb\xb3\xf6\xd3\xce\xcf\xb7.\r\n");
  prints(
      "  "
      "\xb5\xb1\xc6\xc1\xc4\xbb\xc2\xd2\xb5\xf4\xca\xb1\xa3\xac\xbf\xc9\xd3\xc3"
      "'[1;32mD[m'"
      "\xbf\xc9\xd3\xc3\xc0\xb4\xcb\xa2\xd0\xc2\xc6\xc1\xc4\xbb\xa1\xa3\r\n");
  prints("\xbd\xa8\xd2\xe9\xd3\xc3[1;32mNetterm[m\xc0\xb4\xcd\xe6("
         "\xb5\xb1\xc8\xbbnjuterm\xd2\xb2\xbf\xc9\xd2\xd4,:)),[1;32mtelnet["
         "m\xd0\xa7\xb9\xfb\xb2\xbb\xca\xc7\xcc\xab\xba\xc3\r\n");
  prints(
      "\xb5\xda\xd2\xbb\xb4\xce\xb5\xe3\xbb\xf7\xd2\xbb\xb6\xa8\xbb\xe1\xbf\xaa"
      "\xd2\xbb\xc6\xac\xa3\xac\xba\xdc\xca\xe6\xb7\xfe\xb0\xc9\xa1\xa3\r\n");
  prints(
      "\xca\xec\xc1\xb7\xba\xf3\xa3\xac\xcb\xd9\xb6\xc8\xbb\xb9\xca\xc7\xba\xdc"
      "\xbf\xec\xb5\xc4\xa3\xac\xbc\xb8\xba\xf5\xbf\xc9\xd2\xd4\xb4\xef\xb5\xbd"
      "\xca\xf3\xb1\xea\xc9\xa8\xc0\xd7\xb5\xc4\xcb\xd9\xb6\xc8.\r\n");
  pressanykey();
  winrefresh();
}


x86 assembly (clang, -O0):
<winhelp>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    $0x0,%al
call   1050 <screen_clear@plt>
lea    0xeaa(%rip),%rdi
call   1040 <prints@plt>
lea    0xf00(%rip),%rdi
call   1040 <prints@plt>
lea    0xf29(%rip),%rdi
call   1040 <prints@plt>
lea    0xf6a(%rip),%rdi
call   1040 <prints@plt>
lea    0xf7b(%rip),%rdi
call   1040 <prints@plt>
lea    0xfa6(%rip),%rdi
call   1040 <prints@plt>
lea    0xfc1(%rip),%rdi
call   1040 <prints@plt>
lea    0xfd2(%rip),%rdi
call   1040 <prints@plt>
lea    0xffa(%rip),%rdi
call   1040 <prints@plt>
lea    0x103f(%rip),%rdi
call   1040 <prints@plt>
lea    0x1058(%rip),%rdi
call   1040 <prints@plt>
mov    $0x0,%al
call   1030 <pressanykey@plt>
mov    $0x0,%al
call   1060 <winrefresh@plt>
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<winhelp>:
push   %rax
xor    %eax,%eax
call   1050 <screen_clear@plt>
lea    0xeb1(%rip),%rdi
call   1040 <prints@plt>
lea    0xf07(%rip),%rdi
call   1040 <prints@plt>
lea    0xf30(%rip),%rdi
call   1040 <prints@plt>
lea    0xf71(%rip),%rdi
call   1040 <prints@plt>
lea    0xf82(%rip),%rdi
call   1040 <prints@plt>
lea    0xfad(%rip),%rdi
call   1040 <prints@plt>
lea    0xfc8(%rip),%rdi
call   1040 <prints@plt>
lea    0xfd9(%rip),%rdi
call   1040 <prints@plt>
lea    0x1001(%rip),%rdi
call   1040 <prints@plt>
lea    0x1046(%rip),%rdi
call   1040 <prints@plt>
lea    0x105f(%rip),%rdi
call   1040 <prints@plt>
xor    %eax,%eax
call   1030 <pressanykey@plt>
xor    %eax,%eax
pop    %rcx
jmp    1060 <winrefresh@plt>

LLVM IR (-O0):
@.str = [98 x i8] c"==\BB\B6\D3\AD\C0\B4\CD\E6\BC\FC\C5\CC\C9\A8\C0\D7\D3\CE\CF\B7== (\B3\CC\D0\F2\D3\C9 nju BBS \D5\BE\B3\A4 zhch \C9\E8\BC\C6)\0D\0A---------------------------------\\r\0A\0D\0A\00"
@.str.1 = [53 x i8] c"\CD\E6\B7\A8\BA\DC\BC\F2\B5\A5\A3\AC\BA\CD\1B[1;34mwindows\1B[m\CF\C2\B5\C4\CA\F3\B1\EA\C9\A8\C0\D7\B2\EE\B2\BB\B6\E0.\0D\0A\00"
@.str.2 = [77 x i8] c" '\1B[1;32mF\1B[m'\BC\FC\B5\C4\D7\F7\D3\C3\CF\E0\B5\B1\D3\DA\CA\F3\B1\EA\B5\C4\D7\F3\BC\FC\BC\B0\CB\AB\BB\F7\B5\C4\D7\F7\D3\C3\A3\AC \B3\CC\D0\F2\B8\F9\BE\DD\C4\E3\B5\E3\BB\F7\B5\C4\CE\BB\D6\C3\0D\0A\00"
@.str.3 = [29 x i8] c" \D7\D4\B6\AF\C5\D0\B6\CF\D2\AA\BD\F8\D0\D0\C4\C4\D6\D6\B2\D9\D7\F7\A1\A3\0D\0A\00"
@.str.4 = [55 x i8] c" '\1B[1;32mS\1B[m'\BC\FC\D4\F2\CF\E0\B5\B1\D3\DA\CA\F3\B1\EA\D3\D2\BC\FC\B5\C4\B9\A6\C4\DC, \BF\C9\D3\C3\C0\B4\B1\EA\C0\D7.\0D\0A\00"
@.str.5 = [39 x i8] c" '\1B[1;32mH\1B[m'\BC\FC\D3\C3\C0\B4\CF\D4\CA\BE\B1\BE\B0\EF\D6\FA\D0\C5\CF\A2.\0D\0A\00"
@.str.6 = [29 x i8] c" '\1B[1;32mQ\1B[m'\BC\FC\CD\CB\B3\F6\D3\CE\CF\B7.\0D\0A\00"
@.str.7 = [52 x i8] c" \B5\B1\C6\C1\C4\BB\C2\D2\B5\F4\CA\B1\A3\AC\BF\C9\D3\C3'\1B[1;32mD\1B[m'\BF\C9\D3\C3\C0\B4\CB\A2\D0\C2\C6\C1\C4\BB\A1\A3\0D\0A\00"
@.str.8 = [81 x i8] c"\BD\A8\D2\E9\D3\C3\1B[1;32mNetterm\1B[m\C0\B4\CD\E6(\B5\B1\C8\BBnjuterm\D2\B2\BF\C9\D2\D4,:)),\1B[1;32mtelnet\1B[m\D0\A7\B9\FB\B2\BB\CA\C7\CC\AB\BA\C3\0D\0A\00"
@.str.9 = [37 x i8] c"\B5\DA\D2\BB\B4\CE\B5\E3\BB\F7\D2\BB\B6\A8\BB\E1\BF\AA\D2\BB\C6\AC\A3\AC\BA\DC\CA\E6\B7\FE\B0\C9\A1\A3\0D\0A\00"
@.str.10 = [54 x i8] c"\CA\EC\C1\B7\BA\F3\A3\AC\CB\D9\B6\C8\BB\B9\CA\C7\BA\DC\BF\EC\B5\C4\A3\AC\BC\B8\BA\F5\BF\C9\D2\D4\B4\EF\B5\BD\CA\F3\B1\EA\C9\A8\C0\D7\B5\C4\CB\D9\B6\C8.\0D\0A\00"
define i32 @winhelp() {
%1 = alloca i32
%2 = call i32 (...) @screen_clear()
%3 = call i32 @prints(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str, i64 0, i64 0))
%4 = call i32 @prints(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.1, i64 0, i64 0))
%5 = call i32 @prints(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.2, i64 0, i64 0))
%6 = call i32 @prints(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.3, i64 0, i64 0))
%7 = call i32 @prints(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.4, i64 0, i64 0))
%8 = call i32 @prints(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.5, i64 0, i64 0))
%9 = call i32 @prints(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.6, i64 0, i64 0))
%10 = call i32 @prints(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.7, i64 0, i64 0))
%11 = call i32 @prints(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.8, i64 0, i64 0))
%12 = call i32 @prints(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.9, i64 0, i64 0))
%13 = call i32 @prints(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.10, i64 0, i64 0))
%14 = call i32 (...) @pressanykey()
%15 = call i32 (...) @winrefresh()
%16 = load i32, i32* %1
ret i32 %16
}

LLVM IR (-O2):
@.str = [98 x i8] c"==\BB\B6\D3\AD\C0\B4\CD\E6\BC\FC\C5\CC\C9\A8\C0\D7\D3\CE\CF\B7== (\B3\CC\D0\F2\D3\C9 nju BBS \D5\BE\B3\A4 zhch \C9\E8\BC\C6)\0D\0A---------------------------------\\r\0A\0D\0A\00"
@.str.1 = [53 x i8] c"\CD\E6\B7\A8\BA\DC\BC\F2\B5\A5\A3\AC\BA\CD\1B[1;34mwindows\1B[m\CF\C2\B5\C4\CA\F3\B1\EA\C9\A8\C0\D7\B2\EE\B2\BB\B6\E0.\0D\0A\00"
@.str.2 = [77 x i8] c" '\1B[1;32mF\1B[m'\BC\FC\B5\C4\D7\F7\D3\C3\CF\E0\B5\B1\D3\DA\CA\F3\B1\EA\B5\C4\D7\F3\BC\FC\BC\B0\CB\AB\BB\F7\B5\C4\D7\F7\D3\C3\A3\AC \B3\CC\D0\F2\B8\F9\BE\DD\C4\E3\B5\E3\BB\F7\B5\C4\CE\BB\D6\C3\0D\0A\00"
@.str.3 = [29 x i8] c" \D7\D4\B6\AF\C5\D0\B6\CF\D2\AA\BD\F8\D0\D0\C4\C4\D6\D6\B2\D9\D7\F7\A1\A3\0D\0A\00"
@.str.4 = [55 x i8] c" '\1B[1;32mS\1B[m'\BC\FC\D4\F2\CF\E0\B5\B1\D3\DA\CA\F3\B1\EA\D3\D2\BC\FC\B5\C4\B9\A6\C4\DC, \BF\C9\D3\C3\C0\B4\B1\EA\C0\D7.\0D\0A\00"
@.str.5 = [39 x i8] c" '\1B[1;32mH\1B[m'\BC\FC\D3\C3\C0\B4\CF\D4\CA\BE\B1\BE\B0\EF\D6\FA\D0\C5\CF\A2.\0D\0A\00"
@.str.6 = [29 x i8] c" '\1B[1;32mQ\1B[m'\BC\FC\CD\CB\B3\F6\D3\CE\CF\B7.\0D\0A\00"
@.str.7 = [52 x i8] c" \B5\B1\C6\C1\C4\BB\C2\D2\B5\F4\CA\B1\A3\AC\BF\C9\D3\C3'\1B[1;32mD\1B[m'\BF\C9\D3\C3\C0\B4\CB\A2\D0\C2\C6\C1\C4\BB\A1\A3\0D\0A\00"
@.str.8 = [81 x i8] c"\BD\A8\D2\E9\D3\C3\1B[1;32mNetterm\1B[m\C0\B4\CD\E6(\B5\B1\C8\BBnjuterm\D2\B2\BF\C9\D2\D4,:)),\1B[1;32mtelnet\1B[m\D0\A7\B9\FB\B2\BB\CA\C7\CC\AB\BA\C3\0D\0A\00"
@.str.9 = [37 x i8] c"\B5\DA\D2\BB\B4\CE\B5\E3\BB\F7\D2\BB\B6\A8\BB\E1\BF\AA\D2\BB\C6\AC\A3\AC\BA\DC\CA\E6\B7\FE\B0\C9\A1\A3\0D\0A\00"
@.str.10 = [54 x i8] c"\CA\EC\C1\B7\BA\F3\A3\AC\CB\D9\B6\C8\BB\B9\CA\C7\BA\DC\BF\EC\B5\C4\A3\AC\BC\B8\BA\F5\BF\C9\D2\D4\B4\EF\B5\BD\CA\F3\B1\EA\C9\A8\C0\D7\B5\C4\CB\D9\B6\C8.\0D\0A\00"
define i32 @winhelp() {
%1 = tail call i32 (...) @screen_clear()
%2 = tail call i32 @prints(i8* getelementptr inbounds ([98 x i8], [98 x i8]* @.str, i64 0, i64 0))
%3 = tail call i32 @prints(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.1, i64 0, i64 0))
%4 = tail call i32 @prints(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.2, i64 0, i64 0))
%5 = tail call i32 @prints(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.3, i64 0, i64 0))
%6 = tail call i32 @prints(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.4, i64 0, i64 0))
%7 = tail call i32 @prints(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.5, i64 0, i64 0))
%8 = tail call i32 @prints(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.6, i64 0, i64 0))
%9 = tail call i32 @prints(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.7, i64 0, i64 0))
%10 = tail call i32 @prints(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.8, i64 0, i64 0))
%11 = tail call i32 @prints(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.9, i64 0, i64 0))
%12 = tail call i32 @prints(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.10, i64 0, i64 0))
%13 = tail call i32 (...) @pressanykey()
%14 = tail call i32 (...) @winrefresh()
ret i32 undef
}