int hi_replace(unsigned short *s, char **s1, unsigned char *template,
               int size) {
  int i = 0, j = 0;
  while (i < size) {
    switch (s[i]) {
    case 0x0901:
      if (i < size - 1 && s[i + 1] != '\0') {
        s1[j++] = "n";
        template[j - 1] = 1;
        s1[j++] = "H";
        template[j - 1] = 2;
      } else {
        s1[j++] = "an";
        template[j - 1] = 1;
      };
      break;
    case 0x0902:
      if (i < size - 1 && s[i + 1] != '\0') {
        s1[j++] = "n";
        template[j - 1] = 1;
        s1[j++] = "H";
        template[j - 1] = 2;
      } else {
        s1[j++] = "an";
        template[j - 1] = 1;
      };
      break;
    case 0x0903:
      s1[j++] = "1";
      template[j - 1] = 0;
      s1[j++] = "h";
      template[j - 1] = 1;
      break;
    case 0x0905:
      s1[j++] = "1";
      template[j - 1] = 0;
      break;
    case 0x0906:
      s1[j++] = "2";
      template[j - 1] = 0;
      break;
    case 0x0907:
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x0908:
      s1[j++] = "4";
      template[j - 1] = 0;
      break;
    case 0x0909:
      s1[j++] = "5";
      template[j - 1] = 0;
      break;
    case 0x090A:
      s1[j++] = "6";
      template[j - 1] = 0;
      break;
    case 0x090B:
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x0960:
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x090C:
      s1[j++] = "l";
      template[j - 1] = 1;
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x0961:
      s1[j++] = "l";
      template[j - 1] = 1;
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x0962:
      s1[j++] = "l";
      template[j - 1] = 1;
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x0963:
      s1[j++] = "l";
      template[j - 1] = 1;
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x090D:
      s1[j++] = "9";
      template[j - 1] = 0;
      break;
    case 0x090E:
      s1[j++] = "7";
      template[j - 1] = 0;
      break;
    case 0x090F:
      s1[j++] = "8";
      template[j - 1] = 0;
      break;
    case 0x0910:
      s1[j++] = "9";
      template[j - 1] = 0;
      break;
    case 0x0911:
      s1[j++] = "13";
      template[j - 1] = 0;
      break;
    case 0x0912:
      s1[j++] = "11";
      template[j - 1] = 0;
      break;
    case 0x0913:
      s1[j++] = "12";
      template[j - 1] = 0;
      break;
    case 0x0914:
      s1[j++] = "13";
      template[j - 1] = 0;
      break;
    case 0x093D:
      s1[j++] = "1";
      template[j - 1] = 0;
      break;
    case 0x093E:
      s1[j++] = "2";
      template[j - 1] = 0;
      break;
    case 0x093F:
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x0940:
      s1[j++] = "4";
      template[j - 1] = 0;
      break;
    case 0x0941:
      s1[j++] = "5";
      template[j - 1] = 0;
      break;
    case 0x0942:
      s1[j++] = "6";
      template[j - 1] = 0;
      break;
    case 0x0943:
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "3";
      template[j - 1] = 0;
      break;
    case 0x0944:
      s1[j++] = "r";
      template[j - 1] = 1;
      s1[j++] = "4";
      template[j - 1] = 0;
      break;
    case 0x0945:
      s1[j++] = "9";
      template[j - 1] = 0;
      break;
    case 0x0946:
      s1[j++] = "7";
      template[j - 1] = 0;
      break;
    case 0x0947:
      s1[j++] = "8";
      template[j - 1] = 0;
      break;
    case 0x0948:
      s1[j++] = "9";
      template[j - 1] = 0;
      break;
    case 0x0949:
      s1[j++] = "13";
      template[j - 1] = 0;
      break;
    case 0x094A:
      s1[j++] = "11";
      template[j - 1] = 0;
      break;
    case 0x094B:
      s1[j++] = "12";
      template[j - 1] = 0;
      break;
    case 0x094C:
      s1[j++] = "13";
      template[j - 1] = 0;
      break;
    case 0x094D:
      s1[j++] = "H";
      template[j - 1] = 2;
      break;
    case 0x0915:
      s1[j++] = "k";
      template[j - 1] = 1;
      break;
    case 0x0916:
      s1[j++] = "kh";
      template[j - 1] = 1;
      break;
    case 0x0917:
      s1[j++] = "g";
      template[j - 1] = 1;
      break;
    case 0x0918:
      s1[j++] = "gh";
      template[j - 1] = 1;
      break;
    case 0x0919:
      s1[j++] = "n";
      template[j - 1] = 1;
      break;
    case 0x091A:
      s1[j++] = "ch";
      template[j - 1] = 1;
      break;
    case 0x091B:
      s1[j++] = "chh";
      template[j - 1] = 1;
      break;
    case 0x091C:
      s1[j++] = "j";
      template[j - 1] = 1;
      break;
    case 0x091D:
      s1[j++] = "jh";
      template[j - 1] = 1;
      break;
    case 0x091E:
      s1[j++] = "n";
      template[j - 1] = 1;
      break;
    case 0x091F:
      s1[j++] = "tt";
      template[j - 1] = 1;
      break;
    case 0x0920:
      s1[j++] = "tth";
      template[j - 1] = 1;
      break;
    case 0x0921:
      s1[j++] = "dd";
      template[j - 1] = 1;
      break;
    case 0x0922:
      s1[j++] = "ddh";
      template[j - 1] = 1;
      break;
    case 0x0923:
      s1[j++] = "nna";
      template[j - 1] = 1;
      break;
    case 0x0924:
      s1[j++] = "t";
      template[j - 1] = 1;
      break;
    case 0x0925:
      s1[j++] = "th";
      template[j - 1] = 1;
      break;
    case 0x0926:
      s1[j++] = "d";
      template[j - 1] = 1;
      break;
    case 0x0927:
      s1[j++] = "dh";
      template[j - 1] = 1;
      break;
    case 0x0928:
      s1[j++] = "n";
      template[j - 1] = 1;
      break;
    case 0x0929:
      s1[j++] = "n";
      template[j - 1] = 1;
      break;
    case 0x092A:
      s1[j++] = "p";
      template[j - 1] = 1;
      break;
    case 0x092B:
      s1[j++] = "f";
      template[j - 1] = 1;
      break;
    case 0x092C:
      s1[j++] = "b";
      template[j - 1] = 1;
      break;
    case 0x092D:
      s1[j++] = "bh";
      template[j - 1] = 1;
      break;
    case 0x092E:
      s1[j++] = "m";
      template[j - 1] = 1;
      break;
    case 0x092F:
      s1[j++] = "y";
      template[j - 1] = 1;
      break;
    case 0x0930:
      s1[j++] = "r";
      template[j - 1] = 1;
      break;
    case 0x0931:
      s1[j++] = "r";
      template[j - 1] = 1;
      break;
    case 0x0932:
      s1[j++] = "l";
      template[j - 1] = 1;
      break;
    case 0x0933:
      s1[j++] = "ll";
      template[j - 1] = 1;
      break;
    case 0x0934:
      s1[j++] = "ll";
      template[j - 1] = 1;
      break;
    case 0x0935:
      s1[j++] = "v";
      template[j - 1] = 1;
      break;
    case 0x0936:
      s1[j++] = "sh";
      template[j - 1] = 1;
      break;
    case 0x0937:
      s1[j++] = "sh";
      template[j - 1] = 1;
      break;
    case 0x0938:
      s1[j++] = "s";
      template[j - 1] = 1;
      break;
    case 0x0939:
      s1[j++] = "h";
      template[j - 1] = 1;
      break;
    case 0x0958:
      s1[j++] = "k";
      template[j - 1] = 1;
      break;
    case 0x0959:
      s1[j++] = "kh";
      template[j - 1] = 1;
      break;
    case 0x095A:
      s1[j++] = "g";
      template[j - 1] = 1;
      break;
    case 0x095B:
      s1[j++] = "j";
      template[j - 1] = 1;
      break;
    case 0x095C:
      s1[j++] = "dd";
      template[j - 1] = 1;
      break;
    case 0x095D:
      s1[j++] = "ddh";
      template[j - 1] = 1;
      break;
    case 0x095E:
      s1[j++] = "f";
      template[j - 1] = 1;
      break;
    case 0x095F:
      s1[j++] = "y";
      template[j - 1] = 1;
      break;
    }
    ++i;
  }
  return (j);
}


