; LLVM IR from guanzhi/GmSSL :: src/skf (skf_prn)

; 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.table_item_t = type { i32, ptr }
%struct.Struct_DEVINFO = type <{ %struct.Struct_Version, [64 x i8], [64 x i8], [32 x i8], [32 x i8], %struct.Struct_Version, %struct.Struct_Version, i32, i32, i32, i32, i32, i32, i32, i32, [64 x i8] }>
%struct.Struct_Version = type { i8, i8 }

@.str.8 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [10 x i8], align 1
@skf_cipher_caps = external hidden global [17 x %struct.table_item_t], align 16
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@skf_pkey_caps = external hidden global [5 x %struct.table_item_t], align 16
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@skf_digest_caps = external hidden global [3 x %struct.table_item_t], align 16
@.str.21 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [22 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @SKF_PrintDevInfo(ptr noundef %0, ptr noundef %1) #0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i64, align 8
  %6 = alloca i64, align 8
  %7 = alloca i32, align 4
  %8 = 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 8, ptr %5) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #4
  store i32 0, ptr %7, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #4
  store i32 4, ptr %8, align 4, !tbaa !9
  %9 = load ptr, ptr %3, align 8, !tbaa !5
  %10 = load i32, ptr %7, align 4, !tbaa !9
  %11 = load i32, ptr %8, align 4, !tbaa !9
  %12 = load ptr, ptr %4, align 8, !tbaa !5
  %13 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %12, i32 0, i32 0
  %14 = getelementptr inbounds %struct.Struct_Version, ptr %13, i32 0, i32 0
  %15 = load i8, ptr %14, align 1, !tbaa !11
  %16 = zext i8 %15 to i32
  %17 = load ptr, ptr %4, align 8, !tbaa !5
  %18 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %17, i32 0, i32 0
  %19 = getelementptr inbounds %struct.Struct_Version, ptr %18, i32 0, i32 1
  %20 = load i8, ptr %19, align 1, !tbaa !14
  %21 = zext i8 %20 to i32
  %22 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %9, i32 noundef %10, i32 noundef %11, ptr noundef @.str.8, i32 noundef %16, i32 noundef %21)
  %23 = load ptr, ptr %3, align 8, !tbaa !5
  %24 = load i32, ptr %7, align 4, !tbaa !9
  %25 = load i32, ptr %8, align 4, !tbaa !9
  %26 = load ptr, ptr %4, align 8, !tbaa !5
  %27 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %26, i32 0, i32 1
  %28 = getelementptr inbounds [64 x i8], ptr %27, i64 0, i64 0
  %29 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %23, i32 noundef %24, i32 noundef %25, ptr noundef @.str.9, ptr noundef %28)
  %30 = load ptr, ptr %3, align 8, !tbaa !5
  %31 = load i32, ptr %7, align 4, !tbaa !9
  %32 = load i32, ptr %8, align 4, !tbaa !9
  %33 = load ptr, ptr %4, align 8, !tbaa !5
  %34 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %33, i32 0, i32 2
  %35 = getelementptr inbounds [64 x i8], ptr %34, i64 0, i64 0
  %36 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %30, i32 noundef %31, i32 noundef %32, ptr noundef @.str.10, ptr noundef %35)
  %37 = load ptr, ptr %3, align 8, !tbaa !5
  %38 = load i32, ptr %7, align 4, !tbaa !9
  %39 = load i32, ptr %8, align 4, !tbaa !9
  %40 = load ptr, ptr %4, align 8, !tbaa !5
  %41 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %40, i32 0, i32 3
  %42 = getelementptr inbounds [32 x i8], ptr %41, i64 0, i64 0
  %43 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %37, i32 noundef %38, i32 noundef %39, ptr noundef @.str.11, ptr noundef %42)
  %44 = load ptr, ptr %3, align 8, !tbaa !5
  %45 = load i32, ptr %7, align 4, !tbaa !9
  %46 = load i32, ptr %8, align 4, !tbaa !9
  %47 = load ptr, ptr %4, align 8, !tbaa !5
  %48 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %47, i32 0, i32 4
  %49 = getelementptr inbounds [32 x i8], ptr %48, i64 0, i64 0
  %50 = load ptr, ptr %4, align 8, !tbaa !5
  %51 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %50, i32 0, i32 4
  %52 = getelementptr inbounds [32 x i8], ptr %51, i64 0, i64 0
  %53 = call i64 @strlen(ptr noundef %52) #5
  %54 = call i32 @format_bytes(ptr noundef %44, i32 noundef %45, i32 noundef %46, ptr noundef @.str.12, ptr noundef %49, i64 noundef %53)
  %55 = load ptr, ptr %3, align 8, !tbaa !5
  %56 = load i32, ptr %7, align 4, !tbaa !9
  %57 = load i32, ptr %8, align 4, !tbaa !9
  %58 = load ptr, ptr %4, align 8, !tbaa !5
  %59 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %58, i32 0, i32 5
  %60 = getelementptr inbounds %struct.Struct_Version, ptr %59, i32 0, i32 0
  %61 = load i8, ptr %60, align 1, !tbaa !15
  %62 = zext i8 %61 to i32
  %63 = load ptr, ptr %4, align 8, !tbaa !5
  %64 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %63, i32 0, i32 5
  %65 = getelementptr inbounds %struct.Struct_Version, ptr %64, i32 0, i32 1
  %66 = load i8, ptr %65, align 1, !tbaa !16
  %67 = zext i8 %66 to i32
  %68 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %55, i32 noundef %56, i32 noundef %57, ptr noundef @.str.13, i32 noundef %62, i32 noundef %67)
  %69 = load ptr, ptr %3, align 8, !tbaa !5
  %70 = load i32, ptr %7, align 4, !tbaa !9
  %71 = load i32, ptr %8, align 4, !tbaa !9
  %72 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %69, i32 noundef %70, i32 noundef %71, ptr noundef @.str.14)
  store i64 0, ptr %6, align 8, !tbaa !17
  store i64 0, ptr %5, align 8, !tbaa !17
  br label %73

73:                                               ; preds = %105, %2
  %74 = load i64, ptr %5, align 8, !tbaa !17
  %75 = icmp ult i64 %74, 17
  br i1 %75, label %76, label %108

76:                                               ; preds = %73
  %77 = load ptr, ptr %4, align 8, !tbaa !5
  %78 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %77, i32 0, i32 7
  %79 = load i32, ptr %78, align 1, !tbaa !19
  %80 = load i64, ptr %5, align 8, !tbaa !17
  %81 = getelementptr inbounds [17 x %struct.table_item_t], ptr @skf_cipher_caps, i64 0, i64 %80
  %82 = getelementptr inbounds %struct.table_item_t, ptr %81, i32 0, i32 0
  %83 = load i32, ptr %82, align 16, !tbaa !20
  %84 = and i32 %79, %83
  %85 = load i64, ptr %5, align 8, !tbaa !17
  %86 = getelementptr inbounds [17 x %struct.table_item_t], ptr @skf_cipher_caps, i64 0, i64 %85
  %87 = getelementptr inbounds %struct.table_item_t, ptr %86, i32 0, i32 0
  %88 = load i32, ptr %87, align 16, !tbaa !20
  %89 = icmp eq i32 %84, %88
  br i1 %89, label %90, label %104

