; LLVM IR from MidnightBlueLabs/TETRA_crypto :: hurdle (HURDLE_set_key)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.HURDLE_CTX = type { [256 x i8] }

@HURDLE_set_key.abKeyXorConsts = external hidden constant [256 x i8], align 16

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

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

1030:                                             ; preds = %1052, %2
  %1031 = load i32, ptr %6, align 4, !tbaa !10
  %1032 = icmp slt i32 %1031, 256
  br i1 %1032, label %1034, label %1033

1033:                                             ; preds = %1030
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #2
  br label %1055

1034:                                             ; preds = %1030
  %1035 = load i32, ptr %6, align 4, !tbaa !10
  %1036 = sext i32 %1035 to i64
  %1037 = getelementptr inbounds [256 x i8], ptr %5, i64 0, i64 %1036
  %1038 = load i8, ptr %1037, align 1, !tbaa !9
  %1039 = zext i8 %1038 to i32
  %1040 = load i32, ptr %6, align 4, !tbaa !10
  %1041 = sext i32 %1040 to i64
  %1042 = getelementptr inbounds [256 x i8], ptr @HURDLE_set_key.abKeyXorConsts, i64 0, i64 %1041
  %1043 = load i8, ptr %1042, align 1, !tbaa !9
  %1044 = zext i8 %1043 to i32
  %1045 = xor i32 %1039, %1044
  %1046 = trunc i32 %1045 to i8
  %1047 = load ptr, ptr %4, align 8, !tbaa !5
  %1048 = getelementptr inbounds %struct.HURDLE_CTX, ptr %1047, i32 0, i32 0
  %1049 = load i32, ptr %6, align 4, !tbaa !10
  %1050 = sext i32 %1049 to i64
  %1051 = getelementptr inbounds [256 x i8], ptr %1048, i64 0, i64 %1050
  store i8 %1046, ptr %1051, align 1, !tbaa !9
  br label %1052

1052:                                             ; preds = %1034
  %1053 = load i32, ptr %6, align 4, !tbaa !10
  %1054 = add nsw i32 %1053, 1
  store i32 %1054, ptr %6, align 4, !tbaa !10
  br label %1030, !llvm.loop !12

