#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 *);
int /*<<< orphan*/ sleep(int);
int /*<<< orphan*/ system(char *);
int main() {
  printf("初始化中，请稍候...\n");
  sleep(3);
  printf("欢迎使用Napkin Web服务器自动搭建系统\n");
  printf("BOX-Lab盒子实验室，版权所有\n");
  printf("加载组件中...\n");
  sleep(2);
  printf("检查授权信息...\n");
  printf("Key=S5HrmNTQzMCRoDdY8UnFXBWl\n");
  sleep(1);
  printf("完成...\n");
  printf("检查环境...\n");
  sleep(1);
  printf("完成...\n");
  printf("本地检查完毕！\n");
  printf("启动安装程序...\n");
  sleep(4);
  printf("加载命令...\n");
  printf("启动成功！准备安装...\n请注意在安装mysql-server,"
         "phpmyadmin时会提示设置密码。\n");
  sleep(2);
  printf("安装 apache2-----------------\n");
  sleep(1);
  system("sudo apt-get install -y apache2");
  printf("安装 apache2 成功！\n");
  printf("安装 php5-----------------\n");
  sleep(1);
  system("sudo apt-get install -y php5");
  printf("安装 php5 成功！\n");
  printf("安装 mysql-server&client-----------------\n");
  sleep(1);
  system("sudo apt-get install -y mysql-server mysql-client");
  printf("安装 MySQL 成功！\n");
  printf("安装 php5-mysql-----------------\n");
  sleep(1);
  system("sudo apt-get install -y php5-mysql");
  printf("安装 php5-mysql 成功！\n");
  printf("安装 phpmyadmin-----------------\n");
  sleep(1);
  system("sudo apt-get install -y phpmyadmin");
  printf("安装 phpmyadmin 成功！\n");
  printf("基本软件安装完毕！进行基础配置...\n");
  sleep(2);
  printf("将apache2设置为开机自启动...\n");
  sleep(1);
  system("sudo /etc/init.d/apache2 start");
  printf("设置成功！\n");
  printf("将mySQL设置为开机自启动...\n");
  sleep(1);
  system("sudo /etc/init.d/mysql start");
  printf("设置成功！\n");
  printf("赋予/vvar/www最高权限...\n");
  sleep(1);
  system("sudo chmod -R 777 /var/www");
  printf("授权成功！\n");
  printf("复制文件...\n");
  sleep(1);
  system("sudo cp ./files/html/* /var/www/html");
  printf("复制成功！\n");
  printf("基本服务器环境搭建完成\n网页根目录在/var/www/"
         "html，请自行更换网页！\n请在浏览器中输入RasPI的内网IP地址测试运行情况"
         "！\n感谢您的使用！\n");
  sleep(2);
  printf("Copyright 2016-2017 BOX-Lab\nhttp://www.boxlab2017.cn/\n");
  sleep(3);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
lea    0xec5(%rip),%rdi
call   1040 <printf@plt>
mov    $0x3,%edi
call   1050 <sleep@plt>
lea    0xecc(%rip),%rdi
call   1040 <printf@plt>
lea    0xef3(%rip),%rdi
call   1040 <printf@plt>
lea    0xf0e(%rip),%rdi
call   1040 <printf@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0xf0c(%rip),%rdi
call   1040 <printf@plt>
lea    0xf17(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xf1f(%rip),%rdi
call   1040 <printf@plt>
lea    0xf1e(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xefd(%rip),%rdi
call   1040 <printf@plt>
lea    0xf0d(%rip),%rdi
call   1040 <printf@plt>
lea    0xf18(%rip),%rdi
call   1040 <printf@plt>
mov    $0x4,%edi
call   1050 <sleep@plt>
lea    0xf19(%rip),%rdi
call   1040 <printf@plt>
lea    0xf1e(%rip),%rdi
call   1040 <printf@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0xf6d(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xf78(%rip),%rdi
call   1030 <system@plt>
lea    0xf8c(%rip),%rdi
call   1040 <printf@plt>
lea    0xf9a(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xfa2(%rip),%rdi
call   1030 <system@plt>
lea    0xfb3(%rip),%rdi
call   1040 <printf@plt>
lea    0xfbe(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xfd5(%rip),%rdi
call   1030 <system@plt>
lea    0xffb(%rip),%rdi
call   1040 <printf@plt>
lea    0x1007(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0x1015(%rip),%rdi
call   1030 <system@plt>
lea    0x102c(%rip),%rdi
call   1040 <printf@plt>
lea    0x103d(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0x104b(%rip),%rdi
call   1030 <system@plt>
lea    0x1062(%rip),%rdi
call   1040 <printf@plt>
lea    0x1073(%rip),%rdi
call   1040 <printf@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0x108f(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0x10a0(%rip),%rdi
call   1030 <system@plt>
lea    0x10b3(%rip),%rdi
call   1040 <printf@plt>
lea    0x10b8(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0x10c7(%rip),%rdi
call   1030 <system@plt>
lea    0x1085(%rip),%rdi
call   1040 <printf@plt>
lea    0x10cc(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0x10d6(%rip),%rdi
call   1030 <system@plt>
lea    0x10e5(%rip),%rdi
call   1040 <printf@plt>
lea    0x10ea(%rip),%rdi
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0x10e5(%rip),%rdi
call   1030 <system@plt>
lea    0x10fe(%rip),%rdi
call   1040 <printf@plt>
lea    0x1103(%rip),%rdi
call   1040 <printf@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0x11a5(%rip),%rdi
call   1040 <printf@plt>
mov    $0x3,%edi
call   1050 <sleep@plt>
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
lea    0xff9(%rip),%rdi
call   1030 <puts@plt>
mov    $0x3,%edi
call   1050 <sleep@plt>
lea    0xfff(%rip),%rdi
call   1030 <puts@plt>
lea    0x1025(%rip),%rdi
call   1030 <puts@plt>
lea    0x103f(%rip),%rdi
call   1030 <puts@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0x103c(%rip),%rdi
call   1030 <puts@plt>
lea    0x1046(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0x105d(%rip),%rbx
mov    %rbx,%rdi
call   1030 <puts@plt>
lea    0x103e(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
lea    0x103a(%rip),%rdi
call   1030 <puts@plt>
lea    0x1044(%rip),%rdi
call   1030 <puts@plt>
mov    $0x4,%edi
call   1050 <sleep@plt>
lea    0x1044(%rip),%rdi
call   1030 <puts@plt>
lea    0x1048(%rip),%rdi
call   1030 <puts@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0x1096(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xddb(%rip),%rdi
call   1040 <system@plt>
lea    0x1094(%rip),%rdi
call   1030 <puts@plt>
lea    0x10a1(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xdcd(%rip),%rdi
call   1040 <system@plt>
lea    0x109c(%rip),%rdi
call   1030 <puts@plt>
lea    0x10a6(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xdbc(%rip),%rdi
call   1040 <system@plt>
lea    0x10b0(%rip),%rdi
call   1030 <puts@plt>
lea    0x10bb(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xdc0(%rip),%rdi
call   1040 <system@plt>
lea    0x10bc(%rip),%rdi
call   1030 <puts@plt>
lea    0x10cc(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xdb5(%rip),%rdi
call   1040 <system@plt>
lea    0x10cd(%rip),%rdi
call   1030 <puts@plt>
lea    0x10dd(%rip),%rdi
call   1030 <puts@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0x10f8(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xd94(%rip),%rdi
call   1040 <system@plt>
lea    0x1120(%rip),%rbx
mov    %rbx,%rdi
call   1030 <puts@plt>
lea    0x10ed(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xd82(%rip),%rdi
call   1040 <system@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
lea    0x10f7(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xd75(%rip),%rdi
call   1040 <system@plt>
lea    0x10f4(%rip),%rdi
call   1030 <puts@plt>
lea    0x10f8(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%edi
call   1050 <sleep@plt>
lea    0xd62(%rip),%rdi
call   1040 <system@plt>
lea    0x10e6(%rip),%rdi
call   1030 <puts@plt>
lea    0x10ea(%rip),%rdi
call   1030 <puts@plt>
mov    $0x2,%edi
call   1050 <sleep@plt>
lea    0x118b(%rip),%rdi
call   1030 <puts@plt>
mov    $0x3,%edi
call   1050 <sleep@plt>
xor    %eax,%eax
pop    %rbx
ret

LLVM IR (-O0):
@.str = [29 x i8] c"\E5\88\9D\E5\A7\8B\E5\8C\96\E4\B8\AD\EF\BC\8C\E8\AF\B7\E7\A8\8D\E5\80\99...\0A\00"
@.str.1 = [51 x i8] c"\E6\AC\A2\E8\BF\8E\E4\BD\BF\E7\94\A8Napkin Web\E6\9C\8D\E5\8A\A1\E5\99\A8\E8\87\AA\E5\8A\A8\E6\90\AD\E5\BB\BA\E7\B3\BB\E7\BB\9F\0A\00"
@.str.2 = [39 x i8] c"BOX-Lab\E7\9B\92\E5\AD\90\E5\AE\9E\E9\AA\8C\E5\AE\A4\EF\BC\8C\E7\89\88\E6\9D\83\E6\89\80\E6\9C\89\0A\00"
@.str.3 = [20 x i8] c"\E5\8A\A0\E8\BD\BD\E7\BB\84\E4\BB\B6\E4\B8\AD...\0A\00"
@.str.4 = [23 x i8] c"\E6\A3\80\E6\9F\A5\E6\8E\88\E6\9D\83\E4\BF\A1\E6\81\AF...\0A\00"
@.str.5 = [30 x i8] c"Key=S5HrmNTQzMCRoDdY8UnFXBWl\0A\00"
@.str.6 = [11 x i8] c"\E5\AE\8C\E6\88\90...\0A\00"
@.str.7 = [17 x i8] c"\E6\A3\80\E6\9F\A5\E7\8E\AF\E5\A2\83...\0A\00"
@.str.8 = [23 x i8] c"\E6\9C\AC\E5\9C\B0\E6\A3\80\E6\9F\A5\E5\AE\8C\E6\AF\95\EF\BC\81\0A\00"
@.str.9 = [23 x i8] c"\E5\90\AF\E5\8A\A8\E5\AE\89\E8\A3\85\E7\A8\8B\E5\BA\8F...\0A\00"
@.str.10 = [17 x i8] c"\E5\8A\A0\E8\BD\BD\E5\91\BD\E4\BB\A4...\0A\00"
@.str.11 = [101 x i8] c"\E5\90\AF\E5\8A\A8\E6\88\90\E5\8A\9F\EF\BC\81\E5\87\86\E5\A4\87\E5\AE\89\E8\A3\85...\0A\E8\AF\B7\E6\B3\A8\E6\84\8F\E5\9C\A8\E5\AE\89\E8\A3\85mysql-server,phpmyadmin\E6\97\B6\E4\BC\9A\E6\8F\90\E7\A4\BA\E8\AE\BE\E7\BD\AE\E5\AF\86\E7\A0\81\E3\80\82\0A\00"
@.str.12 = [33 x i8] c"\E5\AE\89\E8\A3\85 apache2-----------------\0A\00"
@.str.13 = [32 x i8] c"sudo apt-get install -y apache2\00"
@.str.14 = [26 x i8] c"\E5\AE\89\E8\A3\85 apache2 \E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.15 = [30 x i8] c"\E5\AE\89\E8\A3\85 php5-----------------\0A\00"
@.str.16 = [29 x i8] c"sudo apt-get install -y php5\00"
@.str.17 = [23 x i8] c"\E5\AE\89\E8\A3\85 php5 \E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.18 = [45 x i8] c"\E5\AE\89\E8\A3\85 mysql-server&client-----------------\0A\00"
@.str.19 = [50 x i8] c"sudo apt-get install -y mysql-server mysql-client\00"
@.str.20 = [24 x i8] c"\E5\AE\89\E8\A3\85 MySQL \E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.21 = [36 x i8] c"\E5\AE\89\E8\A3\85 php5-mysql-----------------\0A\00"
@.str.22 = [35 x i8] c"sudo apt-get install -y php5-mysql\00"
@.str.23 = [29 x i8] c"\E5\AE\89\E8\A3\85 php5-mysql \E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.24 = [36 x i8] c"\E5\AE\89\E8\A3\85 phpmyadmin-----------------\0A\00"
@.str.25 = [35 x i8] c"sudo apt-get install -y phpmyadmin\00"
@.str.26 = [29 x i8] c"\E5\AE\89\E8\A3\85 phpmyadmin \E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.27 = [50 x i8] c"\E5\9F\BA\E6\9C\AC\E8\BD\AF\E4\BB\B6\E5\AE\89\E8\A3\85\E5\AE\8C\E6\AF\95\EF\BC\81\E8\BF\9B\E8\A1\8C\E5\9F\BA\E7\A1\80\E9\85\8D\E7\BD\AE...\0A\00"
@.str.28 = [39 x i8] c"\E5\B0\86apache2\E8\AE\BE\E7\BD\AE\E4\B8\BA\E5\BC\80\E6\9C\BA\E8\87\AA\E5\90\AF\E5\8A\A8...\0A\00"
@.str.29 = [31 x i8] c"sudo /etc/init.d/apache2 start\00"
@.str.30 = [17 x i8] c"\E8\AE\BE\E7\BD\AE\E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.31 = [37 x i8] c"\E5\B0\86mySQL\E8\AE\BE\E7\BD\AE\E4\B8\BA\E5\BC\80\E6\9C\BA\E8\87\AA\E5\90\AF\E5\8A\A8...\0A\00"
@.str.32 = [29 x i8] c"sudo /etc/init.d/mysql start\00"
@.str.33 = [32 x i8] c"\E8\B5\8B\E4\BA\88/vvar/www\E6\9C\80\E9\AB\98\E6\9D\83\E9\99\90...\0A\00"
@.str.34 = [27 x i8] c"sudo chmod -R 777 /var/www\00"
@.str.35 = [17 x i8] c"\E6\8E\88\E6\9D\83\E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.36 = [17 x i8] c"\E5\A4\8D\E5\88\B6\E6\96\87\E4\BB\B6...\0A\00"
@.str.37 = [37 x i8] c"sudo cp ./files/html/* /var/www/html\00"
@.str.38 = [17 x i8] c"\E5\A4\8D\E5\88\B6\E6\88\90\E5\8A\9F\EF\BC\81\0A\00"
@.str.39 = [184 x i8] c"\E5\9F\BA\E6\9C\AC\E6\9C\8D\E5\8A\A1\E5\99\A8\E7\8E\AF\E5\A2\83\E6\90\AD\E5\BB\BA\E5\AE\8C\E6\88\90\0A\E7\BD\91\E9\A1\B5\E6\A0\B9\E7\9B\AE\E5\BD\95\E5\9C\A8/var/www/html\EF\BC\8C\E8\AF\B7\E8\87\AA\E8\A1\8C\E6\9B\B4\E6\8D\A2\E7\BD\91\E9\A1\B5\EF\BC\81\0A\E8\AF\B7\E5\9C\A8\E6\B5\8F\E8\A7\88\E5\99\A8\E4\B8\AD\E8\BE\93\E5\85\A5RasPI\E7\9A\84\E5\86\85\E7\BD\91IP\E5\9C\B0\E5\9D\80\E6\B5\8B\E8\AF\95\E8\BF\90\E8\A1\8C\E6\83\85\E5\86\B5\EF\BC\81\0A\E6\84\9F\E8\B0\A2\E6\82\A8\E7\9A\84\E4\BD\BF\E7\94\A8\EF\BC\81\0A\00"
@.str.40 = [55 x i8] c"Copyright 2016-2017 BOX-Lab\0Ahttp://www.boxlab2017.cn/\0A\00"
define i32 @main() {
%1 = call i32 @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @sleep(i32 3)
%3 = call i32 @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.1, i64 0, i64 0))
%4 = call i32 @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.2, i64 0, i64 0))
%5 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3, i64 0, i64 0))
%6 = call i32 @sleep(i32 2)
%7 = call i32 @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.4, i64 0, i64 0))
%8 = call i32 @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.5, i64 0, i64 0))
%9 = call i32 @sleep(i32 1)
%10 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6, i64 0, i64 0))
%11 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7, i64 0, i64 0))
%12 = call i32 @sleep(i32 1)
%13 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6, i64 0, i64 0))
%14 = call i32 @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.8, i64 0, i64 0))
%15 = call i32 @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.9, i64 0, i64 0))
%16 = call i32 @sleep(i32 4)
%17 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.10, i64 0, i64 0))
%18 = call i32 @printf(i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.11, i64 0, i64 0))
%19 = call i32 @sleep(i32 2)
%20 = call i32 @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.12, i64 0, i64 0))
%21 = call i32 @sleep(i32 1)
%22 = call i32 @system(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.13, i64 0, i64 0))
%23 = call i32 @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.14, i64 0, i64 0))
%24 = call i32 @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.15, i64 0, i64 0))
%25 = call i32 @sleep(i32 1)
%26 = call i32 @system(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.16, i64 0, i64 0))
%27 = call i32 @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.17, i64 0, i64 0))
%28 = call i32 @printf(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0))
%29 = call i32 @sleep(i32 1)
%30 = call i32 @system(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.19, i64 0, i64 0))
%31 = call i32 @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.20, i64 0, i64 0))
%32 = call i32 @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.21, i64 0, i64 0))
%33 = call i32 @sleep(i32 1)
%34 = call i32 @system(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.22, i64 0, i64 0))
%35 = call i32 @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.23, i64 0, i64 0))
%36 = call i32 @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.24, i64 0, i64 0))
%37 = call i32 @sleep(i32 1)
%38 = call i32 @system(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.25, i64 0, i64 0))
%39 = call i32 @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.26, i64 0, i64 0))
%40 = call i32 @printf(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.27, i64 0, i64 0))
%41 = call i32 @sleep(i32 2)
%42 = call i32 @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.28, i64 0, i64 0))
%43 = call i32 @sleep(i32 1)
%44 = call i32 @system(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.29, i64 0, i64 0))
%45 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.30, i64 0, i64 0))
%46 = call i32 @printf(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.31, i64 0, i64 0))
%47 = call i32 @sleep(i32 1)
%48 = call i32 @system(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.32, i64 0, i64 0))
%49 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.30, i64 0, i64 0))
%50 = call i32 @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.33, i64 0, i64 0))
%51 = call i32 @sleep(i32 1)
%52 = call i32 @system(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.34, i64 0, i64 0))
%53 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.35, i64 0, i64 0))
%54 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.36, i64 0, i64 0))
%55 = call i32 @sleep(i32 1)
%56 = call i32 @system(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.37, i64 0, i64 0))
%57 = call i32 @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.38, i64 0, i64 0))
%58 = call i32 @printf(i8* getelementptr inbounds ([184 x i8], [184 x i8]* @.str.39, i64 0, i64 0))
%59 = call i32 @sleep(i32 2)
%60 = call i32 @printf(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.40, i64 0, i64 0))
%61 = call i32 @sleep(i32 3)
ret i32 0
}

