#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int EXIT_SUCCESS;
int /*<<< orphan*/ MS_MGC_VAL;
int S_IFCHR;
int S_IRGRP;
int S_IROTH;
int S_IRUSR;
int S_IWGRP;
int S_IWOTH;
int S_IWUSR;
int /*<<< orphan*/ makedev(int, int);
int /*<<< orphan*/ mkdir(char *, int);
int /*<<< orphan*/ mknod(char *, int, int /*<<< orphan*/);
int /*<<< orphan*/ mount(char *, char *, char *, int /*<<< orphan*/,
                         int /*<<< orphan*/ *);
int utils_make_preboot_dirs(void) {
  char buf[32];
  mkdir("/proc", 0555);
  mount("proc", "/proc", "proc", MS_MGC_VAL, NULL);
  mkdir("/sys", 0755);
  mount("sysfs", "/sys", "sysfs", MS_MGC_VAL, NULL);
  mkdir("/dev", 0755);
  mount("devfs", "/dev", "tmpfs", MS_MGC_VAL, NULL);
  mkdir("/dev/shm", 0777);
  mkdir("/dev/pts", 0777);
  mount("devpts", "/dev/pts", "devpts", MS_MGC_VAL, NULL);
  mknod("/dev/console", S_IRUSR | S_IWUSR | S_IFCHR, makedev(5, 1));
  mknod("/dev/null",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(1, 3));
  mknod("/dev/kmsg", S_IRUSR | S_IWUSR | S_IFCHR, makedev(1, 11));
  mknod("/dev/tty0",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 0));
  mknod("/dev/tty1",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 1));
  mknod("/dev/tty2",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 2));
  mknod("/dev/tty3",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 3));
  mknod("/dev/tty4",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 4));
  mknod("/dev/tty5",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 5));
  mknod("/dev/tty6",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 6));
  mknod("/dev/ttyS0",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 64));
  mknod("/dev/ttyS1",
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_IFCHR,
        makedev(4, 65));
  mkdir("/etc", 0755);
  mount("tmpfs", "/etc", "tmpfs", MS_MGC_VAL, NULL);
  mkdir("/boot", 0777);
  mkdir("/data", 0777);
  mkdir("/var", 0777);
  mkdir("/var/lock", 0777);
  mkdir("/var/log", 0777);
  mkdir("/var/run", 0777);
  mkdir("/var/tmp", 0777);
  mkdir("/var/lib", 0777);
  mkdir("/var/lib/misc", 0777);
  mkdir("/home", 0755);
  mkdir("/root", 0755);
  return (EXIT_SUCCESS);
}


