Aboudek/ASM_TO_LLVM_V2
0
1; ModuleID = 'winfile/src/extr_treectl.c_ScanDirLevel.c'2source_filename = "winfile/src/extr_treectl.c_ScanDirLevel.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%struct.TYPE_10__ = type { %struct.TYPE_8__ }7%struct.TYPE_8__ = type { i32, i32 }8%struct.TYPE_9__ = type { i32 }9 10@szMessage = dso_local global i32 0, align 411@szStarDotStar = dso_local global i32 0, align 412@ATTR_DIR = dso_local global i32 0, align 413@TF_HASCHILDREN = dso_local global i32 0, align 414@FALSE = dso_local global i64 0, align 815 16; Function Attrs: noinline nounwind optnone uwtable17define dso_local i32 @ScanDirLevel(ptr noundef %0, i32 noundef %1, i32 noundef %2) #0 {18 %4 = alloca i32, align 419 %5 = alloca ptr, align 820 %6 = alloca i32, align 421 %7 = alloca i32, align 422 %8 = alloca i64, align 823 %9 = alloca %struct.TYPE_10__, align 424 store ptr %0, ptr %5, align 825 store i32 %1, ptr %6, align 426 store i32 %2, ptr %7, align 427 %10 = load i32, ptr @szMessage, align 428 %11 = load i32, ptr %6, align 429 %12 = call i32 @lstrcpy(i32 noundef %10, i32 noundef %11)30 %13 = load i32, ptr @szMessage, align 431 %14 = call i32 @AddBackslash(i32 noundef %13)32 %15 = load i32, ptr @szMessage, align 433 %16 = load i32, ptr @szStarDotStar, align 434 %17 = call i32 @lstrcat(i32 noundef %15, i32 noundef %16)35 %18 = load i32, ptr @szMessage, align 436 %19 = load i32, ptr @ATTR_DIR, align 437 %20 = load i32, ptr %7, align 438 %21 = or i32 %19, %2039 %22 = call i64 @WFFindFirst(ptr noundef %9, i32 noundef %18, i32 noundef %21)40 store i64 %22, ptr %8, align 841 br label %2342 4323: ; preds = %48, %344 %24 = load i64, ptr %8, align 845 %25 = icmp ne i64 %24, 046 br i1 %25, label %26, label %4947 4826: ; preds = %2349 %27 = getelementptr inbounds %struct.TYPE_10__, ptr %9, i32 0, i32 050 %28 = getelementptr inbounds %struct.TYPE_8__, ptr %27, i32 0, i32 151 %29 = load i32, ptr %28, align 452 %30 = call i32 @ISDOTDIR(i32 noundef %29)53 %31 = icmp ne i32 %30, 054 br i1 %31, label %46, label %3255 5632: ; preds = %2657 %33 = getelementptr inbounds %struct.TYPE_10__, ptr %9, i32 0, i32 058 %34 = getelementptr inbounds %struct.TYPE_8__, ptr %33, i32 0, i32 059 %35 = load i32, ptr %34, align 460 %36 = load i32, ptr @ATTR_DIR, align 461 %37 = and i32 %35, %3662 %38 = icmp ne i32 %37, 063 br i1 %38, label %39, label %4664 6539: ; preds = %3266 %40 = load i32, ptr @TF_HASCHILDREN, align 467 %41 = load ptr, ptr %5, align 868 %42 = getelementptr inbounds %struct.TYPE_9__, ptr %41, i32 0, i32 069 %43 = load i32, ptr %42, align 470 %44 = or i32 %43, %4071 store i32 %44, ptr %42, align 472 %45 = load i64, ptr @FALSE, align 873 store i64 %45, ptr %8, align 874 br label %4875 7646: ; preds = %32, %2677 %47 = call i64 @WFFindNext(ptr noundef %9)78 store i64 %47, ptr %8, align 879 br label %4880 8148: ; preds = %46, %3982 br label %23, !llvm.loop !683 8449: ; preds = %2385 %50 = call i32 @WFFindClose(ptr noundef %9)86 %51 = load i32, ptr %4, align 487 ret i32 %5188}89 90declare i32 @lstrcpy(i32 noundef, i32 noundef) #191 92declare i32 @AddBackslash(i32 noundef) #193 94declare i32 @lstrcat(i32 noundef, i32 noundef) #195 96declare i64 @WFFindFirst(ptr noundef, i32 noundef, i32 noundef) #197 98declare i32 @ISDOTDIR(i32 noundef) #199 100declare i64 @WFFindNext(ptr noundef) #1101 102declare i32 @WFFindClose(ptr noundef) #1103 104attributes #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" }105attributes #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" }106 107!llvm.module.flags = !{!0, !1, !2, !3, !4}108!llvm.ident = !{!5}109 110!0 = !{i32 1, !"wchar_size", i32 4}111!1 = !{i32 7, !"PIC Level", i32 2}112!2 = !{i32 7, !"PIE Level", i32 2}113!3 = !{i32 7, !"uwtable", i32 2}114!4 = !{i32 7, !"frame-pointer", i32 2}115!5 = !{!"clang version 15.0.3"}116!6 = distinct !{!6, !7}117!7 = !{!"llvm.loop.mustprogress"}118 