void renduarene(char terrain[20][38]) {
  int i, j;
  char betterterrain[20][38];
  for (i = 0; i < 20; i++) {
    for (j = 0; j < 38; j++) {
      if (terrain[i][j] == '#' && terrain[i - 1][j + 1] == '#' &&
          terrain[i + 1][j + 1] == '#' && terrain[i + 1][j - 1] == '#' &&
          terrain[i - 1][j - 1] == '#') {
        terrain[i][j] = ' ';
        betterterrain[i][j] = ' ';
      }
    }
  }
  for (i = 0; i < 20; i++) {
    for (j = 0; j < 38; j++) {
      switch (terrain[i][j]) {
      case '#':
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xC9;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] != '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xBB;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] != '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xC8;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' &&
            terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xBC;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCD;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xBA;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xB9;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCA;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCB;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xCC;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCE;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] != '#' &&
            terrain[i + 1][j] != '#' && terrain[i][j - 1] == '#') {
          betterterrain[i][j] = (char)0xCD;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] == '#' &&
            terrain[i + 1][j] != '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xCD;
        }
        if (terrain[i - 1][j] != '#' && terrain[i][j + 1] != '#' &&
            terrain[i + 1][j] == '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xBA;
        }
        if (terrain[i - 1][j] == '#' && terrain[i][j + 1] != '#' &&
            terrain[i + 1][j] != '#' && terrain[i][j - 1] != '#') {
          betterterrain[i][j] = (char)0xBA;
        }
        break;
      case '.':
        betterterrain[i][j] = '.';
        break;
      case 'C':
        betterterrain[i][j] = 'C';
        break;
      case 'M':
        betterterrain[i][j] = 'M';
        break;
      case 'B':
        betterterrain[i][j] = (char)0x4;
        break;
      }
      if ((j == 0 || j == 37) && (i != 0 && i != 19)) {
        betterterrain[i][j] = (char)0xBA;
      }
      if (j == 0 && i == 19) {
        betterterrain[i][j] = (char)0xC8;
      }
      if (j == 37 && i == 0) {
        betterterrain[i][j] = (char)0xBB;
      }
      if (j == 0 && (i == 6 || i == 7 || i == 9 || i == 11 || i == 15)) {
        betterterrain[i][j] = (char)0xCC;
      }
      if (j == 37 &&
          (i == 6 || i == 7 || i == 9 || i == 11 || i == 13 || i == 15)) {
        betterterrain[i][j] = (char)0xB9;
      }
    }
  }
  for (i = 0; i < 20; i++) {
    for (j = 0; j < 38; j++) {
      terrain[i][j] = betterterrain[i][j];
    }
  }
}


