; LLVM IR from xhub/reshop :: gui/external/imgui/imgui.ll (ZN12ImGuiContextC2EP11ImFontAtlas)

; 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.ImNewWrapper = type { i8 }
%struct.ImVec2 = type { float, float }
%struct.ImGuiContext = type { i8, i8, %struct.ImGuiIO, %struct.ImGuiPlatformIO, %struct.ImGuiStyle, ptr, float, float, float, float, %struct.ImDrawListSharedData, double, i32, i32, i32, i32, i8, i8, i8, i8, ptr, [16 x i8], %struct.ImVector.1, %struct.ImVector.1, i32, i32, %struct.ImVector.2, %struct.ImVector.2, %struct.ImVector.2, %struct.ImVector.3, %struct.ImGuiStorage, i32, %struct.ImVec2, i32, ptr, ptr, ptr, ptr, ptr, ptr, %struct.ImVec2, i32, i32, float, %struct.ImVec2, %struct.ImVec2, i32, i32, i32, i32, i32, float, float, i8, i8, i8, i32, i32, float, i8, i8, i8, i8, i8, i8, i8, i8, %struct.ImVec2, ptr, i32, i32, %struct.ImGuiDeactivatedItemData, %struct.ImGuiDataTypeStorage, i32, float, double, double, double, %struct.ImBitArray, [154 x %struct.ImGuiKeyOwnerData], %struct.ImGuiKeyRoutingTable, i32, i8, i32, i32, i32, i32, %struct.ImGuiNextItemData, %struct.ImGuiLastItemData, %struct.ImGuiNextWindowData, i8, i32, %struct.ImVector.6, %struct.ImVector.7, %struct.ImVector.8, %struct.ImVector.9, %struct.ImVector.10, %struct.ImVector.11, %struct.ImVector.12, %struct.ImVector.12, %struct.ImVector.13, %struct.ImVector.14, i8, i8, i8, i8, i32, ptr, i32, i32, i32, i32, i32, i32, %struct.ImVector.9, i32, float, i32, i32, i32, i64, i8, i8, i8, i8, %struct.ImGuiNavItemData, i8, i8, i8, i32, i32, i32, i32, i32, i32, %struct.ImRect, %struct.ImRect, i32, i32, i32, %struct.ImGuiNavItemData, %struct.ImGuiNavItemData, %struct.ImGuiNavItemData, %struct.ImGuiNavItemData, i32, i32, i32, i32, i8, i8, i32, i32, ptr, ptr, ptr, float, float, i8, i32, %struct.ImVec2, %struct.ImVec2, float, i8, i8, i8, i32, i32, i32, [4 x i8], %struct.ImGuiPayload, %struct.ImRect, %struct.ImRect, i32, i32, float, i32, i32, i32, i32, %struct.ImVector.15, [16 x i8], i32, %struct.ImVector.16, ptr, i32, i32, %struct.ImVector.17, %struct.ImPool, %struct.ImVector.19, %struct.ImVector.20, ptr, %struct.ImPool.21, %struct.ImVector.23, %struct.ImVector.24, %struct.ImGuiBoxSelectState, ptr, i32, %struct.ImVector.25, %struct.ImPool.26, i32, i32, float, float, i32, i32, i32, float, %struct.ImVec2, %struct.ImGuiInputTextState, %struct.ImGuiInputTextDeactivatedState, %struct.ImFont, i32, %struct.ImGuiDataTypeStorage, i32, i32, i32, i32, i32, float, float, i32, %struct.ImVec4, %struct.ImGuiComboPreviewData, %struct.ImRect, i8, i16, float, float, float, i8, i8, float, float, float, i16, i16, ptr, %struct.ImVector.28, %struct.ImVector.30, %struct.ImGuiTypingSelectState, %struct.ImGuiPlatformImeData, %struct.ImGuiPlatformImeData, i8, float, %struct.ImGuiTextBuffer, %struct.ImVector.31, %struct.ImChunkStream, %struct.ImChunkStream.32, %struct.ImVector.33, i32, [10 x ptr], i8, i32, ptr, ptr, %struct.ImGuiTextBuffer, ptr, ptr, float, i8, i32, i32, i32, ptr, ptr, %struct.ImVec2, i8, i32, %struct.ImGuiErrorRecoveryState, ptr, i32, i32, %struct.ImGuiTextBuffer, %struct.ImGuiTextIndex, i32, i32, i8, i8, i8, i32, i8, i8, i8, i32, float, %struct.ImVec4, %struct.ImGuiMetricsConfig, %struct.ImGuiIDStackTool, %struct.ImGuiDebugAllocInfo, [60 x float], i32, i32, float, i32, i32, i32, %struct.ImVector.28, [64 x i8] }
%struct.ImGuiIO = type { i32, i32, %struct.ImVec2, float, float, ptr, ptr, ptr, ptr, float, i8, ptr, %struct.ImVec2, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, float, float, float, float, float, float, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, ptr, ptr, ptr, ptr, ptr, i8, i8, i8, i8, i8, i8, i8, float, i32, i32, i32, i32, %struct.ImVec2, ptr, %struct.ImVec2, [5 x i8], float, float, i32, i8, i8, i8, i8, i32, [154 x %struct.ImGuiKeyData], i8, %struct.ImVec2, [5 x %struct.ImVec2], [5 x double], [5 x i8], [5 x i8], [5 x i16], [5 x i16], [5 x i8], [5 x i8], [5 x i8], i8, i8, [5 x float], [5 x float], [5 x float], float, i8, i8, i16, %struct.ImVector, ptr, ptr, ptr }
%struct.ImGuiKeyData = type { i8, float, float, float }
%struct.ImVector = type { i32, i32, ptr }
%struct.ImGuiPlatformIO = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, i16, ptr }
%struct.ImGuiStyle = type { float, float, %struct.ImVec2, float, float, %struct.ImVec2, %struct.ImVec2, i32, float, float, float, float, %struct.ImVec2, float, float, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, float, float, float, float, float, float, float, float, float, float, float, float, float, %struct.ImVec2, i32, %struct.ImVec2, %struct.ImVec2, float, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, float, i8, i8, i8, float, float, [56 x %struct.ImVec4], float, float, float, i32, i32 }
%struct.ImDrawListSharedData = type <{ %struct.ImVec2, ptr, ptr, float, float, float, float, %struct.ImVec4, i32, [4 x i8], %struct.ImVector.0, [48 x %struct.ImVec2], float, [64 x i8], [4 x i8] }>
%struct.ImVector.0 = type { i32, i32, ptr }
%struct.ImVector.1 = type { i32, i32, ptr }
%struct.ImVector.2 = type { i32, i32, ptr }
%struct.ImVector.3 = type { i32, i32, ptr }
%struct.ImGuiStorage = type { %struct.ImVector.4 }
%struct.ImVector.4 = type { i32, i32, ptr }
%struct.ImGuiDeactivatedItemData = type { i32, i32, i8, i8 }
%struct.ImBitArray = type { [5 x i32] }
%struct.ImGuiKeyOwnerData = type <{ i32, i32, i8, i8, [2 x i8] }>
%struct.ImGuiKeyRoutingTable = type { [154 x i16], %struct.ImVector.5, %struct.ImVector.5 }
%struct.ImVector.5 = type { i32, i32, ptr }
%struct.ImGuiNextItemData = type <{ i32, i32, i32, [4 x i8], i64, float, i32, i32, i8, i8, %struct.ImGuiDataTypeStorage, [2 x i8], i32, [4 x i8] }>
%struct.ImGuiLastItemData = type { i32, i32, i32, %struct.ImRect, %struct.ImRect, %struct.ImRect, %struct.ImRect, i32 }
%struct.ImGuiNextWindowData = type { i32, i32, i32, i32, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, i32, i8, %struct.ImRect, ptr, ptr, float, %struct.ImVec2, i32 }
%struct.ImVector.6 = type { i32, i32, ptr }
%struct.ImVector.7 = type { i32, i32, ptr }
%struct.ImVector.8 = type { i32, i32, ptr }
%struct.ImVector.10 = type { i32, i32, ptr }
%struct.ImVector.11 = type { i32, i32, ptr }
%struct.ImVector.12 = type { i32, i32, ptr }
%struct.ImVector.13 = type { i32, i32, ptr }
%struct.ImVector.14 = type { i32, i32, ptr }
%struct.ImVector.9 = type { i32, i32, ptr }
%struct.ImGuiNavItemData = type { ptr, i32, i32, %struct.ImRect, i32, float, float, float, i64 }
%struct.ImGuiPayload = type <{ ptr, i32, i32, i32, i32, [33 x i8], i8, i8, [5 x i8] }>
%struct.ImVector.15 = type { i32, i32, ptr }
%struct.ImVector.16 = type { i32, i32, ptr }
%struct.ImVector.17 = type { i32, i32, ptr }
%struct.ImPool = type { %struct.ImVector.18, %struct.ImGuiStorage, i32, i32 }
%struct.ImVector.18 = type { i32, i32, ptr }
%struct.ImVector.19 = type { i32, i32, ptr }
%struct.ImVector.20 = type { i32, i32, ptr }
%struct.ImPool.21 = type { %struct.ImVector.22, %struct.ImGuiStorage, i32, i32 }
%struct.ImVector.22 = type { i32, i32, ptr }
%struct.ImVector.23 = type { i32, i32, ptr }
%struct.ImVector.24 = type { i32, i32, ptr }
%struct.ImGuiBoxSelectState = type <{ i32, i8, i8, i8, i8, i8, i16, i8, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, [4 x i8], ptr, i8, [3 x i8], %struct.ImRect, %struct.ImRect, %struct.ImRect, [4 x i8] }>
%struct.ImVector.25 = type { i32, i32, ptr }
%struct.ImPool.26 = type { %struct.ImVector.27, %struct.ImGuiStorage, i32, i32 }
%struct.ImVector.27 = type { i32, i32, ptr }
%struct.ImGuiInputTextState = type <{ ptr, ptr, i32, i32, i32, [4 x i8], ptr, %struct.ImVector.28, %struct.ImVector.28, %struct.ImVector.28, i32, %struct.ImVec2, float, i8, i8, i8, i8, i32, i32, [4 x i8] }>
%struct.ImGuiInputTextDeactivatedState = type { i32, %struct.ImVector.28 }
%struct.ImFont = type <{ %struct.ImVector.19, float, float, %struct.ImVector, %struct.ImVector.29, ptr, ptr, ptr, i16, i16, i16, i16, float, float, i8, [3 x i8], float, float, float, i32, [2 x i8], [2 x i8] }>
%struct.ImVector.29 = type { i32, i32, ptr }
%struct.ImGuiDataTypeStorage = type { [8 x i8] }
%struct.ImGuiComboPreviewData = type { %struct.ImRect, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, float, i32 }
%struct.ImRect = type { %struct.ImVec2, %struct.ImVec2 }
%struct.ImVector.30 = type { i32, i32, ptr }
%struct.ImGuiTypingSelectState = type <{ %struct.ImGuiTypingSelectRequest, [64 x i8], i32, i32, float, i8, [3 x i8] }>
%struct.ImGuiTypingSelectRequest = type { i32, i32, ptr, i8, i8, i8 }
%struct.ImGuiPlatformImeData = type { i8, %struct.ImVec2, float }
%struct.ImVector.31 = type { i32, i32, ptr }
%struct.ImChunkStream = type { %struct.ImVector.28 }
%struct.ImChunkStream.32 = type { %struct.ImVector.28 }
%struct.ImVector.33 = type { i32, i32, ptr }
%struct.ImGuiErrorRecoveryState = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 }
%struct.ImGuiTextBuffer = type { %struct.ImVector.28 }
%struct.ImGuiTextIndex = type <{ %struct.ImVector.10, i32, [4 x i8] }>
%struct.ImVec4 = type { float, float, float, float }
%struct.ImGuiMetricsConfig = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32 }
%struct.ImGuiIDStackTool = type { i32, i32, i32, %struct.ImVector.34, i8, float }
%struct.ImVector.34 = type { i32, i32, ptr }
%struct.ImGuiDebugAllocInfo = type { i32, i32, i16, [6 x %struct.ImGuiDebugAllocEntry] }
%struct.ImGuiDebugAllocEntry = type { i32, i16, i16 }
%struct.ImVector.28 = type { i32, i32, ptr }

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8), float noundef, float noundef) unnamed_addr #0 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN5ImGui8MemAllocEm(i64 noundef) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_Znwm12ImNewWrapperPv(i64 noundef, ptr noundef) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZdlPv12ImNewWrapperS_(ptr noundef, ptr noundef) #5

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN12ImGuiContextC2EP11ImFontAtlas(ptr noundef nonnull align 8 dereferenceable(10472) %0, ptr noundef %1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %struct.ImNewWrapper, align 1
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i1, align 1
  %11 = alloca %struct.ImVec2, align 4
  %12 = alloca %struct.ImVec2, align 4
  %13 = alloca %struct.ImVec2, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %14 = load ptr, ptr %3, align 8
  %15 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 2
  call void @_ZN7ImGuiIOC1Ev(ptr noundef nonnull align 8 dereferenceable(2976) %15)
  %16 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 3
  invoke void @_ZN15ImGuiPlatformIOC1Ev(ptr noundef nonnull align 8 dereferenceable(72) %16)
          to label %17 unwind label %452

17:                                               ; preds = %2
  %18 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 4
  invoke void @_ZN10ImGuiStyleC1Ev(ptr noundef nonnull align 4 dereferenceable(1156) %18)
          to label %19 unwind label %452

19:                                               ; preds = %17
  %20 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 10
  invoke void @_ZN20ImDrawListSharedDataC1Ev(ptr noundef nonnull align 8 dereferenceable(532) %20)
          to label %21 unwind label %452

21:                                               ; preds = %19
  %22 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 22
  invoke void @_ZN8ImVectorI15ImGuiInputEventEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %23 unwind label %456

23:                                               ; preds = %21
  %24 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 23
  invoke void @_ZN8ImVectorI15ImGuiInputEventEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %25 unwind label %460

25:                                               ; preds = %23
  %26 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 26
  invoke void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %27 unwind label %464

27:                                               ; preds = %25
  %28 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 27
  invoke void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %29 unwind label %468

29:                                               ; preds = %27
  %30 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 28
  invoke void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %31 unwind label %472

31:                                               ; preds = %29
  %32 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 29
  invoke void @_ZN8ImVectorI20ImGuiWindowStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %33 unwind label %476

33:                                               ; preds = %31
  %34 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 30
  invoke void @_ZN12ImGuiStorageC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %35 unwind label %480

35:                                               ; preds = %33
  %36 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 32
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %36)
          to label %37 unwind label %484

37:                                               ; preds = %35
  %38 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 40
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %38)
          to label %39 unwind label %484

39:                                               ; preds = %37
  %40 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 44
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %40)
          to label %41 unwind label %484

41:                                               ; preds = %39
  %42 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 45
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %42)
          to label %43 unwind label %484

43:                                               ; preds = %41
  %44 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 67
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %44)
          to label %45 unwind label %484

45:                                               ; preds = %43
  %46 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 71
  %47 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 72
  %48 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 78
  invoke void @_ZN10ImBitArrayILi154ELin512EEC2Ev(ptr noundef nonnull align 4 dereferenceable(20) %48)
          to label %49 unwind label %484

49:                                               ; preds = %45
  %50 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 79
  %51 = getelementptr inbounds [154 x %struct.ImGuiKeyOwnerData], ptr %50, i32 0, i32 0
  %52 = getelementptr inbounds %struct.ImGuiKeyOwnerData, ptr %51, i64 154
  br label %53

53:                                               ; preds = %55, %49
  %54 = phi ptr [ %51, %49 ], [ %56, %55 ]
  invoke void @_ZN17ImGuiKeyOwnerDataC2Ev(ptr noundef nonnull align 4 dereferenceable(10) %54)
          to label %55 unwind label %484

55:                                               ; preds = %53
  %56 = getelementptr inbounds %struct.ImGuiKeyOwnerData, ptr %54, i64 1
  %57 = icmp eq ptr %56, %52
  br i1 %57, label %58, label %53

58:                                               ; preds = %55
  %59 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 80
  invoke void @_ZN20ImGuiKeyRoutingTableC2Ev(ptr noundef nonnull align 8 dereferenceable(344) %59)
          to label %60 unwind label %484

60:                                               ; preds = %58
  %61 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 87
  invoke void @_ZN17ImGuiNextItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(52) %61)
          to label %62 unwind label %488

62:                                               ; preds = %60
  %63 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 88
  invoke void @_ZN17ImGuiLastItemDataC2Ev(ptr noundef nonnull align 4 dereferenceable(80) %63)
          to label %64 unwind label %488

64:                                               ; preds = %62
  %65 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 89
  invoke void @_ZN19ImGuiNextWindowDataC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %65)
          to label %66 unwind label %488

66:                                               ; preds = %64
  %67 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 92
  invoke void @_ZN8ImVectorI13ImGuiColorModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67)
          to label %68 unwind label %488

68:                                               ; preds = %66
  %69 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 93
  invoke void @_ZN8ImVectorI13ImGuiStyleModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69)
          to label %70 unwind label %492

70:                                               ; preds = %68
  %71 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 94
  invoke void @_ZN8ImVectorIP6ImFontEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71)
          to label %72 unwind label %496

72:                                               ; preds = %70
  %73 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 95
  invoke void @_ZN8ImVectorI19ImGuiFocusScopeDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %74 unwind label %500

74:                                               ; preds = %72
  %75 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 96
  invoke void @_ZN8ImVectorIiEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %76 unwind label %504

76:                                               ; preds = %74
  %77 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 97
  invoke void @_ZN8ImVectorI14ImGuiGroupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77)
          to label %78 unwind label %508

78:                                               ; preds = %76
  %79 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 98
  invoke void @_ZN8ImVectorI14ImGuiPopupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79)
          to label %80 unwind label %512

80:                                               ; preds = %78
  %81 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 99
  invoke void @_ZN8ImVectorI14ImGuiPopupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %81)
          to label %82 unwind label %516

82:                                               ; preds = %80
  %83 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 100
  invoke void @_ZN8ImVectorI22ImGuiTreeNodeStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83)
          to label %84 unwind label %520

84:                                               ; preds = %82
  %85 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 101
  invoke void @_ZN8ImVectorIP14ImGuiViewportPEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85)
          to label %86 unwind label %524

86:                                               ; preds = %84
  %87 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 114
  invoke void @_ZN8ImVectorI19ImGuiFocusScopeDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87)
          to label %88 unwind label %528

88:                                               ; preds = %86
  %89 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 125
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %89)
          to label %90 unwind label %532

90:                                               ; preds = %88
  %91 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 135
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %91)
          to label %92 unwind label %532

92:                                               ; preds = %90
  %93 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 136
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %93)
          to label %94 unwind label %532

94:                                               ; preds = %92
  %95 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 140
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %95)
          to label %96 unwind label %532

96:                                               ; preds = %94
  %97 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 141
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %97)
          to label %98 unwind label %532

98:                                               ; preds = %96
  %99 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 142
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %99)
          to label %100 unwind label %532

100:                                              ; preds = %98
  %101 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 143
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %101)
          to label %102 unwind label %532

102:                                              ; preds = %100
  %103 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 159
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %103)
          to label %104 unwind label %532

104:                                              ; preds = %102
  %105 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 160
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %105)
          to label %106 unwind label %532

106:                                              ; preds = %104
  %107 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 169
  invoke void @_ZN12ImGuiPayloadC2Ev(ptr noundef nonnull align 8 dereferenceable(59) %107)
          to label %108 unwind label %532

108:                                              ; preds = %106
  %109 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 170
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %109)
          to label %110 unwind label %532

110:                                              ; preds = %108
  %111 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 171
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %111)
          to label %112 unwind label %532

112:                                              ; preds = %110
  %113 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 179
  invoke void @_ZN8ImVectorIhEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %113)
          to label %114 unwind label %532

114:                                              ; preds = %112
  %115 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 182
  invoke void @_ZN8ImVectorI20ImGuiListClipperDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %115)
          to label %116 unwind label %536

116:                                              ; preds = %114
  %117 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 186
  invoke void @_ZN8ImVectorI18ImGuiTableTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117)
          to label %118 unwind label %540

118:                                              ; preds = %116
  %119 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 187
  invoke void @_ZN6ImPoolI10ImGuiTableEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %119)
          to label %120 unwind label %544

120:                                              ; preds = %118
  %121 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 188
  invoke void @_ZN8ImVectorIfEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %121)
          to label %122 unwind label %548