x86 assembly (clang, -O0):
<utils_make_preboot_dirs>:
push   %rbp
mov    %rsp,%rbp
sub    $0x50,%rsp
lea    0xeb1(%rip),%rdi
mov    $0x16d,%esi
call   1030 <mkdir@plt>
mov    0x2e68(%rip),%rax
mov    (%rax),%ecx
lea    0xe98(%rip),%rdx
lea    0xe90(%rip),%rsi
xor    %eax,%eax
mov    %eax,%r8d
mov    %rdx,%rdi
call   1040 <mount@plt>
lea    0xe82(%rip),%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x2e33(%rip),%rax
mov    (%rax),%ecx
lea    0xe6d(%rip),%rdx
lea    0xe61(%rip),%rsi
xor    %eax,%eax
mov    %eax,%r8d
mov    %rdx,%rdi
call   1040 <mount@plt>
lea    0xe58(%rip),%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x2dfe(%rip),%rax
mov    (%rax),%ecx
lea    0xe43(%rip),%rdi
lea    0xe37(%rip),%rsi
lea    0xe3b(%rip),%rdx
xor    %eax,%eax
mov    %eax,%r8d
call   1040 <mount@plt>
lea    0xe30(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xe28(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
mov    0x2db4(%rip),%rax
mov    (%rax),%ecx
lea    0xe17(%rip),%rdx
lea    0xe07(%rip),%rsi
xor    %eax,%eax
mov    %eax,%r8d
mov    %rdx,%rdi
call   1040 <mount@plt>
mov    0x2d78(%rip),%rax
mov    (%rax),%eax
mov    0x2d9f(%rip),%rcx
or     (%rcx),%eax
mov    0x2d86(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x50(%rbp)
mov    $0x5,%edi
mov    $0x1,%esi
call   1060 <makedev@plt>
mov    -0x50(%rbp),%esi
mov    %eax,%edx
lea    0xdd1(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2d3a(%rip),%rax
mov    (%rax),%eax
mov    0x2d61(%rip),%rcx
or     (%rcx),%eax
mov    0x2d38(%rip),%rcx
or     (%rcx),%eax
mov    0x2d57(%rip),%rcx
or     (%rcx),%eax
mov    0x2d1e(%rip),%rcx
or     (%rcx),%eax
mov    0x2cf5(%rip),%rcx
or     (%rcx),%eax
mov    0x2d24(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x4c(%rbp)
mov    $0x1,%edi
mov    $0x3,%esi
call   1060 <makedev@plt>
mov    -0x4c(%rbp),%esi
mov    %eax,%edx
lea    0xd7c(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2cd8(%rip),%rax
mov    (%rax),%eax
mov    0x2cff(%rip),%rcx
or     (%rcx),%eax
mov    0x2ce6(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x48(%rbp)
mov    $0x1,%edi
mov    $0xb,%esi
call   1060 <makedev@plt>
mov    -0x48(%rbp),%esi
mov    %eax,%edx
lea    0xd48(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2c9a(%rip),%rax
mov    (%rax),%eax
mov    0x2cc1(%rip),%rcx
or     (%rcx),%eax
mov    0x2c98(%rip),%rcx
or     (%rcx),%eax
mov    0x2cb7(%rip),%rcx
or     (%rcx),%eax
mov    0x2c7e(%rip),%rcx
or     (%rcx),%eax
mov    0x2c55(%rip),%rcx
or     (%rcx),%eax
mov    0x2c84(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x44(%rbp)
mov    $0x4,%edi
xor    %esi,%esi
call   1060 <makedev@plt>
mov    -0x44(%rbp),%esi
mov    %eax,%edx
lea    0xcf3(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2c3b(%rip),%rax
mov    (%rax),%eax
mov    0x2c62(%rip),%rcx
or     (%rcx),%eax
mov    0x2c39(%rip),%rcx
or     (%rcx),%eax
mov    0x2c58(%rip),%rcx
or     (%rcx),%eax
mov    0x2c1f(%rip),%rcx
or     (%rcx),%eax
mov    0x2bf6(%rip),%rcx
or     (%rcx),%eax
mov    0x2c25(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x40(%rbp)
mov    $0x4,%edi
mov    $0x1,%esi
call   1060 <makedev@plt>
mov    -0x40(%rbp),%esi
mov    %eax,%edx
lea    0xc9b(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2bd9(%rip),%rax
mov    (%rax),%eax
mov    0x2c00(%rip),%rcx
or     (%rcx),%eax
mov    0x2bd7(%rip),%rcx
or     (%rcx),%eax
mov    0x2bf6(%rip),%rcx
or     (%rcx),%eax
mov    0x2bbd(%rip),%rcx
or     (%rcx),%eax
mov    0x2b94(%rip),%rcx
or     (%rcx),%eax
mov    0x2bc3(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x3c(%rbp)
mov    $0x4,%edi
mov    $0x2,%esi
call   1060 <makedev@plt>
mov    -0x3c(%rbp),%esi
mov    %eax,%edx
lea    0xc43(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2b77(%rip),%rax
mov    (%rax),%eax
mov    0x2b9e(%rip),%rcx
or     (%rcx),%eax
mov    0x2b75(%rip),%rcx
or     (%rcx),%eax
mov    0x2b94(%rip),%rcx
or     (%rcx),%eax
mov    0x2b5b(%rip),%rcx
or     (%rcx),%eax
mov    0x2b32(%rip),%rcx
or     (%rcx),%eax
mov    0x2b61(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x38(%rbp)
mov    $0x4,%edi
mov    $0x3,%esi
call   1060 <makedev@plt>
mov    -0x38(%rbp),%esi
mov    %eax,%edx
lea    0xbeb(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2b15(%rip),%rax
mov    (%rax),%eax
mov    0x2b3c(%rip),%rcx
or     (%rcx),%eax
mov    0x2b13(%rip),%rcx
or     (%rcx),%eax
mov    0x2b32(%rip),%rcx
or     (%rcx),%eax
mov    0x2af9(%rip),%rcx
or     (%rcx),%eax
mov    0x2ad0(%rip),%rcx
or     (%rcx),%eax
mov    0x2aff(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x34(%rbp)
mov    $0x4,%esi
mov    %esi,%edi
call   1060 <makedev@plt>
mov    -0x34(%rbp),%esi
mov    %eax,%edx
lea    0xb96(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2ab6(%rip),%rax
mov    (%rax),%eax
mov    0x2add(%rip),%rcx
or     (%rcx),%eax
mov    0x2ab4(%rip),%rcx
or     (%rcx),%eax
mov    0x2ad3(%rip),%rcx
or     (%rcx),%eax
mov    0x2a9a(%rip),%rcx
or     (%rcx),%eax
mov    0x2a71(%rip),%rcx
or     (%rcx),%eax
mov    0x2aa0(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x30(%rbp)
mov    $0x4,%edi
mov    $0x5,%esi
call   1060 <makedev@plt>
mov    -0x30(%rbp),%esi
mov    %eax,%edx
lea    0xb3e(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2a54(%rip),%rax
mov    (%rax),%eax
mov    0x2a7b(%rip),%rcx
or     (%rcx),%eax
mov    0x2a52(%rip),%rcx
or     (%rcx),%eax
mov    0x2a71(%rip),%rcx
or     (%rcx),%eax
mov    0x2a38(%rip),%rcx
or     (%rcx),%eax
mov    0x2a0f(%rip),%rcx
or     (%rcx),%eax
mov    0x2a3e(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x2c(%rbp)
mov    $0x4,%edi
mov    $0x6,%esi
call   1060 <makedev@plt>
mov    -0x2c(%rbp),%esi
mov    %eax,%edx
lea    0xae6(%rip),%rdi
call   1050 <mknod@plt>
mov    0x29f2(%rip),%rax
mov    (%rax),%eax
mov    0x2a19(%rip),%rcx
or     (%rcx),%eax
mov    0x29f0(%rip),%rcx
or     (%rcx),%eax
mov    0x2a0f(%rip),%rcx
or     (%rcx),%eax
mov    0x29d6(%rip),%rcx
or     (%rcx),%eax
mov    0x29ad(%rip),%rcx
or     (%rcx),%eax
mov    0x29dc(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x28(%rbp)
mov    $0x4,%edi
mov    $0x40,%esi
call   1060 <makedev@plt>
mov    -0x28(%rbp),%esi
mov    %eax,%edx
lea    0xa8e(%rip),%rdi
call   1050 <mknod@plt>
mov    0x2990(%rip),%rax
mov    (%rax),%eax
mov    0x29b7(%rip),%rcx
or     (%rcx),%eax
mov    0x298e(%rip),%rcx
or     (%rcx),%eax
mov    0x29ad(%rip),%rcx
or     (%rcx),%eax
mov    0x2974(%rip),%rcx
or     (%rcx),%eax
mov    0x294b(%rip),%rcx
or     (%rcx),%eax
mov    0x297a(%rip),%rcx
or     (%rcx),%eax
mov    %eax,-0x24(%rbp)
mov    $0x4,%edi
mov    $0x41,%esi
call   1060 <makedev@plt>
mov    -0x24(%rbp),%esi
mov    %eax,%edx
lea    0xa37(%rip),%rdi
call   1050 <mknod@plt>
lea    0xa36(%rip),%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x2935(%rip),%rax
mov    (%rax),%ecx
lea    0x980(%rip),%rdx
lea    0xa15(%rip),%rsi
xor    %eax,%eax
mov    %eax,%r8d
mov    %rdx,%rdi
call   1040 <mount@plt>
lea    0xa06(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9fb(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9f0(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9e4(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9dd(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9d5(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9cd(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9c5(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9bd(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0x9ba(%rip),%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
lea    0x9af(%rip),%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x2836(%rip),%rax
mov    (%rax),%eax
add    $0x50,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<utils_make_preboot_dirs>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
push   %rax
lea    0xeae(%rip),%rbx
mov    %rbx,%rdi
mov    $0x16d,%esi
call   1030 <mkdir@plt>
mov    0x2e62(%rip),%rax
mov    (%rax),%ecx
mov    %rax,%rbp
lea    0xe8f(%rip),%rdi
mov    %rbx,%rsi
mov    %rdi,%rdx
xor    %r8d,%r8d
call   1040 <mount@plt>
lea    0xe7f(%rip),%rbx
mov    %rbx,%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x0(%rbp),%ecx
lea    0xe6d(%rip),%rdi
mov    %rbx,%rsi
mov    %rdi,%rdx
xor    %r8d,%r8d
call   1040 <mount@plt>
lea    0xe5e(%rip),%rbx
mov    %rbx,%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x0(%rbp),%ecx
lea    0xe4c(%rip),%rdi
lea    0xe4b(%rip),%rdx
mov    %rbx,%rsi
xor    %r8d,%r8d
call   1040 <mount@plt>
lea    0xe3f(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xe37(%rip),%rbx
mov    %rbx,%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
mov    0x0(%rbp),%ecx
lea    0xe29(%rip),%rdi
mov    %rbx,%rsi
mov    %rdi,%rdx
xor    %r8d,%r8d
call   1040 <mount@plt>
mov    0x2d90(%rip),%rax
mov    0x2db9(%rip),%r12
mov    (%r12),%ebx
or     (%rax),%ebx
mov    %rax,%rbp
mov    0x2d99(%rip),%r15
or     (%r15),%ebx
mov    $0x5,%edi
mov    $0x1,%esi
call   1060 <makedev@plt>
lea    0xdeb(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    (%r12),%ebx
or     0x0(%rbp),%ebx
mov    0x2d59(%rip),%r13
or     0x0(%r13),%ebx
mov    0x2d76(%rip),%rax
or     (%rax),%ebx
mov    0x2d3d(%rip),%rax
or     (%rax),%ebx
mov    0x2d14(%rip),%rax
or     (%rax),%ebx
or     (%r15),%ebx
mov    $0x1,%edi
mov    $0x3,%esi
call   1060 <makedev@plt>
lea    0xda9(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    (%r12),%ebx
or     0x0(%rbp),%ebx
or     (%r15),%ebx
mov    $0x1,%edi
mov    $0xb,%esi
call   1060 <makedev@plt>
lea    0xd8a(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    (%r12),%ebx
or     0x0(%rbp),%ebx
or     0x0(%r13),%ebx
mov    %r13,%r14
mov    0x2d02(%rip),%rbp
or     0x0(%rbp),%ebx
mov    0x2cc8(%rip),%rax
or     (%rax),%ebx
mov    0x2c9f(%rip),%rax
or     (%rax),%ebx
or     (%r15),%ebx
mov    $0x4,%edi
xor    %esi,%esi
call   1060 <makedev@plt>
lea    0xd4b(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    (%r12),%ebx
mov    %r12,%r13
mov    0x2c88(%rip),%rax
or     (%rax),%ebx
or     (%r14),%ebx
mov    %r14,%r12
or     0x0(%rbp),%ebx
mov    0x2c7e(%rip),%r14
or     (%r14),%ebx
mov    0x2c54(%rip),%r15
or     (%r15),%ebx
mov    0x2c82(%rip),%rax
or     (%rax),%ebx
mov    $0x4,%edi
mov    $0x1,%esi
call   1060 <makedev@plt>
lea    0xd00(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    0x0(%r13),%ebx
mov    0x2c36(%rip),%rax
or     (%rax),%ebx
or     (%r12),%ebx
mov    %r12,%r13
or     0x0(%rbp),%ebx
or     (%r14),%ebx
or     (%r15),%ebx
mov    0x2c3d(%rip),%rax
or     (%rax),%ebx
mov    $0x4,%edi
mov    $0x2,%esi
call   1060 <makedev@plt>
lea    0xcc5(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    0x2c25(%rip),%r12
mov    (%r12),%ebx
mov    0x2bea(%rip),%rax
or     (%rax),%ebx
or     0x0(%r13),%ebx
mov    %r13,%r15
or     0x0(%rbp),%ebx
or     (%r14),%ebx
mov    %r14,%r13
mov    0x2bb9(%rip),%rbp
or     0x0(%rbp),%ebx
mov    0x2be7(%rip),%r14
or     (%r14),%ebx
mov    $0x4,%edi
mov    $0x3,%esi
call   1060 <makedev@plt>
lea    0xc78(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    (%r12),%ebx
mov    0x2b9a(%rip),%rax
or     (%rax),%ebx
or     (%r15),%ebx
mov    0x2bc6(%rip),%r15
or     (%r15),%ebx
or     0x0(%r13),%ebx
or     0x0(%rbp),%ebx
or     (%r14),%ebx
mov    %r14,%r13
mov    $0x4,%edi
mov    $0x4,%esi
call   1060 <makedev@plt>
lea    0xc3c(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    (%r12),%ebx
mov    %r12,%r14
mov    0x2b51(%rip),%rbp
or     0x0(%rbp),%ebx
mov    0x2b57(%rip),%r12
or     (%r12),%ebx
or     (%r15),%ebx
mov    0x2b41(%rip),%r15
or     (%r15),%ebx
mov    0x2b17(%rip),%rax
or     (%rax),%ebx
or     0x0(%r13),%ebx
mov    $0x4,%edi
mov    $0x5,%esi
call   1060 <makedev@plt>
lea    0xbf1(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    (%r14),%ebx
or     0x0(%rbp),%ebx
or     (%r12),%ebx
mov    0x2b31(%rip),%r14
or     (%r14),%ebx
or     (%r15),%ebx
mov    0x2ad4(%rip),%rax
or     (%rax),%ebx
or     0x0(%r13),%ebx
mov    $0x4,%edi
mov    $0x6,%esi
call   1060 <makedev@plt>
lea    0xbb8(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    0x2af0(%rip),%rax
mov    (%rax),%ebx
or     0x0(%rbp),%ebx
or     (%r12),%ebx
or     (%r14),%ebx
or     (%r15),%ebx
mov    0x2a92(%rip),%rax
or     (%rax),%ebx
or     0x0(%r13),%ebx
mov    $0x4,%edi
mov    $0x40,%esi
call   1060 <makedev@plt>
lea    0xb80(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
mov    0x2aae(%rip),%rax
mov    (%rax),%ebx
or     0x0(%rbp),%ebx
or     (%r12),%ebx
or     (%r14),%ebx
or     (%r15),%ebx
mov    0x2a50(%rip),%rax
or     (%rax),%ebx
or     0x0(%r13),%ebx
mov    $0x4,%edi
mov    $0x41,%esi
call   1060 <makedev@plt>
lea    0xb49(%rip),%rdi
mov    %ebx,%esi
mov    %eax,%edx
call   1050 <mknod@plt>
lea    0xb44(%rip),%rbx
mov    %rbx,%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x2a40(%rip),%rax
mov    (%rax),%ecx
lea    0xa8b(%rip),%rdi
mov    %rbx,%rsi
mov    %rdi,%rdx
xor    %r8d,%r8d
call   1040 <mount@plt>
lea    0xb17(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xb0c(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xb01(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xaf5(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xaee(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xae6(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xade(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xad6(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xace(%rip),%rdi
mov    $0x1ff,%esi
call   1030 <mkdir@plt>
lea    0xacb(%rip),%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
lea    0xac0(%rip),%rdi
mov    $0x1ed,%esi
call   1030 <mkdir@plt>
mov    0x2947(%rip),%rax
mov    (%rax),%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [6 x i8] c"/proc\00"
@.str.1 = [5 x i8] c"proc\00"
@MS_MGC_VAL = global i32 0
@.str.2 = [5 x i8] c"/sys\00"
@.str.3 = [6 x i8] c"sysfs\00"
@.str.4 = [5 x i8] c"/dev\00"
@.str.5 = [6 x i8] c"devfs\00"
@.str.6 = [6 x i8] c"tmpfs\00"
@.str.7 = [9 x i8] c"/dev/shm\00"
@.str.8 = [9 x i8] c"/dev/pts\00"
@.str.9 = [7 x i8] c"devpts\00"
@.str.10 = [13 x i8] c"/dev/console\00"
@S_IRUSR = global i32 0
@S_IWUSR = global i32 0
@S_IFCHR = global i32 0
@.str.11 = [10 x i8] c"/dev/null\00"
@S_IRGRP = global i32 0
@S_IWGRP = global i32 0
@S_IROTH = global i32 0
@S_IWOTH = global i32 0
@.str.12 = [10 x i8] c"/dev/kmsg\00"
@.str.13 = [10 x i8] c"/dev/tty0\00"
@.str.14 = [10 x i8] c"/dev/tty1\00"
@.str.15 = [10 x i8] c"/dev/tty2\00"
@.str.16 = [10 x i8] c"/dev/tty3\00"
@.str.17 = [10 x i8] c"/dev/tty4\00"
@.str.18 = [10 x i8] c"/dev/tty5\00"
@.str.19 = [10 x i8] c"/dev/tty6\00"
@.str.20 = [11 x i8] c"/dev/ttyS0\00"
@.str.21 = [11 x i8] c"/dev/ttyS1\00"
@.str.22 = [5 x i8] c"/etc\00"
@.str.23 = [6 x i8] c"/boot\00"
@.str.24 = [6 x i8] c"/data\00"
@.str.25 = [5 x i8] c"/var\00"
@.str.26 = [10 x i8] c"/var/lock\00"
@.str.27 = [9 x i8] c"/var/log\00"
@.str.28 = [9 x i8] c"/var/run\00"
@.str.29 = [9 x i8] c"/var/tmp\00"
@.str.30 = [9 x i8] c"/var/lib\00"
@.str.31 = [14 x i8] c"/var/lib/misc\00"
@.str.32 = [6 x i8] c"/home\00"
@.str.33 = [6 x i8] c"/root\00"
@EXIT_SUCCESS = global i32 0
define i32 @utils_make_preboot_dirs() {
%1 = alloca [32 x i8]
%2 = call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i32 365)
%3 = load i32, i32* @MS_MGC_VAL
%4 = call i32 @mount(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %3, i32* null)
%5 = call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), i32 493)
%6 = load i32, i32* @MS_MGC_VAL
%7 = call i32 @mount(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), i32 %6, i32* null)
%8 = call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i32 493)
%9 = load i32, i32* @MS_MGC_VAL
%10 = call i32 @mount(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0), i32 %9, i32* null)
%11 = call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0), i32 511)
%12 = call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i32 511)
%13 = load i32, i32* @MS_MGC_VAL
%14 = call i32 @mount(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.9, i64 0, i64 0), i32 %13, i32* null)
%15 = load i32, i32* @S_IRUSR
%16 = load i32, i32* @S_IWUSR
%17 = or i32 %15, %16
%18 = load i32, i32* @S_IFCHR
%19 = or i32 %17, %18
%20 = call i32 @makedev(i32 5, i32 1)
%21 = call i32 @mknod(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.10, i64 0, i64 0), i32 %19, i32 %20)
%22 = load i32, i32* @S_IRUSR
%23 = load i32, i32* @S_IWUSR
%24 = or i32 %22, %23
%25 = load i32, i32* @S_IRGRP
%26 = or i32 %24, %25
%27 = load i32, i32* @S_IWGRP
%28 = or i32 %26, %27
%29 = load i32, i32* @S_IROTH
%30 = or i32 %28, %29
%31 = load i32, i32* @S_IWOTH
%32 = or i32 %30, %31
%33 = load i32, i32* @S_IFCHR
%34 = or i32 %32, %33
%35 = call i32 @makedev(i32 1, i32 3)
%36 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.11, i64 0, i64 0), i32 %34, i32 %35)
%37 = load i32, i32* @S_IRUSR
%38 = load i32, i32* @S_IWUSR
%39 = or i32 %37, %38
%40 = load i32, i32* @S_IFCHR
%41 = or i32 %39, %40
%42 = call i32 @makedev(i32 1, i32 11)
%43 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.12, i64 0, i64 0), i32 %41, i32 %42)
%44 = load i32, i32* @S_IRUSR
%45 = load i32, i32* @S_IWUSR
%46 = or i32 %44, %45
%47 = load i32, i32* @S_IRGRP
%48 = or i32 %46, %47
%49 = load i32, i32* @S_IWGRP
%50 = or i32 %48, %49
%51 = load i32, i32* @S_IROTH
%52 = or i32 %50, %51
%53 = load i32, i32* @S_IWOTH
%54 = or i32 %52, %53
%55 = load i32, i32* @S_IFCHR
%56 = or i32 %54, %55
%57 = call i32 @makedev(i32 4, i32 0)
%58 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13, i64 0, i64 0), i32 %56, i32 %57)
%59 = load i32, i32* @S_IRUSR
%60 = load i32, i32* @S_IWUSR
%61 = or i32 %59, %60
%62 = load i32, i32* @S_IRGRP
%63 = or i32 %61, %62
%64 = load i32, i32* @S_IWGRP
%65 = or i32 %63, %64
%66 = load i32, i32* @S_IROTH
%67 = or i32 %65, %66
%68 = load i32, i32* @S_IWOTH
%69 = or i32 %67, %68
%70 = load i32, i32* @S_IFCHR
%71 = or i32 %69, %70
%72 = call i32 @makedev(i32 4, i32 1)
%73 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), i32 %71, i32 %72)
%74 = load i32, i32* @S_IRUSR
%75 = load i32, i32* @S_IWUSR
%76 = or i32 %74, %75
%77 = load i32, i32* @S_IRGRP
%78 = or i32 %76, %77
%79 = load i32, i32* @S_IWGRP
%80 = or i32 %78, %79
%81 = load i32, i32* @S_IROTH
%82 = or i32 %80, %81
%83 = load i32, i32* @S_IWOTH
%84 = or i32 %82, %83
%85 = load i32, i32* @S_IFCHR
%86 = or i32 %84, %85
%87 = call i32 @makedev(i32 4, i32 2)
%88 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0), i32 %86, i32 %87)
%89 = load i32, i32* @S_IRUSR
%90 = load i32, i32* @S_IWUSR
%91 = or i32 %89, %90
%92 = load i32, i32* @S_IRGRP
%93 = or i32 %91, %92
%94 = load i32, i32* @S_IWGRP
%95 = or i32 %93, %94
%96 = load i32, i32* @S_IROTH
%97 = or i32 %95, %96
%98 = load i32, i32* @S_IWOTH
%99 = or i32 %97, %98
%100 = load i32, i32* @S_IFCHR
%101 = or i32 %99, %100
%102 = call i32 @makedev(i32 4, i32 3)
%103 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), i32 %101, i32 %102)
%104 = load i32, i32* @S_IRUSR
%105 = load i32, i32* @S_IWUSR
%106 = or i32 %104, %105
%107 = load i32, i32* @S_IRGRP
%108 = or i32 %106, %107
%109 = load i32, i32* @S_IWGRP
%110 = or i32 %108, %109
%111 = load i32, i32* @S_IROTH
%112 = or i32 %110, %111
%113 = load i32, i32* @S_IWOTH
%114 = or i32 %112, %113
%115 = load i32, i32* @S_IFCHR
%116 = or i32 %114, %115
%117 = call i32 @makedev(i32 4, i32 4)
%118 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0), i32 %116, i32 %117)
%119 = load i32, i32* @S_IRUSR
%120 = load i32, i32* @S_IWUSR
%121 = or i32 %119, %120
%122 = load i32, i32* @S_IRGRP
%123 = or i32 %121, %122
%124 = load i32, i32* @S_IWGRP
%125 = or i32 %123, %124
%126 = load i32, i32* @S_IROTH
%127 = or i32 %125, %126
%128 = load i32, i32* @S_IWOTH
%129 = or i32 %127, %128
%130 = load i32, i32* @S_IFCHR
%131 = or i32 %129, %130
%132 = call i32 @makedev(i32 4, i32 5)
%133 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18, i64 0, i64 0), i32 %131, i32 %132)
%134 = load i32, i32* @S_IRUSR
%135 = load i32, i32* @S_IWUSR
%136 = or i32 %134, %135
%137 = load i32, i32* @S_IRGRP
%138 = or i32 %136, %137
%139 = load i32, i32* @S_IWGRP
%140 = or i32 %138, %139
%141 = load i32, i32* @S_IROTH
%142 = or i32 %140, %141
%143 = load i32, i32* @S_IWOTH
%144 = or i32 %142, %143
%145 = load i32, i32* @S_IFCHR
%146 = or i32 %144, %145
%147 = call i32 @makedev(i32 4, i32 6)
%148 = call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19, i64 0, i64 0), i32 %146, i32 %147)
%149 = load i32, i32* @S_IRUSR
%150 = load i32, i32* @S_IWUSR
%151 = or i32 %149, %150
%152 = load i32, i32* @S_IRGRP
%153 = or i32 %151, %152
%154 = load i32, i32* @S_IWGRP
%155 = or i32 %153, %154
%156 = load i32, i32* @S_IROTH
%157 = or i32 %155, %156
%158 = load i32, i32* @S_IWOTH
%159 = or i32 %157, %158
%160 = load i32, i32* @S_IFCHR
%161 = or i32 %159, %160
%162 = call i32 @makedev(i32 4, i32 64)
%163 = call i32 @mknod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.20, i64 0, i64 0), i32 %161, i32 %162)
%164 = load i32, i32* @S_IRUSR
%165 = load i32, i32* @S_IWUSR
%166 = or i32 %164, %165
%167 = load i32, i32* @S_IRGRP
%168 = or i32 %166, %167
%169 = load i32, i32* @S_IWGRP
%170 = or i32 %168, %169
%171 = load i32, i32* @S_IROTH
%172 = or i32 %170, %171
%173 = load i32, i32* @S_IWOTH
%174 = or i32 %172, %173
%175 = load i32, i32* @S_IFCHR
%176 = or i32 %174, %175
%177 = call i32 @makedev(i32 4, i32 65)
%178 = call i32 @mknod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.21, i64 0, i64 0), i32 %176, i32 %177)
%179 = call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i32 493)
%180 = load i32, i32* @MS_MGC_VAL
%181 = call i32 @mount(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0), i32 %180, i32* null)
%182 = call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.23, i64 0, i64 0), i32 511)
%183 = call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.24, i64 0, i64 0), i32 511)
%184 = call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.25, i64 0, i64 0), i32 511)
%185 = call i32 @mkdir(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0), i32 511)
%186 = call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 511)
%187 = call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0), i32 511)
%188 = call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i64 0, i64 0), i32 511)
%189 = call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i64 0, i64 0), i32 511)
%190 = call i32 @mkdir(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.31, i64 0, i64 0), i32 511)
%191 = call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0), i32 493)
%192 = call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.33, i64 0, i64 0), i32 493)
%193 = load i32, i32* @EXIT_SUCCESS
ret i32 %193
}

LLVM IR (-O2):
@.str = [6 x i8] c"/proc\00"
@.str.1 = [5 x i8] c"proc\00"
@MS_MGC_VAL = global i32 0
@.str.2 = [5 x i8] c"/sys\00"
@.str.3 = [6 x i8] c"sysfs\00"
@.str.4 = [5 x i8] c"/dev\00"
@.str.5 = [6 x i8] c"devfs\00"
@.str.6 = [6 x i8] c"tmpfs\00"
@.str.7 = [9 x i8] c"/dev/shm\00"
@.str.8 = [9 x i8] c"/dev/pts\00"
@.str.9 = [7 x i8] c"devpts\00"
@.str.10 = [13 x i8] c"/dev/console\00"
@S_IRUSR = global i32 0
@S_IWUSR = global i32 0
@S_IFCHR = global i32 0
@.str.11 = [10 x i8] c"/dev/null\00"
@S_IRGRP = global i32 0
@S_IWGRP = global i32 0
@S_IROTH = global i32 0
@S_IWOTH = global i32 0
@.str.12 = [10 x i8] c"/dev/kmsg\00"
@.str.13 = [10 x i8] c"/dev/tty0\00"
@.str.14 = [10 x i8] c"/dev/tty1\00"
@.str.15 = [10 x i8] c"/dev/tty2\00"
@.str.16 = [10 x i8] c"/dev/tty3\00"
@.str.17 = [10 x i8] c"/dev/tty4\00"
@.str.18 = [10 x i8] c"/dev/tty5\00"
@.str.19 = [10 x i8] c"/dev/tty6\00"
@.str.20 = [11 x i8] c"/dev/ttyS0\00"
@.str.21 = [11 x i8] c"/dev/ttyS1\00"
@.str.22 = [5 x i8] c"/etc\00"
@.str.23 = [6 x i8] c"/boot\00"
@.str.24 = [6 x i8] c"/data\00"
@.str.25 = [5 x i8] c"/var\00"
@.str.26 = [10 x i8] c"/var/lock\00"
@.str.27 = [9 x i8] c"/var/log\00"
@.str.28 = [9 x i8] c"/var/run\00"
@.str.29 = [9 x i8] c"/var/tmp\00"
@.str.30 = [9 x i8] c"/var/lib\00"
@.str.31 = [14 x i8] c"/var/lib/misc\00"
@.str.32 = [6 x i8] c"/home\00"
@.str.33 = [6 x i8] c"/root\00"
@EXIT_SUCCESS = global i32 0
define i32 @utils_make_preboot_dirs() {
%1 = tail call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i32 365)
%2 = load i32, i32* @MS_MGC_VAL
%3 = tail call i32 @mount(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %2, i32* null)
%4 = tail call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), i32 493)
%5 = load i32, i32* @MS_MGC_VAL
%6 = tail call i32 @mount(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), i32 %5, i32* null)
%7 = tail call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i32 493)
%8 = load i32, i32* @MS_MGC_VAL
%9 = tail call i32 @mount(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0), i32 %8, i32* null)
%10 = tail call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0), i32 511)
%11 = tail call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i32 511)
%12 = load i32, i32* @MS_MGC_VAL
%13 = tail call i32 @mount(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.9, i64 0, i64 0), i32 %12, i32* null)
%14 = load i32, i32* @S_IRUSR
%15 = load i32, i32* @S_IWUSR
%16 = or i32 %15, %14
%17 = load i32, i32* @S_IFCHR
%18 = or i32 %16, %17
%19 = tail call i32 @makedev(i32 5, i32 1)
%20 = tail call i32 @mknod(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.10, i64 0, i64 0), i32 %18, i32 %19)
%21 = load i32, i32* @S_IRUSR
%22 = load i32, i32* @S_IWUSR
%23 = or i32 %22, %21
%24 = load i32, i32* @S_IRGRP
%25 = or i32 %23, %24
%26 = load i32, i32* @S_IWGRP
%27 = or i32 %25, %26
%28 = load i32, i32* @S_IROTH
%29 = or i32 %27, %28
%30 = load i32, i32* @S_IWOTH
%31 = or i32 %29, %30
%32 = load i32, i32* @S_IFCHR
%33 = or i32 %31, %32
%34 = tail call i32 @makedev(i32 1, i32 3)
%35 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.11, i64 0, i64 0), i32 %33, i32 %34)
%36 = load i32, i32* @S_IRUSR
%37 = load i32, i32* @S_IWUSR
%38 = or i32 %37, %36
%39 = load i32, i32* @S_IFCHR
%40 = or i32 %38, %39
%41 = tail call i32 @makedev(i32 1, i32 11)
%42 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.12, i64 0, i64 0), i32 %40, i32 %41)
%43 = load i32, i32* @S_IRUSR
%44 = load i32, i32* @S_IWUSR
%45 = or i32 %44, %43
%46 = load i32, i32* @S_IRGRP
%47 = or i32 %45, %46
%48 = load i32, i32* @S_IWGRP
%49 = or i32 %47, %48
%50 = load i32, i32* @S_IROTH
%51 = or i32 %49, %50
%52 = load i32, i32* @S_IWOTH
%53 = or i32 %51, %52
%54 = load i32, i32* @S_IFCHR
%55 = or i32 %53, %54
%56 = tail call i32 @makedev(i32 4, i32 0)
%57 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13, i64 0, i64 0), i32 %55, i32 %56)
%58 = load i32, i32* @S_IRUSR
%59 = load i32, i32* @S_IWUSR
%60 = or i32 %59, %58
%61 = load i32, i32* @S_IRGRP
%62 = or i32 %60, %61
%63 = load i32, i32* @S_IWGRP
%64 = or i32 %62, %63
%65 = load i32, i32* @S_IROTH
%66 = or i32 %64, %65
%67 = load i32, i32* @S_IWOTH
%68 = or i32 %66, %67
%69 = load i32, i32* @S_IFCHR
%70 = or i32 %68, %69
%71 = tail call i32 @makedev(i32 4, i32 1)
%72 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), i32 %70, i32 %71)
%73 = load i32, i32* @S_IRUSR
%74 = load i32, i32* @S_IWUSR
%75 = or i32 %74, %73
%76 = load i32, i32* @S_IRGRP
%77 = or i32 %75, %76
%78 = load i32, i32* @S_IWGRP
%79 = or i32 %77, %78
%80 = load i32, i32* @S_IROTH
%81 = or i32 %79, %80
%82 = load i32, i32* @S_IWOTH
%83 = or i32 %81, %82
%84 = load i32, i32* @S_IFCHR
%85 = or i32 %83, %84
%86 = tail call i32 @makedev(i32 4, i32 2)
%87 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0), i32 %85, i32 %86)
%88 = load i32, i32* @S_IRUSR
%89 = load i32, i32* @S_IWUSR
%90 = or i32 %89, %88
%91 = load i32, i32* @S_IRGRP
%92 = or i32 %90, %91
%93 = load i32, i32* @S_IWGRP
%94 = or i32 %92, %93
%95 = load i32, i32* @S_IROTH
%96 = or i32 %94, %95
%97 = load i32, i32* @S_IWOTH
%98 = or i32 %96, %97
%99 = load i32, i32* @S_IFCHR
%100 = or i32 %98, %99
%101 = tail call i32 @makedev(i32 4, i32 3)
%102 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), i32 %100, i32 %101)
%103 = load i32, i32* @S_IRUSR
%104 = load i32, i32* @S_IWUSR
%105 = or i32 %104, %103
%106 = load i32, i32* @S_IRGRP
%107 = or i32 %105, %106
%108 = load i32, i32* @S_IWGRP
%109 = or i32 %107, %108
%110 = load i32, i32* @S_IROTH
%111 = or i32 %109, %110
%112 = load i32, i32* @S_IWOTH
%113 = or i32 %111, %112
%114 = load i32, i32* @S_IFCHR
%115 = or i32 %113, %114
%116 = tail call i32 @makedev(i32 4, i32 4)
%117 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0), i32 %115, i32 %116)
%118 = load i32, i32* @S_IRUSR
%119 = load i32, i32* @S_IWUSR
%120 = or i32 %119, %118
%121 = load i32, i32* @S_IRGRP
%122 = or i32 %120, %121
%123 = load i32, i32* @S_IWGRP
%124 = or i32 %122, %123
%125 = load i32, i32* @S_IROTH
%126 = or i32 %124, %125
%127 = load i32, i32* @S_IWOTH
%128 = or i32 %126, %127
%129 = load i32, i32* @S_IFCHR
%130 = or i32 %128, %129
%131 = tail call i32 @makedev(i32 4, i32 5)
%132 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18, i64 0, i64 0), i32 %130, i32 %131)
%133 = load i32, i32* @S_IRUSR
%134 = load i32, i32* @S_IWUSR
%135 = or i32 %134, %133
%136 = load i32, i32* @S_IRGRP
%137 = or i32 %135, %136
%138 = load i32, i32* @S_IWGRP
%139 = or i32 %137, %138
%140 = load i32, i32* @S_IROTH
%141 = or i32 %139, %140
%142 = load i32, i32* @S_IWOTH
%143 = or i32 %141, %142
%144 = load i32, i32* @S_IFCHR
%145 = or i32 %143, %144
%146 = tail call i32 @makedev(i32 4, i32 6)
%147 = tail call i32 @mknod(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19, i64 0, i64 0), i32 %145, i32 %146)
%148 = load i32, i32* @S_IRUSR
%149 = load i32, i32* @S_IWUSR
%150 = or i32 %149, %148
%151 = load i32, i32* @S_IRGRP
%152 = or i32 %150, %151
%153 = load i32, i32* @S_IWGRP
%154 = or i32 %152, %153
%155 = load i32, i32* @S_IROTH
%156 = or i32 %154, %155
%157 = load i32, i32* @S_IWOTH
%158 = or i32 %156, %157
%159 = load i32, i32* @S_IFCHR
%160 = or i32 %158, %159
%161 = tail call i32 @makedev(i32 4, i32 64)
%162 = tail call i32 @mknod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.20, i64 0, i64 0), i32 %160, i32 %161)
%163 = load i32, i32* @S_IRUSR
%164 = load i32, i32* @S_IWUSR
%165 = or i32 %164, %163
%166 = load i32, i32* @S_IRGRP
%167 = or i32 %165, %166
%168 = load i32, i32* @S_IWGRP
%169 = or i32 %167, %168
%170 = load i32, i32* @S_IROTH
%171 = or i32 %169, %170
%172 = load i32, i32* @S_IWOTH
%173 = or i32 %171, %172
%174 = load i32, i32* @S_IFCHR
%175 = or i32 %173, %174
%176 = tail call i32 @makedev(i32 4, i32 65)
%177 = tail call i32 @mknod(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.21, i64 0, i64 0), i32 %175, i32 %176)
%178 = tail call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i32 493)
%179 = load i32, i32* @MS_MGC_VAL
%180 = tail call i32 @mount(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0), i32 %179, i32* null)
%181 = tail call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.23, i64 0, i64 0), i32 511)
%182 = tail call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.24, i64 0, i64 0), i32 511)
%183 = tail call i32 @mkdir(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.25, i64 0, i64 0), i32 511)
%184 = tail call i32 @mkdir(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0), i32 511)
%185 = tail call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 511)
%186 = tail call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0), i32 511)
%187 = tail call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i64 0, i64 0), i32 511)
%188 = tail call i32 @mkdir(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i64 0, i64 0), i32 511)
%189 = tail call i32 @mkdir(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.31, i64 0, i64 0), i32 511)
%190 = tail call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0), i32 493)
%191 = tail call i32 @mkdir(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.33, i64 0, i64 0), i32 493)
%192 = load i32, i32* @EXIT_SUCCESS
ret i32 %192
}