x86 assembly (clang, -O0):
<renduarene>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2a0,%rsp
mov    %rdi,-0x8(%rbp)
movl   $0x0,-0xc(%rbp)
cmpl   $0x14,-0xc(%rbp)
jge    1250 <renduarene+0x150>
movl   $0x0,-0x10(%rbp)
cmpl   $0x26,-0x10(%rbp)
jge    123d <renduarene+0x13d>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    122a <renduarene+0x12a>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    122a <renduarene+0x12a>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    122a <renduarene+0x12a>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    122a <renduarene+0x12a>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    122a <renduarene+0x12a>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0x20,(%rax,%rcx,1)
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0x20,(%rax,%rcx,1)
jmp    122f <renduarene+0x12f>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1127 <renduarene+0x27>
jmp    1242 <renduarene+0x142>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1116 <renduarene+0x16>
movl   $0x0,-0xc(%rbp)
cmpl   $0x14,-0xc(%rbp)
jge    1edd <renduarene+0xddd>
movl   $0x0,-0x10(%rbp)
cmpl   $0x26,-0x10(%rbp)
jge    1eca <renduarene+0xdca>
mov    -0x8(%rbp),%rcx
movslq -0xc(%rbp),%rax
imul   $0x26,%rax,%rax
add    %rax,%rcx
movslq -0x10(%rbp),%rax
movsbl (%rax,%rcx,1),%eax
add    $0xffffffdd,%eax
mov    %eax,%ecx
mov    %rcx,-0x318(%rbp)
sub    $0x2a,%eax
ja     1d63 <renduarene+0xc63>
mov    -0x318(%rbp),%rax
lea    0xd54(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1363 <renduarene+0x263>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1363 <renduarene+0x263>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1363 <renduarene+0x263>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1363 <renduarene+0x263>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xc9,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1411 <renduarene+0x311>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1411 <renduarene+0x311>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1411 <renduarene+0x311>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1411 <renduarene+0x311>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xbb,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    14bf <renduarene+0x3bf>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    14bf <renduarene+0x3bf>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     14bf <renduarene+0x3bf>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     14bf <renduarene+0x3bf>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xc8,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    156d <renduarene+0x46d>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     156d <renduarene+0x46d>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     156d <renduarene+0x46d>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    156d <renduarene+0x46d>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xbc,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     161b <renduarene+0x51b>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    161b <renduarene+0x51b>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     161b <renduarene+0x51b>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    161b <renduarene+0x51b>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xcd,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    16c9 <renduarene+0x5c9>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     16c9 <renduarene+0x5c9>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    16c9 <renduarene+0x5c9>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     16c9 <renduarene+0x5c9>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xba,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1777 <renduarene+0x677>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1777 <renduarene+0x677>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1777 <renduarene+0x677>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1777 <renduarene+0x677>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xb9,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1825 <renduarene+0x725>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1825 <renduarene+0x725>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1825 <renduarene+0x725>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1825 <renduarene+0x725>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xca,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     18d3 <renduarene+0x7d3>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    18d3 <renduarene+0x7d3>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    18d3 <renduarene+0x7d3>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    18d3 <renduarene+0x7d3>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xcb,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1981 <renduarene+0x881>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1981 <renduarene+0x881>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1981 <renduarene+0x881>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1981 <renduarene+0x881>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xcc,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1a2f <renduarene+0x92f>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1a2f <renduarene+0x92f>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1a2f <renduarene+0x92f>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1a2f <renduarene+0x92f>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xce,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1add <renduarene+0x9dd>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1add <renduarene+0x9dd>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1add <renduarene+0x9dd>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1add <renduarene+0x9dd>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xcd,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1b8b <renduarene+0xa8b>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1b8b <renduarene+0xa8b>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1b8b <renduarene+0xa8b>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1b8b <renduarene+0xa8b>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xcd,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1c39 <renduarene+0xb39>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1c39 <renduarene+0xb39>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1c39 <renduarene+0xb39>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1c39 <renduarene+0xb39>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xba,(%rax,%rcx,1)
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
jne    1ce7 <renduarene+0xbe7>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1ce7 <renduarene+0xbe7>
mov    -0x8(%rbp),%rax
mov    -0xc(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1ce7 <renduarene+0xbe7>
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
mov    -0x10(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x23,%eax
je     1ce7 <renduarene+0xbe7>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xba,(%rax,%rcx,1)
jmp    1d63 <renduarene+0xc63>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0x2e,(%rax,%rcx,1)
jmp    1d63 <renduarene+0xc63>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0x43,(%rax,%rcx,1)
jmp    1d63 <renduarene+0xc63>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0x4d,(%rax,%rcx,1)
jmp    1d63 <renduarene+0xc63>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0x4,(%rax,%rcx,1)
cmpl   $0x0,-0x10(%rbp)
je     1d77 <renduarene+0xc77>
cmpl   $0x25,-0x10(%rbp)
jne    1da5 <renduarene+0xca5>
cmpl   $0x0,-0xc(%rbp)
je     1da5 <renduarene+0xca5>
cmpl   $0x13,-0xc(%rbp)
je     1da5 <renduarene+0xca5>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xba,(%rax,%rcx,1)
cmpl   $0x0,-0x10(%rbp)
jne    1dd3 <renduarene+0xcd3>
cmpl   $0x13,-0xc(%rbp)
jne    1dd3 <renduarene+0xcd3>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xc8,(%rax,%rcx,1)
cmpl   $0x25,-0x10(%rbp)
jne    1e01 <renduarene+0xd01>
cmpl   $0x0,-0xc(%rbp)
jne    1e01 <renduarene+0xd01>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xbb,(%rax,%rcx,1)
cmpl   $0x0,-0x10(%rbp)
jne    1e57 <renduarene+0xd57>
cmpl   $0x6,-0xc(%rbp)
je     1e3d <renduarene+0xd3d>
cmpl   $0x7,-0xc(%rbp)
je     1e3d <renduarene+0xd3d>
cmpl   $0x9,-0xc(%rbp)
je     1e3d <renduarene+0xd3d>
cmpl   $0xb,-0xc(%rbp)
je     1e3d <renduarene+0xd3d>
cmpl   $0xf,-0xc(%rbp)
jne    1e57 <renduarene+0xd57>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xcc,(%rax,%rcx,1)
cmpl   $0x25,-0x10(%rbp)
jne    1eb7 <renduarene+0xdb7>
cmpl   $0x6,-0xc(%rbp)
je     1e9d <renduarene+0xd9d>
cmpl   $0x7,-0xc(%rbp)
je     1e9d <renduarene+0xd9d>
cmpl   $0x9,-0xc(%rbp)
je     1e9d <renduarene+0xd9d>
cmpl   $0xb,-0xc(%rbp)
je     1e9d <renduarene+0xd9d>
cmpl   $0xd,-0xc(%rbp)
je     1e9d <renduarene+0xd9d>
cmpl   $0xf,-0xc(%rbp)
jne    1eb7 <renduarene+0xdb7>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
movb   $0xb9,(%rax,%rcx,1)
jmp    1ebc <renduarene+0xdbc>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1268 <renduarene+0x168>
jmp    1ecf <renduarene+0xdcf>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1257 <renduarene+0x157>
movl   $0x0,-0xc(%rbp)
cmpl   $0x14,-0xc(%rbp)
jge    1f4f <renduarene+0xe4f>
movl   $0x0,-0x10(%rbp)
cmpl   $0x26,-0x10(%rbp)
jge    1f3c <renduarene+0xe3c>
movslq -0xc(%rbp),%rcx
lea    -0x310(%rbp),%rax
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x8(%rbp),%rax
movslq -0xc(%rbp),%rcx
imul   $0x26,%rcx,%rcx
add    %rcx,%rax
movslq -0x10(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1ef5 <renduarene+0xdf5>
jmp    1f41 <renduarene+0xe41>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1ee4 <renduarene+0xde4>
add    $0x2a0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<renduarene>:
push   %r14
push   %rbx
sub    $0x2f8,%rsp
mov    %rsp,%rax
xor    %ecx,%ecx
mov    %rdi,%rdx
jmp    113e <renduarene+0x2e>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
add    $0x26,%rdx
add    $0x26,%rax
cmp    $0x14,%rcx
je     1189 <renduarene+0x79>
add    $0x1,%rcx
xor    %ebx,%ebx
jmp    1156 <renduarene+0x46>
cs nopw 0x0(%rax,%rax,1)
cmp    $0x26,%rbx
je     1130 <renduarene+0x20>
mov    %rbx,%rsi
add    $0x1,%rbx
cmpb   $0x23,(%rdx,%rsi,1)
jne    1150 <renduarene+0x40>
cmpb   $0x23,-0x25(%rdx,%rsi,1)
jne    1150 <renduarene+0x40>
cmpb   $0x23,0x27(%rdx,%rsi,1)
jne    1150 <renduarene+0x40>
cmpb   $0x23,0x25(%rdx,%rsi,1)
jne    1150 <renduarene+0x40>
cmpb   $0x23,-0x27(%rdx,%rsi,1)
jne    1150 <renduarene+0x40>
movb   $0x20,(%rdx,%rsi,1)
movb   $0x20,(%rax,%rsi,1)
jmp    1150 <renduarene+0x40>
mov    %rsp,%r14
xor    %esi,%esi
lea    0xe6b(%rip),%r9
mov    %rdi,%rdx
jmp    11b5 <renduarene+0xa5>
nopw   0x0(%rax,%rax,1)
add    $0x26,%r14
add    $0x26,%rdx
mov    %r8,%rsi
cmp    $0x14,%r8
je     13ed <renduarene+0x2dd>
lea    0x1(%rsi),%r8
mov    %esi,%eax
and    $0x7ffffffe,%eax
cmp    $0x6,%eax
setne  %al
mov    %esi,%ecx
and    $0x7ffffffd,%ecx
cmp    $0x9,%ecx
setne  %cl
cmp    $0xf,%rsi
setne  %bl
and    %al,%cl
mov    %ecx,%r10d
and    %bl,%r10b
cmp    $0xd,%rsi
setne  %r11b
and    %bl,%r11b
and    %cl,%r11b
xor    %ecx,%ecx
jmp    120a <renduarene+0xfa>
cs nopw 0x0(%rax,%rax,1)
nop
add    $0x1,%rcx
cmp    $0x26,%rcx
je     11a0 <renduarene+0x90>
movsbl (%rdx,%rcx,1),%eax
add    $0xffffffdd,%eax
cmp    $0x2a,%eax
ja     1295 <renduarene+0x185>
mov    $0x2e,%bl
movslq (%r9,%rax,4),%rax
add    %r9,%rax
jmp    *%rax
movzbl 0x1(%rdx,%rcx,1),%eax
cmpb   $0x23,-0x26(%rdx,%rcx,1)
movzbl 0x26(%rdx,%rcx,1),%ebx
jne    131a <renduarene+0x20a>
cmp    $0x23,%al
jne    1368 <renduarene+0x258>
cmp    $0x23,%bl
je     124f <renduarene+0x13f>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
je     124f <renduarene+0x13f>
movb   $0xc8,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
je     1262 <renduarene+0x152>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    1262 <renduarene+0x152>
movb   $0xca,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
jne    1275 <renduarene+0x165>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
je     1275 <renduarene+0x165>
movb   $0xcc,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
jne    1295 <renduarene+0x185>
mov    $0xce,%bl
cmpb   $0x23,-0x1(%rdx,%rcx,1)
je     1291 <renduarene+0x181>
jmp    1295 <renduarene+0x185>
mov    $0x4,%bl
jmp    1291 <renduarene+0x181>
mov    $0x43,%bl
jmp    1291 <renduarene+0x181>
mov    $0x4d,%bl
mov    %bl,(%r14,%rcx,1)
test   %rcx,%rcx
sete   %al
cmp    $0x25,%rcx
sete   %bl
or     %al,%bl
cmp    $0x1,%bl
jne    12c0 <renduarene+0x1b0>
test   %esi,%esi
je     12c0 <renduarene+0x1b0>
cmp    $0x13,%esi
je     12c0 <renduarene+0x1b0>
movb   $0xba,(%r14,%rcx,1)
nopw   0x0(%rax,%rax,1)
test   %rcx,%rcx
jne    12e0 <renduarene+0x1d0>
cmp    $0x13,%rsi
jne    12e0 <renduarene+0x1d0>
movb   $0xc8,0x2d2(%rsp)
c8
jmp    12f0 <renduarene+0x1e0>
cs nopw 0x0(%rax,%rax,1)
nop
cmp    $0x25,%rcx
jne    12f0 <renduarene+0x1e0>
test   %rsi,%rsi
jne    12f0 <renduarene+0x1e0>
movb   $0xbb,0x25(%rsp)
test   %rcx,%rcx
setne  %al
or     %r10b,%al
jne    1300 <renduarene+0x1f0>
movb   $0xcc,(%r14,%rcx,1)
cmp    $0x25,%rcx
setne  %al
or     %r11b,%al
jne    1200 <renduarene+0xf0>
movb   $0xb9,(%r14,%rcx,1)
jmp    1200 <renduarene+0xf0>
cmp    $0x23,%al
jne    13ac <renduarene+0x29c>
cmp    $0x23,%bl
jne    1333 <renduarene+0x223>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
je     1333 <renduarene+0x223>
movb   $0xc9,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
je     1346 <renduarene+0x236>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    1346 <renduarene+0x236>
movb   $0xcd,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
jne    1359 <renduarene+0x249>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    1359 <renduarene+0x249>
movb   $0xcb,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
je     1295 <renduarene+0x185>
mov    $0xcd,%bl
jmp    13dd <renduarene+0x2cd>
cmp    $0x23,%bl
je     1379 <renduarene+0x269>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    1379 <renduarene+0x269>
movb   $0xbc,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
jne    138c <renduarene+0x27c>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
je     138c <renduarene+0x27c>
movb   $0xba,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
jne    139f <renduarene+0x28f>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    139f <renduarene+0x28f>
movb   $0xb9,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
je     1295 <renduarene+0x185>
jmp    13db <renduarene+0x2cb>
cmp    $0x23,%bl
jne    13bd <renduarene+0x2ad>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    13bd <renduarene+0x2ad>
movb   $0xbb,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
je     13d0 <renduarene+0x2c0>
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    13d0 <renduarene+0x2c0>
movb   $0xcd,(%r14,%rcx,1)
cmpb   $0x23,0x26(%rdx,%rcx,1)
jne    1295 <renduarene+0x185>
mov    $0xba,%bl
cmpb   $0x23,-0x1(%rdx,%rcx,1)
jne    1291 <renduarene+0x181>
jmp    1295 <renduarene+0x185>
mov    %rsp,%rsi
mov    $0x2f8,%edx
call   1030 <memcpy@plt>
add    $0x2f8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
define void @renduarene([38 x i8]* %0) {
%2 = alloca [38 x i8]*
%3 = alloca i32
%4 = alloca i32
%5 = alloca [20 x [38 x i8]]
store [38 x i8]* %0, [38 x i8]** %2
store i32 0, i32* %3
br label %6
6: ; preds = %95, %1
%7 = load i32, i32* %3
%8 = icmp slt i32 %7, 20
br i1 %8, label %9, label %98
9: ; preds = %6
store i32 0, i32* %4
br label %10
10: ; preds = %91, %9
%11 = load i32, i32* %4
%12 = icmp slt i32 %11, 38
br i1 %12, label %13, label %94
13: ; preds = %10
%14 = load [38 x i8]*, [38 x i8]** %2
%15 = load i32, i32* %3
%16 = sext i32 %15 to i64
%17 = getelementptr inbounds [38 x i8], [38 x i8]* %14, i64 %16
%18 = load i32, i32* %4
%19 = sext i32 %18 to i64
%20 = getelementptr inbounds [38 x i8], [38 x i8]* %17, i64 0, i64 %19
%21 = load i8, i8* %20
%22 = sext i8 %21 to i32
%23 = icmp eq i32 %22, 35
br i1 %23, label %24, label %90
24: ; preds = %13
%25 = load [38 x i8]*, [38 x i8]** %2
%26 = load i32, i32* %3
%27 = sub nsw i32 %26, 1
%28 = sext i32 %27 to i64
%29 = getelementptr inbounds [38 x i8], [38 x i8]* %25, i64 %28
%30 = load i32, i32* %4
%31 = add nsw i32 %30, 1
%32 = sext i32 %31 to i64
%33 = getelementptr inbounds [38 x i8], [38 x i8]* %29, i64 0, i64 %32
%34 = load i8, i8* %33
%35 = sext i8 %34 to i32
%36 = icmp eq i32 %35, 35
br i1 %36, label %37, label %90
37: ; preds = %24
%38 = load [38 x i8]*, [38 x i8]** %2
%39 = load i32, i32* %3
%40 = add nsw i32 %39, 1
%41 = sext i32 %40 to i64
%42 = getelementptr inbounds [38 x i8], [38 x i8]* %38, i64 %41
%43 = load i32, i32* %4
%44 = add nsw i32 %43, 1
%45 = sext i32 %44 to i64
%46 = getelementptr inbounds [38 x i8], [38 x i8]* %42, i64 0, i64 %45
%47 = load i8, i8* %46
%48 = sext i8 %47 to i32
%49 = icmp eq i32 %48, 35
br i1 %49, label %50, label %90
50: ; preds = %37
%51 = load [38 x i8]*, [38 x i8]** %2
%52 = load i32, i32* %3
%53 = add nsw i32 %52, 1
%54 = sext i32 %53 to i64
%55 = getelementptr inbounds [38 x i8], [38 x i8]* %51, i64 %54
%56 = load i32, i32* %4
%57 = sub nsw i32 %56, 1
%58 = sext i32 %57 to i64
%59 = getelementptr inbounds [38 x i8], [38 x i8]* %55, i64 0, i64 %58
%60 = load i8, i8* %59
%61 = sext i8 %60 to i32
%62 = icmp eq i32 %61, 35
br i1 %62, label %63, label %90
63: ; preds = %50
%64 = load [38 x i8]*, [38 x i8]** %2
%65 = load i32, i32* %3
%66 = sub nsw i32 %65, 1
%67 = sext i32 %66 to i64
%68 = getelementptr inbounds [38 x i8], [38 x i8]* %64, i64 %67
%69 = load i32, i32* %4
%70 = sub nsw i32 %69, 1
%71 = sext i32 %70 to i64
%72 = getelementptr inbounds [38 x i8], [38 x i8]* %68, i64 0, i64 %71
%73 = load i8, i8* %72
%74 = sext i8 %73 to i32
%75 = icmp eq i32 %74, 35
br i1 %75, label %76, label %90
76: ; preds = %63
%77 = load [38 x i8]*, [38 x i8]** %2
%78 = load i32, i32* %3
%79 = sext i32 %78 to i64
%80 = getelementptr inbounds [38 x i8], [38 x i8]* %77, i64 %79
%81 = load i32, i32* %4
%82 = sext i32 %81 to i64
%83 = getelementptr inbounds [38 x i8], [38 x i8]* %80, i64 0, i64 %82
store i8 32, i8* %83
%84 = load i32, i32* %3
%85 = sext i32 %84 to i64
%86 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %85
%87 = load i32, i32* %4
%88 = sext i32 %87 to i64
%89 = getelementptr inbounds [38 x i8], [38 x i8]* %86, i64 0, i64 %88
store i8 32, i8* %89
br label %90
90: ; preds = %76, %63, %50, %37, %24, %13
br label %91
91: ; preds = %90
%92 = load i32, i32* %4
%93 = add nsw i32 %92, 1
store i32 %93, i32* %4
br label %10
94: ; preds = %10
br label %95
95: ; preds = %94
%96 = load i32, i32* %3
%97 = add nsw i32 %96, 1
store i32 %97, i32* %3
br label %6
98: ; preds = %6
store i32 0, i32* %3
br label %99
99: ; preds = %1073, %98
%100 = load i32, i32* %3
%101 = icmp slt i32 %100, 20
br i1 %101, label %102, label %1076
102: ; preds = %99
store i32 0, i32* %4
br label %103
103: ; preds = %1069, %102
%104 = load i32, i32* %4
%105 = icmp slt i32 %104, 38
br i1 %105, label %106, label %1072
106: ; preds = %103
%107 = load [38 x i8]*, [38 x i8]** %2
%108 = load i32, i32* %3
%109 = sext i32 %108 to i64
%110 = getelementptr inbounds [38 x i8], [38 x i8]* %107, i64 %109
%111 = load i32, i32* %4
%112 = sext i32 %111 to i64
%113 = getelementptr inbounds [38 x i8], [38 x i8]* %110, i64 0, i64 %112
%114 = load i8, i8* %113
%115 = sext i8 %114 to i32
switch i32 %115, label %970 [
i32 35, label %116
i32 46, label %942
i32 67, label %949
i32 77, label %956
i32 66, label %963
]
116: ; preds = %106
%117 = load [38 x i8]*, [38 x i8]** %2
%118 = load i32, i32* %3
%119 = sub nsw i32 %118, 1
%120 = sext i32 %119 to i64
%121 = getelementptr inbounds [38 x i8], [38 x i8]* %117, i64 %120
%122 = load i32, i32* %4
%123 = sext i32 %122 to i64
%124 = getelementptr inbounds [38 x i8], [38 x i8]* %121, i64 0, i64 %123
%125 = load i8, i8* %124
%126 = sext i8 %125 to i32
%127 = icmp ne i32 %126, 35
br i1 %127, label %128, label %171
128: ; preds = %116
%129 = load [38 x i8]*, [38 x i8]** %2
%130 = load i32, i32* %3
%131 = sext i32 %130 to i64
%132 = getelementptr inbounds [38 x i8], [38 x i8]* %129, i64 %131
%133 = load i32, i32* %4
%134 = add nsw i32 %133, 1
%135 = sext i32 %134 to i64
%136 = getelementptr inbounds [38 x i8], [38 x i8]* %132, i64 0, i64 %135
%137 = load i8, i8* %136
%138 = sext i8 %137 to i32
%139 = icmp eq i32 %138, 35
br i1 %139, label %140, label %171
140: ; preds = %128
%141 = load [38 x i8]*, [38 x i8]** %2
%142 = load i32, i32* %3
%143 = add nsw i32 %142, 1
%144 = sext i32 %143 to i64
%145 = getelementptr inbounds [38 x i8], [38 x i8]* %141, i64 %144
%146 = load i32, i32* %4
%147 = sext i32 %146 to i64
%148 = getelementptr inbounds [38 x i8], [38 x i8]* %145, i64 0, i64 %147
%149 = load i8, i8* %148
%150 = sext i8 %149 to i32
%151 = icmp eq i32 %150, 35
br i1 %151, label %152, label %171
152: ; preds = %140
%153 = load [38 x i8]*, [38 x i8]** %2
%154 = load i32, i32* %3
%155 = sext i32 %154 to i64
%156 = getelementptr inbounds [38 x i8], [38 x i8]* %153, i64 %155
%157 = load i32, i32* %4
%158 = sub nsw i32 %157, 1
%159 = sext i32 %158 to i64
%160 = getelementptr inbounds [38 x i8], [38 x i8]* %156, i64 0, i64 %159
%161 = load i8, i8* %160
%162 = sext i8 %161 to i32
%163 = icmp ne i32 %162, 35
br i1 %163, label %164, label %171
164: ; preds = %152
%165 = load i32, i32* %3
%166 = sext i32 %165 to i64
%167 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %166
%168 = load i32, i32* %4
%169 = sext i32 %168 to i64
%170 = getelementptr inbounds [38 x i8], [38 x i8]* %167, i64 0, i64 %169
store i8 -55, i8* %170
br label %171
171: ; preds = %164, %152, %140, %128, %116
%172 = load [38 x i8]*, [38 x i8]** %2
%173 = load i32, i32* %3
%174 = sub nsw i32 %173, 1
%175 = sext i32 %174 to i64
%176 = getelementptr inbounds [38 x i8], [38 x i8]* %172, i64 %175
%177 = load i32, i32* %4
%178 = sext i32 %177 to i64
%179 = getelementptr inbounds [38 x i8], [38 x i8]* %176, i64 0, i64 %178
%180 = load i8, i8* %179
%181 = sext i8 %180 to i32
%182 = icmp ne i32 %181, 35
br i1 %182, label %183, label %226
183: ; preds = %171
%184 = load [38 x i8]*, [38 x i8]** %2
%185 = load i32, i32* %3
%186 = sext i32 %185 to i64
%187 = getelementptr inbounds [38 x i8], [38 x i8]* %184, i64 %186
%188 = load i32, i32* %4
%189 = add nsw i32 %188, 1
%190 = sext i32 %189 to i64
%191 = getelementptr inbounds [38 x i8], [38 x i8]* %187, i64 0, i64 %190
%192 = load i8, i8* %191
%193 = sext i8 %192 to i32
%194 = icmp ne i32 %193, 35
br i1 %194, label %195, label %226
195: ; preds = %183
%196 = load [38 x i8]*, [38 x i8]** %2
%197 = load i32, i32* %3
%198 = add nsw i32 %197, 1
%199 = sext i32 %198 to i64
%200 = getelementptr inbounds [38 x i8], [38 x i8]* %196, i64 %199
%201 = load i32, i32* %4
%202 = sext i32 %201 to i64
%203 = getelementptr inbounds [38 x i8], [38 x i8]* %200, i64 0, i64 %202
%204 = load i8, i8* %203
%205 = sext i8 %204 to i32
%206 = icmp eq i32 %205, 35
br i1 %206, label %207, label %226
207: ; preds = %195
%208 = load [38 x i8]*, [38 x i8]** %2
%209 = load i32, i32* %3
%210 = sext i32 %209 to i64
%211 = getelementptr inbounds [38 x i8], [38 x i8]* %208, i64 %210
%212 = load i32, i32* %4
%213 = sub nsw i32 %212, 1
%214 = sext i32 %213 to i64
%215 = getelementptr inbounds [38 x i8], [38 x i8]* %211, i64 0, i64 %214
%216 = load i8, i8* %215
%217 = sext i8 %216 to i32
%218 = icmp eq i32 %217, 35
br i1 %218, label %219, label %226
219: ; preds = %207
%220 = load i32, i32* %3
%221 = sext i32 %220 to i64
%222 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %221
%223 = load i32, i32* %4
%224 = sext i32 %223 to i64
%225 = getelementptr inbounds [38 x i8], [38 x i8]* %222, i64 0, i64 %224
store i8 -69, i8* %225
br label %226
226: ; preds = %219, %207, %195, %183, %171
%227 = load [38 x i8]*, [38 x i8]** %2
%228 = load i32, i32* %3
%229 = sub nsw i32 %228, 1
%230 = sext i32 %229 to i64
%231 = getelementptr inbounds [38 x i8], [38 x i8]* %227, i64 %230
%232 = load i32, i32* %4
%233 = sext i32 %232 to i64
%234 = getelementptr inbounds [38 x i8], [38 x i8]* %231, i64 0, i64 %233
%235 = load i8, i8* %234
%236 = sext i8 %235 to i32
%237 = icmp eq i32 %236, 35
br i1 %237, label %238, label %281
238: ; preds = %226
%239 = load [38 x i8]*, [38 x i8]** %2
%240 = load i32, i32* %3
%241 = sext i32 %240 to i64
%242 = getelementptr inbounds [38 x i8], [38 x i8]* %239, i64 %241
%243 = load i32, i32* %4
%244 = add nsw i32 %243, 1
%245 = sext i32 %244 to i64
%246 = getelementptr inbounds [38 x i8], [38 x i8]* %242, i64 0, i64 %245
%247 = load i8, i8* %246
%248 = sext i8 %247 to i32
%249 = icmp eq i32 %248, 35
br i1 %249, label %250, label %281
250: ; preds = %238
%251 = load [38 x i8]*, [38 x i8]** %2
%252 = load i32, i32* %3
%253 = add nsw i32 %252, 1
%254 = sext i32 %253 to i64
%255 = getelementptr inbounds [38 x i8], [38 x i8]* %251, i64 %254
%256 = load i32, i32* %4
%257 = sext i32 %256 to i64
%258 = getelementptr inbounds [38 x i8], [38 x i8]* %255, i64 0, i64 %257
%259 = load i8, i8* %258
%260 = sext i8 %259 to i32
%261 = icmp ne i32 %260, 35
br i1 %261, label %262, label %281
262: ; preds = %250
%263 = load [38 x i8]*, [38 x i8]** %2
%264 = load i32, i32* %3
%265 = sext i32 %264 to i64
%266 = getelementptr inbounds [38 x i8], [38 x i8]* %263, i64 %265
%267 = load i32, i32* %4
%268 = sub nsw i32 %267, 1
%269 = sext i32 %268 to i64
%270 = getelementptr inbounds [38 x i8], [38 x i8]* %266, i64 0, i64 %269
%271 = load i8, i8* %270
%272 = sext i8 %271 to i32
%273 = icmp ne i32 %272, 35
br i1 %273, label %274, label %281
274: ; preds = %262
%275 = load i32, i32* %3
%276 = sext i32 %275 to i64
%277 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %276
%278 = load i32, i32* %4
%279 = sext i32 %278 to i64
%280 = getelementptr inbounds [38 x i8], [38 x i8]* %277, i64 0, i64 %279
store i8 -56, i8* %280
br label %281
281: ; preds = %274, %262, %250, %238, %226
%282 = load [38 x i8]*, [38 x i8]** %2
%283 = load i32, i32* %3
%284 = sub nsw i32 %283, 1
%285 = sext i32 %284 to i64
%286 = getelementptr inbounds [38 x i8], [38 x i8]* %282, i64 %285
%287 = load i32, i32* %4
%288 = sext i32 %287 to i64
%289 = getelementptr inbounds [38 x i8], [38 x i8]* %286, i64 0, i64 %288
%290 = load i8, i8* %289
%291 = sext i8 %290 to i32
%292 = icmp eq i32 %291, 35
br i1 %292, label %293, label %336
293: ; preds = %281
%294 = load [38 x i8]*, [38 x i8]** %2
%295 = load i32, i32* %3
%296 = sext i32 %295 to i64
%297 = getelementptr inbounds [38 x i8], [38 x i8]* %294, i64 %296
%298 = load i32, i32* %4
%299 = add nsw i32 %298, 1
%300 = sext i32 %299 to i64
%301 = getelementptr inbounds [38 x i8], [38 x i8]* %297, i64 0, i64 %300
%302 = load i8, i8* %301
%303 = sext i8 %302 to i32
%304 = icmp ne i32 %303, 35
br i1 %304, label %305, label %336
305: ; preds = %293
%306 = load [38 x i8]*, [38 x i8]** %2
%307 = load i32, i32* %3
%308 = add nsw i32 %307, 1
%309 = sext i32 %308 to i64
%310 = getelementptr inbounds [38 x i8], [38 x i8]* %306, i64 %309
%311 = load i32, i32* %4
%312 = sext i32 %311 to i64
%313 = getelementptr inbounds [38 x i8], [38 x i8]* %310, i64 0, i64 %312
%314 = load i8, i8* %313
%315 = sext i8 %314 to i32
%316 = icmp ne i32 %315, 35
br i1 %316, label %317, label %336
317: ; preds = %305
%318 = load [38 x i8]*, [38 x i8]** %2
%319 = load i32, i32* %3
%320 = sext i32 %319 to i64
%321 = getelementptr inbounds [38 x i8], [38 x i8]* %318, i64 %320
%322 = load i32, i32* %4
%323 = sub nsw i32 %322, 1
%324 = sext i32 %323 to i64
%325 = getelementptr inbounds [38 x i8], [38 x i8]* %321, i64 0, i64 %324
%326 = load i8, i8* %325
%327 = sext i8 %326 to i32
%328 = icmp eq i32 %327, 35
br i1 %328, label %329, label %336
329: ; preds = %317
%330 = load i32, i32* %3
%331 = sext i32 %330 to i64
%332 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %331
%333 = load i32, i32* %4
%334 = sext i32 %333 to i64
%335 = getelementptr inbounds [38 x i8], [38 x i8]* %332, i64 0, i64 %334
store i8 -68, i8* %335
br label %336
336: ; preds = %329, %317, %305, %293, %281
%337 = load [38 x i8]*, [38 x i8]** %2
%338 = load i32, i32* %3
%339 = sub nsw i32 %338, 1
%340 = sext i32 %339 to i64
%341 = getelementptr inbounds [38 x i8], [38 x i8]* %337, i64 %340
%342 = load i32, i32* %4
%343 = sext i32 %342 to i64
%344 = getelementptr inbounds [38 x i8], [38 x i8]* %341, i64 0, i64 %343
%345 = load i8, i8* %344
%346 = sext i8 %345 to i32
%347 = icmp ne i32 %346, 35
br i1 %347, label %348, label %391
348: ; preds = %336
%349 = load [38 x i8]*, [38 x i8]** %2
%350 = load i32, i32* %3
%351 = sext i32 %350 to i64
%352 = getelementptr inbounds [38 x i8], [38 x i8]* %349, i64 %351
%353 = load i32, i32* %4
%354 = add nsw i32 %353, 1
%355 = sext i32 %354 to i64
%356 = getelementptr inbounds [38 x i8], [38 x i8]* %352, i64 0, i64 %355
%357 = load i8, i8* %356
%358 = sext i8 %357 to i32
%359 = icmp eq i32 %358, 35
br i1 %359, label %360, label %391
360: ; preds = %348
%361 = load [38 x i8]*, [38 x i8]** %2
%362 = load i32, i32* %3
%363 = add nsw i32 %362, 1
%364 = sext i32 %363 to i64
%365 = getelementptr inbounds [38 x i8], [38 x i8]* %361, i64 %364
%366 = load i32, i32* %4
%367 = sext i32 %366 to i64
%368 = getelementptr inbounds [38 x i8], [38 x i8]* %365, i64 0, i64 %367
%369 = load i8, i8* %368
%370 = sext i8 %369 to i32
%371 = icmp ne i32 %370, 35
br i1 %371, label %372, label %391
372: ; preds = %360
%373 = load [38 x i8]*, [38 x i8]** %2
%374 = load i32, i32* %3
%375 = sext i32 %374 to i64
%376 = getelementptr inbounds [38 x i8], [38 x i8]* %373, i64 %375
%377 = load i32, i32* %4
%378 = sub nsw i32 %377, 1
%379 = sext i32 %378 to i64
%380 = getelementptr inbounds [38 x i8], [38 x i8]* %376, i64 0, i64 %379
%381 = load i8, i8* %380
%382 = sext i8 %381 to i32
%383 = icmp eq i32 %382, 35
br i1 %383, label %384, label %391
384: ; preds = %372
%385 = load i32, i32* %3
%386 = sext i32 %385 to i64
%387 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %386
%388 = load i32, i32* %4
%389 = sext i32 %388 to i64
%390 = getelementptr inbounds [38 x i8], [38 x i8]* %387, i64 0, i64 %389
store i8 -51, i8* %390
br label %391
391: ; preds = %384, %372, %360, %348, %336
%392 = load [38 x i8]*, [38 x i8]** %2
%393 = load i32, i32* %3
%394 = sub nsw i32 %393, 1
%395 = sext i32 %394 to i64
%396 = getelementptr inbounds [38 x i8], [38 x i8]* %392, i64 %395
%397 = load i32, i32* %4
%398 = sext i32 %397 to i64
%399 = getelementptr inbounds [38 x i8], [38 x i8]* %396, i64 0, i64 %398
%400 = load i8, i8* %399
%401 = sext i8 %400 to i32
%402 = icmp eq i32 %401, 35
br i1 %402, label %403, label %446
403: ; preds = %391
%404 = load [38 x i8]*, [38 x i8]** %2
%405 = load i32, i32* %3
%406 = sext i32 %405 to i64
%407 = getelementptr inbounds [38 x i8], [38 x i8]* %404, i64 %406
%408 = load i32, i32* %4
%409 = add nsw i32 %408, 1
%410 = sext i32 %409 to i64
%411 = getelementptr inbounds [38 x i8], [38 x i8]* %407, i64 0, i64 %410
%412 = load i8, i8* %411
%413 = sext i8 %412 to i32
%414 = icmp ne i32 %413, 35
br i1 %414, label %415, label %446
415: ; preds = %403
%416 = load [38 x i8]*, [38 x i8]** %2
%417 = load i32, i32* %3
%418 = add nsw i32 %417, 1
%419 = sext i32 %418 to i64
%420 = getelementptr inbounds [38 x i8], [38 x i8]* %416, i64 %419
%421 = load i32, i32* %4
%422 = sext i32 %421 to i64
%423 = getelementptr inbounds [38 x i8], [38 x i8]* %420, i64 0, i64 %422
%424 = load i8, i8* %423
%425 = sext i8 %424 to i32
%426 = icmp eq i32 %425, 35
br i1 %426, label %427, label %446
427: ; preds = %415
%428 = load [38 x i8]*, [38 x i8]** %2
%429 = load i32, i32* %3
%430 = sext i32 %429 to i64
%431 = getelementptr inbounds [38 x i8], [38 x i8]* %428, i64 %430
%432 = load i32, i32* %4
%433 = sub nsw i32 %432, 1
%434 = sext i32 %433 to i64
%435 = getelementptr inbounds [38 x i8], [38 x i8]* %431, i64 0, i64 %434
%436 = load i8, i8* %435
%437 = sext i8 %436 to i32
%438 = icmp ne i32 %437, 35
br i1 %438, label %439, label %446
439: ; preds = %427
%440 = load i32, i32* %3
%441 = sext i32 %440 to i64
%442 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %441
%443 = load i32, i32* %4
%444 = sext i32 %443 to i64
%445 = getelementptr inbounds [38 x i8], [38 x i8]* %442, i64 0, i64 %444
store i8 -70, i8* %445
br label %446
446: ; preds = %439, %427, %415, %403, %391
%447 = load [38 x i8]*, [38 x i8]** %2
%448 = load i32, i32* %3
%449 = sub nsw i32 %448, 1
%450 = sext i32 %449 to i64
%451 = getelementptr inbounds [38 x i8], [38 x i8]* %447, i64 %450
%452 = load i32, i32* %4
%453 = sext i32 %452 to i64
%454 = getelementptr inbounds [38 x i8], [38 x i8]* %451, i64 0, i64 %453
%455 = load i8, i8* %454
%456 = sext i8 %455 to i32
%457 = icmp eq i32 %456, 35
br i1 %457, label %458, label %501
458: ; preds = %446
%459 = load [38 x i8]*, [38 x i8]** %2
%460 = load i32, i32* %3
%461 = sext i32 %460 to i64
%462 = getelementptr inbounds [38 x i8], [38 x i8]* %459, i64 %461
%463 = load i32, i32* %4
%464 = add nsw i32 %463, 1
%465 = sext i32 %464 to i64
%466 = getelementptr inbounds [38 x i8], [38 x i8]* %462, i64 0, i64 %465
%467 = load i8, i8* %466
%468 = sext i8 %467 to i32
%469 = icmp ne i32 %468, 35
br i1 %469, label %470, label %501
470: ; preds = %458
%471 = load [38 x i8]*, [38 x i8]** %2
%472 = load i32, i32* %3
%473 = add nsw i32 %472, 1
%474 = sext i32 %473 to i64
%475 = getelementptr inbounds [38 x i8], [38 x i8]* %471, i64 %474
%476 = load i32, i32* %4
%477 = sext i32 %476 to i64
%478 = getelementptr inbounds [38 x i8], [38 x i8]* %475, i64 0, i64 %477
%479 = load i8, i8* %478
%480 = sext i8 %479 to i32
%481 = icmp eq i32 %480, 35
br i1 %481, label %482, label %501
482: ; preds = %470
%483 = load [38 x i8]*, [38 x i8]** %2
%484 = load i32, i32* %3
%485 = sext i32 %484 to i64
%486 = getelementptr inbounds [38 x i8], [38 x i8]* %483, i64 %485
%487 = load i32, i32* %4
%488 = sub nsw i32 %487, 1
%489 = sext i32 %488 to i64
%490 = getelementptr inbounds [38 x i8], [38 x i8]* %486, i64 0, i64 %489
%491 = load i8, i8* %490
%492 = sext i8 %491 to i32
%493 = icmp eq i32 %492, 35
br i1 %493, label %494, label %501
494: ; preds = %482
%495 = load i32, i32* %3
%496 = sext i32 %495 to i64
%497 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %496
%498 = load i32, i32* %4
%499 = sext i32 %498 to i64
%500 = getelementptr inbounds [38 x i8], [38 x i8]* %497, i64 0, i64 %499
store i8 -71, i8* %500
br label %501
501: ; preds = %494, %482, %470, %458, %446
%502 = load [38 x i8]*, [38 x i8]** %2
%503 = load i32, i32* %3
%504 = sub nsw i32 %503, 1
%505 = sext i32 %504 to i64
%506 = getelementptr inbounds [38 x i8], [38 x i8]* %502, i64 %505
%507 = load i32, i32* %4
%508 = sext i32 %507 to i64
%509 = getelementptr inbounds [38 x i8], [38 x i8]* %506, i64 0, i64 %508
%510 = load i8, i8* %509
%511 = sext i8 %510 to i32
%512 = icmp eq i32 %511, 35
br i1 %512, label %513, label %556
513: ; preds = %501
%514 = load [38 x i8]*, [38 x i8]** %2
%515 = load i32, i32* %3
%516 = sext i32 %515 to i64
%517 = getelementptr inbounds [38 x i8], [38 x i8]* %514, i64 %516
%518 = load i32, i32* %4
%519 = add nsw i32 %518, 1
%520 = sext i32 %519 to i64
%521 = getelementptr inbounds [38 x i8], [38 x i8]* %517, i64 0, i64 %520
%522 = load i8, i8* %521
%523 = sext i8 %522 to i32
%524 = icmp eq i32 %523, 35
br i1 %524, label %525, label %556
525: ; preds = %513
%526 = load [38 x i8]*, [38 x i8]** %2
%527 = load i32, i32* %3
%528 = add nsw i32 %527, 1
%529 = sext i32 %528 to i64
%530 = getelementptr inbounds [38 x i8], [38 x i8]* %526, i64 %529
%531 = load i32, i32* %4
%532 = sext i32 %531 to i64
%533 = getelementptr inbounds [38 x i8], [38 x i8]* %530, i64 0, i64 %532
%534 = load i8, i8* %533
%535 = sext i8 %534 to i32
%536 = icmp ne i32 %535, 35
br i1 %536, label %537, label %556
537: ; preds = %525
%538 = load [38 x i8]*, [38 x i8]** %2
%539 = load i32, i32* %3
%540 = sext i32 %539 to i64
%541 = getelementptr inbounds [38 x i8], [38 x i8]* %538, i64 %540
%542 = load i32, i32* %4
%543 = sub nsw i32 %542, 1
%544 = sext i32 %543 to i64
%545 = getelementptr inbounds [38 x i8], [38 x i8]* %541, i64 0, i64 %544
%546 = load i8, i8* %545
%547 = sext i8 %546 to i32
%548 = icmp eq i32 %547, 35
br i1 %548, label %549, label %556
549: ; preds = %537
%550 = load i32, i32* %3
%551 = sext i32 %550 to i64
%552 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %551
%553 = load i32, i32* %4
%554 = sext i32 %553 to i64
%555 = getelementptr inbounds [38 x i8], [38 x i8]* %552, i64 0, i64 %554
store i8 -54, i8* %555
br label %556
556: ; preds = %549, %537, %525, %513, %501
%557 = load [38 x i8]*, [38 x i8]** %2
%558 = load i32, i32* %3
%559 = sub nsw i32 %558, 1
%560 = sext i32 %559 to i64
%561 = getelementptr inbounds [38 x i8], [38 x i8]* %557, i64 %560
%562 = load i32, i32* %4
%563 = sext i32 %562 to i64
%564 = getelementptr inbounds [38 x i8], [38 x i8]* %561, i64 0, i64 %563
%565 = load i8, i8* %564
%566 = sext i8 %565 to i32
%567 = icmp ne i32 %566, 35
br i1 %567, label %568, label %611
568: ; preds = %556
%569 = load [38 x i8]*, [38 x i8]** %2
%570 = load i32, i32* %3
%571 = sext i32 %570 to i64
%572 = getelementptr inbounds [38 x i8], [38 x i8]* %569, i64 %571
%573 = load i32, i32* %4
%574 = add nsw i32 %573, 1
%575 = sext i32 %574 to i64
%576 = getelementptr inbounds [38 x i8], [38 x i8]* %572, i64 0, i64 %575
%577 = load i8, i8* %576
%578 = sext i8 %577 to i32
%579 = icmp eq i32 %578, 35
br i1 %579, label %580, label %611
580: ; preds = %568
%581 = load [38 x i8]*, [38 x i8]** %2
%582 = load i32, i32* %3
%583 = add nsw i32 %582, 1
%584 = sext i32 %583 to i64
%585 = getelementptr inbounds [38 x i8], [38 x i8]* %581, i64 %584
%586 = load i32, i32* %4
%587 = sext i32 %586 to i64
%588 = getelementptr inbounds [38 x i8], [38 x i8]* %585, i64 0, i64 %587
%589 = load i8, i8* %588
%590 = sext i8 %589 to i32
%591 = icmp eq i32 %590, 35
br i1 %591, label %592, label %611
592: ; preds = %580
%593 = load [38 x i8]*, [38 x i8]** %2
%594 = load i32, i32* %3
%595 = sext i32 %594 to i64
%596 = getelementptr inbounds [38 x i8], [38 x i8]* %593, i64 %595
%597 = load i32, i32* %4
%598 = sub nsw i32 %597, 1
%599 = sext i32 %598 to i64
%600 = getelementptr inbounds [38 x i8], [38 x i8]* %596, i64 0, i64 %599
%601 = load i8, i8* %600
%602 = sext i8 %601 to i32
%603 = icmp eq i32 %602, 35
br i1 %603, label %604, label %611
604: ; preds = %592
%605 = load i32, i32* %3
%606 = sext i32 %605 to i64
%607 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %606
%608 = load i32, i32* %4
%609 = sext i32 %608 to i64
%610 = getelementptr inbounds [38 x i8], [38 x i8]* %607, i64 0, i64 %609
store i8 -53, i8* %610
br label %611
611: ; preds = %604, %592, %580, %568, %556
%612 = load [38 x i8]*, [38 x i8]** %2
%613 = load i32, i32* %3
%614 = sub nsw i32 %613, 1
%615 = sext i32 %614 to i64
%616 = getelementptr inbounds [38 x i8], [38 x i8]* %612, i64 %615
%617 = load i32, i32* %4
%618 = sext i32 %617 to i64
%619 = getelementptr inbounds [38 x i8], [38 x i8]* %616, i64 0, i64 %618
%620 = load i8, i8* %619
%621 = sext i8 %620 to i32
%622 = icmp eq i32 %621, 35
br i1 %622, label %623, label %666
623: ; preds = %611
%624 = load [38 x i8]*, [38 x i8]** %2
%625 = load i32, i32* %3
%626 = sext i32 %625 to i64
%627 = getelementptr inbounds [38 x i8], [38 x i8]* %624, i64 %626
%628 = load i32, i32* %4
%629 = add nsw i32 %628, 1
%630 = sext i32 %629 to i64
%631 = getelementptr inbounds [38 x i8], [38 x i8]* %627, i64 0, i64 %630
%632 = load i8, i8* %631
%633 = sext i8 %632 to i32
%634 = icmp eq i32 %633, 35
br i1 %634, label %635, label %666
635: ; preds = %623
%636 = load [38 x i8]*, [38 x i8]** %2
%637 = load i32, i32* %3
%638 = add nsw i32 %637, 1
%639 = sext i32 %638 to i64
%640 = getelementptr inbounds [38 x i8], [38 x i8]* %636, i64 %639
%641 = load i32, i32* %4
%642 = sext i32 %641 to i64
%643 = getelementptr inbounds [38 x i8], [38 x i8]* %640, i64 0, i64 %642
%644 = load i8, i8* %643
%645 = sext i8 %644 to i32
%646 = icmp eq i32 %645, 35
br i1 %646, label %647, label %666
647: ; preds = %635
%648 = load [38 x i8]*, [38 x i8]** %2
%649 = load i32, i32* %3
%650 = sext i32 %649 to i64
%651 = getelementptr inbounds [38 x i8], [38 x i8]* %648, i64 %650
%652 = load i32, i32* %4
%653 = sub nsw i32 %652, 1
%654 = sext i32 %653 to i64
%655 = getelementptr inbounds [38 x i8], [38 x i8]* %651, i64 0, i64 %654
%656 = load i8, i8* %655
%657 = sext i8 %656 to i32
%658 = icmp ne i32 %657, 35
br i1 %658, label %659, label %666
659: ; preds = %647
%660 = load i32, i32* %3
%661 = sext i32 %660 to i64
%662 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %661
%663 = load i32, i32* %4
%664 = sext i32 %663 to i64
%665 = getelementptr inbounds [38 x i8], [38 x i8]* %662, i64 0, i64 %664
store i8 -52, i8* %665
br label %666
666: ; preds = %659, %647, %635, %623, %611
%667 = load [38 x i8]*, [38 x i8]** %2
%668 = load i32, i32* %3
%669 = sub nsw i32 %668, 1
%670 = sext i32 %669 to i64
%671 = getelementptr inbounds [38 x i8], [38 x i8]* %667, i64 %670
%672 = load i32, i32* %4
%673 = sext i32 %672 to i64
%674 = getelementptr inbounds [38 x i8], [38 x i8]* %671, i64 0, i64 %673
%675 = load i8, i8* %674
%676 = sext i8 %675 to i32
%677 = icmp eq i32 %676, 35
br i1 %677, label %678, label %721
678: ; preds = %666
%679 = load [38 x i8]*, [38 x i8]** %2
%680 = load i32, i32* %3
%681 = sext i32 %680 to i64
%682 = getelementptr inbounds [38 x i8], [38 x i8]* %679, i64 %681
%683 = load i32, i32* %4
%684 = add nsw i32 %683, 1
%685 = sext i32 %684 to i64
%686 = getelementptr inbounds [38 x i8], [38 x i8]* %682, i64 0, i64 %685
%687 = load i8, i8* %686
%688 = sext i8 %687 to i32
%689 = icmp eq i32 %688, 35
br i1 %689, label %690, label %721
690: ; preds = %678
%691 = load [38 x i8]*, [38 x i8]** %2
%692 = load i32, i32* %3
%693 = add nsw i32 %692, 1
%694 = sext i32 %693 to i64
%695 = getelementptr inbounds [38 x i8], [38 x i8]* %691, i64 %694
%696 = load i32, i32* %4
%697 = sext i32 %696 to i64
%698 = getelementptr inbounds [38 x i8], [38 x i8]* %695, i64 0, i64 %697
%699 = load i8, i8* %698
%700 = sext i8 %699 to i32
%701 = icmp eq i32 %700, 35
br i1 %701, label %702, label %721
702: ; preds = %690
%703 = load [38 x i8]*, [38 x i8]** %2
%704 = load i32, i32* %3
%705 = sext i32 %704 to i64
%706 = getelementptr inbounds [38 x i8], [38 x i8]* %703, i64 %705
%707 = load i32, i32* %4
%708 = sub nsw i32 %707, 1
%709 = sext i32 %708 to i64
%710 = getelementptr inbounds [38 x i8], [38 x i8]* %706, i64 0, i64 %709
%711 = load i8, i8* %710
%712 = sext i8 %711 to i32
%713 = icmp eq i32 %712, 35
br i1 %713, label %714, label %721
714: ; preds = %702
%715 = load i32, i32* %3
%716 = sext i32 %715 to i64
%717 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %716
%718 = load i32, i32* %4
%719 = sext i32 %718 to i64
%720 = getelementptr inbounds [38 x i8], [38 x i8]* %717, i64 0, i64 %719
store i8 -50, i8* %720
br label %721
721: ; preds = %714, %702, %690, %678, %666
%722 = load [38 x i8]*, [38 x i8]** %2
%723 = load i32, i32* %3
%724 = sub nsw i32 %723, 1
%725 = sext i32 %724 to i64
%726 = getelementptr inbounds [38 x i8], [38 x i8]* %722, i64 %725
%727 = load i32, i32* %4
%728 = sext i32 %727 to i64
%729 = getelementptr inbounds [38 x i8], [38 x i8]* %726, i64 0, i64 %728
%730 = load i8, i8* %729
%731 = sext i8 %730 to i32
%732 = icmp ne i32 %731, 35
br i1 %732, label %733, label %776
733: ; preds = %721
%734 = load [38 x i8]*, [38 x i8]** %2
%735 = load i32, i32* %3
%736 = sext i32 %735 to i64
%737 = getelementptr inbounds [38 x i8], [38 x i8]* %734, i64 %736
%738 = load i32, i32* %4
%739 = add nsw i32 %738, 1
%740 = sext i32 %739 to i64
%741 = getelementptr inbounds [38 x i8], [38 x i8]* %737, i64 0, i64 %740
%742 = load i8, i8* %741
%743 = sext i8 %742 to i32
%744 = icmp ne i32 %743, 35
br i1 %744, label %745, label %776
745: ; preds = %733
%746 = load [38 x i8]*, [38 x i8]** %2
%747 = load i32, i32* %3
%748 = add nsw i32 %747, 1
%749 = sext i32 %748 to i64
%750 = getelementptr inbounds [38 x i8], [38 x i8]* %746, i64 %749
%751 = load i32, i32* %4
%752 = sext i32 %751 to i64
%753 = getelementptr inbounds [38 x i8], [38 x i8]* %750, i64 0, i64 %752
%754 = load i8, i8* %753
%755 = sext i8 %754 to i32
%756 = icmp ne i32 %755, 35
br i1 %756, label %757, label %776
757: ; preds = %745
%758 = load [38 x i8]*, [38 x i8]** %2
%759 = load i32, i32* %3
%760 = sext i32 %759 to i64
%761 = getelementptr inbounds [38 x i8], [38 x i8]* %758, i64 %760
%762 = load i32, i32* %4
%763 = sub nsw i32 %762, 1
%764 = sext i32 %763 to i64
%765 = getelementptr inbounds [38 x i8], [38 x i8]* %761, i64 0, i64 %764
%766 = load i8, i8* %765
%767 = sext i8 %766 to i32
%768 = icmp eq i32 %767, 35
br i1 %768, label %769, label %776
769: ; preds = %757
%770 = load i32, i32* %3
%771 = sext i32 %770 to i64
%772 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %771
%773 = load i32, i32* %4
%774 = sext i32 %773 to i64
%775 = getelementptr inbounds [38 x i8], [38 x i8]* %772, i64 0, i64 %774
store i8 -51, i8* %775
br label %776
776: ; preds = %769, %757, %745, %733, %721
%777 = load [38 x i8]*, [38 x i8]** %2
%778 = load i32, i32* %3
%779 = sub nsw i32 %778, 1
%780 = sext i32 %779 to i64
%781 = getelementptr inbounds [38 x i8], [38 x i8]* %777, i64 %780
%782 = load i32, i32* %4
%783 = sext i32 %782 to i64
%784 = getelementptr inbounds [38 x i8], [38 x i8]* %781, i64 0, i64 %783
%785 = load i8, i8* %784
%786 = sext i8 %785 to i32
%787 = icmp ne i32 %786, 35
br i1 %787, label %788, label %831
788: ; preds = %776
%789 = load [38 x i8]*, [38 x i8]** %2
%790 = load i32, i32* %3
%791 = sext i32 %790 to i64
%792 = getelementptr inbounds [38 x i8], [38 x i8]* %789, i64 %791
%793 = load i32, i32* %4
%794 = add nsw i32 %793, 1
%795 = sext i32 %794 to i64
%796 = getelementptr inbounds [38 x i8], [38 x i8]* %792, i64 0, i64 %795
%797 = load i8, i8* %796
%798 = sext i8 %797 to i32
%799 = icmp eq i32 %798, 35
br i1 %799, label %800, label %831
800: ; preds = %788
%801 = load [38 x i8]*, [38 x i8]** %2
%802 = load i32, i32* %3
%803 = add nsw i32 %802, 1
%804 = sext i32 %803 to i64
%805 = getelementptr inbounds [38 x i8], [38 x i8]* %801, i64 %804
%806 = load i32, i32* %4
%807 = sext i32 %806 to i64
%808 = getelementptr inbounds [38 x i8], [38 x i8]* %805, i64 0, i64 %807
%809 = load i8, i8* %808
%810 = sext i8 %809 to i32
%811 = icmp ne i32 %810, 35
br i1 %811, label %812, label %831
812: ; preds = %800
%813 = load [38 x i8]*, [38 x i8]** %2
%814 = load i32, i32* %3
%815 = sext i32 %814 to i64
%816 = getelementptr inbounds [38 x i8], [38 x i8]* %813, i64 %815
%817 = load i32, i32* %4
%818 = sub nsw i32 %817, 1
%819 = sext i32 %818 to i64
%820 = getelementptr inbounds [38 x i8], [38 x i8]* %816, i64 0, i64 %819
%821 = load i8, i8* %820
%822 = sext i8 %821 to i32
%823 = icmp ne i32 %822, 35
br i1 %823, label %824, label %831
824: ; preds = %812
%825 = load i32, i32* %3
%826 = sext i32 %825 to i64
%827 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %826
%828 = load i32, i32* %4
%829 = sext i32 %828 to i64
%830 = getelementptr inbounds [38 x i8], [38 x i8]* %827, i64 0, i64 %829
store i8 -51, i8* %830
br label %831
831: ; preds = %824, %812, %800, %788, %776
%832 = load [38 x i8]*, [38 x i8]** %2
%833 = load i32, i32* %3
%834 = sub nsw i32 %833, 1
%835 = sext i32 %834 to i64
%836 = getelementptr inbounds [38 x i8], [38 x i8]* %832, i64 %835
%837 = load i32, i32* %4
%838 = sext i32 %837 to i64
%839 = getelementptr inbounds [38 x i8], [38 x i8]* %836, i64 0, i64 %838
%840 = load i8, i8* %839
%841 = sext i8 %840 to i32
%842 = icmp ne i32 %841, 35
br i1 %842, label %843, label %886
843: ; preds = %831
%844 = load [38 x i8]*, [38 x i8]** %2
%845 = load i32, i32* %3
%846 = sext i32 %845 to i64
%847 = getelementptr inbounds [38 x i8], [38 x i8]* %844, i64 %846
%848 = load i32, i32* %4
%849 = add nsw i32 %848, 1
%850 = sext i32 %849 to i64
%851 = getelementptr inbounds [38 x i8], [38 x i8]* %847, i64 0, i64 %850
%852 = load i8, i8* %851
%853 = sext i8 %852 to i32
%854 = icmp ne i32 %853, 35
br i1 %854, label %855, label %886
855: ; preds = %843
%856 = load [38 x i8]*, [38 x i8]** %2
%857 = load i32, i32* %3
%858 = add nsw i32 %857, 1
%859 = sext i32 %858 to i64
%860 = getelementptr inbounds [38 x i8], [38 x i8]* %856, i64 %859
%861 = load i32, i32* %4
%862 = sext i32 %861 to i64
%863 = getelementptr inbounds [38 x i8], [38 x i8]* %860, i64 0, i64 %862
%864 = load i8, i8* %863
%865 = sext i8 %864 to i32
%866 = icmp eq i32 %865, 35
br i1 %866, label %867, label %886
867: ; preds = %855
%868 = load [38 x i8]*, [38 x i8]** %2
%869 = load i32, i32* %3
%870 = sext i32 %869 to i64
%871 = getelementptr inbounds [38 x i8], [38 x i8]* %868, i64 %870
%872 = load i32, i32* %4
%873 = sub nsw i32 %872, 1
%874 = sext i32 %873 to i64
%875 = getelementptr inbounds [38 x i8], [38 x i8]* %871, i64 0, i64 %874
%876 = load i8, i8* %875
%877 = sext i8 %876 to i32
%878 = icmp ne i32 %877, 35
br i1 %878, label %879, label %886
879: ; preds = %867
%880 = load i32, i32* %3
%881 = sext i32 %880 to i64
%882 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %881
%883 = load i32, i32* %4
%884 = sext i32 %883 to i64
%885 = getelementptr inbounds [38 x i8], [38 x i8]* %882, i64 0, i64 %884
store i8 -70, i8* %885
br label %886
886: ; preds = %879, %867, %855, %843, %831
%887 = load [38 x i8]*, [38 x i8]** %2
%888 = load i32, i32* %3
%889 = sub nsw i32 %888, 1
%890 = sext i32 %889 to i64
%891 = getelementptr inbounds [38 x i8], [38 x i8]* %887, i64 %890
%892 = load i32, i32* %4
%893 = sext i32 %892 to i64
%894 = getelementptr inbounds [38 x i8], [38 x i8]* %891, i64 0, i64 %893
%895 = load i8, i8* %894
%896 = sext i8 %895 to i32
%897 = icmp eq i32 %896, 35
br i1 %897, label %898, label %941
898: ; preds = %886
%899 = load [38 x i8]*, [38 x i8]** %2
%900 = load i32, i32* %3
%901 = sext i32 %900 to i64
%902 = getelementptr inbounds [38 x i8], [38 x i8]* %899, i64 %901
%903 = load i32, i32* %4
%904 = add nsw i32 %903, 1
%905 = sext i32 %904 to i64
%906 = getelementptr inbounds [38 x i8], [38 x i8]* %902, i64 0, i64 %905
%907 = load i8, i8* %906
%908 = sext i8 %907 to i32
%909 = icmp ne i32 %908, 35
br i1 %909, label %910, label %941
910: ; preds = %898
%911 = load [38 x i8]*, [38 x i8]** %2
%912 = load i32, i32* %3
%913 = add nsw i32 %912, 1
%914 = sext i32 %913 to i64
%915 = getelementptr inbounds [38 x i8], [38 x i8]* %911, i64 %914
%916 = load i32, i32* %4
%917 = sext i32 %916 to i64
%918 = getelementptr inbounds [38 x i8], [38 x i8]* %915, i64 0, i64 %917
%919 = load i8, i8* %918
%920 = sext i8 %919 to i32
%921 = icmp ne i32 %920, 35
br i1 %921, label %922, label %941
922: ; preds = %910
%923 = load [38 x i8]*, [38 x i8]** %2
%924 = load i32, i32* %3
%925 = sext i32 %924 to i64
%926 = getelementptr inbounds [38 x i8], [38 x i8]* %923, i64 %925
%927 = load i32, i32* %4
%928 = sub nsw i32 %927, 1
%929 = sext i32 %928 to i64
%930 = getelementptr inbounds [38 x i8], [38 x i8]* %926, i64 0, i64 %929
%931 = load i8, i8* %930
%932 = sext i8 %931 to i32
%933 = icmp ne i32 %932, 35
br i1 %933, label %934, label %941
934: ; preds = %922
%935 = load i32, i32* %3
%936 = sext i32 %935 to i64
%937 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %936
%938 = load i32, i32* %4
%939 = sext i32 %938 to i64
%940 = getelementptr inbounds [38 x i8], [38 x i8]* %937, i64 0, i64 %939
store i8 -70, i8* %940
br label %941
941: ; preds = %934, %922, %910, %898, %886
br label %970
942: ; preds = %106
%943 = load i32, i32* %3
%944 = sext i32 %943 to i64
%945 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %944
%946 = load i32, i32* %4
%947 = sext i32 %946 to i64
%948 = getelementptr inbounds [38 x i8], [38 x i8]* %945, i64 0, i64 %947
store i8 46, i8* %948
br label %970
949: ; preds = %106
%950 = load i32, i32* %3
%951 = sext i32 %950 to i64
%952 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %951
%953 = load i32, i32* %4
%954 = sext i32 %953 to i64
%955 = getelementptr inbounds [38 x i8], [38 x i8]* %952, i64 0, i64 %954
store i8 67, i8* %955
br label %970
956: ; preds = %106
%957 = load i32, i32* %3
%958 = sext i32 %957 to i64
%959 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %958
%960 = load i32, i32* %4
%961 = sext i32 %960 to i64
%962 = getelementptr inbounds [38 x i8], [38 x i8]* %959, i64 0, i64 %961
store i8 77, i8* %962
br label %970
963: ; preds = %106
%964 = load i32, i32* %3
%965 = sext i32 %964 to i64
%966 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %965
%967 = load i32, i32* %4
%968 = sext i32 %967 to i64
%969 = getelementptr inbounds [38 x i8], [38 x i8]* %966, i64 0, i64 %968
store i8 4, i8* %969
br label %970
970: ; preds = %106, %963, %956, %949, %942, %941
%971 = load i32, i32* %4
%972 = icmp eq i32 %971, 0
br i1 %972, label %976, label %973
973: ; preds = %970
%974 = load i32, i32* %4
%975 = icmp eq i32 %974, 37
br i1 %975, label %976, label %989
976: ; preds = %973, %970
%977 = load i32, i32* %3
%978 = icmp ne i32 %977, 0
br i1 %978, label %979, label %989
979: ; preds = %976
%980 = load i32, i32* %3
%981 = icmp ne i32 %980, 19
br i1 %981, label %982, label %989
982: ; preds = %979
%983 = load i32, i32* %3
%984 = sext i32 %983 to i64
%985 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %984
%986 = load i32, i32* %4
%987 = sext i32 %986 to i64
%988 = getelementptr inbounds [38 x i8], [38 x i8]* %985, i64 0, i64 %987
store i8 -70, i8* %988
br label %989
989: ; preds = %982, %979, %976, %973
%990 = load i32, i32* %4
%991 = icmp eq i32 %990, 0
br i1 %991, label %992, label %1002
992: ; preds = %989
%993 = load i32, i32* %3
%994 = icmp eq i32 %993, 19
br i1 %994, label %995, label %1002
995: ; preds = %992
%996 = load i32, i32* %3
%997 = sext i32 %996 to i64
%998 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %997
%999 = load i32, i32* %4
%1000 = sext i32 %999 to i64
%1001 = getelementptr inbounds [38 x i8], [38 x i8]* %998, i64 0, i64 %1000
store i8 -56, i8* %1001
br label %1002
1002: ; preds = %995, %992, %989
%1003 = load i32, i32* %4
%1004 = icmp eq i32 %1003, 37
br i1 %1004, label %1005, label %1015
1005: ; preds = %1002
%1006 = load i32, i32* %3
%1007 = icmp eq i32 %1006, 0
br i1 %1007, label %1008, label %1015
1008: ; preds = %1005
%1009 = load i32, i32* %3
%1010 = sext i32 %1009 to i64
%1011 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %1010
%1012 = load i32, i32* %4
%1013 = sext i32 %1012 to i64
%1014 = getelementptr inbounds [38 x i8], [38 x i8]* %1011, i64 0, i64 %1013
store i8 -69, i8* %1014
br label %1015
1015: ; preds = %1008, %1005, %1002
%1016 = load i32, i32* %4
%1017 = icmp eq i32 %1016, 0
br i1 %1017, label %1018, label %1040
1018: ; preds = %1015
%1019 = load i32, i32* %3
%1020 = icmp eq i32 %1019, 6
br i1 %1020, label %1033, label %1021
1021: ; preds = %1018
%1022 = load i32, i32* %3
%1023 = icmp eq i32 %1022, 7
br i1 %1023, label %1033, label %1024
1024: ; preds = %1021
%1025 = load i32, i32* %3
%1026 = icmp eq i32 %1025, 9
br i1 %1026, label %1033, label %1027
1027: ; preds = %1024
%1028 = load i32, i32* %3
%1029 = icmp eq i32 %1028, 11
br i1 %1029, label %1033, label %1030
1030: ; preds = %1027
%1031 = load i32, i32* %3
%1032 = icmp eq i32 %1031, 15
br i1 %1032, label %1033, label %1040
1033: ; preds = %1030, %1027, %1024, %1021, %1018
%1034 = load i32, i32* %3
%1035 = sext i32 %1034 to i64
%1036 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %1035
%1037 = load i32, i32* %4
%1038 = sext i32 %1037 to i64
%1039 = getelementptr inbounds [38 x i8], [38 x i8]* %1036, i64 0, i64 %1038
store i8 -52, i8* %1039
br label %1040
1040: ; preds = %1033, %1030, %1015
%1041 = load i32, i32* %4
%1042 = icmp eq i32 %1041, 37
br i1 %1042, label %1043, label %1068
1043: ; preds = %1040
%1044 = load i32, i32* %3
%1045 = icmp eq i32 %1044, 6
br i1 %1045, label %1061, label %1046
1046: ; preds = %1043
%1047 = load i32, i32* %3
%1048 = icmp eq i32 %1047, 7
br i1 %1048, label %1061, label %1049
1049: ; preds = %1046
%1050 = load i32, i32* %3
%1051 = icmp eq i32 %1050, 9
br i1 %1051, label %1061, label %1052
1052: ; preds = %1049
%1053 = load i32, i32* %3
%1054 = icmp eq i32 %1053, 11
br i1 %1054, label %1061, label %1055
1055: ; preds = %1052
%1056 = load i32, i32* %3
%1057 = icmp eq i32 %1056, 13
br i1 %1057, label %1061, label %1058
1058: ; preds = %1055
%1059 = load i32, i32* %3
%1060 = icmp eq i32 %1059, 15
br i1 %1060, label %1061, label %1068
1061: ; preds = %1058, %1055, %1052, %1049, %1046, %1043
%1062 = load i32, i32* %3
%1063 = sext i32 %1062 to i64
%1064 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %1063
%1065 = load i32, i32* %4
%1066 = sext i32 %1065 to i64
%1067 = getelementptr inbounds [38 x i8], [38 x i8]* %1064, i64 0, i64 %1066
store i8 -71, i8* %1067
br label %1068
1068: ; preds = %1061, %1058, %1040
br label %1069
1069: ; preds = %1068
%1070 = load i32, i32* %4
%1071 = add nsw i32 %1070, 1
store i32 %1071, i32* %4
br label %103
1072: ; preds = %103
br label %1073
1073: ; preds = %1072
%1074 = load i32, i32* %3
%1075 = add nsw i32 %1074, 1
store i32 %1075, i32* %3
br label %99
1076: ; preds = %99
store i32 0, i32* %3
br label %1077
1077: ; preds = %1103, %1076
%1078 = load i32, i32* %3
%1079 = icmp slt i32 %1078, 20
br i1 %1079, label %1080, label %1106
1080: ; preds = %1077
store i32 0, i32* %4
br label %1081
1081: ; preds = %1099, %1080
%1082 = load i32, i32* %4
%1083 = icmp slt i32 %1082, 38
br i1 %1083, label %1084, label %1102
1084: ; preds = %1081
%1085 = load i32, i32* %3
%1086 = sext i32 %1085 to i64
%1087 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %5, i64 0, i64 %1086
%1088 = load i32, i32* %4
%1089 = sext i32 %1088 to i64
%1090 = getelementptr inbounds [38 x i8], [38 x i8]* %1087, i64 0, i64 %1089
%1091 = load i8, i8* %1090
%1092 = load [38 x i8]*, [38 x i8]** %2
%1093 = load i32, i32* %3
%1094 = sext i32 %1093 to i64
%1095 = getelementptr inbounds [38 x i8], [38 x i8]* %1092, i64 %1094
%1096 = load i32, i32* %4
%1097 = sext i32 %1096 to i64
%1098 = getelementptr inbounds [38 x i8], [38 x i8]* %1095, i64 0, i64 %1097
store i8 %1091, i8* %1098
br label %1099
1099: ; preds = %1084
%1100 = load i32, i32* %4
%1101 = add nsw i32 %1100, 1
store i32 %1101, i32* %4
br label %1081
1102: ; preds = %1081
br label %1103
1103: ; preds = %1102
%1104 = load i32, i32* %3
%1105 = add nsw i32 %1104, 1
store i32 %1105, i32* %3
br label %1077
1106: ; preds = %1077
ret void
}

LLVM IR (-O2):
define void @renduarene([38 x i8]* %0) {
%2 = alloca [20 x [38 x i8]]
%3 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 0, i64 0
br label %4
4: ; preds = %1, %35
%5 = phi i64 [ 0, %1 ], [ %7, %35 ]
%6 = add nsw i64 %5, -1
%7 = add nuw nsw i64 %5, 1
br label %8
8: ; preds = %4, %33
%9 = phi i64 [ 0, %4 ], [ %13, %33 ]
%10 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %5, i64 %9
%11 = load i8, i8* %10
%12 = icmp eq i8 %11, 35
%13 = add nuw nsw i64 %9, 1
br i1 %12, label %14, label %33
14: ; preds = %8
%15 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %6, i64 %13
%16 = load i8, i8* %15
%17 = icmp eq i8 %16, 35
br i1 %17, label %18, label %33
18: ; preds = %14
%19 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %7, i64 %13
%20 = load i8, i8* %19
%21 = icmp eq i8 %20, 35
br i1 %21, label %22, label %33
22: ; preds = %18
%23 = add nsw i64 %9, -1
%24 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %7, i64 %23
%25 = load i8, i8* %24
%26 = icmp eq i8 %25, 35
br i1 %26, label %27, label %33
27: ; preds = %22
%28 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %6, i64 %23
%29 = load i8, i8* %28
%30 = icmp eq i8 %29, 35
br i1 %30, label %31, label %33
31: ; preds = %27
store i8 32, i8* %10
%32 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %5, i64 %9
store i8 32, i8* %32
br label %33
33: ; preds = %8, %14, %18, %22, %27, %31
%34 = icmp eq i64 %13, 38
br i1 %34, label %35, label %8
35: ; preds = %33
%36 = icmp eq i64 %7, 20
br i1 %36, label %37, label %4
37: ; preds = %35
%38 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 0, i64 37
%39 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 19, i64 0
br label %40
40: ; preds = %37, %253
%41 = phi i64 [ 0, %37 ], [ %44, %253 ]
%42 = icmp eq i64 %41, 19
%43 = add nsw i64 %41, -1
%44 = add nuw nsw i64 %41, 1
%45 = icmp eq i64 %41, 0
%46 = trunc i64 %41 to i32
%47 = and i32 %46, 2147483646
%48 = icmp ne i32 %47, 6
%49 = and i32 %46, 2147483645
%50 = icmp ne i32 %49, 9
%51 = icmp ne i64 %41, 15
%52 = and i1 %50, %48
%53 = select i1 %52, i1 %51, i1 false
%54 = icmp ne i64 %41, 13
%55 = select i1 %52, i1 %54, i1 false
%56 = select i1 %55, i1 %51, i1 false
br label %57
57: ; preds = %40, %250
%58 = phi i64 [ 0, %40 ], [ %251, %250 ]
%59 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %58
%60 = load i8, i8* %59
%61 = sext i8 %60 to i32
switch i32 %61, label %226 [
i32 35, label %62
i32 46, label %223
i32 67, label %220
i32 77, label %221
i32 66, label %222
]
62: ; preds = %57
%63 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %43, i64 %58
%64 = load i8, i8* %63
%65 = icmp eq i8 %64, 35
%66 = add nuw nsw i64 %58, 1
%67 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %66
%68 = load i8, i8* %67
%69 = icmp eq i8 %68, 35
%70 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%71 = load i8, i8* %70
%72 = icmp eq i8 %71, 35
br i1 %65, label %90, label %73
73: ; preds = %62
br i1 %69, label %74, label %82
74: ; preds = %73
br i1 %72, label %75, label %107
75: ; preds = %74
%76 = add nsw i64 %58, -1
%77 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %76
%78 = load i8, i8* %77
%79 = icmp eq i8 %78, 35
br i1 %79, label %107, label %80
80: ; preds = %75
%81 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -55, i8* %81
br label %107
82: ; preds = %73
br i1 %72, label %83, label %182
83: ; preds = %82
%84 = add nsw i64 %58, -1
%85 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %84
%86 = load i8, i8* %85
%87 = icmp eq i8 %86, 35
br i1 %87, label %88, label %182
88: ; preds = %83
%89 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -69, i8* %89
br label %182
90: ; preds = %62
br i1 %69, label %91, label %99
91: ; preds = %90
br i1 %72, label %140, label %92
92: ; preds = %91
%93 = add nsw i64 %58, -1
%94 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %93
%95 = load i8, i8* %94
%96 = icmp eq i8 %95, 35
br i1 %96, label %140, label %97
97: ; preds = %92
%98 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -56, i8* %98
br label %140
99: ; preds = %90
br i1 %72, label %118, label %100
100: ; preds = %99
%101 = add nsw i64 %58, -1
%102 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %101
%103 = load i8, i8* %102
%104 = icmp eq i8 %103, 35
br i1 %104, label %105, label %118
105: ; preds = %100
%106 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -68, i8* %106
br label %118
107: ; preds = %74, %75, %80
%108 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%109 = load i8, i8* %108
%110 = icmp eq i8 %109, 35
br i1 %110, label %151, label %111
111: ; preds = %107
%112 = add nsw i64 %58, -1
%113 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %112
%114 = load i8, i8* %113
%115 = icmp eq i8 %114, 35
br i1 %115, label %116, label %151
116: ; preds = %111
%117 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -51, i8* %117
br label %151
118: ; preds = %99, %100, %105
%119 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%120 = load i8, i8* %119
%121 = icmp eq i8 %120, 35
br i1 %121, label %122, label %129
122: ; preds = %118
%123 = add nsw i64 %58, -1
%124 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %123
%125 = load i8, i8* %124
%126 = icmp eq i8 %125, 35
br i1 %126, label %129, label %127
127: ; preds = %122
%128 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -70, i8* %128
br label %129
129: ; preds = %118, %122, %127
%130 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%131 = load i8, i8* %130
%132 = icmp eq i8 %131, 35
br i1 %132, label %133, label %211
133: ; preds = %129
%134 = add nsw i64 %58, -1
%135 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %134
%136 = load i8, i8* %135
%137 = icmp eq i8 %136, 35
br i1 %137, label %138, label %211
138: ; preds = %133
%139 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -71, i8* %139
br label %211
140: ; preds = %97, %92, %91
%141 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%142 = load i8, i8* %141
%143 = icmp eq i8 %142, 35
br i1 %143, label %162, label %144
144: ; preds = %140
%145 = add nsw i64 %58, -1
%146 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %145
%147 = load i8, i8* %146
%148 = icmp eq i8 %147, 35
br i1 %148, label %149, label %162
149: ; preds = %144
%150 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -54, i8* %150
br label %162
151: ; preds = %107, %111, %116
%152 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%153 = load i8, i8* %152
%154 = icmp eq i8 %153, 35
br i1 %154, label %155, label %193
155: ; preds = %151
%156 = add nsw i64 %58, -1
%157 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %156
%158 = load i8, i8* %157
%159 = icmp eq i8 %158, 35
br i1 %159, label %160, label %193
160: ; preds = %155
%161 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -53, i8* %161
br label %193
162: ; preds = %140, %144, %149
%163 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%164 = load i8, i8* %163
%165 = icmp eq i8 %164, 35
br i1 %165, label %166, label %173
166: ; preds = %162
%167 = add nsw i64 %58, -1
%168 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %167
%169 = load i8, i8* %168
%170 = icmp eq i8 %169, 35
br i1 %170, label %173, label %171
171: ; preds = %166
%172 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -52, i8* %172
br label %173
173: ; preds = %171, %166, %162
%174 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%175 = load i8, i8* %174
%176 = icmp eq i8 %175, 35
br i1 %176, label %177, label %226
177: ; preds = %173
%178 = add nsw i64 %58, -1
%179 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %178
%180 = load i8, i8* %179
%181 = icmp eq i8 %180, 35
br i1 %181, label %223, label %226
182: ; preds = %88, %83, %82
%183 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%184 = load i8, i8* %183
%185 = icmp eq i8 %184, 35
br i1 %185, label %202, label %186
186: ; preds = %182
%187 = add nsw i64 %58, -1
%188 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %187
%189 = load i8, i8* %188
%190 = icmp eq i8 %189, 35
br i1 %190, label %191, label %202
191: ; preds = %186
%192 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -51, i8* %192
br label %202
193: ; preds = %151, %155, %160
%194 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%195 = load i8, i8* %194
%196 = icmp eq i8 %195, 35
br i1 %196, label %226, label %197
197: ; preds = %193
%198 = add nsw i64 %58, -1
%199 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %198
%200 = load i8, i8* %199
%201 = icmp eq i8 %200, 35
br i1 %201, label %226, label %223
202: ; preds = %182, %186, %191
%203 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%204 = load i8, i8* %203
%205 = icmp eq i8 %204, 35
br i1 %205, label %206, label %226
206: ; preds = %202
%207 = add nsw i64 %58, -1
%208 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %207
%209 = load i8, i8* %208
%210 = icmp eq i8 %209, 35
br i1 %210, label %226, label %223
211: ; preds = %129, %133, %138
%212 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %44, i64 %58
%213 = load i8, i8* %212
%214 = icmp eq i8 %213, 35
br i1 %214, label %226, label %215
215: ; preds = %211
%216 = add nsw i64 %58, -1
%217 = getelementptr inbounds [38 x i8], [38 x i8]* %0, i64 %41, i64 %216
%218 = load i8, i8* %217
%219 = icmp eq i8 %218, 35
br i1 %219, label %226, label %223
220: ; preds = %57
br label %223
221: ; preds = %57
br label %223
222: ; preds = %57
br label %223
223: ; preds = %57, %215, %206, %197, %177, %220, %221, %222
%224 = phi i8 [ 4, %222 ], [ 77, %221 ], [ 67, %220 ], [ -50, %177 ], [ -51, %197 ], [ -70, %206 ], [ -70, %215 ], [ 46, %57 ]
%225 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 %224, i8* %225
br label %226
226: ; preds = %223, %173, %177, %197, %193, %202, %206, %211, %215, %57
%227 = icmp eq i64 %58, 0
%228 = icmp eq i64 %58, 37
%229 = or i1 %227, %228
%230 = freeze i1 %229
br i1 %230, label %231, label %234
231: ; preds = %226
switch i32 %46, label %232 [
i32 19, label %234
i32 0, label %234
]
232: ; preds = %231
%233 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -70, i8* %233
br label %234
234: ; preds = %231, %231, %226, %232
%235 = select i1 %227, i1 %42, i1 false
br i1 %235, label %236, label %237
236: ; preds = %234
store i8 -56, i8* %39
br label %240
237: ; preds = %234
%238 = select i1 %228, i1 %45, i1 false
br i1 %238, label %239, label %240
239: ; preds = %237
store i8 -69, i8* %38
br label %240
240: ; preds = %236, %239, %237
%241 = xor i1 %227, true
%242 = select i1 %241, i1 true, i1 %53
br i1 %242, label %245, label %243
243: ; preds = %240
%244 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -52, i8* %244
br label %245
245: ; preds = %240, %243
%246 = xor i1 %228, true
%247 = select i1 %246, i1 true, i1 %56
br i1 %247, label %250, label %248
248: ; preds = %245
%249 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 %41, i64 %58
store i8 -71, i8* %249
br label %250
250: ; preds = %245, %248
%251 = add nuw nsw i64 %58, 1
%252 = icmp eq i64 %251, 38
br i1 %252, label %253, label %57
253: ; preds = %250
%254 = icmp eq i64 %44, 20
br i1 %254, label %255, label %40
255: ; preds = %253
%256 = getelementptr inbounds [20 x [38 x i8]], [20 x [38 x i8]]* %2, i64 0, i64 0, i64 0
%257 = getelementptr [38 x i8], [38 x i8]* %0, i64 0, i64 0
ret void
}