#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*/ system(char *);
void INSTALL(void) {
  char install[] =
      "echo && echo CREATING TEMPORAL FOLDER... && echo && cd ~ && mkdir "
      "freshplayerplugin && cd freshplayerplugin && echo DOWNLOADING SOURCE "
      "CODE... && echo && wget "
      "https://github.com/i-rinat/freshplayerplugin/archive/master.zip && echo "
      "UNCOMPRESSING SOURCE FILES... && echo && unzip master.zip && cd "
      "freshplayerplugin-master && mkdir build && cd build && echo && echo "
      "VERIFYING DEPENDENCIES AND CREATING MAKEFILE... && echo && cmake "
      "-DCMAKE_BUILD_TYPE=RelWithDebInfo .. && echo && echo CREATING "
      "FRESHPLAYER PLUGIN... && echo && make && echo && echo INSTALLING "
      "FRESHPLAYER PLUGIN... && echo && cp -f libfreshwrapper-flashplayer.so "
      "~/.mozilla/plugins/libfreshwrapper-flashplayer.so && echo && echo "
      "REMOVING TEMPORAL FILES... && echo && cd .. && cd .. && cd .. && rm -R "
      "freshplayerplugin/ && echo && echo FRESHPLAYER HAS BEEN SUCCESSFULLY "
      "INSTALLED &&echo";
  system(install);
}


x86 assembly (clang, -O0):
<INSTALL>:
push   %rbp
mov    %rsp,%rbp
sub    $0x350,%rsp
lea    -0x350(%rbp),%rdi
lea    0xec7(%rip),%rsi
mov    $0x350,%edx
call   1040 <memcpy@plt>
lea    -0x350(%rbp),%rdi
call   1030 <system@plt>
add    $0x350,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<INSTALL>:
push   %rbx
sub    $0x350,%rsp
lea    0xed1(%rip),%rsi
mov    %rsp,%rbx
mov    $0x350,%edx
mov    %rbx,%rdi
call   1040 <memcpy@plt>
mov    %rbx,%rdi
call   1030 <system@plt>
add    $0x350,%rsp
pop    %rbx
ret

LLVM IR (-O0):
@__const.INSTALL.install = [848 x i8] c"echo && echo CREATING TEMPORAL FOLDER... && echo && cd ~ && mkdir freshplayerplugin && cd freshplayerplugin && echo DOWNLOADING SOURCE CODE... && echo && wget https://github.com/i-rinat/freshplayerplugin/archive/master.zip && echo UNCOMPRESSING SOURCE FILES... && echo && unzip master.zip && cd freshplayerplugin-master && mkdir build && cd build && echo && echo VERIFYING DEPENDENCIES AND CREATING MAKEFILE... && echo && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && echo && echo CREATING FRESHPLAYER PLUGIN... && echo && make && echo && echo INSTALLING FRESHPLAYER PLUGIN... && echo && cp -f libfreshwrapper-flashplayer.so ~/.mozilla/plugins/libfreshwrapper-flashplayer.so && echo && echo REMOVING TEMPORAL FILES... && echo && cd .. && cd .. && cd .. && rm -R freshplayerplugin/ && echo && echo FRESHPLAYER HAS BEEN SUCCESSFULLY INSTALLED &&echo\00"
define void @INSTALL() {
%1 = alloca [848 x i8]
%2 = bitcast [848 x i8]* %1 to i8*
%3 = getelementptr inbounds [848 x i8], [848 x i8]* %1, i64 0, i64 0
%4 = call i32 @system(i8* %3)
ret void
}

LLVM IR (-O2):
@__const.INSTALL.install = [848 x i8] c"echo && echo CREATING TEMPORAL FOLDER... && echo && cd ~ && mkdir freshplayerplugin && cd freshplayerplugin && echo DOWNLOADING SOURCE CODE... && echo && wget https://github.com/i-rinat/freshplayerplugin/archive/master.zip && echo UNCOMPRESSING SOURCE FILES... && echo && unzip master.zip && cd freshplayerplugin-master && mkdir build && cd build && echo && echo VERIFYING DEPENDENCIES AND CREATING MAKEFILE... && echo && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && echo && echo CREATING FRESHPLAYER PLUGIN... && echo && make && echo && echo INSTALLING FRESHPLAYER PLUGIN... && echo && cp -f libfreshwrapper-flashplayer.so ~/.mozilla/plugins/libfreshwrapper-flashplayer.so && echo && echo REMOVING TEMPORAL FILES... && echo && cd .. && cd .. && cd .. && rm -R freshplayerplugin/ && echo && echo FRESHPLAYER HAS BEEN SUCCESSFULLY INSTALLED &&echo\00"
define void @INSTALL() {
%1 = alloca [848 x i8]
%2 = getelementptr inbounds [848 x i8], [848 x i8]* %1, i64 0, i64 0
%3 = call i32 @system(i8* %2)
ret void
}