int ConvertPath(char *Out, char *In) {
  int depth = 1;
  int InLength = 0;
  int OutLength = 0;
  char *temp = In;
  while (*temp++)
    InLength++;
  for (int i = 0; i < InLength; i++) {
    if ((In[i] == '/')) {
      if (i) {
        while (OutLength % 11)
          Out[OutLength++] = ' ';
        depth++;
      }
    } else if (In[i] == '.') {
      if ((OutLength % 11) > 8)
        return 0;
      while ((OutLength % 11) % 8)
        Out[OutLength++] = ' ';
    } else if (In[i] == (char)0xE5) {
      Out[OutLength++] = 5;
    } else {
      if (In[i] >= 'a' && In[i] <= 'z')
        Out[OutLength++] = (char)(In[i] - ' ');
      else
        Out[OutLength++] = In[i];
      if (!(OutLength % 11) && ((In[i + 1] != '/') && (In[i + 1] != 0)))
        return 0;
    }
  }
  while ((Out[OutLength] % 11))
    Out[OutLength++] = ' ';
  Out[OutLength] = 0;
  return depth;
}


x86 assembly (clang, -O0):
<ConvertPath>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
movl   $0x1,-0x1c(%rbp)
movl   $0x0,-0x20(%rbp)
movl   $0x0,-0x24(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x30(%rbp)
cmpb   $0x0,(%rax)
je     114f <ConvertPath+0x4f>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1129 <ConvertPath+0x29>
movl   $0x0,-0x34(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x20(%rbp),%eax
jge    1356 <ConvertPath+0x256>
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2f,%eax
jne    11c3 <ConvertPath+0xc3>
cmpl   $0x0,-0x34(%rbp)
je     11be <ConvertPath+0xbe>
jmp    1186 <ConvertPath+0x86>
mov    -0x24(%rbp),%eax
mov    $0xb,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     11b5 <ConvertPath+0xb5>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
movb   $0x20,(%rax,%rcx,1)
jmp    1186 <ConvertPath+0x86>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1343 <ConvertPath+0x243>
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2e,%eax
jne    123b <ConvertPath+0x13b>
mov    -0x24(%rbp),%eax
mov    $0xb,%ecx
cltd
idiv   %ecx
cmp    $0x8,%edx
jle    11f8 <ConvertPath+0xf8>
movl   $0x0,-0x4(%rbp)
jmp    13a5 <ConvertPath+0x2a5>
jmp    11fd <ConvertPath+0xfd>
mov    -0x24(%rbp),%eax
mov    $0xb,%ecx
cltd
idiv   %ecx
mov    %edx,%eax
mov    $0x8,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1236 <ConvertPath+0x136>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
movb   $0x20,(%rax,%rcx,1)
jmp    11fd <ConvertPath+0xfd>
jmp    133e <ConvertPath+0x23e>
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0xffffffe5,%eax
jne    126b <ConvertPath+0x16b>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
movb   $0x5,(%rax,%rcx,1)
jmp    1339 <ConvertPath+0x239>
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x61,%eax
jl     12c0 <ConvertPath+0x1c0>
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x7a,%eax
jg     12c0 <ConvertPath+0x1c0>
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
sub    $0x20,%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%esi
add    $0x1,%esi
mov    %esi,-0x24(%rbp)
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    12e0 <ConvertPath+0x1e0>
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%esi
add    $0x1,%esi
mov    %esi,-0x24(%rbp)
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x24(%rbp),%eax
mov    $0xb,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1334 <ConvertPath+0x234>
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2f,%eax
je     1334 <ConvertPath+0x234>
mov    -0x18(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x0,%eax
je     1334 <ConvertPath+0x234>
movl   $0x0,-0x4(%rbp)
jmp    13a5 <ConvertPath+0x2a5>
jmp    1339 <ConvertPath+0x239>
jmp    133e <ConvertPath+0x23e>
jmp    1343 <ConvertPath+0x243>
jmp    1348 <ConvertPath+0x248>
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1156 <ConvertPath+0x56>
jmp    135b <ConvertPath+0x25b>
mov    -0x10(%rbp),%rax
movslq -0x24(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    $0xb,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1393 <ConvertPath+0x293>
mov    -0x10(%rbp),%rax
mov    -0x24(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x24(%rbp)
movslq %ecx,%rcx
movb   $0x20,(%rax,%rcx,1)
jmp    135b <ConvertPath+0x25b>
mov    -0x10(%rbp),%rax
movslq -0x24(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
mov    -0x1c(%rbp),%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<ConvertPath>:
push   %r14
push   %rbx
mov    (%rsi),%cl
test   %cl,%cl
je     1283 <ConvertPath+0x183>
xor    %r8d,%r8d
cmpb   $0x0,0x1(%rsi,%r8,1)
lea    0x1(%r8),%r8
jne    1110 <ConvertPath+0x10>
mov    $0x1,%eax
xor    %r9d,%r9d
xor    %r11d,%r11d
cmp    $0xe5,%cl
je     1276 <ConvertPath+0x176>
cmp    $0x2e,%cl
je     11a0 <ConvertPath+0xa0>
cmp    $0x2f,%cl
jne    1220 <ConvertPath+0x120>
test   %r9,%r9
je     1260 <ConvertPath+0x160>
imul   $0xba2e8ba3,%r11d,%ecx
add    $0xba2e8ba,%ecx
cmp    $0x1745d175,%ecx
jb     1190 <ConvertPath+0x90>
movslq %r11d,%rcx
add    %rdi,%rcx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movb   $0x20,(%rcx)
add    $0x1,%r11d
imul   $0xba2e8ba3,%r11d,%edx
add    $0xba2e8ba,%edx
add    $0x1,%rcx
cmp    $0x1745d174,%edx
ja     1170 <ConvertPath+0x70>
add    $0x1,%eax
jmp    1260 <ConvertPath+0x160>
nopl   0x0(%rax,%rax,1)
movslq %r11d,%r14
imul   $0x2e8ba2e9,%r14,%rbx
mov    %rbx,%r10
shr    $0x3f,%r10
sar    $0x21,%rbx
add    %r10d,%ebx
lea    (%rbx,%rbx,4),%edx
lea    (%rbx,%rdx,2),%edx
mov    %r11d,%r10d
sub    %edx,%r10d
cmp    $0x8,%r10d
jg     12cd <ConvertPath+0x1cd>
test   $0x7,%r10b
je     1260 <ConvertPath+0x160>
add    %rdi,%r14
nopl   0x0(%rax,%rax,1)
movb   $0x20,(%r14)
add    $0x1,%r11d
movslq %r11d,%rdx
imul   $0x2e8ba2e9,%rdx,%rbx
mov    %rbx,%rcx
shr    $0x3f,%rcx
sar    $0x21,%rbx
add    %ecx,%ebx
lea    (%rbx,%rbx,4),%ecx
lea    (%rbx,%rcx,2),%ecx
sub    %ecx,%edx
add    $0x1,%r14
test   $0x7,%dl
jne    11e0 <ConvertPath+0xe0>
jmp    1260 <ConvertPath+0x160>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
lea    -0x61(%rcx),%edx
lea    -0x20(%rcx),%ebx
cmp    $0x1a,%dl
movzbl %cl,%ecx
movzbl %bl,%edx
cmovae %ecx,%edx
movslq %r11d,%rcx
mov    %dl,(%rdi,%rcx,1)
add    $0x1,%r11d
imul   $0xba2e8ba3,%r11d,%ecx
add    $0xba2e8ba,%ecx
cmp    $0x1745d174,%ecx
ja     1260 <ConvertPath+0x160>
mov    0x1(%r9,%rsi,1),%cl
cmp    $0x2f,%cl
je     1260 <ConvertPath+0x160>
test   %cl,%cl
jne    12cd <ConvertPath+0x1cd>
nop
add    $0x1,%r9
cmp    %r9,%r8
je     128b <ConvertPath+0x18b>
mov    (%rsi,%r9,1),%cl
cmp    $0xe5,%cl
jne    1130 <ConvertPath+0x30>
movslq %r11d,%rcx
add    $0x1,%r11d
movb   $0x5,(%rdi,%rcx,1)
jmp    1260 <ConvertPath+0x160>
xor    %r11d,%r11d
mov    $0x1,%eax
movslq %r11d,%rdx
lea    (%rdi,%rdx,1),%rcx
movzbl (%rdi,%rdx,1),%edx
imul   $0xffffffa3,%edx,%edx
add    $0xb,%dl
cmp    $0x17,%dl
jb     12c6 <ConvertPath+0x1c6>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movb   $0x20,(%rcx)
movzbl 0x1(%rcx),%edx
add    $0x1,%rcx
imul   $0xffffffa3,%edx,%edx
add    $0xb,%dl
cmp    $0x16,%dl
ja     12b0 <ConvertPath+0x1b0>
movb   $0x0,(%rcx)
pop    %rbx
pop    %r14
ret
xor    %eax,%eax
jmp    12c9 <ConvertPath+0x1c9>

LLVM IR (-O0):
define i32 @ConvertPath(i8* %0, i8* %1) {
%3 = alloca i32
%4 = alloca i8*
%5 = alloca i8*
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i8*
%10 = alloca i32
store i8* %0, i8** %4
store i8* %1, i8** %5
store i32 1, i32* %6
store i32 0, i32* %7
store i32 0, i32* %8
%11 = load i8*, i8** %5
store i8* %11, i8** %9
br label %12
12: ; preds = %17, %2
%13 = load i8*, i8** %9
%14 = getelementptr inbounds i8, i8* %13, i32 1
store i8* %14, i8** %9
%15 = load i8, i8* %13
%16 = icmp ne i8 %15, 0
br i1 %16, label %17, label %20
17: ; preds = %12
%18 = load i32, i32* %7
%19 = add nsw i32 %18, 1
store i32 %19, i32* %7
br label %12
20: ; preds = %12
store i32 0, i32* %10
br label %21
21: ; preds = %159, %20
%22 = load i32, i32* %10
%23 = load i32, i32* %7
%24 = icmp slt i32 %22, %23
br i1 %24, label %25, label %162
25: ; preds = %21
%26 = load i8*, i8** %5
%27 = load i32, i32* %10
%28 = sext i32 %27 to i64
%29 = getelementptr inbounds i8, i8* %26, i64 %28
%30 = load i8, i8* %29
%31 = sext i8 %30 to i32
%32 = icmp eq i32 %31, 47
br i1 %32, label %33, label %51
33: ; preds = %25
%34 = load i32, i32* %10
%35 = icmp ne i32 %34, 0
br i1 %35, label %36, label %50
36: ; preds = %33
br label %37
37: ; preds = %41, %36
%38 = load i32, i32* %8
%39 = srem i32 %38, 11
%40 = icmp ne i32 %39, 0
br i1 %40, label %41, label %47
41: ; preds = %37
%42 = load i8*, i8** %4
%43 = load i32, i32* %8
%44 = add nsw i32 %43, 1
store i32 %44, i32* %8
%45 = sext i32 %43 to i64
%46 = getelementptr inbounds i8, i8* %42, i64 %45
store i8 32, i8* %46
br label %37
47: ; preds = %37
%48 = load i32, i32* %6
%49 = add nsw i32 %48, 1
store i32 %49, i32* %6
br label %50
50: ; preds = %47, %33
br label %158
51: ; preds = %25
%52 = load i8*, i8** %5
%53 = load i32, i32* %10
%54 = sext i32 %53 to i64
%55 = getelementptr inbounds i8, i8* %52, i64 %54
%56 = load i8, i8* %55
%57 = sext i8 %56 to i32
%58 = icmp eq i32 %57, 46
br i1 %58, label %59, label %77
59: ; preds = %51
%60 = load i32, i32* %8
%61 = srem i32 %60, 11
%62 = icmp sgt i32 %61, 8
br i1 %62, label %63, label %64
63: ; preds = %59
store i32 0, i32* %3
br label %184
64: ; preds = %59
br label %65
65: ; preds = %70, %64
%66 = load i32, i32* %8
%67 = srem i32 %66, 11
%68 = srem i32 %67, 8
%69 = icmp ne i32 %68, 0
br i1 %69, label %70, label %76
70: ; preds = %65
%71 = load i8*, i8** %4
%72 = load i32, i32* %8
%73 = add nsw i32 %72, 1
store i32 %73, i32* %8
%74 = sext i32 %72 to i64
%75 = getelementptr inbounds i8, i8* %71, i64 %74
store i8 32, i8* %75
br label %65
76: ; preds = %65
br label %157
77: ; preds = %51
%78 = load i8*, i8** %5
%79 = load i32, i32* %10
%80 = sext i32 %79 to i64
%81 = getelementptr inbounds i8, i8* %78, i64 %80
%82 = load i8, i8* %81
%83 = sext i8 %82 to i32
%84 = icmp eq i32 %83, -27
br i1 %84, label %85, label %91
85: ; preds = %77
%86 = load i8*, i8** %4
%87 = load i32, i32* %8
%88 = add nsw i32 %87, 1
store i32 %88, i32* %8
%89 = sext i32 %87 to i64
%90 = getelementptr inbounds i8, i8* %86, i64 %89
store i8 5, i8* %90
br label %156
91: ; preds = %77
%92 = load i8*, i8** %5
%93 = load i32, i32* %10
%94 = sext i32 %93 to i64
%95 = getelementptr inbounds i8, i8* %92, i64 %94
%96 = load i8, i8* %95
%97 = sext i8 %96 to i32
%98 = icmp sge i32 %97, 97
br i1 %98, label %99, label %121
99: ; preds = %91
%100 = load i8*, i8** %5
%101 = load i32, i32* %10
%102 = sext i32 %101 to i64
%103 = getelementptr inbounds i8, i8* %100, i64 %102
%104 = load i8, i8* %103
%105 = sext i8 %104 to i32
%106 = icmp sle i32 %105, 122
br i1 %106, label %107, label %121
107: ; preds = %99
%108 = load i8*, i8** %5
%109 = load i32, i32* %10
%110 = sext i32 %109 to i64
%111 = getelementptr inbounds i8, i8* %108, i64 %110
%112 = load i8, i8* %111
%113 = sext i8 %112 to i32
%114 = sub nsw i32 %113, 32
%115 = trunc i32 %114 to i8
%116 = load i8*, i8** %4
%117 = load i32, i32* %8
%118 = add nsw i32 %117, 1
store i32 %118, i32* %8
%119 = sext i32 %117 to i64
%120 = getelementptr inbounds i8, i8* %116, i64 %119
store i8 %115, i8* %120
br label %132
121: ; preds = %99, %91
%122 = load i8*, i8** %5
%123 = load i32, i32* %10
%124 = sext i32 %123 to i64
%125 = getelementptr inbounds i8, i8* %122, i64 %124
%126 = load i8, i8* %125
%127 = load i8*, i8** %4
%128 = load i32, i32* %8
%129 = add nsw i32 %128, 1
store i32 %129, i32* %8
%130 = sext i32 %128 to i64
%131 = getelementptr inbounds i8, i8* %127, i64 %130
store i8 %126, i8* %131
br label %132
132: ; preds = %121, %107
%133 = load i32, i32* %8
%134 = srem i32 %133, 11
%135 = icmp ne i32 %134, 0
br i1 %135, label %155, label %136
136: ; preds = %132
%137 = load i8*, i8** %5
%138 = load i32, i32* %10
%139 = add nsw i32 %138, 1
%140 = sext i32 %139 to i64
%141 = getelementptr inbounds i8, i8* %137, i64 %140
%142 = load i8, i8* %141
%143 = sext i8 %142 to i32
%144 = icmp ne i32 %143, 47
br i1 %144, label %145, label %155
145: ; preds = %136
%146 = load i8*, i8** %5
%147 = load i32, i32* %10
%148 = add nsw i32 %147, 1
%149 = sext i32 %148 to i64
%150 = getelementptr inbounds i8, i8* %146, i64 %149
%151 = load i8, i8* %150
%152 = sext i8 %151 to i32
%153 = icmp ne i32 %152, 0
br i1 %153, label %154, label %155
154: ; preds = %145
store i32 0, i32* %3
br label %184
155: ; preds = %145, %136, %132
br label %156
156: ; preds = %155, %85
br label %157
157: ; preds = %156, %76
br label %158
158: ; preds = %157, %50
br label %159
159: ; preds = %158
%160 = load i32, i32* %10
%161 = add nsw i32 %160, 1
store i32 %161, i32* %10
br label %21
162: ; preds = %21
br label %163
163: ; preds = %172, %162
%164 = load i8*, i8** %4
%165 = load i32, i32* %8
%166 = sext i32 %165 to i64
%167 = getelementptr inbounds i8, i8* %164, i64 %166
%168 = load i8, i8* %167
%169 = sext i8 %168 to i32
%170 = srem i32 %169, 11
%171 = icmp ne i32 %170, 0
br i1 %171, label %172, label %178
172: ; preds = %163
%173 = load i8*, i8** %4
%174 = load i32, i32* %8
%175 = add nsw i32 %174, 1
store i32 %175, i32* %8
%176 = sext i32 %174 to i64
%177 = getelementptr inbounds i8, i8* %173, i64 %176
store i8 32, i8* %177
br label %163
178: ; preds = %163
%179 = load i8*, i8** %4
%180 = load i32, i32* %8
%181 = sext i32 %180 to i64
%182 = getelementptr inbounds i8, i8* %179, i64 %181
store i8 0, i8* %182
%183 = load i32, i32* %6
store i32 %183, i32* %3
br label %184
184: ; preds = %178, %154, %63
%185 = load i32, i32* %3
ret i32 %185
}

LLVM IR (-O2):
define i32 @ConvertPath(i8* nocapture %0, i8* nocapture %1) {
%3 = load i8, i8* %1
%4 = icmp eq i8 %3, 0
br i1 %4, label %14, label %7
5: ; preds = %7
%6 = zext i32 %11 to i64
br label %22
7: ; preds = %2, %7
%8 = phi i8* [ %10, %7 ], [ %1, %2 ]
%9 = phi i32 [ %11, %7 ], [ 0, %2 ]
%10 = getelementptr inbounds i8, i8* %8, i64 1
%11 = add nuw nsw i32 %9, 1
%12 = load i8, i8* %10
%13 = icmp eq i8 %12, 0
br i1 %13, label %5, label %7
14: ; preds = %82, %2
%15 = phi i32 [ 1, %2 ], [ %83, %82 ]
%16 = phi i32 [ 0, %2 ], [ %84, %82 ]
%17 = sext i32 %16 to i64
%18 = getelementptr inbounds i8, i8* %0, i64 %17
%19 = load i8, i8* %18
%20 = srem i8 %19, 11
%21 = icmp eq i8 %20, 0
br i1 %21, label %98, label %90
22: ; preds = %87, %5
%23 = phi i8 [ %3, %5 ], [ %89, %87 ]
%24 = phi i64 [ 0, %5 ], [ %85, %87 ]
%25 = phi i32 [ 0, %5 ], [ %84, %87 ]
%26 = phi i32 [ 1, %5 ], [ %83, %87 ]
switch i8 %23, label %66 [
i8 47, label %27
i8 46, label %46
i8 -27, label %62
]
27: ; preds = %22
%28 = icmp eq i64 %24, 0
br i1 %28, label %82, label %29
29: ; preds = %27
%30 = srem i32 %25, 11
%31 = icmp eq i32 %30, 0
br i1 %31, label %43, label %32
32: ; preds = %29
%33 = sext i32 %25 to i64
br label %34
34: ; preds = %32, %34
%35 = phi i64 [ %33, %32 ], [ %36, %34 ]
%36 = add i64 %35, 1
%37 = getelementptr inbounds i8, i8* %0, i64 %35
store i8 32, i8* %37
%38 = trunc i64 %36 to i32
%39 = srem i32 %38, 11
%40 = icmp eq i32 %39, 0
br i1 %40, label %41, label %34
41: ; preds = %34
%42 = trunc i64 %36 to i32
br label %43
43: ; preds = %41, %29
%44 = phi i32 [ %25, %29 ], [ %42, %41 ]
%45 = add nsw i32 %26, 1
br label %82
46: ; preds = %22
%47 = srem i32 %25, 11
%48 = icmp sgt i32 %47, 8
br i1 %48, label %100, label %49
49: ; preds = %46
%50 = and i32 %47, 7
%51 = icmp eq i32 %50, 0
br i1 %51, label %82, label %52
52: ; preds = %49
%53 = sext i32 %25 to i64
br label %54
54: ; preds = %52, %54
%55 = phi i64 [ %53, %52 ], [ %56, %54 ]
%56 = add i64 %55, 1
%57 = getelementptr inbounds i8, i8* %0, i64 %55
store i8 32, i8* %57
%58 = trunc i64 %56 to i32
%59 = srem i32 %58, 11
%60 = and i32 %59, 7
%61 = icmp eq i32 %60, 0
br i1 %61, label %80, label %54
62: ; preds = %22
%63 = add nsw i32 %25, 1
%64 = sext i32 %25 to i64
%65 = getelementptr inbounds i8, i8* %0, i64 %64
store i8 5, i8* %65
br label %82
66: ; preds = %22
%67 = add i8 %23, -97
%68 = icmp ult i8 %67, 26
%69 = add nsw i8 %23, -32
%70 = select i1 %68, i8 %69, i8 %23
%71 = sext i32 %25 to i64
%72 = getelementptr inbounds i8, i8* %0, i64 %71
store i8 %70, i8* %72
%73 = add nsw i32 %25, 1
%74 = srem i32 %73, 11
%75 = icmp eq i32 %74, 0
br i1 %75, label %76, label %82
76: ; preds = %66
%77 = add nuw nsw i64 %24, 1
%78 = getelementptr inbounds i8, i8* %1, i64 %77
%79 = load i8, i8* %78
switch i8 %79, label %100 [
i8 47, label %82
i8 0, label %82
]
80: ; preds = %54
%81 = trunc i64 %56 to i32
br label %82
82: ; preds = %80, %49, %76, %76, %43, %27, %62, %66
%83 = phi i32 [ %45, %43 ], [ %26, %27 ], [ %26, %62 ], [ %26, %66 ], [ %26, %76 ], [ %26, %76 ], [ %26, %49 ], [ %26, %80 ]
%84 = phi i32 [ %44, %43 ], [ %25, %27 ], [ %63, %62 ], [ %73, %66 ], [ %73, %76 ], [ %73, %76 ], [ %25, %49 ], [ %81, %80 ]
%85 = add nuw nsw i64 %24, 1
%86 = icmp eq i64 %85, %6
br i1 %86, label %14, label %87
87: ; preds = %82
%88 = getelementptr inbounds i8, i8* %1, i64 %85
%89 = load i8, i8* %88
br label %22
90: ; preds = %14, %90
%91 = phi i64 [ %93, %90 ], [ %17, %14 ]
%92 = phi i8* [ %94, %90 ], [ %18, %14 ]
%93 = add i64 %91, 1
store i8 32, i8* %92
%94 = getelementptr inbounds i8, i8* %0, i64 %93
%95 = load i8, i8* %94
%96 = srem i8 %95, 11
%97 = icmp eq i8 %96, 0
br i1 %97, label %98, label %90
98: ; preds = %90, %14
%99 = phi i8* [ %18, %14 ], [ %94, %90 ]
store i8 0, i8* %99
br label %100
100: ; preds = %76, %46, %98
%101 = phi i32 [ %15, %98 ], [ 0, %46 ], [ 0, %76 ]
ret i32 %101
}