Aboudek/ASM_TO_LLVM_V2
0
1; ModuleID = 'winfile/src/extr_wfext.c_ExtensionMsgProc.c'2source_filename = "winfile/src/extr_wfext.c_ExtensionMsgProc.c"3target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-unknown-linux-gnu"5 6@hwndMDIClient = dso_local global i64 0, align 87@WM_MDIGETACTIVE = dso_local global i32 0, align 48@hwndFrame = dso_local global i64 0, align 89@WM_CANCELMODE = dso_local global i32 0, align 410@TRUE = dso_local global i32 0, align 411@hwndToolbar = dso_local global i64 0, align 812@WM_SETREDRAW = dso_local global i32 0, align 413@FALSE = dso_local global i32 0, align 414@hwndSearch = dso_local global i64 0, align 815@FMFOCUS_SEARCH = dso_local global i64 0, align 816@FMFOCUS_TREE = dso_local global i64 0, align 817@FMFOCUS_DIR = dso_local global i64 0, align 818@hwndDriveBar = dso_local global i64 0, align 819@FMFOCUS_DRIVES = dso_local global i64 0, align 820@GW_CHILD = dso_local global i32 0, align 421@GW_HWNDNEXT = dso_local global i32 0, align 422@GW_OWNER = dso_local global i32 0, align 423@qFreeSpace = dso_local global i32 0, align 424 25; Function Attrs: noinline nounwind optnone uwtable26define dso_local i64 @ExtensionMsgProc(i32 noundef %0, i32 noundef %1, i32 noundef %2) #0 {27 %4 = alloca i64, align 828 %5 = alloca i32, align 429 %6 = alloca i32, align 430 %7 = alloca i32, align 431 %8 = alloca i64, align 832 %9 = alloca i64, align 833 %10 = alloca i64, align 834 %11 = alloca i64, align 835 %12 = alloca i64, align 836 %13 = alloca i64, align 837 store i32 %0, ptr %5, align 438 store i32 %1, ptr %6, align 439 store i32 %2, ptr %7, align 440 %14 = load i64, ptr @hwndMDIClient, align 841 %15 = load i32, ptr @WM_MDIGETACTIVE, align 442 %16 = call i64 @SendMessage(i64 noundef %14, i32 noundef %15, i32 noundef 0, i64 noundef 0)43 store i64 %16, ptr %8, align 844 %17 = load i64, ptr %8, align 845 %18 = call i32 @GetTreeWindows(i64 noundef %17, ptr noundef %9, ptr noundef %10)46 %19 = load i32, ptr %5, align 447 switch i32 %19, label %145 [48 i32 128, label %2049 i32 132, label %4350 i32 138, label %7251 i32 137, label %7252 i32 129, label %7753 i32 131, label %11454 i32 130, label %11455 i32 136, label %11456 i32 133, label %11457 i32 135, label %11458 i32 134, label %11459 ]60 6120: ; preds = %362 %21 = load i64, ptr @hwndFrame, align 863 %22 = load i32, ptr @WM_CANCELMODE, align 464 %23 = call i64 @SendMessage(i64 noundef %21, i32 noundef %22, i32 noundef 0, i64 noundef 0)65 %24 = load i32, ptr @TRUE, align 466 %25 = call i32 @SaveRestoreToolbar(i32 noundef %24)67 %26 = load i64, ptr @hwndToolbar, align 868 %27 = load i32, ptr @WM_SETREDRAW, align 469 %28 = load i32, ptr @FALSE, align 470 %29 = call i64 @SendMessage(i64 noundef %26, i32 noundef %27, i32 noundef %28, i64 noundef 0)71 %30 = call i32 (...) @FreeExtensions()72 %31 = call i32 (...) @InitExtensions()73 %32 = load i32, ptr @FALSE, align 474 %33 = call i32 @SaveRestoreToolbar(i32 noundef %32)75 %34 = load i64, ptr @hwndToolbar, align 876 %35 = load i32, ptr @WM_SETREDRAW, align 477 %36 = load i32, ptr @TRUE, align 478 %37 = call i64 @SendMessage(i64 noundef %34, i32 noundef %35, i32 noundef %36, i64 noundef 0)79 %38 = load i64, ptr @hwndToolbar, align 880 %39 = load i32, ptr @TRUE, align 481 %40 = call i32 @InvalidateRect(i64 noundef %38, ptr noundef null, i32 noundef %39)82 %41 = load i64, ptr @hwndFrame, align 883 %42 = call i32 @DrawMenuBar(i64 noundef %41)84 br label %14585 8643: ; preds = %387 %44 = load i64, ptr %8, align 888 %45 = load i64, ptr @hwndSearch, align 889 %46 = icmp eq i64 %44, %4590 br i1 %46, label %47, label %4991 9247: ; preds = %4393 %48 = load i64, ptr @FMFOCUS_SEARCH, align 894 store i64 %48, ptr %4, align 895 br label %14696 9749: ; preds = %4398 %50 = load i64, ptr %8, align 899 %51 = call i64 @GetTreeFocus(i64 noundef %50)100 store i64 %51, ptr %11, align 8101 %52 = load i64, ptr %11, align 8102 %53 = load i64, ptr %9, align 8103 %54 = icmp eq i64 %52, %53104 br i1 %54, label %55, label %57105 10655: ; preds = %49107 %56 = load i64, ptr @FMFOCUS_TREE, align 8108 store i64 %56, ptr %4, align 8109 br label %146110 11157: ; preds = %49112 %58 = load i64, ptr %11, align 8113 %59 = load i64, ptr %10, align 8114 %60 = icmp eq i64 %58, %59115 br i1 %60, label %61, label %63116 11761: ; preds = %57118 %62 = load i64, ptr @FMFOCUS_DIR, align 8119 store i64 %62, ptr %4, align 8120 br label %146121 12263: ; preds = %57123 %64 = load i64, ptr %11, align 8124 %65 = load i64, ptr @hwndDriveBar, align 8125 %66 = icmp eq i64 %64, %65126 br i1 %66, label %67, label %69127 12867: ; preds = %63129 %68 = load i64, ptr @FMFOCUS_DRIVES, align 8130 store i64 %68, ptr %4, align 8131 br label %146132 13369: ; preds = %63134 br label %70135 13670: ; preds = %69137 br label %71138 13971: ; preds = %70140 br label %145141 14272: ; preds = %3, %3143 %73 = load i64, ptr %8, align 8144 %74 = load i32, ptr %5, align 4145 %75 = load i32, ptr %7, align 4146 %76 = call i64 @GetDriveInfo(i64 noundef %73, i32 noundef %74, i32 noundef %75)147 store i64 %76, ptr %4, align 8148 br label %146149 15077: ; preds = %3151 %78 = call i32 (...) @UpdateDriveList()152 %79 = load i32, ptr %6, align 4153 %80 = icmp eq i32 %79, 0154 br i1 %80, label %81, label %86155 15681: ; preds = %77157 %82 = load i64, ptr %8, align 8158 %83 = load i32, ptr @FALSE, align 4159 %84 = load i32, ptr @TRUE, align 4160 %85 = call i32 @RefreshWindow(i64 noundef %82, i32 noundef %83, i32 noundef %84)161 br label %109162 16386: ; preds = %77164 %87 = load i64, ptr @hwndMDIClient, align 8165 %88 = load i32, ptr @GW_CHILD, align 4166 %89 = call i64 @GetWindow(i64 noundef %87, i32 noundef %88)167 store i64 %89, ptr %12, align 8168 br label %90169 17090: ; preds = %106, %86171 %91 = load i64, ptr %12, align 8172 %92 = icmp ne i64 %91, 0173 br i1 %92, label %93, label %108174 17593: ; preds = %90176 %94 = load i64, ptr %12, align 8177 %95 = load i32, ptr @GW_HWNDNEXT, align 4178 %96 = call i64 @GetWindow(i64 noundef %94, i32 noundef %95)179 store i64 %96, ptr %13, align 8180 %97 = load i64, ptr %12, align 8181 %98 = load i32, ptr @GW_OWNER, align 4182 %99 = call i64 @GetWindow(i64 noundef %97, i32 noundef %98)183 %100 = icmp ne i64 %99, 0184 br i1 %100, label %106, label %101185 186101: ; preds = %93187 %102 = load i64, ptr %12, align 8188 %103 = load i32, ptr @FALSE, align 4189 %104 = load i32, ptr @TRUE, align 4190 %105 = call i32 @RefreshWindow(i64 noundef %102, i32 noundef %103, i32 noundef %104)191 br label %106192 193106: ; preds = %101, %93194 %107 = load i64, ptr %13, align 8195 store i64 %107, ptr %12, align 8196 br label %90, !llvm.loop !6197 198108: ; preds = %90199 br label %109200 201109: ; preds = %108, %81202 %110 = load i32, ptr @qFreeSpace, align 4203 %111 = call i32 @SPC_SET_HITDISK(i32 noundef %110)204 %112 = load i64, ptr %8, align 8205 %113 = call i32 @UpdateStatus(i64 noundef %112)206 br label %145207 208114: ; preds = %3, %3, %3, %3, %3, %3209 %115 = load i64, ptr %8, align 8210 %116 = load i64, ptr @hwndSearch, align 8211 %117 = icmp ne i64 %115, %116212 br i1 %117, label %118, label %122213 214118: ; preds = %114215 %119 = load i64, ptr %10, align 8216 %120 = icmp ne i64 %119, 0217 br i1 %120, label %122, label %121218 219121: ; preds = %118220 store i64 0, ptr %4, align 8221 br label %146222 223122: ; preds = %118, %114224 %123 = load i64, ptr %8, align 8225 %124 = load i32, ptr %6, align 4226 %125 = load i32, ptr %7, align 4227 %126 = load i64, ptr %8, align 8228 %127 = load i64, ptr @hwndSearch, align 8229 %128 = icmp eq i64 %126, %127230 %129 = zext i1 %128 to i32231 %130 = load i32, ptr %5, align 4232 %131 = and i32 %130, -2233 %132 = icmp eq i32 %131, 131234 %133 = zext i1 %132 to i32235 %134 = load i32, ptr %5, align 4236 %135 = and i32 %134, 1237 %136 = load i32, ptr %5, align 4238 %137 = icmp eq i32 %136, 133239 br i1 %137, label %141, label %138240 241138: ; preds = %122242 %139 = load i32, ptr %5, align 4243 %140 = icmp eq i32 %139, 134244 br label %141245 246141: ; preds = %138, %122247 %142 = phi i1 [ true, %122 ], [ %140, %138 ]248 %143 = zext i1 %142 to i32249 %144 = call i64 @GetExtSelection(i64 noundef %123, i32 noundef %124, i32 noundef %125, i32 noundef %129, i32 noundef %133, i32 noundef %135, i32 noundef %143)250 store i64 %144, ptr %4, align 8251 br label %146252 253145: ; preds = %3, %109, %71, %20254 store i64 0, ptr %4, align 8255 br label %146256 257146: ; preds = %145, %141, %121, %72, %67, %61, %55, %47258 %147 = load i64, ptr %4, align 8259 ret i64 %147260}261 262declare i64 @SendMessage(i64 noundef, i32 noundef, i32 noundef, i64 noundef) #1263 264declare i32 @GetTreeWindows(i64 noundef, ptr noundef, ptr noundef) #1265 266declare i32 @SaveRestoreToolbar(i32 noundef) #1267 268declare i32 @FreeExtensions(...) #1269 270declare i32 @InitExtensions(...) #1271 272declare i32 @InvalidateRect(i64 noundef, ptr noundef, i32 noundef) #1273 274declare i32 @DrawMenuBar(i64 noundef) #1275 276declare i64 @GetTreeFocus(i64 noundef) #1277 278declare i64 @GetDriveInfo(i64 noundef, i32 noundef, i32 noundef) #1279 280declare i32 @UpdateDriveList(...) #1281 282declare i32 @RefreshWindow(i64 noundef, i32 noundef, i32 noundef) #1283 284declare i64 @GetWindow(i64 noundef, i32 noundef) #1285 286declare i32 @SPC_SET_HITDISK(i32 noundef) #1287 288declare i32 @UpdateStatus(i64 noundef) #1289 290declare i64 @GetExtSelection(i64 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #1291 292attributes #0 = { noinline nounwind optnone uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }293attributes #1 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }294 295!llvm.module.flags = !{!0, !1, !2, !3, !4}296!llvm.ident = !{!5}297 298!0 = !{i32 1, !"wchar_size", i32 4}299!1 = !{i32 7, !"PIC Level", i32 2}300!2 = !{i32 7, !"PIE Level", i32 2}301!3 = !{i32 7, !"uwtable", i32 2}302!4 = !{i32 7, !"frame-pointer", i32 2}303!5 = !{!"clang version 15.0.3"}304!6 = distinct !{!6, !7}305!7 = !{!"llvm.loop.mustprogress"}306 