LLVM IR (-O2):
@.str.13 = [32 x i8] c"sudo apt-get install -y apache2\00"
@.str.16 = [29 x i8] c"sudo apt-get install -y php5\00"
@.str.19 = [50 x i8] c"sudo apt-get install -y mysql-server mysql-client\00"
@.str.22 = [35 x i8] c"sudo apt-get install -y php5-mysql\00"
@.str.25 = [35 x i8] c"sudo apt-get install -y phpmyadmin\00"
@.str.29 = [31 x i8] c"sudo /etc/init.d/apache2 start\00"
@.str.32 = [29 x i8] c"sudo /etc/init.d/mysql start\00"
@.str.34 = [27 x i8] c"sudo chmod -R 777 /var/www\00"
@.str.37 = [37 x i8] c"sudo cp ./files/html/* /var/www/html\00"
@str = [28 x i8] c"\E5\88\9D\E5\A7\8B\E5\8C\96\E4\B8\AD\EF\BC\8C\E8\AF\B7\E7\A8\8D\E5\80\99...\00"
@str.41 = [50 x i8] c"\E6\AC\A2\E8\BF\8E\E4\BD\BF\E7\94\A8Napkin Web\E6\9C\8D\E5\8A\A1\E5\99\A8\E8\87\AA\E5\8A\A8\E6\90\AD\E5\BB\BA\E7\B3\BB\E7\BB\9F\00"
@str.42 = [38 x i8] c"BOX-Lab\E7\9B\92\E5\AD\90\E5\AE\9E\E9\AA\8C\E5\AE\A4\EF\BC\8C\E7\89\88\E6\9D\83\E6\89\80\E6\9C\89\00"
@str.43 = [19 x i8] c"\E5\8A\A0\E8\BD\BD\E7\BB\84\E4\BB\B6\E4\B8\AD...\00"
@str.44 = [22 x i8] c"\E6\A3\80\E6\9F\A5\E6\8E\88\E6\9D\83\E4\BF\A1\E6\81\AF...\00"
@str.45 = [29 x i8] c"Key=S5HrmNTQzMCRoDdY8UnFXBWl\00"
@str.47 = [16 x i8] c"\E6\A3\80\E6\9F\A5\E7\8E\AF\E5\A2\83...\00"
@str.48 = [10 x i8] c"\E5\AE\8C\E6\88\90...\00"
@str.49 = [22 x i8] c"\E6\9C\AC\E5\9C\B0\E6\A3\80\E6\9F\A5\E5\AE\8C\E6\AF\95\EF\BC\81\00"
@str.50 = [22 x i8] c"\E5\90\AF\E5\8A\A8\E5\AE\89\E8\A3\85\E7\A8\8B\E5\BA\8F...\00"
@str.51 = [16 x i8] c"\E5\8A\A0\E8\BD\BD\E5\91\BD\E4\BB\A4...\00"
@str.52 = [100 x i8] c"\E5\90\AF\E5\8A\A8\E6\88\90\E5\8A\9F\EF\BC\81\E5\87\86\E5\A4\87\E5\AE\89\E8\A3\85...\0A\E8\AF\B7\E6\B3\A8\E6\84\8F\E5\9C\A8\E5\AE\89\E8\A3\85mysql-server,phpmyadmin\E6\97\B6\E4\BC\9A\E6\8F\90\E7\A4\BA\E8\AE\BE\E7\BD\AE\E5\AF\86\E7\A0\81\E3\80\82\00"
@str.53 = [32 x i8] c"\E5\AE\89\E8\A3\85 apache2-----------------\00"
@str.54 = [25 x i8] c"\E5\AE\89\E8\A3\85 apache2 \E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.55 = [29 x i8] c"\E5\AE\89\E8\A3\85 php5-----------------\00"
@str.56 = [22 x i8] c"\E5\AE\89\E8\A3\85 php5 \E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.57 = [44 x i8] c"\E5\AE\89\E8\A3\85 mysql-server&client-----------------\00"
@str.58 = [23 x i8] c"\E5\AE\89\E8\A3\85 MySQL \E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.59 = [35 x i8] c"\E5\AE\89\E8\A3\85 php5-mysql-----------------\00"
@str.60 = [28 x i8] c"\E5\AE\89\E8\A3\85 php5-mysql \E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.61 = [35 x i8] c"\E5\AE\89\E8\A3\85 phpmyadmin-----------------\00"
@str.62 = [28 x i8] c"\E5\AE\89\E8\A3\85 phpmyadmin \E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.63 = [49 x i8] c"\E5\9F\BA\E6\9C\AC\E8\BD\AF\E4\BB\B6\E5\AE\89\E8\A3\85\E5\AE\8C\E6\AF\95\EF\BC\81\E8\BF\9B\E8\A1\8C\E5\9F\BA\E7\A1\80\E9\85\8D\E7\BD\AE...\00"
@str.64 = [38 x i8] c"\E5\B0\86apache2\E8\AE\BE\E7\BD\AE\E4\B8\BA\E5\BC\80\E6\9C\BA\E8\87\AA\E5\90\AF\E5\8A\A8...\00"
@str.66 = [36 x i8] c"\E5\B0\86mySQL\E8\AE\BE\E7\BD\AE\E4\B8\BA\E5\BC\80\E6\9C\BA\E8\87\AA\E5\90\AF\E5\8A\A8...\00"
@str.67 = [16 x i8] c"\E8\AE\BE\E7\BD\AE\E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.68 = [31 x i8] c"\E8\B5\8B\E4\BA\88/vvar/www\E6\9C\80\E9\AB\98\E6\9D\83\E9\99\90...\00"
@str.69 = [16 x i8] c"\E6\8E\88\E6\9D\83\E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.70 = [16 x i8] c"\E5\A4\8D\E5\88\B6\E6\96\87\E4\BB\B6...\00"
@str.71 = [16 x i8] c"\E5\A4\8D\E5\88\B6\E6\88\90\E5\8A\9F\EF\BC\81\00"
@str.72 = [183 x i8] c"\E5\9F\BA\E6\9C\AC\E6\9C\8D\E5\8A\A1\E5\99\A8\E7\8E\AF\E5\A2\83\E6\90\AD\E5\BB\BA\E5\AE\8C\E6\88\90\0A\E7\BD\91\E9\A1\B5\E6\A0\B9\E7\9B\AE\E5\BD\95\E5\9C\A8/var/www/html\EF\BC\8C\E8\AF\B7\E8\87\AA\E8\A1\8C\E6\9B\B4\E6\8D\A2\E7\BD\91\E9\A1\B5\EF\BC\81\0A\E8\AF\B7\E5\9C\A8\E6\B5\8F\E8\A7\88\E5\99\A8\E4\B8\AD\E8\BE\93\E5\85\A5RasPI\E7\9A\84\E5\86\85\E7\BD\91IP\E5\9C\B0\E5\9D\80\E6\B5\8B\E8\AF\95\E8\BF\90\E8\A1\8C\E6\83\85\E5\86\B5\EF\BC\81\0A\E6\84\9F\E8\B0\A2\E6\82\A8\E7\9A\84\E4\BD\BF\E7\94\A8\EF\BC\81\00"
@str.73 = [54 x i8] c"Copyright 2016-2017 BOX-Lab\0Ahttp://www.boxlab2017.cn/\00"
define i32 @main() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 @sleep(i32 3)
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.41, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @str.42, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.43, i64 0, i64 0))
%6 = tail call i32 @sleep(i32 2)
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str.44, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([29 x i8], [29 x i8]* @str.45, i64 0, i64 0))
%9 = tail call i32 @sleep(i32 1)
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @str.48, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.47, i64 0, i64 0))
%12 = tail call i32 @sleep(i32 1)
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @str.48, i64 0, i64 0))
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str.49, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str.50, i64 0, i64 0))
%16 = tail call i32 @sleep(i32 4)
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.51, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([100 x i8], [100 x i8]* @str.52, i64 0, i64 0))
%19 = tail call i32 @sleep(i32 2)
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.53, i64 0, i64 0))
%21 = tail call i32 @sleep(i32 1)
%22 = tail call i32 @system(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.13, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @str.54, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([29 x i8], [29 x i8]* @str.55, i64 0, i64 0))
%25 = tail call i32 @sleep(i32 1)
%26 = tail call i32 @system(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.16, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str.56, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @str.57, i64 0, i64 0))
%29 = tail call i32 @sleep(i32 1)
%30 = tail call i32 @system(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.19, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @str.58, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([35 x i8], [35 x i8]* @str.59, i64 0, i64 0))
%33 = tail call i32 @sleep(i32 1)
%34 = tail call i32 @system(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.22, i64 0, i64 0))
%35 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @str.60, i64 0, i64 0))
%36 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([35 x i8], [35 x i8]* @str.61, i64 0, i64 0))
%37 = tail call i32 @sleep(i32 1)
%38 = tail call i32 @system(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.25, i64 0, i64 0))
%39 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @str.62, i64 0, i64 0))
%40 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @str.63, i64 0, i64 0))
%41 = tail call i32 @sleep(i32 2)
%42 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @str.64, i64 0, i64 0))
%43 = tail call i32 @sleep(i32 1)
%44 = tail call i32 @system(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.29, i64 0, i64 0))
%45 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.67, i64 0, i64 0))
%46 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @str.66, i64 0, i64 0))
%47 = tail call i32 @sleep(i32 1)
%48 = tail call i32 @system(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.32, i64 0, i64 0))
%49 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.67, i64 0, i64 0))
%50 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @str.68, i64 0, i64 0))
%51 = tail call i32 @sleep(i32 1)
%52 = tail call i32 @system(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.34, i64 0, i64 0))
%53 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.69, i64 0, i64 0))
%54 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.70, i64 0, i64 0))
%55 = tail call i32 @sleep(i32 1)
%56 = tail call i32 @system(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.37, i64 0, i64 0))
%57 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.71, i64 0, i64 0))
%58 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([183 x i8], [183 x i8]* @str.72, i64 0, i64 0))
%59 = tail call i32 @sleep(i32 2)
%60 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([54 x i8], [54 x i8]* @str.73, i64 0, i64 0))
%61 = tail call i32 @sleep(i32 3)
ret i32 0
}