#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 */
struct stat {
  int st_dev;
  int st_ino;
  int st_mode;
  int st_nlink;
  int st_rdev;
  int st_size;
  int st_atime;
  int st_mtime;
  int st_ctime;
  int st_blksize;
  int st_blocks;
};

/* Variables and functions */
int /*<<< orphan*/ O_RDONLY;
int /*<<< orphan*/ O_WRONLY;
int S_IFCHR;
int S_IFDIR;
int S_IFIFO;
int S_IFREG;
int S_ISBLK(int);
int S_ISCHR(int);
int S_ISDIR(int);
int S_ISFIFO(int);
int S_ISLNK(int);
int S_ISREG(int);
int S_ISSOCK(int);
int chmod(char *, int);
int errno;
int fchmod(int /*<<< orphan*/, int);
int fstat(int /*<<< orphan*/, struct stat *);
int lstat(char *, struct stat *);
int /*<<< orphan*/ memset(struct stat *, int /*<<< orphan*/, int);
int mkdir(char *, int);
int mkfifo(char *, int);
int mknod(char *, int, int);
int /*<<< orphan*/ open(char *, int /*<<< orphan*/, int);
int /*<<< orphan*/ printf(char *, ...);
int stat(char *, struct stat *);
int main() {
  struct stat s;
  printf("--stat FOLDER--\n");
  printf("ret: %d\n", stat("/test", &s));
  printf("errno: %d\n", errno);
  printf("st_dev: %lu\n", s.st_dev);
  printf("st_ino: %lu\n", s.st_ino);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_nlink: %d\n", s.st_nlink);
  printf("st_rdev: %lu\n", s.st_rdev);
  printf("st_size: %ld\n", s.st_size);
  printf("st_atime: %ld\n", s.st_atime);
  printf("st_mtime: %ld\n", s.st_mtime);
  printf("st_ctime: %ld\n", s.st_ctime);
  printf("st_blksize: %ld\n", s.st_blksize);
  printf("st_blocks: %ld\n", s.st_blocks);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--stat FILE--\n");
  printf("ret: %d\n", stat("/test/file", &s));
  printf("errno: %d\n", errno);
  printf("st_dev: %lu\n", s.st_dev);
  printf("st_ino: %lu\n", s.st_ino);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_nlink: %d\n", s.st_nlink);
  printf("st_rdev: %lu\n", s.st_rdev);
  printf("st_size: %ld\n", s.st_size);
  printf("st_atime: %ld\n", s.st_atime);
  printf("st_mtime: %ld\n", s.st_mtime);
  printf("st_ctime: %ld\n", s.st_ctime);
  printf("st_blksize: %ld\n", s.st_blksize);
  printf("st_blocks: %ld\n", s.st_blocks);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--stat DEVICE--\n");
  printf("ret: %d\n", stat("/test/device", &s));
  printf("errno: %d\n", errno);
  printf("st_dev: %lu\n", s.st_dev);
  printf("st_ino: %lu\n", s.st_ino);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_nlink: %d\n", s.st_nlink);
  printf("st_rdev: %lu\n", s.st_rdev);
  printf("st_size: %ld\n", s.st_size);
  printf("st_atime: %ld\n", s.st_atime);
  printf("st_mtime: %ld\n", s.st_mtime);
  printf("st_ctime: %ld\n", s.st_ctime);
  printf("st_blksize: %ld\n", s.st_blksize);
  printf("st_blocks: %ld\n", s.st_blocks);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--stat LINK--\n");
  printf("ret: %d\n", stat("/test/link", &s));
  printf("errno: %d\n", errno);
  printf("st_dev: %lu\n", s.st_dev);
  printf("st_ino: %lu\n", s.st_ino);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_nlink: %d\n", s.st_nlink);
  printf("st_rdev: %lu\n", s.st_rdev);
  printf("st_size: %ld\n", s.st_size);
  printf("st_atime: %ld\n", s.st_atime);
  printf("st_mtime: %ld\n", s.st_mtime);
  printf("st_ctime: %ld\n", s.st_ctime);
  printf("st_blksize: %ld\n", s.st_blksize);
  printf("st_blocks: %ld\n", s.st_blocks);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--lstat LINK--\n");
  printf("ret: %d\n", lstat("/test/link", &s));
  printf("errno: %d\n", errno);
  printf("st_dev: %lu\n", s.st_dev);
  printf("st_ino: %lu\n", s.st_ino);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_nlink: %d\n", s.st_nlink);
  printf("st_rdev: %lu\n", s.st_rdev);
  printf("st_size: %ld\n", s.st_size);
  printf("st_atime: %ld\n", s.st_atime);
  printf("st_mtime: %ld\n", s.st_mtime);
  printf("st_ctime: %ld\n", s.st_ctime);
  printf("st_blksize: %ld\n", s.st_blksize);
  printf("st_blocks: %ld\n", s.st_blocks);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--fstat FILE--\n");
  printf("ret: %d\n", fstat(open("/test/file", O_RDONLY, 0777), &s));
  printf("errno: %d\n", errno);
  printf("st_dev: %lu\n", s.st_dev);
  printf("st_ino: %lu\n", s.st_ino);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_nlink: %d\n", s.st_nlink);
  printf("st_rdev: %lu\n", s.st_rdev);
  printf("st_size: %ld\n", s.st_size);
  printf("st_atime: %ld\n", s.st_atime);
  printf("st_mtime: %ld\n", s.st_mtime);
  printf("st_ctime: %ld\n", s.st_ctime);
  printf("st_blksize: %ld\n", s.st_blksize);
  printf("st_blocks: %ld\n", s.st_blocks);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--chmod FILE--\n");
  printf("ret: %d\n", chmod("/test/file", 0200));
  printf("errno: %d\n", errno);
  stat("/test/file", &s);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_mtime changed: %d\n", s.st_mtime != 1200000000l);
  memset(&s, 0, sizeof s);
  printf("\n--fchmod FILE--\n");
  printf("ret: %d\n", fchmod(open("/test/file", O_WRONLY, 0777), 0777));
  printf("errno: %d\n", errno);
  stat("/test/file", &s);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_mtime changed: %d\n", s.st_mtime != 1200000000l);
  memset(&s, 0, sizeof s);
  printf("\n--chmod FOLDER--\n");
  printf("ret: %d\n", chmod("/test", 0400));
  printf("errno: %d\n", errno);
  stat("/test", &s);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("st_mtime changed: %d\n", s.st_mtime != 1200000000l);
  memset(&s, 0, sizeof s);
  printf("\n--chmod LINK--\n");
  printf("ret: %d\n", chmod("/test/link", 0000));
  printf("errno: %d\n", errno);
  stat("/test/file", &s);
  printf("st_mode: 0%o\n", s.st_mode);
  memset(&s, 0, sizeof s);
  chmod("/", 0777);
  printf("\n--mkdir--\n");
  printf("ret: %d\n", mkdir("/test-mkdir", 0777));
  printf("errno: %d\n", errno);
  stat("/test-mkdir", &s);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--mknod FILE--\n");
  printf("ret: %d\n", mknod("/test-mknod-file", S_IFREG | 0777, 0));
  printf("errno: %d\n", errno);
  stat("/test-mknod-file", &s);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--mknod FOLDER--\n");
  printf("ret: %d\n", mknod("/test-mknod-dir", S_IFDIR | 0777, 0));
  printf("errno: %d\n", errno);
  stat("/test-mknod-dir", &s);
  printf("st_mode: 0%o\n", s.st_mode);
  printf("S_ISBLK: %d\n", S_ISBLK(s.st_mode));
  printf("S_ISCHR: %d\n", S_ISCHR(s.st_mode));
  printf("S_ISDIR: %d\n", S_ISDIR(s.st_mode));
  printf("S_ISFIFO: %d\n", S_ISFIFO(s.st_mode));
  printf("S_ISREG: %d\n", S_ISREG(s.st_mode));
  printf("S_ISLNK: %d\n", S_ISLNK(s.st_mode));
  printf("S_ISSOCK: %d\n", S_ISSOCK(s.st_mode));
  memset(&s, 0, sizeof s);
  printf("\n--mknod FIFO--\n");
  printf("ret: %d\n", mknod("/test-mknod-fifo", S_IFIFO | 0777, 0));
  printf("errno: %d\n", errno);
  printf("\n--mknod DEVICE--\n");
  printf("ret: %d\n", mknod("/test-mknod-device", S_IFCHR | 0777, 123));
  printf("errno: %d\n", errno);
  printf("\n--mkfifo--\n");
  printf("ret: %d\n", mkfifo("/test-mkfifo", 0777));
  printf("errno: %d\n", errno);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
movl   $0x0,-0x4(%rbp)
lea    0x1dca(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1dd6(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    %eax,%esi
lea    0x1dbb(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x3d64(%rip),%rax
mov    (%rax),%esi
lea    0x1db3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x30(%rbp),%esi
lea    0x1dad(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x2c(%rbp),%esi
lea    0x1da9(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%esi
lea    0x1da5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x24(%rbp),%esi
lea    0x1da2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x20(%rbp),%esi
lea    0x1d9f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x1c(%rbp),%esi
lea    0x1d9c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x18(%rbp),%esi
lea    0x1d99(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x14(%rbp),%esi
lea    0x1d97(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0x1d95(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0x1d93(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x8(%rbp),%esi
lea    0x1d93(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x1d8b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x1d80(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x1d75(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x1d6a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x1d60(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0x1d55(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0x1d4a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1d3a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1d3c(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    %eax,%esi
lea    0x1c03(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x3bac(%rip),%rax
mov    (%rax),%esi
lea    0x1bfb(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x30(%rbp),%esi
lea    0x1bf5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x2c(%rbp),%esi
lea    0x1bf1(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%esi
lea    0x1bed(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x24(%rbp),%esi
lea    0x1bea(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x20(%rbp),%esi
lea    0x1be7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x1c(%rbp),%esi
lea    0x1be4(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x18(%rbp),%esi
lea    0x1be1(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x14(%rbp),%esi
lea    0x1bdf(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0x1bdd(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0x1bdb(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x8(%rbp),%esi
lea    0x1bdb(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x1bd3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x1bc8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x1bbd(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x1bb2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x1ba8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0x1b9d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0x1b92(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1b9d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1ba1(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    %eax,%esi
lea    0x1a4b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x39f4(%rip),%rax
mov    (%rax),%esi
lea    0x1a43(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x30(%rbp),%esi
lea    0x1a3d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x2c(%rbp),%esi
lea    0x1a39(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%esi
lea    0x1a35(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x24(%rbp),%esi
lea    0x1a32(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x20(%rbp),%esi
lea    0x1a2f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x1c(%rbp),%esi
lea    0x1a2c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x18(%rbp),%esi
lea    0x1a29(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x14(%rbp),%esi
lea    0x1a27(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0x1a25(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0x1a23(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x8(%rbp),%esi
lea    0x1a23(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x1a1b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x1a10(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x1a05(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x19fa(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x19f0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0x19e5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0x19da(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1a04(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1a06(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    %eax,%esi
lea    0x1893(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x383c(%rip),%rax
mov    (%rax),%esi
lea    0x188b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x30(%rbp),%esi
lea    0x1885(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x2c(%rbp),%esi
lea    0x1881(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%esi
lea    0x187d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x24(%rbp),%esi
lea    0x187a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x20(%rbp),%esi
lea    0x1877(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x1c(%rbp),%esi
lea    0x1874(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x18(%rbp),%esi
lea    0x1871(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x14(%rbp),%esi
lea    0x186f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0x186d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0x186b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x8(%rbp),%esi
lea    0x186b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x1863(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x1858(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x184d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x1842(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x1838(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0x182d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0x1822(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1867(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x184e(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10a0 <lstat@plt>
mov    %eax,%esi
lea    0x16db(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x3684(%rip),%rax
mov    (%rax),%esi
lea    0x16d3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x30(%rbp),%esi
lea    0x16cd(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x2c(%rbp),%esi
lea    0x16c9(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%esi
lea    0x16c5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x24(%rbp),%esi
lea    0x16c2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x20(%rbp),%esi
lea    0x16bf(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x1c(%rbp),%esi
lea    0x16bc(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x18(%rbp),%esi
lea    0x16b9(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x14(%rbp),%esi
lea    0x16b7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0x16b5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0x16b3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x8(%rbp),%esi
lea    0x16b3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x16ab(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x16a0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x1695(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x168a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x1680(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0x1675(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0x166a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x16c0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x350c(%rip),%rax
mov    (%rax),%esi
lea    0x1653(%rip),%rdi
mov    $0x1ff,%edx
call   1130 <open@plt>
mov    %eax,%edi
lea    -0x30(%rbp),%rsi
call   1140 <fstat@plt>
mov    %eax,%esi
lea    0x150e(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x34b7(%rip),%rax
mov    (%rax),%esi
lea    0x1506(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x30(%rbp),%esi
lea    0x1500(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x2c(%rbp),%esi
lea    0x14fc(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%esi
lea    0x14f8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x24(%rbp),%esi
lea    0x14f5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x20(%rbp),%esi
lea    0x14f2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x1c(%rbp),%esi
lea    0x14ef(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x18(%rbp),%esi
lea    0x14ec(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x14(%rbp),%esi
lea    0x14ea(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0x14e8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0x14e6(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x8(%rbp),%esi
lea    0x14e6(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x14de(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x14d3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x14c8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x14bd(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x14b3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0x14a8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0x149d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1504(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x148f(%rip),%rdi
mov    $0x80,%esi
call   1120 <chmod@plt>
mov    %eax,%esi
lea    0x1355(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x32fe(%rip),%rax
mov    (%rax),%esi
lea    0x134d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1457(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    -0x28(%rbp),%esi
lea    0x1351(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0x14(%rbp),%rax
cmp    $0x47868c00,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x149c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1494(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x3270(%rip),%rax
mov    (%rax),%esi
lea    0x13ef(%rip),%rdi
mov    $0x1ff,%edx
call   1130 <open@plt>
mov    %eax,%edi
mov    $0x1ff,%esi
call   1110 <fchmod@plt>
mov    %eax,%esi
lea    0x12a9(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x3252(%rip),%rax
mov    (%rax),%esi
lea    0x12a1(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x13ab(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    -0x28(%rbp),%esi
lea    0x12a5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0x14(%rbp),%rax
cmp    $0x47868c00,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x13f0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x13fa(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x122e(%rip),%rdi
mov    $0x100,%esi
call   1120 <chmod@plt>
mov    %eax,%esi
lea    0x1212(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x31bb(%rip),%rax
mov    (%rax),%esi
lea    0x120a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x11f6(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    -0x28(%rbp),%esi
lea    0x120e(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0x14(%rbp),%rax
cmp    $0x47868c00,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1359(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1376(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x12ef(%rip),%rdi
xor    %esi,%esi
call   1120 <chmod@plt>
mov    %eax,%esi
lea    0x117e(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x3127(%rip),%rax
mov    (%rax),%esi
lea    0x1176(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1280(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    -0x28(%rbp),%esi
lea    0x117a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x1313(%rip),%rdi
mov    $0x1ff,%esi
call   1120 <chmod@plt>
lea    0x1304(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1302(%rip),%rdi
mov    $0x1ff,%esi
call   1040 <mkdir@plt>
mov    %eax,%esi
lea    0x10f6(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x309f(%rip),%rax
mov    (%rax),%esi
lea    0x10ee(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x12ca(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    -0x28(%rbp),%esi
lea    0x10f2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x1160(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x1155(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x114a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x113f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x1135(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0x112a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0x111f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x11fd(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2fb9(%rip),%rax
mov    (%rax),%esi
or     $0x1ff,%esi
lea    0x11f1(%rip),%rdi
xor    %edx,%edx
call   10d0 <mknod@plt>
mov    %eax,%esi
lea    0xfcb(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2f74(%rip),%rax
mov    (%rax),%esi
lea    0xfc3(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x11bc(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    -0x28(%rbp),%esi
lea    0xfc7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0x1035(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0x102a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0x101f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0x1014(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0x100a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0xfff(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0xff4(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0x10f4(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2e56(%rip),%rax
mov    (%rax),%esi
or     $0x1ff,%esi
lea    0x10ea(%rip),%rdi
xor    %edx,%edx
call   10d0 <mknod@plt>
mov    %eax,%esi
lea    0xea0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2e49(%rip),%rax
mov    (%rax),%esi
lea    0xe98(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x10b5(%rip),%rdi
lea    -0x30(%rbp),%rsi
call   10c0 <stat@plt>
mov    -0x28(%rbp),%esi
lea    0xe9c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1100 <S_ISBLK@plt>
mov    %eax,%esi
lea    0xf0a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10f0 <S_ISCHR@plt>
mov    %eax,%esi
lea    0xeff(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1080 <S_ISDIR@plt>
mov    %eax,%esi
lea    0xef4(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1050 <S_ISFIFO@plt>
mov    %eax,%esi
lea    0xee9(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   10e0 <S_ISREG@plt>
mov    %eax,%esi
lea    0xedf(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1030 <S_ISLNK@plt>
mov    %eax,%esi
lea    0xed4(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x28(%rbp),%edi
call   1060 <S_ISSOCK@plt>
mov    %eax,%esi
lea    0xec9(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x30(%rbp),%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   1090 <memset@plt>
lea    0xfec(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2d43(%rip),%rax
mov    (%rax),%esi
or     $0x1ff,%esi
lea    0xfe0(%rip),%rdi
xor    %edx,%edx
call   10d0 <mknod@plt>
mov    %eax,%esi
lea    0xd75(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2d1e(%rip),%rax
mov    (%rax),%esi
lea    0xd6d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0xfbc(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2d01(%rip),%rax
mov    (%rax),%esi
or     $0x1ff,%esi
lea    0xfb2(%rip),%rdi
mov    $0x7b,%edx
call   10d0 <mknod@plt>
mov    %eax,%esi
lea    0xd20(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2cc9(%rip),%rax
mov    (%rax),%esi
lea    0xd18(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0xf8d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0xf8c(%rip),%rdi
mov    $0x1ff,%esi
call   10b0 <mkfifo@plt>
mov    %eax,%esi
lea    0xcda(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    0x2c83(%rip),%rax
mov    (%rax),%esi
lea    0xcd2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
xor    %eax,%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x38,%rsp
lea    0x1f6b(%rip),%rdi
call   1050 <puts@plt>
lea    0x1db8(%rip),%rdi
lea    0x8(%rsp),%rbx
mov    %rbx,%rsi
call   10d0 <stat@plt>
lea    0x1d9b(%rip),%r13
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x3d50(%rip),%rax
mov    (%rax),%esi
mov    %rax,%r15
lea    0x1d8b(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x8(%rsp),%esi
lea    0x1d84(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0xc(%rsp),%esi
lea    0x1d7f(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%ebp
lea    0x1d7a(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x14(%rsp),%esi
lea    0x1d74(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x18(%rsp),%esi
lea    0x1d70(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x1c(%rsp),%esi
lea    0x1d6c(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x20(%rsp),%esi
lea    0x1d68(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x24(%rsp),%esi
lea    0x1d65(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x28(%rsp),%esi
lea    0x1d62(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2c(%rsp),%esi
lea    0x1d5f(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x30(%rsp),%esi
lea    0x1d5e(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %ebp,%edi
call   1110 <S_ISBLK@plt>
lea    0x1d59(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %ebp,%edi
call   1100 <S_ISCHR@plt>
lea    0x1d4f(%rip),%r14
mov    %r14,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %ebp,%edi
call   1090 <S_ISDIR@plt>
lea    0x1d42(%rip),%r12
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %ebp,%edi
call   1060 <S_ISFIFO@plt>
lea    0x1d35(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %ebp,%edi
call   10f0 <S_ISREG@plt>
lea    0x1d2c(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %ebp,%edi
call   1030 <S_ISLNK@plt>
lea    0x1d22(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %ebp,%edi
call   1070 <S_ISSOCK@plt>
lea    0x1d18(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x1db0(%rip),%rdi
call   1050 <puts@plt>
lea    0x1cfb(%rip),%rdi
mov    %rbx,%rsi
call   10d0 <stat@plt>
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r15,%r13
mov    (%r15),%esi
lea    0x1bd2(%rip),%r15
mov    %r15,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x8(%rsp),%esi
lea    0x1bc8(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0xc(%rsp),%esi
lea    0x1bc3(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%esi
lea    0x1bbe(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x14(%rsp),%esi
lea    0x1bba(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x18(%rsp),%esi
lea    0x1bb6(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x1c(%rsp),%esi
lea    0x1bb2(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x20(%rsp),%esi
lea    0x1bae(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x24(%rsp),%esi
lea    0x1bab(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x28(%rsp),%esi
lea    0x1ba8(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2c(%rsp),%esi
lea    0x1ba5(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x30(%rsp),%esi
lea    0x1ba4(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
lea    0x1b9d(%rip),%rbp
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
mov    %r14,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0x1b7e(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
lea    0x1b73(%rip),%r14
mov    %r14,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0x1b64(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
lea    0x1b58(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x1bff(%rip),%rdi
call   1050 <puts@plt>
lea    0x1b46(%rip),%rdi
mov    %rbx,%rsi
call   10d0 <stat@plt>
lea    0x1a15(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x0(%r13),%esi
mov    %r15,%rdi
mov    %r15,%r13
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x8(%rsp),%esi
lea    0x1a0a(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0xc(%rsp),%esi
lea    0x1a05(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%esi
lea    0x1a00(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x14(%rsp),%esi
lea    0x19fc(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x18(%rsp),%esi
lea    0x19f8(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x1c(%rsp),%esi
lea    0x19f4(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x20(%rsp),%esi
lea    0x19f0(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x24(%rsp),%esi
lea    0x19ed(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x28(%rsp),%esi
lea    0x19ea(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2c(%rsp),%esi
lea    0x19e7(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x30(%rsp),%esi
lea    0x19e6(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
lea    0x19d7(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0x19c3(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
mov    %r14,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0x19b0(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
lea    0x19a4(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x1a5c(%rip),%rdi
call   1050 <puts@plt>
lea    0x199f(%rip),%r14
mov    %r14,%rdi
mov    %rbx,%rsi
call   10d0 <stat@plt>
lea    0x185e(%rip),%rdi
mov    %rdi,%r15
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x3813(%rip),%rax
mov    (%rax),%esi
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x8(%rsp),%esi
lea    0x184e(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0xc(%rsp),%esi
lea    0x1849(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%esi
lea    0x1844(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x14(%rsp),%esi
lea    0x1840(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x18(%rsp),%esi
lea    0x183c(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x1c(%rsp),%esi
lea    0x1838(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x20(%rsp),%esi
lea    0x1834(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x24(%rsp),%esi
lea    0x1831(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x28(%rsp),%esi
lea    0x182e(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2c(%rsp),%esi
lea    0x182b(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x30(%rsp),%esi
lea    0x182a(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
lea    0x181b(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0x1807(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
lea    0x17fc(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0x17f0(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
lea    0x17e4(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x18ab(%rip),%rdi
call   1050 <puts@plt>
mov    %r14,%rdi
mov    %rbx,%rsi
mov    %rbx,%r14
call   10b0 <lstat@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x365e(%rip),%rax
mov    (%rax),%esi
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x8(%rsp),%esi
lea    0x1699(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0xc(%rsp),%esi
lea    0x1694(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%esi
lea    0x168f(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x14(%rsp),%esi
lea    0x168b(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x18(%rsp),%esi
lea    0x1687(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x1c(%rsp),%esi
lea    0x1683(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x20(%rsp),%esi
lea    0x167f(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x24(%rsp),%esi
lea    0x167c(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x28(%rsp),%esi
lea    0x1679(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2c(%rsp),%esi
lea    0x1676(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x30(%rsp),%esi
lea    0x1675(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
mov    %rbp,%rdi
mov    %rbp,%r13
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
lea    0x1663(%rip),%rdi
mov    %rdi,%rbp
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0x164c(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
lea    0x1641(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0x1635(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
lea    0x1629(%rip),%rdi
mov    %rdi,%r15
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x16fd(%rip),%rdi
call   1050 <puts@plt>
mov    0x34da(%rip),%rax
mov    (%rax),%esi
lea    0x1600(%rip),%rdi
mov    %rdi,%rbx
mov    $0x1ff,%edx
call   1140 <open@plt>
mov    %eax,%edi
mov    %r14,%rsi
call   1150 <fstat@plt>
lea    0x14cb(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x3483(%rip),%rax
mov    (%rax),%esi
lea    0x14c1(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x8(%rsp),%esi
lea    0x14ba(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0xc(%rsp),%esi
lea    0x14b5(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%esi
lea    0x14b0(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x14(%rsp),%esi
lea    0x14ac(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x18(%rsp),%esi
lea    0x14a8(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x1c(%rsp),%esi
lea    0x14a4(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x20(%rsp),%esi
lea    0x14a0(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x24(%rsp),%esi
lea    0x149d(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x28(%rsp),%esi
lea    0x149a(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2c(%rsp),%esi
lea    0x1497(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x30(%rsp),%esi
lea    0x1496(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0x1477(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
lea    0x146c(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0x1460(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r14,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x153f(%rip),%rdi
call   1050 <puts@plt>
mov    %rbx,%r12
mov    %rbx,%rdi
mov    $0x80,%esi
call   1130 <chmod@plt>
lea    0x1314(%rip),%r15
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x32c9(%rip),%rbp
mov    0x0(%rbp),%esi
lea    0x1306(%rip),%r13
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
call   10d0 <stat@plt>
mov    0x10(%rsp),%esi
lea    0x130b(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
xor    %esi,%esi
cmpl   $0x47868c00,0x24(%rsp)
47
setne  %sil
lea    0x13f5(%rip),%rbx
mov    %rbx,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r14,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x14ba(%rip),%rdi
call   1050 <puts@plt>
mov    0x323f(%rip),%rax
mov    (%rax),%esi
mov    %r12,%rdi
mov    $0x1ff,%edx
call   1140 <open@plt>
mov    %eax,%edi
mov    $0x1ff,%esi
call   1120 <fchmod@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x0(%rbp),%esi
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r12,%rdi
mov    %r14,%rsi
call   10d0 <stat@plt>
mov    0x10(%rsp),%esi
lea    0x1279(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
xor    %esi,%esi
cmpl   $0x47868c00,0x24(%rsp)
47
setne  %sil
mov    %rbx,%rdi
mov    %rbx,%r12
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r14,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x143d(%rip),%rdi
call   1050 <puts@plt>
lea    0x120a(%rip),%rbx
mov    %rbx,%rdi
mov    $0x100,%esi
call   1130 <chmod@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x0(%rbp),%esi
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
mov    %r14,%rsi
call   10d0 <stat@plt>
mov    0x10(%rsp),%esi
lea    0x11f9(%rip),%rbx
mov    %rbx,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
xor    %esi,%esi
cmpl   $0x47868c00,0x24(%rsp)
47
setne  %sil
mov    %r12,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r14,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x13cf(%rip),%rdi
call   1050 <puts@plt>
lea    0x12b0(%rip),%rdi
xor    %esi,%esi
call   1130 <chmod@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x0(%rbp),%esi
mov    %rbp,%r12
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
lea    0x126e(%rip),%rdi
mov    %r14,%rsi
call   10d0 <stat@plt>
mov    0x10(%rsp),%esi
mov    %rbx,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r14,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x127b(%rip),%rdi
mov    $0x1ff,%esi
call   1130 <chmod@plt>
lea    0x136c(%rip),%rdi
call   1050 <puts@plt>
lea    0x1260(%rip),%rbp
mov    %rbp,%rdi
mov    $0x1ff,%esi
call   1040 <mkdir@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    (%r12),%esi
mov    %r13,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbp,%rdi
mov    %r14,%rsi
call   10d0 <stat@plt>
mov    0x10(%rsp),%esi
mov    %rbx,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
lea    0x1178(%rip),%r13
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
lea    0x1169(%rip),%r12
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
lea    0x115a(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0x114e(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
lea    0x1143(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0x1137(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
lea    0x112b(%rip),%r15
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r14,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x125d(%rip),%rdi
call   1050 <puts@plt>
mov    0x2fd4(%rip),%rax
mov    (%rax),%esi
mov    $0x1ff,%eax
or     %eax,%esi
lea    0x1142(%rip),%rbp
mov    %rbp,%rdi
xor    %edx,%edx
call   10e0 <mknod@plt>
lea    0xfd3(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2f8b(%rip),%rax
mov    (%rax),%esi
lea    0xfc9(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbp,%rdi
mov    %r14,%rsi
call   10d0 <stat@plt>
mov    0x10(%rsp),%esi
lea    0xfd1(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
lea    0x1030(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0x1024(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
lea    0x1019(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0x100d(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %r14,%rdi
mov    %r14,%rbx
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x1147(%rip),%rdi
call   1050 <puts@plt>
mov    0x2e76(%rip),%rax
mov    (%rax),%esi
mov    $0x1ff,%eax
or     %eax,%esi
mov    $0x1ff,%r15d
lea    0x1027(%rip),%rbp
mov    %rbp,%rdi
xor    %edx,%edx
call   10e0 <mknod@plt>
lea    0xea7(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x2e5f(%rip),%r12
mov    (%r12),%esi
lea    0xe9b(%rip),%r14
mov    %r14,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbp,%rdi
mov    %rbx,%rsi
call   10d0 <stat@plt>
mov    0x10(%rsp),%esi
lea    0xea0(%rip),%rdi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1110 <S_ISBLK@plt>
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1100 <S_ISCHR@plt>
lea    0xf07(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1090 <S_ISDIR@plt>
lea    0xefb(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1060 <S_ISFIFO@plt>
lea    0xeef(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   10f0 <S_ISREG@plt>
lea    0xee4(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1030 <S_ISLNK@plt>
lea    0xed8(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    0x10(%rsp),%edi
call   1070 <S_ISSOCK@plt>
lea    0xecc(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x2c,%edx
call   10a0 <memset@plt>
lea    0x1023(%rip),%rdi
call   1050 <puts@plt>
mov    0x2d58(%rip),%rax
mov    (%rax),%esi
or     %r15d,%esi
lea    0xf0b(%rip),%rdi
xor    %edx,%edx
call   10e0 <mknod@plt>
lea    0xd7e(%rip),%rbp
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    (%r12),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
lea    0xfec(%rip),%rdi
call   1050 <puts@plt>
mov    0x2d21(%rip),%rax
mov    (%rax),%esi
or     %r15d,%esi
lea    0xed5(%rip),%rdi
mov    $0x7b,%edx
call   10e0 <mknod@plt>
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    (%r12),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
lea    0xfbb(%rip),%rdi
call   1050 <puts@plt>
lea    0xeb1(%rip),%rdi
mov    $0x1ff,%esi
call   10c0 <mkfifo@plt>
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1080 <printf@plt>
mov    (%r12),%esi
mov    %r14,%rdi
xor    %eax,%eax
call   1080 <printf@plt>
xor    %eax,%eax
add    $0x38,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
%struct.stat = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
@.str = [17 x i8] c"--stat FOLDER--\0A\00"
@.str.1 = [9 x i8] c"ret: %d\0A\00"
@.str.2 = [6 x i8] c"/test\00"
@.str.3 = [11 x i8] c"errno: %d\0A\00"
@errno = global i32 0
@.str.4 = [13 x i8] c"st_dev: %lu\0A\00"
@.str.5 = [13 x i8] c"st_ino: %lu\0A\00"
@.str.6 = [14 x i8] c"st_mode: 0%o\0A\00"
@.str.7 = [14 x i8] c"st_nlink: %d\0A\00"
@.str.8 = [14 x i8] c"st_rdev: %lu\0A\00"
@.str.9 = [14 x i8] c"st_size: %ld\0A\00"
@.str.10 = [15 x i8] c"st_atime: %ld\0A\00"
@.str.11 = [15 x i8] c"st_mtime: %ld\0A\00"
@.str.12 = [15 x i8] c"st_ctime: %ld\0A\00"
@.str.13 = [17 x i8] c"st_blksize: %ld\0A\00"
@.str.14 = [16 x i8] c"st_blocks: %ld\0A\00"
@.str.15 = [13 x i8] c"S_ISBLK: %d\0A\00"
@.str.16 = [13 x i8] c"S_ISCHR: %d\0A\00"
@.str.17 = [13 x i8] c"S_ISDIR: %d\0A\00"
@.str.18 = [14 x i8] c"S_ISFIFO: %d\0A\00"
@.str.19 = [13 x i8] c"S_ISREG: %d\0A\00"
@.str.20 = [13 x i8] c"S_ISLNK: %d\0A\00"
@.str.21 = [14 x i8] c"S_ISSOCK: %d\0A\00"
@.str.22 = [16 x i8] c"\0A--stat FILE--\0A\00"
@.str.23 = [11 x i8] c"/test/file\00"
@.str.24 = [18 x i8] c"\0A--stat DEVICE--\0A\00"
@.str.25 = [13 x i8] c"/test/device\00"
@.str.26 = [16 x i8] c"\0A--stat LINK--\0A\00"
@.str.27 = [11 x i8] c"/test/link\00"
@.str.28 = [17 x i8] c"\0A--lstat LINK--\0A\00"
@.str.29 = [17 x i8] c"\0A--fstat FILE--\0A\00"
@O_RDONLY = global i32 0
@.str.30 = [17 x i8] c"\0A--chmod FILE--\0A\00"
@.str.31 = [22 x i8] c"st_mtime changed: %d\0A\00"
@.str.32 = [18 x i8] c"\0A--fchmod FILE--\0A\00"
@O_WRONLY = global i32 0
@.str.33 = [19 x i8] c"\0A--chmod FOLDER--\0A\00"
@.str.34 = [17 x i8] c"\0A--chmod LINK--\0A\00"
@.str.35 = [2 x i8] c"/\00"
@.str.36 = [12 x i8] c"\0A--mkdir--\0A\00"
@.str.37 = [12 x i8] c"/test-mkdir\00"
@.str.38 = [17 x i8] c"\0A--mknod FILE--\0A\00"
@.str.39 = [17 x i8] c"/test-mknod-file\00"
@S_IFREG = global i32 0
@.str.40 = [19 x i8] c"\0A--mknod FOLDER--\0A\00"
@.str.41 = [16 x i8] c"/test-mknod-dir\00"
@S_IFDIR = global i32 0
@.str.42 = [17 x i8] c"\0A--mknod FIFO--\0A\00"
@.str.43 = [17 x i8] c"/test-mknod-fifo\00"
@S_IFIFO = global i32 0
@.str.44 = [19 x i8] c"\0A--mknod DEVICE--\0A\00"
@.str.45 = [19 x i8] c"/test-mknod-device\00"
@S_IFCHR = global i32 0
@.str.46 = [13 x i8] c"\0A--mkfifo--\0A\00"
@.str.47 = [13 x i8] c"/test-mkfifo\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca %struct.stat
store i32 0, i32* %1
%3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str, i64 0, i64 0))
%4 = call i32 @stat(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), %struct.stat* %2)
%5 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %4)
%6 = load i32, i32* @errno
%7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %6)
%8 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 0
%9 = load i32, i32* %8
%10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %9)
%11 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 1
%12 = load i32, i32* %11
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %12)
%14 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%15 = load i32, i32* %14
%16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %15)
%17 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 3
%18 = load i32, i32* %17
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %18)
%20 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 4
%21 = load i32, i32* %20
%22 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %21)
%23 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 5
%24 = load i32, i32* %23
%25 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %24)
%26 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 6
%27 = load i32, i32* %26
%28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %27)
%29 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%30 = load i32, i32* %29
%31 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %30)
%32 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 8
%33 = load i32, i32* %32
%34 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %33)
%35 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 9
%36 = load i32, i32* %35
%37 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %36)
%38 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 10
%39 = load i32, i32* %38
%40 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %39)
%41 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%42 = load i32, i32* %41
%43 = call i32 @S_ISBLK(i32 %42)
%44 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %43)
%45 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%46 = load i32, i32* %45
%47 = call i32 @S_ISCHR(i32 %46)
%48 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %47)
%49 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%50 = load i32, i32* %49
%51 = call i32 @S_ISDIR(i32 %50)
%52 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %51)
%53 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%54 = load i32, i32* %53
%55 = call i32 @S_ISFIFO(i32 %54)
%56 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %55)
%57 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%58 = load i32, i32* %57
%59 = call i32 @S_ISREG(i32 %58)
%60 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %59)
%61 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%62 = load i32, i32* %61
%63 = call i32 @S_ISLNK(i32 %62)
%64 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %63)
%65 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%66 = load i32, i32* %65
%67 = call i32 @S_ISSOCK(i32 %66)
%68 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %67)
%69 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%70 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.22, i64 0, i64 0))
%71 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %2)
%72 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %71)
%73 = load i32, i32* @errno
%74 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %73)
%75 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 0
%76 = load i32, i32* %75
%77 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %76)
%78 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 1
%79 = load i32, i32* %78
%80 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %79)
%81 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%82 = load i32, i32* %81
%83 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %82)
%84 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 3
%85 = load i32, i32* %84
%86 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %85)
%87 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 4
%88 = load i32, i32* %87
%89 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %88)
%90 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 5
%91 = load i32, i32* %90
%92 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %91)
%93 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 6
%94 = load i32, i32* %93
%95 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %94)
%96 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%97 = load i32, i32* %96
%98 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %97)
%99 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 8
%100 = load i32, i32* %99
%101 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %100)
%102 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 9
%103 = load i32, i32* %102
%104 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %103)
%105 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 10
%106 = load i32, i32* %105
%107 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %106)
%108 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%109 = load i32, i32* %108
%110 = call i32 @S_ISBLK(i32 %109)
%111 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %110)
%112 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%113 = load i32, i32* %112
%114 = call i32 @S_ISCHR(i32 %113)
%115 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %114)
%116 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%117 = load i32, i32* %116
%118 = call i32 @S_ISDIR(i32 %117)
%119 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %118)
%120 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%121 = load i32, i32* %120
%122 = call i32 @S_ISFIFO(i32 %121)
%123 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %122)
%124 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%125 = load i32, i32* %124
%126 = call i32 @S_ISREG(i32 %125)
%127 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %126)
%128 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%129 = load i32, i32* %128
%130 = call i32 @S_ISLNK(i32 %129)
%131 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %130)
%132 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%133 = load i32, i32* %132
%134 = call i32 @S_ISSOCK(i32 %133)
%135 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %134)
%136 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%137 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0))
%138 = call i32 @stat(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.25, i64 0, i64 0), %struct.stat* %2)
%139 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %138)
%140 = load i32, i32* @errno
%141 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %140)
%142 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 0
%143 = load i32, i32* %142
%144 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %143)
%145 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 1
%146 = load i32, i32* %145
%147 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %146)
%148 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%149 = load i32, i32* %148
%150 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %149)
%151 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 3
%152 = load i32, i32* %151
%153 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %152)
%154 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 4
%155 = load i32, i32* %154
%156 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %155)
%157 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 5
%158 = load i32, i32* %157
%159 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %158)
%160 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 6
%161 = load i32, i32* %160
%162 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %161)
%163 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%164 = load i32, i32* %163
%165 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %164)
%166 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 8
%167 = load i32, i32* %166
%168 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %167)
%169 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 9
%170 = load i32, i32* %169
%171 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %170)
%172 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 10
%173 = load i32, i32* %172
%174 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %173)
%175 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%176 = load i32, i32* %175
%177 = call i32 @S_ISBLK(i32 %176)
%178 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %177)
%179 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%180 = load i32, i32* %179
%181 = call i32 @S_ISCHR(i32 %180)
%182 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %181)
%183 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%184 = load i32, i32* %183
%185 = call i32 @S_ISDIR(i32 %184)
%186 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %185)
%187 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%188 = load i32, i32* %187
%189 = call i32 @S_ISFIFO(i32 %188)
%190 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %189)
%191 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%192 = load i32, i32* %191
%193 = call i32 @S_ISREG(i32 %192)
%194 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %193)
%195 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%196 = load i32, i32* %195
%197 = call i32 @S_ISLNK(i32 %196)
%198 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %197)
%199 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%200 = load i32, i32* %199
%201 = call i32 @S_ISSOCK(i32 %200)
%202 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %201)
%203 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%204 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.26, i64 0, i64 0))
%205 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), %struct.stat* %2)
%206 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %205)
%207 = load i32, i32* @errno
%208 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %207)
%209 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 0
%210 = load i32, i32* %209
%211 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %210)
%212 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 1
%213 = load i32, i32* %212
%214 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %213)
%215 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%216 = load i32, i32* %215
%217 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %216)
%218 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 3
%219 = load i32, i32* %218
%220 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %219)
%221 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 4
%222 = load i32, i32* %221
%223 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %222)
%224 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 5
%225 = load i32, i32* %224
%226 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %225)
%227 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 6
%228 = load i32, i32* %227
%229 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %228)
%230 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%231 = load i32, i32* %230
%232 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %231)
%233 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 8
%234 = load i32, i32* %233
%235 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %234)
%236 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 9
%237 = load i32, i32* %236
%238 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %237)
%239 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 10
%240 = load i32, i32* %239
%241 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %240)
%242 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%243 = load i32, i32* %242
%244 = call i32 @S_ISBLK(i32 %243)
%245 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %244)
%246 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%247 = load i32, i32* %246
%248 = call i32 @S_ISCHR(i32 %247)
%249 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %248)
%250 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%251 = load i32, i32* %250
%252 = call i32 @S_ISDIR(i32 %251)
%253 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %252)
%254 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%255 = load i32, i32* %254
%256 = call i32 @S_ISFIFO(i32 %255)
%257 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %256)
%258 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%259 = load i32, i32* %258
%260 = call i32 @S_ISREG(i32 %259)
%261 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %260)
%262 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%263 = load i32, i32* %262
%264 = call i32 @S_ISLNK(i32 %263)
%265 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %264)
%266 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%267 = load i32, i32* %266
%268 = call i32 @S_ISSOCK(i32 %267)
%269 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %268)
%270 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%271 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.28, i64 0, i64 0))
%272 = call i32 @lstat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), %struct.stat* %2)
%273 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %272)
%274 = load i32, i32* @errno
%275 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %274)
%276 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 0
%277 = load i32, i32* %276
%278 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %277)
%279 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 1
%280 = load i32, i32* %279
%281 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %280)
%282 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%283 = load i32, i32* %282
%284 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %283)
%285 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 3
%286 = load i32, i32* %285
%287 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %286)
%288 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 4
%289 = load i32, i32* %288
%290 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %289)
%291 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 5
%292 = load i32, i32* %291
%293 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %292)
%294 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 6
%295 = load i32, i32* %294
%296 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %295)
%297 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%298 = load i32, i32* %297
%299 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %298)
%300 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 8
%301 = load i32, i32* %300
%302 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %301)
%303 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 9
%304 = load i32, i32* %303
%305 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %304)
%306 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 10
%307 = load i32, i32* %306
%308 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %307)
%309 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%310 = load i32, i32* %309
%311 = call i32 @S_ISBLK(i32 %310)
%312 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %311)
%313 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%314 = load i32, i32* %313
%315 = call i32 @S_ISCHR(i32 %314)
%316 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %315)
%317 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%318 = load i32, i32* %317
%319 = call i32 @S_ISDIR(i32 %318)
%320 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %319)
%321 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%322 = load i32, i32* %321
%323 = call i32 @S_ISFIFO(i32 %322)
%324 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %323)
%325 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%326 = load i32, i32* %325
%327 = call i32 @S_ISREG(i32 %326)
%328 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %327)
%329 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%330 = load i32, i32* %329
%331 = call i32 @S_ISLNK(i32 %330)
%332 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %331)
%333 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%334 = load i32, i32* %333
%335 = call i32 @S_ISSOCK(i32 %334)
%336 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %335)
%337 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%338 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.29, i64 0, i64 0))
%339 = load i32, i32* @O_RDONLY
%340 = call i32 @open(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), i32 %339, i32 511)
%341 = call i32 @fstat(i32 %340, %struct.stat* %2)
%342 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %341)
%343 = load i32, i32* @errno
%344 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %343)
%345 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 0
%346 = load i32, i32* %345
%347 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %346)
%348 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 1
%349 = load i32, i32* %348
%350 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %349)
%351 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%352 = load i32, i32* %351
%353 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %352)
%354 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 3
%355 = load i32, i32* %354
%356 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %355)
%357 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 4
%358 = load i32, i32* %357
%359 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %358)
%360 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 5
%361 = load i32, i32* %360
%362 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %361)
%363 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 6
%364 = load i32, i32* %363
%365 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %364)
%366 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%367 = load i32, i32* %366
%368 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %367)
%369 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 8
%370 = load i32, i32* %369
%371 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %370)
%372 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 9
%373 = load i32, i32* %372
%374 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %373)
%375 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 10
%376 = load i32, i32* %375
%377 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %376)
%378 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%379 = load i32, i32* %378
%380 = call i32 @S_ISBLK(i32 %379)
%381 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %380)
%382 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%383 = load i32, i32* %382
%384 = call i32 @S_ISCHR(i32 %383)
%385 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %384)
%386 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%387 = load i32, i32* %386
%388 = call i32 @S_ISDIR(i32 %387)
%389 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %388)
%390 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%391 = load i32, i32* %390
%392 = call i32 @S_ISFIFO(i32 %391)
%393 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %392)
%394 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%395 = load i32, i32* %394
%396 = call i32 @S_ISREG(i32 %395)
%397 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %396)
%398 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%399 = load i32, i32* %398
%400 = call i32 @S_ISLNK(i32 %399)
%401 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %400)
%402 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%403 = load i32, i32* %402
%404 = call i32 @S_ISSOCK(i32 %403)
%405 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %404)
%406 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%407 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.30, i64 0, i64 0))
%408 = call i32 @chmod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), i32 128)
%409 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %408)
%410 = load i32, i32* @errno
%411 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %410)
%412 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %2)
%413 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%414 = load i32, i32* %413
%415 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %414)
%416 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%417 = load i32, i32* %416
%418 = sext i32 %417 to i64
%419 = icmp ne i64 %418, 1200000000
%420 = zext i1 %419 to i32
%421 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.31, i64 0, i64 0), i32 %420)
%422 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%423 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.32, i64 0, i64 0))
%424 = load i32, i32* @O_WRONLY
%425 = call i32 @open(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), i32 %424, i32 511)
%426 = call i32 @fchmod(i32 %425, i32 511)
%427 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %426)
%428 = load i32, i32* @errno
%429 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %428)
%430 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %2)
%431 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%432 = load i32, i32* %431
%433 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %432)
%434 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%435 = load i32, i32* %434
%436 = sext i32 %435 to i64
%437 = icmp ne i64 %436, 1200000000
%438 = zext i1 %437 to i32
%439 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.31, i64 0, i64 0), i32 %438)
%440 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%441 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.33, i64 0, i64 0))
%442 = call i32 @chmod(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), i32 256)
%443 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %442)
%444 = load i32, i32* @errno
%445 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %444)
%446 = call i32 @stat(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), %struct.stat* %2)
%447 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%448 = load i32, i32* %447
%449 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %448)
%450 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 7
%451 = load i32, i32* %450
%452 = sext i32 %451 to i64
%453 = icmp ne i64 %452, 1200000000
%454 = zext i1 %453 to i32
%455 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.31, i64 0, i64 0), i32 %454)
%456 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%457 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.34, i64 0, i64 0))
%458 = call i32 @chmod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), i32 0)
%459 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %458)
%460 = load i32, i32* @errno
%461 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %460)
%462 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %2)
%463 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%464 = load i32, i32* %463
%465 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %464)
%466 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%467 = call i32 @chmod(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i64 0, i64 0), i32 511)
%468 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.36, i64 0, i64 0))
%469 = call i32 @mkdir(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.37, i64 0, i64 0), i32 511)
%470 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %469)
%471 = load i32, i32* @errno
%472 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %471)
%473 = call i32 @stat(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.37, i64 0, i64 0), %struct.stat* %2)
%474 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%475 = load i32, i32* %474
%476 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %475)
%477 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%478 = load i32, i32* %477
%479 = call i32 @S_ISBLK(i32 %478)
%480 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %479)
%481 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%482 = load i32, i32* %481
%483 = call i32 @S_ISCHR(i32 %482)
%484 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %483)
%485 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%486 = load i32, i32* %485
%487 = call i32 @S_ISDIR(i32 %486)
%488 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %487)
%489 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%490 = load i32, i32* %489
%491 = call i32 @S_ISFIFO(i32 %490)
%492 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %491)
%493 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%494 = load i32, i32* %493
%495 = call i32 @S_ISREG(i32 %494)
%496 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %495)
%497 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%498 = load i32, i32* %497
%499 = call i32 @S_ISLNK(i32 %498)
%500 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %499)
%501 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%502 = load i32, i32* %501
%503 = call i32 @S_ISSOCK(i32 %502)
%504 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %503)
%505 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%506 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.38, i64 0, i64 0))
%507 = load i32, i32* @S_IFREG
%508 = or i32 %507, 511
%509 = call i32 @mknod(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.39, i64 0, i64 0), i32 %508, i32 0)
%510 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %509)
%511 = load i32, i32* @errno
%512 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %511)
%513 = call i32 @stat(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.39, i64 0, i64 0), %struct.stat* %2)
%514 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%515 = load i32, i32* %514
%516 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %515)
%517 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%518 = load i32, i32* %517
%519 = call i32 @S_ISBLK(i32 %518)
%520 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %519)
%521 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%522 = load i32, i32* %521
%523 = call i32 @S_ISCHR(i32 %522)
%524 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %523)
%525 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%526 = load i32, i32* %525
%527 = call i32 @S_ISDIR(i32 %526)
%528 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %527)
%529 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%530 = load i32, i32* %529
%531 = call i32 @S_ISFIFO(i32 %530)
%532 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %531)
%533 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%534 = load i32, i32* %533
%535 = call i32 @S_ISREG(i32 %534)
%536 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %535)
%537 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%538 = load i32, i32* %537
%539 = call i32 @S_ISLNK(i32 %538)
%540 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %539)
%541 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%542 = load i32, i32* %541
%543 = call i32 @S_ISSOCK(i32 %542)
%544 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %543)
%545 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%546 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.40, i64 0, i64 0))
%547 = load i32, i32* @S_IFDIR
%548 = or i32 %547, 511
%549 = call i32 @mknod(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.41, i64 0, i64 0), i32 %548, i32 0)
%550 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %549)
%551 = load i32, i32* @errno
%552 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %551)
%553 = call i32 @stat(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.41, i64 0, i64 0), %struct.stat* %2)
%554 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%555 = load i32, i32* %554
%556 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %555)
%557 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%558 = load i32, i32* %557
%559 = call i32 @S_ISBLK(i32 %558)
%560 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %559)
%561 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%562 = load i32, i32* %561
%563 = call i32 @S_ISCHR(i32 %562)
%564 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %563)
%565 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%566 = load i32, i32* %565
%567 = call i32 @S_ISDIR(i32 %566)
%568 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %567)
%569 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%570 = load i32, i32* %569
%571 = call i32 @S_ISFIFO(i32 %570)
%572 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %571)
%573 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%574 = load i32, i32* %573
%575 = call i32 @S_ISREG(i32 %574)
%576 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %575)
%577 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%578 = load i32, i32* %577
%579 = call i32 @S_ISLNK(i32 %578)
%580 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %579)
%581 = getelementptr inbounds %struct.stat, %struct.stat* %2, i32 0, i32 2
%582 = load i32, i32* %581
%583 = call i32 @S_ISSOCK(i32 %582)
%584 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %583)
%585 = call i32 @memset(%struct.stat* %2, i32 0, i32 44)
%586 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.42, i64 0, i64 0))
%587 = load i32, i32* @S_IFIFO
%588 = or i32 %587, 511
%589 = call i32 @mknod(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.43, i64 0, i64 0), i32 %588, i32 0)
%590 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %589)
%591 = load i32, i32* @errno
%592 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %591)
%593 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.44, i64 0, i64 0))
%594 = load i32, i32* @S_IFCHR
%595 = or i32 %594, 511
%596 = call i32 @mknod(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.45, i64 0, i64 0), i32 %595, i32 123)
%597 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %596)
%598 = load i32, i32* @errno
%599 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %598)
%600 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.46, i64 0, i64 0))
%601 = call i32 @mkfifo(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.47, i64 0, i64 0), i32 511)
%602 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %601)
%603 = load i32, i32* @errno
%604 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %603)
ret i32 0
}

LLVM IR (-O2):
%struct.stat = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
@.str.1 = [9 x i8] c"ret: %d\0A\00"
@.str.2 = [6 x i8] c"/test\00"
@.str.3 = [11 x i8] c"errno: %d\0A\00"
@errno = global i32 0
@.str.4 = [13 x i8] c"st_dev: %lu\0A\00"
@.str.5 = [13 x i8] c"st_ino: %lu\0A\00"
@.str.6 = [14 x i8] c"st_mode: 0%o\0A\00"
@.str.7 = [14 x i8] c"st_nlink: %d\0A\00"
@.str.8 = [14 x i8] c"st_rdev: %lu\0A\00"
@.str.9 = [14 x i8] c"st_size: %ld\0A\00"
@.str.10 = [15 x i8] c"st_atime: %ld\0A\00"
@.str.11 = [15 x i8] c"st_mtime: %ld\0A\00"
@.str.12 = [15 x i8] c"st_ctime: %ld\0A\00"
@.str.13 = [17 x i8] c"st_blksize: %ld\0A\00"
@.str.14 = [16 x i8] c"st_blocks: %ld\0A\00"
@.str.15 = [13 x i8] c"S_ISBLK: %d\0A\00"
@.str.16 = [13 x i8] c"S_ISCHR: %d\0A\00"
@.str.17 = [13 x i8] c"S_ISDIR: %d\0A\00"
@.str.18 = [14 x i8] c"S_ISFIFO: %d\0A\00"
@.str.19 = [13 x i8] c"S_ISREG: %d\0A\00"
@.str.20 = [13 x i8] c"S_ISLNK: %d\0A\00"
@.str.21 = [14 x i8] c"S_ISSOCK: %d\0A\00"
@.str.23 = [11 x i8] c"/test/file\00"
@.str.25 = [13 x i8] c"/test/device\00"
@.str.27 = [11 x i8] c"/test/link\00"
@O_RDONLY = global i32 0
@.str.31 = [22 x i8] c"st_mtime changed: %d\0A\00"
@O_WRONLY = global i32 0
@.str.35 = [2 x i8] c"/\00"
@.str.37 = [12 x i8] c"/test-mkdir\00"
@.str.39 = [17 x i8] c"/test-mknod-file\00"
@S_IFREG = global i32 0
@.str.41 = [16 x i8] c"/test-mknod-dir\00"
@S_IFDIR = global i32 0
@.str.43 = [17 x i8] c"/test-mknod-fifo\00"
@S_IFIFO = global i32 0
@.str.45 = [19 x i8] c"/test-mknod-device\00"
@S_IFCHR = global i32 0
@.str.47 = [13 x i8] c"/test-mkfifo\00"
@str = [16 x i8] c"--stat FOLDER--\00"
@str.48 = [15 x i8] c"\0A--stat FILE--\00"
@str.49 = [17 x i8] c"\0A--stat DEVICE--\00"
@str.50 = [15 x i8] c"\0A--stat LINK--\00"
@str.51 = [16 x i8] c"\0A--lstat LINK--\00"
@str.52 = [16 x i8] c"\0A--fstat FILE--\00"
@str.53 = [16 x i8] c"\0A--chmod FILE--\00"
@str.54 = [17 x i8] c"\0A--fchmod FILE--\00"
@str.55 = [18 x i8] c"\0A--chmod FOLDER--\00"
@str.56 = [16 x i8] c"\0A--chmod LINK--\00"
@str.57 = [11 x i8] c"\0A--mkdir--\00"
@str.58 = [16 x i8] c"\0A--mknod FILE--\00"
@str.59 = [18 x i8] c"\0A--mknod FOLDER--\00"
@str.60 = [16 x i8] c"\0A--mknod FIFO--\00"
@str.61 = [18 x i8] c"\0A--mknod DEVICE--\00"
@str.62 = [12 x i8] c"\0A--mkfifo--\00"
define i32 @main() {
%1 = alloca %struct.stat
%2 = bitcast %struct.stat* %1 to i8*
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str, i64 0, i64 0))
%4 = call i32 @stat(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), %struct.stat* %1)
%5 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %4)
%6 = load i32, i32* @errno
%7 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %6)
%8 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 0
%9 = load i32, i32* %8
%10 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %9)
%11 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 1
%12 = load i32, i32* %11
%13 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %12)
%14 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 2
%15 = load i32, i32* %14
%16 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %15)
%17 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 3
%18 = load i32, i32* %17
%19 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %18)
%20 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 4
%21 = load i32, i32* %20
%22 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %21)
%23 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 5
%24 = load i32, i32* %23
%25 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %24)
%26 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 6
%27 = load i32, i32* %26
%28 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %27)
%29 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 7
%30 = load i32, i32* %29
%31 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %30)
%32 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 8
%33 = load i32, i32* %32
%34 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %33)
%35 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 9
%36 = load i32, i32* %35
%37 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %36)
%38 = getelementptr inbounds %struct.stat, %struct.stat* %1, i64 0, i32 10
%39 = load i32, i32* %38
%40 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %39)
%41 = tail call i32 @S_ISBLK(i32 %15)
%42 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %41)
%43 = tail call i32 @S_ISCHR(i32 %15)
%44 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %43)
%45 = tail call i32 @S_ISDIR(i32 %15)
%46 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %45)
%47 = tail call i32 @S_ISFIFO(i32 %15)
%48 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %47)
%49 = tail call i32 @S_ISREG(i32 %15)
%50 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %49)
%51 = tail call i32 @S_ISLNK(i32 %15)
%52 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %51)
%53 = tail call i32 @S_ISSOCK(i32 %15)
%54 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %53)
%55 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%56 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @str.48, i64 0, i64 0))
%57 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %1)
%58 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %57)
%59 = load i32, i32* @errno
%60 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %59)
%61 = load i32, i32* %8
%62 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %61)
%63 = load i32, i32* %11
%64 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %63)
%65 = load i32, i32* %14
%66 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %65)
%67 = load i32, i32* %17
%68 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %67)
%69 = load i32, i32* %20
%70 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %69)
%71 = load i32, i32* %23
%72 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %71)
%73 = load i32, i32* %26
%74 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %73)
%75 = load i32, i32* %29
%76 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %75)
%77 = load i32, i32* %32
%78 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %77)
%79 = load i32, i32* %35
%80 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %79)
%81 = load i32, i32* %38
%82 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %81)
%83 = load i32, i32* %14
%84 = call i32 @S_ISBLK(i32 %83)
%85 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %84)
%86 = load i32, i32* %14
%87 = call i32 @S_ISCHR(i32 %86)
%88 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %87)
%89 = load i32, i32* %14
%90 = call i32 @S_ISDIR(i32 %89)
%91 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %90)
%92 = load i32, i32* %14
%93 = call i32 @S_ISFIFO(i32 %92)
%94 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %93)
%95 = load i32, i32* %14
%96 = call i32 @S_ISREG(i32 %95)
%97 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %96)
%98 = load i32, i32* %14
%99 = call i32 @S_ISLNK(i32 %98)
%100 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %99)
%101 = load i32, i32* %14
%102 = call i32 @S_ISSOCK(i32 %101)
%103 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %102)
%104 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%105 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @str.49, i64 0, i64 0))
%106 = call i32 @stat(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.25, i64 0, i64 0), %struct.stat* %1)
%107 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %106)
%108 = load i32, i32* @errno
%109 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %108)
%110 = load i32, i32* %8
%111 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %110)
%112 = load i32, i32* %11
%113 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %112)
%114 = load i32, i32* %14
%115 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %114)
%116 = load i32, i32* %17
%117 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %116)
%118 = load i32, i32* %20
%119 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %118)
%120 = load i32, i32* %23
%121 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %120)
%122 = load i32, i32* %26
%123 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %122)
%124 = load i32, i32* %29
%125 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %124)
%126 = load i32, i32* %32
%127 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %126)
%128 = load i32, i32* %35
%129 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %128)
%130 = load i32, i32* %38
%131 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %130)
%132 = load i32, i32* %14
%133 = call i32 @S_ISBLK(i32 %132)
%134 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %133)
%135 = load i32, i32* %14
%136 = call i32 @S_ISCHR(i32 %135)
%137 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %136)
%138 = load i32, i32* %14
%139 = call i32 @S_ISDIR(i32 %138)
%140 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %139)
%141 = load i32, i32* %14
%142 = call i32 @S_ISFIFO(i32 %141)
%143 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %142)
%144 = load i32, i32* %14
%145 = call i32 @S_ISREG(i32 %144)
%146 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %145)
%147 = load i32, i32* %14
%148 = call i32 @S_ISLNK(i32 %147)
%149 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %148)
%150 = load i32, i32* %14
%151 = call i32 @S_ISSOCK(i32 %150)
%152 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %151)
%153 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%154 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @str.50, i64 0, i64 0))
%155 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), %struct.stat* %1)
%156 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %155)
%157 = load i32, i32* @errno
%158 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %157)
%159 = load i32, i32* %8
%160 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %159)
%161 = load i32, i32* %11
%162 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %161)
%163 = load i32, i32* %14
%164 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %163)
%165 = load i32, i32* %17
%166 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %165)
%167 = load i32, i32* %20
%168 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %167)
%169 = load i32, i32* %23
%170 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %169)
%171 = load i32, i32* %26
%172 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %171)
%173 = load i32, i32* %29
%174 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %173)
%175 = load i32, i32* %32
%176 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %175)
%177 = load i32, i32* %35
%178 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %177)
%179 = load i32, i32* %38
%180 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %179)
%181 = load i32, i32* %14
%182 = call i32 @S_ISBLK(i32 %181)
%183 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %182)
%184 = load i32, i32* %14
%185 = call i32 @S_ISCHR(i32 %184)
%186 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %185)
%187 = load i32, i32* %14
%188 = call i32 @S_ISDIR(i32 %187)
%189 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %188)
%190 = load i32, i32* %14
%191 = call i32 @S_ISFIFO(i32 %190)
%192 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %191)
%193 = load i32, i32* %14
%194 = call i32 @S_ISREG(i32 %193)
%195 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %194)
%196 = load i32, i32* %14
%197 = call i32 @S_ISLNK(i32 %196)
%198 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %197)
%199 = load i32, i32* %14
%200 = call i32 @S_ISSOCK(i32 %199)
%201 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %200)
%202 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%203 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.51, i64 0, i64 0))
%204 = call i32 @lstat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), %struct.stat* %1)
%205 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %204)
%206 = load i32, i32* @errno
%207 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %206)
%208 = load i32, i32* %8
%209 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %208)
%210 = load i32, i32* %11
%211 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %210)
%212 = load i32, i32* %14
%213 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %212)
%214 = load i32, i32* %17
%215 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %214)
%216 = load i32, i32* %20
%217 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %216)
%218 = load i32, i32* %23
%219 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %218)
%220 = load i32, i32* %26
%221 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %220)
%222 = load i32, i32* %29
%223 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %222)
%224 = load i32, i32* %32
%225 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %224)
%226 = load i32, i32* %35
%227 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %226)
%228 = load i32, i32* %38
%229 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %228)
%230 = load i32, i32* %14
%231 = call i32 @S_ISBLK(i32 %230)
%232 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %231)
%233 = load i32, i32* %14
%234 = call i32 @S_ISCHR(i32 %233)
%235 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %234)
%236 = load i32, i32* %14
%237 = call i32 @S_ISDIR(i32 %236)
%238 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %237)
%239 = load i32, i32* %14
%240 = call i32 @S_ISFIFO(i32 %239)
%241 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %240)
%242 = load i32, i32* %14
%243 = call i32 @S_ISREG(i32 %242)
%244 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %243)
%245 = load i32, i32* %14
%246 = call i32 @S_ISLNK(i32 %245)
%247 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %246)
%248 = load i32, i32* %14
%249 = call i32 @S_ISSOCK(i32 %248)
%250 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %249)
%251 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%252 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.52, i64 0, i64 0))
%253 = load i32, i32* @O_RDONLY
%254 = call i32 @open(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), i32 %253, i32 511)
%255 = call i32 @fstat(i32 %254, %struct.stat* %1)
%256 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %255)
%257 = load i32, i32* @errno
%258 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %257)
%259 = load i32, i32* %8
%260 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i32 %259)
%261 = load i32, i32* %11
%262 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i32 %261)
%263 = load i32, i32* %14
%264 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %263)
%265 = load i32, i32* %17
%266 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7, i64 0, i64 0), i32 %265)
%267 = load i32, i32* %20
%268 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), i32 %267)
%269 = load i32, i32* %23
%270 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i32 %269)
%271 = load i32, i32* %26
%272 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i32 %271)
%273 = load i32, i32* %29
%274 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.11, i64 0, i64 0), i32 %273)
%275 = load i32, i32* %32
%276 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.12, i64 0, i64 0), i32 %275)
%277 = load i32, i32* %35
%278 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0), i32 %277)
%279 = load i32, i32* %38
%280 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i32 %279)
%281 = load i32, i32* %14
%282 = call i32 @S_ISBLK(i32 %281)
%283 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %282)
%284 = load i32, i32* %14
%285 = call i32 @S_ISCHR(i32 %284)
%286 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %285)
%287 = load i32, i32* %14
%288 = call i32 @S_ISDIR(i32 %287)
%289 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %288)
%290 = load i32, i32* %14
%291 = call i32 @S_ISFIFO(i32 %290)
%292 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %291)
%293 = load i32, i32* %14
%294 = call i32 @S_ISREG(i32 %293)
%295 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %294)
%296 = load i32, i32* %14
%297 = call i32 @S_ISLNK(i32 %296)
%298 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %297)
%299 = load i32, i32* %14
%300 = call i32 @S_ISSOCK(i32 %299)
%301 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %300)
%302 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%303 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.53, i64 0, i64 0))
%304 = call i32 @chmod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), i32 128)
%305 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %304)
%306 = load i32, i32* @errno
%307 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %306)
%308 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %1)
%309 = load i32, i32* %14
%310 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %309)
%311 = load i32, i32* %29
%312 = icmp ne i32 %311, 1200000000
%313 = zext i1 %312 to i32
%314 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @.str.31, i64 0, i64 0), i32 %313)
%315 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%316 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @str.54, i64 0, i64 0))
%317 = load i32, i32* @O_WRONLY
%318 = call i32 @open(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), i32 %317, i32 511)
%319 = call i32 @fchmod(i32 %318, i32 511)
%320 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %319)
%321 = load i32, i32* @errno
%322 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %321)
%323 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %1)
%324 = load i32, i32* %14
%325 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %324)
%326 = load i32, i32* %29
%327 = icmp ne i32 %326, 1200000000
%328 = zext i1 %327 to i32
%329 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @.str.31, i64 0, i64 0), i32 %328)
%330 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%331 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.55, i64 0, i64 0))
%332 = call i32 @chmod(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), i32 256)
%333 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %332)
%334 = load i32, i32* @errno
%335 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %334)
%336 = call i32 @stat(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), %struct.stat* %1)
%337 = load i32, i32* %14
%338 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %337)
%339 = load i32, i32* %29
%340 = icmp ne i32 %339, 1200000000
%341 = zext i1 %340 to i32
%342 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @.str.31, i64 0, i64 0), i32 %341)
%343 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%344 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.56, i64 0, i64 0))
%345 = call i32 @chmod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), i32 0)
%346 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %345)
%347 = load i32, i32* @errno
%348 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %347)
%349 = call i32 @stat(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), %struct.stat* %1)
%350 = load i32, i32* %14
%351 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %350)
%352 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%353 = call i32 @chmod(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i64 0, i64 0), i32 511)
%354 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @str.57, i64 0, i64 0))
%355 = call i32 @mkdir(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.37, i64 0, i64 0), i32 511)
%356 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %355)
%357 = load i32, i32* @errno
%358 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %357)
%359 = call i32 @stat(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.37, i64 0, i64 0), %struct.stat* %1)
%360 = load i32, i32* %14
%361 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %360)
%362 = load i32, i32* %14
%363 = call i32 @S_ISBLK(i32 %362)
%364 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %363)
%365 = load i32, i32* %14
%366 = call i32 @S_ISCHR(i32 %365)
%367 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %366)
%368 = load i32, i32* %14
%369 = call i32 @S_ISDIR(i32 %368)
%370 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %369)
%371 = load i32, i32* %14
%372 = call i32 @S_ISFIFO(i32 %371)
%373 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %372)
%374 = load i32, i32* %14
%375 = call i32 @S_ISREG(i32 %374)
%376 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %375)
%377 = load i32, i32* %14
%378 = call i32 @S_ISLNK(i32 %377)
%379 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %378)
%380 = load i32, i32* %14
%381 = call i32 @S_ISSOCK(i32 %380)
%382 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %381)
%383 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%384 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.58, i64 0, i64 0))
%385 = load i32, i32* @S_IFREG
%386 = or i32 %385, 511
%387 = call i32 @mknod(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.39, i64 0, i64 0), i32 %386, i32 0)
%388 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %387)
%389 = load i32, i32* @errno
%390 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %389)
%391 = call i32 @stat(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.39, i64 0, i64 0), %struct.stat* %1)
%392 = load i32, i32* %14
%393 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %392)
%394 = load i32, i32* %14
%395 = call i32 @S_ISBLK(i32 %394)
%396 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %395)
%397 = load i32, i32* %14
%398 = call i32 @S_ISCHR(i32 %397)
%399 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %398)
%400 = load i32, i32* %14
%401 = call i32 @S_ISDIR(i32 %400)
%402 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %401)
%403 = load i32, i32* %14
%404 = call i32 @S_ISFIFO(i32 %403)
%405 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %404)
%406 = load i32, i32* %14
%407 = call i32 @S_ISREG(i32 %406)
%408 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %407)
%409 = load i32, i32* %14
%410 = call i32 @S_ISLNK(i32 %409)
%411 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %410)
%412 = load i32, i32* %14
%413 = call i32 @S_ISSOCK(i32 %412)
%414 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %413)
%415 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%416 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.59, i64 0, i64 0))
%417 = load i32, i32* @S_IFDIR
%418 = or i32 %417, 511
%419 = call i32 @mknod(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.41, i64 0, i64 0), i32 %418, i32 0)
%420 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %419)
%421 = load i32, i32* @errno
%422 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %421)
%423 = call i32 @stat(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.41, i64 0, i64 0), %struct.stat* %1)
%424 = load i32, i32* %14
%425 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i32 %424)
%426 = load i32, i32* %14
%427 = call i32 @S_ISBLK(i32 %426)
%428 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i32 %427)
%429 = load i32, i32* %14
%430 = call i32 @S_ISCHR(i32 %429)
%431 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0), i32 %430)
%432 = load i32, i32* %14
%433 = call i32 @S_ISDIR(i32 %432)
%434 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0), i32 %433)
%435 = load i32, i32* %14
%436 = call i32 @S_ISFIFO(i32 %435)
%437 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i32 %436)
%438 = load i32, i32* %14
%439 = call i32 @S_ISREG(i32 %438)
%440 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0), i32 %439)
%441 = load i32, i32* %14
%442 = call i32 @S_ISLNK(i32 %441)
%443 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20, i64 0, i64 0), i32 %442)
%444 = load i32, i32* %14
%445 = call i32 @S_ISSOCK(i32 %444)
%446 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.21, i64 0, i64 0), i32 %445)
%447 = call i32 @memset(%struct.stat* %1, i32 0, i32 44)
%448 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.60, i64 0, i64 0))
%449 = load i32, i32* @S_IFIFO
%450 = or i32 %449, 511
%451 = call i32 @mknod(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.43, i64 0, i64 0), i32 %450, i32 0)
%452 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %451)
%453 = load i32, i32* @errno
%454 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %453)
%455 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str.61, i64 0, i64 0))
%456 = load i32, i32* @S_IFCHR
%457 = or i32 %456, 511
%458 = call i32 @mknod(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.45, i64 0, i64 0), i32 %457, i32 123)
%459 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %458)
%460 = load i32, i32* @errno
%461 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %460)
%462 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @str.62, i64 0, i64 0))
%463 = call i32 @mkfifo(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.47, i64 0, i64 0), i32 511)
%464 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %463)
%465 = load i32, i32* @errno
%466 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i32 %465)
ret i32 0
}