1055:                                             ; preds = %1033
  call void @llvm.lifetime.end.p0(i64 256, ptr %5) #2
  ret void
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!7, !7, i64 0}
!10 = !{!11, !11, i64 0}
!11 = !{!"int", !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@HURDLE_set_key.abKeyXorConsts = external hidden local_unnamed_addr constant [256 x i8], align 16

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable
define dso_local void @HURDLE_set_key(ptr nocapture noundef readonly %0, ptr nocapture noundef writeonly %1) local_unnamed_addr #1 {
vector.memcheck:
  %2 = alloca [256 x i8], align 16
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %2) #2
  %3 = load <8 x i8>, ptr %0, align 1, !tbaa !5
  store <8 x i8> %3, ptr %2, align 16, !tbaa !5
  %4 = getelementptr inbounds i8, ptr %2, i64 8
  %5 = getelementptr inbounds i8, ptr %0, i64 8
  %6 = load <8 x i8>, ptr %5, align 1, !tbaa !5
  store <8 x i8> %6, ptr %4, align 8, !tbaa !5
  %7 = getelementptr inbounds i8, ptr %2, i64 16
  %8 = shufflevector <8 x i8> %3, <8 x i8> %6, <8 x i32> <i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12>
  store <8 x i8> %8, ptr %7, align 16, !tbaa !5
  %9 = getelementptr inbounds i8, ptr %2, i64 24
  %10 = shufflevector <8 x i8> %6, <8 x i8> %3, <8 x i32> <i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12>
  store <8 x i8> %10, ptr %9, align 8, !tbaa !5
  %11 = getelementptr inbounds i8, ptr %2, i64 32
  %12 = shufflevector <8 x i8> %6, <8 x i8> %3, <8 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9>
  store <8 x i8> %12, ptr %11, align 16, !tbaa !5
  %13 = getelementptr inbounds i8, ptr %2, i64 40
  %14 = shufflevector <8 x i8> %3, <8 x i8> %6, <8 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9>
  store <8 x i8> %14, ptr %13, align 8, !tbaa !5
  %15 = getelementptr inbounds i8, ptr %2, i64 48
  %16 = shufflevector <8 x i8> %6, <8 x i8> %3, <8 x i32> <i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14>
  store <8 x i8> %16, ptr %15, align 16, !tbaa !5
  %17 = getelementptr inbounds i8, ptr %2, i64 56
  %18 = shufflevector <8 x i8> %3, <8 x i8> %6, <8 x i32> <i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14>
  store <8 x i8> %18, ptr %17, align 8, !tbaa !5
  %19 = getelementptr inbounds i8, ptr %2, i64 64
  %20 = shufflevector <8 x i8> %3, <8 x i8> %6, <8 x i32> <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
  store <8 x i8> %20, ptr %19, align 16, !tbaa !5
  %21 = getelementptr inbounds i8, ptr %2, i64 72
  %22 = shufflevector <8 x i8> %6, <8 x i8> %3, <8 x i32> <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
  store <8 x i8> %22, ptr %21, align 8, !tbaa !5
  %23 = getelementptr inbounds i8, ptr %2, i64 80
  store <8 x i8> %18, ptr %23, align 16, !tbaa !5
  %24 = getelementptr inbounds i8, ptr %2, i64 88
  store <8 x i8> %16, ptr %24, align 8, !tbaa !5
  %25 = getelementptr inbounds i8, ptr %2, i64 96
  %26 = shufflevector <8 x i8> %6, <8 x i8> %3, <8 x i32> <i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13>
  store <8 x i8> %26, ptr %25, align 16, !tbaa !5
  %27 = getelementptr inbounds i8, ptr %2, i64 104
  %28 = shufflevector <8 x i8> %3, <8 x i8> %6, <16 x i32> <i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
  %29 = getelementptr inbounds i8, ptr %2, i64 120
  %30 = getelementptr inbounds i8, ptr %2, i64 124
  %31 = getelementptr inbounds i8, ptr %2, i64 128
  %32 = load <8 x i8>, ptr %5, align 1, !tbaa !5
  %33 = shufflevector <8 x i8> %32, <8 x i8> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
  %34 = shufflevector <8 x i8> %32, <8 x i8> poison, <4 x i32> <i32 3, i32 4, i32 5, i32 6>
  store <4 x i8> %34, ptr %29, align 8, !tbaa !5
  store <8 x i8> %32, ptr %31, align 16, !tbaa !5
  %35 = getelementptr inbounds i8, ptr %2, i64 136
  %36 = load <8 x i8>, ptr %0, align 1, !tbaa !5
  %37 = shufflevector <8 x i8> %36, <8 x i8> poison, <16 x i32> <i32 poison, i32 poison, i32 poison, i32 3, i32 4, i32 5, i32 6, i32 7, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
  %38 = shufflevector <16 x i8> %28, <16 x i8> %37, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 19, i32 20, i32 21, i32 22, i32 23, i32 poison, i32 poison, i32 poison>
  %39 = shufflevector <8 x i8> %32, <8 x i8> %36, <4 x i32> <i32 7, i32 8, i32 9, i32 10>
  store <4 x i8> %39, ptr %30, align 4, !tbaa !5
  %40 = shufflevector <16 x i8> %38, <16 x i8> %33, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 16, i32 17, i32 18>
  store <16 x i8> %40, ptr %27, align 8, !tbaa !5
  store <8 x i8> %36, ptr %35, align 8, !tbaa !5
  %41 = getelementptr inbounds i8, ptr %2, i64 144
  %42 = shufflevector <8 x i8> %32, <8 x i8> %36, <8 x i32> <i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12>
  store <8 x i8> %42, ptr %41, align 16, !tbaa !5
  %43 = getelementptr inbounds i8, ptr %2, i64 152
  %44 = shufflevector <8 x i8> %36, <8 x i8> %32, <8 x i32> <i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12>
  store <8 x i8> %44, ptr %43, align 8, !tbaa !5
  %45 = getelementptr inbounds i8, ptr %2, i64 160
  %46 = shufflevector <8 x i8> %36, <8 x i8> %32, <8 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9>
  store <8 x i8> %46, ptr %45, align 16, !tbaa !5
  %47 = getelementptr inbounds i8, ptr %2, i64 168
  %48 = shufflevector <8 x i8> %32, <8 x i8> %36, <8 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9>
  store <8 x i8> %48, ptr %47, align 8, !tbaa !5
  %49 = getelementptr inbounds i8, ptr %2, i64 176
  %50 = shufflevector <8 x i8> %32, <8 x i8> %36, <8 x i32> <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
  store <8 x i8> %50, ptr %49, align 16, !tbaa !5
  %51 = getelementptr inbounds i8, ptr %2, i64 184
  %52 = shufflevector <8 x i8> %36, <8 x i8> %32, <8 x i32> <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
  store <8 x i8> %52, ptr %51, align 8, !tbaa !5
  %53 = getelementptr inbounds i8, ptr %2, i64 192
  %54 = shufflevector <8 x i8> %32, <8 x i8> %36, <8 x i32> <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
  store <8 x i8> %54, ptr %53, align 16, !tbaa !5
  %55 = getelementptr inbounds i8, ptr %2, i64 200
  %56 = shufflevector <8 x i8> %36, <8 x i8> %32, <8 x i32> <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
  store <8 x i8> %56, ptr %55, align 8, !tbaa !5
  %57 = getelementptr inbounds i8, ptr %2, i64 208
  store <8 x i8> %52, ptr %57, align 16, !tbaa !5
  %58 = getelementptr inbounds i8, ptr %2, i64 216
  store <8 x i8> %50, ptr %58, align 8, !tbaa !5
  %59 = getelementptr inbounds i8, ptr %2, i64 224
  %60 = load <16 x i8>, ptr %0, align 1, !tbaa !5
  %61 = shufflevector <16 x i8> %60, <16 x i8> poison, <32 x i32> <i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 11, i32 12, i32 13, i32 14, i32 15, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10>
  store <32 x i8> %61, ptr %59, align 16, !tbaa !5
  %62 = ptrtoint ptr %1 to i64
  %63 = sub i64 %62, ptrtoint (ptr @HURDLE_set_key.abKeyXorConsts to i64)
  %diff.check = icmp ult i64 %63, 32
  br i1 %diff.check, label %scalar.ph, label %vector.body

vector.body:                                      ; preds = %vector.memcheck
  %64 = getelementptr inbounds i8, ptr %2, i64 16
  %wide.load = load <16 x i8>, ptr %2, align 16, !tbaa !5
  %wide.load263 = load <16 x i8>, ptr %64, align 16, !tbaa !5
  %wide.load264 = load <16 x i8>, ptr @HURDLE_set_key.abKeyXorConsts, align 16, !tbaa !5
  %wide.load265 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 16), align 16, !tbaa !5
  %65 = xor <16 x i8> %wide.load264, %wide.load
  %66 = xor <16 x i8> %wide.load265, %wide.load263
  %67 = getelementptr inbounds i8, ptr %1, i64 16
  store <16 x i8> %65, ptr %1, align 1, !tbaa !5
  store <16 x i8> %66, ptr %67, align 1, !tbaa !5
  %68 = getelementptr inbounds i8, ptr %2, i64 32
  %69 = getelementptr inbounds i8, ptr %2, i64 48
  %wide.load.1 = load <16 x i8>, ptr %68, align 16, !tbaa !5
  %wide.load263.1 = load <16 x i8>, ptr %69, align 16, !tbaa !5
  %wide.load264.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 32), align 16, !tbaa !5
  %wide.load265.1 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 48), align 16, !tbaa !5
  %70 = xor <16 x i8> %wide.load264.1, %wide.load.1
  %71 = xor <16 x i8> %wide.load265.1, %wide.load263.1
  %72 = getelementptr inbounds i8, ptr %1, i64 32
  %73 = getelementptr inbounds i8, ptr %1, i64 48
  store <16 x i8> %70, ptr %72, align 1, !tbaa !5
  store <16 x i8> %71, ptr %73, align 1, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %2, i64 64
  %75 = getelementptr inbounds i8, ptr %2, i64 80
  %wide.load.2 = load <16 x i8>, ptr %74, align 16, !tbaa !5
  %wide.load263.2 = load <16 x i8>, ptr %75, align 16, !tbaa !5
  %wide.load264.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 64), align 16, !tbaa !5
  %wide.load265.2 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 80), align 16, !tbaa !5
  %76 = xor <16 x i8> %wide.load264.2, %wide.load.2
  %77 = xor <16 x i8> %wide.load265.2, %wide.load263.2
  %78 = getelementptr inbounds i8, ptr %1, i64 64
  %79 = getelementptr inbounds i8, ptr %1, i64 80
  store <16 x i8> %76, ptr %78, align 1, !tbaa !5
  store <16 x i8> %77, ptr %79, align 1, !tbaa !5
  %80 = getelementptr inbounds i8, ptr %2, i64 96
  %81 = getelementptr inbounds i8, ptr %2, i64 112
  %wide.load.3 = load <16 x i8>, ptr %80, align 16, !tbaa !5
  %wide.load263.3 = load <16 x i8>, ptr %81, align 16, !tbaa !5
  %wide.load264.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 96), align 16, !tbaa !5
  %wide.load265.3 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 112), align 16, !tbaa !5
  %82 = xor <16 x i8> %wide.load264.3, %wide.load.3
  %83 = xor <16 x i8> %wide.load265.3, %wide.load263.3
  %84 = getelementptr inbounds i8, ptr %1, i64 96
  %85 = getelementptr inbounds i8, ptr %1, i64 112
  store <16 x i8> %82, ptr %84, align 1, !tbaa !5
  store <16 x i8> %83, ptr %85, align 1, !tbaa !5
  %86 = getelementptr inbounds i8, ptr %2, i64 128
  %87 = getelementptr inbounds i8, ptr %2, i64 144
  %wide.load.4 = load <16 x i8>, ptr %86, align 16, !tbaa !5
  %wide.load263.4 = load <16 x i8>, ptr %87, align 16, !tbaa !5
  %wide.load264.4 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 128), align 16, !tbaa !5
  %wide.load265.4 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 144), align 16, !tbaa !5
  %88 = xor <16 x i8> %wide.load264.4, %wide.load.4
  %89 = xor <16 x i8> %wide.load265.4, %wide.load263.4
  %90 = getelementptr inbounds i8, ptr %1, i64 128
  %91 = getelementptr inbounds i8, ptr %1, i64 144
  store <16 x i8> %88, ptr %90, align 1, !tbaa !5
  store <16 x i8> %89, ptr %91, align 1, !tbaa !5
  %92 = getelementptr inbounds i8, ptr %2, i64 160
  %93 = getelementptr inbounds i8, ptr %2, i64 176
  %wide.load.5 = load <16 x i8>, ptr %92, align 16, !tbaa !5
  %wide.load263.5 = load <16 x i8>, ptr %93, align 16, !tbaa !5
  %wide.load264.5 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 160), align 16, !tbaa !5
  %wide.load265.5 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 176), align 16, !tbaa !5
  %94 = xor <16 x i8> %wide.load264.5, %wide.load.5
  %95 = xor <16 x i8> %wide.load265.5, %wide.load263.5
  %96 = getelementptr inbounds i8, ptr %1, i64 160
  %97 = getelementptr inbounds i8, ptr %1, i64 176
  store <16 x i8> %94, ptr %96, align 1, !tbaa !5
  store <16 x i8> %95, ptr %97, align 1, !tbaa !5
  %98 = getelementptr inbounds i8, ptr %2, i64 192
  %99 = getelementptr inbounds i8, ptr %2, i64 208
  %wide.load.6 = load <16 x i8>, ptr %98, align 16, !tbaa !5
  %wide.load263.6 = load <16 x i8>, ptr %99, align 16, !tbaa !5
  %wide.load264.6 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 192), align 16, !tbaa !5
  %wide.load265.6 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 208), align 16, !tbaa !5
  %100 = xor <16 x i8> %wide.load264.6, %wide.load.6
  %101 = xor <16 x i8> %wide.load265.6, %wide.load263.6
  %102 = getelementptr inbounds i8, ptr %1, i64 192
  %103 = getelementptr inbounds i8, ptr %1, i64 208
  store <16 x i8> %100, ptr %102, align 1, !tbaa !5
  store <16 x i8> %101, ptr %103, align 1, !tbaa !5
  %104 = getelementptr inbounds i8, ptr %2, i64 224
  %105 = getelementptr inbounds i8, ptr %2, i64 240
  %wide.load.7 = load <16 x i8>, ptr %104, align 16, !tbaa !5
  %wide.load263.7 = load <16 x i8>, ptr %105, align 16, !tbaa !5
  %wide.load264.7 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 224), align 16, !tbaa !5
  %wide.load265.7 = load <16 x i8>, ptr getelementptr inbounds (i8, ptr @HURDLE_set_key.abKeyXorConsts, i64 240), align 16, !tbaa !5
  %106 = xor <16 x i8> %wide.load264.7, %wide.load.7
  %107 = xor <16 x i8> %wide.load265.7, %wide.load263.7
  %108 = getelementptr inbounds i8, ptr %1, i64 224
  %109 = getelementptr inbounds i8, ptr %1, i64 240
  store <16 x i8> %106, ptr %108, align 1, !tbaa !5
  store <16 x i8> %107, ptr %109, align 1, !tbaa !5
  br label %middle.block

middle.block:                                     ; preds = %scalar.ph, %vector.body
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %2) #2
  ret void

scalar.ph:                                        ; preds = %vector.memcheck, %scalar.ph
  %indvars.iv = phi i64 [ %indvars.iv.next.3, %scalar.ph ], [ 0, %vector.memcheck ]
  %110 = getelementptr inbounds [256 x i8], ptr %2, i64 0, i64 %indvars.iv
  %111 = load i8, ptr %110, align 4, !tbaa !5
  %112 = getelementptr inbounds [256 x i8], ptr @HURDLE_set_key.abKeyXorConsts, i64 0, i64 %indvars.iv
  %113 = load i8, ptr %112, align 4, !tbaa !5
  %114 = xor i8 %113, %111
  %115 = getelementptr inbounds [256 x i8], ptr %1, i64 0, i64 %indvars.iv
  store i8 %114, ptr %115, align 1, !tbaa !5
  %indvars.iv.next = or disjoint i64 %indvars.iv, 1
  %116 = getelementptr inbounds [256 x i8], ptr %2, i64 0, i64 %indvars.iv.next
  %117 = load i8, ptr %116, align 1, !tbaa !5
  %118 = getelementptr inbounds [256 x i8], ptr @HURDLE_set_key.abKeyXorConsts, i64 0, i64 %indvars.iv.next
  %119 = load i8, ptr %118, align 1, !tbaa !5
  %120 = xor i8 %119, %117
  %121 = getelementptr inbounds [256 x i8], ptr %1, i64 0, i64 %indvars.iv.next
  store i8 %120, ptr %121, align 1, !tbaa !5
  %indvars.iv.next.1 = or disjoint i64 %indvars.iv, 2
  %122 = getelementptr inbounds [256 x i8], ptr %2, i64 0, i64 %indvars.iv.next.1
  %123 = load i8, ptr %122, align 2, !tbaa !5
  %124 = getelementptr inbounds [256 x i8], ptr @HURDLE_set_key.abKeyXorConsts, i64 0, i64 %indvars.iv.next.1
  %125 = load i8, ptr %124, align 2, !tbaa !5
  %126 = xor i8 %125, %123
  %127 = getelementptr inbounds [256 x i8], ptr %1, i64 0, i64 %indvars.iv.next.1
  store i8 %126, ptr %127, align 1, !tbaa !5
  %indvars.iv.next.2 = or disjoint i64 %indvars.iv, 3
  %128 = getelementptr inbounds [256 x i8], ptr %2, i64 0, i64 %indvars.iv.next.2
  %129 = load i8, ptr %128, align 1, !tbaa !5
  %130 = getelementptr inbounds [256 x i8], ptr @HURDLE_set_key.abKeyXorConsts, i64 0, i64 %indvars.iv.next.2
  %131 = load i8, ptr %130, align 1, !tbaa !5
  %132 = xor i8 %131, %129
  %133 = getelementptr inbounds [256 x i8], ptr %1, i64 0, i64 %indvars.iv.next.2
  store i8 %132, ptr %133, align 1, !tbaa !5
  %indvars.iv.next.3 = add nuw nsw i64 %indvars.iv, 4
  %exitcond.not.3 = icmp eq i64 %indvars.iv.next.3, 256
  br i1 %exitcond.not.3, label %middle.block, label %scalar.ph, !llvm.loop !8
}

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = distinct !{!8, !9, !10}
!9 = !{!"llvm.loop.mustprogress"}
!10 = !{!"llvm.loop.isvectorized", i32 1}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LoopLoadEliminationPass,LoopRotatePass,LoopUnrollPass,LoopVectorizePass,PostOrderFunctionAttrsPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,VectorCombinePass