122:                                              ; preds = %120
  %123 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 189
  invoke void @_ZN8ImVectorI13ImDrawChannelEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %123)
          to label %124 unwind label %552

124:                                              ; preds = %122
  %125 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 191
  invoke void @_ZN6ImPoolI11ImGuiTabBarEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %125)
          to label %126 unwind label %556

126:                                              ; preds = %124
  %127 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 192
  invoke void @_ZN8ImVectorI15ImGuiPtrOrIndexEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %127)
          to label %128 unwind label %560

128:                                              ; preds = %126
  %129 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 193
  invoke void @_ZN8ImVectorI20ImGuiShrinkWidthItemEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %129)
          to label %130 unwind label %564

130:                                              ; preds = %128
  %131 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 194
  invoke void @_ZN19ImGuiBoxSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(100) %131)
          to label %132 unwind label %568

132:                                              ; preds = %130
  %133 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 197
  invoke void @_ZN8ImVectorI24ImGuiMultiSelectTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %133)
          to label %134 unwind label %568

134:                                              ; preds = %132
  %135 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 198
  invoke void @_ZN6ImPoolI21ImGuiMultiSelectStateEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %135)
          to label %136 unwind label %572

136:                                              ; preds = %134
  %137 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 207
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %137)
          to label %138 unwind label %576

138:                                              ; preds = %136
  %139 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 208
  invoke void @_ZN19ImGuiInputTextStateC1Ev(ptr noundef nonnull align 8 dereferenceable(116) %139)
          to label %140 unwind label %576

140:                                              ; preds = %138
  %141 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 209
  invoke void @_ZN30ImGuiInputTextDeactivatedStateC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141)
          to label %142 unwind label %580

142:                                              ; preds = %140
  %143 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 210
  invoke void @_ZN6ImFontC1Ev(ptr noundef nonnull align 8 dereferenceable(118) %143)
          to label %144 unwind label %584

144:                                              ; preds = %142
  %145 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 212
  %146 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 221
  invoke void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) %146)
          to label %147 unwind label %588

147:                                              ; preds = %144
  %148 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 222
  invoke void @_ZN21ImGuiComboPreviewDataC2Ev(ptr noundef nonnull align 4 dereferenceable(48) %148)
          to label %149 unwind label %588

149:                                              ; preds = %147
  %150 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 223
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %150)
          to label %151 unwind label %588

151:                                              ; preds = %149
  %152 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 237
  invoke void @_ZN8ImVectorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152)
          to label %153 unwind label %588

153:                                              ; preds = %151
  %154 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 238
  invoke void @_ZN8ImVectorIjEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154)
          to label %155 unwind label %592

155:                                              ; preds = %153
  %156 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 239
  invoke void @_ZN22ImGuiTypingSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(101) %156)
          to label %157 unwind label %596

157:                                              ; preds = %155
  %158 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 240
  invoke void @_ZN20ImGuiPlatformImeDataC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %158)
          to label %159 unwind label %596

159:                                              ; preds = %157
  %160 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 241
  invoke void @_ZN20ImGuiPlatformImeDataC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %160)
          to label %161 unwind label %596

161:                                              ; preds = %159
  %162 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 244
  invoke void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %162)
          to label %163 unwind label %596

163:                                              ; preds = %161
  %164 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 245
  invoke void @_ZN8ImVectorI20ImGuiSettingsHandlerEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %164)
          to label %165 unwind label %600

165:                                              ; preds = %163
  %166 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 246
  invoke void @_ZN13ImChunkStreamI19ImGuiWindowSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %166)
          to label %167 unwind label %604

167:                                              ; preds = %165
  %168 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 247
  invoke void @_ZN13ImChunkStreamI18ImGuiTableSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %168)
          to label %169 unwind label %608

169:                                              ; preds = %167
  %170 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 248
  invoke void @_ZN8ImVectorI16ImGuiContextHookEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %170)
          to label %171 unwind label %612

171:                                              ; preds = %169
  %172 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 255
  invoke void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172)
          to label %173 unwind label %616

173:                                              ; preds = %171
  %174 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 265
  invoke void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %174)
          to label %175 unwind label %620

175:                                              ; preds = %173
  %176 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 268
  invoke void @_ZN23ImGuiErrorRecoveryStateC2Ev(ptr noundef nonnull align 2 dereferenceable(22) %176)
          to label %177 unwind label %620

177:                                              ; preds = %175
  %178 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 272
  invoke void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178)
          to label %179 unwind label %620

179:                                              ; preds = %177
  %180 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 273
  invoke void @_ZN14ImGuiTextIndexC2Ev(ptr noundef nonnull align 8 dereferenceable(20) %180)
          to label %181 unwind label %624

181:                                              ; preds = %179
  %182 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 285
  invoke void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) %182)
          to label %183 unwind label %628

183:                                              ; preds = %181
  %184 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 286
  call void @_ZN18ImGuiMetricsConfigC2Ev(ptr noundef nonnull align 4 dereferenceable(28) %184) #9
  %185 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 287
  invoke void @_ZN16ImGuiIDStackToolC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %185)
          to label %186 unwind label %628

186:                                              ; preds = %183
  %187 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 288
  invoke void @_ZN19ImGuiDebugAllocInfoC2Ev(ptr noundef nonnull align 4 dereferenceable(60) %187)
          to label %188 unwind label %632

188:                                              ; preds = %186
  %189 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 296
  invoke void @_ZN8ImVectorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %189)
          to label %190 unwind label %632

190:                                              ; preds = %188
  %191 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 2
  %192 = getelementptr inbounds %struct.ImGuiIO, ptr %191, i32 0, i32 64
  store ptr %14, ptr %192, align 8, !tbaa !9
  %193 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 208
  %194 = getelementptr inbounds %struct.ImGuiInputTextState, ptr %193, i32 0, i32 0
  store ptr %14, ptr %194, align 8, !tbaa !91
  %195 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 0
  store i8 0, ptr %195, align 8, !tbaa !92
  %196 = load ptr, ptr %4, align 8, !tbaa !5
  %197 = icmp ne ptr %196, null
  %198 = zext i1 %197 to i64
  %199 = select i1 %197, i1 false, i1 true
  %200 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 1
  %201 = zext i1 %199 to i8
  store i8 %201, ptr %200, align 1, !tbaa !93
  %202 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 5
  store ptr null, ptr %202, align 8, !tbaa !94
  %203 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 9
  store float 0.000000e+00, ptr %203, align 4, !tbaa !95
  %204 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 8
  store float 0.000000e+00, ptr %204, align 8, !tbaa !96
  %205 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 7
  store float 0.000000e+00, ptr %205, align 4, !tbaa !97
  %206 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 6
  store float 0.000000e+00, ptr %206, align 8, !tbaa !98
  %207 = load ptr, ptr %4, align 8, !tbaa !5
  %208 = icmp ne ptr %207, null
  store i1 false, ptr %10, align 1
  br i1 %208, label %209, label %211

209:                                              ; preds = %190
  %210 = load ptr, ptr %4, align 8, !tbaa !5
  br label %217

211:                                              ; preds = %190
  %212 = invoke noundef ptr @_ZN5ImGui8MemAllocEm(i64 noundef 1184)
          to label %213 unwind label %636

213:                                              ; preds = %211
  %214 = invoke noundef ptr @_Znwm12ImNewWrapperPv(i64 noundef 1184, ptr noundef %212)
          to label %215 unwind label %636

215:                                              ; preds = %213
  store ptr %214, ptr %8, align 8
  store ptr %212, ptr %9, align 8
  store i1 true, ptr %10, align 1
  invoke void @_ZN11ImFontAtlasC1Ev(ptr noundef nonnull align 8 dereferenceable(1180) %214)
          to label %216 unwind label %640

216:                                              ; preds = %215
  br label %217

217:                                              ; preds = %216, %209
  %218 = phi ptr [ %210, %209 ], [ %214, %216 ]
  %219 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 2
  %220 = getelementptr inbounds %struct.ImGuiIO, ptr %219, i32 0, i32 8
  store ptr %218, ptr %220, align 8, !tbaa !99
  %221 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 11
  store double 0.000000e+00, ptr %221, align 8, !tbaa !100
  %222 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 12
  store i32 0, ptr %222, align 8, !tbaa !101
  %223 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 14
  store i32 -1, ptr %223, align 8, !tbaa !102
  %224 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 13
  store i32 -1, ptr %224, align 4, !tbaa !103
  %225 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 15
  store i32 0, ptr %225, align 4, !tbaa !104
  %226 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 17
  store i8 0, ptr %226, align 1, !tbaa !105
  %227 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 16
  store i8 0, ptr %227, align 8, !tbaa !106
  %228 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 18
  store i8 0, ptr %228, align 2, !tbaa !107
  %229 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 19
  store i8 0, ptr %229, align 1, !tbaa !108
  %230 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 20
  store ptr null, ptr %230, align 8, !tbaa !109
  %231 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 21
  %232 = getelementptr inbounds [16 x i8], ptr %231, i64 0, i64 0
  call void @llvm.memset.p0.i64(ptr align 8 %232, i8 0, i64 16, i1 false)
  %233 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 24
  store i32 0, ptr %233, align 8, !tbaa !110
  %234 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 25
  store i32 1, ptr %234, align 4, !tbaa !111
  %235 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 31
  store i32 0, ptr %235, align 8, !tbaa !112
  %236 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 34
  store ptr null, ptr %236, align 8, !tbaa !113
  %237 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 35
  store ptr null, ptr %237, align 8, !tbaa !114
  %238 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 36
  store ptr null, ptr %238, align 8, !tbaa !115
  %239 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 37
  store ptr null, ptr %239, align 8, !tbaa !116
  %240 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 38
  store ptr null, ptr %240, align 8, !tbaa !117
  %241 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 39
  store ptr null, ptr %241, align 8, !tbaa !118
  %242 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 42
  store i32 -1, ptr %242, align 4, !tbaa !119
  %243 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 41
  store i32 -1, ptr %243, align 8, !tbaa !120
  %244 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 43
  store float 0.000000e+00, ptr %244, align 8, !tbaa !121
  %245 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 46
  store i32 0, ptr %245, align 4, !tbaa !122
  %246 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 47
  store i32 0, ptr %246, align 8, !tbaa !123
  %247 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 49
  store i32 0, ptr %247, align 8, !tbaa !124
  %248 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 48
  store i32 0, ptr %248, align 4, !tbaa !125
  %249 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 50
  store i32 0, ptr %249, align 4, !tbaa !126
  %250 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 53
  store i8 0, ptr %250, align 8, !tbaa !127
  %251 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 54
  store i8 0, ptr %251, align 1, !tbaa !128
  %252 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 52
  store float 0.000000e+00, ptr %252, align 4, !tbaa !129
  %253 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 51
  store float 0.000000e+00, ptr %253, align 8, !tbaa !130
  %254 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 55
  store i8 0, ptr %254, align 2, !tbaa !131
  %255 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 56
  store i32 0, ptr %255, align 4, !tbaa !132
  %256 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 57
  store i32 0, ptr %256, align 8, !tbaa !133
  %257 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 58
  store float 0.000000e+00, ptr %257, align 4, !tbaa !134
  %258 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 59
  store i8 0, ptr %258, align 8, !tbaa !135
  %259 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 60
  store i8 0, ptr %259, align 1, !tbaa !136
  %260 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 61
  store i8 0, ptr %260, align 2, !tbaa !137
  %261 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 62
  store i8 0, ptr %261, align 1, !tbaa !138
  %262 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 63
  store i8 0, ptr %262, align 4, !tbaa !139
  %263 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 64
  store i8 0, ptr %263, align 1, !tbaa !140
  %264 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 65
  store i8 0, ptr %264, align 2, !tbaa !141
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #9
  invoke void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %11, float noundef -1.000000e+00, float noundef -1.000000e+00)
          to label %265 unwind label %649

265:                                              ; preds = %217
  %266 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 67
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %266, ptr align 4 %11, i64 8, i1 false), !tbaa.struct !142
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  %267 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 68
  store ptr null, ptr %267, align 8, !tbaa !144
  %268 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 69
  store i32 0, ptr %268, align 8, !tbaa !145
  %269 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 66
  store i8 -1, ptr %269, align 1
  %270 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 70
  store i32 0, ptr %270, align 4, !tbaa !146
  %271 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 71
  call void @llvm.memset.p0.i64(ptr align 8 %271, i8 0, i64 12, i1 false)
  %272 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 72
  call void @llvm.memset.p0.i64(ptr align 4 %272, i8 0, i64 8, i1 false)
  %273 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 73
  store i32 0, ptr %273, align 4, !tbaa !147
  %274 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 74
  store float 0.000000e+00, ptr %274, align 8, !tbaa !148
  %275 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 76
  store double -1.000000e+00, ptr %275, align 8, !tbaa !149
  %276 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 75
  store double -1.000000e+00, ptr %276, align 8, !tbaa !150
  %277 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 77
  store double -1.000000e+00, ptr %277, align 8, !tbaa !151
  %278 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 81
  store i32 0, ptr %278, align 8, !tbaa !152
  %279 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 82
  store i8 0, ptr %279, align 4, !tbaa !153
  %280 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 84
  store i32 0, ptr %280, align 4, !tbaa !154
  %281 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 85
  store i32 0, ptr %281, align 8, !tbaa !155
  %282 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 90
  store i8 0, ptr %282, align 8, !tbaa !156
  %283 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 102
  store i8 0, ptr %283, align 8, !tbaa !157
  %284 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 103
  store i8 0, ptr %284, align 1, !tbaa !158
  %285 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 104
  store i8 0, ptr %285, align 2, !tbaa !159
  %286 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 105
  store i8 0, ptr %286, align 1, !tbaa !160
  %287 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 106
  store i32 0, ptr %287, align 4, !tbaa !161
  %288 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 107
  store ptr null, ptr %288, align 8, !tbaa !162
  %289 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 112
  store i32 0, ptr %289, align 8, !tbaa !163
  %290 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 111
  store i32 0, ptr %290, align 4, !tbaa !164
  %291 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 110
  store i32 0, ptr %291, align 8, !tbaa !165
  %292 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 108
  store i32 0, ptr %292, align 8, !tbaa !166
  %293 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 109
  store i32 0, ptr %293, align 4, !tbaa !167
  %294 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 117
  store i32 0, ptr %294, align 8, !tbaa !168
  %295 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 118
  store i32 0, ptr %295, align 4, !tbaa !169
  %296 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 113
  store i32 0, ptr %296, align 4, !tbaa !170
  %297 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 115
  store i32 0, ptr %297, align 8, !tbaa !171
  %298 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 116
  store float 0.000000e+00, ptr %298, align 4, !tbaa !172
  %299 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 119
  store i32 2, ptr %299, align 8, !tbaa !173
  %300 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 120
  store i64 -1, ptr %300, align 8, !tbaa !174
  %301 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 121
  store i8 0, ptr %301, align 8, !tbaa !175
  %302 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 122
  store i8 0, ptr %302, align 1, !tbaa !176
  %303 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 123
  store i8 0, ptr %303, align 2, !tbaa !177
  %304 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 124
  store i8 0, ptr %304, align 1, !tbaa !178
  %305 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 126
  store i8 0, ptr %305, align 8, !tbaa !179
  %306 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 127
  store i8 0, ptr %306, align 1, !tbaa !180
  %307 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 128
  store i8 0, ptr %307, align 2, !tbaa !181
  %308 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 129
  store i32 0, ptr %308, align 4, !tbaa !182
  %309 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 130
  store i32 0, ptr %309, align 8, !tbaa !183
  %310 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 131
  store i32 0, ptr %310, align 4, !tbaa !184
  %311 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 134
  store i32 -1, ptr %311, align 8, !tbaa !185
  %312 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 133
  store i32 -1, ptr %312, align 4, !tbaa !186
  %313 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 132
  store i32 -1, ptr %313, align 8, !tbaa !187
  %314 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 137
  store i32 0, ptr %314, align 4, !tbaa !188
  %315 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 138
  store i32 0, ptr %315, align 8, !tbaa !189
  %316 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 139
  store i32 0, ptr %316, align 4, !tbaa !190
  %317 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 146
  store i32 0, ptr %317, align 8, !tbaa !191
  %318 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 145
  store i32 0, ptr %318, align 4, !tbaa !192
  %319 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 144
  store i32 0, ptr %319, align 8, !tbaa !193
  %320 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 147
  store i32 0, ptr %320, align 4, !tbaa !194
  %321 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 148
  store i8 0, ptr %321, align 8, !tbaa !195
  %322 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 149
  store i8 0, ptr %322, align 1, !tbaa !196
  %323 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 2
  %324 = getelementptr inbounds %struct.ImGuiIO, ptr %323, i32 0, i32 21
  %325 = load i8, ptr %324, align 8, !tbaa !197, !range !198, !noundef !199
  %326 = trunc i8 %325 to i1
  %327 = zext i1 %326 to i64
  %328 = select i1 %326, i32 33280, i32 4608
  %329 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 150
  store i32 %328, ptr %329, align 4, !tbaa !200
  %330 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 2
  %331 = getelementptr inbounds %struct.ImGuiIO, ptr %330, i32 0, i32 21
  %332 = load i8, ptr %331, align 8, !tbaa !197, !range !198, !noundef !199
  %333 = trunc i8 %332 to i1
  %334 = zext i1 %333 to i64
  %335 = select i1 %333, i32 41472, i32 12800
  %336 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 151
  store i32 %335, ptr %336, align 8, !tbaa !201
  %337 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 154
  store ptr null, ptr %337, align 8, !tbaa !202
  %338 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 153
  store ptr null, ptr %338, align 8, !tbaa !203
  %339 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 152
  store ptr null, ptr %339, align 8, !tbaa !204
  %340 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 156
  store float 0.000000e+00, ptr %340, align 4, !tbaa !205
  %341 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 155
  store float 0.000000e+00, ptr %341, align 8, !tbaa !206
  %342 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 157
  store i8 0, ptr %342, align 8, !tbaa !207
  %343 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 158
  store i32 0, ptr %343, align 4, !tbaa !208
  %344 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 161
  store float 0.000000e+00, ptr %344, align 8, !tbaa !209
  %345 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 164
  store i8 0, ptr %345, align 2, !tbaa !210
  %346 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 163
  store i8 0, ptr %346, align 1, !tbaa !211
  %347 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 162
  store i8 0, ptr %347, align 4, !tbaa !212
  %348 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 165
  store i32 0, ptr %348, align 8, !tbaa !213
  %349 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 166
  store i32 -1, ptr %349, align 4, !tbaa !214
  %350 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 167
  store i32 -1, ptr %350, align 8, !tbaa !215
  %351 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 172
  store i32 0, ptr %351, align 8, !tbaa !216
  %352 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 173
  store i32 0, ptr %352, align 4, !tbaa !217
  %353 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 174
  store float 0.000000e+00, ptr %353, align 8, !tbaa !218
  %354 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 175
  store i32 0, ptr %354, align 4, !tbaa !219
  %355 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 176
  store i32 0, ptr %355, align 8, !tbaa !220
  %356 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 177
  store i32 -1, ptr %356, align 4, !tbaa !221
  %357 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 178
  store i32 0, ptr %357, align 8, !tbaa !222
  %358 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 180
  %359 = getelementptr inbounds [16 x i8], ptr %358, i64 0, i64 0
  call void @llvm.memset.p0.i64(ptr align 8 %359, i8 0, i64 16, i1 false)
  %360 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 181
  store i32 0, ptr %360, align 8, !tbaa !223
  %361 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 183
  store ptr null, ptr %361, align 8, !tbaa !224
  %362 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 185
  store i32 0, ptr %362, align 4, !tbaa !225
  %363 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 190
  store ptr null, ptr %363, align 8, !tbaa !226
  %364 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 195
  store ptr null, ptr %364, align 8, !tbaa !227
  %365 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 196
  store i32 0, ptr %365, align 8, !tbaa !228
  %366 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 204
  store i32 0, ptr %366, align 4, !tbaa !229
  %367 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 203
  store i32 0, ptr %367, align 8, !tbaa !230
  %368 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 200
  store i32 0, ptr %368, align 4, !tbaa !231
  %369 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 199
  store i32 0, ptr %369, align 8, !tbaa !232
  %370 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 202
  store float 0.000000e+00, ptr %370, align 4, !tbaa !233
  %371 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 201
  store float 0.000000e+00, ptr %371, align 8, !tbaa !234
  %372 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 205
  store i32 0, ptr %372, align 8, !tbaa !235
  %373 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 206
  store float 0.000000e+00, ptr %373, align 4, !tbaa !236
  %374 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 211
  store i32 0, ptr %374, align 8, !tbaa !237
  %375 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 212
  call void @llvm.memset.p0.i64(ptr align 4 %375, i8 0, i64 8, i1 false)
  %376 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 214
  store i32 0, ptr %376, align 8, !tbaa !238
  %377 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 213
  store i32 0, ptr %377, align 4, !tbaa !239
  %378 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 215
  store i32 177209344, ptr %378, align 4, !tbaa !240
  %379 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 217
  store i32 0, ptr %379, align 4, !tbaa !241
  %380 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 216
  store i32 0, ptr %380, align 8, !tbaa !242
  %381 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 219
  store float 0.000000e+00, ptr %381, align 4, !tbaa !243
  %382 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 218
  store float 0.000000e+00, ptr %382, align 8, !tbaa !244
  %383 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 220
  store i32 0, ptr %383, align 8, !tbaa !245
  %384 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 224
  store i8 0, ptr %384, align 4, !tbaa !246
  %385 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 225
  store i16 0, ptr %385, align 2, !tbaa !247
  %386 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 226
  store float 0.000000e+00, ptr %386, align 8, !tbaa !248
  %387 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 227
  store float 0.000000e+00, ptr %387, align 4, !tbaa !249
  %388 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 228
  store float 0.000000e+00, ptr %388, align 8, !tbaa !250
  %389 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 229
  store i8 0, ptr %389, align 4, !tbaa !251
  %390 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 230
  store i8 0, ptr %390, align 1, !tbaa !252
  %391 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 231
  store float 0.000000e+00, ptr %391, align 8, !tbaa !253
  %392 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 232
  store float 0x3F847AE140000000, ptr %392, align 4, !tbaa !254
  %393 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 233
  store float 0.000000e+00, ptr %393, align 8, !tbaa !255
  %394 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 234
  store i16 0, ptr %394, align 4, !tbaa !256
  %395 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 235
  store i16 0, ptr %395, align 2, !tbaa !257
  %396 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 236
  store ptr null, ptr %396, align 8, !tbaa !258
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #9
  invoke void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %12, float noundef 0.000000e+00, float noundef 0.000000e+00)
          to label %397 unwind label %653

