#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 uint8_t;
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ LLVMFuzzerTestOneInput(int *, size_t);
int /*<<< orphan*/ fclose(int /*<<< orphan*/ *);
int /*<<< orphan*/ *fgets(char *, int, int /*<<< orphan*/ *);
int /*<<< orphan*/ *fopen(char *, char *);
int /*<<< orphan*/ printf(char *, ...);
int sscanf(char *, char *, ...);
scalar_t__ strcmp(char *, char *);
int main(int argc, char **argv) {
  FILE *fp;
  uint8_t Data[64];
  char line[128];
  size_t Size;
  char arch[128];
  char mode[128];
  unsigned int value;
  int i;
  if (argc < 2) {
    return 1;
  }
  for (i = 1; i < argc; i++) {
    fp = fopen(argv[i], "rb");
    if (fp == NULL) {
      return 2;
    }
    printf("Trying %s\n", argv[i]);
    if (fgets(line, 128, fp) == NULL) {
      break;
    }
    if (line[0] == '#') {
      if (sscanf(line, "# %[^,], %[^,]", arch, mode) != 2) {
        printf("Wrong mode %s\n", line);
        return 1;
      }
      if (strcmp(arch, "CS_ARCH_X86") == 0 && strcmp(mode, "CS_MODE_32") == 0) {
        Data[0] = 0;
      } else if (strcmp(arch, "CS_ARCH_X86") == 0 &&
                 strcmp(mode, "CS_MODE_64") == 0) {
        Data[0] = 1;
      } else if (strcmp(arch, "CS_ARCH_ARM") == 0 &&
                 strcmp(mode, "CS_MODE_ARM") == 0) {
        Data[0] = 2;
      } else if (strcmp(arch, "CS_ARCH_ARM") == 0 &&
                 strcmp(mode, "CS_MODE_THUMB") == 0) {
        Data[0] = 3;
      } else if (strcmp(arch, "CS_ARCH_ARM") == 0 &&
                 strcmp(mode, "CS_MODE_ARM+CS_MODE_V8") == 0) {
        Data[0] = 4;
      } else if (strcmp(arch, "CS_ARCH_ARM") == 0 &&
                 strcmp(mode, "CS_MODE_THUMB+CS_MODE_V8") == 0) {
        Data[0] = 5;
      } else if (strcmp(arch, "CS_ARCH_ARM") == 0 &&
                 strcmp(mode, "CS_MODE_THUMB+CS_MODE_MCLASS") == 0) {
        Data[0] = 6;
      } else if (strcmp(arch, "CS_ARCH_ARM64") == 0 && strcmp(mode, "0") == 0) {
        Data[0] = 7;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN") == 0) {
        Data[0] = 8;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS32+CS_MODE_MICRO") == 0) {
        Data[0] = 9;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS64") == 0) {
        Data[0] = 10;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS32") == 0) {
        Data[0] = 11;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS64+CS_MODE_BIG_ENDIAN") == 0) {
        Data[0] = 12;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode,
                        "CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN") ==
                     0) {
        Data[0] = 13;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode,
                        "CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN+CS_MODE_MICRO") ==
                     0) {
        Data[0] = 13;
      } else if (strcmp(arch, "CS_ARCH_PPC") == 0 &&
                 strcmp(mode, "CS_MODE_BIG_ENDIAN") == 0) {
        Data[0] = 14;
      } else if (strcmp(arch, "CS_ARCH_SPARC") == 0 &&
                 strcmp(mode, "CS_MODE_BIG_ENDIAN") == 0) {
        Data[0] = 15;
      } else if (strcmp(arch, "CS_ARCH_SPARC") == 0 &&
                 strcmp(mode, "CS_MODE_BIG_ENDIAN + CS_MODE_V9") == 0) {
        Data[0] = 16;
      } else if (strcmp(arch, "CS_ARCH_SYSZ") == 0 && strcmp(mode, "0") == 0) {
        Data[0] = 17;
      } else if (strcmp(arch, "CS_ARCH_XCORE") == 0 && strcmp(mode, "0") == 0) {
        Data[0] = 18;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS32R6+CS_MODE_BIG_ENDIAN") == 0) {
        Data[0] = 19;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode,
                        "CS_MODE_MIPS32R6+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN") ==
                     0) {
        Data[0] = 20;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS32R6") == 0) {
        Data[0] = 21;
      } else if (strcmp(arch, "CS_ARCH_MIPS") == 0 &&
                 strcmp(mode, "CS_MODE_MIPS32R6+CS_MODE_MICRO") == 0) {
        Data[0] = 22;
      } else if (strcmp(arch, "CS_ARCH_M68K") == 0 && strcmp(mode, "0") == 0) {
        Data[0] = 23;
      } else if (strcmp(arch, "CS_ARCH_M680X") == 0 &&
                 strcmp(mode, "CS_MODE_M680X_6809") == 0) {
        Data[0] = 24;
      } else if (strcmp(arch, "CS_ARCH_EVM") == 0 && strcmp(mode, "0") == 0) {
        Data[0] = 25;
      } else {
        printf("Unknown mode\n");
        return 1;
      }
    } else {
      printf("No mode\n");
      return 1;
    }
    while (1) {
      if (fgets(line, 128, fp) == NULL) {
        break;
      }
      Size = 1;
      while (sscanf(line + (Size - 1) * 5, "0x%02x", &value) == 1) {
        Data[Size] = value;
        Size++;
        if (line[(Size - 1) * 5 - 1] != ',') {
          break;
        } else if (128 < (Size - 1) * 5) {
          printf("Line overflow\n");
          return 1;
        }
      }
      LLVMFuzzerTestOneInput(Data, Size);
    }
    fclose(fp);
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2c0,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
cmpl   $0x2,-0x8(%rbp)
jge    119f <main+0x2f>
movl   $0x1,-0x4(%rbp)
jmp    1c31 <main+0xac1>
movl   $0x1,-0x2b8(%rbp)
mov    -0x2b8(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    1c2a <main+0xaba>
mov    -0x10(%rbp),%rax
movslq -0x2b8(%rbp),%rcx
mov    (%rax,%rcx,8),%rdi
lea    0xe32(%rip),%rsi
call   1090 <fopen@plt>
mov    %rax,-0x18(%rbp)
cmpq   $0x0,-0x18(%rbp)
jne    11ee <main+0x7e>
movl   $0x2,-0x4(%rbp)
jmp    1c31 <main+0xac1>
mov    -0x10(%rbp),%rax
movslq -0x2b8(%rbp),%rcx
mov    (%rax,%rcx,8),%rsi
lea    0xdff(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    -0x1a0(%rbp),%rdi
mov    -0x18(%rbp),%rdx
mov    $0x80,%esi
call   1060 <fgets@plt>
cmp    $0x0,%rax
jne    122f <main+0xbf>
jmp    1c2a <main+0xaba>
movsbl -0x1a0(%rbp),%eax
cmp    $0x23,%eax
jne    1ae0 <main+0x970>
lea    -0x1a0(%rbp),%rdi
lea    -0x230(%rbp),%rdx
lea    -0x2b0(%rbp),%rcx
lea    0xdb3(%rip),%rsi
mov    $0x0,%al
call   1080 <sscanf@plt>
cmp    $0x2,%eax
je     128c <main+0x11c>
lea    -0x1a0(%rbp),%rsi
lea    0xda4(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
movl   $0x1,-0x4(%rbp)
jmp    1c31 <main+0xac1>
lea    -0x230(%rbp),%rdi
lea    0xd92(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    12d5 <main+0x165>
lea    -0x2b0(%rbp),%rdi
lea    0xd81(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    12d5 <main+0x165>
movl   $0x0,-0x120(%rbp)
jmp    1adb <main+0x96b>
lea    -0x230(%rbp),%rdi
lea    0xd49(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    131e <main+0x1ae>
lea    -0x2b0(%rbp),%rdi
lea    0xd43(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    131e <main+0x1ae>
movl   $0x1,-0x120(%rbp)
jmp    1ad6 <main+0x966>
lea    -0x230(%rbp),%rdi
lea    0xd22(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1367 <main+0x1f7>
lea    -0x2b0(%rbp),%rdi
lea    0xd11(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1367 <main+0x1f7>
movl   $0x2,-0x120(%rbp)
jmp    1ad1 <main+0x961>
lea    -0x230(%rbp),%rdi
lea    0xcd9(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    13b0 <main+0x240>
lea    -0x2b0(%rbp),%rdi
lea    0xcd4(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    13b0 <main+0x240>
movl   $0x3,-0x120(%rbp)
jmp    1acc <main+0x95c>
lea    -0x230(%rbp),%rdi
lea    0xc90(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    13f9 <main+0x289>
lea    -0x2b0(%rbp),%rdi
lea    0xc99(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    13f9 <main+0x289>
movl   $0x4,-0x120(%rbp)
jmp    1ac7 <main+0x957>
lea    -0x230(%rbp),%rdi
lea    0xc47(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1442 <main+0x2d2>
lea    -0x2b0(%rbp),%rdi
lea    0xc67(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1442 <main+0x2d2>
movl   $0x5,-0x120(%rbp)
jmp    1ac2 <main+0x952>
lea    -0x230(%rbp),%rdi
lea    0xbfe(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    148b <main+0x31b>
lea    -0x2b0(%rbp),%rdi
lea    0xc37(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    148b <main+0x31b>
movl   $0x6,-0x120(%rbp)
jmp    1abd <main+0x94d>
lea    -0x230(%rbp),%rdi
lea    0xc28(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    14d4 <main+0x364>
lea    -0x2b0(%rbp),%rdi
lea    0xc19(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    14d4 <main+0x364>
movl   $0x7,-0x120(%rbp)
jmp    1ab8 <main+0x948>
lea    -0x230(%rbp),%rdi
lea    0xbef(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    151d <main+0x3ad>
lea    -0x2b0(%rbp),%rdi
lea    0xbdf(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    151d <main+0x3ad>
movl   $0x8,-0x120(%rbp)
jmp    1ab3 <main+0x943>
lea    -0x230(%rbp),%rdi
lea    0xba6(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1566 <main+0x3f6>
lea    -0x2b0(%rbp),%rdi
lea    0xbb8(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1566 <main+0x3f6>
movl   $0x9,-0x120(%rbp)
jmp    1aae <main+0x93e>
lea    -0x230(%rbp),%rdi
lea    0xb5d(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    15af <main+0x43f>
lea    -0x2b0(%rbp),%rdi
lea    0xb8c(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    15af <main+0x43f>
movl   $0xa,-0x120(%rbp)
jmp    1aa9 <main+0x939>
lea    -0x230(%rbp),%rdi
lea    0xb14(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    15f8 <main+0x488>
lea    -0x2b0(%rbp),%rdi
lea    0xb52(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    15f8 <main+0x488>
movl   $0xb,-0x120(%rbp)
jmp    1aa4 <main+0x934>
lea    -0x230(%rbp),%rdi
lea    0xacb(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1641 <main+0x4d1>
lea    -0x2b0(%rbp),%rdi
lea    0xb18(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1641 <main+0x4d1>
movl   $0xc,-0x120(%rbp)
jmp    1a9f <main+0x92f>
lea    -0x230(%rbp),%rdi
lea    0xa82(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    168a <main+0x51a>
lea    -0x2b0(%rbp),%rdi
lea    0xaf1(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    168a <main+0x51a>
movl   $0xd,-0x120(%rbp)
jmp    1a9a <main+0x92a>
lea    -0x230(%rbp),%rdi
lea    0xa39(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    16d3 <main+0x563>
lea    -0x2b0(%rbp),%rdi
lea    0xad8(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    16d3 <main+0x563>
movl   $0xd,-0x120(%rbp)
jmp    1a95 <main+0x925>
lea    -0x230(%rbp),%rdi
lea    0xadc(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    171c <main+0x5ac>
lea    -0x2b0(%rbp),%rdi
lea    0x9ef(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    171c <main+0x5ac>
movl   $0xe,-0x120(%rbp)
jmp    1a90 <main+0x920>
lea    -0x230(%rbp),%rdi
lea    0xa9f(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1765 <main+0x5f5>
lea    -0x2b0(%rbp),%rdi
lea    0x9a6(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1765 <main+0x5f5>
movl   $0xf,-0x120(%rbp)
jmp    1a8b <main+0x91b>
lea    -0x230(%rbp),%rdi
lea    0xa56(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    17ae <main+0x63e>
lea    -0x2b0(%rbp),%rdi
lea    0xa47(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    17ae <main+0x63e>
movl   $0x10,-0x120(%rbp)
jmp    1a86 <main+0x916>
lea    -0x230(%rbp),%rdi
lea    0xa3b(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    17f7 <main+0x687>
lea    -0x2b0(%rbp),%rdi
lea    0x8f6(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    17f7 <main+0x687>
movl   $0x11,-0x120(%rbp)
jmp    1a81 <main+0x911>
lea    -0x230(%rbp),%rdi
lea    0x9ff(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1840 <main+0x6d0>
lea    -0x2b0(%rbp),%rdi
lea    0x8ad(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1840 <main+0x6d0>
movl   $0x12,-0x120(%rbp)
jmp    1a7c <main+0x90c>
lea    -0x230(%rbp),%rdi
lea    0x883(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1889 <main+0x719>
lea    -0x2b0(%rbp),%rdi
lea    0x9a7(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1889 <main+0x719>
movl   $0x13,-0x120(%rbp)
jmp    1a77 <main+0x907>
lea    -0x230(%rbp),%rdi
lea    0x83a(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    18d2 <main+0x762>
lea    -0x2b0(%rbp),%rdi
lea    0x982(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    18d2 <main+0x762>
movl   $0x14,-0x120(%rbp)
jmp    1a72 <main+0x902>
lea    -0x230(%rbp),%rdi
lea    0x7f1(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    191b <main+0x7ab>
lea    -0x2b0(%rbp),%rdi
lea    0x96b(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    191b <main+0x7ab>
movl   $0x15,-0x120(%rbp)
jmp    1a6d <main+0x8fd>
lea    -0x230(%rbp),%rdi
lea    0x7a8(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1964 <main+0x7f4>
lea    -0x2b0(%rbp),%rdi
lea    0x933(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1964 <main+0x7f4>
movl   $0x16,-0x120(%rbp)
jmp    1a68 <main+0x8f8>
lea    -0x230(%rbp),%rdi
lea    0x926(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    19ad <main+0x83d>
lea    -0x2b0(%rbp),%rdi
lea    0x740(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    19ad <main+0x83d>
movl   $0x17,-0x120(%rbp)
jmp    1a63 <main+0x8f3>
lea    -0x230(%rbp),%rdi
lea    0x8ea(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    19f6 <main+0x886>
lea    -0x2b0(%rbp),%rdi
lea    0x8db(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    19f6 <main+0x886>
movl   $0x18,-0x120(%rbp)
jmp    1a5e <main+0x8ee>
lea    -0x230(%rbp),%rdi
lea    0x8c2(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1a3f <main+0x8cf>
lea    -0x2b0(%rbp),%rdi
lea    0x6ae(%rip),%rsi
call   1070 <strcmp@plt>
cmp    $0x0,%rax
jne    1a3f <main+0x8cf>
movl   $0x19,-0x120(%rbp)
jmp    1a59 <main+0x8e9>
lea    0x88c(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
movl   $0x1,-0x4(%rbp)
jmp    1c31 <main+0xac1>
jmp    1a5e <main+0x8ee>
jmp    1a63 <main+0x8f3>
jmp    1a68 <main+0x8f8>
jmp    1a6d <main+0x8fd>
jmp    1a72 <main+0x902>
jmp    1a77 <main+0x907>
jmp    1a7c <main+0x90c>
jmp    1a81 <main+0x911>
jmp    1a86 <main+0x916>
jmp    1a8b <main+0x91b>
jmp    1a90 <main+0x920>
jmp    1a95 <main+0x925>
jmp    1a9a <main+0x92a>
jmp    1a9f <main+0x92f>
jmp    1aa4 <main+0x934>
jmp    1aa9 <main+0x939>
jmp    1aae <main+0x93e>
jmp    1ab3 <main+0x943>
jmp    1ab8 <main+0x948>
jmp    1abd <main+0x94d>
jmp    1ac2 <main+0x952>
jmp    1ac7 <main+0x957>
jmp    1acc <main+0x95c>
jmp    1ad1 <main+0x961>
jmp    1ad6 <main+0x966>
jmp    1adb <main+0x96b>
jmp    1afa <main+0x98a>
lea    0x7f9(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
movl   $0x1,-0x4(%rbp)
jmp    1c31 <main+0xac1>
jmp    1aff <main+0x98f>
lea    -0x1a0(%rbp),%rdi
mov    -0x18(%rbp),%rdx
mov    $0x80,%esi
call   1060 <fgets@plt>
cmp    $0x0,%rax
jne    1b23 <main+0x9b3>
jmp    1c0d <main+0xa9d>
movq   $0x1,-0x1a8(%rbp)
lea    -0x1a0(%rbp),%rdi
mov    -0x1a8(%rbp),%rax
sub    $0x1,%rax
imul   $0x5,%rax,%rax
add    %rax,%rdi
lea    0x79b(%rip),%rsi
lea    -0x2b4(%rbp),%rdx
mov    $0x0,%al
call   1080 <sscanf@plt>
cmp    $0x1,%eax
jne    1bf5 <main+0xa85>
mov    -0x2b4(%rbp),%ecx
mov    -0x1a8(%rbp),%rax
mov    %ecx,-0x120(%rbp,%rax,4)
mov    -0x1a8(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x1a8(%rbp)
mov    -0x1a8(%rbp),%rax
sub    $0x1,%rax
imul   $0x5,%rax,%rax
sub    $0x1,%rax
movsbl -0x1a0(%rbp,%rax,1),%eax
ff
cmp    $0x2c,%eax
je     1bb4 <main+0xa44>
jmp    1bf5 <main+0xa85>
mov    -0x1a8(%rbp),%rax
sub    $0x1,%rax
imul   $0x5,%rax,%rcx
mov    $0x80,%eax
cmp    %rcx,%rax
jae    1beb <main+0xa7b>
lea    0x718(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
movl   $0x1,-0x4(%rbp)
jmp    1c31 <main+0xac1>
jmp    1bf0 <main+0xa80>
jmp    1b2e <main+0x9be>
lea    -0x120(%rbp),%rdi
mov    -0x1a8(%rbp),%rsi
call   1050 <LLVMFuzzerTestOneInput@plt>
jmp    1aff <main+0x98f>
mov    -0x18(%rbp),%rdi
call   1030 <fclose@plt>
mov    -0x2b8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2b8(%rbp)
jmp    11a9 <main+0x39>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x2c0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x2a8,%rsp
mov    $0x1,%eax
cmp    $0x2,%edi
jl     19b3 <main+0x833>
mov    %rsi,%rbx
mov    %edi,%eax
mov    %rax,0x10(%rsp)
mov    $0x1,%r12d
lea    0x1a0(%rsp),%r14
lea    0x220(%rsp),%r13
lea    0xc(%rsp),%r15
mov    %rsi,0x18(%rsp)
jmp    11fc <main+0x7c>
nopl   0x0(%rax,%rax,1)
mov    %rbp,%rdi
call   1040 <fclose@plt>
mov    %rbx,%r12
add    $0x1,%r12
cmp    0x10(%rsp),%r12
mov    0x18(%rsp),%rbx
lea    0x220(%rsp),%r13
mov    $0x0,%eax
je     19b3 <main+0x833>
mov    (%rbx,%r12,8),%rdi
lea    0xdf9(%rip),%rsi
call   10a0 <fopen@plt>
test   %rax,%rax
je     19c5 <main+0x845>
mov    %rax,%rbp
mov    (%rbx,%r12,8),%rsi
lea    0xde0(%rip),%rdi
xor    %eax,%eax
call   1050 <printf@plt>
mov    %r14,%rdi
mov    $0x80,%esi
mov    %rbp,%rdx
call   1070 <fgets@plt>
test   %rax,%rax
je     19cc <main+0x84c>
cmpb   $0x23,0x1a0(%rsp)
23
jne    19d0 <main+0x850>
mov    %r14,%rdi
lea    0xdb3(%rip),%rsi
mov    %r13,%rdx
lea    0x20(%rsp),%rcx
xor    %eax,%eax
call   1090 <sscanf@plt>
cmp    $0x2,%eax
jne    19d9 <main+0x859>
mov    %r13,%rdi
lea    0xdaf(%rip),%rbx
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    12a4 <main+0x124>
lea    0x20(%rsp),%rdi
lea    0xda2(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1731 <main+0x5b1>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    12ce <main+0x14e>
lea    0x20(%rsp),%rdi
lea    0xd83(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1744 <main+0x5c4>
mov    %r13,%rdi
lea    0xd76(%rip),%rbx
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    12ff <main+0x17f>
lea    0x20(%rsp),%rdi
lea    0xd69(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1757 <main+0x5d7>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1329 <main+0x1a9>
lea    0x20(%rsp),%rdi
lea    0xd4b(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     176a <main+0x5ea>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1353 <main+0x1d3>
lea    0x20(%rsp),%rdi
lea    0xd2f(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     177d <main+0x5fd>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    137d <main+0x1fd>
lea    0x20(%rsp),%rdi
lea    0xd1c(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1790 <main+0x610>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    13a7 <main+0x227>
lea    0x20(%rsp),%rdi
lea    0xd0b(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     17a3 <main+0x623>
mov    %r13,%rdi
lea    0xd10(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    13d5 <main+0x255>
lea    0x20(%rsp),%rdi
lea    0xd08(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     17b6 <main+0x636>
mov    %r13,%rdi
lea    0xcf2(%rip),%rbx
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1406 <main+0x286>
lea    0x20(%rsp),%rdi
lea    0xce6(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     17c9 <main+0x649>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1430 <main+0x2b0>
lea    0x20(%rsp),%rdi
lea    0xcde(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     17ef <main+0x66f>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    145a <main+0x2da>
lea    0x20(%rsp),%rdi
lea    0xcd1(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1802 <main+0x682>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1484 <main+0x304>
lea    0x20(%rsp),%rdi
lea    0xcb6(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1815 <main+0x695>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    14ae <main+0x32e>
lea    0x20(%rsp),%rdi
lea    0xc9b(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1828 <main+0x6a8>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    14d8 <main+0x358>
lea    0x20(%rsp),%rdi
lea    0xc93(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     17dc <main+0x65c>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1502 <main+0x382>
lea    0x20(%rsp),%rdi
lea    0xc99(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     17dc <main+0x65c>
mov    %r13,%rdi
lea    0xcb1(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1530 <main+0x3b0>
lea    0x20(%rsp),%rdi
lea    0xbcb(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     183b <main+0x6bb>
mov    %r13,%rdi
lea    0xc8f(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    155e <main+0x3de>
lea    0x20(%rsp),%rdi
lea    0xb9d(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     184e <main+0x6ce>
mov    %r13,%rdi
lea    0xc61(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    158c <main+0x40c>
lea    0x20(%rsp),%rdi
lea    0xc59(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1861 <main+0x6e1>
mov    %r13,%rdi
lea    0xc61(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    15ba <main+0x43a>
lea    0x20(%rsp),%rdi
lea    0xb23(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1874 <main+0x6f4>
mov    %r13,%rdi
lea    0xc40(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    15e8 <main+0x468>
lea    0x20(%rsp),%rdi
lea    0xaf5(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1884 <main+0x704>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1612 <main+0x492>
lea    0x20(%rsp),%rdi
lea    0xc0e(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     1894 <main+0x714>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    163c <main+0x4bc>
lea    0x20(%rsp),%rdi
lea    0xc08(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     18a4 <main+0x724>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1666 <main+0x4e6>
lea    0x20(%rsp),%rdi
lea    0xc10(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     18b4 <main+0x734>
mov    %r13,%rdi
mov    %rbx,%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    1690 <main+0x510>
lea    0x20(%rsp),%rdi
lea    0xbf7(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     18c4 <main+0x744>
mov    %r13,%rdi
lea    0xbfe(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    16be <main+0x53e>
lea    0x20(%rsp),%rdi
lea    0xa1f(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     18d4 <main+0x754>
mov    %r13,%rdi
lea    0xbdd(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    16ec <main+0x56c>
lea    0x20(%rsp),%rdi
lea    0xbd5(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
je     18e4 <main+0x764>
mov    %r13,%rdi
lea    0xbd0(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    19f1 <main+0x871>
lea    0x20(%rsp),%rdi
lea    0x9bf(%rip),%rsi
call   1080 <strcmp@plt>
test   %rax,%rax
jne    19f1 <main+0x871>
mov    %r12,%rbx
movl   $0x19,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x0,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x1,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x2,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x3,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x4,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x5,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x6,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x7,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x8,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0xd,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x9,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0xa,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0xb,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0xc,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0xe,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0xf,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x10,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x11,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x12,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x13,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x14,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x15,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x16,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x17,0xa0(%rsp)
jmp    1900 <main+0x780>
mov    %r12,%rbx
movl   $0x18,0xa0(%rsp)
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %r14,%rdi
mov    $0x80,%esi
mov    %rbp,%rdx
call   1070 <fgets@plt>
test   %rax,%rax
je     11d0 <main+0x50>
mov    $0x1,%r12d
jmp    195f <main+0x7df>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
lea    0xa0(%rsp),%rdi
mov    %r12,%rsi
call   1060 <LLVMFuzzerTestOneInput@plt>
mov    %r14,%rdi
mov    $0x80,%esi
mov    %rbp,%rdx
call   1070 <fgets@plt>
mov    $0x1,%r12d
test   %rax,%rax
je     11d0 <main+0x50>
lea    (%r12,%r12,4),%r13
lea    (%rsp,%r13,1),%rdi
add    $0x19b,%rdi
lea    0x95d(%rip),%rsi
mov    %r15,%rdx
xor    %eax,%eax
call   1090 <sscanf@plt>
cmp    $0x1,%eax
jne    1930 <main+0x7b0>
mov    0xc(%rsp),%eax
mov    %eax,0xa0(%rsp,%r12,4)
add    $0x1,%r12
cmpb   $0x2c,-0x1(%r13,%r14,1)
jne    1930 <main+0x7b0>
cmp    $0x1b,%r12
jne    195f <main+0x7df>
lea    0x945(%rip),%rdi
call   1030 <puts@plt>
mov    $0x1,%eax
add    $0x2a8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
mov    $0x2,%eax
jmp    19b3 <main+0x833>
xor    %eax,%eax
jmp    19b3 <main+0x833>
lea    0x902(%rip),%rdi
jmp    19a9 <main+0x829>
lea    0x63d(%rip),%rdi
lea    0x1a0(%rsp),%rsi
xor    %eax,%eax
call   1050 <printf@plt>
jmp    19ae <main+0x82e>
lea    0x8e9(%rip),%rdi
jmp    19a9 <main+0x829>

LLVM IR (-O0):
@.str = [3 x i8] c"rb\00"
@.str.1 = [11 x i8] c"Trying %s\0A\00"
@.str.2 = [15 x i8] c"# %[^,], %[^,]\00"
@.str.3 = [15 x i8] c"Wrong mode %s\0A\00"
@.str.4 = [12 x i8] c"CS_ARCH_X86\00"
@.str.5 = [11 x i8] c"CS_MODE_32\00"
@.str.6 = [11 x i8] c"CS_MODE_64\00"
@.str.7 = [12 x i8] c"CS_ARCH_ARM\00"
@.str.8 = [12 x i8] c"CS_MODE_ARM\00"
@.str.9 = [14 x i8] c"CS_MODE_THUMB\00"
@.str.10 = [23 x i8] c"CS_MODE_ARM+CS_MODE_V8\00"
@.str.11 = [25 x i8] c"CS_MODE_THUMB+CS_MODE_V8\00"
@.str.12 = [29 x i8] c"CS_MODE_THUMB+CS_MODE_MCLASS\00"
@.str.13 = [14 x i8] c"CS_ARCH_ARM64\00"
@.str.14 = [2 x i8] c"0\00"
@.str.15 = [13 x i8] c"CS_ARCH_MIPS\00"
@.str.16 = [34 x i8] c"CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN\00"
@.str.17 = [29 x i8] c"CS_MODE_MIPS32+CS_MODE_MICRO\00"
@.str.18 = [15 x i8] c"CS_MODE_MIPS64\00"
@.str.19 = [15 x i8] c"CS_MODE_MIPS32\00"
@.str.20 = [34 x i8] c"CS_MODE_MIPS64+CS_MODE_BIG_ENDIAN\00"
@.str.21 = [48 x i8] c"CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN\00"
@.str.22 = [48 x i8] c"CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN+CS_MODE_MICRO\00"
@.str.23 = [12 x i8] c"CS_ARCH_PPC\00"
@.str.24 = [19 x i8] c"CS_MODE_BIG_ENDIAN\00"
@.str.25 = [14 x i8] c"CS_ARCH_SPARC\00"
@.str.26 = [32 x i8] c"CS_MODE_BIG_ENDIAN + CS_MODE_V9\00"
@.str.27 = [13 x i8] c"CS_ARCH_SYSZ\00"
@.str.28 = [14 x i8] c"CS_ARCH_XCORE\00"
@.str.29 = [36 x i8] c"CS_MODE_MIPS32R6+CS_MODE_BIG_ENDIAN\00"
@.str.30 = [50 x i8] c"CS_MODE_MIPS32R6+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN\00"
@.str.31 = [17 x i8] c"CS_MODE_MIPS32R6\00"
@.str.32 = [31 x i8] c"CS_MODE_MIPS32R6+CS_MODE_MICRO\00"
@.str.33 = [13 x i8] c"CS_ARCH_M68K\00"
@.str.34 = [14 x i8] c"CS_ARCH_M680X\00"
@.str.35 = [19 x i8] c"CS_MODE_M680X_6809\00"
@.str.36 = [12 x i8] c"CS_ARCH_EVM\00"
@.str.37 = [14 x i8] c"Unknown mode\0A\00"
@.str.38 = [9 x i8] c"No mode\0A\00"
@.str.39 = [7 x i8] c"0x%02x\00"
@.str.40 = [15 x i8] c"Line overflow\0A\00"
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca i32*
%7 = alloca [64 x i32]
%8 = alloca [128 x i8]
%9 = alloca i64
%10 = alloca [128 x i8]
%11 = alloca [128 x i8]
%12 = alloca i32
%13 = alloca i32
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
%14 = load i32, i32* %4
%15 = icmp slt i32 %14, 2
br i1 %15, label %16, label %17
16: ; preds = %2
store i32 1, i32* %3
br label %410
17: ; preds = %2
store i32 1, i32* %13
br label %18
18: ; preds = %406, %17
%19 = load i32, i32* %13
%20 = load i32, i32* %4
%21 = icmp slt i32 %19, %20
br i1 %21, label %22, label %409
22: ; preds = %18
%23 = load i8**, i8*** %5
%24 = load i32, i32* %13
%25 = sext i32 %24 to i64
%26 = getelementptr inbounds i8*, i8** %23, i64 %25
%27 = load i8*, i8** %26
%28 = call i32* @fopen(i8* %27, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
store i32* %28, i32** %6
%29 = load i32*, i32** %6
%30 = icmp eq i32* %29, null
br i1 %30, label %31, label %32
31: ; preds = %22
store i32 2, i32* %3
br label %410
32: ; preds = %22
%33 = load i8**, i8*** %5
%34 = load i32, i32* %13
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds i8*, i8** %33, i64 %35
%37 = load i8*, i8** %36
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.1, i64 0, i64 0), i8* %37)
%39 = getelementptr inbounds [128 x i8], [128 x i8]* %8, i64 0, i64 0
%40 = load i32*, i32** %6
%41 = call i32* @fgets(i8* %39, i32 128, i32* %40)
%42 = icmp eq i32* %41, null
br i1 %42, label %43, label %44
43: ; preds = %32
br label %409
44: ; preds = %32
%45 = getelementptr inbounds [128 x i8], [128 x i8]* %8, i64 0, i64 0
%46 = load i8, i8* %45
%47 = sext i8 %46 to i32
%48 = icmp eq i32 %47, 35
br i1 %48, label %49, label %357
49: ; preds = %44
%50 = getelementptr inbounds [128 x i8], [128 x i8]* %8, i64 0, i64 0
%51 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%52 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%53 = call i32 (i8*, i8*, ...) @sscanf(i8* %50, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2, i64 0, i64 0), i8* %51, i8* %52)
%54 = icmp ne i32 %53, 2
br i1 %54, label %55, label %58
55: ; preds = %49
%56 = getelementptr inbounds [128 x i8], [128 x i8]* %8, i64 0, i64 0
%57 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.3, i64 0, i64 0), i8* %56)
store i32 1, i32* %3
br label %410
58: ; preds = %49
%59 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%60 = call i64 @strcmp(i8* %59, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.4, i64 0, i64 0))
%61 = icmp eq i64 %60, 0
br i1 %61, label %62, label %68
62: ; preds = %58
%63 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%64 = call i64 @strcmp(i8* %63, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.5, i64 0, i64 0))
%65 = icmp eq i64 %64, 0
br i1 %65, label %66, label %68
66: ; preds = %62
%67 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 0, i32* %67
br label %356
68: ; preds = %62, %58
%69 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%70 = call i64 @strcmp(i8* %69, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.4, i64 0, i64 0))
%71 = icmp eq i64 %70, 0
br i1 %71, label %72, label %78
72: ; preds = %68
%73 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%74 = call i64 @strcmp(i8* %73, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6, i64 0, i64 0))
%75 = icmp eq i64 %74, 0
br i1 %75, label %76, label %78
76: ; preds = %72
%77 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 1, i32* %77
br label %355
78: ; preds = %72, %68
%79 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%80 = call i64 @strcmp(i8* %79, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%81 = icmp eq i64 %80, 0
br i1 %81, label %82, label %88
82: ; preds = %78
%83 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%84 = call i64 @strcmp(i8* %83, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.8, i64 0, i64 0))
%85 = icmp eq i64 %84, 0
br i1 %85, label %86, label %88
86: ; preds = %82
%87 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 2, i32* %87
br label %354
88: ; preds = %82, %78
%89 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%90 = call i64 @strcmp(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%91 = icmp eq i64 %90, 0
br i1 %91, label %92, label %98
92: ; preds = %88
%93 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%94 = call i64 @strcmp(i8* %93, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0))
%95 = icmp eq i64 %94, 0
br i1 %95, label %96, label %98
96: ; preds = %92
%97 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 3, i32* %97
br label %353
98: ; preds = %92, %88
%99 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%100 = call i64 @strcmp(i8* %99, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%101 = icmp eq i64 %100, 0
br i1 %101, label %102, label %108
102: ; preds = %98
%103 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%104 = call i64 @strcmp(i8* %103, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.10, i64 0, i64 0))
%105 = icmp eq i64 %104, 0
br i1 %105, label %106, label %108
106: ; preds = %102
%107 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 4, i32* %107
br label %352
108: ; preds = %102, %98
%109 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%110 = call i64 @strcmp(i8* %109, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%111 = icmp eq i64 %110, 0
br i1 %111, label %112, label %118
112: ; preds = %108
%113 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%114 = call i64 @strcmp(i8* %113, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.11, i64 0, i64 0))
%115 = icmp eq i64 %114, 0
br i1 %115, label %116, label %118
116: ; preds = %112
%117 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 5, i32* %117
br label %351
118: ; preds = %112, %108
%119 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%120 = call i64 @strcmp(i8* %119, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%121 = icmp eq i64 %120, 0
br i1 %121, label %122, label %128
122: ; preds = %118
%123 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%124 = call i64 @strcmp(i8* %123, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.12, i64 0, i64 0))
%125 = icmp eq i64 %124, 0
br i1 %125, label %126, label %128
126: ; preds = %122
%127 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 6, i32* %127
br label %350
128: ; preds = %122, %118
%129 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%130 = call i64 @strcmp(i8* %129, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.13, i64 0, i64 0))
%131 = icmp eq i64 %130, 0
br i1 %131, label %132, label %138
132: ; preds = %128
%133 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%134 = call i64 @strcmp(i8* %133, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%135 = icmp eq i64 %134, 0
br i1 %135, label %136, label %138
136: ; preds = %132
%137 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 7, i32* %137
br label %349
138: ; preds = %132, %128
%139 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%140 = call i64 @strcmp(i8* %139, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%141 = icmp eq i64 %140, 0
br i1 %141, label %142, label %148
142: ; preds = %138
%143 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%144 = call i64 @strcmp(i8* %143, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.16, i64 0, i64 0))
%145 = icmp eq i64 %144, 0
br i1 %145, label %146, label %148
146: ; preds = %142
%147 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 8, i32* %147
br label %348
148: ; preds = %142, %138
%149 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%150 = call i64 @strcmp(i8* %149, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%151 = icmp eq i64 %150, 0
br i1 %151, label %152, label %158
152: ; preds = %148
%153 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%154 = call i64 @strcmp(i8* %153, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0))
%155 = icmp eq i64 %154, 0
br i1 %155, label %156, label %158
156: ; preds = %152
%157 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 9, i32* %157
br label %347
158: ; preds = %152, %148
%159 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%160 = call i64 @strcmp(i8* %159, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%161 = icmp eq i64 %160, 0
br i1 %161, label %162, label %168
162: ; preds = %158
%163 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%164 = call i64 @strcmp(i8* %163, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18, i64 0, i64 0))
%165 = icmp eq i64 %164, 0
br i1 %165, label %166, label %168
166: ; preds = %162
%167 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 10, i32* %167
br label %346
168: ; preds = %162, %158
%169 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%170 = call i64 @strcmp(i8* %169, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%171 = icmp eq i64 %170, 0
br i1 %171, label %172, label %178
172: ; preds = %168
%173 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%174 = call i64 @strcmp(i8* %173, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19, i64 0, i64 0))
%175 = icmp eq i64 %174, 0
br i1 %175, label %176, label %178
176: ; preds = %172
%177 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 11, i32* %177
br label %345
178: ; preds = %172, %168
%179 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%180 = call i64 @strcmp(i8* %179, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%181 = icmp eq i64 %180, 0
br i1 %181, label %182, label %188
182: ; preds = %178
%183 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%184 = call i64 @strcmp(i8* %183, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.20, i64 0, i64 0))
%185 = icmp eq i64 %184, 0
br i1 %185, label %186, label %188
186: ; preds = %182
%187 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 12, i32* %187
br label %344
188: ; preds = %182, %178
%189 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%190 = call i64 @strcmp(i8* %189, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%191 = icmp eq i64 %190, 0
br i1 %191, label %192, label %198
192: ; preds = %188
%193 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%194 = call i64 @strcmp(i8* %193, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.21, i64 0, i64 0))
%195 = icmp eq i64 %194, 0
br i1 %195, label %196, label %198
196: ; preds = %192
%197 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 13, i32* %197
br label %343
198: ; preds = %192, %188
%199 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%200 = call i64 @strcmp(i8* %199, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%201 = icmp eq i64 %200, 0
br i1 %201, label %202, label %208
202: ; preds = %198
%203 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%204 = call i64 @strcmp(i8* %203, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.22, i64 0, i64 0))
%205 = icmp eq i64 %204, 0
br i1 %205, label %206, label %208
206: ; preds = %202
%207 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 13, i32* %207
br label %342
208: ; preds = %202, %198
%209 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%210 = call i64 @strcmp(i8* %209, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0))
%211 = icmp eq i64 %210, 0
br i1 %211, label %212, label %218
212: ; preds = %208
%213 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%214 = call i64 @strcmp(i8* %213, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0))
%215 = icmp eq i64 %214, 0
br i1 %215, label %216, label %218
216: ; preds = %212
%217 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 14, i32* %217
br label %341
218: ; preds = %212, %208
%219 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%220 = call i64 @strcmp(i8* %219, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.25, i64 0, i64 0))
%221 = icmp eq i64 %220, 0
br i1 %221, label %222, label %228
222: ; preds = %218
%223 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%224 = call i64 @strcmp(i8* %223, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0))
%225 = icmp eq i64 %224, 0
br i1 %225, label %226, label %228
226: ; preds = %222
%227 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 15, i32* %227
br label %340
228: ; preds = %222, %218
%229 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%230 = call i64 @strcmp(i8* %229, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.25, i64 0, i64 0))
%231 = icmp eq i64 %230, 0
br i1 %231, label %232, label %238
232: ; preds = %228
%233 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%234 = call i64 @strcmp(i8* %233, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0))
%235 = icmp eq i64 %234, 0
br i1 %235, label %236, label %238
236: ; preds = %232
%237 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 16, i32* %237
br label %339
238: ; preds = %232, %228
%239 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%240 = call i64 @strcmp(i8* %239, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.27, i64 0, i64 0))
%241 = icmp eq i64 %240, 0
br i1 %241, label %242, label %248
242: ; preds = %238
%243 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%244 = call i64 @strcmp(i8* %243, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%245 = icmp eq i64 %244, 0
br i1 %245, label %246, label %248
246: ; preds = %242
%247 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 17, i32* %247
br label %338
248: ; preds = %242, %238
%249 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%250 = call i64 @strcmp(i8* %249, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.28, i64 0, i64 0))
%251 = icmp eq i64 %250, 0
br i1 %251, label %252, label %258
252: ; preds = %248
%253 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%254 = call i64 @strcmp(i8* %253, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%255 = icmp eq i64 %254, 0
br i1 %255, label %256, label %258
256: ; preds = %252
%257 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 18, i32* %257
br label %337
258: ; preds = %252, %248
%259 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%260 = call i64 @strcmp(i8* %259, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%261 = icmp eq i64 %260, 0
br i1 %261, label %262, label %268
262: ; preds = %258
%263 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%264 = call i64 @strcmp(i8* %263, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.29, i64 0, i64 0))
%265 = icmp eq i64 %264, 0
br i1 %265, label %266, label %268
266: ; preds = %262
%267 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 19, i32* %267
br label %336
268: ; preds = %262, %258
%269 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%270 = call i64 @strcmp(i8* %269, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%271 = icmp eq i64 %270, 0
br i1 %271, label %272, label %278
272: ; preds = %268
%273 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%274 = call i64 @strcmp(i8* %273, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.30, i64 0, i64 0))
%275 = icmp eq i64 %274, 0
br i1 %275, label %276, label %278
276: ; preds = %272
%277 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 20, i32* %277
br label %335
278: ; preds = %272, %268
%279 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%280 = call i64 @strcmp(i8* %279, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%281 = icmp eq i64 %280, 0
br i1 %281, label %282, label %288
282: ; preds = %278
%283 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%284 = call i64 @strcmp(i8* %283, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.31, i64 0, i64 0))
%285 = icmp eq i64 %284, 0
br i1 %285, label %286, label %288
286: ; preds = %282
%287 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 21, i32* %287
br label %334
288: ; preds = %282, %278
%289 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%290 = call i64 @strcmp(i8* %289, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%291 = icmp eq i64 %290, 0
br i1 %291, label %292, label %298
292: ; preds = %288
%293 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%294 = call i64 @strcmp(i8* %293, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.32, i64 0, i64 0))
%295 = icmp eq i64 %294, 0
br i1 %295, label %296, label %298
296: ; preds = %292
%297 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 22, i32* %297
br label %333
298: ; preds = %292, %288
%299 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%300 = call i64 @strcmp(i8* %299, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0))
%301 = icmp eq i64 %300, 0
br i1 %301, label %302, label %308
302: ; preds = %298
%303 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%304 = call i64 @strcmp(i8* %303, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%305 = icmp eq i64 %304, 0
br i1 %305, label %306, label %308
306: ; preds = %302
%307 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 23, i32* %307
br label %332
308: ; preds = %302, %298
%309 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%310 = call i64 @strcmp(i8* %309, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.34, i64 0, i64 0))
%311 = icmp eq i64 %310, 0
br i1 %311, label %312, label %318
312: ; preds = %308
%313 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%314 = call i64 @strcmp(i8* %313, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.35, i64 0, i64 0))
%315 = icmp eq i64 %314, 0
br i1 %315, label %316, label %318
316: ; preds = %312
%317 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 24, i32* %317
br label %331
318: ; preds = %312, %308
%319 = getelementptr inbounds [128 x i8], [128 x i8]* %10, i64 0, i64 0
%320 = call i64 @strcmp(i8* %319, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.36, i64 0, i64 0))
%321 = icmp eq i64 %320, 0
br i1 %321, label %322, label %328
322: ; preds = %318
%323 = getelementptr inbounds [128 x i8], [128 x i8]* %11, i64 0, i64 0
%324 = call i64 @strcmp(i8* %323, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%325 = icmp eq i64 %324, 0
br i1 %325, label %326, label %328
326: ; preds = %322
%327 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
store i32 25, i32* %327
br label %330
328: ; preds = %322, %318
%329 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.37, i64 0, i64 0))
store i32 1, i32* %3
br label %410
330: ; preds = %326
br label %331
331: ; preds = %330, %316
br label %332
332: ; preds = %331, %306
br label %333
333: ; preds = %332, %296
br label %334
334: ; preds = %333, %286
br label %335
335: ; preds = %334, %276
br label %336
336: ; preds = %335, %266
br label %337
337: ; preds = %336, %256
br label %338
338: ; preds = %337, %246
br label %339
339: ; preds = %338, %236
br label %340
340: ; preds = %339, %226
br label %341
341: ; preds = %340, %216
br label %342
342: ; preds = %341, %206
br label %343
343: ; preds = %342, %196
br label %344
344: ; preds = %343, %186
br label %345
345: ; preds = %344, %176
br label %346
346: ; preds = %345, %166
br label %347
347: ; preds = %346, %156
br label %348
348: ; preds = %347, %146
br label %349
349: ; preds = %348, %136
br label %350
350: ; preds = %349, %126
br label %351
351: ; preds = %350, %116
br label %352
352: ; preds = %351, %106
br label %353
353: ; preds = %352, %96
br label %354
354: ; preds = %353, %86
br label %355
355: ; preds = %354, %76
br label %356
356: ; preds = %355, %66
br label %359
357: ; preds = %44
%358 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.38, i64 0, i64 0))
store i32 1, i32* %3
br label %410
359: ; preds = %356
br label %360
360: ; preds = %359, %399
%361 = getelementptr inbounds [128 x i8], [128 x i8]* %8, i64 0, i64 0
%362 = load i32*, i32** %6
%363 = call i32* @fgets(i8* %361, i32 128, i32* %362)
%364 = icmp eq i32* %363, null
br i1 %364, label %365, label %366
365: ; preds = %360
br label %403
366: ; preds = %360
store i64 1, i64* %9
br label %367
367: ; preds = %398, %366
%368 = getelementptr inbounds [128 x i8], [128 x i8]* %8, i64 0, i64 0
%369 = load i64, i64* %9
%370 = sub i64 %369, 1
%371 = mul i64 %370, 5
%372 = getelementptr inbounds i8, i8* %368, i64 %371
%373 = call i32 (i8*, i8*, ...) @sscanf(i8* %372, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.39, i64 0, i64 0), i32* %12)
%374 = icmp eq i32 %373, 1
br i1 %374, label %375, label %399
375: ; preds = %367
%376 = load i32, i32* %12
%377 = load i64, i64* %9
%378 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 %377
store i32 %376, i32* %378
%379 = load i64, i64* %9
%380 = add i64 %379, 1
store i64 %380, i64* %9
%381 = load i64, i64* %9
%382 = sub i64 %381, 1
%383 = mul i64 %382, 5
%384 = sub i64 %383, 1
%385 = getelementptr inbounds [128 x i8], [128 x i8]* %8, i64 0, i64 %384
%386 = load i8, i8* %385
%387 = sext i8 %386 to i32
%388 = icmp ne i32 %387, 44
br i1 %388, label %389, label %390
389: ; preds = %375
br label %399
390: ; preds = %375
%391 = load i64, i64* %9
%392 = sub i64 %391, 1
%393 = mul i64 %392, 5
%394 = icmp ult i64 128, %393
br i1 %394, label %395, label %397
395: ; preds = %390
%396 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.40, i64 0, i64 0))
store i32 1, i32* %3
br label %410
397: ; preds = %390
br label %398
398: ; preds = %397
br label %367
399: ; preds = %389, %367
%400 = getelementptr inbounds [64 x i32], [64 x i32]* %7, i64 0, i64 0
%401 = load i64, i64* %9
%402 = call i32 @LLVMFuzzerTestOneInput(i32* %400, i64 %401)
br label %360
403: ; preds = %365
%404 = load i32*, i32** %6
%405 = call i32 @fclose(i32* %404)
br label %406
406: ; preds = %403
%407 = load i32, i32* %13
%408 = add nsw i32 %407, 1
store i32 %408, i32* %13
br label %18
409: ; preds = %43, %18
store i32 0, i32* %3
br label %410
410: ; preds = %409, %395, %357, %328, %55, %31, %16
%411 = load i32, i32* %3
ret i32 %411
}

LLVM IR (-O2):
@.str = [3 x i8] c"rb\00"
@.str.1 = [11 x i8] c"Trying %s\0A\00"
@.str.2 = [15 x i8] c"# %[^,], %[^,]\00"
@.str.3 = [15 x i8] c"Wrong mode %s\0A\00"
@.str.4 = [12 x i8] c"CS_ARCH_X86\00"
@.str.5 = [11 x i8] c"CS_MODE_32\00"
@.str.6 = [11 x i8] c"CS_MODE_64\00"
@.str.7 = [12 x i8] c"CS_ARCH_ARM\00"
@.str.8 = [12 x i8] c"CS_MODE_ARM\00"
@.str.9 = [14 x i8] c"CS_MODE_THUMB\00"
@.str.10 = [23 x i8] c"CS_MODE_ARM+CS_MODE_V8\00"
@.str.11 = [25 x i8] c"CS_MODE_THUMB+CS_MODE_V8\00"
@.str.12 = [29 x i8] c"CS_MODE_THUMB+CS_MODE_MCLASS\00"
@.str.13 = [14 x i8] c"CS_ARCH_ARM64\00"
@.str.14 = [2 x i8] c"0\00"
@.str.15 = [13 x i8] c"CS_ARCH_MIPS\00"
@.str.16 = [34 x i8] c"CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN\00"
@.str.17 = [29 x i8] c"CS_MODE_MIPS32+CS_MODE_MICRO\00"
@.str.18 = [15 x i8] c"CS_MODE_MIPS64\00"
@.str.19 = [15 x i8] c"CS_MODE_MIPS32\00"
@.str.20 = [34 x i8] c"CS_MODE_MIPS64+CS_MODE_BIG_ENDIAN\00"
@.str.21 = [48 x i8] c"CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN\00"
@.str.22 = [48 x i8] c"CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN+CS_MODE_MICRO\00"
@.str.23 = [12 x i8] c"CS_ARCH_PPC\00"
@.str.24 = [19 x i8] c"CS_MODE_BIG_ENDIAN\00"
@.str.25 = [14 x i8] c"CS_ARCH_SPARC\00"
@.str.26 = [32 x i8] c"CS_MODE_BIG_ENDIAN + CS_MODE_V9\00"
@.str.27 = [13 x i8] c"CS_ARCH_SYSZ\00"
@.str.28 = [14 x i8] c"CS_ARCH_XCORE\00"
@.str.29 = [36 x i8] c"CS_MODE_MIPS32R6+CS_MODE_BIG_ENDIAN\00"
@.str.30 = [50 x i8] c"CS_MODE_MIPS32R6+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN\00"
@.str.31 = [17 x i8] c"CS_MODE_MIPS32R6\00"
@.str.32 = [31 x i8] c"CS_MODE_MIPS32R6+CS_MODE_MICRO\00"
@.str.33 = [13 x i8] c"CS_ARCH_M68K\00"
@.str.34 = [14 x i8] c"CS_ARCH_M680X\00"
@.str.35 = [19 x i8] c"CS_MODE_M680X_6809\00"
@.str.36 = [12 x i8] c"CS_ARCH_EVM\00"
@.str.39 = [7 x i8] c"0x%02x\00"
@str = [8 x i8] c"No mode\00"
@str.41 = [13 x i8] c"Unknown mode\00"
@str.42 = [14 x i8] c"Line overflow\00"
define i32 @main(i32 %0, i8** nocapture %1) {
%3 = alloca [64 x i32]
%4 = alloca [128 x i8]
%5 = alloca [128 x i8]
%6 = alloca [128 x i8]
%7 = alloca i32
%8 = bitcast [64 x i32]* %3 to i8*
%9 = getelementptr inbounds [128 x i8], [128 x i8]* %4, i64 0, i64 0
%10 = getelementptr inbounds [128 x i8], [128 x i8]* %5, i64 0, i64 0
%11 = getelementptr inbounds [128 x i8], [128 x i8]* %6, i64 0, i64 0
%12 = bitcast i32* %7 to i8*
%13 = icmp slt i32 %0, 2
br i1 %13, label %262, label %14
14: ; preds = %2
%15 = getelementptr inbounds [64 x i32], [64 x i32]* %3, i64 0, i64 0
%16 = zext i32 %0 to i64
br label %17
17: ; preds = %14, %258
%18 = phi i64 [ 1, %14 ], [ %260, %258 ]
%19 = getelementptr inbounds i8*, i8** %1, i64 %18
%20 = load i8*, i8** %19
%21 = call i32* @fopen(i8* %20, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%22 = icmp eq i32* %21, null
br i1 %22, label %262, label %23
23: ; preds = %17
%24 = load i8*, i8** %19
%25 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.1, i64 0, i64 0), i8* %24)
%26 = call i32* @fgets(i8* %9, i32 128, i32* %21)
%27 = icmp eq i32* %26, null
br i1 %27, label %262, label %28
28: ; preds = %23
%29 = load i8, i8* %9
%30 = icmp eq i8 %29, 35
br i1 %30, label %31, label %227
31: ; preds = %28
%32 = call i32 (i8*, i8*, ...) @sscanf(i8* %9, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2, i64 0, i64 0), i8* %10, i8* %11)
%33 = icmp eq i32 %32, 2
br i1 %33, label %36, label %34
34: ; preds = %31
%35 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.3, i64 0, i64 0), i8* %9)
br label %262
36: ; preds = %31
%37 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.4, i64 0, i64 0))
%38 = icmp eq i64 %37, 0
br i1 %38, label %39, label %43
39: ; preds = %36
%40 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.5, i64 0, i64 0))
%41 = icmp eq i64 %40, 0
br i1 %41, label %42, label %43
42: ; preds = %39
store i32 0, i32* %15
br label %229
43: ; preds = %39, %36
%44 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.4, i64 0, i64 0))
%45 = icmp eq i64 %44, 0
br i1 %45, label %46, label %50
46: ; preds = %43
%47 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6, i64 0, i64 0))
%48 = icmp eq i64 %47, 0
br i1 %48, label %49, label %50
49: ; preds = %46
store i32 1, i32* %15
br label %229
50: ; preds = %46, %43
%51 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%52 = icmp eq i64 %51, 0
br i1 %52, label %53, label %57
53: ; preds = %50
%54 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.8, i64 0, i64 0))
%55 = icmp eq i64 %54, 0
br i1 %55, label %56, label %57
56: ; preds = %53
store i32 2, i32* %15
br label %229
57: ; preds = %53, %50
%58 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%59 = icmp eq i64 %58, 0
br i1 %59, label %60, label %64
60: ; preds = %57
%61 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0))
%62 = icmp eq i64 %61, 0
br i1 %62, label %63, label %64
63: ; preds = %60
store i32 3, i32* %15
br label %229
64: ; preds = %60, %57
%65 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%66 = icmp eq i64 %65, 0
br i1 %66, label %67, label %71
67: ; preds = %64
%68 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.10, i64 0, i64 0))
%69 = icmp eq i64 %68, 0
br i1 %69, label %70, label %71
70: ; preds = %67
store i32 4, i32* %15
br label %229
71: ; preds = %67, %64
%72 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%73 = icmp eq i64 %72, 0
br i1 %73, label %74, label %78
74: ; preds = %71
%75 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.11, i64 0, i64 0))
%76 = icmp eq i64 %75, 0
br i1 %76, label %77, label %78
77: ; preds = %74
store i32 5, i32* %15
br label %229
78: ; preds = %74, %71
%79 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0))
%80 = icmp eq i64 %79, 0
br i1 %80, label %81, label %85
81: ; preds = %78
%82 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.12, i64 0, i64 0))
%83 = icmp eq i64 %82, 0
br i1 %83, label %84, label %85
84: ; preds = %81
store i32 6, i32* %15
br label %229
85: ; preds = %81, %78
%86 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.13, i64 0, i64 0))
%87 = icmp eq i64 %86, 0
br i1 %87, label %88, label %92
88: ; preds = %85
%89 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%90 = icmp eq i64 %89, 0
br i1 %90, label %91, label %92
91: ; preds = %88
store i32 7, i32* %15
br label %229
92: ; preds = %88, %85
%93 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%94 = icmp eq i64 %93, 0
br i1 %94, label %95, label %99
95: ; preds = %92
%96 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.16, i64 0, i64 0))
%97 = icmp eq i64 %96, 0
br i1 %97, label %98, label %99
98: ; preds = %95
store i32 8, i32* %15
br label %229
99: ; preds = %95, %92
%100 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%101 = icmp eq i64 %100, 0
br i1 %101, label %102, label %106
102: ; preds = %99
%103 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0))
%104 = icmp eq i64 %103, 0
br i1 %104, label %105, label %106
105: ; preds = %102
store i32 9, i32* %15
br label %229
106: ; preds = %102, %99
%107 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%108 = icmp eq i64 %107, 0
br i1 %108, label %109, label %113
109: ; preds = %106
%110 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18, i64 0, i64 0))
%111 = icmp eq i64 %110, 0
br i1 %111, label %112, label %113
112: ; preds = %109
store i32 10, i32* %15
br label %229
113: ; preds = %109, %106
%114 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%115 = icmp eq i64 %114, 0
br i1 %115, label %116, label %120
116: ; preds = %113
%117 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19, i64 0, i64 0))
%118 = icmp eq i64 %117, 0
br i1 %118, label %119, label %120
119: ; preds = %116
store i32 11, i32* %15
br label %229
120: ; preds = %116, %113
%121 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%122 = icmp eq i64 %121, 0
br i1 %122, label %123, label %127
123: ; preds = %120
%124 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.20, i64 0, i64 0))
%125 = icmp eq i64 %124, 0
br i1 %125, label %126, label %127
126: ; preds = %123
store i32 12, i32* %15
br label %229
127: ; preds = %123, %120
%128 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%129 = icmp eq i64 %128, 0
br i1 %129, label %130, label %134
130: ; preds = %127
%131 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.21, i64 0, i64 0))
%132 = icmp eq i64 %131, 0
br i1 %132, label %133, label %134
133: ; preds = %130
store i32 13, i32* %15
br label %229
134: ; preds = %130, %127
%135 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%136 = icmp eq i64 %135, 0
br i1 %136, label %137, label %141
137: ; preds = %134
%138 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.22, i64 0, i64 0))
%139 = icmp eq i64 %138, 0
br i1 %139, label %140, label %141
140: ; preds = %137
store i32 13, i32* %15
br label %229
141: ; preds = %137, %134
%142 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.23, i64 0, i64 0))
%143 = icmp eq i64 %142, 0
br i1 %143, label %144, label %148
144: ; preds = %141
%145 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0))
%146 = icmp eq i64 %145, 0
br i1 %146, label %147, label %148
147: ; preds = %144
store i32 14, i32* %15
br label %229
148: ; preds = %144, %141
%149 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.25, i64 0, i64 0))
%150 = icmp eq i64 %149, 0
br i1 %150, label %151, label %155
151: ; preds = %148
%152 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0))
%153 = icmp eq i64 %152, 0
br i1 %153, label %154, label %155
154: ; preds = %151
store i32 15, i32* %15
br label %229
155: ; preds = %151, %148
%156 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.25, i64 0, i64 0))
%157 = icmp eq i64 %156, 0
br i1 %157, label %158, label %162
158: ; preds = %155
%159 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0))
%160 = icmp eq i64 %159, 0
br i1 %160, label %161, label %162
161: ; preds = %158
store i32 16, i32* %15
br label %229
162: ; preds = %158, %155
%163 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.27, i64 0, i64 0))
%164 = icmp eq i64 %163, 0
br i1 %164, label %165, label %169
165: ; preds = %162
%166 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%167 = icmp eq i64 %166, 0
br i1 %167, label %168, label %169
168: ; preds = %165
store i32 17, i32* %15
br label %229
169: ; preds = %165, %162
%170 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.28, i64 0, i64 0))
%171 = icmp eq i64 %170, 0
br i1 %171, label %172, label %176
172: ; preds = %169
%173 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%174 = icmp eq i64 %173, 0
br i1 %174, label %175, label %176
175: ; preds = %172
store i32 18, i32* %15
br label %229
176: ; preds = %172, %169
%177 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%178 = icmp eq i64 %177, 0
br i1 %178, label %179, label %183
179: ; preds = %176
%180 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.29, i64 0, i64 0))
%181 = icmp eq i64 %180, 0
br i1 %181, label %182, label %183
182: ; preds = %179
store i32 19, i32* %15
br label %229
183: ; preds = %179, %176
%184 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%185 = icmp eq i64 %184, 0
br i1 %185, label %186, label %190
186: ; preds = %183
%187 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.30, i64 0, i64 0))
%188 = icmp eq i64 %187, 0
br i1 %188, label %189, label %190
189: ; preds = %186
store i32 20, i32* %15
br label %229
190: ; preds = %186, %183
%191 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%192 = icmp eq i64 %191, 0
br i1 %192, label %193, label %197
193: ; preds = %190
%194 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.31, i64 0, i64 0))
%195 = icmp eq i64 %194, 0
br i1 %195, label %196, label %197
196: ; preds = %193
store i32 21, i32* %15
br label %229
197: ; preds = %193, %190
%198 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0))
%199 = icmp eq i64 %198, 0
br i1 %199, label %200, label %204
200: ; preds = %197
%201 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.32, i64 0, i64 0))
%202 = icmp eq i64 %201, 0
br i1 %202, label %203, label %204
203: ; preds = %200
store i32 22, i32* %15
br label %229
204: ; preds = %200, %197
%205 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0))
%206 = icmp eq i64 %205, 0
br i1 %206, label %207, label %211
207: ; preds = %204
%208 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%209 = icmp eq i64 %208, 0
br i1 %209, label %210, label %211
210: ; preds = %207
store i32 23, i32* %15
br label %229
211: ; preds = %207, %204
%212 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.34, i64 0, i64 0))
%213 = icmp eq i64 %212, 0
br i1 %213, label %214, label %218
214: ; preds = %211
%215 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.35, i64 0, i64 0))
%216 = icmp eq i64 %215, 0
br i1 %216, label %217, label %218
217: ; preds = %214
store i32 24, i32* %15
br label %229
218: ; preds = %214, %211
%219 = call i64 @strcmp(i8* %10, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.36, i64 0, i64 0))
%220 = icmp eq i64 %219, 0
br i1 %220, label %221, label %225
221: ; preds = %218
%222 = call i64 @strcmp(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0))
%223 = icmp eq i64 %222, 0
br i1 %223, label %224, label %225
224: ; preds = %221
store i32 25, i32* %15
br label %229
225: ; preds = %221, %218
%226 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @str.41, i64 0, i64 0))
br label %262
227: ; preds = %28
%228 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @str, i64 0, i64 0))
br label %262
229: ; preds = %42, %56, %70, %84, %98, %112, %126, %140, %154, %168, %182, %196, %210, %224, %217, %203, %189, %175, %161, %147, %133, %119, %105, %91, %77, %63, %49
%230 = call i32* @fgets(i8* %9, i32 128, i32* %21)
%231 = icmp eq i32* %230, null
br i1 %231, label %258, label %232
232: ; preds = %229, %249
%233 = phi i64 [ %250, %249 ], [ 1, %229 ]
%234 = mul nuw nsw i64 %233, 5
%235 = add nsw i64 %234, -5
%236 = getelementptr inbounds [128 x i8], [128 x i8]* %4, i64 0, i64 %235
%237 = call i32 (i8*, i8*, ...) @sscanf(i8* %236, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.39, i64 0, i64 0), i32* %7)
%238 = icmp eq i32 %237, 1
br i1 %238, label %239, label %253
239: ; preds = %232
%240 = load i32, i32* %7
%241 = getelementptr inbounds [64 x i32], [64 x i32]* %3, i64 0, i64 %233
store i32 %240, i32* %241
%242 = add nuw nsw i64 %233, 1
%243 = add nsw i64 %234, -1
%244 = getelementptr inbounds [128 x i8], [128 x i8]* %4, i64 0, i64 %243
%245 = load i8, i8* %244
%246 = icmp eq i8 %245, 44
br i1 %246, label %247, label %253
247: ; preds = %239
%248 = icmp eq i64 %242, 27
br i1 %248, label %251, label %249
249: ; preds = %247, %253
%250 = phi i64 [ %242, %247 ], [ 1, %253 ]
br label %232
251: ; preds = %247
%252 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @str.42, i64 0, i64 0))
br label %262
253: ; preds = %239, %232
%254 = phi i64 [ %242, %239 ], [ %233, %232 ]
%255 = call i32 @LLVMFuzzerTestOneInput(i32* %15, i64 %254)
%256 = call i32* @fgets(i8* %9, i32 128, i32* %21)
%257 = icmp eq i32* %256, null
br i1 %257, label %258, label %249
258: ; preds = %253, %229
%259 = call i32 @fclose(i32* %21)
%260 = add nuw nsw i64 %18, 1
%261 = icmp eq i64 %260, %16
br i1 %261, label %262, label %17
262: ; preds = %17, %23, %258, %2, %251, %227, %225, %34
%263 = phi i32 [ 1, %34 ], [ 1, %251 ], [ 1, %225 ], [ 1, %227 ], [ 1, %2 ], [ 2, %17 ], [ 0, %23 ], [ 0, %258 ]
ret i32 %263
}