x86 assembly (clang, -O0):
<hi_replace>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %ecx,-0x1c(%rbp)
movl   $0x0,-0x20(%rbp)
movl   $0x0,-0x24(%rbp)
mov    -0x20(%rbp),%eax
cmp    -0x1c(%rbp),%eax
jge    25f5 <hi_replace+0x14f5>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
movzwl (%rax,%rcx,2),%eax
add    $0xfffff6ff,%eax
mov    %eax,%ecx
mov    %rcx,-0x30(%rbp)
sub    $0x62,%eax
ja     25e7 <hi_replace+0x14e7>
mov    -0x30(%rbp),%rax
lea    0x1ea8(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x20(%rbp),%eax
mov    -0x1c(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jge    11ed <hi_replace+0xed>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     11ed <hi_replace+0xed>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1fea(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1fb9(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x2,(%rax,%rcx,1)
jmp    121b <hi_replace+0x11b>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1f88(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x20(%rbp),%eax
mov    -0x1c(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jge    12ac <hi_replace+0x1ac>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movzwl (%rax,%rcx,2),%eax
cmp    $0x0,%eax
je     12ac <hi_replace+0x1ac>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1f2b(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1efa(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x2,(%rax,%rcx,1)
jmp    12da <hi_replace+0x1da>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1ec9(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1eab(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1eb1(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1e4a(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1e1a(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1de1(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1d9f(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1d6e(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1d3d(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1d0c(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1ce7(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1cab(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1c7d(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1c58(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1c63(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1bee(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1bc9(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1bd4(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1b5f(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1b3a(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1b45(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1ad0(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1aab(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1ab6(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1a41(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1a1c(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x19e2(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x19b1(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1980(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1949(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x191c(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x18ec(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x18bc(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1883(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1854(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1824(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x17eb(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x17a9(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1778(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1747(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1716(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x16f1(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x16b5(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1681(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1656(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1625(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x15f4(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x15bd(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1590(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1560(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1530(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x14f7(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x0,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x14b1(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x2,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x149a(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1469(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1439(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1408(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x13b5(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x13a5(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1375(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1346(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1315(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x12b6(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x12b2(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1282(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1253(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1223(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x11f4(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x11b4(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1184(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1155(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1125(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x10b8(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1085(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1093(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1062(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1031(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0x1000(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xfd0(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xf9f(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xf28(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xef5(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xf09(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xed5(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xea2(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xe72(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xe41(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xe0e(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xdde(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xd9d(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xd3b(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xd0a(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xcda(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xcb3(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xc8c(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xc5c(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xc33(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
jmp    25e7 <hi_replace+0x14e7>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
lea    0xc09(%rip),%rdx
mov    %rdx,(%rax,%rcx,8)
mov    -0x18(%rbp),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movb   $0x1,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1121 <hi_replace+0x21>
mov    -0x24(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<hi_replace>:
push   %rbp
push   %r15
push   %r14
push   %r12
push   %rbx
test   %ecx,%ecx
jle    1513 <hi_replace+0x413>
lea    -0x1(%rcx),%r8d
mov    %ecx,%r9d
xor    %ecx,%ecx
lea    0x1083(%rip),%r10
lea    0xed9(%rip),%r11
xor    %eax,%eax
nopl   0x0(%rax)
movzwl (%rdi,%rcx,2),%ebx
add    $0xfffff6ff,%ebx
cmp    $0x62,%bx
ja     14e0 <hi_replace+0x3e0>
mov    $0x1,%r14d
xor    %r15d,%r15d
movzwl %bx,%ebx
movslq (%r11,%rbx,4),%rbx
add    %r11,%rbx
mov    %eax,%ebp
mov    %r10,%r12
jmp    *%rbx
movslq %eax,%r14
lea    0x1076(%rip),%rbp
mov    %rbp,(%rsi,%r14,8)
movb   $0x1,(%rdx,%r14,1)
lea    0x2(%rax),%ebp
lea    0x101c(%rip),%rbx
mov    %rbx,0x8(%rsi,%r14,8)
movb   $0x1,0x1(%rdx,%r14,1)
lea    0x1013(%rip),%r12
mov    $0x3,%r14d
xor    %r15d,%r15d
jmp    14d2 <hi_replace+0x3d2>
lea    0xff7(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xfee(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xfcc(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xfbc(%rip),%r12
cmp    %r8,%rcx
jae    14d0 <hi_replace+0x3d0>
cmpw   $0x0,0x2(%rdi,%rcx,2)
mov    %eax,%ebp
je     14d2 <hi_replace+0x3d2>
lea    0x1(%rax),%ebp
movslq %eax,%r14
lea    0xf99(%rip),%rbx
mov    %rbx,(%rsi,%r14,8)
movb   $0x1,(%rdx,%r14,1)
mov    $0x2,%r15b
lea    0xf83(%rip),%r12
mov    $0x2,%r14d
jmp    14d2 <hi_replace+0x3d2>
lea    0xf8b(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xf76(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xf58(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xf4b(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xf3e(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0x1(%rax),%ebp
movslq %eax,%r14
lea    0xf2b(%rip),%rbx
mov    %rbx,(%rsi,%r14,8)
movb   $0x1,(%rdx,%r14,1)
lea    0xf24(%rip),%r12
jmp    14b5 <hi_replace+0x3b5>
lea    0xf13(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xf06(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xefc(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
lea    0xef0(%rip),%r12
xor    %r15d,%r15d
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xee1(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xed4(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xec8(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xec5(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xec2(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xeb6(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xeb1(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xe67(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xe9e(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xe94(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xe7e(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
lea    0x1(%rax),%ebp
movslq %eax,%r14
lea    0xe34(%rip),%rbx
mov    %rbx,(%rsi,%r14,8)
movb   $0x0,(%rdx,%r14,1)
mov    $0x1,%r15b
lea    0xe55(%rip),%r12
mov    $0x2,%r14d
jmp    14d2 <hi_replace+0x3d2>
mov    $0x1,%r15b
lea    0xe18(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xe0c(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xe00(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xdf7(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xdeb(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xddf(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xddb(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xdbf(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xdb3(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xda8(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd9c(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd94(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd89(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd7c(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd73(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd6c(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd62(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd5b(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
mov    $0x1,%r15b
lea    0xd41(%rip),%r12
jmp    14d0 <hi_replace+0x3d0>
lea    0x1(%rax),%ebp
movslq %eax,%r14
lea    0xcf2(%rip),%rbx
mov    %rbx,(%rsi,%r14,8)
movb   $0x1,(%rdx,%r14,1)
lea    0xcdc(%rip),%r12
mov    $0x2,%r14d
xor    %r15d,%r15d
jmp    14d2 <hi_replace+0x3d2>
mov    $0x2,%r15b
lea    0xcc2(%rip),%r12
nopw   0x0(%rax,%rax,1)
mov    %eax,%ebp
add    %r14d,%eax
movslq %ebp,%rbx
mov    %r12,(%rsi,%rbx,8)
mov    %r15b,(%rdx,%rbx,1)
add    $0x1,%rcx
cmp    %rcx,%r9
jne    1130 <hi_replace+0x30>
jmp    1515 <hi_replace+0x415>
movslq %eax,%rbx
lea    0xc9e(%rip),%r14
mov    %r14,(%rsi,%rbx,8)
movb   $0x1,(%rdx,%rbx,1)
lea    0x2(%rax),%ebp
mov    %r14,0x8(%rsi,%rbx,8)
movb   $0x1,0x1(%rdx,%rbx,1)
jmp    1186 <hi_replace+0x86>
xor    %eax,%eax
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
@.str = [2 x i8] c"n\00"
@.str.1 = [2 x i8] c"H\00"
@.str.2 = [3 x i8] c"an\00"
@.str.3 = [2 x i8] c"1\00"
@.str.4 = [2 x i8] c"h\00"
@.str.5 = [2 x i8] c"2\00"
@.str.6 = [2 x i8] c"3\00"
@.str.7 = [2 x i8] c"4\00"
@.str.8 = [2 x i8] c"5\00"
@.str.9 = [2 x i8] c"6\00"
@.str.10 = [2 x i8] c"r\00"
@.str.11 = [2 x i8] c"l\00"
@.str.12 = [2 x i8] c"9\00"
@.str.13 = [2 x i8] c"7\00"
@.str.14 = [2 x i8] c"8\00"
@.str.15 = [3 x i8] c"13\00"
@.str.16 = [3 x i8] c"11\00"
@.str.17 = [3 x i8] c"12\00"
@.str.18 = [2 x i8] c"k\00"
@.str.19 = [3 x i8] c"kh\00"
@.str.20 = [2 x i8] c"g\00"
@.str.21 = [3 x i8] c"gh\00"
@.str.22 = [3 x i8] c"ch\00"
@.str.23 = [4 x i8] c"chh\00"
@.str.24 = [2 x i8] c"j\00"
@.str.25 = [3 x i8] c"jh\00"
@.str.26 = [3 x i8] c"tt\00"
@.str.27 = [4 x i8] c"tth\00"
@.str.28 = [3 x i8] c"dd\00"
@.str.29 = [4 x i8] c"ddh\00"
@.str.30 = [4 x i8] c"nna\00"
@.str.31 = [2 x i8] c"t\00"
@.str.32 = [3 x i8] c"th\00"
@.str.33 = [2 x i8] c"d\00"
@.str.34 = [3 x i8] c"dh\00"
@.str.35 = [2 x i8] c"p\00"
@.str.36 = [2 x i8] c"f\00"
@.str.37 = [2 x i8] c"b\00"
@.str.38 = [3 x i8] c"bh\00"
@.str.39 = [2 x i8] c"m\00"
@.str.40 = [2 x i8] c"y\00"
@.str.41 = [3 x i8] c"ll\00"
@.str.42 = [2 x i8] c"v\00"
@.str.43 = [3 x i8] c"sh\00"
@.str.44 = [2 x i8] c"s\00"
define i32 @hi_replace(i16* nocapture %0, i8** writeonly %1, i8* writeonly %2, i32 %3) {
%5 = icmp sgt i32 %3, 0
br i1 %5, label %6, label %189
6: ; preds = %4
%7 = add nsw i32 %3, -1
%8 = zext i32 %7 to i64
%9 = zext i32 %3 to i64
br label %10
10: ; preds = %6, %185
%11 = phi i64 [ 0, %6 ], [ %187, %185 ]
%12 = phi i32 [ 0, %6 ], [ %186, %185 ]
%13 = getelementptr inbounds i16, i16* %0, i64 %11
%14 = load i16, i16* %13
switch i16 %14, label %185 [
i16 2305, label %15
i16 2306, label %27
i16 2307, label %39
i16 2309, label %176
i16 2310, label %44
i16 2311, label %45
i16 2312, label %46
i16 2313, label %47
i16 2314, label %48
i16 2315, label %49
i16 2400, label %54
i16 2316, label %63
i16 2401, label %72
i16 2402, label %81
i16 2403, label %90
i16 2317, label %99
i16 2318, label %100
i16 2319, label %101
i16 2320, label %102
i16 2321, label %103
i16 2322, label %104
i16 2323, label %105
i16 2324, label %106
i16 2365, label %176
i16 2366, label %107
i16 2367, label %108
i16 2368, label %109
i16 2369, label %110
i16 2370, label %111
i16 2371, label %112
i16 2372, label %117
i16 2373, label %122
i16 2374, label %123
i16 2375, label %124
i16 2376, label %125
i16 2377, label %126
i16 2378, label %127
i16 2379, label %128
i16 2380, label %129
i16 2381, label %130
i16 2325, label %131
i16 2326, label %132
i16 2327, label %133
i16 2328, label %134
i16 2329, label %135
i16 2330, label %136
i16 2331, label %137
i16 2332, label %138
i16 2333, label %139
i16 2334, label %140
i16 2335, label %141
i16 2336, label %142
i16 2337, label %143
i16 2338, label %144
i16 2339, label %145
i16 2340, label %146
i16 2341, label %147
i16 2342, label %148
i16 2343, label %149
i16 2344, label %150
i16 2345, label %151
i16 2346, label %152
i16 2347, label %153
i16 2348, label %154
i16 2349, label %155
i16 2350, label %156
i16 2351, label %157
i16 2352, label %158
i16 2353, label %159
i16 2354, label %160
i16 2355, label %161
i16 2356, label %162
i16 2357, label %163
i16 2358, label %164
i16 2359, label %165
i16 2360, label %166
i16 2361, label %167
i16 2392, label %168
i16 2393, label %169
i16 2394, label %170
i16 2395, label %171
i16 2396, label %172
i16 2397, label %173
i16 2398, label %174
i16 2399, label %175
]
15: ; preds = %10
%16 = icmp ult i64 %11, %8
br i1 %16, label %17, label %176
17: ; preds = %15
%18 = add nuw nsw i64 %11, 1
%19 = getelementptr inbounds i16, i16* %0, i64 %18
%20 = load i16, i16* %19
%21 = icmp eq i16 %20, 0
br i1 %21, label %176, label %22
22: ; preds = %17
%23 = add nsw i32 %12, 1
%24 = sext i32 %12 to i64
%25 = getelementptr inbounds i8*, i8** %1, i64 %24
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), i8** %25
%26 = getelementptr inbounds i8, i8* %2, i64 %24
store i8 1, i8* %26
br label %176
27: ; preds = %10
%28 = icmp ult i64 %11, %8
br i1 %28, label %29, label %176
29: ; preds = %27
%30 = add nuw nsw i64 %11, 1
%31 = getelementptr inbounds i16, i16* %0, i64 %30
%32 = load i16, i16* %31
%33 = icmp eq i16 %32, 0
br i1 %33, label %176, label %34
34: ; preds = %29
%35 = add nsw i32 %12, 1
%36 = sext i32 %12 to i64
%37 = getelementptr inbounds i8*, i8** %1, i64 %36
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), i8** %37
%38 = getelementptr inbounds i8, i8* %2, i64 %36
store i8 1, i8* %38
br label %176
39: ; preds = %10
%40 = add nsw i32 %12, 1
%41 = sext i32 %12 to i64
%42 = getelementptr inbounds i8*, i8** %1, i64 %41
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i8** %42
%43 = getelementptr inbounds i8, i8* %2, i64 %41
store i8 0, i8* %43
br label %176
44: ; preds = %10
br label %176
45: ; preds = %10
br label %176
46: ; preds = %10
br label %176
47: ; preds = %10
br label %176
48: ; preds = %10
br label %176
49: ; preds = %10
%50 = add nsw i32 %12, 1
%51 = sext i32 %12 to i64
%52 = getelementptr inbounds i8*, i8** %1, i64 %51
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %52
%53 = getelementptr inbounds i8, i8* %2, i64 %51
store i8 1, i8* %53
br label %176
54: ; preds = %10
%55 = add nsw i32 %12, 1
%56 = sext i32 %12 to i64
%57 = getelementptr inbounds i8*, i8** %1, i64 %56
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %57
%58 = getelementptr inbounds i8, i8* %2, i64 %56
store i8 1, i8* %58
%59 = add nsw i32 %12, 2
%60 = sext i32 %55 to i64
%61 = getelementptr inbounds i8*, i8** %1, i64 %60
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %61
%62 = getelementptr inbounds i8, i8* %2, i64 %60
store i8 1, i8* %62
br label %176
63: ; preds = %10
%64 = add nsw i32 %12, 1
%65 = sext i32 %12 to i64
%66 = getelementptr inbounds i8*, i8** %1, i64 %65
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8** %66
%67 = getelementptr inbounds i8, i8* %2, i64 %65
store i8 1, i8* %67
%68 = add nsw i32 %12, 2
%69 = sext i32 %64 to i64
%70 = getelementptr inbounds i8*, i8** %1, i64 %69
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %70
%71 = getelementptr inbounds i8, i8* %2, i64 %69
store i8 1, i8* %71
br label %176
72: ; preds = %10
%73 = add nsw i32 %12, 1
%74 = sext i32 %12 to i64
%75 = getelementptr inbounds i8*, i8** %1, i64 %74
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8** %75
%76 = getelementptr inbounds i8, i8* %2, i64 %74
store i8 1, i8* %76
%77 = add nsw i32 %12, 2
%78 = sext i32 %73 to i64
%79 = getelementptr inbounds i8*, i8** %1, i64 %78
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %79
%80 = getelementptr inbounds i8, i8* %2, i64 %78
store i8 1, i8* %80
br label %176
81: ; preds = %10
%82 = add nsw i32 %12, 1
%83 = sext i32 %12 to i64
%84 = getelementptr inbounds i8*, i8** %1, i64 %83
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8** %84
%85 = getelementptr inbounds i8, i8* %2, i64 %83
store i8 1, i8* %85
%86 = add nsw i32 %12, 2
%87 = sext i32 %82 to i64
%88 = getelementptr inbounds i8*, i8** %1, i64 %87
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %88
%89 = getelementptr inbounds i8, i8* %2, i64 %87
store i8 1, i8* %89
br label %176
90: ; preds = %10
%91 = add nsw i32 %12, 1
%92 = sext i32 %12 to i64
%93 = getelementptr inbounds i8*, i8** %1, i64 %92
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8** %93
%94 = getelementptr inbounds i8, i8* %2, i64 %92
store i8 1, i8* %94
%95 = add nsw i32 %12, 2
%96 = sext i32 %91 to i64
%97 = getelementptr inbounds i8*, i8** %1, i64 %96
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %97
%98 = getelementptr inbounds i8, i8* %2, i64 %96
store i8 1, i8* %98
br label %176
99: ; preds = %10
br label %176
100: ; preds = %10
br label %176
101: ; preds = %10
br label %176
102: ; preds = %10
br label %176
103: ; preds = %10
br label %176
104: ; preds = %10
br label %176
105: ; preds = %10
br label %176
106: ; preds = %10
br label %176
107: ; preds = %10
br label %176
108: ; preds = %10
br label %176
109: ; preds = %10
br label %176
110: ; preds = %10
br label %176
111: ; preds = %10
br label %176
112: ; preds = %10
%113 = add nsw i32 %12, 1
%114 = sext i32 %12 to i64
%115 = getelementptr inbounds i8*, i8** %1, i64 %114
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %115
%116 = getelementptr inbounds i8, i8* %2, i64 %114
store i8 1, i8* %116
br label %176
117: ; preds = %10
%118 = add nsw i32 %12, 1
%119 = sext i32 %12 to i64
%120 = getelementptr inbounds i8*, i8** %1, i64 %119
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8** %120
%121 = getelementptr inbounds i8, i8* %2, i64 %119
store i8 1, i8* %121
br label %176
122: ; preds = %10
br label %176
123: ; preds = %10
br label %176
124: ; preds = %10
br label %176
125: ; preds = %10
br label %176
126: ; preds = %10
br label %176
127: ; preds = %10
br label %176
128: ; preds = %10
br label %176
129: ; preds = %10
br label %176
130: ; preds = %10
br label %176
131: ; preds = %10
br label %176
132: ; preds = %10
br label %176
133: ; preds = %10
br label %176
134: ; preds = %10
br label %176
135: ; preds = %10
br label %176
136: ; preds = %10
br label %176
137: ; preds = %10
br label %176
138: ; preds = %10
br label %176
139: ; preds = %10
br label %176
140: ; preds = %10
br label %176
141: ; preds = %10
br label %176
142: ; preds = %10
br label %176
143: ; preds = %10
br label %176
144: ; preds = %10
br label %176
145: ; preds = %10
br label %176
146: ; preds = %10
br label %176
147: ; preds = %10
br label %176
148: ; preds = %10
br label %176
149: ; preds = %10
br label %176
150: ; preds = %10
br label %176
151: ; preds = %10
br label %176
152: ; preds = %10
br label %176
153: ; preds = %10
br label %176
154: ; preds = %10
br label %176
155: ; preds = %10
br label %176
156: ; preds = %10
br label %176
157: ; preds = %10
br label %176
158: ; preds = %10
br label %176
159: ; preds = %10
br label %176
160: ; preds = %10
br label %176
161: ; preds = %10
br label %176
162: ; preds = %10
br label %176
163: ; preds = %10
br label %176
164: ; preds = %10
br label %176
165: ; preds = %10
br label %176
166: ; preds = %10
br label %176
167: ; preds = %10
br label %176
168: ; preds = %10
br label %176
169: ; preds = %10
br label %176
170: ; preds = %10
br label %176
171: ; preds = %10
br label %176
172: ; preds = %10
br label %176
173: ; preds = %10
br label %176
174: ; preds = %10
br label %176
175: ; preds = %10
br label %176
176: ; preds = %10, %10, %27, %29, %15, %17, %39, %44, %45, %46, %47, %48, %49, %54, %63, %72, %81, %90, %99, %100, %101, %102, %103, %104, %105, %106, %107, %108, %109, %110, %111, %112, %117, %122, %123, %124, %125, %126, %127, %128, %129, %130, %131, %132, %133, %134, %135, %136, %137, %138, %139, %140, %141, %142, %143, %144, %145, %146, %147, %148, %149, %150, %151, %152, %153, %154, %155, %156, %157, %158, %159, %160, %161, %162, %163, %164, %165, %166, %167, %168, %169, %170, %171, %172, %173, %174, %175, %22, %34
%177 = phi i32 [ 2, %39 ], [ 1, %44 ], [ 1, %45 ], [ 1, %46 ], [ 1, %47 ], [ 1, %48 ], [ 2, %49 ], [ 3, %54 ], [ 3, %63 ], [ 3, %72 ], [ 3, %81 ], [ 3, %90 ], [ 1, %99 ], [ 1, %100 ], [ 1, %101 ], [ 1, %102 ], [ 1, %103 ], [ 1, %104 ], [ 1, %105 ], [ 1, %106 ], [ 1, %107 ], [ 1, %108 ], [ 1, %109 ], [ 1, %110 ], [ 1, %111 ], [ 2, %112 ], [ 2, %117 ], [ 1, %122 ], [ 1, %123 ], [ 1, %124 ], [ 1, %125 ], [ 1, %126 ], [ 1, %127 ], [ 1, %128 ], [ 1, %129 ], [ 1, %130 ], [ 1, %131 ], [ 1, %132 ], [ 1, %133 ], [ 1, %134 ], [ 1, %135 ], [ 1, %136 ], [ 1, %137 ], [ 1, %138 ], [ 1, %139 ], [ 1, %140 ], [ 1, %141 ], [ 1, %142 ], [ 1, %143 ], [ 1, %144 ], [ 1, %145 ], [ 1, %146 ], [ 1, %147 ], [ 1, %148 ], [ 1, %149 ], [ 1, %150 ], [ 1, %151 ], [ 1, %152 ], [ 1, %153 ], [ 1, %154 ], [ 1, %155 ], [ 1, %156 ], [ 1, %157 ], [ 1, %158 ], [ 1, %159 ], [ 1, %160 ], [ 1, %161 ], [ 1, %162 ], [ 1, %163 ], [ 1, %164 ], [ 1, %165 ], [ 1, %166 ], [ 1, %167 ], [ 1, %168 ], [ 1, %169 ], [ 1, %170 ], [ 1, %171 ], [ 1, %172 ], [ 1, %173 ], [ 1, %174 ], [ 1, %175 ], [ 2, %22 ], [ 2, %34 ], [ 1, %17 ], [ 1, %15 ], [ 1, %29 ], [ 1, %27 ], [ 1, %10 ], [ 1, %10 ]
%178 = phi i32 [ %40, %39 ], [ %12, %44 ], [ %12, %45 ], [ %12, %46 ], [ %12, %47 ], [ %12, %48 ], [ %50, %49 ], [ %59, %54 ], [ %68, %63 ], [ %77, %72 ], [ %86, %81 ], [ %95, %90 ], [ %12, %99 ], [ %12, %100 ], [ %12, %101 ], [ %12, %102 ], [ %12, %103 ], [ %12, %104 ], [ %12, %105 ], [ %12, %106 ], [ %12, %107 ], [ %12, %108 ], [ %12, %109 ], [ %12, %110 ], [ %12, %111 ], [ %113, %112 ], [ %118, %117 ], [ %12, %122 ], [ %12, %123 ], [ %12, %124 ], [ %12, %125 ], [ %12, %126 ], [ %12, %127 ], [ %12, %128 ], [ %12, %129 ], [ %12, %130 ], [ %12, %131 ], [ %12, %132 ], [ %12, %133 ], [ %12, %134 ], [ %12, %135 ], [ %12, %136 ], [ %12, %137 ], [ %12, %138 ], [ %12, %139 ], [ %12, %140 ], [ %12, %141 ], [ %12, %142 ], [ %12, %143 ], [ %12, %144 ], [ %12, %145 ], [ %12, %146 ], [ %12, %147 ], [ %12, %148 ], [ %12, %149 ], [ %12, %150 ], [ %12, %151 ], [ %12, %152 ], [ %12, %153 ], [ %12, %154 ], [ %12, %155 ], [ %12, %156 ], [ %12, %157 ], [ %12, %158 ], [ %12, %159 ], [ %12, %160 ], [ %12, %161 ], [ %12, %162 ], [ %12, %163 ], [ %12, %164 ], [ %12, %165 ], [ %12, %166 ], [ %12, %167 ], [ %12, %168 ], [ %12, %169 ], [ %12, %170 ], [ %12, %171 ], [ %12, %172 ], [ %12, %173 ], [ %12, %174 ], [ %12, %175 ], [ %23, %22 ], [ %35, %34 ], [ %12, %17 ], [ %12, %15 ], [ %12, %29 ], [ %12, %27 ], [ %12, %10 ], [ %12, %10 ]
%179 = phi i8* [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), %39 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), %44 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %45 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0), %46 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.8, i64 0, i64 0), %47 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9, i64 0, i64 0), %48 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %49 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %54 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %63 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %72 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %81 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %90 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12, i64 0, i64 0), %99 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.13, i64 0, i64 0), %100 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), %101 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12, i64 0, i64 0), %102 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), %103 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16, i64 0, i64 0), %104 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.17, i64 0, i64 0), %105 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), %106 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), %107 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %108 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0), %109 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.8, i64 0, i64 0), %110 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9, i64 0, i64 0), %111 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), %112 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0), %117 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12, i64 0, i64 0), %122 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.13, i64 0, i64 0), %123 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), %124 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12, i64 0, i64 0), %125 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), %126 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16, i64 0, i64 0), %127 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.17, i64 0, i64 0), %128 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), %129 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), %130 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.18, i64 0, i64 0), %131 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), %132 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20, i64 0, i64 0), %133 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.21, i64 0, i64 0), %134 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), %135 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.22, i64 0, i64 0), %136 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.23, i64 0, i64 0), %137 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24, i64 0, i64 0), %138 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.25, i64 0, i64 0), %139 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), %140 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26, i64 0, i64 0), %141 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.27, i64 0, i64 0), %142 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.28, i64 0, i64 0), %143 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), %144 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.30, i64 0, i64 0), %145 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.31, i64 0, i64 0), %146 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.32, i64 0, i64 0), %147 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.33, i64 0, i64 0), %148 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.34, i64 0, i64 0), %149 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), %150 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), %151 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i64 0, i64 0), %152 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.36, i64 0, i64 0), %153 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.37, i64 0, i64 0), %154 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.38, i64 0, i64 0), %155 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.39, i64 0, i64 0), %156 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.40, i64 0, i64 0), %157 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), %158 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), %159 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), %160 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), %161 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), %162 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.42, i64 0, i64 0), %163 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.43, i64 0, i64 0), %164 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.43, i64 0, i64 0), %165 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.44, i64 0, i64 0), %166 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), %167 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.18, i64 0, i64 0), %168 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), %169 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20, i64 0, i64 0), %170 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24, i64 0, i64 0), %171 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.28, i64 0, i64 0), %172 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), %173 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.36, i64 0, i64 0), %174 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.40, i64 0, i64 0), %175 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), %22 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), %34 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), %17 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), %15 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), %29 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), %27 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), %10 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), %10 ]
%180 = phi i8 [ 1, %39 ], [ 0, %44 ], [ 0, %45 ], [ 0, %46 ], [ 0, %47 ], [ 0, %48 ], [ 0, %49 ], [ 0, %54 ], [ 0, %63 ], [ 0, %72 ], [ 0, %81 ], [ 0, %90 ], [ 0, %99 ], [ 0, %100 ], [ 0, %101 ], [ 0, %102 ], [ 0, %103 ], [ 0, %104 ], [ 0, %105 ], [ 0, %106 ], [ 0, %107 ], [ 0, %108 ], [ 0, %109 ], [ 0, %110 ], [ 0, %111 ], [ 0, %112 ], [ 0, %117 ], [ 0, %122 ], [ 0, %123 ], [ 0, %124 ], [ 0, %125 ], [ 0, %126 ], [ 0, %127 ], [ 0, %128 ], [ 0, %129 ], [ 2, %130 ], [ 1, %131 ], [ 1, %132 ], [ 1, %133 ], [ 1, %134 ], [ 1, %135 ], [ 1, %136 ], [ 1, %137 ], [ 1, %138 ], [ 1, %139 ], [ 1, %140 ], [ 1, %141 ], [ 1, %142 ], [ 1, %143 ], [ 1, %144 ], [ 1, %145 ], [ 1, %146 ], [ 1, %147 ], [ 1, %148 ], [ 1, %149 ], [ 1, %150 ], [ 1, %151 ], [ 1, %152 ], [ 1, %153 ], [ 1, %154 ], [ 1, %155 ], [ 1, %156 ], [ 1, %157 ], [ 1, %158 ], [ 1, %159 ], [ 1, %160 ], [ 1, %161 ], [ 1, %162 ], [ 1, %163 ], [ 1, %164 ], [ 1, %165 ], [ 1, %166 ], [ 1, %167 ], [ 1, %168 ], [ 1, %169 ], [ 1, %170 ], [ 1, %171 ], [ 1, %172 ], [ 1, %173 ], [ 1, %174 ], [ 1, %175 ], [ 2, %22 ], [ 2, %34 ], [ 1, %17 ], [ 1, %15 ], [ 1, %29 ], [ 1, %27 ], [ 0, %10 ], [ 0, %10 ]
%181 = add nsw i32 %12, %177
%182 = sext i32 %178 to i64
%183 = getelementptr inbounds i8*, i8** %1, i64 %182
store i8* %179, i8** %183
%184 = getelementptr inbounds i8, i8* %2, i64 %182
store i8 %180, i8* %184
br label %185
185: ; preds = %176, %10
%186 = phi i32 [ %12, %10 ], [ %181, %176 ]
%187 = add nuw nsw i64 %11, 1
%188 = icmp eq i64 %187, %9
br i1 %188, label %189, label %10
189: ; preds = %185, %4
%190 = phi i32 [ 0, %4 ], [ %186, %185 ]
ret i32 %190
}