90:                                               ; preds = %76
  %91 = load ptr, ptr %3, align 8, !tbaa !5
  %92 = load i32, ptr %7, align 4, !tbaa !9
  %93 = load i64, ptr %6, align 8, !tbaa !17
  %94 = icmp ne i64 %93, 0
  %95 = zext i1 %94 to i64
  %96 = select i1 %94, ptr @.str.16, ptr @.str.17
  %97 = load i64, ptr %5, align 8, !tbaa !17
  %98 = getelementptr inbounds [17 x %struct.table_item_t], ptr @skf_cipher_caps, i64 0, i64 %97
  %99 = getelementptr inbounds %struct.table_item_t, ptr %98, i32 0, i32 1
  %100 = load ptr, ptr %99, align 8, !tbaa !22
  %101 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %91, i32 noundef %92, i32 noundef 0, ptr noundef @.str.15, ptr noundef %96, ptr noundef %100)
  %102 = load i64, ptr %6, align 8, !tbaa !17
  %103 = add i64 %102, 1
  store i64 %103, ptr %6, align 8, !tbaa !17
  br label %104

104:                                              ; preds = %90, %76
  br label %105

105:                                              ; preds = %104
  %106 = load i64, ptr %5, align 8, !tbaa !17
  %107 = add i64 %106, 1
  store i64 %107, ptr %5, align 8, !tbaa !17
  br label %73, !llvm.loop !23

108:                                              ; preds = %73
  %109 = load ptr, ptr %3, align 8, !tbaa !5
  %110 = load i32, ptr %7, align 4, !tbaa !9
  %111 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %109, i32 noundef %110, i32 noundef 0, ptr noundef @.str.18)
  %112 = load ptr, ptr %3, align 8, !tbaa !5
  %113 = load i32, ptr %7, align 4, !tbaa !9
  %114 = load i32, ptr %8, align 4, !tbaa !9
  %115 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %112, i32 noundef %113, i32 noundef %114, ptr noundef @.str.19)
  store i64 0, ptr %6, align 8, !tbaa !17
  store i64 0, ptr %5, align 8, !tbaa !17
  br label %116

116:                                              ; preds = %148, %108
  %117 = load i64, ptr %5, align 8, !tbaa !17
  %118 = icmp ult i64 %117, 5
  br i1 %118, label %119, label %151

119:                                              ; preds = %116
  %120 = load ptr, ptr %4, align 8, !tbaa !5
  %121 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %120, i32 0, i32 8
  %122 = load i32, ptr %121, align 1, !tbaa !25
  %123 = load i64, ptr %5, align 8, !tbaa !17
  %124 = getelementptr inbounds [5 x %struct.table_item_t], ptr @skf_pkey_caps, i64 0, i64 %123
  %125 = getelementptr inbounds %struct.table_item_t, ptr %124, i32 0, i32 0
  %126 = load i32, ptr %125, align 16, !tbaa !20
  %127 = and i32 %122, %126
  %128 = load i64, ptr %5, align 8, !tbaa !17
  %129 = getelementptr inbounds [5 x %struct.table_item_t], ptr @skf_pkey_caps, i64 0, i64 %128
  %130 = getelementptr inbounds %struct.table_item_t, ptr %129, i32 0, i32 0
  %131 = load i32, ptr %130, align 16, !tbaa !20
  %132 = icmp eq i32 %127, %131
  br i1 %132, label %133, label %147

133:                                              ; preds = %119
  %134 = load ptr, ptr %3, align 8, !tbaa !5
  %135 = load i32, ptr %7, align 4, !tbaa !9
  %136 = load i64, ptr %6, align 8, !tbaa !17
  %137 = icmp ne i64 %136, 0
  %138 = zext i1 %137 to i64
  %139 = select i1 %137, ptr @.str.16, ptr @.str.17
  %140 = load i64, ptr %5, align 8, !tbaa !17
  %141 = getelementptr inbounds [5 x %struct.table_item_t], ptr @skf_pkey_caps, i64 0, i64 %140
  %142 = getelementptr inbounds %struct.table_item_t, ptr %141, i32 0, i32 1
  %143 = load ptr, ptr %142, align 8, !tbaa !22
  %144 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %134, i32 noundef %135, i32 noundef 0, ptr noundef @.str.15, ptr noundef %139, ptr noundef %143)
  %145 = load i64, ptr %6, align 8, !tbaa !17
  %146 = add i64 %145, 1
  store i64 %146, ptr %6, align 8, !tbaa !17
  br label %147

147:                                              ; preds = %133, %119
  br label %148

148:                                              ; preds = %147
  %149 = load i64, ptr %5, align 8, !tbaa !17
  %150 = add i64 %149, 1
  store i64 %150, ptr %5, align 8, !tbaa !17
  br label %116, !llvm.loop !26

151:                                              ; preds = %116
  %152 = load ptr, ptr %3, align 8, !tbaa !5
  %153 = load i32, ptr %7, align 4, !tbaa !9
  %154 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %152, i32 noundef %153, i32 noundef 0, ptr noundef @.str.18)
  %155 = load ptr, ptr %3, align 8, !tbaa !5
  %156 = load i32, ptr %7, align 4, !tbaa !9
  %157 = load i32, ptr %8, align 4, !tbaa !9
  %158 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %155, i32 noundef %156, i32 noundef %157, ptr noundef @.str.20)
  store i64 0, ptr %6, align 8, !tbaa !17
  store i64 0, ptr %5, align 8, !tbaa !17
  br label %159

159:                                              ; preds = %191, %151
  %160 = load i64, ptr %5, align 8, !tbaa !17
  %161 = icmp ult i64 %160, 3
  br i1 %161, label %162, label %194

162:                                              ; preds = %159
  %163 = load ptr, ptr %4, align 8, !tbaa !5
  %164 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %163, i32 0, i32 9
  %165 = load i32, ptr %164, align 1, !tbaa !27
  %166 = load i64, ptr %5, align 8, !tbaa !17
  %167 = getelementptr inbounds [3 x %struct.table_item_t], ptr @skf_digest_caps, i64 0, i64 %166
  %168 = getelementptr inbounds %struct.table_item_t, ptr %167, i32 0, i32 0
  %169 = load i32, ptr %168, align 16, !tbaa !20
  %170 = and i32 %165, %169
  %171 = load i64, ptr %5, align 8, !tbaa !17
  %172 = getelementptr inbounds [3 x %struct.table_item_t], ptr @skf_digest_caps, i64 0, i64 %171
  %173 = getelementptr inbounds %struct.table_item_t, ptr %172, i32 0, i32 0
  %174 = load i32, ptr %173, align 16, !tbaa !20
  %175 = icmp eq i32 %170, %174
  br i1 %175, label %176, label %190