397:                                              ; preds = %265
  %398 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 240
  %399 = getelementptr inbounds %struct.ImGuiPlatformImeData, ptr %398, i32 0, i32 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %399, ptr align 4 %12, i64 8, i1 false), !tbaa.struct !142
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  invoke void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %13, float noundef -1.000000e+00, float noundef -1.000000e+00)
          to label %400 unwind label %657

400:                                              ; preds = %397
  %401 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 241
  %402 = getelementptr inbounds %struct.ImGuiPlatformImeData, ptr %401, i32 0, i32 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %402, ptr align 4 %13, i64 8, i1 false), !tbaa.struct !142
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  %403 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 242
  store i8 0, ptr %403, align 8, !tbaa !259
  %404 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 243
  store float 0.000000e+00, ptr %404, align 4, !tbaa !260
  %405 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 249
  store i32 0, ptr %405, align 8, !tbaa !261
  %406 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 250
  %407 = getelementptr inbounds [10 x ptr], ptr %406, i64 0, i64 0
  call void @llvm.memset.p0.i64(ptr align 8 %407, i8 0, i64 80, i1 false)
  %408 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 251
  store i8 0, ptr %408, align 8, !tbaa !262
  %409 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 252
  store i32 0, ptr %409, align 4, !tbaa !263
  %410 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 253
  store ptr null, ptr %410, align 8, !tbaa !264
  %411 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 257
  store ptr null, ptr %411, align 8, !tbaa !265
  %412 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 256
  store ptr null, ptr %412, align 8, !tbaa !266
  %413 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 254
  store ptr null, ptr %413, align 8, !tbaa !267
  %414 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 258
  store float 0x47EFFFFFE0000000, ptr %414, align 8, !tbaa !268
  %415 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 259
  store i8 0, ptr %415, align 4, !tbaa !269
  %416 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 260
  store i32 0, ptr %416, align 8, !tbaa !270
  %417 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 262
  store i32 2, ptr %417, align 8, !tbaa !271
  %418 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 261
  store i32 2, ptr %418, align 4, !tbaa !272
  %419 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 263
  store ptr null, ptr %419, align 8, !tbaa !273
  %420 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 264
  store ptr null, ptr %420, align 8, !tbaa !274
  %421 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 266
  store i8 1, ptr %421, align 8, !tbaa !275
  %422 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 267
  store i32 0, ptr %422, align 4, !tbaa !276
  %423 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 269
  store ptr null, ptr %423, align 8, !tbaa !277
  %424 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 270
  store i32 0, ptr %424, align 8, !tbaa !278
  %425 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 271
  store i32 1048577, ptr %425, align 4, !tbaa !279
  %426 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 86
  store i32 0, ptr %426, align 4, !tbaa !280
  %427 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 274
  store i32 0, ptr %427, align 8, !tbaa !281
  %428 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 275
  store i32 0, ptr %428, align 4, !tbaa !282
  %429 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 276
  store i8 0, ptr %429, align 8, !tbaa !283
  %430 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 277
  store i8 0, ptr %430, align 1, !tbaa !284
  %431 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 280
  store i8 -1, ptr %431, align 8, !tbaa !285
  %432 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 281
  store i8 0, ptr %432, align 1, !tbaa !286
  %433 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 282
  store i8 0, ptr %433, align 2, !tbaa !287
  %434 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 283
  store i32 0, ptr %434, align 4, !tbaa !288
  %435 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 284
  store float 0.000000e+00, ptr %435, align 8, !tbaa !289
  %436 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 91
  store i32 56, ptr %436, align 4, !tbaa !290
  %437 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 33
  store i32 0, ptr %437, align 4, !tbaa !291
  %438 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 184
  store i32 0, ptr %438, align 8, !tbaa !292
  %439 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 278
  store i8 0, ptr %439, align 2, !tbaa !293
  %440 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 279
  store i32 611, ptr %440, align 4, !tbaa !294
  %441 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 83
  store i32 0, ptr %441, align 8, !tbaa !295
  %442 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 289
  %443 = getelementptr inbounds [60 x float], ptr %442, i64 0, i64 0
  call void @llvm.memset.p0.i64(ptr align 4 %443, i8 0, i64 240, i1 false)
  %444 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 291
  store i32 0, ptr %444, align 8, !tbaa !296
  %445 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 290
  store i32 0, ptr %445, align 4, !tbaa !297
  %446 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 292
  store float 0.000000e+00, ptr %446, align 4, !tbaa !298
  %447 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 295
  store i32 -1, ptr %447, align 8, !tbaa !299
  %448 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 294
  store i32 -1, ptr %448, align 4, !tbaa !300
  %449 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 293
  store i32 -1, ptr %449, align 8, !tbaa !301
  %450 = getelementptr inbounds %struct.ImGuiContext, ptr %14, i32 0, i32 297
  %451 = getelementptr inbounds [64 x i8], ptr %450, i64 0, i64 0
  call void @llvm.memset.p0.i64(ptr align 8 %451, i8 0, i64 64, i1 false)
  ret void

452:                                              ; preds = %19, %17, %2
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %5, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %6, align 4
  br label %707

456:                                              ; preds = %21
  %457 = landingpad { ptr, i32 }
          cleanup
  %458 = extractvalue { ptr, i32 } %457, 0
  store ptr %458, ptr %5, align 8
  %459 = extractvalue { ptr, i32 } %457, 1
  store i32 %459, ptr %6, align 4
  br label %706

460:                                              ; preds = %23
  %461 = landingpad { ptr, i32 }
          cleanup
  %462 = extractvalue { ptr, i32 } %461, 0
  store ptr %462, ptr %5, align 8
  %463 = extractvalue { ptr, i32 } %461, 1
  store i32 %463, ptr %6, align 4
  br label %705

464:                                              ; preds = %25
  %465 = landingpad { ptr, i32 }
          cleanup
  %466 = extractvalue { ptr, i32 } %465, 0
  store ptr %466, ptr %5, align 8
  %467 = extractvalue { ptr, i32 } %465, 1
  store i32 %467, ptr %6, align 4
  br label %704

468:                                              ; preds = %27
  %469 = landingpad { ptr, i32 }
          cleanup
  %470 = extractvalue { ptr, i32 } %469, 0
  store ptr %470, ptr %5, align 8
  %471 = extractvalue { ptr, i32 } %469, 1
  store i32 %471, ptr %6, align 4
  br label %703

472:                                              ; preds = %29
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %5, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %6, align 4
  br label %702

476:                                              ; preds = %31
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %5, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %6, align 4
  br label %701

480:                                              ; preds = %33
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %5, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %6, align 4
  br label %700

484:                                              ; preds = %58, %53, %45, %43, %41, %39, %37, %35
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %5, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %6, align 4
  br label %699

488:                                              ; preds = %66, %64, %62, %60
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %5, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %6, align 4
  br label %698

492:                                              ; preds = %68
  %493 = landingpad { ptr, i32 }
          cleanup
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %5, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %6, align 4
  br label %697

496:                                              ; preds = %70
  %497 = landingpad { ptr, i32 }
          cleanup
  %498 = extractvalue { ptr, i32 } %497, 0
  store ptr %498, ptr %5, align 8
  %499 = extractvalue { ptr, i32 } %497, 1
  store i32 %499, ptr %6, align 4
  br label %696

500:                                              ; preds = %72
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %5, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %6, align 4
  br label %695

504:                                              ; preds = %74
  %505 = landingpad { ptr, i32 }
          cleanup
  %506 = extractvalue { ptr, i32 } %505, 0
  store ptr %506, ptr %5, align 8
  %507 = extractvalue { ptr, i32 } %505, 1
  store i32 %507, ptr %6, align 4
  br label %694

508:                                              ; preds = %76
  %509 = landingpad { ptr, i32 }
          cleanup
  %510 = extractvalue { ptr, i32 } %509, 0
  store ptr %510, ptr %5, align 8
  %511 = extractvalue { ptr, i32 } %509, 1
  store i32 %511, ptr %6, align 4
  br label %693

512:                                              ; preds = %78
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %5, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %6, align 4
  br label %692

516:                                              ; preds = %80
  %517 = landingpad { ptr, i32 }
          cleanup
  %518 = extractvalue { ptr, i32 } %517, 0
  store ptr %518, ptr %5, align 8
  %519 = extractvalue { ptr, i32 } %517, 1
  store i32 %519, ptr %6, align 4
  br label %691

520:                                              ; preds = %82
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %5, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %6, align 4
  br label %690

524:                                              ; preds = %84
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %5, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %6, align 4
  br label %689

528:                                              ; preds = %86
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %5, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %6, align 4
  br label %688

532:                                              ; preds = %112, %110, %108, %106, %104, %102, %100, %98, %96, %94, %92, %90, %88
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %5, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %6, align 4
  br label %687

536:                                              ; preds = %114
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %5, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %6, align 4
  br label %686

540:                                              ; preds = %116
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %5, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %6, align 4
  br label %685

544:                                              ; preds = %118
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %5, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %6, align 4
  br label %684

548:                                              ; preds = %120
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %5, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %6, align 4
  br label %683

552:                                              ; preds = %122
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %5, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %6, align 4
  br label %682

556:                                              ; preds = %124
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %5, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %6, align 4
  br label %681

560:                                              ; preds = %126
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %5, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %6, align 4
  br label %680

564:                                              ; preds = %128
  %565 = landingpad { ptr, i32 }
          cleanup
  %566 = extractvalue { ptr, i32 } %565, 0
  store ptr %566, ptr %5, align 8
  %567 = extractvalue { ptr, i32 } %565, 1
  store i32 %567, ptr %6, align 4
  br label %679

568:                                              ; preds = %132, %130
  %569 = landingpad { ptr, i32 }
          cleanup
  %570 = extractvalue { ptr, i32 } %569, 0
  store ptr %570, ptr %5, align 8
  %571 = extractvalue { ptr, i32 } %569, 1
  store i32 %571, ptr %6, align 4
  br label %678

572:                                              ; preds = %134
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %5, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %6, align 4
  br label %677

576:                                              ; preds = %138, %136
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %5, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %6, align 4
  br label %676

580:                                              ; preds = %140
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %5, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %6, align 4
  br label %675

584:                                              ; preds = %142
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %5, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %6, align 4
  br label %674

588:                                              ; preds = %151, %149, %147, %144
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %5, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %6, align 4
  br label %673

592:                                              ; preds = %153
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %5, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %6, align 4
  br label %672

596:                                              ; preds = %161, %159, %157, %155
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %5, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %6, align 4
  br label %671

600:                                              ; preds = %163
  %601 = landingpad { ptr, i32 }
          cleanup
  %602 = extractvalue { ptr, i32 } %601, 0
  store ptr %602, ptr %5, align 8
  %603 = extractvalue { ptr, i32 } %601, 1
  store i32 %603, ptr %6, align 4
  br label %670

604:                                              ; preds = %165
  %605 = landingpad { ptr, i32 }
          cleanup
  %606 = extractvalue { ptr, i32 } %605, 0
  store ptr %606, ptr %5, align 8
  %607 = extractvalue { ptr, i32 } %605, 1
  store i32 %607, ptr %6, align 4
  br label %669

608:                                              ; preds = %167
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %5, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %6, align 4
  br label %668

612:                                              ; preds = %169
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %5, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %6, align 4
  br label %667

616:                                              ; preds = %171
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %5, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %6, align 4
  br label %666

620:                                              ; preds = %177, %175, %173
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %5, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %6, align 4
  br label %665

624:                                              ; preds = %179
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %5, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %6, align 4
  br label %664

628:                                              ; preds = %183, %181
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %5, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %6, align 4
  br label %663

632:                                              ; preds = %188, %186
  %633 = landingpad { ptr, i32 }
          cleanup
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %5, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %6, align 4
  br label %662

636:                                              ; preds = %213, %211
  %637 = landingpad { ptr, i32 }
          cleanup
  %638 = extractvalue { ptr, i32 } %637, 0
  store ptr %638, ptr %5, align 8
  %639 = extractvalue { ptr, i32 } %637, 1
  store i32 %639, ptr %6, align 4
  br label %661

640:                                              ; preds = %215
  %641 = landingpad { ptr, i32 }
          cleanup
  %642 = extractvalue { ptr, i32 } %641, 0
  store ptr %642, ptr %5, align 8
  %643 = extractvalue { ptr, i32 } %641, 1
  store i32 %643, ptr %6, align 4
  %644 = load i1, ptr %10, align 1
  br i1 %644, label %645, label %648

645:                                              ; preds = %640
  %646 = load ptr, ptr %8, align 8
  %647 = load ptr, ptr %9, align 8
  call void @_ZdlPv12ImNewWrapperS_(ptr noundef %646, ptr noundef %647) #9
  br label %648

648:                                              ; preds = %645, %640
  br label %661

649:                                              ; preds = %217
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %5, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  br label %661

653:                                              ; preds = %265
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %5, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  br label %661

657:                                              ; preds = %397
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %5, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  br label %661

661:                                              ; preds = %657, %653, %649, %648, %636
  call void @_ZN8ImVectorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %189) #9
  br label %662

662:                                              ; preds = %661, %632
  call void @_ZN16ImGuiIDStackToolD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %185) #9
  br label %663

663:                                              ; preds = %662, %628
  call void @_ZN14ImGuiTextIndexD2Ev(ptr noundef nonnull align 8 dereferenceable(20) %180) #9
  br label %664

664:                                              ; preds = %663, %624
  call void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #9
  br label %665

665:                                              ; preds = %664, %620
  call void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #9
  br label %666

666:                                              ; preds = %665, %616
  call void @_ZN8ImVectorI16ImGuiContextHookED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %170) #9
  br label %667

667:                                              ; preds = %666, %612
  call void @_ZN13ImChunkStreamI18ImGuiTableSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %168) #9
  br label %668

668:                                              ; preds = %667, %608
  call void @_ZN13ImChunkStreamI19ImGuiWindowSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %166) #9
  br label %669

669:                                              ; preds = %668, %604
  call void @_ZN8ImVectorI20ImGuiSettingsHandlerED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %164) #9
  br label %670

670:                                              ; preds = %669, %600
  call void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %162) #9
  br label %671

671:                                              ; preds = %670, %596
  call void @_ZN8ImVectorIjED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154) #9
  br label %672

672:                                              ; preds = %671, %592
  call void @_ZN8ImVectorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #9
  br label %673

673:                                              ; preds = %672, %588
  call void @_ZN6ImFontD1Ev(ptr noundef nonnull align 8 dereferenceable(118) %143) #9
  br label %674

674:                                              ; preds = %673, %584
  call void @_ZN30ImGuiInputTextDeactivatedStateD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141) #9
  br label %675

675:                                              ; preds = %674, %580
  call void @_ZN19ImGuiInputTextStateD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %139) #9
  br label %676

676:                                              ; preds = %675, %576
  call void @_ZN6ImPoolI21ImGuiMultiSelectStateED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %135) #9
  br label %677

677:                                              ; preds = %676, %572
  call void @_ZN8ImVectorI24ImGuiMultiSelectTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %133) #9
  br label %678

678:                                              ; preds = %677, %568
  call void @_ZN8ImVectorI20ImGuiShrinkWidthItemED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %129) #9
  br label %679

679:                                              ; preds = %678, %564
  call void @_ZN8ImVectorI15ImGuiPtrOrIndexED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %127) #9
  br label %680

680:                                              ; preds = %679, %560
  call void @_ZN6ImPoolI11ImGuiTabBarED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %125) #9
  br label %681

681:                                              ; preds = %680, %556
  call void @_ZN8ImVectorI13ImDrawChannelED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %123) #9
  br label %682

682:                                              ; preds = %681, %552
  call void @_ZN8ImVectorIfED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %121) #9
  br label %683

683:                                              ; preds = %682, %548
  call void @_ZN6ImPoolI10ImGuiTableED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %119) #9
  br label %684

684:                                              ; preds = %683, %544
  call void @_ZN8ImVectorI18ImGuiTableTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117) #9
  br label %685

685:                                              ; preds = %684, %540
  call void @_ZN8ImVectorI20ImGuiListClipperDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %115) #9
  br label %686

686:                                              ; preds = %685, %536
  call void @_ZN8ImVectorIhED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %113) #9
  br label %687

687:                                              ; preds = %686, %532
  call void @_ZN8ImVectorI19ImGuiFocusScopeDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87) #9
  br label %688

688:                                              ; preds = %687, %528
  call void @_ZN8ImVectorIP14ImGuiViewportPED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85) #9
  br label %689

689:                                              ; preds = %688, %524
  call void @_ZN8ImVectorI22ImGuiTreeNodeStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83) #9
  br label %690

690:                                              ; preds = %689, %520
  call void @_ZN8ImVectorI14ImGuiPopupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %81) #9
  br label %691

691:                                              ; preds = %690, %516
  call void @_ZN8ImVectorI14ImGuiPopupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79) #9
  br label %692

692:                                              ; preds = %691, %512
  call void @_ZN8ImVectorI14ImGuiGroupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77) #9
  br label %693

693:                                              ; preds = %692, %508
  call void @_ZN8ImVectorIiED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #9
  br label %694

694:                                              ; preds = %693, %504
  call void @_ZN8ImVectorI19ImGuiFocusScopeDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #9
  br label %695

695:                                              ; preds = %694, %500
  call void @_ZN8ImVectorIP6ImFontED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #9
  br label %696

696:                                              ; preds = %695, %496
  call void @_ZN8ImVectorI13ImGuiStyleModED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #9
  br label %697

697:                                              ; preds = %696, %492
  call void @_ZN8ImVectorI13ImGuiColorModED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %67) #9
  br label %698

698:                                              ; preds = %697, %488
  call void @_ZN20ImGuiKeyRoutingTableD2Ev(ptr noundef nonnull align 8 dereferenceable(344) %59) #9
  br label %699

699:                                              ; preds = %698, %484
  call void @_ZN12ImGuiStorageD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #9
  br label %700

700:                                              ; preds = %699, %480
  call void @_ZN8ImVectorI20ImGuiWindowStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32) #9
  br label %701

701:                                              ; preds = %700, %476
  call void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #9
  br label %702

702:                                              ; preds = %701, %472
  call void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #9
  br label %703

703:                                              ; preds = %702, %468
  call void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #9
  br label %704

704:                                              ; preds = %703, %464
  call void @_ZN8ImVectorI15ImGuiInputEventED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %24) #9
  br label %705

705:                                              ; preds = %704, %460
  call void @_ZN8ImVectorI15ImGuiInputEventED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #9
  br label %706

706:                                              ; preds = %705, %456
  call void @_ZN20ImDrawListSharedDataD2Ev(ptr noundef nonnull align 8 dereferenceable(532) %20) #9
  br label %707

707:                                              ; preds = %706, %452
  call void @_ZN7ImGuiIOD2Ev(ptr noundef nonnull align 8 dereferenceable(2976) %15) #9
  br label %708

708:                                              ; preds = %707
  %709 = load ptr, ptr %5, align 8
  %710 = load i32, ptr %6, align 4
  %711 = insertvalue { ptr, i32 } poison, ptr %709, 0
  %712 = insertvalue { ptr, i32 } %711, i32 %710, 1
  resume { ptr, i32 } %712
}

declare void @_ZN20ImDrawListSharedDataC1Ev(ptr noundef nonnull align 8 dereferenceable(532)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiInputEventEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiWindowStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN12ImGuiStorageC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10ImBitArrayILi154ELin512EEC2Ev(ptr noundef nonnull align 4 dereferenceable(20)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN17ImGuiKeyOwnerDataC2Ev(ptr noundef nonnull align 4 dereferenceable(10)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20ImGuiKeyRoutingTableC2Ev(ptr noundef nonnull align 8 dereferenceable(344)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN17ImGuiNextItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(52)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN17ImGuiLastItemDataC2Ev(ptr noundef nonnull align 4 dereferenceable(80)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ImGuiNextWindowDataC2Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiColorModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiStyleModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP6ImFontEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI19ImGuiFocusScopeDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIiEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiGroupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiPopupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI22ImGuiTreeNodeStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP14ImGuiViewportPEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12ImGuiPayloadC2Ev(ptr noundef nonnull align 8 dereferenceable(59)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIhEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiListClipperDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI18ImGuiTableTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImPoolI10ImGuiTableEC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIfEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImDrawChannelEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImPoolI11ImGuiTabBarEC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiPtrOrIndexEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiShrinkWidthItemEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ImGuiBoxSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(100)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI24ImGuiMultiSelectTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImPoolI21ImGuiMultiSelectStateEC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

declare void @_ZN19ImGuiInputTextStateC1Ev(ptr noundef nonnull align 8 dereferenceable(116)) unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN30ImGuiInputTextDeactivatedStateC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4 align 2

declare void @_ZN6ImFontC1Ev(ptr noundef nonnull align 8 dereferenceable(118)) unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN21ImGuiComboPreviewDataC2Ev(ptr noundef nonnull align 4 dereferenceable(48)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIjEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN22ImGuiTypingSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(101)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20ImGuiPlatformImeDataC2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiSettingsHandlerEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN13ImChunkStreamI19ImGuiWindowSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN13ImChunkStreamI18ImGuiTableSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI16ImGuiContextHookEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN23ImGuiErrorRecoveryStateC2Ev(ptr noundef nonnull align 2 dereferenceable(22)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN14ImGuiTextIndexC2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN18ImGuiMetricsConfigC2Ev(ptr noundef nonnull align 4 dereferenceable(28)) unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16ImGuiIDStackToolC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN19ImGuiDebugAllocInfoC2Ev(ptr noundef nonnull align 4 dereferenceable(60)) unnamed_addr #0 align 2

declare void @_ZN11ImFontAtlasC1Ev(ptr noundef nonnull align 8 dereferenceable(1180)) unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN16ImGuiIDStackToolD2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN14ImGuiTextIndexD2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI16ImGuiContextHookED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13ImChunkStreamI18ImGuiTableSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13ImChunkStreamI19ImGuiWindowSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiSettingsHandlerED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIjED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: nounwind
declare void @_ZN6ImFontD1Ev(ptr noundef nonnull align 8 dereferenceable(118)) unnamed_addr #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN30ImGuiInputTextDeactivatedStateD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #5 align 2

; Function Attrs: nounwind
declare void @_ZN19ImGuiInputTextStateD1Ev(ptr noundef nonnull align 8 dereferenceable(116)) unnamed_addr #8

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImPoolI21ImGuiMultiSelectStateED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI24ImGuiMultiSelectTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiShrinkWidthItemED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiPtrOrIndexED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImPoolI11ImGuiTabBarED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImDrawChannelED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIfED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImPoolI10ImGuiTableED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI18ImGuiTableTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiListClipperDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIhED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI19ImGuiFocusScopeDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP14ImGuiViewportPED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI22ImGuiTreeNodeStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiPopupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiGroupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIiED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP6ImFontED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiStyleModED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiColorModED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN20ImGuiKeyRoutingTableD2Ev(ptr noundef nonnull align 8 dereferenceable(344)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN12ImGuiStorageD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiWindowStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiInputEventED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN20ImDrawListSharedDataD2Ev(ptr noundef nonnull align 8 dereferenceable(532)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7ImGuiIOD2Ev(ptr noundef nonnull align 8 dereferenceable(2976)) unnamed_addr #5 align 2

declare void @_ZN10ImGuiStyleC1Ev(ptr)

declare void @_ZN7ImGuiIOC1Ev(ptr)

declare void @_ZN15ImGuiPlatformIOC1Ev(ptr)

attributes #0 = { mustprogress 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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { mustprogress 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 #5 = { inlinehint mustprogress 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 #6 = { "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 #7 = { inlinehint mustprogress 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 #8 = { nounwind "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 #9 = { 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++ TBAA"}
!9 = !{!10, !6, i64 224}
!10 = !{!"_ZTS12ImGuiContext", !11, i64 0, !11, i64 1, !12, i64 8, !19, i64 2984, !20, i64 3056, !6, i64 4216, !15, i64 4224, !15, i64 4228, !15, i64 4232, !15, i64 4236, !22, i64 4240, !25, i64 4776, !13, i64 4784, !13, i64 4788, !13, i64 4792, !13, i64 4796, !11, i64 4800, !11, i64 4801, !11, i64 4802, !11, i64 4803, !6, i64 4808, !7, i64 4816, !26, i64 4832, !26, i64 4848, !16, i64 4864, !13, i64 4868, !27, i64 4872, !27, i64 4888, !27, i64 4904, !28, i64 4920, !29, i64 4936, !13, i64 4952, !14, i64 4956, !13, i64 4964, !6, i64 4968, !6, i64 4976, !6, i64 4984, !6, i64 4992, !6, i64 5000, !6, i64 5008, !14, i64 5016, !13, i64 5024, !13, i64 5028, !15, i64 5032, !14, i64 5036, !14, i64 5044, !13, i64 5052, !13, i64 5056, !13, i64 5060, !13, i64 5064, !13, i64 5068, !15, i64 5072, !15, i64 5076, !11, i64 5080, !11, i64 5081, !11, i64 5082, !13, i64 5084, !13, i64 5088, !15, i64 5092, !11, i64 5096, !11, i64 5097, !11, i64 5098, !11, i64 5099, !11, i64 5100, !11, i64 5101, !11, i64 5102, !13, i64 5103, !14, i64 5104, !6, i64 5112, !31, i64 5120, !13, i64 5124, !32, i64 5128, !33, i64 5140, !13, i64 5148, !15, i64 5152, !25, i64 5160, !25, i64 5168, !25, i64 5176, !34, i64 5184, !7, i64 5204, !35, i64 7056, !13, i64 7400, !11, i64 7404, !13, i64 7408, !13, i64 7412, !13, i64 7416, !13, i64 7420, !37, i64 7424, !39, i64 7480, !41, i64 7560, !11, i64 7672, !13, i64 7676, !42, i64 7680, !43, i64 7696, !44, i64 7712, !45, i64 7728, !46, i64 7744, !47, i64 7760, !48, i64 7776, !48, i64 7792, !49, i64 7808, !50, i64 7824, !11, i64 7840, !11, i64 7841, !11, i64 7842, !11, i64 7843, !13, i64 7844, !6, i64 7848, !13, i64 7856, !51, i64 7860, !13, i64 7864, !13, i64 7868, !13, i64 7872, !13, i64 7876, !45, i64 7880, !13, i64 7896, !15, i64 7900, !13, i64 7904, !13, i64 7908, !31, i64 7912, !38, i64 7920, !7, i64 7928, !11, i64 7929, !11, i64 7930, !11, i64 7931, !52, i64 7936, !11, i64 7992, !11, i64 7993, !11, i64 7994, !13, i64 7996, !13, i64 8000, !13, i64 8004, !21, i64 8008, !21, i64 8012, !21, i64 8016, !40, i64 8020, !40, i64 8036, !13, i64 8052, !13, i64 8056, !13, i64 8060, !52, i64 8064, !52, i64 8120, !52, i64 8176, !52, i64 8232, !13, i64 8288, !13, i64 8292, !13, i64 8296, !13, i64 8300, !11, i64 8304, !11, i64 8305, !13, i64 8308, !13, i64 8312, !6, i64 8320, !6, i64 8328, !6, i64 8336, !15, i64 8344, !15, i64 8348, !11, i64 8352, !53, i64 8356, !14, i64 8360, !14, i64 8368, !15, i64 8376, !11, i64 8380, !11, i64 8381, !11, i64 8382, !13, i64 8384, !13, i64 8388, !13, i64 8392, !54, i64 8400, !40, i64 8464, !40, i64 8480, !13, i64 8496, !13, i64 8500, !15, i64 8504, !13, i64 8508, !13, i64 8512, !13, i64 8516, !13, i64 8520, !55, i64 8528, !7, i64 8544, !13, i64 8560, !56, i64 8568, !6, i64 8584, !13, i64 8592, !13, i64 8596, !57, i64 8600, !58, i64 8616, !60, i64 8656, !61, i64 8672, !6, i64 8688, !62, i64 8696, !64, i64 8736, !65, i64 8752, !66, i64 8768, !6, i64 8872, !13, i64 8880, !67, i64 8888, !68, i64 8904, !13, i64 8944, !13, i64 8948, !15, i64 8952, !15, i64 8956, !13, i64 8960, !13, i64 8964, !13, i64 8968, !15, i64 8972, !14, i64 8976, !70, i64 8984, !72, i64 9104, !73, i64 9128, !13, i64 9248, !33, i64 9252, !13, i64 9260, !13, i64 9264, !13, i64 9268, !13, i64 9272, !13, i64 9276, !15, i64 9280, !15, i64 9284, !13, i64 9288, !23, i64 9292, !75, i64 9308, !40, i64 9356, !11, i64 9372, !17, i64 9374, !15, i64 9376, !15, i64 9380, !15, i64 9384, !11, i64 9388, !11, i64 9389, !15, i64 9392, !15, i64 9396, !15, i64 9400, !17, i64 9404, !17, i64 9406, !6, i64 9408, !71, i64 9416, !76, i64 9432, !77, i64 9448, !79, i64 9552, !79, i64 9568, !11, i64 9584, !15, i64 9588, !80, i64 9592, !81, i64 9608, !82, i64 9624, !83, i64 9640, !84, i64 9656, !13, i64 9672, !7, i64 9680, !11, i64 9760, !13, i64 9764, !6, i64 9768, !6, i64 9776, !80, i64 9784, !6, i64 9800, !6, i64 9808, !15, i64 9816, !11, i64 9820, !13, i64 9824, !13, i64 9828, !13, i64 9832, !6, i64 9840, !6, i64 9848, !14, i64 9856, !11, i64 9864, !13, i64 9868, !85, i64 9872, !6, i64 9896, !13, i64 9904, !13, i64 9908, !80, i64 9912, !86, i64 9928, !13, i64 9952, !13, i64 9956, !7, i64 9960, !7, i64 9961, !11, i64 9962, !13, i64 9964, !7, i64 9968, !11, i64 9969, !7, i64 9970, !13, i64 9972, !15, i64 9976, !23, i64 9980, !87, i64 9996, !88, i64 10024, !90, i64 10064, !7, i64 10124, !13, i64 10364, !13, i64 10368, !15, i64 10372, !13, i64 10376, !13, i64 10380, !13, i64 10384, !71, i64 10392, !7, i64 10408}
!11 = !{!"bool", !7, i64 0}
!12 = !{!"_ZTS7ImGuiIO", !13, i64 0, !13, i64 4, !14, i64 8, !15, i64 16, !15, i64 20, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !15, i64 56, !11, i64 60, !6, i64 64, !14, i64 72, !11, i64 80, !11, i64 81, !11, i64 82, !11, i64 83, !11, i64 84, !11, i64 85, !11, i64 86, !11, i64 87, !11, i64 88, !11, i64 89, !11, i64 90, !11, i64 91, !11, i64 92, !11, i64 93, !11, i64 94, !11, i64 95, !11, i64 96, !15, i64 100, !15, i64 104, !15, i64 108, !15, i64 112, !15, i64 116, !15, i64 120, !11, i64 124, !11, i64 125, !11, i64 126, !11, i64 127, !11, i64 128, !11, i64 129, !11, i64 130, !11, i64 131, !11, i64 132, !11, i64 133, !6, i64 136, !6, i64 144, !6, i64 152, !6, i64 160, !6, i64 168, !11, i64 176, !11, i64 177, !11, i64 178, !11, i64 179, !11, i64 180, !11, i64 181, !11, i64 182, !15, i64 184, !13, i64 188, !13, i64 192, !13, i64 196, !13, i64 200, !14, i64 204, !6, i64 216, !14, i64 224, !7, i64 232, !15, i64 240, !15, i64 244, !16, i64 248, !11, i64 252, !11, i64 253, !11, i64 254, !11, i64 255, !13, i64 256, !7, i64 260, !11, i64 2724, !14, i64 2728, !7, i64 2736, !7, i64 2776, !7, i64 2816, !7, i64 2821, !7, i64 2826, !7, i64 2836, !7, i64 2846, !7, i64 2851, !7, i64 2856, !11, i64 2861, !11, i64 2862, !7, i64 2864, !7, i64 2884, !7, i64 2904, !15, i64 2924, !11, i64 2928, !11, i64 2929, !17, i64 2930, !18, i64 2936, !6, i64 2952, !6, i64 2960, !6, i64 2968}
!13 = !{!"int", !7, i64 0}
!14 = !{!"_ZTS6ImVec2", !15, i64 0, !15, i64 4}
!15 = !{!"float", !7, i64 0}
!16 = !{!"_ZTS16ImGuiMouseSource", !7, i64 0}
!17 = !{!"short", !7, i64 0}
!18 = !{!"_ZTS8ImVectorItE", !13, i64 0, !13, i64 4, !6, i64 8}
!19 = !{!"_ZTS15ImGuiPlatformIO", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !17, i64 56, !6, i64 64}
!20 = !{!"_ZTS10ImGuiStyle", !15, i64 0, !15, i64 4, !14, i64 8, !15, i64 16, !15, i64 20, !14, i64 24, !14, i64 32, !21, i64 40, !15, i64 44, !15, i64 48, !15, i64 52, !15, i64 56, !14, i64 60, !15, i64 68, !15, i64 72, !14, i64 76, !14, i64 84, !14, i64 92, !14, i64 100, !15, i64 108, !15, i64 112, !15, i64 116, !15, i64 120, !15, i64 124, !15, i64 128, !15, i64 132, !15, i64 136, !15, i64 140, !15, i64 144, !15, i64 148, !15, i64 152, !15, i64 156, !14, i64 160, !21, i64 168, !14, i64 172, !14, i64 180, !15, i64 188, !14, i64 192, !14, i64 200, !14, i64 208, !14, i64 216, !15, i64 224, !11, i64 228, !11, i64 229, !11, i64 230, !15, i64 232, !15, i64 236, !7, i64 240, !15, i64 1136, !15, i64 1140, !15, i64 1144, !13, i64 1148, !13, i64 1152}
!21 = !{!"_ZTS8ImGuiDir", !7, i64 0}
!22 = !{!"_ZTS20ImDrawListSharedData", !14, i64 0, !6, i64 8, !6, i64 16, !15, i64 24, !15, i64 28, !15, i64 32, !15, i64 36, !23, i64 40, !13, i64 56, !24, i64 64, !7, i64 80, !15, i64 464, !7, i64 468}
!23 = !{!"_ZTS6ImVec4", !15, i64 0, !15, i64 4, !15, i64 8, !15, i64 12}
!24 = !{!"_ZTS8ImVectorI6ImVec2E", !13, i64 0, !13, i64 4, !6, i64 8}
!25 = !{!"double", !7, i64 0}
!26 = !{!"_ZTS8ImVectorI15ImGuiInputEventE", !13, i64 0, !13, i64 4, !6, i64 8}
!27 = !{!"_ZTS8ImVectorIP11ImGuiWindowE", !13, i64 0, !13, i64 4, !6, i64 8}
!28 = !{!"_ZTS8ImVectorI20ImGuiWindowStackDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!29 = !{!"_ZTS12ImGuiStorage", !30, i64 0}
!30 = !{!"_ZTS8ImVectorI16ImGuiStoragePairE", !13, i64 0, !13, i64 4, !6, i64 8}
!31 = !{!"_ZTS16ImGuiInputSource", !7, i64 0}
!32 = !{!"_ZTS24ImGuiDeactivatedItemData", !13, i64 0, !13, i64 4, !11, i64 8, !11, i64 9}
!33 = !{!"_ZTS20ImGuiDataTypeStorage", !7, i64 0}
!34 = !{!"_ZTS10ImBitArrayILi154ELin512EE", !7, i64 0}
!35 = !{!"_ZTS20ImGuiKeyRoutingTable", !7, i64 0, !36, i64 312, !36, i64 328}
!36 = !{!"_ZTS8ImVectorI19ImGuiKeyRoutingDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!37 = !{!"_ZTS17ImGuiNextItemData", !13, i64 0, !13, i64 4, !13, i64 8, !38, i64 16, !15, i64 24, !13, i64 28, !13, i64 32, !11, i64 36, !7, i64 37, !33, i64 38, !13, i64 48}
!38 = !{!"long long", !7, i64 0}
!39 = !{!"_ZTS17ImGuiLastItemData", !13, i64 0, !13, i64 4, !13, i64 8, !40, i64 12, !40, i64 28, !40, i64 44, !40, i64 60, !13, i64 76}
!40 = !{!"_ZTS6ImRect", !14, i64 0, !14, i64 8}
!41 = !{!"_ZTS19ImGuiNextWindowData", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12, !14, i64 16, !14, i64 24, !14, i64 32, !14, i64 40, !14, i64 48, !13, i64 56, !11, i64 60, !40, i64 64, !6, i64 80, !6, i64 88, !15, i64 96, !14, i64 100, !13, i64 108}
!42 = !{!"_ZTS8ImVectorI13ImGuiColorModE", !13, i64 0, !13, i64 4, !6, i64 8}
!43 = !{!"_ZTS8ImVectorI13ImGuiStyleModE", !13, i64 0, !13, i64 4, !6, i64 8}
!44 = !{!"_ZTS8ImVectorIP6ImFontE", !13, i64 0, !13, i64 4, !6, i64 8}
!45 = !{!"_ZTS8ImVectorI19ImGuiFocusScopeDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!46 = !{!"_ZTS8ImVectorIiE", !13, i64 0, !13, i64 4, !6, i64 8}
!47 = !{!"_ZTS8ImVectorI14ImGuiGroupDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!48 = !{!"_ZTS8ImVectorI14ImGuiPopupDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!49 = !{!"_ZTS8ImVectorI22ImGuiTreeNodeStackDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!50 = !{!"_ZTS8ImVectorIP14ImGuiViewportPE", !13, i64 0, !13, i64 4, !6, i64 8}
!51 = !{!"_ZTS13ImGuiNavLayer", !7, i64 0}
!52 = !{!"_ZTS16ImGuiNavItemData", !6, i64 0, !13, i64 8, !13, i64 12, !40, i64 16, !13, i64 32, !15, i64 36, !15, i64 40, !15, i64 44, !38, i64 48}
!53 = !{!"_ZTS8ImGuiKey", !7, i64 0}
!54 = !{!"_ZTS12ImGuiPayload", !6, i64 0, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !7, i64 24, !11, i64 57, !11, i64 58}
!55 = !{!"_ZTS8ImVectorIhE", !13, i64 0, !13, i64 4, !6, i64 8}
!56 = !{!"_ZTS8ImVectorI20ImGuiListClipperDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!57 = !{!"_ZTS8ImVectorI18ImGuiTableTempDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!58 = !{!"_ZTS6ImPoolI10ImGuiTableE", !59, i64 0, !29, i64 16, !13, i64 32, !13, i64 36}
!59 = !{!"_ZTS8ImVectorI10ImGuiTableE", !13, i64 0, !13, i64 4, !6, i64 8}
!60 = !{!"_ZTS8ImVectorIfE", !13, i64 0, !13, i64 4, !6, i64 8}
!61 = !{!"_ZTS8ImVectorI13ImDrawChannelE", !13, i64 0, !13, i64 4, !6, i64 8}
!62 = !{!"_ZTS6ImPoolI11ImGuiTabBarE", !63, i64 0, !29, i64 16, !13, i64 32, !13, i64 36}
!63 = !{!"_ZTS8ImVectorI11ImGuiTabBarE", !13, i64 0, !13, i64 4, !6, i64 8}
!64 = !{!"_ZTS8ImVectorI15ImGuiPtrOrIndexE", !13, i64 0, !13, i64 4, !6, i64 8}
!65 = !{!"_ZTS8ImVectorI20ImGuiShrinkWidthItemE", !13, i64 0, !13, i64 4, !6, i64 8}
!66 = !{!"_ZTS19ImGuiBoxSelectState", !13, i64 0, !11, i64 4, !11, i64 5, !11, i64 6, !11, i64 7, !11, i64 8, !13, i64 9, !14, i64 12, !14, i64 20, !14, i64 28, !6, i64 40, !11, i64 48, !40, i64 52, !40, i64 68, !40, i64 84}
!67 = !{!"_ZTS8ImVectorI24ImGuiMultiSelectTempDataE", !13, i64 0, !13, i64 4, !6, i64 8}
!68 = !{!"_ZTS6ImPoolI21ImGuiMultiSelectStateE", !69, i64 0, !29, i64 16, !13, i64 32, !13, i64 36}
!69 = !{!"_ZTS8ImVectorI21ImGuiMultiSelectStateE", !13, i64 0, !13, i64 4, !6, i64 8}
!70 = !{!"_ZTS19ImGuiInputTextState", !6, i64 0, !6, i64 8, !13, i64 16, !13, i64 20, !13, i64 24, !6, i64 32, !71, i64 40, !71, i64 56, !71, i64 72, !13, i64 88, !14, i64 92, !15, i64 100, !11, i64 104, !11, i64 105, !11, i64 106, !11, i64 107, !13, i64 108, !13, i64 112}
!71 = !{!"_ZTS8ImVectorIcE", !13, i64 0, !13, i64 4, !6, i64 8}
!72 = !{!"_ZTS30ImGuiInputTextDeactivatedState", !13, i64 0, !71, i64 8}
!73 = !{!"_ZTS6ImFont", !60, i64 0, !15, i64 16, !15, i64 20, !18, i64 24, !74, i64 40, !6, i64 56, !6, i64 64, !6, i64 72, !17, i64 80, !17, i64 82, !17, i64 84, !17, i64 86, !15, i64 88, !15, i64 92, !11, i64 96, !15, i64 100, !15, i64 104, !15, i64 108, !13, i64 112, !7, i64 116}
!74 = !{!"_ZTS8ImVectorI11ImFontGlyphE", !13, i64 0, !13, i64 4, !6, i64 8}
!75 = !{!"_ZTS21ImGuiComboPreviewData", !40, i64 0, !14, i64 16, !14, i64 24, !14, i64 32, !15, i64 40, !13, i64 44}
!76 = !{!"_ZTS8ImVectorIjE", !13, i64 0, !13, i64 4, !6, i64 8}
!77 = !{!"_ZTS22ImGuiTypingSelectState", !78, i64 0, !7, i64 24, !13, i64 88, !13, i64 92, !15, i64 96, !11, i64 100}
!78 = !{!"_ZTS24ImGuiTypingSelectRequest", !13, i64 0, !13, i64 4, !6, i64 8, !11, i64 16, !11, i64 17, !7, i64 18}
!79 = !{!"_ZTS20ImGuiPlatformImeData", !11, i64 0, !14, i64 4, !15, i64 12}
!80 = !{!"_ZTS15ImGuiTextBuffer", !71, i64 0}
!81 = !{!"_ZTS8ImVectorI20ImGuiSettingsHandlerE", !13, i64 0, !13, i64 4, !6, i64 8}
!82 = !{!"_ZTS13ImChunkStreamI19ImGuiWindowSettingsE", !71, i64 0}
!83 = !{!"_ZTS13ImChunkStreamI18ImGuiTableSettingsE", !71, i64 0}
!84 = !{!"_ZTS8ImVectorI16ImGuiContextHookE", !13, i64 0, !13, i64 4, !6, i64 8}
!85 = !{!"_ZTS23ImGuiErrorRecoveryState", !17, i64 0, !17, i64 2, !17, i64 4, !17, i64 6, !17, i64 8, !17, i64 10, !17, i64 12, !17, i64 14, !17, i64 16, !17, i64 18, !17, i64 20}
!86 = !{!"_ZTS14ImGuiTextIndex", !46, i64 0, !13, i64 16}
!87 = !{!"_ZTS18ImGuiMetricsConfig", !11, i64 0, !11, i64 1, !11, i64 2, !11, i64 3, !11, i64 4, !11, i64 5, !11, i64 6, !11, i64 7, !11, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !13, i64 24}
!88 = !{!"_ZTS16ImGuiIDStackTool", !13, i64 0, !13, i64 4, !13, i64 8, !89, i64 16, !11, i64 32, !15, i64 36}
!89 = !{!"_ZTS8ImVectorI19ImGuiStackLevelInfoE", !13, i64 0, !13, i64 4, !6, i64 8}
!90 = !{!"_ZTS19ImGuiDebugAllocInfo", !13, i64 0, !13, i64 4, !17, i64 8, !7, i64 12}
!91 = !{!10, !6, i64 8984}
!92 = !{!10, !11, i64 0}
!93 = !{!10, !11, i64 1}
!94 = !{!10, !6, i64 4216}
!95 = !{!10, !15, i64 4236}
!96 = !{!10, !15, i64 4232}
!97 = !{!10, !15, i64 4228}
!98 = !{!10, !15, i64 4224}
!99 = !{!10, !6, i64 56}
!100 = !{!10, !25, i64 4776}
!101 = !{!10, !13, i64 4784}
!102 = !{!10, !13, i64 4792}
!103 = !{!10, !13, i64 4788}
!104 = !{!10, !13, i64 4796}
!105 = !{!10, !11, i64 4801}
!106 = !{!10, !11, i64 4800}
!107 = !{!10, !11, i64 4802}
!108 = !{!10, !11, i64 4803}
!109 = !{!10, !6, i64 4808}
!110 = !{!10, !16, i64 4864}
!111 = !{!10, !13, i64 4868}
!112 = !{!10, !13, i64 4952}
!113 = !{!10, !6, i64 4968}
!114 = !{!10, !6, i64 4976}
!115 = !{!10, !6, i64 4984}
!116 = !{!10, !6, i64 4992}
!117 = !{!10, !6, i64 5000}
!118 = !{!10, !6, i64 5008}
!119 = !{!10, !13, i64 5028}
!120 = !{!10, !13, i64 5024}
!121 = !{!10, !15, i64 5032}
!122 = !{!10, !13, i64 5052}
!123 = !{!10, !13, i64 5056}
!124 = !{!10, !13, i64 5064}
!125 = !{!10, !13, i64 5060}
!126 = !{!10, !13, i64 5068}
!127 = !{!10, !11, i64 5080}
!128 = !{!10, !11, i64 5081}
!129 = !{!10, !15, i64 5076}
!130 = !{!10, !15, i64 5072}
!131 = !{!10, !11, i64 5082}
!132 = !{!10, !13, i64 5084}
!133 = !{!10, !13, i64 5088}
!134 = !{!10, !15, i64 5092}
!135 = !{!10, !11, i64 5096}
!136 = !{!10, !11, i64 5097}
!137 = !{!10, !11, i64 5098}
!138 = !{!10, !11, i64 5099}
!139 = !{!10, !11, i64 5100}
!140 = !{!10, !11, i64 5101}
!141 = !{!10, !11, i64 5102}
!142 = !{i64 0, i64 4, !143, i64 4, i64 4, !143}
!143 = !{!15, !15, i64 0}
!144 = !{!10, !6, i64 5112}
!145 = !{!10, !31, i64 5120}
!146 = !{!10, !13, i64 5124}
!147 = !{!10, !13, i64 5148}
!148 = !{!10, !15, i64 5152}
!149 = !{!10, !25, i64 5168}
!150 = !{!10, !25, i64 5160}
!151 = !{!10, !25, i64 5176}
!152 = !{!10, !13, i64 7400}
!153 = !{!10, !11, i64 7404}
!154 = !{!10, !13, i64 7412}
!155 = !{!10, !13, i64 7416}
!156 = !{!10, !11, i64 7672}
!157 = !{!10, !11, i64 7840}
!158 = !{!10, !11, i64 7841}
!159 = !{!10, !11, i64 7842}
!160 = !{!10, !11, i64 7843}
!161 = !{!10, !13, i64 7844}
!162 = !{!10, !6, i64 7848}
!163 = !{!10, !13, i64 7872}
!164 = !{!10, !13, i64 7868}
!165 = !{!10, !13, i64 7864}
!166 = !{!10, !13, i64 7856}
!167 = !{!10, !51, i64 7860}
!168 = !{!10, !13, i64 7904}
!169 = !{!10, !13, i64 7908}
!170 = !{!10, !13, i64 7876}
!171 = !{!10, !13, i64 7896}
!172 = !{!10, !15, i64 7900}
!173 = !{!10, !31, i64 7912}
!174 = !{!10, !38, i64 7920}
!175 = !{!10, !7, i64 7928}
!176 = !{!10, !11, i64 7929}
!177 = !{!10, !11, i64 7930}
!178 = !{!10, !11, i64 7931}
!179 = !{!10, !11, i64 7992}
!180 = !{!10, !11, i64 7993}
!181 = !{!10, !11, i64 7994}
!182 = !{!10, !13, i64 7996}
!183 = !{!10, !13, i64 8000}
!184 = !{!10, !13, i64 8004}
!185 = !{!10, !21, i64 8016}
!186 = !{!10, !21, i64 8012}
!187 = !{!10, !21, i64 8008}
!188 = !{!10, !13, i64 8052}
!189 = !{!10, !13, i64 8056}
!190 = !{!10, !13, i64 8060}
!191 = !{!10, !13, i64 8296}
!192 = !{!10, !13, i64 8292}
!193 = !{!10, !13, i64 8288}
!194 = !{!10, !13, i64 8300}
!195 = !{!10, !11, i64 8304}
!196 = !{!10, !11, i64 8305}
!197 = !{!10, !11, i64 96}
!198 = !{i8 0, i8 2}
!199 = !{}
!200 = !{!10, !13, i64 8308}
!201 = !{!10, !13, i64 8312}
!202 = !{!10, !6, i64 8336}
!203 = !{!10, !6, i64 8328}
!204 = !{!10, !6, i64 8320}
!205 = !{!10, !15, i64 8348}
!206 = !{!10, !15, i64 8344}
!207 = !{!10, !11, i64 8352}
!208 = !{!10, !53, i64 8356}
!209 = !{!10, !15, i64 8376}
!210 = !{!10, !11, i64 8382}
!211 = !{!10, !11, i64 8381}
!212 = !{!10, !11, i64 8380}
!213 = !{!10, !13, i64 8384}
!214 = !{!10, !13, i64 8388}
!215 = !{!10, !13, i64 8392}
!216 = !{!10, !13, i64 8496}
!217 = !{!10, !13, i64 8500}
!218 = !{!10, !15, i64 8504}
!219 = !{!10, !13, i64 8508}
!220 = !{!10, !13, i64 8512}
!221 = !{!10, !13, i64 8516}
!222 = !{!10, !13, i64 8520}
!223 = !{!10, !13, i64 8560}
!224 = !{!10, !6, i64 8584}
!225 = !{!10, !13, i64 8596}
!226 = !{!10, !6, i64 8688}
!227 = !{!10, !6, i64 8872}
!228 = !{!10, !13, i64 8880}
!229 = !{!10, !13, i64 8964}
!230 = !{!10, !13, i64 8960}
!231 = !{!10, !13, i64 8948}
!232 = !{!10, !13, i64 8944}
!233 = !{!10, !15, i64 8956}
!234 = !{!10, !15, i64 8952}
!235 = !{!10, !13, i64 8968}
!236 = !{!10, !15, i64 8972}
!237 = !{!10, !13, i64 9248}
!238 = !{!10, !13, i64 9264}
!239 = !{!10, !13, i64 9260}
!240 = !{!10, !13, i64 9268}
!241 = !{!10, !13, i64 9276}
!242 = !{!10, !13, i64 9272}
!243 = !{!10, !15, i64 9284}
!244 = !{!10, !15, i64 9280}
!245 = !{!10, !13, i64 9288}
!246 = !{!10, !11, i64 9372}
!247 = !{!10, !17, i64 9374}
!248 = !{!10, !15, i64 9376}
!249 = !{!10, !15, i64 9380}
!250 = !{!10, !15, i64 9384}
!251 = !{!10, !11, i64 9388}
!252 = !{!10, !11, i64 9389}
!253 = !{!10, !15, i64 9392}
!254 = !{!10, !15, i64 9396}
!255 = !{!10, !15, i64 9400}
!256 = !{!10, !17, i64 9404}
!257 = !{!10, !17, i64 9406}
!258 = !{!10, !6, i64 9408}
!259 = !{!10, !11, i64 9584}
!260 = !{!10, !15, i64 9588}
!261 = !{!10, !13, i64 9672}
!262 = !{!10, !11, i64 9760}
!263 = !{!10, !13, i64 9764}
!264 = !{!10, !6, i64 9768}
!265 = !{!10, !6, i64 9808}
!266 = !{!10, !6, i64 9800}
!267 = !{!10, !6, i64 9776}
!268 = !{!10, !15, i64 9816}
!269 = !{!10, !11, i64 9820}
!270 = !{!10, !13, i64 9824}
!271 = !{!10, !13, i64 9832}
!272 = !{!10, !13, i64 9828}
!273 = !{!10, !6, i64 9840}
!274 = !{!10, !6, i64 9848}
!275 = !{!10, !11, i64 9864}
!276 = !{!10, !13, i64 9868}
!277 = !{!10, !6, i64 9896}
!278 = !{!10, !13, i64 9904}
!279 = !{!10, !13, i64 9908}
!280 = !{!10, !13, i64 7420}
!281 = !{!10, !13, i64 9952}
!282 = !{!10, !13, i64 9956}
!283 = !{!10, !7, i64 9960}
!284 = !{!10, !7, i64 9961}
!285 = !{!10, !7, i64 9968}
!286 = !{!10, !11, i64 9969}
!287 = !{!10, !7, i64 9970}
!288 = !{!10, !13, i64 9972}
!289 = !{!10, !15, i64 9976}
!290 = !{!10, !13, i64 7676}
!291 = !{!10, !13, i64 4964}
!292 = !{!10, !13, i64 8592}
!293 = !{!10, !11, i64 9962}
!294 = !{!10, !13, i64 9964}
!295 = !{!10, !13, i64 7408}
!296 = !{!10, !13, i64 10368}
!297 = !{!10, !13, i64 10364}
!298 = !{!10, !15, i64 10372}
!299 = !{!10, !13, i64 10384}
!300 = !{!10, !13, i64 10380}
!301 = !{!10, !13, i64 10376}


; 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.ImVec2 = type { float, float }

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8), float noundef, float noundef) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN5ImGui8MemAllocEm(i64 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_Znwm12ImNewWrapperPv(i64 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZdlPv12ImNewWrapperS_(ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN12ImGuiContextC2EP11ImFontAtlas(ptr noundef nonnull align 8 dereferenceable(10472) %0, ptr noundef %1) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %struct.ImVec2, align 8
  %4 = alloca %struct.ImVec2, align 8
  %5 = alloca %struct.ImVec2, align 8
  %6 = getelementptr inbounds i8, ptr %0, i64 8
  tail call void @_ZN7ImGuiIOC1Ev(ptr noundef nonnull align 8 dereferenceable(2976) %6)
  %7 = getelementptr inbounds i8, ptr %0, i64 2984
  invoke void @_ZN15ImGuiPlatformIOC1Ev(ptr noundef nonnull align 8 dereferenceable(72) %7)
          to label %8 unwind label %248

8:                                                ; preds = %2
  %9 = getelementptr inbounds i8, ptr %0, i64 3056
  invoke void @_ZN10ImGuiStyleC1Ev(ptr noundef nonnull align 4 dereferenceable(1156) %9)
          to label %10 unwind label %248

10:                                               ; preds = %8
  %11 = getelementptr inbounds i8, ptr %0, i64 4240
  invoke void @_ZN20ImDrawListSharedDataC1Ev(ptr noundef nonnull align 8 dereferenceable(532) %11)
          to label %12 unwind label %248

12:                                               ; preds = %10
  %13 = getelementptr inbounds i8, ptr %0, i64 4832
  tail call void @_ZN8ImVectorI15ImGuiInputEventEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13)
  %14 = getelementptr inbounds i8, ptr %0, i64 4848
  tail call void @_ZN8ImVectorI15ImGuiInputEventEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14)
  %15 = getelementptr inbounds i8, ptr %0, i64 4872
  tail call void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15)
  %16 = getelementptr inbounds i8, ptr %0, i64 4888
  tail call void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16)
  %17 = getelementptr inbounds i8, ptr %0, i64 4904
  tail call void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17)
  %18 = getelementptr inbounds i8, ptr %0, i64 4920
  tail call void @_ZN8ImVectorI20ImGuiWindowStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18)
  %19 = getelementptr inbounds i8, ptr %0, i64 4936
  invoke void @_ZN12ImGuiStorageC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19)
          to label %20 unwind label %250

20:                                               ; preds = %12
  %21 = getelementptr inbounds i8, ptr %0, i64 4956
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %21)
  %22 = getelementptr inbounds i8, ptr %0, i64 5016
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %22)
  %23 = getelementptr inbounds i8, ptr %0, i64 5036
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %23)
  %24 = getelementptr inbounds i8, ptr %0, i64 5044
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %24)
  %25 = getelementptr inbounds i8, ptr %0, i64 5104
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %25)
  %26 = getelementptr inbounds i8, ptr %0, i64 5184
  invoke void @_ZN10ImBitArrayILi154ELin512EEC2Ev(ptr noundef nonnull align 4 dereferenceable(20) %26)
          to label %.preheader unwind label %252

.preheader:                                       ; preds = %20, %.preheader
  %.idx = phi i64 [ %.add, %.preheader ], [ 5204, %20 ]
  %.ptr = getelementptr inbounds i8, ptr %0, i64 %.idx
  tail call void @_ZN17ImGuiKeyOwnerDataC2Ev(ptr noundef nonnull align 4 dereferenceable(10) %.ptr)
  %.add = add nuw nsw i64 %.idx, 12
  %27 = icmp eq i64 %.add, 7052
  br i1 %27, label %28, label %.preheader

28:                                               ; preds = %.preheader
  %29 = getelementptr inbounds i8, ptr %0, i64 7056
  invoke void @_ZN20ImGuiKeyRoutingTableC2Ev(ptr noundef nonnull align 8 dereferenceable(344) %29)
          to label %30 unwind label %252

30:                                               ; preds = %28
  %31 = getelementptr inbounds i8, ptr %0, i64 7424
  tail call void @_ZN17ImGuiNextItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(52) %31)
  %32 = getelementptr inbounds i8, ptr %0, i64 7480
  invoke void @_ZN17ImGuiLastItemDataC2Ev(ptr noundef nonnull align 4 dereferenceable(80) %32)
          to label %33 unwind label %254

33:                                               ; preds = %30
  %34 = getelementptr inbounds i8, ptr %0, i64 7560
  invoke void @_ZN19ImGuiNextWindowDataC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %34)
          to label %35 unwind label %254

35:                                               ; preds = %33
  %36 = getelementptr inbounds i8, ptr %0, i64 7680
  tail call void @_ZN8ImVectorI13ImGuiColorModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36)
  %37 = getelementptr inbounds i8, ptr %0, i64 7696
  tail call void @_ZN8ImVectorI13ImGuiStyleModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37)
  %38 = getelementptr inbounds i8, ptr %0, i64 7712
  tail call void @_ZN8ImVectorIP6ImFontEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38)
  %39 = getelementptr inbounds i8, ptr %0, i64 7728
  tail call void @_ZN8ImVectorI19ImGuiFocusScopeDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39)
  %40 = getelementptr inbounds i8, ptr %0, i64 7744
  tail call void @_ZN8ImVectorIiEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40)
  %41 = getelementptr inbounds i8, ptr %0, i64 7760
  tail call void @_ZN8ImVectorI14ImGuiGroupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41)
  %42 = getelementptr inbounds i8, ptr %0, i64 7776
  tail call void @_ZN8ImVectorI14ImGuiPopupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42)
  %43 = getelementptr inbounds i8, ptr %0, i64 7792
  tail call void @_ZN8ImVectorI14ImGuiPopupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43)
  %44 = getelementptr inbounds i8, ptr %0, i64 7808
  tail call void @_ZN8ImVectorI22ImGuiTreeNodeStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44)
  %45 = getelementptr inbounds i8, ptr %0, i64 7824
  tail call void @_ZN8ImVectorIP14ImGuiViewportPEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45)
  %46 = getelementptr inbounds i8, ptr %0, i64 7880
  tail call void @_ZN8ImVectorI19ImGuiFocusScopeDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46)
  %47 = getelementptr inbounds i8, ptr %0, i64 7936
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %47)
          to label %48 unwind label %256

48:                                               ; preds = %35
  %49 = getelementptr inbounds i8, ptr %0, i64 8020
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %49)
          to label %50 unwind label %256

50:                                               ; preds = %48
  %51 = getelementptr inbounds i8, ptr %0, i64 8036
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %51)
          to label %52 unwind label %256

52:                                               ; preds = %50
  %53 = getelementptr inbounds i8, ptr %0, i64 8064
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %53)
          to label %54 unwind label %256

54:                                               ; preds = %52
  %55 = getelementptr inbounds i8, ptr %0, i64 8120
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %55)
          to label %56 unwind label %256

56:                                               ; preds = %54
  %57 = getelementptr inbounds i8, ptr %0, i64 8176
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %57)
          to label %58 unwind label %256

58:                                               ; preds = %56
  %59 = getelementptr inbounds i8, ptr %0, i64 8232
  invoke void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %59)
          to label %60 unwind label %256

60:                                               ; preds = %58
  %61 = getelementptr inbounds i8, ptr %0, i64 8360
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %61)
  %62 = getelementptr inbounds i8, ptr %0, i64 8368
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %62)
  %63 = getelementptr inbounds i8, ptr %0, i64 8400
  invoke void @_ZN12ImGuiPayloadC2Ev(ptr noundef nonnull align 8 dereferenceable(59) %63)
          to label %64 unwind label %256

64:                                               ; preds = %60
  %65 = getelementptr inbounds i8, ptr %0, i64 8464
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %65)
          to label %66 unwind label %256

66:                                               ; preds = %64
  %67 = getelementptr inbounds i8, ptr %0, i64 8480
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %67)
          to label %68 unwind label %256

68:                                               ; preds = %66
  %69 = getelementptr inbounds i8, ptr %0, i64 8528
  tail call void @_ZN8ImVectorIhEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69)
  %70 = getelementptr inbounds i8, ptr %0, i64 8568
  tail call void @_ZN8ImVectorI20ImGuiListClipperDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70)
  %71 = getelementptr inbounds i8, ptr %0, i64 8600
  tail call void @_ZN8ImVectorI18ImGuiTableTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71)
  %72 = getelementptr inbounds i8, ptr %0, i64 8616
  invoke void @_ZN6ImPoolI10ImGuiTableEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72)
          to label %73 unwind label %258

73:                                               ; preds = %68
  %74 = getelementptr inbounds i8, ptr %0, i64 8656
  tail call void @_ZN8ImVectorIfEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74)
  %75 = getelementptr inbounds i8, ptr %0, i64 8672
  tail call void @_ZN8ImVectorI13ImDrawChannelEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75)
  %76 = getelementptr inbounds i8, ptr %0, i64 8696
  invoke void @_ZN6ImPoolI11ImGuiTabBarEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %76)
          to label %77 unwind label %260

77:                                               ; preds = %73
  %78 = getelementptr inbounds i8, ptr %0, i64 8736
  tail call void @_ZN8ImVectorI15ImGuiPtrOrIndexEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78)
  %79 = getelementptr inbounds i8, ptr %0, i64 8752
  tail call void @_ZN8ImVectorI20ImGuiShrinkWidthItemEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79)
  %80 = getelementptr inbounds i8, ptr %0, i64 8768
  invoke void @_ZN19ImGuiBoxSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(100) %80)
          to label %81 unwind label %262

81:                                               ; preds = %77
  %82 = getelementptr inbounds i8, ptr %0, i64 8888
  tail call void @_ZN8ImVectorI24ImGuiMultiSelectTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82)
  %83 = getelementptr inbounds i8, ptr %0, i64 8904
  invoke void @_ZN6ImPoolI21ImGuiMultiSelectStateEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %83)
          to label %84 unwind label %264

84:                                               ; preds = %81
  %85 = getelementptr inbounds i8, ptr %0, i64 8976
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %85)
  %86 = getelementptr inbounds i8, ptr %0, i64 8984
  invoke void @_ZN19ImGuiInputTextStateC1Ev(ptr noundef nonnull align 8 dereferenceable(116) %86)
          to label %87 unwind label %266

87:                                               ; preds = %84
  %88 = getelementptr inbounds i8, ptr %0, i64 9104
  invoke void @_ZN30ImGuiInputTextDeactivatedStateC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88)
          to label %89 unwind label %268

89:                                               ; preds = %87
  %90 = getelementptr inbounds i8, ptr %0, i64 9128
  invoke void @_ZN6ImFontC1Ev(ptr noundef nonnull align 8 dereferenceable(118) %90)
          to label %91 unwind label %270

91:                                               ; preds = %89
  %92 = getelementptr inbounds i8, ptr %0, i64 9292
  tail call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) %92)
  %93 = getelementptr inbounds i8, ptr %0, i64 9308
  invoke void @_ZN21ImGuiComboPreviewDataC2Ev(ptr noundef nonnull align 4 dereferenceable(48) %93)
          to label %94 unwind label %272

94:                                               ; preds = %91
  %95 = getelementptr inbounds i8, ptr %0, i64 9356
  invoke void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %95)
          to label %96 unwind label %272

96:                                               ; preds = %94
  %97 = getelementptr inbounds i8, ptr %0, i64 9416
  tail call void @_ZN8ImVectorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97)
  %98 = getelementptr inbounds i8, ptr %0, i64 9432
  tail call void @_ZN8ImVectorIjEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %98)
  %99 = getelementptr inbounds i8, ptr %0, i64 9448
  tail call void @_ZN22ImGuiTypingSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(101) %99)
  %100 = getelementptr inbounds i8, ptr %0, i64 9552
  invoke void @_ZN20ImGuiPlatformImeDataC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %100)
          to label %101 unwind label %274

101:                                              ; preds = %96
  %102 = getelementptr inbounds i8, ptr %0, i64 9568
  invoke void @_ZN20ImGuiPlatformImeDataC2Ev(ptr noundef nonnull align 4 dereferenceable(16) %102)
          to label %103 unwind label %274

103:                                              ; preds = %101
  %104 = getelementptr inbounds i8, ptr %0, i64 9592
  invoke void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %104)
          to label %105 unwind label %274

105:                                              ; preds = %103
  %106 = getelementptr inbounds i8, ptr %0, i64 9608
  tail call void @_ZN8ImVectorI20ImGuiSettingsHandlerEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106)
  %107 = getelementptr inbounds i8, ptr %0, i64 9624
  invoke void @_ZN13ImChunkStreamI19ImGuiWindowSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107)
          to label %108 unwind label %276

108:                                              ; preds = %105
  %109 = getelementptr inbounds i8, ptr %0, i64 9640
  invoke void @_ZN13ImChunkStreamI18ImGuiTableSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %109)
          to label %110 unwind label %278

110:                                              ; preds = %108
  %111 = getelementptr inbounds i8, ptr %0, i64 9656
  tail call void @_ZN8ImVectorI16ImGuiContextHookEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111)
  %112 = getelementptr inbounds i8, ptr %0, i64 9784
  invoke void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %112)
          to label %113 unwind label %280

113:                                              ; preds = %110
  %114 = getelementptr inbounds i8, ptr %0, i64 9856
  tail call void @_ZN6ImVec2C2Ev(ptr noundef nonnull align 4 dereferenceable(8) %114)
  %115 = getelementptr inbounds i8, ptr %0, i64 9872
  tail call void @_ZN23ImGuiErrorRecoveryStateC2Ev(ptr noundef nonnull align 2 dereferenceable(22) %115)
  %116 = getelementptr inbounds i8, ptr %0, i64 9912
  invoke void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %116)
          to label %117 unwind label %282

117:                                              ; preds = %113
  %118 = getelementptr inbounds i8, ptr %0, i64 9928
  invoke void @_ZN14ImGuiTextIndexC2Ev(ptr noundef nonnull align 8 dereferenceable(20) %118)
          to label %119 unwind label %284

119:                                              ; preds = %117
  %120 = getelementptr inbounds i8, ptr %0, i64 9980
  tail call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) %120)
  %121 = getelementptr inbounds i8, ptr %0, i64 9996
  tail call void @_ZN18ImGuiMetricsConfigC2Ev(ptr noundef nonnull align 4 dereferenceable(28) %121) #8
  %122 = getelementptr inbounds i8, ptr %0, i64 10024
  invoke void @_ZN16ImGuiIDStackToolC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %122)
          to label %123 unwind label %286

123:                                              ; preds = %119
  %124 = getelementptr inbounds i8, ptr %0, i64 10064
  tail call void @_ZN19ImGuiDebugAllocInfoC2Ev(ptr noundef nonnull align 4 dereferenceable(60) %124)
  %125 = getelementptr inbounds i8, ptr %0, i64 10392
  tail call void @_ZN8ImVectorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %125)
  %126 = getelementptr inbounds i8, ptr %0, i64 224
  store ptr %0, ptr %126, align 8, !tbaa !5
  store ptr %0, ptr %86, align 8, !tbaa !90
  store i8 0, ptr %0, align 8, !tbaa !91
  %.not = icmp eq ptr %1, null
  %127 = getelementptr inbounds i8, ptr %0, i64 1
  %128 = zext i1 %.not to i8
  store i8 %128, ptr %127, align 1, !tbaa !92
  %129 = getelementptr inbounds i8, ptr %0, i64 4216
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %129, i8 0, i64 24, i1 false)
  br i1 %.not, label %130, label %134

130:                                              ; preds = %123
  %131 = invoke noundef ptr @_ZN5ImGui8MemAllocEm(i64 noundef 1184)
          to label %132 unwind label %288

132:                                              ; preds = %130
  %133 = tail call noundef ptr @_Znwm12ImNewWrapperPv(i64 noundef 1184, ptr noundef %131)
  invoke void @_ZN11ImFontAtlasC1Ev(ptr noundef nonnull align 8 dereferenceable(1180) %133)
          to label %134 unwind label %290

134:                                              ; preds = %123, %132
  %135 = phi ptr [ %133, %132 ], [ %1, %123 ]
  %136 = getelementptr inbounds i8, ptr %0, i64 56
  store ptr %135, ptr %136, align 8, !tbaa !93
  %137 = getelementptr inbounds i8, ptr %0, i64 4776
  store double 0.000000e+00, ptr %137, align 8, !tbaa !94
  %138 = getelementptr inbounds i8, ptr %0, i64 4784
  store i32 0, ptr %138, align 8, !tbaa !95
  %139 = getelementptr inbounds i8, ptr %0, i64 4792
  store i32 -1, ptr %139, align 8, !tbaa !96
  %140 = getelementptr inbounds i8, ptr %0, i64 4788
  store i32 -1, ptr %140, align 4, !tbaa !97
  %141 = getelementptr inbounds i8, ptr %0, i64 4796
  %142 = getelementptr inbounds i8, ptr %0, i64 4808
  %143 = getelementptr inbounds i8, ptr %0, i64 4864
  store i32 0, ptr %143, align 8, !tbaa !98
  %144 = getelementptr inbounds i8, ptr %0, i64 4868
  store i64 0, ptr %141, align 4
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %142, i8 0, i64 24, i1 false)
  store i32 1, ptr %144, align 4, !tbaa !99
  %145 = getelementptr inbounds i8, ptr %0, i64 4952
  store i32 0, ptr %145, align 8, !tbaa !100
  %146 = getelementptr inbounds i8, ptr %0, i64 4968
  %147 = getelementptr inbounds i8, ptr %0, i64 5028
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %146, i8 0, i64 48, i1 false)
  store i32 -1, ptr %147, align 4, !tbaa !101
  %148 = getelementptr inbounds i8, ptr %0, i64 5024
  store i32 -1, ptr %148, align 8, !tbaa !102
  %149 = getelementptr inbounds i8, ptr %0, i64 5032
  store float 0.000000e+00, ptr %149, align 8, !tbaa !103
  %150 = getelementptr inbounds i8, ptr %0, i64 5052
  %151 = getelementptr inbounds i8, ptr %0, i64 5084
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(31) %150, i8 0, i64 31, i1 false)
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(19) %151, i8 0, i64 19, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %3, float noundef -1.000000e+00, float noundef -1.000000e+00)
  %152 = load i64, ptr %3, align 8
  store i64 %152, ptr %25, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #8
  %153 = getelementptr inbounds i8, ptr %0, i64 5112
  store ptr null, ptr %153, align 8, !tbaa !104
  %154 = getelementptr inbounds i8, ptr %0, i64 5120
  store i32 0, ptr %154, align 8, !tbaa !105
  %155 = getelementptr inbounds i8, ptr %0, i64 5103
  store i8 -1, ptr %155, align 1
  %156 = getelementptr inbounds i8, ptr %0, i64 5124
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %156, i8 0, i64 32, i1 false)
  %157 = getelementptr inbounds i8, ptr %0, i64 5160
  store <2 x double> <double -1.000000e+00, double -1.000000e+00>, ptr %157, align 8, !tbaa !106
  %158 = getelementptr inbounds i8, ptr %0, i64 5176
  store double -1.000000e+00, ptr %158, align 8, !tbaa !107
  %159 = getelementptr inbounds i8, ptr %0, i64 7400
  store i32 0, ptr %159, align 8, !tbaa !108
  %160 = getelementptr inbounds i8, ptr %0, i64 7404
  store i8 0, ptr %160, align 4, !tbaa !109
  %161 = getelementptr inbounds i8, ptr %0, i64 7412
  store i32 0, ptr %161, align 4, !tbaa !110
  %162 = getelementptr inbounds i8, ptr %0, i64 7416
  store i32 0, ptr %162, align 8, !tbaa !111
  %163 = getelementptr inbounds i8, ptr %0, i64 7672
  store i8 0, ptr %163, align 8, !tbaa !112
  %164 = getelementptr inbounds i8, ptr %0, i64 7840
  %165 = getelementptr inbounds i8, ptr %0, i64 7896
  %166 = getelementptr inbounds i8, ptr %0, i64 7912
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %164, i8 0, i64 40, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %165, i8 0, i64 16, i1 false)
  store i32 2, ptr %166, align 8, !tbaa !113
  %167 = getelementptr inbounds i8, ptr %0, i64 7920
  store i64 -1, ptr %167, align 8, !tbaa !114
  %168 = getelementptr inbounds i8, ptr %0, i64 7928
  %169 = getelementptr inbounds i8, ptr %0, i64 7992
  store i8 0, ptr %169, align 8, !tbaa !115
  %170 = getelementptr inbounds i8, ptr %0, i64 7993
  store i8 0, ptr %170, align 1, !tbaa !116
  %171 = getelementptr inbounds i8, ptr %0, i64 7994
  store i8 0, ptr %171, align 2, !tbaa !117
  %172 = getelementptr inbounds i8, ptr %0, i64 7996
  %173 = getelementptr inbounds i8, ptr %0, i64 8016
  store i32 0, ptr %168, align 8
  store i32 -1, ptr %173, align 8, !tbaa !118
  %174 = getelementptr inbounds i8, ptr %0, i64 8012
  store i32 -1, ptr %174, align 4, !tbaa !119
  store <4 x i32> <i32 0, i32 0, i32 0, i32 -1>, ptr %172, align 4, !tbaa !120
  %175 = getelementptr inbounds i8, ptr %0, i64 8052
  store i32 0, ptr %175, align 4, !tbaa !121
  %176 = getelementptr inbounds i8, ptr %0, i64 8056
  store i32 0, ptr %176, align 8, !tbaa !122
  %177 = getelementptr inbounds i8, ptr %0, i64 8060
  store i32 0, ptr %177, align 4, !tbaa !123
  %178 = getelementptr inbounds i8, ptr %0, i64 8288
  %179 = getelementptr inbounds i8, ptr %0, i64 96
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(18) %178, i8 0, i64 18, i1 false)
  %180 = load i8, ptr %179, align 8, !tbaa !124, !range !125, !noundef !126
  %181 = trunc nuw i8 %180 to i1
  %182 = select i1 %181, i32 33280, i32 4608
  %183 = getelementptr inbounds i8, ptr %0, i64 8308
  store i32 %182, ptr %183, align 4, !tbaa !127
  %184 = select i1 %181, i32 41472, i32 12800
  %185 = getelementptr inbounds i8, ptr %0, i64 8312
  store i32 %184, ptr %185, align 8, !tbaa !128
  %186 = getelementptr inbounds i8, ptr %0, i64 8320
  %187 = getelementptr inbounds i8, ptr %0, i64 8356
  store i32 0, ptr %187, align 4, !tbaa !129
  %188 = getelementptr inbounds i8, ptr %0, i64 8376
  %189 = getelementptr inbounds i8, ptr %0, i64 8384
  store i32 0, ptr %189, align 8, !tbaa !130
  %190 = getelementptr inbounds i8, ptr %0, i64 8388
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(33) %186, i8 0, i64 33, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(7) %188, i8 0, i64 7, i1 false)
  store i32 -1, ptr %190, align 4, !tbaa !131
  %191 = getelementptr inbounds i8, ptr %0, i64 8392
  store i32 -1, ptr %191, align 8, !tbaa !132
  %192 = getelementptr inbounds i8, ptr %0, i64 8496
  %193 = getelementptr inbounds i8, ptr %0, i64 8516
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %192, i8 0, i64 20, i1 false)
  store i32 -1, ptr %193, align 4, !tbaa !133
  %194 = getelementptr inbounds i8, ptr %0, i64 8520
  store i32 0, ptr %194, align 8, !tbaa !134
  %195 = getelementptr inbounds i8, ptr %0, i64 8544
  %196 = getelementptr inbounds i8, ptr %0, i64 8584
  store ptr null, ptr %196, align 8, !tbaa !135
  %197 = getelementptr inbounds i8, ptr %0, i64 8596
  store i32 0, ptr %197, align 4, !tbaa !136
  %198 = getelementptr inbounds i8, ptr %0, i64 8688
  store ptr null, ptr %198, align 8, !tbaa !137
  %199 = getelementptr inbounds i8, ptr %0, i64 8872
  store ptr null, ptr %199, align 8, !tbaa !138
  %200 = getelementptr inbounds i8, ptr %0, i64 8880
  store i32 0, ptr %200, align 8, !tbaa !139
  %201 = getelementptr inbounds i8, ptr %0, i64 8944
  %202 = getelementptr inbounds i8, ptr %0, i64 9248
  %203 = getelementptr inbounds i8, ptr %0, i64 9268
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %195, i8 0, i64 20, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %201, i8 0, i64 32, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %202, i8 0, i64 20, i1 false)
  store i32 177209344, ptr %203, align 4, !tbaa !140
  %204 = getelementptr inbounds i8, ptr %0, i64 9272
  %205 = getelementptr inbounds i8, ptr %0, i64 9372
  store i8 0, ptr %205, align 4, !tbaa !141
  %206 = getelementptr inbounds i8, ptr %0, i64 9374
  %207 = getelementptr inbounds i8, ptr %0, i64 9392
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %204, i8 0, i64 20, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 2 dereferenceable(16) %206, i8 0, i64 16, i1 false)
  store <2 x float> <float 0.000000e+00, float 0x3F847AE140000000>, ptr %207, align 8, !tbaa !142
  %208 = getelementptr inbounds i8, ptr %0, i64 9400
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %208, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %4, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %209 = getelementptr inbounds i8, ptr %0, i64 9556
  %210 = load i64, ptr %4, align 8
  store i64 %210, ptr %209, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %5, float noundef -1.000000e+00, float noundef -1.000000e+00)
  %211 = getelementptr inbounds i8, ptr %0, i64 9572
  %212 = load i64, ptr %5, align 8
  store i64 %212, ptr %211, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #8
  %213 = getelementptr inbounds i8, ptr %0, i64 9584
  store i8 0, ptr %213, align 8, !tbaa !143
  %214 = getelementptr inbounds i8, ptr %0, i64 9588
  store float 0.000000e+00, ptr %214, align 4, !tbaa !144
  %215 = getelementptr inbounds i8, ptr %0, i64 9672
  store i32 0, ptr %215, align 8, !tbaa !145
  %216 = getelementptr inbounds i8, ptr %0, i64 9680
  %217 = getelementptr inbounds i8, ptr %0, i64 9764
  %218 = getelementptr inbounds i8, ptr %0, i64 9800
  %219 = getelementptr inbounds i8, ptr %0, i64 9816
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(81) %216, i8 0, i64 81, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %217, i8 0, i64 20, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %218, i8 0, i64 16, i1 false)
  store float 0x47EFFFFFE0000000, ptr %219, align 8, !tbaa !146
  %220 = getelementptr inbounds i8, ptr %0, i64 9820
  store i8 0, ptr %220, align 4, !tbaa !147
  %221 = getelementptr inbounds i8, ptr %0, i64 9824
  store i32 0, ptr %221, align 8, !tbaa !148
  %222 = getelementptr inbounds i8, ptr %0, i64 9832
  store i32 2, ptr %222, align 8, !tbaa !149
  %223 = getelementptr inbounds i8, ptr %0, i64 9828
  store i32 2, ptr %223, align 4, !tbaa !150
  %224 = getelementptr inbounds i8, ptr %0, i64 9840
  %225 = getelementptr inbounds i8, ptr %0, i64 9864
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %224, i8 0, i64 16, i1 false)
  store i8 1, ptr %225, align 8, !tbaa !151
  %226 = getelementptr inbounds i8, ptr %0, i64 9868
  store i32 0, ptr %226, align 4, !tbaa !152
  %227 = getelementptr inbounds i8, ptr %0, i64 9896
  store ptr null, ptr %227, align 8, !tbaa !153
  %228 = getelementptr inbounds i8, ptr %0, i64 9904
  store i32 0, ptr %228, align 8, !tbaa !154
  %229 = getelementptr inbounds i8, ptr %0, i64 9908
  store i32 1048577, ptr %229, align 4, !tbaa !155
  %230 = getelementptr inbounds i8, ptr %0, i64 7420
  store i32 0, ptr %230, align 4, !tbaa !156
  %231 = getelementptr inbounds i8, ptr %0, i64 9952
  %232 = getelementptr inbounds i8, ptr %0, i64 9968
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(10) %231, i8 0, i64 10, i1 false)
  store i8 -1, ptr %232, align 8, !tbaa !157
  %233 = getelementptr inbounds i8, ptr %0, i64 9969
  store i8 0, ptr %233, align 1, !tbaa !158
  %234 = getelementptr inbounds i8, ptr %0, i64 9970
  store i8 0, ptr %234, align 2, !tbaa !159
  %235 = getelementptr inbounds i8, ptr %0, i64 9972
  store i32 0, ptr %235, align 4, !tbaa !160
  %236 = getelementptr inbounds i8, ptr %0, i64 9976
  store float 0.000000e+00, ptr %236, align 8, !tbaa !161
  %237 = getelementptr inbounds i8, ptr %0, i64 7676
  store i32 56, ptr %237, align 4, !tbaa !162
  %238 = getelementptr inbounds i8, ptr %0, i64 4964
  store i32 0, ptr %238, align 4, !tbaa !163
  %239 = getelementptr inbounds i8, ptr %0, i64 8592
  store i32 0, ptr %239, align 8, !tbaa !164
  %240 = getelementptr inbounds i8, ptr %0, i64 9962
  store i8 0, ptr %240, align 2, !tbaa !165
  %241 = getelementptr inbounds i8, ptr %0, i64 9964
  store i32 611, ptr %241, align 4, !tbaa !166
  %242 = getelementptr inbounds i8, ptr %0, i64 7408
  store i32 0, ptr %242, align 8, !tbaa !167
  %243 = getelementptr inbounds i8, ptr %0, i64 10124
  %244 = getelementptr inbounds i8, ptr %0, i64 10384
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(252) %243, i8 0, i64 252, i1 false)
  store i32 -1, ptr %244, align 8, !tbaa !168
  %245 = getelementptr inbounds i8, ptr %0, i64 10380
  store i32 -1, ptr %245, align 4, !tbaa !169
  %246 = getelementptr inbounds i8, ptr %0, i64 10376
  store i32 -1, ptr %246, align 8, !tbaa !170
  %247 = getelementptr inbounds i8, ptr %0, i64 10408
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %247, i8 0, i64 64, i1 false)
  ret void

248:                                              ; preds = %10, %8, %2
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %312

250:                                              ; preds = %12
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %311

252:                                              ; preds = %28, %20
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %310

254:                                              ; preds = %33, %30
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %309

256:                                              ; preds = %66, %64, %60, %58, %56, %54, %52, %50, %48, %35
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %308

258:                                              ; preds = %68
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %307

260:                                              ; preds = %73
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %306

262:                                              ; preds = %77
  %263 = landingpad { ptr, i32 }
          cleanup
  br label %305

264:                                              ; preds = %81
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %304

266:                                              ; preds = %84
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %303

268:                                              ; preds = %87
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %302

270:                                              ; preds = %89
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %301

272:                                              ; preds = %94, %91
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %300

274:                                              ; preds = %103, %101, %96
  %275 = landingpad { ptr, i32 }
          cleanup
  br label %299

276:                                              ; preds = %105
  %277 = landingpad { ptr, i32 }
          cleanup
  br label %298

278:                                              ; preds = %108
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %297

280:                                              ; preds = %110
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %296

282:                                              ; preds = %113
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %295

284:                                              ; preds = %117
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %294

286:                                              ; preds = %119
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %293

288:                                              ; preds = %130
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %292

290:                                              ; preds = %132
  %291 = landingpad { ptr, i32 }
          cleanup
  tail call void @_ZdlPv12ImNewWrapperS_(ptr noundef %133, ptr noundef %131) #8
  br label %292

292:                                              ; preds = %290, %288
  %.pn = phi { ptr, i32 } [ %291, %290 ], [ %289, %288 ]
  tail call void @_ZN8ImVectorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %125) #8
  tail call void @_ZN16ImGuiIDStackToolD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %122) #8
  br label %293

293:                                              ; preds = %292, %286
  %.pn.pn = phi { ptr, i32 } [ %.pn, %292 ], [ %287, %286 ]
  tail call void @_ZN14ImGuiTextIndexD2Ev(ptr noundef nonnull align 8 dereferenceable(20) %118) #8
  br label %294

294:                                              ; preds = %293, %284
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %293 ], [ %285, %284 ]
  tail call void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %116) #8
  br label %295

295:                                              ; preds = %294, %282
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %294 ], [ %283, %282 ]
  tail call void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %112) #8
  br label %296

296:                                              ; preds = %295, %280
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %295 ], [ %281, %280 ]
  tail call void @_ZN8ImVectorI16ImGuiContextHookED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111) #8
  tail call void @_ZN13ImChunkStreamI18ImGuiTableSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %109) #8
  br label %297

297:                                              ; preds = %296, %278
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %296 ], [ %279, %278 ]
  tail call void @_ZN13ImChunkStreamI19ImGuiWindowSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107) #8
  br label %298

298:                                              ; preds = %297, %276
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %297 ], [ %277, %276 ]
  tail call void @_ZN8ImVectorI20ImGuiSettingsHandlerED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %106) #8
  tail call void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %104) #8
  br label %299

299:                                              ; preds = %298, %274
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %298 ], [ %275, %274 ]
  tail call void @_ZN8ImVectorIjED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %98) #8
  tail call void @_ZN8ImVectorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #8
  br label %300

300:                                              ; preds = %299, %272
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %299 ], [ %273, %272 ]
  tail call void @_ZN6ImFontD1Ev(ptr noundef nonnull align 8 dereferenceable(118) %90) #8
  br label %301

301:                                              ; preds = %300, %270
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %300 ], [ %271, %270 ]
  tail call void @_ZN30ImGuiInputTextDeactivatedStateD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #8
  br label %302

302:                                              ; preds = %301, %268
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %301 ], [ %269, %268 ]
  tail call void @_ZN19ImGuiInputTextStateD1Ev(ptr noundef nonnull align 8 dereferenceable(116) %86) #8
  br label %303

303:                                              ; preds = %302, %266
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %302 ], [ %267, %266 ]
  tail call void @_ZN6ImPoolI21ImGuiMultiSelectStateED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %83) #8
  br label %304

304:                                              ; preds = %303, %264
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %303 ], [ %265, %264 ]
  tail call void @_ZN8ImVectorI24ImGuiMultiSelectTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #8
  br label %305

305:                                              ; preds = %304, %262
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %304 ], [ %263, %262 ]
  tail call void @_ZN8ImVectorI20ImGuiShrinkWidthItemED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79) #8
  tail call void @_ZN8ImVectorI15ImGuiPtrOrIndexED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #8
  tail call void @_ZN6ImPoolI11ImGuiTabBarED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %76) #8
  br label %306

306:                                              ; preds = %305, %260
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %305 ], [ %261, %260 ]
  tail call void @_ZN8ImVectorI13ImDrawChannelED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #8
  tail call void @_ZN8ImVectorIfED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #8
  tail call void @_ZN6ImPoolI10ImGuiTableED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #8
  br label %307

307:                                              ; preds = %306, %258
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %306 ], [ %259, %258 ]
  tail call void @_ZN8ImVectorI18ImGuiTableTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #8
  tail call void @_ZN8ImVectorI20ImGuiListClipperDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #8
  tail call void @_ZN8ImVectorIhED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #8
  br label %308

308:                                              ; preds = %307, %256
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %307 ], [ %257, %256 ]
  tail call void @_ZN8ImVectorI19ImGuiFocusScopeDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #8
  tail call void @_ZN8ImVectorIP14ImGuiViewportPED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #8
  tail call void @_ZN8ImVectorI22ImGuiTreeNodeStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #8
  tail call void @_ZN8ImVectorI14ImGuiPopupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #8
  tail call void @_ZN8ImVectorI14ImGuiPopupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %42) #8
  tail call void @_ZN8ImVectorI14ImGuiGroupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #8
  tail call void @_ZN8ImVectorIiED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #8
  tail call void @_ZN8ImVectorI19ImGuiFocusScopeDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #8
  tail call void @_ZN8ImVectorIP6ImFontED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38) #8
  tail call void @_ZN8ImVectorI13ImGuiStyleModED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #8
  tail call void @_ZN8ImVectorI13ImGuiColorModED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #8
  br label %309

309:                                              ; preds = %308, %254
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %308 ], [ %255, %254 ]
  tail call void @_ZN20ImGuiKeyRoutingTableD2Ev(ptr noundef nonnull align 8 dereferenceable(344) %29) #8
  br label %310

310:                                              ; preds = %309, %252
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %309 ], [ %253, %252 ]
  tail call void @_ZN12ImGuiStorageD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %19) #8
  br label %311

311:                                              ; preds = %310, %250
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %310 ], [ %251, %250 ]
  tail call void @_ZN8ImVectorI20ImGuiWindowStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #8
  tail call void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #8
  tail call void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #8
  tail call void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #8
  tail call void @_ZN8ImVectorI15ImGuiInputEventED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #8
  tail call void @_ZN8ImVectorI15ImGuiInputEventED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13) #8
  tail call void @_ZN20ImDrawListSharedDataD2Ev(ptr noundef nonnull align 8 dereferenceable(532) %11) #8
  br label %312

312:                                              ; preds = %311, %248
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %311 ], [ %249, %248 ]
  tail call void @_ZN7ImGuiIOD2Ev(ptr noundef nonnull align 8 dereferenceable(2976) %6) #8
  resume { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

declare void @_ZN20ImDrawListSharedDataC1Ev(ptr noundef nonnull align 8 dereferenceable(532)) unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiInputEventEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP11ImGuiWindowEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiWindowStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN12ImGuiStorageC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #6 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10ImBitArrayILi154ELin512EEC2Ev(ptr noundef nonnull align 4 dereferenceable(20)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN17ImGuiKeyOwnerDataC2Ev(ptr noundef nonnull align 4 dereferenceable(10)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20ImGuiKeyRoutingTableC2Ev(ptr noundef nonnull align 8 dereferenceable(344)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN17ImGuiNextItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(52)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN17ImGuiLastItemDataC2Ev(ptr noundef nonnull align 4 dereferenceable(80)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ImGuiNextWindowDataC2Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiColorModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiStyleModEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP6ImFontEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI19ImGuiFocusScopeDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIiEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiGroupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiPopupDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI22ImGuiTreeNodeStackDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP14ImGuiViewportPEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16ImGuiNavItemDataC2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImRectC2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12ImGuiPayloadC2Ev(ptr noundef nonnull align 8 dereferenceable(59)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIhEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiListClipperDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI18ImGuiTableTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImPoolI10ImGuiTableEC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIfEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImDrawChannelEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImPoolI11ImGuiTabBarEC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiPtrOrIndexEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiShrinkWidthItemEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19ImGuiBoxSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(100)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI24ImGuiMultiSelectTempDataEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6ImPoolI21ImGuiMultiSelectStateEC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #3 align 2

declare void @_ZN19ImGuiInputTextStateC1Ev(ptr noundef nonnull align 8 dereferenceable(116)) unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN30ImGuiInputTextDeactivatedStateC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3 align 2

declare void @_ZN6ImFontC1Ev(ptr noundef nonnull align 8 dereferenceable(118)) unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN21ImGuiComboPreviewDataC2Ev(ptr noundef nonnull align 4 dereferenceable(48)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIjEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN22ImGuiTypingSelectStateC2Ev(ptr noundef nonnull align 8 dereferenceable(101)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20ImGuiPlatformImeDataC2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15ImGuiTextBufferC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiSettingsHandlerEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN13ImChunkStreamI19ImGuiWindowSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN13ImChunkStreamI18ImGuiTableSettingsEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI16ImGuiContextHookEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN23ImGuiErrorRecoveryStateC2Ev(ptr noundef nonnull align 2 dereferenceable(22)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN14ImGuiTextIndexC2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN18ImGuiMetricsConfigC2Ev(ptr noundef nonnull align 4 dereferenceable(28)) unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16ImGuiIDStackToolC2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN19ImGuiDebugAllocInfoC2Ev(ptr noundef nonnull align 4 dereferenceable(60)) unnamed_addr #0 align 2

declare void @_ZN11ImFontAtlasC1Ev(ptr noundef nonnull align 8 dereferenceable(1180)) unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN16ImGuiIDStackToolD2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN14ImGuiTextIndexD2Ev(ptr noundef nonnull align 8 dereferenceable(20)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN15ImGuiTextBufferD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI16ImGuiContextHookED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13ImChunkStreamI18ImGuiTableSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13ImChunkStreamI19ImGuiWindowSettingsED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiSettingsHandlerED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIjED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: nounwind
declare void @_ZN6ImFontD1Ev(ptr noundef nonnull align 8 dereferenceable(118)) unnamed_addr #7

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN30ImGuiInputTextDeactivatedStateD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4 align 2

; Function Attrs: nounwind
declare void @_ZN19ImGuiInputTextStateD1Ev(ptr noundef nonnull align 8 dereferenceable(116)) unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImPoolI21ImGuiMultiSelectStateED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI24ImGuiMultiSelectTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiShrinkWidthItemED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiPtrOrIndexED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImPoolI11ImGuiTabBarED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImDrawChannelED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIfED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImPoolI10ImGuiTableED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI18ImGuiTableTempDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiListClipperDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIhED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI19ImGuiFocusScopeDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP14ImGuiViewportPED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI22ImGuiTreeNodeStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiPopupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI14ImGuiGroupDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIiED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP6ImFontED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiStyleModED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI13ImGuiColorModED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN20ImGuiKeyRoutingTableD2Ev(ptr noundef nonnull align 8 dereferenceable(344)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN12ImGuiStorageD2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI20ImGuiWindowStackDataED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorIP11ImGuiWindowED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN8ImVectorI15ImGuiInputEventED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN20ImDrawListSharedDataD2Ev(ptr noundef nonnull align 8 dereferenceable(532)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN7ImGuiIOD2Ev(ptr noundef nonnull align 8 dereferenceable(2976)) unnamed_addr #4 align 2

declare void @_ZN10ImGuiStyleC1Ev(ptr) local_unnamed_addr

declare void @_ZN7ImGuiIOC1Ev(ptr) local_unnamed_addr

declare void @_ZN15ImGuiPlatformIOC1Ev(ptr) local_unnamed_addr

attributes #0 = { mustprogress 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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { mustprogress 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 #4 = { inlinehint mustprogress 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 #5 = { "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 #6 = { inlinehint mustprogress 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 #7 = { nounwind "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 #8 = { 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, !14, i64 224}
!6 = !{!"_ZTS12ImGuiContext", !7, i64 0, !7, i64 1, !10, i64 8, !18, i64 2984, !19, i64 3056, !14, i64 4216, !13, i64 4224, !13, i64 4228, !13, i64 4232, !13, i64 4236, !21, i64 4240, !24, i64 4776, !11, i64 4784, !11, i64 4788, !11, i64 4792, !11, i64 4796, !7, i64 4800, !7, i64 4801, !7, i64 4802, !7, i64 4803, !14, i64 4808, !8, i64 4816, !25, i64 4832, !25, i64 4848, !15, i64 4864, !11, i64 4868, !26, i64 4872, !26, i64 4888, !26, i64 4904, !27, i64 4920, !28, i64 4936, !11, i64 4952, !12, i64 4956, !11, i64 4964, !14, i64 4968, !14, i64 4976, !14, i64 4984, !14, i64 4992, !14, i64 5000, !14, i64 5008, !12, i64 5016, !11, i64 5024, !11, i64 5028, !13, i64 5032, !12, i64 5036, !12, i64 5044, !11, i64 5052, !11, i64 5056, !11, i64 5060, !11, i64 5064, !11, i64 5068, !13, i64 5072, !13, i64 5076, !7, i64 5080, !7, i64 5081, !7, i64 5082, !11, i64 5084, !11, i64 5088, !13, i64 5092, !7, i64 5096, !7, i64 5097, !7, i64 5098, !7, i64 5099, !7, i64 5100, !7, i64 5101, !7, i64 5102, !11, i64 5103, !12, i64 5104, !14, i64 5112, !30, i64 5120, !11, i64 5124, !31, i64 5128, !32, i64 5140, !11, i64 5148, !13, i64 5152, !24, i64 5160, !24, i64 5168, !24, i64 5176, !33, i64 5184, !8, i64 5204, !34, i64 7056, !11, i64 7400, !7, i64 7404, !11, i64 7408, !11, i64 7412, !11, i64 7416, !11, i64 7420, !36, i64 7424, !38, i64 7480, !40, i64 7560, !7, i64 7672, !11, i64 7676, !41, i64 7680, !42, i64 7696, !43, i64 7712, !44, i64 7728, !45, i64 7744, !46, i64 7760, !47, i64 7776, !47, i64 7792, !48, i64 7808, !49, i64 7824, !7, i64 7840, !7, i64 7841, !7, i64 7842, !7, i64 7843, !11, i64 7844, !14, i64 7848, !11, i64 7856, !50, i64 7860, !11, i64 7864, !11, i64 7868, !11, i64 7872, !11, i64 7876, !44, i64 7880, !11, i64 7896, !13, i64 7900, !11, i64 7904, !11, i64 7908, !30, i64 7912, !37, i64 7920, !8, i64 7928, !7, i64 7929, !7, i64 7930, !7, i64 7931, !51, i64 7936, !7, i64 7992, !7, i64 7993, !7, i64 7994, !11, i64 7996, !11, i64 8000, !11, i64 8004, !20, i64 8008, !20, i64 8012, !20, i64 8016, !39, i64 8020, !39, i64 8036, !11, i64 8052, !11, i64 8056, !11, i64 8060, !51, i64 8064, !51, i64 8120, !51, i64 8176, !51, i64 8232, !11, i64 8288, !11, i64 8292, !11, i64 8296, !11, i64 8300, !7, i64 8304, !7, i64 8305, !11, i64 8308, !11, i64 8312, !14, i64 8320, !14, i64 8328, !14, i64 8336, !13, i64 8344, !13, i64 8348, !7, i64 8352, !52, i64 8356, !12, i64 8360, !12, i64 8368, !13, i64 8376, !7, i64 8380, !7, i64 8381, !7, i64 8382, !11, i64 8384, !11, i64 8388, !11, i64 8392, !53, i64 8400, !39, i64 8464, !39, i64 8480, !11, i64 8496, !11, i64 8500, !13, i64 8504, !11, i64 8508, !11, i64 8512, !11, i64 8516, !11, i64 8520, !54, i64 8528, !8, i64 8544, !11, i64 8560, !55, i64 8568, !14, i64 8584, !11, i64 8592, !11, i64 8596, !56, i64 8600, !57, i64 8616, !59, i64 8656, !60, i64 8672, !14, i64 8688, !61, i64 8696, !63, i64 8736, !64, i64 8752, !65, i64 8768, !14, i64 8872, !11, i64 8880, !66, i64 8888, !67, i64 8904, !11, i64 8944, !11, i64 8948, !13, i64 8952, !13, i64 8956, !11, i64 8960, !11, i64 8964, !11, i64 8968, !13, i64 8972, !12, i64 8976, !69, i64 8984, !71, i64 9104, !72, i64 9128, !11, i64 9248, !32, i64 9252, !11, i64 9260, !11, i64 9264, !11, i64 9268, !11, i64 9272, !11, i64 9276, !13, i64 9280, !13, i64 9284, !11, i64 9288, !22, i64 9292, !74, i64 9308, !39, i64 9356, !7, i64 9372, !16, i64 9374, !13, i64 9376, !13, i64 9380, !13, i64 9384, !7, i64 9388, !7, i64 9389, !13, i64 9392, !13, i64 9396, !13, i64 9400, !16, i64 9404, !16, i64 9406, !14, i64 9408, !70, i64 9416, !75, i64 9432, !76, i64 9448, !78, i64 9552, !78, i64 9568, !7, i64 9584, !13, i64 9588, !79, i64 9592, !80, i64 9608, !81, i64 9624, !82, i64 9640, !83, i64 9656, !11, i64 9672, !8, i64 9680, !7, i64 9760, !11, i64 9764, !14, i64 9768, !14, i64 9776, !79, i64 9784, !14, i64 9800, !14, i64 9808, !13, i64 9816, !7, i64 9820, !11, i64 9824, !11, i64 9828, !11, i64 9832, !14, i64 9840, !14, i64 9848, !12, i64 9856, !7, i64 9864, !11, i64 9868, !84, i64 9872, !14, i64 9896, !11, i64 9904, !11, i64 9908, !79, i64 9912, !85, i64 9928, !11, i64 9952, !11, i64 9956, !8, i64 9960, !8, i64 9961, !7, i64 9962, !11, i64 9964, !8, i64 9968, !7, i64 9969, !8, i64 9970, !11, i64 9972, !13, i64 9976, !22, i64 9980, !86, i64 9996, !87, i64 10024, !89, i64 10064, !8, i64 10124, !11, i64 10364, !11, i64 10368, !13, i64 10372, !11, i64 10376, !11, i64 10380, !11, i64 10384, !70, i64 10392, !8, i64 10408}
!7 = !{!"bool", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTS7ImGuiIO", !11, i64 0, !11, i64 4, !12, i64 8, !13, i64 16, !13, i64 20, !14, i64 24, !14, i64 32, !14, i64 40, !14, i64 48, !13, i64 56, !7, i64 60, !14, i64 64, !12, i64 72, !7, i64 80, !7, i64 81, !7, i64 82, !7, i64 83, !7, i64 84, !7, i64 85, !7, i64 86, !7, i64 87, !7, i64 88, !7, i64 89, !7, i64 90, !7, i64 91, !7, i64 92, !7, i64 93, !7, i64 94, !7, i64 95, !7, i64 96, !13, i64 100, !13, i64 104, !13, i64 108, !13, i64 112, !13, i64 116, !13, i64 120, !7, i64 124, !7, i64 125, !7, i64 126, !7, i64 127, !7, i64 128, !7, i64 129, !7, i64 130, !7, i64 131, !7, i64 132, !7, i64 133, !14, i64 136, !14, i64 144, !14, i64 152, !14, i64 160, !14, i64 168, !7, i64 176, !7, i64 177, !7, i64 178, !7, i64 179, !7, i64 180, !7, i64 181, !7, i64 182, !13, i64 184, !11, i64 188, !11, i64 192, !11, i64 196, !11, i64 200, !12, i64 204, !14, i64 216, !12, i64 224, !8, i64 232, !13, i64 240, !13, i64 244, !15, i64 248, !7, i64 252, !7, i64 253, !7, i64 254, !7, i64 255, !11, i64 256, !8, i64 260, !7, i64 2724, !12, i64 2728, !8, i64 2736, !8, i64 2776, !8, i64 2816, !8, i64 2821, !8, i64 2826, !8, i64 2836, !8, i64 2846, !8, i64 2851, !8, i64 2856, !7, i64 2861, !7, i64 2862, !8, i64 2864, !8, i64 2884, !8, i64 2904, !13, i64 2924, !7, i64 2928, !7, i64 2929, !16, i64 2930, !17, i64 2936, !14, i64 2952, !14, i64 2960, !14, i64 2968}
!11 = !{!"int", !8, i64 0}
!12 = !{!"_ZTS6ImVec2", !13, i64 0, !13, i64 4}
!13 = !{!"float", !8, i64 0}
!14 = !{!"any pointer", !8, i64 0}
!15 = !{!"_ZTS16ImGuiMouseSource", !8, i64 0}
!16 = !{!"short", !8, i64 0}
!17 = !{!"_ZTS8ImVectorItE", !11, i64 0, !11, i64 4, !14, i64 8}
!18 = !{!"_ZTS15ImGuiPlatformIO", !14, i64 0, !14, i64 8, !14, i64 16, !14, i64 24, !14, i64 32, !14, i64 40, !14, i64 48, !16, i64 56, !14, i64 64}
!19 = !{!"_ZTS10ImGuiStyle", !13, i64 0, !13, i64 4, !12, i64 8, !13, i64 16, !13, i64 20, !12, i64 24, !12, i64 32, !20, i64 40, !13, i64 44, !13, i64 48, !13, i64 52, !13, i64 56, !12, i64 60, !13, i64 68, !13, i64 72, !12, i64 76, !12, i64 84, !12, i64 92, !12, i64 100, !13, i64 108, !13, i64 112, !13, i64 116, !13, i64 120, !13, i64 124, !13, i64 128, !13, i64 132, !13, i64 136, !13, i64 140, !13, i64 144, !13, i64 148, !13, i64 152, !13, i64 156, !12, i64 160, !20, i64 168, !12, i64 172, !12, i64 180, !13, i64 188, !12, i64 192, !12, i64 200, !12, i64 208, !12, i64 216, !13, i64 224, !7, i64 228, !7, i64 229, !7, i64 230, !13, i64 232, !13, i64 236, !8, i64 240, !13, i64 1136, !13, i64 1140, !13, i64 1144, !11, i64 1148, !11, i64 1152}
!20 = !{!"_ZTS8ImGuiDir", !8, i64 0}
!21 = !{!"_ZTS20ImDrawListSharedData", !12, i64 0, !14, i64 8, !14, i64 16, !13, i64 24, !13, i64 28, !13, i64 32, !13, i64 36, !22, i64 40, !11, i64 56, !23, i64 64, !8, i64 80, !13, i64 464, !8, i64 468}
!22 = !{!"_ZTS6ImVec4", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12}
!23 = !{!"_ZTS8ImVectorI6ImVec2E", !11, i64 0, !11, i64 4, !14, i64 8}
!24 = !{!"double", !8, i64 0}
!25 = !{!"_ZTS8ImVectorI15ImGuiInputEventE", !11, i64 0, !11, i64 4, !14, i64 8}
!26 = !{!"_ZTS8ImVectorIP11ImGuiWindowE", !11, i64 0, !11, i64 4, !14, i64 8}
!27 = !{!"_ZTS8ImVectorI20ImGuiWindowStackDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!28 = !{!"_ZTS12ImGuiStorage", !29, i64 0}
!29 = !{!"_ZTS8ImVectorI16ImGuiStoragePairE", !11, i64 0, !11, i64 4, !14, i64 8}
!30 = !{!"_ZTS16ImGuiInputSource", !8, i64 0}
!31 = !{!"_ZTS24ImGuiDeactivatedItemData", !11, i64 0, !11, i64 4, !7, i64 8, !7, i64 9}
!32 = !{!"_ZTS20ImGuiDataTypeStorage", !8, i64 0}
!33 = !{!"_ZTS10ImBitArrayILi154ELin512EE", !8, i64 0}
!34 = !{!"_ZTS20ImGuiKeyRoutingTable", !8, i64 0, !35, i64 312, !35, i64 328}
!35 = !{!"_ZTS8ImVectorI19ImGuiKeyRoutingDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!36 = !{!"_ZTS17ImGuiNextItemData", !11, i64 0, !11, i64 4, !11, i64 8, !37, i64 16, !13, i64 24, !11, i64 28, !11, i64 32, !7, i64 36, !8, i64 37, !32, i64 38, !11, i64 48}
!37 = !{!"long long", !8, i64 0}
!38 = !{!"_ZTS17ImGuiLastItemData", !11, i64 0, !11, i64 4, !11, i64 8, !39, i64 12, !39, i64 28, !39, i64 44, !39, i64 60, !11, i64 76}
!39 = !{!"_ZTS6ImRect", !12, i64 0, !12, i64 8}
!40 = !{!"_ZTS19ImGuiNextWindowData", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !12, i64 16, !12, i64 24, !12, i64 32, !12, i64 40, !12, i64 48, !11, i64 56, !7, i64 60, !39, i64 64, !14, i64 80, !14, i64 88, !13, i64 96, !12, i64 100, !11, i64 108}
!41 = !{!"_ZTS8ImVectorI13ImGuiColorModE", !11, i64 0, !11, i64 4, !14, i64 8}
!42 = !{!"_ZTS8ImVectorI13ImGuiStyleModE", !11, i64 0, !11, i64 4, !14, i64 8}
!43 = !{!"_ZTS8ImVectorIP6ImFontE", !11, i64 0, !11, i64 4, !14, i64 8}
!44 = !{!"_ZTS8ImVectorI19ImGuiFocusScopeDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!45 = !{!"_ZTS8ImVectorIiE", !11, i64 0, !11, i64 4, !14, i64 8}
!46 = !{!"_ZTS8ImVectorI14ImGuiGroupDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!47 = !{!"_ZTS8ImVectorI14ImGuiPopupDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!48 = !{!"_ZTS8ImVectorI22ImGuiTreeNodeStackDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!49 = !{!"_ZTS8ImVectorIP14ImGuiViewportPE", !11, i64 0, !11, i64 4, !14, i64 8}
!50 = !{!"_ZTS13ImGuiNavLayer", !8, i64 0}
!51 = !{!"_ZTS16ImGuiNavItemData", !14, i64 0, !11, i64 8, !11, i64 12, !39, i64 16, !11, i64 32, !13, i64 36, !13, i64 40, !13, i64 44, !37, i64 48}
!52 = !{!"_ZTS8ImGuiKey", !8, i64 0}
!53 = !{!"_ZTS12ImGuiPayload", !14, i64 0, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20, !8, i64 24, !7, i64 57, !7, i64 58}
!54 = !{!"_ZTS8ImVectorIhE", !11, i64 0, !11, i64 4, !14, i64 8}
!55 = !{!"_ZTS8ImVectorI20ImGuiListClipperDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!56 = !{!"_ZTS8ImVectorI18ImGuiTableTempDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!57 = !{!"_ZTS6ImPoolI10ImGuiTableE", !58, i64 0, !28, i64 16, !11, i64 32, !11, i64 36}
!58 = !{!"_ZTS8ImVectorI10ImGuiTableE", !11, i64 0, !11, i64 4, !14, i64 8}
!59 = !{!"_ZTS8ImVectorIfE", !11, i64 0, !11, i64 4, !14, i64 8}
!60 = !{!"_ZTS8ImVectorI13ImDrawChannelE", !11, i64 0, !11, i64 4, !14, i64 8}
!61 = !{!"_ZTS6ImPoolI11ImGuiTabBarE", !62, i64 0, !28, i64 16, !11, i64 32, !11, i64 36}
!62 = !{!"_ZTS8ImVectorI11ImGuiTabBarE", !11, i64 0, !11, i64 4, !14, i64 8}
!63 = !{!"_ZTS8ImVectorI15ImGuiPtrOrIndexE", !11, i64 0, !11, i64 4, !14, i64 8}
!64 = !{!"_ZTS8ImVectorI20ImGuiShrinkWidthItemE", !11, i64 0, !11, i64 4, !14, i64 8}
!65 = !{!"_ZTS19ImGuiBoxSelectState", !11, i64 0, !7, i64 4, !7, i64 5, !7, i64 6, !7, i64 7, !7, i64 8, !11, i64 9, !12, i64 12, !12, i64 20, !12, i64 28, !14, i64 40, !7, i64 48, !39, i64 52, !39, i64 68, !39, i64 84}
!66 = !{!"_ZTS8ImVectorI24ImGuiMultiSelectTempDataE", !11, i64 0, !11, i64 4, !14, i64 8}
!67 = !{!"_ZTS6ImPoolI21ImGuiMultiSelectStateE", !68, i64 0, !28, i64 16, !11, i64 32, !11, i64 36}
!68 = !{!"_ZTS8ImVectorI21ImGuiMultiSelectStateE", !11, i64 0, !11, i64 4, !14, i64 8}
!69 = !{!"_ZTS19ImGuiInputTextState", !14, i64 0, !14, i64 8, !11, i64 16, !11, i64 20, !11, i64 24, !14, i64 32, !70, i64 40, !70, i64 56, !70, i64 72, !11, i64 88, !12, i64 92, !13, i64 100, !7, i64 104, !7, i64 105, !7, i64 106, !7, i64 107, !11, i64 108, !11, i64 112}
!70 = !{!"_ZTS8ImVectorIcE", !11, i64 0, !11, i64 4, !14, i64 8}
!71 = !{!"_ZTS30ImGuiInputTextDeactivatedState", !11, i64 0, !70, i64 8}
!72 = !{!"_ZTS6ImFont", !59, i64 0, !13, i64 16, !13, i64 20, !17, i64 24, !73, i64 40, !14, i64 56, !14, i64 64, !14, i64 72, !16, i64 80, !16, i64 82, !16, i64 84, !16, i64 86, !13, i64 88, !13, i64 92, !7, i64 96, !13, i64 100, !13, i64 104, !13, i64 108, !11, i64 112, !8, i64 116}
!73 = !{!"_ZTS8ImVectorI11ImFontGlyphE", !11, i64 0, !11, i64 4, !14, i64 8}
!74 = !{!"_ZTS21ImGuiComboPreviewData", !39, i64 0, !12, i64 16, !12, i64 24, !12, i64 32, !13, i64 40, !11, i64 44}
!75 = !{!"_ZTS8ImVectorIjE", !11, i64 0, !11, i64 4, !14, i64 8}
!76 = !{!"_ZTS22ImGuiTypingSelectState", !77, i64 0, !8, i64 24, !11, i64 88, !11, i64 92, !13, i64 96, !7, i64 100}
!77 = !{!"_ZTS24ImGuiTypingSelectRequest", !11, i64 0, !11, i64 4, !14, i64 8, !7, i64 16, !7, i64 17, !8, i64 18}
!78 = !{!"_ZTS20ImGuiPlatformImeData", !7, i64 0, !12, i64 4, !13, i64 12}
!79 = !{!"_ZTS15ImGuiTextBuffer", !70, i64 0}
!80 = !{!"_ZTS8ImVectorI20ImGuiSettingsHandlerE", !11, i64 0, !11, i64 4, !14, i64 8}
!81 = !{!"_ZTS13ImChunkStreamI19ImGuiWindowSettingsE", !70, i64 0}
!82 = !{!"_ZTS13ImChunkStreamI18ImGuiTableSettingsE", !70, i64 0}
!83 = !{!"_ZTS8ImVectorI16ImGuiContextHookE", !11, i64 0, !11, i64 4, !14, i64 8}
!84 = !{!"_ZTS23ImGuiErrorRecoveryState", !16, i64 0, !16, i64 2, !16, i64 4, !16, i64 6, !16, i64 8, !16, i64 10, !16, i64 12, !16, i64 14, !16, i64 16, !16, i64 18, !16, i64 20}
!85 = !{!"_ZTS14ImGuiTextIndex", !45, i64 0, !11, i64 16}
!86 = !{!"_ZTS18ImGuiMetricsConfig", !7, i64 0, !7, i64 1, !7, i64 2, !7, i64 3, !7, i64 4, !7, i64 5, !7, i64 6, !7, i64 7, !7, i64 8, !11, i64 12, !11, i64 16, !11, i64 20, !11, i64 24}
!87 = !{!"_ZTS16ImGuiIDStackTool", !11, i64 0, !11, i64 4, !11, i64 8, !88, i64 16, !7, i64 32, !13, i64 36}
!88 = !{!"_ZTS8ImVectorI19ImGuiStackLevelInfoE", !11, i64 0, !11, i64 4, !14, i64 8}
!89 = !{!"_ZTS19ImGuiDebugAllocInfo", !11, i64 0, !11, i64 4, !16, i64 8, !8, i64 12}
!90 = !{!6, !14, i64 8984}
!91 = !{!6, !7, i64 0}
!92 = !{!6, !7, i64 1}
!93 = !{!6, !14, i64 56}
!94 = !{!6, !24, i64 4776}
!95 = !{!6, !11, i64 4784}
!96 = !{!6, !11, i64 4792}
!97 = !{!6, !11, i64 4788}
!98 = !{!6, !15, i64 4864}
!99 = !{!6, !11, i64 4868}
!100 = !{!6, !11, i64 4952}
!101 = !{!6, !11, i64 5028}
!102 = !{!6, !11, i64 5024}
!103 = !{!6, !13, i64 5032}
!104 = !{!6, !14, i64 5112}
!105 = !{!6, !30, i64 5120}
!106 = !{!24, !24, i64 0}
!107 = !{!6, !24, i64 5176}
!108 = !{!6, !11, i64 7400}
!109 = !{!6, !7, i64 7404}
!110 = !{!6, !11, i64 7412}
!111 = !{!6, !11, i64 7416}
!112 = !{!6, !7, i64 7672}
!113 = !{!6, !30, i64 7912}
!114 = !{!6, !37, i64 7920}
!115 = !{!6, !7, i64 7992}
!116 = !{!6, !7, i64 7993}
!117 = !{!6, !7, i64 7994}
!118 = !{!6, !20, i64 8016}
!119 = !{!6, !20, i64 8012}
!120 = !{!8, !8, i64 0}
!121 = !{!6, !11, i64 8052}
!122 = !{!6, !11, i64 8056}
!123 = !{!6, !11, i64 8060}
!124 = !{!6, !7, i64 96}
!125 = !{i8 0, i8 2}
!126 = !{}
!127 = !{!6, !11, i64 8308}
!128 = !{!6, !11, i64 8312}
!129 = !{!6, !52, i64 8356}
!130 = !{!6, !11, i64 8384}
!131 = !{!6, !11, i64 8388}
!132 = !{!6, !11, i64 8392}
!133 = !{!6, !11, i64 8516}
!134 = !{!6, !11, i64 8520}
!135 = !{!6, !14, i64 8584}
!136 = !{!6, !11, i64 8596}
!137 = !{!6, !14, i64 8688}
!138 = !{!6, !14, i64 8872}
!139 = !{!6, !11, i64 8880}
!140 = !{!6, !11, i64 9268}
!141 = !{!6, !7, i64 9372}
!142 = !{!13, !13, i64 0}
!143 = !{!6, !7, i64 9584}
!144 = !{!6, !13, i64 9588}
!145 = !{!6, !11, i64 9672}
!146 = !{!6, !13, i64 9816}
!147 = !{!6, !7, i64 9820}
!148 = !{!6, !11, i64 9824}
!149 = !{!6, !11, i64 9832}
!150 = !{!6, !11, i64 9828}
!151 = !{!6, !7, i64 9864}
!152 = !{!6, !11, i64 9868}
!153 = !{!6, !14, i64 9896}
!154 = !{!6, !11, i64 9904}
!155 = !{!6, !11, i64 9908}
!156 = !{!6, !11, i64 7420}
!157 = !{!6, !8, i64 9968}
!158 = !{!6, !7, i64 9969}
!159 = !{!6, !8, i64 9970}
!160 = !{!6, !11, i64 9972}
!161 = !{!6, !13, i64 9976}
!162 = !{!6, !11, i64 7676}
!163 = !{!6, !11, i64 4964}
!164 = !{!6, !11, i64 8592}
!165 = !{!6, !7, i64 9962}
!166 = !{!6, !11, i64 9964}
!167 = !{!6, !11, i64 7408}
!168 = !{!6, !11, i64 10384}
!169 = !{!6, !11, i64 10380}
!170 = !{!6, !11, i64 10376}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass