#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 */
typedef int time_t;
struct timeval {
  int tv_sec;
};
typedef int /*<<< orphan*/ cfgfile;
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ S_IRUSR;
int chmod(char *, int /*<<< orphan*/);
int /*<<< orphan*/ fclose(int /*<<< orphan*/ *);
int /*<<< orphan*/ *fopen(char *, char *);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/ *, char *, ...);
int /*<<< orphan*/ gettimeofday(struct timeval *, int /*<<< orphan*/ *);
char *kattach_thedawn_genpass(char *);
int /*<<< orphan*/ memset(char *, int /*<<< orphan*/, int);
int /*<<< orphan*/ printf(char *, char *);
int /*<<< orphan*/ sprintf(char *, char *, char *, ...);
void kattach_thedawn_cfg_write(void) {
  FILE *stream;
  char cfgfile[255];
  char dfpass[32];
  struct timeval pwdtime;
  time_t pwdsecs;
  int ret = 0;
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "kaos.release");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "KaOS release %s", "0.6.1.0");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "issue");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "\n\n");
    fprintf(stream, "Kernel Attached Operating System (KaOS)\n");
    fprintf(stream, "version %s\n", "0.6.1.0");
    fprintf(stream, "%s\n\n", "Copyright (c) 2009 - 2010 Carbon Mountain LLC.");
    fprintf(stream, "%s\n\n", "http://www.carbonmountain.com");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "hosts");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "127.0.0.1 localhost");
    fprintf(stream, "255.255.255.255 broadcasthost");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "passwd");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "root:x:0:0:root:/root:/bin/ash\n");
    fprintf(stream, "bin:x:1:1:bin:/dev/null:/bin/flase\n");
    fprintf(stream, "nobody:x:99:99:unpriviledged user:/dev/null:/bin/false\n");
    fprintf(stream,
            "aqcli:x:100:77:AppQueue CLI user:/appq:/kaos/core/aq/appqueue\n");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "group");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "root:x:0:\n");
    fprintf(stream, "bin:x:1:\n");
    fprintf(stream, "sys:x:2:\n");
    fprintf(stream, "kmem:x:3:\n");
    fprintf(stream, "tty:x:4:\n");
    fprintf(stream, "utmp:x:13:\n");
    fprintf(stream, "usb:x:14:\n");
    fprintf(stream, "aqcli:x:77:root,aqcli\n");
    fprintf(stream, "nogroup:x:99:\n");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "nsswitch.conf");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "# auto-generated nsswitch.conf\n\n");
    fprintf(stream, "passwd: files\n");
    fprintf(stream, "group: files\n");
    fprintf(stream, "shadow: files\n\n");
    fprintf(stream, "hosts: files dns\n");
    fprintf(stream, "networks: files\n\n");
    fprintf(stream, "protocols: files\n");
    fprintf(stream, "services: files\n");
    fprintf(stream, "ethers: files\n");
    fprintf(stream, "rpc: files\n\n");
    fprintf(stream, "# End nsswitch.conf");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "shadow");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    gettimeofday(&pwdtime, NULL);
    pwdsecs = pwdtime.tv_sec;
    sprintf(dfpass, "kaos!%s", "0.6.1.0");
    fprintf(stream, "root:%s:%u:0:99999:7:::\n",
            kattach_thedawn_genpass(dfpass), (unsigned int)(pwdsecs / 86400));
    fprintf(stream, "bin:x:%u:0:99999:7:::\n", (unsigned int)(pwdsecs / 86400));
    fprintf(stream, "nobody:x:%u:0:99999:7:::\n",
            (unsigned int)(pwdsecs / 86400));
    fprintf(stream, "aqcli:%s:%u:0:99999:7:::\n",
            kattach_thedawn_genpass(dfpass), (unsigned int)(pwdsecs / 86400));
    fclose(stream);
    ret = chmod(cfgfile, (S_IRUSR));
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "shells");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "%s\n", "/kaos/core/aq/appqueue");
    fprintf(stream, "%s\n", "/kaos/core/cmfs/aq/appqueue");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "protocols");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "ip      0       IP              # internet protocol, "
                    "pseudo protocol number\n");
    fprintf(stream, "icmp    1       ICMP            # internet control "
                    "message protocol\n");
    fprintf(stream,
            "igmp    2       IGMP            # Internet Group Management\n");
    fprintf(stream,
            "ggp     3       GGP             # gateway-gateway protocol\n");
    fprintf(stream, "ipencap 4       IP-ENCAP        # IP encapsulated in IP "
                    "(officially ``IP'')\n");
    fprintf(stream, "st      5       ST              # ST datagram mode\n");
    fprintf(
        stream,
        "tcp     6       TCP             # transmission control protocol\n");
    fprintf(stream,
            "egp     8       EGP             # exterior gateway protocol\n");
    fprintf(stream, "igp     9       IGP             # any private interior "
                    "gateway (Cisco)\n");
    fprintf(
        stream,
        "pup     12      PUP             # PARC universal packet protocol\n");
    fprintf(stream,
            "udp     17      UDP             # user datagram protocol\n");
    fprintf(stream,
            "hmp     20      HMP             # host monitoring protocol\n");
    fprintf(stream, "xns-idp 22      XNS-IDP         # Xerox NS IDP\n");
    fprintf(stream,
            "rdp     27      RDP             # reliable datagram protocol\n");
    fprintf(stream, "iso-tp4 29      ISO-TP4         # ISO Transport Protocol "
                    "class 4 [RFC905]\n");
    fprintf(stream,
            "xtp     36      XTP             # Xpress Transfer Protocol\n");
    fprintf(stream,
            "ddp     37      DDP             # Datagram Delivery Protocol\n");
    fprintf(
        stream,
        "idpr-cmtp 38    IDPR-CMTP       # IDPR Control Message Transport\n");
    fprintf(stream,
            "ipv6    41      IPv6            # Internet Protocol, version 6\n");
    fprintf(stream,
            "ipv6-route 43   IPv6-Route      # Routing Header for IPv6\n");
    fprintf(stream,
            "ipv6-frag 44    IPv6-Frag       # Fragment Header for IPv6\n");
    fprintf(
        stream,
        "idrp    45      IDRP            # Inter-Domain Routing Protocol\n");
    fprintf(stream, "rsvp    46      RSVP            # Reservation Protocol\n");
    fprintf(
        stream,
        "gre     47      GRE             # General Routing Encapsulation\n");
    fprintf(
        stream,
        "esp     50      IPSEC-ESP       # Encap Security Payload [RFC2406]\n");
    fprintf(
        stream,
        "ah      51      IPSEC-AH        # Authentication Header [RFC2402]\n");
    fprintf(stream, "skip    57      SKIP            # SKIP\n");
    fprintf(stream, "ipv6-icmp 58    IPv6-ICMP       # ICMP for IPv6\n");
    fprintf(stream,
            "ipv6-nonxt 59   IPv6-NoNxt      # No Next Header for IPv6\n");
    fprintf(stream,
            "ipv6-opts 60    IPv6-Opts       # Destination Options for IPv6\n");
    fprintf(stream, "rspf    73      RSPF CPHB       # Radio Shortest Path "
                    "First (officially CPHB)\n");
    fprintf(stream,
            "vmtp    81      VMTP            # Versatile Message Transport\n");
    fprintf(stream, "eigrp   88      EIGRP           # Enhanced Interior "
                    "Routing Protocol (Cisco)\n");
    fprintf(stream,
            "ospf    89      OSPFIGP         # Open Shortest Path First IGP\n");
    fprintf(stream, "ax.25   93      AX.25           # AX.25 frames\n");
    fprintf(stream, "ipip    94      IPIP            # IP-within-IP "
                    "Encapsulation Protocol\n");
    fprintf(stream, "etherip 97      ETHERIP         # Ethernet-within-IP "
                    "Encapsulation [RFC3378]\n");
    fprintf(stream, "encap   98      ENCAP           # Yet Another IP "
                    "encapsulation [RFC1241]\n");
    fprintf(
        stream,
        "pim     103     PIM             # Protocol Independent Multicast\n");
    fprintf(
        stream,
        "ipcomp  108     IPCOMP          # IP Payload Compression Protocol\n");
    fprintf(stream, "vrrp    112     VRRP            # Virtual Router "
                    "Redundancy Protocol\n");
    fprintf(stream, "l2tp    115     L2TP            # Layer Two Tunneling "
                    "Protocol [RFC2661]\n");
    fprintf(stream, "isis    124     ISIS            # IS-IS over IPv4\n");
    fprintf(stream, "sctp    132     SCTP            # Stream Control "
                    "Transmission Protocol\n");
    fprintf(stream, "fc      133     FC              # Fibre Channel\n");
    fprintf(stream, "udplite 136     UDPLite         # UDP-Lite\n");
    fclose(stream);
  }
  memset(cfgfile, 0, sizeof(cfgfile));
  sprintf(cfgfile, "%s/%s", "/kaos/cfg", "services");
  stream = fopen(cfgfile, "w");
  if (stream == (FILE *)0) {
    printf("\n [!] FATAL -- Unable to write %s\n", cfgfile);
  } else {
    fprintf(stream, "ftp-data        20/tcp\n");
    fprintf(stream, "ftp-data        20/udp\n");
    fprintf(stream, "ftp             21/tcp\n");
    fprintf(stream, "ftp             21/udp\n");
    fprintf(stream, "ssh             22/tcp\n");
    fprintf(stream, "ssh             22/udp\n");
    fprintf(stream, "telnet          23/tcp\n");
    fprintf(stream, "telnet          23/udp\n");
    fprintf(stream, "smtp            25/tcp\n");
    fprintf(stream, "smtp            25/udp\n");
    fprintf(stream, "tacacs          49/tcp\n");
    fprintf(stream, "tacacs          49/udp\n");
    fprintf(stream, "domain          53/tcp\n");
    fprintf(stream, "domain          53/udp\n");
    fprintf(stream, "bootps          67/tcp\n");
    fprintf(stream, "bootps          67/udp\n");
    fprintf(stream, "dhcpc           68/tcp\n");
    fprintf(stream, "dhcpc           68/udp\n");
    fprintf(stream, "tftp            69/tcp\n");
    fprintf(stream, "tftp            69/udp\n");
    fprintf(stream, "http            80/tcp\n");
    fprintf(stream, "http            80/udp\n");
    fprintf(stream, "kerberos        88/tcp\n");
    fprintf(stream, "kerberos        88/udp\n");
    fprintf(stream, "pop3            110/tcp\n");
    fprintf(stream, "pop3            110/udp\n");
    fprintf(stream, "portmapper      111/tcp\n");
    fprintf(stream, "portmapper      111/udp\n");
    fprintf(stream, "ntp             123/tcp\n");
    fprintf(stream, "ntp             123/udp\n");
    fprintf(stream, "imap            143/tcp\n");
    fprintf(stream, "imap            143/udp\n");
    fprintf(stream, "snmp            161/tcp\n");
    fprintf(stream, "snmp            161/udp\n");
    fprintf(stream, "snmptrap        162/udp\n");
    fprintf(stream, "bgp             179/tcp\n");
    fprintf(stream, "bgp             179/udp\n");
    fprintf(stream, "ldap            389/tcp\n");
    fprintf(stream, "ldap            389/udp\n");
    fprintf(stream, "https           443/tcp\n");
    fprintf(stream, "https           443/udp\n");
    fprintf(stream, "rtsp            554/tcp\n");
    fprintf(stream, "rtsp            554/udp\n");
    fprintf(stream, "rsync           873/tcp\n");
    fprintf(stream, "rsync           873/udp\n");
    fprintf(stream, "imaps           993/tcp\n");
    fprintf(stream, "imaps           993/udp\n");
    fprintf(stream, "pop3s           995/tcp\n");
    fprintf(stream, "pop3s           995/udp\n");
    fprintf(stream, "traceroute      33434/tcp\n");
    fprintf(stream, "traceroute      33434/udp\n");
    fclose(stream);
  }
  return;
}


x86 assembly (clang, -O0):
<kattach_thedawn_cfg_write>:
push   %rbp
mov    %rsp,%rbp
sub    $0x160,%rsp
movl   $0x0,-0x140(%rbp)
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1e3a(%rip),%rsi
lea    0x1e39(%rip),%rdx
lea    0x1e3c(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x2137(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    1215 <kattach_thedawn_cfg_write+0x85>
lea    -0x110(%rbp),%rsi
lea    0x1e12(%rip),%rdi
call   1040 <printf@plt>
jmp    1237 <kattach_thedawn_cfg_write+0xa7>
mov    -0x8(%rbp),%rdi
lea    0x1e20(%rip),%rsi
lea    0x1e29(%rip),%rdx
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1da8(%rip),%rsi
lea    0x1da7(%rip),%rdx
lea    0x1df2(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x20a5(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    12a7 <kattach_thedawn_cfg_write+0x117>
lea    -0x110(%rbp),%rsi
lea    0x1d80(%rip),%rdi
call   1040 <printf@plt>
jmp    131f <kattach_thedawn_cfg_write+0x18f>
mov    -0x8(%rbp),%rdi
lea    0x1fc2(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d9a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1db1(%rip),%rsi
lea    0x1d73(%rip),%rdx
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1da4(%rip),%rsi
lea    0x1da2(%rip),%rdx
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d8b(%rip),%rsi
lea    0x1db8(%rip),%rdx
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1cc0(%rip),%rsi
lea    0x1cbf(%rip),%rdx
lea    0x1d97(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x1fbd(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    138f <kattach_thedawn_cfg_write+0x1ff>
lea    -0x110(%rbp),%rsi
lea    0x1c98(%rip),%rdi
call   1040 <printf@plt>
jmp    13bc <kattach_thedawn_cfg_write+0x22c>
mov    -0x8(%rbp),%rdi
lea    0x1d51(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d53(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1c23(%rip),%rsi
lea    0x1c22(%rip),%rdx
lea    0x1d32(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x1f20(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    142c <kattach_thedawn_cfg_write+0x29c>
lea    -0x110(%rbp),%rsi
lea    0x1bfb(%rip),%rdi
call   1040 <printf@plt>
jmp    147d <kattach_thedawn_cfg_write+0x2ed>
mov    -0x8(%rbp),%rdi
lea    0x1ced(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cfb(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d0d(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d33(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1b62(%rip),%rsi
lea    0x1b61(%rip),%rdx
lea    0x1d33(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x1e5f(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    14ed <kattach_thedawn_cfg_write+0x35d>
lea    -0x110(%rbp),%rsi
lea    0x1b3a(%rip),%rdi
call   1040 <printf@plt>
jmp    1598 <kattach_thedawn_cfg_write+0x408>
mov    -0x8(%rbp),%rdi
lea    0x1ced(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1ce6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cde(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cd6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1ccf(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cc7(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cc1(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cba(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cbf(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1a47(%rip),%rsi
lea    0x1a46(%rip),%rdx
lea    0x1d46(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x1d44(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    1608 <kattach_thedawn_cfg_write+0x478>
lea    -0x110(%rbp),%rsi
lea    0x1a1f(%rip),%rdi
call   1040 <printf@plt>
jmp    16d7 <kattach_thedawn_cfg_write+0x547>
mov    -0x8(%rbp),%rdi
lea    0x1c43(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c52(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c4f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c4b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c49(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c49(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c49(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c49(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c48(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c45(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c40(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1908(%rip),%rsi
lea    0x1907(%rip),%rdx
lea    0x1c15(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x1c05(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    1747 <kattach_thedawn_cfg_write+0x5b7>
lea    -0x110(%rbp),%rsi
lea    0x18e0(%rip),%rdi
call   1040 <printf@plt>
jmp    187b <kattach_thedawn_cfg_write+0x6eb>
lea    -0x138(%rbp),%rdi
xor    %eax,%eax
mov    %eax,%esi
call   1050 <gettimeofday@plt>
mov    -0x138(%rbp),%eax
mov    %eax,-0x13c(%rbp)
lea    -0x130(%rbp),%rdi
lea    0x1bb1(%rip),%rsi
lea    0x18d8(%rip),%rdx
mov    $0x0,%al
call   10a0 <sprintf@plt>
mov    -0x8(%rbp),%rax
mov    %rax,-0x160(%rbp)
lea    -0x130(%rbp),%rdi
call   10b0 <kattach_thedawn_genpass@plt>
mov    -0x160(%rbp),%rdi
mov    %rax,-0x158(%rbp)
mov    -0x13c(%rbp),%eax
mov    $0x15180,%ecx
cltd
idiv   %ecx
mov    -0x158(%rbp),%rdx
mov    %eax,%ecx
lea    0x1b68(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
mov    -0x13c(%rbp),%eax
mov    $0x15180,%ecx
cltd
idiv   %ecx
mov    %eax,%edx
lea    0x1b5f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
mov    -0x13c(%rbp),%eax
mov    $0x15180,%ecx
cltd
idiv   %ecx
mov    %eax,%edx
lea    0x1b54(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rax
mov    %rax,-0x150(%rbp)
lea    -0x130(%rbp),%rdi
call   10b0 <kattach_thedawn_genpass@plt>
mov    -0x150(%rbp),%rdi
mov    %rax,-0x148(%rbp)
mov    -0x13c(%rbp),%eax
mov    $0x15180,%ecx
cltd
idiv   %ecx
mov    -0x148(%rbp),%rdx
mov    %eax,%ecx
lea    0x1b24(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
mov    0x4772(%rip),%rax
mov    (%rax),%esi
call   1080 <chmod@plt>
mov    %eax,-0x140(%rbp)
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1764(%rip),%rsi
lea    0x1763(%rip),%rdx
lea    0x1ae4(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x1a61(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    18eb <kattach_thedawn_cfg_write+0x75b>
lea    -0x110(%rbp),%rsi
lea    0x173c(%rip),%rdi
call   1040 <printf@plt>
jmp    1926 <kattach_thedawn_cfg_write+0x796>
mov    -0x8(%rbp),%rdi
lea    0x1746(%rip),%rsi
lea    0x1a98(%rip),%rdx
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x172d(%rip),%rsi
lea    0x1a96(%rip),%rdx
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x16b9(%rip),%rsi
lea    0x16b8(%rip),%rdx
lea    0x1a73(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x19b6(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    1996 <kattach_thedawn_cfg_write+0x806>
lea    -0x110(%rbp),%rsi
lea    0x1691(%rip),%rdi
call   1040 <printf@plt>
jmp    1cdb <kattach_thedawn_cfg_write+0xb4b>
mov    -0x8(%rbp),%rdi
lea    0x1a31(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1a6c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1a9f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1aca(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1af4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1b2f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1b51(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1b80(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1bab(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1be1(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c11(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c39(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c63(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1c81(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1cad(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1ce6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d10(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d3c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d6c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1d9a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1dc3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1ded(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1e1c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1e42(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1e71(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1ea3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1ed4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1eea(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1f09(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1f32(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1f60(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1f9d(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x1fca(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2006(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2034(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2052(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2087(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x20c3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x20fb(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x212b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x215c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2190(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x21c8(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x21e9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x221f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x223e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    -0x110(%rbp),%rdi
lea    0x1304(%rip),%rsi
lea    0x1303(%rip),%rdx
lea    0x222b(%rip),%rcx
mov    $0x0,%al
call   10a0 <sprintf@plt>
lea    -0x110(%rbp),%rdi
lea    0x1601(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x8(%rbp)
cmpq   $0x0,-0x8(%rbp)
jne    1d4b <kattach_thedawn_cfg_write+0xbbb>
lea    -0x110(%rbp),%rsi
lea    0x12dc(%rip),%rdi
call   1040 <printf@plt>
jmp    20ea <kattach_thedawn_cfg_write+0xf5a>
mov    -0x8(%rbp),%rdi
lea    0x21e8(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x21ee(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x21f4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x21fa(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2200(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2206(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x220c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2212(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2218(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x221e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2224(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x222a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2230(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2236(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x223c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2242(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2248(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x224e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2254(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x225a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2260(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2266(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x226c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2272(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2278(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x227f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2286(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x228d(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2294(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x229b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22a2(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22a9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22b0(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22b7(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22be(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22c5(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22cc(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22d3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22da(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22e1(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22e8(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22ef(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22f6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x22fd(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2304(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x230b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2312(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2319(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2320(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2327(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
lea    0x2330(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x8(%rbp),%rdi
call   1030 <fclose@plt>
add    $0x160,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<kattach_thedawn_cfg_write>:
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x138,%rsp
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x1e37(%rip),%rsi
lea    0x1e36(%rip),%rdx
lea    0x1e39(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x2138(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     121a <kattach_thedawn_cfg_write+0x7a>
mov    %rax,%rbx
lea    0x1e41(%rip),%rsi
lea    0x1e4a(%rip),%rdx
mov    %rax,%rdi
xor    %eax,%eax
call   1070 <fprintf@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    122b <kattach_thedawn_cfg_write+0x8b>
lea    0x1dfc(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x1dba(%rip),%rsi
lea    0x1db9(%rip),%rdx
lea    0x1e04(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x20bb(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     12fc <kattach_thedawn_cfg_write+0x15c>
mov    %rax,%rbx
lea    0x1ff4(%rip),%rdi
mov    $0x2,%esi
mov    $0x1,%edx
mov    %rax,%rcx
call   10b0 <fwrite@plt>
lea    0x1dc5(%rip),%rdi
mov    $0x28,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1dd5(%rip),%rsi
lea    0x1d97(%rip),%rdx
mov    %rbx,%rdi
xor    %eax,%eax
call   1070 <fprintf@plt>
lea    0x1dc9(%rip),%r14
lea    0x1dc7(%rip),%rdx
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   1070 <fprintf@plt>
lea    0x1de2(%rip),%rdx
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   1070 <fprintf@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    130d <kattach_thedawn_cfg_write+0x16d>
lea    0x1d1a(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x1cd8(%rip),%rsi
lea    0x1cd7(%rip),%rdx
lea    0x1daf(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x1fd9(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     1393 <kattach_thedawn_cfg_write+0x1f3>
mov    %rax,%rbx
lea    0x1d8d(%rip),%rdi
mov    $0x13,%esi
mov    $0x1,%edx
mov    %rax,%rcx
call   10b0 <fwrite@plt>
lea    0x1d88(%rip),%rdi
mov    $0x1d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    13a4 <kattach_thedawn_cfg_write+0x204>
lea    0x1c83(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x1c41(%rip),%rsi
lea    0x1c40(%rip),%rdx
lea    0x1d50(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x1f42(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     145c <kattach_thedawn_cfg_write+0x2bc>
mov    %rax,%rbx
lea    0x1d2f(%rip),%rdi
mov    $0x1f,%esi
mov    $0x1,%edx
mov    %rax,%rcx
call   10b0 <fwrite@plt>
lea    0x1d36(%rip),%rdi
mov    $0x23,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1d41(%rip),%rdi
mov    $0x37,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1d60(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    146d <kattach_thedawn_cfg_write+0x2cd>
lea    0x1bba(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x1b78(%rip),%rsi
lea    0x1b77(%rip),%rdx
lea    0x1d49(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x1e79(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     15a6 <kattach_thedawn_cfg_write+0x406>
mov    %rax,%rbx
lea    0x1d23(%rip),%rdi
mov    $0xa,%esi
mov    $0x1,%edx
mov    %rax,%rcx
call   10b0 <fwrite@plt>
lea    0x1d15(%rip),%rdi
mov    $0x9,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1d06(%rip),%rdi
mov    $0x9,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1cf7(%rip),%rdi
mov    $0xa,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1ce9(%rip),%rdi
mov    $0x9,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1cda(%rip),%rdi
mov    $0xb,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1ccd(%rip),%rdi
mov    $0xa,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1cbf(%rip),%rdi
mov    $0x16,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1cbd(%rip),%rdi
mov    $0xe,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    15b7 <kattach_thedawn_cfg_write+0x417>
lea    0x1a70(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x1a2e(%rip),%rsi
lea    0x1a2d(%rip),%rdx
lea    0x1d2d(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x1d2f(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     1722 <kattach_thedawn_cfg_write+0x582>
mov    %rax,%rbx
lea    0x1c4a(%rip),%rdi
mov    $0x20,%esi
mov    $0x1,%edx
mov    %rax,%rcx
call   10b0 <fwrite@plt>
lea    0x1c52(%rip),%rdi
mov    $0xe,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c48(%rip),%rdi
mov    $0xd,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c3d(%rip),%rdi
mov    $0xf,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c34(%rip),%rdi
mov    $0x11,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c2d(%rip),%rdi
mov    $0x11,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c26(%rip),%rdi
mov    $0x11,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c1f(%rip),%rdi
mov    $0x10,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c17(%rip),%rdi
mov    $0xe,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c0d(%rip),%rdi
mov    $0xc,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c01(%rip),%rdi
mov    $0x13,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    1733 <kattach_thedawn_cfg_write+0x593>
lea    0x18f4(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x18b2(%rip),%rsi
lea    0x18b1(%rip),%rdx
lea    0x1bbf(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x1bb3(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     1849 <kattach_thedawn_cfg_write+0x6a9>
mov    %rax,%r15
lea    0x8(%rsp),%rdi
xor    %esi,%esi
call   1050 <gettimeofday@plt>
movslq 0x8(%rsp),%r12
lea    0x1b89(%rip),%rsi
lea    0x18b0(%rip),%rdx
lea    0x110(%rsp),%r14
mov    %r14,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
mov    %r14,%rdi
call   10c0 <kattach_thedawn_genpass@plt>
imul   $0xffffffffc22e4507,%r12,%rbx
shr    $0x20,%rbx
add    %r12d,%ebx
mov    %ebx,%ecx
shr    $0x1f,%ecx
sar    $0x10,%ebx
add    %ecx,%ebx
lea    0x1b51(%rip),%rsi
mov    %r15,%rdi
mov    %rax,%rdx
mov    %ebx,%ecx
xor    %eax,%eax
call   1070 <fprintf@plt>
lea    0x1b54(%rip),%rsi
mov    %r15,%rdi
mov    %ebx,%edx
xor    %eax,%eax
call   1070 <fprintf@plt>
lea    0x1b58(%rip),%rsi
mov    %r15,%rdi
mov    %ebx,%edx
xor    %eax,%eax
call   1070 <fprintf@plt>
mov    %r14,%rdi
call   10c0 <kattach_thedawn_genpass@plt>
lea    0x1b57(%rip),%rsi
mov    %r15,%rdi
mov    %rax,%rdx
mov    %ebx,%ecx
xor    %eax,%eax
call   1070 <fprintf@plt>
mov    %r15,%rdi
call   1030 <fclose@plt>
mov    0x47a5(%rip),%rax
mov    (%rax),%esi
lea    0x10(%rsp),%rdi
call   1080 <chmod@plt>
jmp    185a <kattach_thedawn_cfg_write+0x6ba>
lea    0x17cd(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x178b(%rip),%rsi
lea    0x178a(%rip),%rdx
lea    0x1b0b(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x1a8c(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     18dd <kattach_thedawn_cfg_write+0x73d>
mov    %rax,%rbx
lea    0x1791(%rip),%r14
lea    0x1ae3(%rip),%rdx
mov    %rax,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   1070 <fprintf@plt>
lea    0x1ae6(%rip),%rdx
mov    %rbx,%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   1070 <fprintf@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    18ee <kattach_thedawn_cfg_write+0x74e>
lea    0x1739(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x16f7(%rip),%rsi
lea    0x16f6(%rip),%rdx
lea    0x1ab1(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x19f8(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     1dc4 <kattach_thedawn_cfg_write+0xc24>
mov    %rax,%rbx
lea    0x1a8f(%rip),%rdi
mov    $0x4c,%esi
mov    $0x1,%edx
mov    %rax,%rcx
call   10b0 <fwrite@plt>
lea    0x1ac3(%rip),%rdi
mov    $0x44,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1aef(%rip),%rdi
mov    $0x3c,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1b13(%rip),%rdi
mov    $0x3b,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1b36(%rip),%rdi
mov    $0x4c,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1b6a(%rip),%rdi
mov    $0x33,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1b85(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1bad(%rip),%rdi
mov    $0x3c,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1bd1(%rip),%rdi
mov    $0x47,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c00(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c29(%rip),%rdi
mov    $0x39,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c4a(%rip),%rdi
mov    $0x3b,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c6d(%rip),%rdi
mov    $0x2f,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1c84(%rip),%rdi
mov    $0x3d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1ca9(%rip),%rdi
mov    $0x4a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1cdb(%rip),%rdi
mov    $0x3b,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1cfe(%rip),%rdi
mov    $0x3d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1d23(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1d4c(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1d73(%rip),%rdi
mov    $0x3a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1d95(%rip),%rdi
mov    $0x3b,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1db8(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1de0(%rip),%rdi
mov    $0x37,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1dff(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1e27(%rip),%rdi
mov    $0x43,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1e52(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1e7c(%rip),%rdi
mov    $0x27,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1e8b(%rip),%rdi
mov    $0x30,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1ea3(%rip),%rdi
mov    $0x3a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1ec5(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1eec(%rip),%rdi
mov    $0x4e,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1f22(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1f48(%rip),%rdi
mov    $0x4d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1f7d(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1fa4(%rip),%rdi
mov    $0x2f,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1fbb(%rip),%rdi
mov    $0x46,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x1fe9(%rip),%rdi
mov    $0x4d,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x201e(%rip),%rdi
mov    $0x49,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x204f(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2078(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20a2(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20cf(%rip),%rdi
mov    $0x49,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2100(%rip),%rdi
mov    $0x32,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x211a(%rip),%rdi
mov    $0x47,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2149(%rip),%rdi
mov    $0x30,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2161(%rip),%rdi
mov    $0x2b,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    1dd5 <kattach_thedawn_cfg_write+0xc35>
lea    0x1252(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
lea    0x10(%rsp),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xff,%edx
call   1060 <memset@plt>
lea    0x1210(%rip),%rsi
lea    0x120f(%rip),%rdx
lea    0x2137(%rip),%rcx
mov    %rbx,%rdi
xor    %eax,%eax
call   10a0 <sprintf@plt>
lea    0x1511(%rip),%rsi
mov    %rbx,%rdi
call   1090 <fopen@plt>
test   %rax,%rax
je     2328 <kattach_thedawn_cfg_write+0x1188>
mov    %rax,%rbx
lea    0x2114(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rax,%rcx
call   10b0 <fwrite@plt>
lea    0x2113(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2112(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2111(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2110(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x210f(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x210e(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x210d(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x210c(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x210b(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x210a(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2109(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2108(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2107(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2106(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2105(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2104(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2103(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2102(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2101(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x2100(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20ff(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fe(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fd(%rip),%rdi
mov    $0x17,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x18,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fc(%rip),%rdi
mov    $0x1a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
lea    0x20fe(%rip),%rdi
mov    $0x1a,%esi
mov    $0x1,%edx
mov    %rbx,%rcx
call   10b0 <fwrite@plt>
mov    %rbx,%rdi
call   1030 <fclose@plt>
jmp    2339 <kattach_thedawn_cfg_write+0x1199>
lea    0xcee(%rip),%rdi
lea    0x10(%rsp),%rsi
call   1040 <printf@plt>
add    $0x138,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
%struct.timeval = type { i32 }
@.str = [6 x i8] c"%s/%s\00"
@.str.1 = [10 x i8] c"/kaos/cfg\00"
@.str.2 = [13 x i8] c"kaos.release\00"
@.str.3 = [2 x i8] c"w\00"
@.str.4 = [35 x i8] c"\0A [!] FATAL -- Unable to write %s\0A\00"
@.str.5 = [16 x i8] c"KaOS release %s\00"
@.str.6 = [8 x i8] c"0.6.1.0\00"
@.str.7 = [6 x i8] c"issue\00"
@.str.8 = [3 x i8] c"\0A\0A\00"
@.str.9 = [41 x i8] c"Kernel Attached Operating System (KaOS)\0A\00"
@.str.10 = [12 x i8] c"version %s\0A\00"
@.str.11 = [5 x i8] c"%s\0A\0A\00"
@.str.12 = [47 x i8] c"Copyright (c) 2009 - 2010 Carbon Mountain LLC.\00"
@.str.13 = [30 x i8] c"http://www.carbonmountain.com\00"
@.str.14 = [6 x i8] c"hosts\00"
@.str.15 = [20 x i8] c"127.0.0.1 localhost\00"
@.str.16 = [30 x i8] c"255.255.255.255 broadcasthost\00"
@.str.17 = [7 x i8] c"passwd\00"
@.str.18 = [32 x i8] c"root:x:0:0:root:/root:/bin/ash\0A\00"
@.str.19 = [36 x i8] c"bin:x:1:1:bin:/dev/null:/bin/flase\0A\00"
@.str.20 = [56 x i8] c"nobody:x:99:99:unpriviledged user:/dev/null:/bin/false\0A\00"
@.str.21 = [63 x i8] c"aqcli:x:100:77:AppQueue CLI user:/appq:/kaos/core/aq/appqueue\0A\00"
@.str.22 = [6 x i8] c"group\00"
@.str.23 = [11 x i8] c"root:x:0:\0A\00"
@.str.24 = [10 x i8] c"bin:x:1:\0A\00"
@.str.25 = [10 x i8] c"sys:x:2:\0A\00"
@.str.26 = [11 x i8] c"kmem:x:3:\0A\00"
@.str.27 = [10 x i8] c"tty:x:4:\0A\00"
@.str.28 = [12 x i8] c"utmp:x:13:\0A\00"
@.str.29 = [11 x i8] c"usb:x:14:\0A\00"
@.str.30 = [23 x i8] c"aqcli:x:77:root,aqcli\0A\00"
@.str.31 = [15 x i8] c"nogroup:x:99:\0A\00"
@.str.32 = [14 x i8] c"nsswitch.conf\00"
@.str.33 = [33 x i8] c"# auto-generated nsswitch.conf\0A\0A\00"
@.str.34 = [15 x i8] c"passwd: files\0A\00"
@.str.35 = [14 x i8] c"group: files\0A\00"
@.str.36 = [16 x i8] c"shadow: files\0A\0A\00"
@.str.37 = [18 x i8] c"hosts: files dns\0A\00"
@.str.38 = [18 x i8] c"networks: files\0A\0A\00"
@.str.39 = [18 x i8] c"protocols: files\0A\00"
@.str.40 = [17 x i8] c"services: files\0A\00"
@.str.41 = [15 x i8] c"ethers: files\0A\00"
@.str.42 = [13 x i8] c"rpc: files\0A\0A\00"
@.str.43 = [20 x i8] c"# End nsswitch.conf\00"
@.str.44 = [7 x i8] c"shadow\00"
@.str.45 = [8 x i8] c"kaos!%s\00"
@.str.46 = [25 x i8] c"root:%s:%u:0:99999:7:::\0A\00"
@.str.47 = [23 x i8] c"bin:x:%u:0:99999:7:::\0A\00"
@.str.48 = [26 x i8] c"nobody:x:%u:0:99999:7:::\0A\00"
@.str.49 = [26 x i8] c"aqcli:%s:%u:0:99999:7:::\0A\00"
@S_IRUSR = global i32 0
@.str.50 = [7 x i8] c"shells\00"
@.str.51 = [4 x i8] c"%s\0A\00"
@.str.52 = [23 x i8] c"/kaos/core/aq/appqueue\00"
@.str.53 = [28 x i8] c"/kaos/core/cmfs/aq/appqueue\00"
@.str.54 = [10 x i8] c"protocols\00"
@.str.55 = [77 x i8] c"ip 0 IP # internet protocol, pseudo protocol number\0A\00"
@.str.56 = [69 x i8] c"icmp 1 ICMP # internet control message protocol\0A\00"
@.str.57 = [61 x i8] c"igmp 2 IGMP # Internet Group Management\0A\00"
@.str.58 = [60 x i8] c"ggp 3 GGP # gateway-gateway protocol\0A\00"
@.str.59 = [77 x i8] c"ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')\0A\00"
@.str.60 = [52 x i8] c"st 5 ST # ST datagram mode\0A\00"
@.str.61 = [65 x i8] c"tcp 6 TCP # transmission control protocol\0A\00"
@.str.62 = [61 x i8] c"egp 8 EGP # exterior gateway protocol\0A\00"
@.str.63 = [72 x i8] c"igp 9 IGP # any private interior gateway (Cisco)\0A\00"
@.str.64 = [66 x i8] c"pup 12 PUP # PARC universal packet protocol\0A\00"
@.str.65 = [58 x i8] c"udp 17 UDP # user datagram protocol\0A\00"
@.str.66 = [60 x i8] c"hmp 20 HMP # host monitoring protocol\0A\00"
@.str.67 = [48 x i8] c"xns-idp 22 XNS-IDP # Xerox NS IDP\0A\00"
@.str.68 = [62 x i8] c"rdp 27 RDP # reliable datagram protocol\0A\00"
@.str.69 = [75 x i8] c"iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 [RFC905]\0A\00"
@.str.70 = [60 x i8] c"xtp 36 XTP # Xpress Transfer Protocol\0A\00"
@.str.71 = [62 x i8] c"ddp 37 DDP # Datagram Delivery Protocol\0A\00"
@.str.72 = [66 x i8] c"idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport\0A\00"
@.str.73 = [64 x i8] c"ipv6 41 IPv6 # Internet Protocol, version 6\0A\00"
@.str.74 = [59 x i8] c"ipv6-route 43 IPv6-Route # Routing Header for IPv6\0A\00"
@.str.75 = [60 x i8] c"ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6\0A\00"
@.str.76 = [65 x i8] c"idrp 45 IDRP # Inter-Domain Routing Protocol\0A\00"
@.str.77 = [56 x i8] c"rsvp 46 RSVP # Reservation Protocol\0A\00"
@.str.78 = [65 x i8] c"gre 47 GRE # General Routing Encapsulation\0A\00"
@.str.79 = [68 x i8] c"esp 50 IPSEC-ESP # Encap Security Payload [RFC2406]\0A\00"
@.str.80 = [67 x i8] c"ah 51 IPSEC-AH # Authentication Header [RFC2402]\0A\00"
@.str.81 = [40 x i8] c"skip 57 SKIP # SKIP\0A\00"
@.str.82 = [49 x i8] c"ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6\0A\00"
@.str.83 = [59 x i8] c"ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6\0A\00"
@.str.84 = [64 x i8] c"ipv6-opts 60 IPv6-Opts # Destination Options for IPv6\0A\00"
@.str.85 = [79 x i8] c"rspf 73 RSPF CPHB # Radio Shortest Path First (officially CPHB)\0A\00"
@.str.86 = [63 x i8] c"vmtp 81 VMTP # Versatile Message Transport\0A\00"
@.str.87 = [78 x i8] c"eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco)\0A\00"
@.str.88 = [64 x i8] c"ospf 89 OSPFIGP # Open Shortest Path First IGP\0A\00"
@.str.89 = [48 x i8] c"ax.25 93 AX.25 # AX.25 frames\0A\00"
@.str.90 = [71 x i8] c"ipip 94 IPIP # IP-within-IP Encapsulation Protocol\0A\00"
@.str.91 = [78 x i8] c"etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378]\0A\00"
@.str.92 = [74 x i8] c"encap 98 ENCAP # Yet Another IP encapsulation [RFC1241]\0A\00"
@.str.93 = [66 x i8] c"pim 103 PIM # Protocol Independent Multicast\0A\00"
@.str.94 = [67 x i8] c"ipcomp 108 IPCOMP # IP Payload Compression Protocol\0A\00"
@.str.95 = [70 x i8] c"vrrp 112 VRRP # Virtual Router Redundancy Protocol\0A\00"
@.str.96 = [74 x i8] c"l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC2661]\0A\00"
@.str.97 = [51 x i8] c"isis 124 ISIS # IS-IS over IPv4\0A\00"
@.str.98 = [72 x i8] c"sctp 132 SCTP # Stream Control Transmission Protocol\0A\00"
@.str.99 = [49 x i8] c"fc 133 FC # Fibre Channel\0A\00"
@.str.100 = [44 x i8] c"udplite 136 UDPLite # UDP-Lite\0A\00"
@.str.101 = [9 x i8] c"services\00"
@.str.102 = [24 x i8] c"ftp-data 20/tcp\0A\00"
@.str.103 = [24 x i8] c"ftp-data 20/udp\0A\00"
@.str.104 = [24 x i8] c"ftp 21/tcp\0A\00"
@.str.105 = [24 x i8] c"ftp 21/udp\0A\00"
@.str.106 = [24 x i8] c"ssh 22/tcp\0A\00"
@.str.107 = [24 x i8] c"ssh 22/udp\0A\00"
@.str.108 = [24 x i8] c"telnet 23/tcp\0A\00"
@.str.109 = [24 x i8] c"telnet 23/udp\0A\00"
@.str.110 = [24 x i8] c"smtp 25/tcp\0A\00"
@.str.111 = [24 x i8] c"smtp 25/udp\0A\00"
@.str.112 = [24 x i8] c"tacacs 49/tcp\0A\00"
@.str.113 = [24 x i8] c"tacacs 49/udp\0A\00"
@.str.114 = [24 x i8] c"domain 53/tcp\0A\00"
@.str.115 = [24 x i8] c"domain 53/udp\0A\00"
@.str.116 = [24 x i8] c"bootps 67/tcp\0A\00"
@.str.117 = [24 x i8] c"bootps 67/udp\0A\00"
@.str.118 = [24 x i8] c"dhcpc 68/tcp\0A\00"
@.str.119 = [24 x i8] c"dhcpc 68/udp\0A\00"
@.str.120 = [24 x i8] c"tftp 69/tcp\0A\00"
@.str.121 = [24 x i8] c"tftp 69/udp\0A\00"
@.str.122 = [24 x i8] c"http 80/tcp\0A\00"
@.str.123 = [24 x i8] c"http 80/udp\0A\00"
@.str.124 = [24 x i8] c"kerberos 88/tcp\0A\00"
@.str.125 = [24 x i8] c"kerberos 88/udp\0A\00"
@.str.126 = [25 x i8] c"pop3 110/tcp\0A\00"
@.str.127 = [25 x i8] c"pop3 110/udp\0A\00"
@.str.128 = [25 x i8] c"portmapper 111/tcp\0A\00"
@.str.129 = [25 x i8] c"portmapper 111/udp\0A\00"
@.str.130 = [25 x i8] c"ntp 123/tcp\0A\00"
@.str.131 = [25 x i8] c"ntp 123/udp\0A\00"
@.str.132 = [25 x i8] c"imap 143/tcp\0A\00"
@.str.133 = [25 x i8] c"imap 143/udp\0A\00"
@.str.134 = [25 x i8] c"snmp 161/tcp\0A\00"
@.str.135 = [25 x i8] c"snmp 161/udp\0A\00"
@.str.136 = [25 x i8] c"snmptrap 162/udp\0A\00"
@.str.137 = [25 x i8] c"bgp 179/tcp\0A\00"
@.str.138 = [25 x i8] c"bgp 179/udp\0A\00"
@.str.139 = [25 x i8] c"ldap 389/tcp\0A\00"
@.str.140 = [25 x i8] c"ldap 389/udp\0A\00"
@.str.141 = [25 x i8] c"https 443/tcp\0A\00"
@.str.142 = [25 x i8] c"https 443/udp\0A\00"
@.str.143 = [25 x i8] c"rtsp 554/tcp\0A\00"
@.str.144 = [25 x i8] c"rtsp 554/udp\0A\00"
@.str.145 = [25 x i8] c"rsync 873/tcp\0A\00"
@.str.146 = [25 x i8] c"rsync 873/udp\0A\00"
@.str.147 = [25 x i8] c"imaps 993/tcp\0A\00"
@.str.148 = [25 x i8] c"imaps 993/udp\0A\00"
@.str.149 = [25 x i8] c"pop3s 995/tcp\0A\00"
@.str.150 = [25 x i8] c"pop3s 995/udp\0A\00"
@.str.151 = [27 x i8] c"traceroute 33434/tcp\0A\00"
@.str.152 = [27 x i8] c"traceroute 33434/udp\0A\00"
define void @kattach_thedawn_cfg_write() {
%1 = alloca i32*
%2 = alloca [255 x i8]
%3 = alloca [32 x i8]
%4 = alloca %struct.timeval
%5 = alloca i32
%6 = alloca i32
store i32 0, i32* %6
%7 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%8 = call i32 @memset(i8* %7, i32 0, i32 255)
%9 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%10 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %9, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0))
%11 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%12 = call i32* @fopen(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %12, i32** %1
%13 = load i32*, i32** %1
%14 = icmp eq i32* %13, null
br i1 %14, label %15, label %18
15: ; preds = %0
%16 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%17 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %16)
br label %23
18: ; preds = %0
%19 = load i32*, i32** %1
%20 = call i32 (i32*, i8*, ...) @fprintf(i32* %19, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i64 0, i64 0))
%21 = load i32*, i32** %1
%22 = call i32 @fclose(i32* %21)
br label %23
23: ; preds = %18, %15
%24 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%25 = call i32 @memset(i8* %24, i32 0, i32 255)
%26 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%27 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7, i64 0, i64 0))
%28 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%29 = call i32* @fopen(i8* %28, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %29, i32** %1
%30 = load i32*, i32** %1
%31 = icmp eq i32* %30, null
br i1 %31, label %32, label %35
32: ; preds = %23
%33 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%34 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %33)
br label %48
35: ; preds = %23
%36 = load i32*, i32** %1
%37 = call i32 (i32*, i8*, ...) @fprintf(i32* %36, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0))
%38 = load i32*, i32** %1
%39 = call i32 (i32*, i8*, ...) @fprintf(i32* %38, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.9, i64 0, i64 0))
%40 = load i32*, i32** %1
%41 = call i32 (i32*, i8*, ...) @fprintf(i32* %40, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i64 0, i64 0))
%42 = load i32*, i32** %1
%43 = call i32 (i32*, i8*, ...) @fprintf(i32* %42, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.12, i64 0, i64 0))
%44 = load i32*, i32** %1
%45 = call i32 (i32*, i8*, ...) @fprintf(i32* %44, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.13, i64 0, i64 0))
%46 = load i32*, i32** %1
%47 = call i32 @fclose(i32* %46)
br label %48
48: ; preds = %35, %32
%49 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%50 = call i32 @memset(i8* %49, i32 0, i32 255)
%51 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%52 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %51, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.14, i64 0, i64 0))
%53 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%54 = call i32* @fopen(i8* %53, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %54, i32** %1
%55 = load i32*, i32** %1
%56 = icmp eq i32* %55, null
br i1 %56, label %57, label %60
57: ; preds = %48
%58 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%59 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %58)
br label %67
60: ; preds = %48
%61 = load i32*, i32** %1
%62 = call i32 (i32*, i8*, ...) @fprintf(i32* %61, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.15, i64 0, i64 0))
%63 = load i32*, i32** %1
%64 = call i32 (i32*, i8*, ...) @fprintf(i32* %63, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.16, i64 0, i64 0))
%65 = load i32*, i32** %1
%66 = call i32 @fclose(i32* %65)
br label %67
67: ; preds = %60, %57
%68 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%69 = call i32 @memset(i8* %68, i32 0, i32 255)
%70 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%71 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %70, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0))
%72 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%73 = call i32* @fopen(i8* %72, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %73, i32** %1
%74 = load i32*, i32** %1
%75 = icmp eq i32* %74, null
br i1 %75, label %76, label %79
76: ; preds = %67
%77 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%78 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %77)
br label %90
79: ; preds = %67
%80 = load i32*, i32** %1
%81 = call i32 (i32*, i8*, ...) @fprintf(i32* %80, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.18, i64 0, i64 0))
%82 = load i32*, i32** %1
%83 = call i32 (i32*, i8*, ...) @fprintf(i32* %82, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.19, i64 0, i64 0))
%84 = load i32*, i32** %1
%85 = call i32 (i32*, i8*, ...) @fprintf(i32* %84, i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.20, i64 0, i64 0))
%86 = load i32*, i32** %1
%87 = call i32 (i32*, i8*, ...) @fprintf(i32* %86, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.21, i64 0, i64 0))
%88 = load i32*, i32** %1
%89 = call i32 @fclose(i32* %88)
br label %90
90: ; preds = %79, %76
%91 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%92 = call i32 @memset(i8* %91, i32 0, i32 255)
%93 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%94 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %93, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.22, i64 0, i64 0))
%95 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%96 = call i32* @fopen(i8* %95, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %96, i32** %1
%97 = load i32*, i32** %1
%98 = icmp eq i32* %97, null
br i1 %98, label %99, label %102
99: ; preds = %90
%100 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%101 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %100)
br label %123
102: ; preds = %90
%103 = load i32*, i32** %1
%104 = call i32 (i32*, i8*, ...) @fprintf(i32* %103, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0))
%105 = load i32*, i32** %1
%106 = call i32 (i32*, i8*, ...) @fprintf(i32* %105, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i64 0, i64 0))
%107 = load i32*, i32** %1
%108 = call i32 (i32*, i8*, ...) @fprintf(i32* %107, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25, i64 0, i64 0))
%109 = load i32*, i32** %1
%110 = call i32 (i32*, i8*, ...) @fprintf(i32* %109, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.26, i64 0, i64 0))
%111 = load i32*, i32** %1
%112 = call i32 (i32*, i8*, ...) @fprintf(i32* %111, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27, i64 0, i64 0))
%113 = load i32*, i32** %1
%114 = call i32 (i32*, i8*, ...) @fprintf(i32* %113, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.28, i64 0, i64 0))
%115 = load i32*, i32** %1
%116 = call i32 (i32*, i8*, ...) @fprintf(i32* %115, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.29, i64 0, i64 0))
%117 = load i32*, i32** %1
%118 = call i32 (i32*, i8*, ...) @fprintf(i32* %117, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.30, i64 0, i64 0))
%119 = load i32*, i32** %1
%120 = call i32 (i32*, i8*, ...) @fprintf(i32* %119, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.31, i64 0, i64 0))
%121 = load i32*, i32** %1
%122 = call i32 @fclose(i32* %121)
br label %123
123: ; preds = %102, %99
%124 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%125 = call i32 @memset(i8* %124, i32 0, i32 255)
%126 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%127 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %126, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.32, i64 0, i64 0))
%128 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%129 = call i32* @fopen(i8* %128, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %129, i32** %1
%130 = load i32*, i32** %1
%131 = icmp eq i32* %130, null
br i1 %131, label %132, label %135
132: ; preds = %123
%133 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%134 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %133)
br label %160
135: ; preds = %123
%136 = load i32*, i32** %1
%137 = call i32 (i32*, i8*, ...) @fprintf(i32* %136, i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.33, i64 0, i64 0))
%138 = load i32*, i32** %1
%139 = call i32 (i32*, i8*, ...) @fprintf(i32* %138, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34, i64 0, i64 0))
%140 = load i32*, i32** %1
%141 = call i32 (i32*, i8*, ...) @fprintf(i32* %140, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.35, i64 0, i64 0))
%142 = load i32*, i32** %1
%143 = call i32 (i32*, i8*, ...) @fprintf(i32* %142, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.36, i64 0, i64 0))
%144 = load i32*, i32** %1
%145 = call i32 (i32*, i8*, ...) @fprintf(i32* %144, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.37, i64 0, i64 0))
%146 = load i32*, i32** %1
%147 = call i32 (i32*, i8*, ...) @fprintf(i32* %146, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.38, i64 0, i64 0))
%148 = load i32*, i32** %1
%149 = call i32 (i32*, i8*, ...) @fprintf(i32* %148, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.39, i64 0, i64 0))
%150 = load i32*, i32** %1
%151 = call i32 (i32*, i8*, ...) @fprintf(i32* %150, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.40, i64 0, i64 0))
%152 = load i32*, i32** %1
%153 = call i32 (i32*, i8*, ...) @fprintf(i32* %152, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.41, i64 0, i64 0))
%154 = load i32*, i32** %1
%155 = call i32 (i32*, i8*, ...) @fprintf(i32* %154, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.42, i64 0, i64 0))
%156 = load i32*, i32** %1
%157 = call i32 (i32*, i8*, ...) @fprintf(i32* %156, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0))
%158 = load i32*, i32** %1
%159 = call i32 @fclose(i32* %158)
br label %160
160: ; preds = %135, %132
%161 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%162 = call i32 @memset(i8* %161, i32 0, i32 255)
%163 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%164 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %163, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.44, i64 0, i64 0))
%165 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%166 = call i32* @fopen(i8* %165, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %166, i32** %1
%167 = load i32*, i32** %1
%168 = icmp eq i32* %167, null
br i1 %168, label %169, label %172
169: ; preds = %160
%170 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%171 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %170)
br label %203
172: ; preds = %160
%173 = call i32 @gettimeofday(%struct.timeval* %4, i32* null)
%174 = getelementptr inbounds %struct.timeval, %struct.timeval* %4, i32 0, i32 0
%175 = load i32, i32* %174
store i32 %175, i32* %5
%176 = getelementptr inbounds [32 x i8], [32 x i8]* %3, i64 0, i64 0
%177 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %176, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.45, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i64 0, i64 0))
%178 = load i32*, i32** %1
%179 = getelementptr inbounds [32 x i8], [32 x i8]* %3, i64 0, i64 0
%180 = call i8* @kattach_thedawn_genpass(i8* %179)
%181 = load i32, i32* %5
%182 = sdiv i32 %181, 86400
%183 = call i32 (i32*, i8*, ...) @fprintf(i32* %178, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.46, i64 0, i64 0), i8* %180, i32 %182)
%184 = load i32*, i32** %1
%185 = load i32, i32* %5
%186 = sdiv i32 %185, 86400
%187 = call i32 (i32*, i8*, ...) @fprintf(i32* %184, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.47, i64 0, i64 0), i32 %186)
%188 = load i32*, i32** %1
%189 = load i32, i32* %5
%190 = sdiv i32 %189, 86400
%191 = call i32 (i32*, i8*, ...) @fprintf(i32* %188, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.48, i64 0, i64 0), i32 %190)
%192 = load i32*, i32** %1
%193 = getelementptr inbounds [32 x i8], [32 x i8]* %3, i64 0, i64 0
%194 = call i8* @kattach_thedawn_genpass(i8* %193)
%195 = load i32, i32* %5
%196 = sdiv i32 %195, 86400
%197 = call i32 (i32*, i8*, ...) @fprintf(i32* %192, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.49, i64 0, i64 0), i8* %194, i32 %196)
%198 = load i32*, i32** %1
%199 = call i32 @fclose(i32* %198)
%200 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%201 = load i32, i32* @S_IRUSR
%202 = call i32 @chmod(i8* %200, i32 %201)
store i32 %202, i32* %6
br label %203
203: ; preds = %172, %169
%204 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%205 = call i32 @memset(i8* %204, i32 0, i32 255)
%206 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%207 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %206, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.50, i64 0, i64 0))
%208 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%209 = call i32* @fopen(i8* %208, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %209, i32** %1
%210 = load i32*, i32** %1
%211 = icmp eq i32* %210, null
br i1 %211, label %212, label %215
212: ; preds = %203
%213 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%214 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %213)
br label %222
215: ; preds = %203
%216 = load i32*, i32** %1
%217 = call i32 (i32*, i8*, ...) @fprintf(i32* %216, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.51, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.52, i64 0, i64 0))
%218 = load i32*, i32** %1
%219 = call i32 (i32*, i8*, ...) @fprintf(i32* %218, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.51, i64 0, i64 0), i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.53, i64 0, i64 0))
%220 = load i32*, i32** %1
%221 = call i32 @fclose(i32* %220)
br label %222
222: ; preds = %215, %212
%223 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%224 = call i32 @memset(i8* %223, i32 0, i32 255)
%225 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%226 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %225, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.54, i64 0, i64 0))
%227 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%228 = call i32* @fopen(i8* %227, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %228, i32** %1
%229 = load i32*, i32** %1
%230 = icmp eq i32* %229, null
br i1 %230, label %231, label %234
231: ; preds = %222
%232 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%233 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %232)
br label %329
234: ; preds = %222
%235 = load i32*, i32** %1
%236 = call i32 (i32*, i8*, ...) @fprintf(i32* %235, i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.55, i64 0, i64 0))
%237 = load i32*, i32** %1
%238 = call i32 (i32*, i8*, ...) @fprintf(i32* %237, i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.56, i64 0, i64 0))
%239 = load i32*, i32** %1
%240 = call i32 (i32*, i8*, ...) @fprintf(i32* %239, i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.57, i64 0, i64 0))
%241 = load i32*, i32** %1
%242 = call i32 (i32*, i8*, ...) @fprintf(i32* %241, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.58, i64 0, i64 0))
%243 = load i32*, i32** %1
%244 = call i32 (i32*, i8*, ...) @fprintf(i32* %243, i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.59, i64 0, i64 0))
%245 = load i32*, i32** %1
%246 = call i32 (i32*, i8*, ...) @fprintf(i32* %245, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.60, i64 0, i64 0))
%247 = load i32*, i32** %1
%248 = call i32 (i32*, i8*, ...) @fprintf(i32* %247, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.61, i64 0, i64 0))
%249 = load i32*, i32** %1
%250 = call i32 (i32*, i8*, ...) @fprintf(i32* %249, i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.62, i64 0, i64 0))
%251 = load i32*, i32** %1
%252 = call i32 (i32*, i8*, ...) @fprintf(i32* %251, i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.63, i64 0, i64 0))
%253 = load i32*, i32** %1
%254 = call i32 (i32*, i8*, ...) @fprintf(i32* %253, i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.64, i64 0, i64 0))
%255 = load i32*, i32** %1
%256 = call i32 (i32*, i8*, ...) @fprintf(i32* %255, i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.65, i64 0, i64 0))
%257 = load i32*, i32** %1
%258 = call i32 (i32*, i8*, ...) @fprintf(i32* %257, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.66, i64 0, i64 0))
%259 = load i32*, i32** %1
%260 = call i32 (i32*, i8*, ...) @fprintf(i32* %259, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.67, i64 0, i64 0))
%261 = load i32*, i32** %1
%262 = call i32 (i32*, i8*, ...) @fprintf(i32* %261, i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.68, i64 0, i64 0))
%263 = load i32*, i32** %1
%264 = call i32 (i32*, i8*, ...) @fprintf(i32* %263, i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.69, i64 0, i64 0))
%265 = load i32*, i32** %1
%266 = call i32 (i32*, i8*, ...) @fprintf(i32* %265, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.70, i64 0, i64 0))
%267 = load i32*, i32** %1
%268 = call i32 (i32*, i8*, ...) @fprintf(i32* %267, i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.71, i64 0, i64 0))
%269 = load i32*, i32** %1
%270 = call i32 (i32*, i8*, ...) @fprintf(i32* %269, i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.72, i64 0, i64 0))
%271 = load i32*, i32** %1
%272 = call i32 (i32*, i8*, ...) @fprintf(i32* %271, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.73, i64 0, i64 0))
%273 = load i32*, i32** %1
%274 = call i32 (i32*, i8*, ...) @fprintf(i32* %273, i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.74, i64 0, i64 0))
%275 = load i32*, i32** %1
%276 = call i32 (i32*, i8*, ...) @fprintf(i32* %275, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.75, i64 0, i64 0))
%277 = load i32*, i32** %1
%278 = call i32 (i32*, i8*, ...) @fprintf(i32* %277, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.76, i64 0, i64 0))
%279 = load i32*, i32** %1
%280 = call i32 (i32*, i8*, ...) @fprintf(i32* %279, i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.77, i64 0, i64 0))
%281 = load i32*, i32** %1
%282 = call i32 (i32*, i8*, ...) @fprintf(i32* %281, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.78, i64 0, i64 0))
%283 = load i32*, i32** %1
%284 = call i32 (i32*, i8*, ...) @fprintf(i32* %283, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.79, i64 0, i64 0))
%285 = load i32*, i32** %1
%286 = call i32 (i32*, i8*, ...) @fprintf(i32* %285, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.80, i64 0, i64 0))
%287 = load i32*, i32** %1
%288 = call i32 (i32*, i8*, ...) @fprintf(i32* %287, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.81, i64 0, i64 0))
%289 = load i32*, i32** %1
%290 = call i32 (i32*, i8*, ...) @fprintf(i32* %289, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.82, i64 0, i64 0))
%291 = load i32*, i32** %1
%292 = call i32 (i32*, i8*, ...) @fprintf(i32* %291, i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.83, i64 0, i64 0))
%293 = load i32*, i32** %1
%294 = call i32 (i32*, i8*, ...) @fprintf(i32* %293, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.84, i64 0, i64 0))
%295 = load i32*, i32** %1
%296 = call i32 (i32*, i8*, ...) @fprintf(i32* %295, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.85, i64 0, i64 0))
%297 = load i32*, i32** %1
%298 = call i32 (i32*, i8*, ...) @fprintf(i32* %297, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.86, i64 0, i64 0))
%299 = load i32*, i32** %1
%300 = call i32 (i32*, i8*, ...) @fprintf(i32* %299, i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.87, i64 0, i64 0))
%301 = load i32*, i32** %1
%302 = call i32 (i32*, i8*, ...) @fprintf(i32* %301, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.88, i64 0, i64 0))
%303 = load i32*, i32** %1
%304 = call i32 (i32*, i8*, ...) @fprintf(i32* %303, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.89, i64 0, i64 0))
%305 = load i32*, i32** %1
%306 = call i32 (i32*, i8*, ...) @fprintf(i32* %305, i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.90, i64 0, i64 0))
%307 = load i32*, i32** %1
%308 = call i32 (i32*, i8*, ...) @fprintf(i32* %307, i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.91, i64 0, i64 0))
%309 = load i32*, i32** %1
%310 = call i32 (i32*, i8*, ...) @fprintf(i32* %309, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.92, i64 0, i64 0))
%311 = load i32*, i32** %1
%312 = call i32 (i32*, i8*, ...) @fprintf(i32* %311, i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.93, i64 0, i64 0))
%313 = load i32*, i32** %1
%314 = call i32 (i32*, i8*, ...) @fprintf(i32* %313, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.94, i64 0, i64 0))
%315 = load i32*, i32** %1
%316 = call i32 (i32*, i8*, ...) @fprintf(i32* %315, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.95, i64 0, i64 0))
%317 = load i32*, i32** %1
%318 = call i32 (i32*, i8*, ...) @fprintf(i32* %317, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.96, i64 0, i64 0))
%319 = load i32*, i32** %1
%320 = call i32 (i32*, i8*, ...) @fprintf(i32* %319, i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.97, i64 0, i64 0))
%321 = load i32*, i32** %1
%322 = call i32 (i32*, i8*, ...) @fprintf(i32* %321, i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.98, i64 0, i64 0))
%323 = load i32*, i32** %1
%324 = call i32 (i32*, i8*, ...) @fprintf(i32* %323, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.99, i64 0, i64 0))
%325 = load i32*, i32** %1
%326 = call i32 (i32*, i8*, ...) @fprintf(i32* %325, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.100, i64 0, i64 0))
%327 = load i32*, i32** %1
%328 = call i32 @fclose(i32* %327)
br label %329
329: ; preds = %234, %231
%330 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%331 = call i32 @memset(i8* %330, i32 0, i32 255)
%332 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%333 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %332, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.101, i64 0, i64 0))
%334 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%335 = call i32* @fopen(i8* %334, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
store i32* %335, i32** %1
%336 = load i32*, i32** %1
%337 = icmp eq i32* %336, null
br i1 %337, label %338, label %341
338: ; preds = %329
%339 = getelementptr inbounds [255 x i8], [255 x i8]* %2, i64 0, i64 0
%340 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %339)
br label %446
341: ; preds = %329
%342 = load i32*, i32** %1
%343 = call i32 (i32*, i8*, ...) @fprintf(i32* %342, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.102, i64 0, i64 0))
%344 = load i32*, i32** %1
%345 = call i32 (i32*, i8*, ...) @fprintf(i32* %344, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.103, i64 0, i64 0))
%346 = load i32*, i32** %1
%347 = call i32 (i32*, i8*, ...) @fprintf(i32* %346, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.104, i64 0, i64 0))
%348 = load i32*, i32** %1
%349 = call i32 (i32*, i8*, ...) @fprintf(i32* %348, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.105, i64 0, i64 0))
%350 = load i32*, i32** %1
%351 = call i32 (i32*, i8*, ...) @fprintf(i32* %350, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.106, i64 0, i64 0))
%352 = load i32*, i32** %1
%353 = call i32 (i32*, i8*, ...) @fprintf(i32* %352, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.107, i64 0, i64 0))
%354 = load i32*, i32** %1
%355 = call i32 (i32*, i8*, ...) @fprintf(i32* %354, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.108, i64 0, i64 0))
%356 = load i32*, i32** %1
%357 = call i32 (i32*, i8*, ...) @fprintf(i32* %356, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.109, i64 0, i64 0))
%358 = load i32*, i32** %1
%359 = call i32 (i32*, i8*, ...) @fprintf(i32* %358, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.110, i64 0, i64 0))
%360 = load i32*, i32** %1
%361 = call i32 (i32*, i8*, ...) @fprintf(i32* %360, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.111, i64 0, i64 0))
%362 = load i32*, i32** %1
%363 = call i32 (i32*, i8*, ...) @fprintf(i32* %362, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.112, i64 0, i64 0))
%364 = load i32*, i32** %1
%365 = call i32 (i32*, i8*, ...) @fprintf(i32* %364, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.113, i64 0, i64 0))
%366 = load i32*, i32** %1
%367 = call i32 (i32*, i8*, ...) @fprintf(i32* %366, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.114, i64 0, i64 0))
%368 = load i32*, i32** %1
%369 = call i32 (i32*, i8*, ...) @fprintf(i32* %368, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.115, i64 0, i64 0))
%370 = load i32*, i32** %1
%371 = call i32 (i32*, i8*, ...) @fprintf(i32* %370, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.116, i64 0, i64 0))
%372 = load i32*, i32** %1
%373 = call i32 (i32*, i8*, ...) @fprintf(i32* %372, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.117, i64 0, i64 0))
%374 = load i32*, i32** %1
%375 = call i32 (i32*, i8*, ...) @fprintf(i32* %374, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.118, i64 0, i64 0))
%376 = load i32*, i32** %1
%377 = call i32 (i32*, i8*, ...) @fprintf(i32* %376, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.119, i64 0, i64 0))
%378 = load i32*, i32** %1
%379 = call i32 (i32*, i8*, ...) @fprintf(i32* %378, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.120, i64 0, i64 0))
%380 = load i32*, i32** %1
%381 = call i32 (i32*, i8*, ...) @fprintf(i32* %380, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.121, i64 0, i64 0))
%382 = load i32*, i32** %1
%383 = call i32 (i32*, i8*, ...) @fprintf(i32* %382, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.122, i64 0, i64 0))
%384 = load i32*, i32** %1
%385 = call i32 (i32*, i8*, ...) @fprintf(i32* %384, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.123, i64 0, i64 0))
%386 = load i32*, i32** %1
%387 = call i32 (i32*, i8*, ...) @fprintf(i32* %386, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.124, i64 0, i64 0))
%388 = load i32*, i32** %1
%389 = call i32 (i32*, i8*, ...) @fprintf(i32* %388, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.125, i64 0, i64 0))
%390 = load i32*, i32** %1
%391 = call i32 (i32*, i8*, ...) @fprintf(i32* %390, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.126, i64 0, i64 0))
%392 = load i32*, i32** %1
%393 = call i32 (i32*, i8*, ...) @fprintf(i32* %392, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.127, i64 0, i64 0))
%394 = load i32*, i32** %1
%395 = call i32 (i32*, i8*, ...) @fprintf(i32* %394, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.128, i64 0, i64 0))
%396 = load i32*, i32** %1
%397 = call i32 (i32*, i8*, ...) @fprintf(i32* %396, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.129, i64 0, i64 0))
%398 = load i32*, i32** %1
%399 = call i32 (i32*, i8*, ...) @fprintf(i32* %398, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.130, i64 0, i64 0))
%400 = load i32*, i32** %1
%401 = call i32 (i32*, i8*, ...) @fprintf(i32* %400, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.131, i64 0, i64 0))
%402 = load i32*, i32** %1
%403 = call i32 (i32*, i8*, ...) @fprintf(i32* %402, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.132, i64 0, i64 0))
%404 = load i32*, i32** %1
%405 = call i32 (i32*, i8*, ...) @fprintf(i32* %404, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.133, i64 0, i64 0))
%406 = load i32*, i32** %1
%407 = call i32 (i32*, i8*, ...) @fprintf(i32* %406, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.134, i64 0, i64 0))
%408 = load i32*, i32** %1
%409 = call i32 (i32*, i8*, ...) @fprintf(i32* %408, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.135, i64 0, i64 0))
%410 = load i32*, i32** %1
%411 = call i32 (i32*, i8*, ...) @fprintf(i32* %410, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.136, i64 0, i64 0))
%412 = load i32*, i32** %1
%413 = call i32 (i32*, i8*, ...) @fprintf(i32* %412, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.137, i64 0, i64 0))
%414 = load i32*, i32** %1
%415 = call i32 (i32*, i8*, ...) @fprintf(i32* %414, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.138, i64 0, i64 0))
%416 = load i32*, i32** %1
%417 = call i32 (i32*, i8*, ...) @fprintf(i32* %416, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.139, i64 0, i64 0))
%418 = load i32*, i32** %1
%419 = call i32 (i32*, i8*, ...) @fprintf(i32* %418, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.140, i64 0, i64 0))
%420 = load i32*, i32** %1
%421 = call i32 (i32*, i8*, ...) @fprintf(i32* %420, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.141, i64 0, i64 0))
%422 = load i32*, i32** %1
%423 = call i32 (i32*, i8*, ...) @fprintf(i32* %422, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.142, i64 0, i64 0))
%424 = load i32*, i32** %1
%425 = call i32 (i32*, i8*, ...) @fprintf(i32* %424, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.143, i64 0, i64 0))
%426 = load i32*, i32** %1
%427 = call i32 (i32*, i8*, ...) @fprintf(i32* %426, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.144, i64 0, i64 0))
%428 = load i32*, i32** %1
%429 = call i32 (i32*, i8*, ...) @fprintf(i32* %428, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.145, i64 0, i64 0))
%430 = load i32*, i32** %1
%431 = call i32 (i32*, i8*, ...) @fprintf(i32* %430, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.146, i64 0, i64 0))
%432 = load i32*, i32** %1
%433 = call i32 (i32*, i8*, ...) @fprintf(i32* %432, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.147, i64 0, i64 0))
%434 = load i32*, i32** %1
%435 = call i32 (i32*, i8*, ...) @fprintf(i32* %434, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.148, i64 0, i64 0))
%436 = load i32*, i32** %1
%437 = call i32 (i32*, i8*, ...) @fprintf(i32* %436, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.149, i64 0, i64 0))
%438 = load i32*, i32** %1
%439 = call i32 (i32*, i8*, ...) @fprintf(i32* %438, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.150, i64 0, i64 0))
%440 = load i32*, i32** %1
%441 = call i32 (i32*, i8*, ...) @fprintf(i32* %440, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.151, i64 0, i64 0))
%442 = load i32*, i32** %1
%443 = call i32 (i32*, i8*, ...) @fprintf(i32* %442, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.152, i64 0, i64 0))
%444 = load i32*, i32** %1
%445 = call i32 @fclose(i32* %444)
br label %446
446: ; preds = %341, %338
ret void
}

LLVM IR (-O2):
%struct.timeval = type { i32 }
@.str = [6 x i8] c"%s/%s\00"
@.str.1 = [10 x i8] c"/kaos/cfg\00"
@.str.2 = [13 x i8] c"kaos.release\00"
@.str.3 = [2 x i8] c"w\00"
@.str.4 = [35 x i8] c"\0A [!] FATAL -- Unable to write %s\0A\00"
@.str.5 = [16 x i8] c"KaOS release %s\00"
@.str.6 = [8 x i8] c"0.6.1.0\00"
@.str.7 = [6 x i8] c"issue\00"
@.str.8 = [3 x i8] c"\0A\0A\00"
@.str.9 = [41 x i8] c"Kernel Attached Operating System (KaOS)\0A\00"
@.str.10 = [12 x i8] c"version %s\0A\00"
@.str.11 = [5 x i8] c"%s\0A\0A\00"
@.str.12 = [47 x i8] c"Copyright (c) 2009 - 2010 Carbon Mountain LLC.\00"
@.str.13 = [30 x i8] c"http://www.carbonmountain.com\00"
@.str.14 = [6 x i8] c"hosts\00"
@.str.15 = [20 x i8] c"127.0.0.1 localhost\00"
@.str.16 = [30 x i8] c"255.255.255.255 broadcasthost\00"
@.str.17 = [7 x i8] c"passwd\00"
@.str.18 = [32 x i8] c"root:x:0:0:root:/root:/bin/ash\0A\00"
@.str.19 = [36 x i8] c"bin:x:1:1:bin:/dev/null:/bin/flase\0A\00"
@.str.20 = [56 x i8] c"nobody:x:99:99:unpriviledged user:/dev/null:/bin/false\0A\00"
@.str.21 = [63 x i8] c"aqcli:x:100:77:AppQueue CLI user:/appq:/kaos/core/aq/appqueue\0A\00"
@.str.22 = [6 x i8] c"group\00"
@.str.23 = [11 x i8] c"root:x:0:\0A\00"
@.str.24 = [10 x i8] c"bin:x:1:\0A\00"
@.str.25 = [10 x i8] c"sys:x:2:\0A\00"
@.str.26 = [11 x i8] c"kmem:x:3:\0A\00"
@.str.27 = [10 x i8] c"tty:x:4:\0A\00"
@.str.28 = [12 x i8] c"utmp:x:13:\0A\00"
@.str.29 = [11 x i8] c"usb:x:14:\0A\00"
@.str.30 = [23 x i8] c"aqcli:x:77:root,aqcli\0A\00"
@.str.31 = [15 x i8] c"nogroup:x:99:\0A\00"
@.str.32 = [14 x i8] c"nsswitch.conf\00"
@.str.33 = [33 x i8] c"# auto-generated nsswitch.conf\0A\0A\00"
@.str.34 = [15 x i8] c"passwd: files\0A\00"
@.str.35 = [14 x i8] c"group: files\0A\00"
@.str.36 = [16 x i8] c"shadow: files\0A\0A\00"
@.str.37 = [18 x i8] c"hosts: files dns\0A\00"
@.str.38 = [18 x i8] c"networks: files\0A\0A\00"
@.str.39 = [18 x i8] c"protocols: files\0A\00"
@.str.40 = [17 x i8] c"services: files\0A\00"
@.str.41 = [15 x i8] c"ethers: files\0A\00"
@.str.42 = [13 x i8] c"rpc: files\0A\0A\00"
@.str.43 = [20 x i8] c"# End nsswitch.conf\00"
@.str.44 = [7 x i8] c"shadow\00"
@.str.45 = [8 x i8] c"kaos!%s\00"
@.str.46 = [25 x i8] c"root:%s:%u:0:99999:7:::\0A\00"
@.str.47 = [23 x i8] c"bin:x:%u:0:99999:7:::\0A\00"
@.str.48 = [26 x i8] c"nobody:x:%u:0:99999:7:::\0A\00"
@.str.49 = [26 x i8] c"aqcli:%s:%u:0:99999:7:::\0A\00"
@S_IRUSR = global i32 0
@.str.50 = [7 x i8] c"shells\00"
@.str.51 = [4 x i8] c"%s\0A\00"
@.str.52 = [23 x i8] c"/kaos/core/aq/appqueue\00"
@.str.53 = [28 x i8] c"/kaos/core/cmfs/aq/appqueue\00"
@.str.54 = [10 x i8] c"protocols\00"
@.str.55 = [77 x i8] c"ip 0 IP # internet protocol, pseudo protocol number\0A\00"
@.str.56 = [69 x i8] c"icmp 1 ICMP # internet control message protocol\0A\00"
@.str.57 = [61 x i8] c"igmp 2 IGMP # Internet Group Management\0A\00"
@.str.58 = [60 x i8] c"ggp 3 GGP # gateway-gateway protocol\0A\00"
@.str.59 = [77 x i8] c"ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')\0A\00"
@.str.60 = [52 x i8] c"st 5 ST # ST datagram mode\0A\00"
@.str.61 = [65 x i8] c"tcp 6 TCP # transmission control protocol\0A\00"
@.str.62 = [61 x i8] c"egp 8 EGP # exterior gateway protocol\0A\00"
@.str.63 = [72 x i8] c"igp 9 IGP # any private interior gateway (Cisco)\0A\00"
@.str.64 = [66 x i8] c"pup 12 PUP # PARC universal packet protocol\0A\00"
@.str.65 = [58 x i8] c"udp 17 UDP # user datagram protocol\0A\00"
@.str.66 = [60 x i8] c"hmp 20 HMP # host monitoring protocol\0A\00"
@.str.67 = [48 x i8] c"xns-idp 22 XNS-IDP # Xerox NS IDP\0A\00"
@.str.68 = [62 x i8] c"rdp 27 RDP # reliable datagram protocol\0A\00"
@.str.69 = [75 x i8] c"iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 [RFC905]\0A\00"
@.str.70 = [60 x i8] c"xtp 36 XTP # Xpress Transfer Protocol\0A\00"
@.str.71 = [62 x i8] c"ddp 37 DDP # Datagram Delivery Protocol\0A\00"
@.str.72 = [66 x i8] c"idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport\0A\00"
@.str.73 = [64 x i8] c"ipv6 41 IPv6 # Internet Protocol, version 6\0A\00"
@.str.74 = [59 x i8] c"ipv6-route 43 IPv6-Route # Routing Header for IPv6\0A\00"
@.str.75 = [60 x i8] c"ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6\0A\00"
@.str.76 = [65 x i8] c"idrp 45 IDRP # Inter-Domain Routing Protocol\0A\00"
@.str.77 = [56 x i8] c"rsvp 46 RSVP # Reservation Protocol\0A\00"
@.str.78 = [65 x i8] c"gre 47 GRE # General Routing Encapsulation\0A\00"
@.str.79 = [68 x i8] c"esp 50 IPSEC-ESP # Encap Security Payload [RFC2406]\0A\00"
@.str.80 = [67 x i8] c"ah 51 IPSEC-AH # Authentication Header [RFC2402]\0A\00"
@.str.81 = [40 x i8] c"skip 57 SKIP # SKIP\0A\00"
@.str.82 = [49 x i8] c"ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6\0A\00"
@.str.83 = [59 x i8] c"ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6\0A\00"
@.str.84 = [64 x i8] c"ipv6-opts 60 IPv6-Opts # Destination Options for IPv6\0A\00"
@.str.85 = [79 x i8] c"rspf 73 RSPF CPHB # Radio Shortest Path First (officially CPHB)\0A\00"
@.str.86 = [63 x i8] c"vmtp 81 VMTP # Versatile Message Transport\0A\00"
@.str.87 = [78 x i8] c"eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco)\0A\00"
@.str.88 = [64 x i8] c"ospf 89 OSPFIGP # Open Shortest Path First IGP\0A\00"
@.str.89 = [48 x i8] c"ax.25 93 AX.25 # AX.25 frames\0A\00"
@.str.90 = [71 x i8] c"ipip 94 IPIP # IP-within-IP Encapsulation Protocol\0A\00"
@.str.91 = [78 x i8] c"etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378]\0A\00"
@.str.92 = [74 x i8] c"encap 98 ENCAP # Yet Another IP encapsulation [RFC1241]\0A\00"
@.str.93 = [66 x i8] c"pim 103 PIM # Protocol Independent Multicast\0A\00"
@.str.94 = [67 x i8] c"ipcomp 108 IPCOMP # IP Payload Compression Protocol\0A\00"
@.str.95 = [70 x i8] c"vrrp 112 VRRP # Virtual Router Redundancy Protocol\0A\00"
@.str.96 = [74 x i8] c"l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC2661]\0A\00"
@.str.97 = [51 x i8] c"isis 124 ISIS # IS-IS over IPv4\0A\00"
@.str.98 = [72 x i8] c"sctp 132 SCTP # Stream Control Transmission Protocol\0A\00"
@.str.99 = [49 x i8] c"fc 133 FC # Fibre Channel\0A\00"
@.str.100 = [44 x i8] c"udplite 136 UDPLite # UDP-Lite\0A\00"
@.str.101 = [9 x i8] c"services\00"
@.str.102 = [24 x i8] c"ftp-data 20/tcp\0A\00"
@.str.103 = [24 x i8] c"ftp-data 20/udp\0A\00"
@.str.104 = [24 x i8] c"ftp 21/tcp\0A\00"
@.str.105 = [24 x i8] c"ftp 21/udp\0A\00"
@.str.106 = [24 x i8] c"ssh 22/tcp\0A\00"
@.str.107 = [24 x i8] c"ssh 22/udp\0A\00"
@.str.108 = [24 x i8] c"telnet 23/tcp\0A\00"
@.str.109 = [24 x i8] c"telnet 23/udp\0A\00"
@.str.110 = [24 x i8] c"smtp 25/tcp\0A\00"
@.str.111 = [24 x i8] c"smtp 25/udp\0A\00"
@.str.112 = [24 x i8] c"tacacs 49/tcp\0A\00"
@.str.113 = [24 x i8] c"tacacs 49/udp\0A\00"
@.str.114 = [24 x i8] c"domain 53/tcp\0A\00"
@.str.115 = [24 x i8] c"domain 53/udp\0A\00"
@.str.116 = [24 x i8] c"bootps 67/tcp\0A\00"
@.str.117 = [24 x i8] c"bootps 67/udp\0A\00"
@.str.118 = [24 x i8] c"dhcpc 68/tcp\0A\00"
@.str.119 = [24 x i8] c"dhcpc 68/udp\0A\00"
@.str.120 = [24 x i8] c"tftp 69/tcp\0A\00"
@.str.121 = [24 x i8] c"tftp 69/udp\0A\00"
@.str.122 = [24 x i8] c"http 80/tcp\0A\00"
@.str.123 = [24 x i8] c"http 80/udp\0A\00"
@.str.124 = [24 x i8] c"kerberos 88/tcp\0A\00"
@.str.125 = [24 x i8] c"kerberos 88/udp\0A\00"
@.str.126 = [25 x i8] c"pop3 110/tcp\0A\00"
@.str.127 = [25 x i8] c"pop3 110/udp\0A\00"
@.str.128 = [25 x i8] c"portmapper 111/tcp\0A\00"
@.str.129 = [25 x i8] c"portmapper 111/udp\0A\00"
@.str.130 = [25 x i8] c"ntp 123/tcp\0A\00"
@.str.131 = [25 x i8] c"ntp 123/udp\0A\00"
@.str.132 = [25 x i8] c"imap 143/tcp\0A\00"
@.str.133 = [25 x i8] c"imap 143/udp\0A\00"
@.str.134 = [25 x i8] c"snmp 161/tcp\0A\00"
@.str.135 = [25 x i8] c"snmp 161/udp\0A\00"
@.str.136 = [25 x i8] c"snmptrap 162/udp\0A\00"
@.str.137 = [25 x i8] c"bgp 179/tcp\0A\00"
@.str.138 = [25 x i8] c"bgp 179/udp\0A\00"
@.str.139 = [25 x i8] c"ldap 389/tcp\0A\00"
@.str.140 = [25 x i8] c"ldap 389/udp\0A\00"
@.str.141 = [25 x i8] c"https 443/tcp\0A\00"
@.str.142 = [25 x i8] c"https 443/udp\0A\00"
@.str.143 = [25 x i8] c"rtsp 554/tcp\0A\00"
@.str.144 = [25 x i8] c"rtsp 554/udp\0A\00"
@.str.145 = [25 x i8] c"rsync 873/tcp\0A\00"
@.str.146 = [25 x i8] c"rsync 873/udp\0A\00"
@.str.147 = [25 x i8] c"imaps 993/tcp\0A\00"
@.str.148 = [25 x i8] c"imaps 993/udp\0A\00"
@.str.149 = [25 x i8] c"pop3s 995/tcp\0A\00"
@.str.150 = [25 x i8] c"pop3s 995/udp\0A\00"
@.str.151 = [27 x i8] c"traceroute 33434/tcp\0A\00"
@.str.152 = [27 x i8] c"traceroute 33434/udp\0A\00"
define void @kattach_thedawn_cfg_write() {
%1 = alloca [255 x i8]
%2 = alloca [32 x i8]
%3 = alloca %struct.timeval
%4 = getelementptr inbounds [255 x i8], [255 x i8]* %1, i64 0, i64 0
%5 = getelementptr inbounds [32 x i8], [32 x i8]* %2, i64 0, i64 0
%6 = bitcast %struct.timeval* %3 to i8*
%7 = call i32 @memset(i8* %4, i32 0, i32 255)
%8 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0))
%9 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%10 = icmp eq i32* %9, null
br i1 %10, label %11, label %13
11: ; preds = %0
%12 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %16
13: ; preds = %0
%14 = call i32 (i32*, i8*, ...) @fprintf(i32* %9, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i64 0, i64 0))
%15 = call i32 @fclose(i32* %9)
br label %16
16: ; preds = %13, %11
%17 = call i32 @memset(i8* %4, i32 0, i32 255)
%18 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7, i64 0, i64 0))
%19 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%20 = icmp eq i32* %19, null
br i1 %20, label %21, label %23
21: ; preds = %16
%22 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %30
23: ; preds = %16
%24 = call i64 @fwrite(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i64 2, i64 1, i32* %19)
%25 = call i64 @fwrite(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.9, i64 0, i64 0), i64 40, i64 1, i32* %19)
%26 = call i32 (i32*, i8*, ...) @fprintf(i32* %19, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i64 0, i64 0))
%27 = call i32 (i32*, i8*, ...) @fprintf(i32* %19, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.12, i64 0, i64 0))
%28 = call i32 (i32*, i8*, ...) @fprintf(i32* %19, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.13, i64 0, i64 0))
%29 = call i32 @fclose(i32* %19)
br label %30
30: ; preds = %23, %21
%31 = call i32 @memset(i8* %4, i32 0, i32 255)
%32 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.14, i64 0, i64 0))
%33 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%34 = icmp eq i32* %33, null
br i1 %34, label %35, label %37
35: ; preds = %30
%36 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %41
37: ; preds = %30
%38 = call i64 @fwrite(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.15, i64 0, i64 0), i64 19, i64 1, i32* %33)
%39 = call i64 @fwrite(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.16, i64 0, i64 0), i64 29, i64 1, i32* %33)
%40 = call i32 @fclose(i32* %33)
br label %41
41: ; preds = %37, %35
%42 = call i32 @memset(i8* %4, i32 0, i32 255)
%43 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.17, i64 0, i64 0))
%44 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%45 = icmp eq i32* %44, null
br i1 %45, label %46, label %48
46: ; preds = %41
%47 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %54
48: ; preds = %41
%49 = call i64 @fwrite(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.18, i64 0, i64 0), i64 31, i64 1, i32* %44)
%50 = call i64 @fwrite(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.19, i64 0, i64 0), i64 35, i64 1, i32* %44)
%51 = call i64 @fwrite(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.20, i64 0, i64 0), i64 55, i64 1, i32* %44)
%52 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.21, i64 0, i64 0), i64 62, i64 1, i32* %44)
%53 = call i32 @fclose(i32* %44)
br label %54
54: ; preds = %48, %46
%55 = call i32 @memset(i8* %4, i32 0, i32 255)
%56 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.22, i64 0, i64 0))
%57 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%58 = icmp eq i32* %57, null
br i1 %58, label %59, label %61
59: ; preds = %54
%60 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %72
61: ; preds = %54
%62 = call i64 @fwrite(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.23, i64 0, i64 0), i64 10, i64 1, i32* %57)
%63 = call i64 @fwrite(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24, i64 0, i64 0), i64 9, i64 1, i32* %57)
%64 = call i64 @fwrite(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25, i64 0, i64 0), i64 9, i64 1, i32* %57)
%65 = call i64 @fwrite(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.26, i64 0, i64 0), i64 10, i64 1, i32* %57)
%66 = call i64 @fwrite(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27, i64 0, i64 0), i64 9, i64 1, i32* %57)
%67 = call i64 @fwrite(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.28, i64 0, i64 0), i64 11, i64 1, i32* %57)
%68 = call i64 @fwrite(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.29, i64 0, i64 0), i64 10, i64 1, i32* %57)
%69 = call i64 @fwrite(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.30, i64 0, i64 0), i64 22, i64 1, i32* %57)
%70 = call i64 @fwrite(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.31, i64 0, i64 0), i64 14, i64 1, i32* %57)
%71 = call i32 @fclose(i32* %57)
br label %72
72: ; preds = %61, %59
%73 = call i32 @memset(i8* %4, i32 0, i32 255)
%74 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.32, i64 0, i64 0))
%75 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%76 = icmp eq i32* %75, null
br i1 %76, label %77, label %79
77: ; preds = %72
%78 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %92
79: ; preds = %72
%80 = call i64 @fwrite(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.33, i64 0, i64 0), i64 32, i64 1, i32* %75)
%81 = call i64 @fwrite(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34, i64 0, i64 0), i64 14, i64 1, i32* %75)
%82 = call i64 @fwrite(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.35, i64 0, i64 0), i64 13, i64 1, i32* %75)
%83 = call i64 @fwrite(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.36, i64 0, i64 0), i64 15, i64 1, i32* %75)
%84 = call i64 @fwrite(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.37, i64 0, i64 0), i64 17, i64 1, i32* %75)
%85 = call i64 @fwrite(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.38, i64 0, i64 0), i64 17, i64 1, i32* %75)
%86 = call i64 @fwrite(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.39, i64 0, i64 0), i64 17, i64 1, i32* %75)
%87 = call i64 @fwrite(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.40, i64 0, i64 0), i64 16, i64 1, i32* %75)
%88 = call i64 @fwrite(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.41, i64 0, i64 0), i64 14, i64 1, i32* %75)
%89 = call i64 @fwrite(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.42, i64 0, i64 0), i64 12, i64 1, i32* %75)
%90 = call i64 @fwrite(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0), i64 19, i64 1, i32* %75)
%91 = call i32 @fclose(i32* %75)
br label %92
92: ; preds = %79, %77
%93 = call i32 @memset(i8* %4, i32 0, i32 255)
%94 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.44, i64 0, i64 0))
%95 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%96 = icmp eq i32* %95, null
br i1 %96, label %97, label %99
97: ; preds = %92
%98 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %114
99: ; preds = %92
%100 = call i32 @gettimeofday(%struct.timeval* %3, i32* null)
%101 = getelementptr inbounds %struct.timeval, %struct.timeval* %3, i64 0, i32 0
%102 = load i32, i32* %101
%103 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %5, i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.45, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i64 0, i64 0))
%104 = call i8* @kattach_thedawn_genpass(i8* %5)
%105 = sdiv i32 %102, 86400
%106 = call i32 (i32*, i8*, ...) @fprintf(i32* %95, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.46, i64 0, i64 0), i8* %104, i32 %105)
%107 = call i32 (i32*, i8*, ...) @fprintf(i32* %95, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.47, i64 0, i64 0), i32 %105)
%108 = call i32 (i32*, i8*, ...) @fprintf(i32* %95, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.48, i64 0, i64 0), i32 %105)
%109 = call i8* @kattach_thedawn_genpass(i8* %5)
%110 = call i32 (i32*, i8*, ...) @fprintf(i32* %95, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.49, i64 0, i64 0), i8* %109, i32 %105)
%111 = call i32 @fclose(i32* %95)
%112 = load i32, i32* @S_IRUSR
%113 = call i32 @chmod(i8* %4, i32 %112)
br label %114
114: ; preds = %99, %97
%115 = call i32 @memset(i8* %4, i32 0, i32 255)
%116 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.50, i64 0, i64 0))
%117 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%118 = icmp eq i32* %117, null
br i1 %118, label %119, label %121
119: ; preds = %114
%120 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %125
121: ; preds = %114
%122 = call i32 (i32*, i8*, ...) @fprintf(i32* %117, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.51, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.52, i64 0, i64 0))
%123 = call i32 (i32*, i8*, ...) @fprintf(i32* %117, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.51, i64 0, i64 0), i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.53, i64 0, i64 0))
%124 = call i32 @fclose(i32* %117)
br label %125
125: ; preds = %121, %119
%126 = call i32 @memset(i8* %4, i32 0, i32 255)
%127 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.54, i64 0, i64 0))
%128 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%129 = icmp eq i32* %128, null
br i1 %129, label %130, label %132
130: ; preds = %125
%131 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %180
132: ; preds = %125
%133 = call i64 @fwrite(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.55, i64 0, i64 0), i64 76, i64 1, i32* %128)
%134 = call i64 @fwrite(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.56, i64 0, i64 0), i64 68, i64 1, i32* %128)
%135 = call i64 @fwrite(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.57, i64 0, i64 0), i64 60, i64 1, i32* %128)
%136 = call i64 @fwrite(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.58, i64 0, i64 0), i64 59, i64 1, i32* %128)
%137 = call i64 @fwrite(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.59, i64 0, i64 0), i64 76, i64 1, i32* %128)
%138 = call i64 @fwrite(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.60, i64 0, i64 0), i64 51, i64 1, i32* %128)
%139 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.61, i64 0, i64 0), i64 64, i64 1, i32* %128)
%140 = call i64 @fwrite(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.62, i64 0, i64 0), i64 60, i64 1, i32* %128)
%141 = call i64 @fwrite(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.63, i64 0, i64 0), i64 71, i64 1, i32* %128)
%142 = call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.64, i64 0, i64 0), i64 65, i64 1, i32* %128)
%143 = call i64 @fwrite(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.65, i64 0, i64 0), i64 57, i64 1, i32* %128)
%144 = call i64 @fwrite(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.66, i64 0, i64 0), i64 59, i64 1, i32* %128)
%145 = call i64 @fwrite(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.67, i64 0, i64 0), i64 47, i64 1, i32* %128)
%146 = call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.68, i64 0, i64 0), i64 61, i64 1, i32* %128)
%147 = call i64 @fwrite(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.69, i64 0, i64 0), i64 74, i64 1, i32* %128)
%148 = call i64 @fwrite(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.70, i64 0, i64 0), i64 59, i64 1, i32* %128)
%149 = call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.71, i64 0, i64 0), i64 61, i64 1, i32* %128)
%150 = call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.72, i64 0, i64 0), i64 65, i64 1, i32* %128)
%151 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.73, i64 0, i64 0), i64 63, i64 1, i32* %128)
%152 = call i64 @fwrite(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.74, i64 0, i64 0), i64 58, i64 1, i32* %128)
%153 = call i64 @fwrite(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.75, i64 0, i64 0), i64 59, i64 1, i32* %128)
%154 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.76, i64 0, i64 0), i64 64, i64 1, i32* %128)
%155 = call i64 @fwrite(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.77, i64 0, i64 0), i64 55, i64 1, i32* %128)
%156 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.78, i64 0, i64 0), i64 64, i64 1, i32* %128)
%157 = call i64 @fwrite(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.79, i64 0, i64 0), i64 67, i64 1, i32* %128)
%158 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.80, i64 0, i64 0), i64 66, i64 1, i32* %128)
%159 = call i64 @fwrite(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.81, i64 0, i64 0), i64 39, i64 1, i32* %128)
%160 = call i64 @fwrite(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.82, i64 0, i64 0), i64 48, i64 1, i32* %128)
%161 = call i64 @fwrite(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.83, i64 0, i64 0), i64 58, i64 1, i32* %128)
%162 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.84, i64 0, i64 0), i64 63, i64 1, i32* %128)
%163 = call i64 @fwrite(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.85, i64 0, i64 0), i64 78, i64 1, i32* %128)
%164 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.86, i64 0, i64 0), i64 62, i64 1, i32* %128)
%165 = call i64 @fwrite(i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.87, i64 0, i64 0), i64 77, i64 1, i32* %128)
%166 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.88, i64 0, i64 0), i64 63, i64 1, i32* %128)
%167 = call i64 @fwrite(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.89, i64 0, i64 0), i64 47, i64 1, i32* %128)
%168 = call i64 @fwrite(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.90, i64 0, i64 0), i64 70, i64 1, i32* %128)
%169 = call i64 @fwrite(i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.91, i64 0, i64 0), i64 77, i64 1, i32* %128)
%170 = call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.92, i64 0, i64 0), i64 73, i64 1, i32* %128)
%171 = call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.93, i64 0, i64 0), i64 65, i64 1, i32* %128)
%172 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.94, i64 0, i64 0), i64 66, i64 1, i32* %128)
%173 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.95, i64 0, i64 0), i64 69, i64 1, i32* %128)
%174 = call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.96, i64 0, i64 0), i64 73, i64 1, i32* %128)
%175 = call i64 @fwrite(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.97, i64 0, i64 0), i64 50, i64 1, i32* %128)
%176 = call i64 @fwrite(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.98, i64 0, i64 0), i64 71, i64 1, i32* %128)
%177 = call i64 @fwrite(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.99, i64 0, i64 0), i64 48, i64 1, i32* %128)
%178 = call i64 @fwrite(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.100, i64 0, i64 0), i64 43, i64 1, i32* %128)
%179 = call i32 @fclose(i32* %128)
br label %180
180: ; preds = %132, %130
%181 = call i32 @memset(i8* %4, i32 0, i32 255)
%182 = call i32 (i8*, i8*, i8*, ...) @sprintf(i8* %4, i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.101, i64 0, i64 0))
%183 = call i32* @fopen(i8* %4, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0))
%184 = icmp eq i32* %183, null
br i1 %184, label %185, label %187
185: ; preds = %180
%186 = call i32 @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0), i8* %4)
br label %240
187: ; preds = %180
%188 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.102, i64 0, i64 0), i64 23, i64 1, i32* %183)
%189 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.103, i64 0, i64 0), i64 23, i64 1, i32* %183)
%190 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.104, i64 0, i64 0), i64 23, i64 1, i32* %183)
%191 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.105, i64 0, i64 0), i64 23, i64 1, i32* %183)
%192 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.106, i64 0, i64 0), i64 23, i64 1, i32* %183)
%193 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.107, i64 0, i64 0), i64 23, i64 1, i32* %183)
%194 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.108, i64 0, i64 0), i64 23, i64 1, i32* %183)
%195 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.109, i64 0, i64 0), i64 23, i64 1, i32* %183)
%196 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.110, i64 0, i64 0), i64 23, i64 1, i32* %183)
%197 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.111, i64 0, i64 0), i64 23, i64 1, i32* %183)
%198 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.112, i64 0, i64 0), i64 23, i64 1, i32* %183)
%199 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.113, i64 0, i64 0), i64 23, i64 1, i32* %183)
%200 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.114, i64 0, i64 0), i64 23, i64 1, i32* %183)
%201 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.115, i64 0, i64 0), i64 23, i64 1, i32* %183)
%202 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.116, i64 0, i64 0), i64 23, i64 1, i32* %183)
%203 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.117, i64 0, i64 0), i64 23, i64 1, i32* %183)
%204 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.118, i64 0, i64 0), i64 23, i64 1, i32* %183)
%205 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.119, i64 0, i64 0), i64 23, i64 1, i32* %183)
%206 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.120, i64 0, i64 0), i64 23, i64 1, i32* %183)
%207 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.121, i64 0, i64 0), i64 23, i64 1, i32* %183)
%208 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.122, i64 0, i64 0), i64 23, i64 1, i32* %183)
%209 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.123, i64 0, i64 0), i64 23, i64 1, i32* %183)
%210 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.124, i64 0, i64 0), i64 23, i64 1, i32* %183)
%211 = call i64 @fwrite(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.125, i64 0, i64 0), i64 23, i64 1, i32* %183)
%212 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.126, i64 0, i64 0), i64 24, i64 1, i32* %183)
%213 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.127, i64 0, i64 0), i64 24, i64 1, i32* %183)
%214 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.128, i64 0, i64 0), i64 24, i64 1, i32* %183)
%215 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.129, i64 0, i64 0), i64 24, i64 1, i32* %183)
%216 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.130, i64 0, i64 0), i64 24, i64 1, i32* %183)
%217 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.131, i64 0, i64 0), i64 24, i64 1, i32* %183)
%218 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.132, i64 0, i64 0), i64 24, i64 1, i32* %183)
%219 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.133, i64 0, i64 0), i64 24, i64 1, i32* %183)
%220 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.134, i64 0, i64 0), i64 24, i64 1, i32* %183)
%221 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.135, i64 0, i64 0), i64 24, i64 1, i32* %183)
%222 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.136, i64 0, i64 0), i64 24, i64 1, i32* %183)
%223 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.137, i64 0, i64 0), i64 24, i64 1, i32* %183)
%224 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.138, i64 0, i64 0), i64 24, i64 1, i32* %183)
%225 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.139, i64 0, i64 0), i64 24, i64 1, i32* %183)
%226 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.140, i64 0, i64 0), i64 24, i64 1, i32* %183)
%227 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.141, i64 0, i64 0), i64 24, i64 1, i32* %183)
%228 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.142, i64 0, i64 0), i64 24, i64 1, i32* %183)
%229 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.143, i64 0, i64 0), i64 24, i64 1, i32* %183)
%230 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.144, i64 0, i64 0), i64 24, i64 1, i32* %183)
%231 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.145, i64 0, i64 0), i64 24, i64 1, i32* %183)
%232 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.146, i64 0, i64 0), i64 24, i64 1, i32* %183)
%233 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.147, i64 0, i64 0), i64 24, i64 1, i32* %183)
%234 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.148, i64 0, i64 0), i64 24, i64 1, i32* %183)
%235 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.149, i64 0, i64 0), i64 24, i64 1, i32* %183)
%236 = call i64 @fwrite(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.150, i64 0, i64 0), i64 24, i64 1, i32* %183)
%237 = call i64 @fwrite(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.151, i64 0, i64 0), i64 26, i64 1, i32* %183)
%238 = call i64 @fwrite(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.152, i64 0, i64 0), i64 26, i64 1, i32* %183)
%239 = call i32 @fclose(i32* %183)
br label %240
240: ; preds = %187, %185
ret void
}