176:                                              ; preds = %162
  %177 = load ptr, ptr %3, align 8, !tbaa !5
  %178 = load i32, ptr %7, align 4, !tbaa !9
  %179 = load i64, ptr %6, align 8, !tbaa !17
  %180 = icmp ne i64 %179, 0
  %181 = zext i1 %180 to i64
  %182 = select i1 %180, ptr @.str.16, ptr @.str.17
  %183 = load i64, ptr %5, align 8, !tbaa !17
  %184 = getelementptr inbounds [3 x %struct.table_item_t], ptr @skf_digest_caps, i64 0, i64 %183
  %185 = getelementptr inbounds %struct.table_item_t, ptr %184, i32 0, i32 1
  %186 = load ptr, ptr %185, align 8, !tbaa !22
  %187 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %177, i32 noundef %178, i32 noundef 0, ptr noundef @.str.15, ptr noundef %182, ptr noundef %186)
  %188 = load i64, ptr %6, align 8, !tbaa !17
  %189 = add i64 %188, 1
  store i64 %189, ptr %6, align 8, !tbaa !17
  br label %190

190:                                              ; preds = %176, %162
  br label %191

191:                                              ; preds = %190
  %192 = load i64, ptr %5, align 8, !tbaa !17
  %193 = add i64 %192, 1
  store i64 %193, ptr %5, align 8, !tbaa !17
  br label %159, !llvm.loop !28

194:                                              ; preds = %159
  %195 = load ptr, ptr %3, align 8, !tbaa !5
  %196 = load i32, ptr %7, align 4, !tbaa !9
  %197 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %195, i32 noundef %196, i32 noundef 0, ptr noundef @.str.18)
  %198 = load ptr, ptr %3, align 8, !tbaa !5
  %199 = load i32, ptr %7, align 4, !tbaa !9
  %200 = load i32, ptr %8, align 4, !tbaa !9
  %201 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %198, i32 noundef %199, i32 noundef %200, ptr noundef @.str.21)
  store i64 0, ptr %5, align 8, !tbaa !17
  br label %202

202:                                              ; preds = %223, %194
  %203 = load i64, ptr %5, align 8, !tbaa !17
  %204 = icmp ult i64 %203, 17
  br i1 %204, label %205, label %226

205:                                              ; preds = %202
  %206 = load ptr, ptr %4, align 8, !tbaa !5
  %207 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %206, i32 0, i32 10
  %208 = load i32, ptr %207, align 1, !tbaa !29
  %209 = load i64, ptr %5, align 8, !tbaa !17
  %210 = getelementptr inbounds [17 x %struct.table_item_t], ptr @skf_cipher_caps, i64 0, i64 %209
  %211 = getelementptr inbounds %struct.table_item_t, ptr %210, i32 0, i32 0
  %212 = load i32, ptr %211, align 16, !tbaa !20
  %213 = icmp eq i32 %208, %212
  br i1 %213, label %214, label %222

214:                                              ; preds = %205
  %215 = load ptr, ptr %3, align 8, !tbaa !5
  %216 = load i32, ptr %7, align 4, !tbaa !9
  %217 = load i64, ptr %5, align 8, !tbaa !17
  %218 = getelementptr inbounds [17 x %struct.table_item_t], ptr @skf_cipher_caps, i64 0, i64 %217
  %219 = getelementptr inbounds %struct.table_item_t, ptr %218, i32 0, i32 1
  %220 = load ptr, ptr %219, align 8, !tbaa !22
  %221 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %215, i32 noundef %216, i32 noundef 0, ptr noundef @.str.22, ptr noundef %220)
  br label %226

222:                                              ; preds = %205
  br label %223

223:                                              ; preds = %222
  %224 = load i64, ptr %5, align 8, !tbaa !17
  %225 = add i64 %224, 1
  store i64 %225, ptr %5, align 8, !tbaa !17
  br label %202, !llvm.loop !30

226:                                              ; preds = %214, %202
  %227 = load i64, ptr %5, align 8, !tbaa !17
  %228 = icmp eq i64 %227, 17
  br i1 %228, label %229, label %233

229:                                              ; preds = %226
  %230 = load ptr, ptr %3, align 8, !tbaa !5
  %231 = load i32, ptr %7, align 4, !tbaa !9
  %232 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %230, i32 noundef %231, i32 noundef 0, ptr noundef @.str.23)
  br label %233

233:                                              ; preds = %229, %226
  %234 = load ptr, ptr %3, align 8, !tbaa !5
  %235 = load i32, ptr %7, align 4, !tbaa !9
  %236 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %234, i32 noundef %235, i32 noundef 0, ptr noundef @.str.18)
  %237 = load ptr, ptr %4, align 8, !tbaa !5
  %238 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %237, i32 0, i32 11
  %239 = load i32, ptr %238, align 1, !tbaa !31
  %240 = icmp eq i32 %239, -1
  br i1 %240, label %241, label %246

241:                                              ; preds = %233
  %242 = load ptr, ptr %3, align 8, !tbaa !5
  %243 = load i32, ptr %7, align 4, !tbaa !9
  %244 = load i32, ptr %8, align 4, !tbaa !9
  %245 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %242, i32 noundef %243, i32 noundef %244, ptr noundef @.str.24, ptr noundef @.str.25)
  br label %254

246:                                              ; preds = %233
  %247 = load ptr, ptr %3, align 8, !tbaa !5
  %248 = load i32, ptr %7, align 4, !tbaa !9
  %249 = load i32, ptr %8, align 4, !tbaa !9
  %250 = load ptr, ptr %4, align 8, !tbaa !5
  %251 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %250, i32 0, i32 11
  %252 = load i32, ptr %251, align 1, !tbaa !31
  %253 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %247, i32 noundef %248, i32 noundef %249, ptr noundef @.str.26, i32 noundef %252)
  br label %254

254:                                              ; preds = %246, %241
  %255 = load ptr, ptr %4, align 8, !tbaa !5
  %256 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %255, i32 0, i32 12
  %257 = load i32, ptr %256, align 1, !tbaa !32
  %258 = icmp eq i32 %257, -1
  br i1 %258, label %259, label %264

259:                                              ; preds = %254
  %260 = load ptr, ptr %3, align 8, !tbaa !5
  %261 = load i32, ptr %7, align 4, !tbaa !9
  %262 = load i32, ptr %8, align 4, !tbaa !9
  %263 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %260, i32 noundef %261, i32 noundef %262, ptr noundef @.str.27, ptr noundef @.str.25)
  br label %272

264:                                              ; preds = %254
  %265 = load ptr, ptr %3, align 8, !tbaa !5
  %266 = load i32, ptr %7, align 4, !tbaa !9
  %267 = load i32, ptr %8, align 4, !tbaa !9
  %268 = load ptr, ptr %4, align 8, !tbaa !5
  %269 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %268, i32 0, i32 12
  %270 = load i32, ptr %269, align 1, !tbaa !32
  %271 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %265, i32 noundef %266, i32 noundef %267, ptr noundef @.str.28, i32 noundef %270)
  br label %272

272:                                              ; preds = %264, %259
  %273 = load ptr, ptr %4, align 8, !tbaa !5
  %274 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %273, i32 0, i32 13
  %275 = load i32, ptr %274, align 1, !tbaa !33
  %276 = icmp eq i32 %275, -1
  br i1 %276, label %277, label %282

277:                                              ; preds = %272
  %278 = load ptr, ptr %3, align 8, !tbaa !5
  %279 = load i32, ptr %7, align 4, !tbaa !9
  %280 = load i32, ptr %8, align 4, !tbaa !9
  %281 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %278, i32 noundef %279, i32 noundef %280, ptr noundef @.str.29, ptr noundef @.str.25)
  br label %290

282:                                              ; preds = %272
  %283 = load ptr, ptr %3, align 8, !tbaa !5
  %284 = load i32, ptr %7, align 4, !tbaa !9
  %285 = load i32, ptr %8, align 4, !tbaa !9
  %286 = load ptr, ptr %4, align 8, !tbaa !5
  %287 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %286, i32 0, i32 13
  %288 = load i32, ptr %287, align 1, !tbaa !33
  %289 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %283, i32 noundef %284, i32 noundef %285, ptr noundef @.str.30, i32 noundef %288)
  br label %290

290:                                              ; preds = %282, %277
  %291 = load ptr, ptr %4, align 8, !tbaa !5
  %292 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %291, i32 0, i32 14
  %293 = load i32, ptr %292, align 1, !tbaa !34
  %294 = icmp eq i32 %293, -1
  br i1 %294, label %295, label %300

295:                                              ; preds = %290
  %296 = load ptr, ptr %3, align 8, !tbaa !5
  %297 = load i32, ptr %7, align 4, !tbaa !9
  %298 = load i32, ptr %8, align 4, !tbaa !9
  %299 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %296, i32 noundef %297, i32 noundef %298, ptr noundef @.str.31, ptr noundef @.str.25)
  br label %308

300:                                              ; preds = %290
  %301 = load ptr, ptr %3, align 8, !tbaa !5
  %302 = load i32, ptr %7, align 4, !tbaa !9
  %303 = load i32, ptr %8, align 4, !tbaa !9
  %304 = load ptr, ptr %4, align 8, !tbaa !5
  %305 = getelementptr inbounds %struct.Struct_DEVINFO, ptr %304, i32 0, i32 14
  %306 = load i32, ptr %305, align 1, !tbaa !34
  %307 = call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %301, i32 noundef %302, i32 noundef %303, ptr noundef @.str.32, i32 noundef %306)
  br label %308

308:                                              ; preds = %300, %295
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #4
  ret i32 0
}

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

declare i32 @format_print(ptr noundef, i32 noundef, i32 noundef, ptr noundef, ...) #2

declare i32 @format_bytes(ptr noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i64 noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #3

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

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "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 #3 = { nounwind willreturn memory(read) "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 #4 = { nounwind }
attributes #5 = { nounwind willreturn memory(read) }

!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 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !7, i64 0}
!12 = !{!"Struct_DEVINFO", !13, i64 0, !7, i64 2, !7, i64 66, !7, i64 130, !7, i64 162, !13, i64 194, !13, i64 196, !10, i64 198, !10, i64 202, !10, i64 206, !10, i64 210, !10, i64 214, !10, i64 218, !10, i64 222, !10, i64 226, !7, i64 230}
!13 = !{!"Struct_Version", !7, i64 0, !7, i64 1}
!14 = !{!12, !7, i64 1}
!15 = !{!12, !7, i64 194}
!16 = !{!12, !7, i64 195}
!17 = !{!18, !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!12, !10, i64 198}
!20 = !{!21, !10, i64 0}
!21 = !{!"", !10, i64 0, !6, i64 8}
!22 = !{!21, !6, i64 8}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = !{!12, !10, i64 202}
!26 = distinct !{!26, !24}
!27 = !{!12, !10, i64 206}
!28 = distinct !{!28, !24}
!29 = !{!12, !10, i64 210}
!30 = distinct !{!30, !24}
!31 = !{!12, !10, i64 214}
!32 = !{!12, !10, i64 218}
!33 = !{!12, !10, i64 222}
!34 = !{!12, !10, i64 226}


; 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"

%struct.table_item_t = type { i32, ptr }

@.str.8 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [10 x i8], align 1
@skf_cipher_caps = external hidden local_unnamed_addr global [17 x %struct.table_item_t], align 16
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@skf_pkey_caps = external hidden local_unnamed_addr global [5 x %struct.table_item_t], align 16
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@skf_digest_caps = external hidden local_unnamed_addr global [3 x %struct.table_item_t], align 16
@.str.21 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [22 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @SKF_PrintDevInfo(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 {
  %3 = load i8, ptr %1, align 1, !tbaa !5
  %4 = zext i8 %3 to i32
  %5 = getelementptr inbounds i8, ptr %1, i64 1
  %6 = load i8, ptr %5, align 1, !tbaa !11
  %7 = zext i8 %6 to i32
  %8 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.8, i32 noundef %4, i32 noundef %7) #3
  %9 = getelementptr inbounds i8, ptr %1, i64 2
  %10 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.9, ptr noundef nonnull %9) #3
  %11 = getelementptr inbounds i8, ptr %1, i64 66
  %12 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.10, ptr noundef nonnull %11) #3
  %13 = getelementptr inbounds i8, ptr %1, i64 130
  %14 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.11, ptr noundef nonnull %13) #3
  %15 = getelementptr inbounds i8, ptr %1, i64 162
  %16 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %15) #4
  %17 = tail call i32 @format_bytes(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.12, ptr noundef nonnull %15, i64 noundef %16) #3
  %18 = getelementptr inbounds i8, ptr %1, i64 194
  %19 = load i8, ptr %18, align 1, !tbaa !12
  %20 = zext i8 %19 to i32
  %21 = getelementptr inbounds i8, ptr %1, i64 195
  %22 = load i8, ptr %21, align 1, !tbaa !13
  %23 = zext i8 %22 to i32
  %24 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.13, i32 noundef %20, i32 noundef %23) #3
  %25 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.14) #3
  %26 = getelementptr inbounds i8, ptr %1, i64 198
  %27 = load i32, ptr %26, align 1, !tbaa !14
  %28 = load i32, ptr @skf_cipher_caps, align 16, !tbaa !15
  %29 = and i32 %28, %27
  %.not = icmp eq i32 %29, %28
  br i1 %.not, label %30, label %33

30:                                               ; preds = %2
  %31 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 8), align 8, !tbaa !18
  %32 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17, ptr noundef %31) #3
  %.pre = load i32, ptr %26, align 1, !tbaa !14
  br label %33

33:                                               ; preds = %2, %30
  %34 = phi i32 [ %.pre, %30 ], [ %27, %2 ]
  %.1119 = phi i64 [ 1, %30 ], [ 0, %2 ]
  %35 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 16), align 16, !tbaa !15
  %36 = and i32 %35, %34
  %37 = icmp eq i32 %36, %35
  br i1 %37, label %38, label %43

38:                                               ; preds = %33
  %39 = select i1 %.not, ptr @.str.16, ptr @.str.17
  %40 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 24), align 8, !tbaa !18
  %41 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %39, ptr noundef %40) #3
  %42 = add nuw nsw i64 %.1119, 1
  %.pre138 = load i32, ptr %26, align 1, !tbaa !14
  br label %43

43:                                               ; preds = %38, %33
  %44 = phi i32 [ %.pre138, %38 ], [ %34, %33 ]
  %.1119.1 = phi i64 [ %42, %38 ], [ %.1119, %33 ]
  %45 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 32), align 16, !tbaa !15
  %46 = and i32 %45, %44
  %47 = icmp eq i32 %46, %45
  br i1 %47, label %48, label %53

48:                                               ; preds = %43
  %.not127.2 = icmp eq i64 %.1119.1, 0
  %49 = select i1 %.not127.2, ptr @.str.17, ptr @.str.16
  %50 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 40), align 8, !tbaa !18
  %51 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %49, ptr noundef %50) #3
  %52 = add nuw nsw i64 %.1119.1, 1
  %.pre139 = load i32, ptr %26, align 1, !tbaa !14
  br label %53

53:                                               ; preds = %48, %43
  %54 = phi i32 [ %.pre139, %48 ], [ %44, %43 ]
  %.1119.2 = phi i64 [ %52, %48 ], [ %.1119.1, %43 ]
  %55 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 48), align 16, !tbaa !15
  %56 = and i32 %55, %54
  %57 = icmp eq i32 %56, %55
  br i1 %57, label %58, label %63

58:                                               ; preds = %53
  %.not127.3 = icmp eq i64 %.1119.2, 0
  %59 = select i1 %.not127.3, ptr @.str.17, ptr @.str.16
  %60 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 56), align 8, !tbaa !18
  %61 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %59, ptr noundef %60) #3
  %62 = add nuw nsw i64 %.1119.2, 1
  %.pre140 = load i32, ptr %26, align 1, !tbaa !14
  br label %63

63:                                               ; preds = %58, %53
  %64 = phi i32 [ %.pre140, %58 ], [ %54, %53 ]
  %.1119.3 = phi i64 [ %62, %58 ], [ %.1119.2, %53 ]
  %65 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 64), align 16, !tbaa !15
  %66 = and i32 %65, %64
  %67 = icmp eq i32 %66, %65
  br i1 %67, label %68, label %73

68:                                               ; preds = %63
  %.not127.4 = icmp eq i64 %.1119.3, 0
  %69 = select i1 %.not127.4, ptr @.str.17, ptr @.str.16
  %70 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 72), align 8, !tbaa !18
  %71 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %69, ptr noundef %70) #3
  %72 = add nuw nsw i64 %.1119.3, 1
  %.pre141 = load i32, ptr %26, align 1, !tbaa !14
  br label %73

73:                                               ; preds = %68, %63
  %74 = phi i32 [ %.pre141, %68 ], [ %64, %63 ]
  %.1119.4 = phi i64 [ %72, %68 ], [ %.1119.3, %63 ]
  %75 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 80), align 16, !tbaa !15
  %76 = and i32 %75, %74
  %77 = icmp eq i32 %76, %75
  br i1 %77, label %78, label %83

78:                                               ; preds = %73
  %.not127.5 = icmp eq i64 %.1119.4, 0
  %79 = select i1 %.not127.5, ptr @.str.17, ptr @.str.16
  %80 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 88), align 8, !tbaa !18
  %81 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %79, ptr noundef %80) #3
  %82 = add nuw nsw i64 %.1119.4, 1
  %.pre142 = load i32, ptr %26, align 1, !tbaa !14
  br label %83

83:                                               ; preds = %78, %73
  %84 = phi i32 [ %.pre142, %78 ], [ %74, %73 ]
  %.1119.5 = phi i64 [ %82, %78 ], [ %.1119.4, %73 ]
  %85 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 96), align 16, !tbaa !15
  %86 = and i32 %85, %84
  %87 = icmp eq i32 %86, %85
  br i1 %87, label %88, label %93

88:                                               ; preds = %83
  %.not127.6 = icmp eq i64 %.1119.5, 0
  %89 = select i1 %.not127.6, ptr @.str.17, ptr @.str.16
  %90 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 104), align 8, !tbaa !18
  %91 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %89, ptr noundef %90) #3
  %92 = add nuw nsw i64 %.1119.5, 1
  %.pre143 = load i32, ptr %26, align 1, !tbaa !14
  br label %93

93:                                               ; preds = %88, %83
  %94 = phi i32 [ %.pre143, %88 ], [ %84, %83 ]
  %.1119.6 = phi i64 [ %92, %88 ], [ %.1119.5, %83 ]
  %95 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 112), align 16, !tbaa !15
  %96 = and i32 %95, %94
  %97 = icmp eq i32 %96, %95
  br i1 %97, label %98, label %103

98:                                               ; preds = %93
  %.not127.7 = icmp eq i64 %.1119.6, 0
  %99 = select i1 %.not127.7, ptr @.str.17, ptr @.str.16
  %100 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 120), align 8, !tbaa !18
  %101 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %99, ptr noundef %100) #3
  %102 = add nuw nsw i64 %.1119.6, 1
  %.pre144 = load i32, ptr %26, align 1, !tbaa !14
  br label %103

103:                                              ; preds = %98, %93
  %104 = phi i32 [ %.pre144, %98 ], [ %94, %93 ]
  %.1119.7 = phi i64 [ %102, %98 ], [ %.1119.6, %93 ]
  %105 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 128), align 16, !tbaa !15
  %106 = and i32 %105, %104
  %107 = icmp eq i32 %106, %105
  br i1 %107, label %108, label %113

108:                                              ; preds = %103
  %.not127.8 = icmp eq i64 %.1119.7, 0
  %109 = select i1 %.not127.8, ptr @.str.17, ptr @.str.16
  %110 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 136), align 8, !tbaa !18
  %111 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %109, ptr noundef %110) #3
  %112 = add nuw nsw i64 %.1119.7, 1
  %.pre145 = load i32, ptr %26, align 1, !tbaa !14
  br label %113

113:                                              ; preds = %108, %103
  %114 = phi i32 [ %.pre145, %108 ], [ %104, %103 ]
  %.1119.8 = phi i64 [ %112, %108 ], [ %.1119.7, %103 ]
  %115 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 144), align 16, !tbaa !15
  %116 = and i32 %115, %114
  %117 = icmp eq i32 %116, %115
  br i1 %117, label %118, label %123

118:                                              ; preds = %113
  %.not127.9 = icmp eq i64 %.1119.8, 0
  %119 = select i1 %.not127.9, ptr @.str.17, ptr @.str.16
  %120 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 152), align 8, !tbaa !18
  %121 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %119, ptr noundef %120) #3
  %122 = add nuw nsw i64 %.1119.8, 1
  %.pre146 = load i32, ptr %26, align 1, !tbaa !14
  br label %123

123:                                              ; preds = %118, %113
  %124 = phi i32 [ %.pre146, %118 ], [ %114, %113 ]
  %.1119.9 = phi i64 [ %122, %118 ], [ %.1119.8, %113 ]
  %125 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 160), align 16, !tbaa !15
  %126 = and i32 %125, %124
  %127 = icmp eq i32 %126, %125
  br i1 %127, label %128, label %133

128:                                              ; preds = %123
  %.not127.10 = icmp eq i64 %.1119.9, 0
  %129 = select i1 %.not127.10, ptr @.str.17, ptr @.str.16
  %130 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 168), align 8, !tbaa !18
  %131 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %129, ptr noundef %130) #3
  %132 = add nuw nsw i64 %.1119.9, 1
  %.pre147 = load i32, ptr %26, align 1, !tbaa !14
  br label %133

133:                                              ; preds = %128, %123
  %134 = phi i32 [ %.pre147, %128 ], [ %124, %123 ]
  %.1119.10 = phi i64 [ %132, %128 ], [ %.1119.9, %123 ]
  %135 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 176), align 16, !tbaa !15
  %136 = and i32 %135, %134
  %137 = icmp eq i32 %136, %135
  br i1 %137, label %138, label %143

138:                                              ; preds = %133
  %.not127.11 = icmp eq i64 %.1119.10, 0
  %139 = select i1 %.not127.11, ptr @.str.17, ptr @.str.16
  %140 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 184), align 8, !tbaa !18
  %141 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %139, ptr noundef %140) #3
  %142 = add nuw nsw i64 %.1119.10, 1
  %.pre148 = load i32, ptr %26, align 1, !tbaa !14
  br label %143

143:                                              ; preds = %138, %133
  %144 = phi i32 [ %.pre148, %138 ], [ %134, %133 ]
  %.1119.11 = phi i64 [ %142, %138 ], [ %.1119.10, %133 ]
  %145 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 192), align 16, !tbaa !15
  %146 = and i32 %145, %144
  %147 = icmp eq i32 %146, %145
  br i1 %147, label %148, label %153

148:                                              ; preds = %143
  %.not127.12 = icmp eq i64 %.1119.11, 0
  %149 = select i1 %.not127.12, ptr @.str.17, ptr @.str.16
  %150 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 200), align 8, !tbaa !18
  %151 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %149, ptr noundef %150) #3
  %152 = add nuw nsw i64 %.1119.11, 1
  %.pre149 = load i32, ptr %26, align 1, !tbaa !14
  br label %153

153:                                              ; preds = %148, %143
  %154 = phi i32 [ %.pre149, %148 ], [ %144, %143 ]
  %.1119.12 = phi i64 [ %152, %148 ], [ %.1119.11, %143 ]
  %155 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 208), align 16, !tbaa !15
  %156 = and i32 %155, %154
  %157 = icmp eq i32 %156, %155
  br i1 %157, label %158, label %163

158:                                              ; preds = %153
  %.not127.13 = icmp eq i64 %.1119.12, 0
  %159 = select i1 %.not127.13, ptr @.str.17, ptr @.str.16
  %160 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 216), align 8, !tbaa !18
  %161 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %159, ptr noundef %160) #3
  %162 = add nuw nsw i64 %.1119.12, 1
  %.pre150 = load i32, ptr %26, align 1, !tbaa !14
  br label %163

163:                                              ; preds = %158, %153
  %164 = phi i32 [ %.pre150, %158 ], [ %154, %153 ]
  %.1119.13 = phi i64 [ %162, %158 ], [ %.1119.12, %153 ]
  %165 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 224), align 16, !tbaa !15
  %166 = and i32 %165, %164
  %167 = icmp eq i32 %166, %165
  br i1 %167, label %168, label %173

168:                                              ; preds = %163
  %.not127.14 = icmp eq i64 %.1119.13, 0
  %169 = select i1 %.not127.14, ptr @.str.17, ptr @.str.16
  %170 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 232), align 8, !tbaa !18
  %171 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %169, ptr noundef %170) #3
  %172 = add nuw nsw i64 %.1119.13, 1
  %.pre151 = load i32, ptr %26, align 1, !tbaa !14
  br label %173

173:                                              ; preds = %168, %163
  %174 = phi i32 [ %.pre151, %168 ], [ %164, %163 ]
  %.1119.14 = phi i64 [ %172, %168 ], [ %.1119.13, %163 ]
  %175 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 240), align 16, !tbaa !15
  %176 = and i32 %175, %174
  %177 = icmp eq i32 %176, %175
  br i1 %177, label %178, label %182

178:                                              ; preds = %173
  %.not127.15 = icmp eq i64 %.1119.14, 0
  %179 = select i1 %.not127.15, ptr @.str.17, ptr @.str.16
  %180 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 248), align 8, !tbaa !18
  %181 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %179, ptr noundef %180) #3
  %.pre152 = load i32, ptr %26, align 1, !tbaa !14
  br label %182

182:                                              ; preds = %178, %173
  %183 = phi i32 [ %.pre152, %178 ], [ %174, %173 ]
  %.1119.15 = phi i64 [ 1, %178 ], [ %.1119.14, %173 ]
  %184 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 256), align 16, !tbaa !15
  %185 = and i32 %184, %183
  %186 = icmp eq i32 %185, %184
  br i1 %186, label %187, label %191

187:                                              ; preds = %182
  %.not127.16 = icmp eq i64 %.1119.15, 0
  %188 = select i1 %.not127.16, ptr @.str.17, ptr @.str.16
  %189 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 264), align 8, !tbaa !18
  %190 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %188, ptr noundef %189) #3
  br label %191

191:                                              ; preds = %187, %182
  %192 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.18) #3
  %193 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.19) #3
  %194 = getelementptr inbounds i8, ptr %1, i64 202
  %195 = load i32, ptr %194, align 1, !tbaa !19
  %196 = load i32, ptr @skf_pkey_caps, align 16, !tbaa !15
  %197 = and i32 %196, %195
  %.not159 = icmp eq i32 %197, %196
  br i1 %.not159, label %198, label %201

198:                                              ; preds = %191
  %199 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 8), align 8, !tbaa !18
  %200 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17, ptr noundef %199) #3
  %.pre153 = load i32, ptr %194, align 1, !tbaa !19
  br label %201

201:                                              ; preds = %191, %198
  %202 = phi i32 [ %.pre153, %198 ], [ %195, %191 ]
  %.3121 = phi i64 [ 1, %198 ], [ 0, %191 ]
  %203 = load i32, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 16), align 16, !tbaa !15
  %204 = and i32 %203, %202
  %205 = icmp eq i32 %204, %203
  br i1 %205, label %206, label %211

206:                                              ; preds = %201
  %207 = select i1 %.not159, ptr @.str.16, ptr @.str.17
  %208 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 24), align 8, !tbaa !18
  %209 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %207, ptr noundef %208) #3
  %210 = add nuw nsw i64 %.3121, 1
  %.pre154 = load i32, ptr %194, align 1, !tbaa !19
  br label %211

211:                                              ; preds = %206, %201
  %212 = phi i32 [ %.pre154, %206 ], [ %202, %201 ]
  %.3121.1 = phi i64 [ %210, %206 ], [ %.3121, %201 ]
  %213 = load i32, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 32), align 16, !tbaa !15
  %214 = and i32 %213, %212
  %215 = icmp eq i32 %214, %213
  br i1 %215, label %216, label %221

216:                                              ; preds = %211
  %.not126.2 = icmp eq i64 %.3121.1, 0
  %217 = select i1 %.not126.2, ptr @.str.17, ptr @.str.16
  %218 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 40), align 8, !tbaa !18
  %219 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %217, ptr noundef %218) #3
  %220 = add nuw nsw i64 %.3121.1, 1
  %.pre155 = load i32, ptr %194, align 1, !tbaa !19
  br label %221

221:                                              ; preds = %216, %211
  %222 = phi i32 [ %.pre155, %216 ], [ %212, %211 ]
  %.3121.2 = phi i64 [ %220, %216 ], [ %.3121.1, %211 ]
  %223 = load i32, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 48), align 16, !tbaa !15
  %224 = and i32 %223, %222
  %225 = icmp eq i32 %224, %223
  br i1 %225, label %226, label %230

226:                                              ; preds = %221
  %.not126.3 = icmp eq i64 %.3121.2, 0
  %227 = select i1 %.not126.3, ptr @.str.17, ptr @.str.16
  %228 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 56), align 8, !tbaa !18
  %229 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %227, ptr noundef %228) #3
  %.pre156 = load i32, ptr %194, align 1, !tbaa !19
  br label %230

230:                                              ; preds = %226, %221
  %231 = phi i32 [ %.pre156, %226 ], [ %222, %221 ]
  %.3121.3 = phi i64 [ 1, %226 ], [ %.3121.2, %221 ]
  %232 = load i32, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 64), align 16, !tbaa !15
  %233 = and i32 %232, %231
  %234 = icmp eq i32 %233, %232
  br i1 %234, label %235, label %239

235:                                              ; preds = %230
  %.not126.4 = icmp eq i64 %.3121.3, 0
  %236 = select i1 %.not126.4, ptr @.str.17, ptr @.str.16
  %237 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_pkey_caps, i64 72), align 8, !tbaa !18
  %238 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %236, ptr noundef %237) #3
  br label %239

239:                                              ; preds = %235, %230
  %240 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.18) #3
  %241 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.20) #3
  %242 = getelementptr inbounds i8, ptr %1, i64 206
  %243 = load i32, ptr %242, align 1, !tbaa !20
  %244 = load i32, ptr @skf_digest_caps, align 16, !tbaa !15
  %245 = and i32 %244, %243
  %.not160 = icmp eq i32 %245, %244
  br i1 %.not160, label %246, label %249

246:                                              ; preds = %239
  %247 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_digest_caps, i64 8), align 8, !tbaa !18
  %248 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17, ptr noundef %247) #3
  %.pre157 = load i32, ptr %242, align 1, !tbaa !20
  br label %249

249:                                              ; preds = %239, %246
  %250 = phi i32 [ %.pre157, %246 ], [ %243, %239 ]
  %.5 = phi i64 [ 1, %246 ], [ 0, %239 ]
  %251 = load i32, ptr getelementptr inbounds (i8, ptr @skf_digest_caps, i64 16), align 16, !tbaa !15
  %252 = and i32 %251, %250
  %253 = icmp eq i32 %252, %251
  br i1 %253, label %254, label %258

254:                                              ; preds = %249
  %255 = select i1 %.not160, ptr @.str.16, ptr @.str.17
  %256 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_digest_caps, i64 24), align 8, !tbaa !18
  %257 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %255, ptr noundef %256) #3
  %.pre158 = load i32, ptr %242, align 1, !tbaa !20
  br label %258

258:                                              ; preds = %254, %249
  %259 = phi i32 [ %.pre158, %254 ], [ %250, %249 ]
  %.5.1 = phi i64 [ 1, %254 ], [ %.5, %249 ]
  %260 = load i32, ptr getelementptr inbounds (i8, ptr @skf_digest_caps, i64 32), align 16, !tbaa !15
  %261 = and i32 %260, %259
  %262 = icmp eq i32 %261, %260
  br i1 %262, label %263, label %267

263:                                              ; preds = %258
  %.not.2 = icmp eq i64 %.5.1, 0
  %264 = select i1 %.not.2, ptr @.str.17, ptr @.str.16
  %265 = load ptr, ptr getelementptr inbounds (i8, ptr @skf_digest_caps, i64 40), align 8, !tbaa !18
  %266 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.15, ptr noundef nonnull %264, ptr noundef %265) #3
  br label %267

267:                                              ; preds = %263, %258
  %268 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.18) #3
  %269 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.21) #3
  %270 = getelementptr inbounds i8, ptr %1, i64 210
  %271 = load i32, ptr %270, align 1, !tbaa !21
  %272 = load i32, ptr @skf_cipher_caps, align 16, !tbaa !15
  %273 = icmp eq i32 %271, %272
  br i1 %273, label %.thread, label %277

.thread:                                          ; preds = %322, %319, %316, %313, %310, %307, %304, %301, %298, %295, %292, %289, %286, %283, %280, %277, %267
  %.lcssa = phi ptr [ @skf_cipher_caps, %267 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 16), %277 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 32), %280 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 48), %283 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 64), %286 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 80), %289 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 96), %292 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 112), %295 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 128), %298 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 144), %301 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 160), %304 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 176), %307 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 192), %310 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 208), %313 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 224), %316 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 240), %319 ], [ getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 256), %322 ]
  %274 = getelementptr inbounds i8, ptr %.lcssa, i64 8
  %275 = load ptr, ptr %274, align 8, !tbaa !18
  %276 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.22, ptr noundef %275) #3
  br label %327

277:                                              ; preds = %267
  %278 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 16), align 16, !tbaa !15
  %279 = icmp eq i32 %271, %278
  br i1 %279, label %.thread, label %280

280:                                              ; preds = %277
  %281 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 32), align 16, !tbaa !15
  %282 = icmp eq i32 %271, %281
  br i1 %282, label %.thread, label %283

283:                                              ; preds = %280
  %284 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 48), align 16, !tbaa !15
  %285 = icmp eq i32 %271, %284
  br i1 %285, label %.thread, label %286

286:                                              ; preds = %283
  %287 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 64), align 16, !tbaa !15
  %288 = icmp eq i32 %271, %287
  br i1 %288, label %.thread, label %289

289:                                              ; preds = %286
  %290 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 80), align 16, !tbaa !15
  %291 = icmp eq i32 %271, %290
  br i1 %291, label %.thread, label %292

292:                                              ; preds = %289
  %293 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 96), align 16, !tbaa !15
  %294 = icmp eq i32 %271, %293
  br i1 %294, label %.thread, label %295

295:                                              ; preds = %292
  %296 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 112), align 16, !tbaa !15
  %297 = icmp eq i32 %271, %296
  br i1 %297, label %.thread, label %298

298:                                              ; preds = %295
  %299 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 128), align 16, !tbaa !15
  %300 = icmp eq i32 %271, %299
  br i1 %300, label %.thread, label %301

301:                                              ; preds = %298
  %302 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 144), align 16, !tbaa !15
  %303 = icmp eq i32 %271, %302
  br i1 %303, label %.thread, label %304

304:                                              ; preds = %301
  %305 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 160), align 16, !tbaa !15
  %306 = icmp eq i32 %271, %305
  br i1 %306, label %.thread, label %307

307:                                              ; preds = %304
  %308 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 176), align 16, !tbaa !15
  %309 = icmp eq i32 %271, %308
  br i1 %309, label %.thread, label %310

310:                                              ; preds = %307
  %311 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 192), align 16, !tbaa !15
  %312 = icmp eq i32 %271, %311
  br i1 %312, label %.thread, label %313

313:                                              ; preds = %310
  %314 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 208), align 16, !tbaa !15
  %315 = icmp eq i32 %271, %314
  br i1 %315, label %.thread, label %316

316:                                              ; preds = %313
  %317 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 224), align 16, !tbaa !15
  %318 = icmp eq i32 %271, %317
  br i1 %318, label %.thread, label %319

319:                                              ; preds = %316
  %320 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 240), align 16, !tbaa !15
  %321 = icmp eq i32 %271, %320
  br i1 %321, label %.thread, label %322

322:                                              ; preds = %319
  %323 = load i32, ptr getelementptr inbounds (i8, ptr @skf_cipher_caps, i64 256), align 16, !tbaa !15
  %324 = icmp eq i32 %271, %323
  br i1 %324, label %.thread, label %325

325:                                              ; preds = %322
  %326 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.23) #3
  br label %327

327:                                              ; preds = %.thread, %325
  %328 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.18) #3
  %329 = getelementptr inbounds i8, ptr %1, i64 214
  %330 = load i32, ptr %329, align 1, !tbaa !22
  %331 = icmp eq i32 %330, -1
  br i1 %331, label %332, label %334

332:                                              ; preds = %327
  %333 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.25) #3
  br label %336

334:                                              ; preds = %327
  %335 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.26, i32 noundef %330) #3
  br label %336

336:                                              ; preds = %334, %332
  %337 = getelementptr inbounds i8, ptr %1, i64 218
  %338 = load i32, ptr %337, align 1, !tbaa !23
  %339 = icmp eq i32 %338, -1
  br i1 %339, label %340, label %342

340:                                              ; preds = %336
  %341 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.25) #3
  br label %344

342:                                              ; preds = %336
  %343 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.28, i32 noundef %338) #3
  br label %344

344:                                              ; preds = %342, %340
  %345 = getelementptr inbounds i8, ptr %1, i64 222
  %346 = load i32, ptr %345, align 1, !tbaa !24
  %347 = icmp eq i32 %346, -1
  br i1 %347, label %348, label %350

348:                                              ; preds = %344
  %349 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.25) #3
  br label %352

350:                                              ; preds = %344
  %351 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.30, i32 noundef %346) #3
  br label %352

352:                                              ; preds = %350, %348
  %353 = getelementptr inbounds i8, ptr %1, i64 226
  %354 = load i32, ptr %353, align 1, !tbaa !25
  %355 = icmp eq i32 %354, -1
  br i1 %355, label %356, label %358

356:                                              ; preds = %352
  %357 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.25) #3
  br label %360

358:                                              ; preds = %352
  %359 = tail call i32 (ptr, i32, i32, ptr, ...) @format_print(ptr noundef %0, i32 noundef 0, i32 noundef 4, ptr noundef nonnull @.str.32, i32 noundef %354) #3
  br label %360

360:                                              ; preds = %358, %356
  ret i32 0
}

declare i32 @format_print(ptr noundef, i32 noundef, i32 noundef, ptr noundef, ...) local_unnamed_addr #1

declare i32 @format_bytes(ptr noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #2

attributes #0 = { 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 #1 = { "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 = { mustprogress nofree nounwind willreturn memory(argmem: read) "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 #3 = { nounwind }
attributes #4 = { nounwind willreturn memory(read) }

!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, !8, i64 0}
!6 = !{!"Struct_DEVINFO", !7, i64 0, !8, i64 2, !8, i64 66, !8, i64 130, !8, i64 162, !7, i64 194, !7, i64 196, !10, i64 198, !10, i64 202, !10, i64 206, !10, i64 210, !10, i64 214, !10, i64 218, !10, i64 222, !10, i64 226, !8, i64 230}
!7 = !{!"Struct_Version", !8, i64 0, !8, i64 1}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!6, !8, i64 1}
!12 = !{!6, !8, i64 194}
!13 = !{!6, !8, i64 195}
!14 = !{!6, !10, i64 198}
!15 = !{!16, !10, i64 0}
!16 = !{!"", !10, i64 0, !17, i64 8}
!17 = !{!"any pointer", !8, i64 0}
!18 = !{!16, !17, i64 8}
!19 = !{!6, !10, i64 202}
!20 = !{!6, !10, i64 206}
!21 = !{!6, !10, i64 210}
!22 = !{!6, !10, i64 214}
!23 = !{!6, !10, i64 218}
!24 = !{!6, !10, i64 222}
!25 = !{!6, !10, i64 226}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass