; LLVM IR from Overload-Technologies/Overload :: Dependencies/assimp/code/AssetLib/FBX (FBXConverter)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.72" = type { i8 }
%class.aiVector3t = type { float, float, float }
%struct.aiString = type { i32, [1024 x i8] }
%"class.Assimp::FBX::FBXConverter" = type <{ i32, [4 x i8], %"class.std::vector", %"class.std::vector.0", %"class.std::vector.5", %"class.std::vector.10", %"class.std::vector.15", %"class.std::vector.20", %"class.std::map", %"class.std::map.28", %"class.std::map.34", %"class.std::map.40", %"class.std::map.40", %"class.std::map.46", double, %"class.std::vector.52", ptr, ptr, i8, [7 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<aiMesh *, std::allocator<aiMesh *>>::_Vector_impl" }
%"struct.std::_Vector_base<aiMesh *, std::allocator<aiMesh *>>::_Vector_impl" = type { %"struct.std::_Vector_base<aiMesh *, std::allocator<aiMesh *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<aiMesh *, std::allocator<aiMesh *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<aiMaterial *, std::allocator<aiMaterial *>>::_Vector_impl" }
%"struct.std::_Vector_base<aiMaterial *, std::allocator<aiMaterial *>>::_Vector_impl" = type { %"struct.std::_Vector_base<aiMaterial *, std::allocator<aiMaterial *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<aiMaterial *, std::allocator<aiMaterial *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<aiAnimation *, std::allocator<aiAnimation *>>::_Vector_impl" }
%"struct.std::_Vector_base<aiAnimation *, std::allocator<aiAnimation *>>::_Vector_impl" = type { %"struct.std::_Vector_base<aiAnimation *, std::allocator<aiAnimation *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<aiAnimation *, std::allocator<aiAnimation *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.10" = type { %"struct.std::_Vector_base.11" }
%"struct.std::_Vector_base.11" = type { %"struct.std::_Vector_base<aiLight *, std::allocator<aiLight *>>::_Vector_impl" }
%"struct.std::_Vector_base<aiLight *, std::allocator<aiLight *>>::_Vector_impl" = type { %"struct.std::_Vector_base<aiLight *, std::allocator<aiLight *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<aiLight *, std::allocator<aiLight *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = type { %"struct.std::_Vector_base<aiCamera *, std::allocator<aiCamera *>>::_Vector_impl" }
%"struct.std::_Vector_base<aiCamera *, std::allocator<aiCamera *>>::_Vector_impl" = type { %"struct.std::_Vector_base<aiCamera *, std::allocator<aiCamera *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<aiCamera *, std::allocator<aiCamera *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.20" = type { %"struct.std::_Vector_base.21" }
%"struct.std::_Vector_base.21" = type { %"struct.std::_Vector_base<aiTexture *, std::allocator<aiTexture *>>::_Vector_impl" }
%"struct.std::_Vector_base<aiTexture *, std::allocator<aiTexture *>>::_Vector_impl" = type { %"struct.std::_Vector_base<aiTexture *, std::allocator<aiTexture *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<aiTexture *, std::allocator<aiTexture *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<const Assimp::FBX::Material *, std::pair<const Assimp::FBX::Material *const, unsigned int>, std::_Select1st<std::pair<const Assimp::FBX::Material *const, unsigned int>>, std::less<const Assimp::FBX::Material *>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<const Assimp::FBX::Material *, std::pair<const Assimp::FBX::Material *const, unsigned int>, std::_Select1st<std::pair<const Assimp::FBX::Material *const, unsigned int>>, std::less<const Assimp::FBX::Material *>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::map.28" = type { %"class.std::_Rb_tree.29" }
%"class.std::_Rb_tree.29" = type { %"struct.std::_Rb_tree<const Assimp::FBX::Video *, std::pair<const Assimp::FBX::Video *const, unsigned int>, std::_Select1st<std::pair<const Assimp::FBX::Video *const, unsigned int>>, std::less<const Assimp::FBX::Video *>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<const Assimp::FBX::Video *, std::pair<const Assimp::FBX::Video *const, unsigned int>, std::_Select1st<std::pair<const Assimp::FBX::Video *const, unsigned int>>, std::less<const Assimp::FBX::Video *>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.34" = type { %"class.std::_Rb_tree.35" }
%"class.std::_Rb_tree.35" = type { %"struct.std::_Rb_tree<const Assimp::FBX::Geometry *, std::pair<const Assimp::FBX::Geometry *const, std::vector<unsigned int>>, std::_Select1st<std::pair<const Assimp::FBX::Geometry *const, std::vector<unsigned int>>>, std::less<const Assimp::FBX::Geometry *>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<const Assimp::FBX::Geometry *, std::pair<const Assimp::FBX::Geometry *const, std::vector<unsigned int>>, std::_Select1st<std::pair<const Assimp::FBX::Geometry *const, std::vector<unsigned int>>>, std::less<const Assimp::FBX::Geometry *>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.40" = type { %"class.std::_Rb_tree.41" }
%"class.std::_Rb_tree.41" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, unsigned int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, unsigned int>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, unsigned int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, unsigned int>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.46" = type { %"class.std::_Rb_tree.47" }
%"class.std::_Rb_tree.47" = type { %"struct.std::_Rb_tree<const std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, aiBone *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, aiBone *>>, std::less<const std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<const std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, aiBone *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, aiBone *>>, std::less<const std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.52" = type { %"struct.std::_Vector_base.53" }
%"struct.std::_Vector_base.53" = type { %"struct.std::_Vector_base<aiSkeleton *, std::allocator<aiSkeleton *>>::_Vector_impl" }
%"struct.std::_Vector_base<aiSkeleton *, std::allocator<aiSkeleton *>>::_Vector_impl" = type { %"struct.std::_Vector_base<aiSkeleton *, std::allocator<aiSkeleton *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<aiSkeleton *, std::allocator<aiSkeleton *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.aiScene = type { i32, ptr, i32, ptr, i32, ptr, i32, ptr, i32, ptr, i32, ptr, i32, ptr, ptr, %struct.aiString, i32, ptr, ptr }

@.str.96 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [22 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6Assimp3FBX12FBXConverter21ConvertGlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(489) %0) #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca i8, align 1
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator.72", align 1
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator.72", align 1
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator.72", align 1
  %14 = alloca i32, align 4
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator.72", align 1
  %17 = alloca i32, align 4
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator.72", align 1
  %20 = alloca i32, align 4
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator.72", align 1
  %23 = alloca i32, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.72", align 1
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator.72", align 1
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator.72", align 1
  %32 = alloca float, align 4
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator.72", align 1
  %35 = alloca float, align 4
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator.72", align 1
  %38 = alloca %class.aiVector3t, align 4
  %39 = alloca { <2 x float>, float }, align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator.72", align 1
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator.72", align 1
  %45 = alloca i64, align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator.72", align 1
  %48 = alloca i64, align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator.72", align 1
  %51 = alloca float, align 4
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator.72", align 1
  %54 = alloca %struct.aiString, align 4
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator.72", align 1
  %58 = alloca %struct.aiString, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %59 = load ptr, ptr %2, align 8
  %60 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %61 = load ptr, ptr %60, align 8, !tbaa !9
  %62 = icmp eq ptr null, %61
  br i1 %62, label %63, label %64

63:                                               ; preds = %1
  br label %462

64:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 1, ptr %3) #6
  %65 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %66 = load ptr, ptr %65, align 8, !tbaa !71
  %67 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6Assimp3FBX8Document7CreatorB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(336) %66)
  %68 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  %69 = xor i1 %68, true
  %70 = zext i1 %69 to i8
  store i8 %70, ptr %3, align 1, !tbaa !72
  %71 = load i8, ptr %3, align 1, !tbaa !72, !range !73, !noundef !74
  %72 = trunc i8 %71 to i1
  %73 = zext i1 %72 to i64
  %74 = select i1 %72, i32 1, i32 0
  %75 = add nsw i32 16, %74
  %76 = call noundef ptr @_ZN10aiMetadata5AllocEj(i32 noundef %75)
  %77 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %78 = load ptr, ptr %77, align 8, !tbaa !9
  %79 = getelementptr inbounds %struct.aiScene, ptr %78, i32 0, i32 14
  store ptr %76, ptr %79, align 8, !tbaa !75
  %80 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %81 = load ptr, ptr %80, align 8, !tbaa !9
  %82 = getelementptr inbounds %struct.aiScene, ptr %81, i32 0, i32 14
  %83 = load ptr, ptr %82, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %4) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %5) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef @.str.224, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %84 unwind label %303

84:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #6
  %85 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %86 = load ptr, ptr %85, align 8, !tbaa !71
  %87 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %86)
          to label %88 unwind label %307

88:                                               ; preds = %84
  %89 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings6UpAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %90 unwind label %307

90:                                               ; preds = %88
  store i32 %89, ptr %8, align 4, !tbaa !78
  %91 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %83, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %92 unwind label %307

92:                                               ; preds = %90
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #6
  %93 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %94 = load ptr, ptr %93, align 8, !tbaa !9
  %95 = getelementptr inbounds %struct.aiScene, ptr %94, i32 0, i32 14
  %96 = load ptr, ptr %95, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.225, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %97 unwind label %312

97:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  %98 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %99 = load ptr, ptr %98, align 8, !tbaa !71
  %100 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %99)
          to label %101 unwind label %316

101:                                              ; preds = %97
  %102 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings10UpAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %100)
          to label %103 unwind label %316

103:                                              ; preds = %101
  store i32 %102, ptr %11, align 4, !tbaa !78
  %104 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %96, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %105 unwind label %316

105:                                              ; preds = %103
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  %106 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %107 = load ptr, ptr %106, align 8, !tbaa !9
  %108 = getelementptr inbounds %struct.aiScene, ptr %107, i32 0, i32 14
  %109 = load ptr, ptr %108, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef @.str.226, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %110 unwind label %321

110:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  %111 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %112 = load ptr, ptr %111, align 8, !tbaa !71
  %113 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %112)
          to label %114 unwind label %325

114:                                              ; preds = %110
  %115 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings9FrontAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %113)
          to label %116 unwind label %325

116:                                              ; preds = %114
  store i32 %115, ptr %14, align 4, !tbaa !78
  %117 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %109, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 4 dereferenceable(4) %14)
          to label %118 unwind label %325

118:                                              ; preds = %116
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  %119 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %120 = load ptr, ptr %119, align 8, !tbaa !9
  %121 = getelementptr inbounds %struct.aiScene, ptr %120, i32 0, i32 14
  %122 = load ptr, ptr %121, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.227, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %123 unwind label %330

123:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  %124 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %125 = load ptr, ptr %124, align 8, !tbaa !71
  %126 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %125)
          to label %127 unwind label %334

127:                                              ; preds = %123
  %128 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings13FrontAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %126)
          to label %129 unwind label %334

129:                                              ; preds = %127
  store i32 %128, ptr %17, align 4, !tbaa !78
  %130 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %122, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %131 unwind label %334

131:                                              ; preds = %129
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  %132 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %133 = load ptr, ptr %132, align 8, !tbaa !9
  %134 = getelementptr inbounds %struct.aiScene, ptr %133, i32 0, i32 14
  %135 = load ptr, ptr %134, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef @.str.228, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %136 unwind label %339

136:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  %137 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %138 = load ptr, ptr %137, align 8, !tbaa !71
  %139 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %138)
          to label %140 unwind label %343

140:                                              ; preds = %136
  %141 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings9CoordAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %139)
          to label %142 unwind label %343

142:                                              ; preds = %140
  store i32 %141, ptr %20, align 4, !tbaa !78
  %143 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %135, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %144 unwind label %343

144:                                              ; preds = %142
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  %145 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %146 = load ptr, ptr %145, align 8, !tbaa !9
  %147 = getelementptr inbounds %struct.aiScene, ptr %146, i32 0, i32 14
  %148 = load ptr, ptr %147, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.229, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %149 unwind label %348

149:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  %150 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %151 = load ptr, ptr %150, align 8, !tbaa !71
  %152 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %151)
          to label %153 unwind label %352

153:                                              ; preds = %149
  %154 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings13CoordAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %152)
          to label %155 unwind label %352

155:                                              ; preds = %153
  store i32 %154, ptr %23, align 4, !tbaa !78
  %156 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %148, i32 noundef 5, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %157 unwind label %352

157:                                              ; preds = %155
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  %158 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %159 = load ptr, ptr %158, align 8, !tbaa !9
  %160 = getelementptr inbounds %struct.aiScene, ptr %159, i32 0, i32 14
  %161 = load ptr, ptr %160, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.230, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %162 unwind label %357

162:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  %163 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %164 = load ptr, ptr %163, align 8, !tbaa !71
  %165 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %164)
          to label %166 unwind label %361

166:                                              ; preds = %162
  %167 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings14OriginalUpAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %165)
          to label %168 unwind label %361

168:                                              ; preds = %166
  store i32 %167, ptr %26, align 4, !tbaa !78
  %169 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %161, i32 noundef 6, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %170 unwind label %361

170:                                              ; preds = %168
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  %171 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %172 = load ptr, ptr %171, align 8, !tbaa !9
  %173 = getelementptr inbounds %struct.aiScene, ptr %172, i32 0, i32 14
  %174 = load ptr, ptr %173, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.231, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %175 unwind label %366

175:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  %176 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %177 = load ptr, ptr %176, align 8, !tbaa !71
  %178 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %177)
          to label %179 unwind label %370

179:                                              ; preds = %175
  %180 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings18OriginalUpAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %178)
          to label %181 unwind label %370

181:                                              ; preds = %179
  store i32 %180, ptr %29, align 4, !tbaa !78
  %182 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %174, i32 noundef 7, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %183 unwind label %370

183:                                              ; preds = %181
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  %184 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %185 = load ptr, ptr %184, align 8, !tbaa !9
  %186 = getelementptr inbounds %struct.aiScene, ptr %185, i32 0, i32 14
  %187 = load ptr, ptr %186, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.232, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %188 unwind label %375

188:                                              ; preds = %183
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  %189 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %190 = load ptr, ptr %189, align 8, !tbaa !71
  %191 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %190)
          to label %192 unwind label %379

192:                                              ; preds = %188
  %193 = invoke noundef float @_ZNK6Assimp3FBX18FileGlobalSettings15UnitScaleFactorEv(ptr noundef nonnull align 8 dereferenceable(24) %191)
          to label %194 unwind label %379

194:                                              ; preds = %192
  store float %193, ptr %32, align 4, !tbaa !79
  %195 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %187, i32 noundef 8, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %196 unwind label %379

196:                                              ; preds = %194
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  %197 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %198 = load ptr, ptr %197, align 8, !tbaa !9
  %199 = getelementptr inbounds %struct.aiScene, ptr %198, i32 0, i32 14
  %200 = load ptr, ptr %199, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.233, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %201 unwind label %384

201:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #6
  %202 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %203 = load ptr, ptr %202, align 8, !tbaa !71
  %204 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %203)
          to label %205 unwind label %388

205:                                              ; preds = %201
  %206 = invoke noundef float @_ZNK6Assimp3FBX18FileGlobalSettings23OriginalUnitScaleFactorEv(ptr noundef nonnull align 8 dereferenceable(24) %204)
          to label %207 unwind label %388

207:                                              ; preds = %205
  store float %206, ptr %35, align 4, !tbaa !79
  %208 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %200, i32 noundef 9, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %209 unwind label %388

209:                                              ; preds = %207
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  %210 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %211 = load ptr, ptr %210, align 8, !tbaa !9
  %212 = getelementptr inbounds %struct.aiScene, ptr %211, i32 0, i32 14
  %213 = load ptr, ptr %212, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %214 unwind label %393

214:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 12, ptr %38) #6
  %215 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %216 = load ptr, ptr %215, align 8, !tbaa !71
  %217 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %216)
          to label %218 unwind label %397

218:                                              ; preds = %214
  %219 = invoke { <2 x float>, float } @_ZNK6Assimp3FBX18FileGlobalSettings12AmbientColorEv(ptr noundef nonnull align 8 dereferenceable(24) %217)
          to label %220 unwind label %397

220:                                              ; preds = %218
  store { <2 x float>, float } %219, ptr %39, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %38, ptr align 8 %39, i64 12, i1 false)
  %221 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetI10aiVector3tIfEEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %213, i32 noundef 10, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 4 dereferenceable(12) %38)
          to label %222 unwind label %397

222:                                              ; preds = %220
  call void @llvm.lifetime.end.p0(i64 12, ptr %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  %223 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %224 = load ptr, ptr %223, align 8, !tbaa !9
  %225 = getelementptr inbounds %struct.aiScene, ptr %224, i32 0, i32 14
  %226 = load ptr, ptr %225, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.234, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %227 unwind label %402

227:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  %228 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %229 = load ptr, ptr %228, align 8, !tbaa !71
  %230 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %229)
          to label %231 unwind label %406

231:                                              ; preds = %227
  %232 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings8TimeModeEv(ptr noundef nonnull align 8 dereferenceable(24) %230)
          to label %233 unwind label %406

233:                                              ; preds = %231
  store i32 %232, ptr %42, align 4, !tbaa !78
  %234 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %226, i32 noundef 11, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %235 unwind label %406

235:                                              ; preds = %233
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  %236 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %237 = load ptr, ptr %236, align 8, !tbaa !9
  %238 = getelementptr inbounds %struct.aiScene, ptr %237, i32 0, i32 14
  %239 = load ptr, ptr %238, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.235, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %240 unwind label %411

240:                                              ; preds = %235
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  %241 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %242 = load ptr, ptr %241, align 8, !tbaa !71
  %243 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %242)
          to label %244 unwind label %415

244:                                              ; preds = %240
  %245 = invoke noundef i64 @_ZNK6Assimp3FBX18FileGlobalSettings13TimeSpanStartEv(ptr noundef nonnull align 8 dereferenceable(24) %243)
          to label %246 unwind label %415

246:                                              ; preds = %244
  store i64 %245, ptr %45, align 8, !tbaa !81
  %247 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetImEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %239, i32 noundef 12, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %248 unwind label %415

248:                                              ; preds = %246
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  %249 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %250 = load ptr, ptr %249, align 8, !tbaa !9
  %251 = getelementptr inbounds %struct.aiScene, ptr %250, i32 0, i32 14
  %252 = load ptr, ptr %251, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.236, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %253 unwind label %420

253:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #6
  %254 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %255 = load ptr, ptr %254, align 8, !tbaa !71
  %256 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %255)
          to label %257 unwind label %424

257:                                              ; preds = %253
  %258 = invoke noundef i64 @_ZNK6Assimp3FBX18FileGlobalSettings12TimeSpanStopEv(ptr noundef nonnull align 8 dereferenceable(24) %256)
          to label %259 unwind label %424

259:                                              ; preds = %257
  store i64 %258, ptr %48, align 8, !tbaa !81
  %260 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetImEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %252, i32 noundef 13, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %261 unwind label %424

261:                                              ; preds = %259
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  %262 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %263 = load ptr, ptr %262, align 8, !tbaa !9
  %264 = getelementptr inbounds %struct.aiScene, ptr %263, i32 0, i32 14
  %265 = load ptr, ptr %264, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.237, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %266 unwind label %429

266:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #6
  %267 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %268 = load ptr, ptr %267, align 8, !tbaa !71
  %269 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %268)
          to label %270 unwind label %433

270:                                              ; preds = %266
  %271 = invoke noundef float @_ZNK6Assimp3FBX18FileGlobalSettings15CustomFrameRateEv(ptr noundef nonnull align 8 dereferenceable(24) %269)
          to label %272 unwind label %433

272:                                              ; preds = %270
  store float %271, ptr %51, align 4, !tbaa !79
  %273 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %265, i32 noundef 14, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 4 dereferenceable(4) %51)
          to label %274 unwind label %433

274:                                              ; preds = %272
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  %275 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %276 = load ptr, ptr %275, align 8, !tbaa !9
  %277 = getelementptr inbounds %struct.aiScene, ptr %276, i32 0, i32 14
  %278 = load ptr, ptr %277, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.238, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %279 unwind label %438

279:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 1028, ptr %54) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  %280 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %281 = load ptr, ptr %280, align 8, !tbaa !71
  %282 = invoke noundef i32 @_ZNK6Assimp3FBX8Document10FBXVersionEv(ptr noundef nonnull align 8 dereferenceable(336) %281)
          to label %283 unwind label %442

283:                                              ; preds = %279
  invoke void @_Z12ai_to_stringIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, i32 noundef %282)
          to label %284 unwind label %442

284:                                              ; preds = %283
  invoke void @_ZN8aiStringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 4 dereferenceable(1028) %54, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %285 unwind label %446

285:                                              ; preds = %284
  %286 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetI8aiStringEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %278, i32 noundef 15, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 4 dereferenceable(1028) %54)
          to label %287 unwind label %446

287:                                              ; preds = %285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 1028, ptr %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  %288 = load i8, ptr %3, align 1, !tbaa !72, !range !73, !noundef !74
  %289 = trunc i8 %288 to i1
  br i1 %289, label %290, label %461

290:                                              ; preds = %287
  %291 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 16
  %292 = load ptr, ptr %291, align 8, !tbaa !9
  %293 = getelementptr inbounds %struct.aiScene, ptr %292, i32 0, i32 14
  %294 = load ptr, ptr %293, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.239, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %295 unwind label %452

295:                                              ; preds = %290
  call void @llvm.lifetime.start.p0(i64 1028, ptr %58) #6
  %296 = getelementptr inbounds %"class.Assimp::FBX::FBXConverter", ptr %59, i32 0, i32 17
  %297 = load ptr, ptr %296, align 8, !tbaa !71
  %298 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6Assimp3FBX8Document7CreatorB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(336) %297)
          to label %299 unwind label %456

299:                                              ; preds = %295
  invoke void @_ZN8aiStringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 4 dereferenceable(1028) %58, ptr noundef nonnull align 8 dereferenceable(32) %298)
          to label %300 unwind label %456

300:                                              ; preds = %299
  %301 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetI8aiStringEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %294, i32 noundef 16, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 4 dereferenceable(1028) %58)
          to label %302 unwind label %456

302:                                              ; preds = %300
  call void @llvm.lifetime.end.p0(i64 1028, ptr %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %461

303:                                              ; preds = %64
  %304 = landingpad { ptr, i32 }
          cleanup
  %305 = extractvalue { ptr, i32 } %304, 0
  store ptr %305, ptr %6, align 8
  %306 = extractvalue { ptr, i32 } %304, 1
  store i32 %306, ptr %7, align 4
  br label %311

307:                                              ; preds = %90, %88, %84
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %6, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  br label %311

311:                                              ; preds = %307, %303
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #6
  br label %463

312:                                              ; preds = %92
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %6, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %7, align 4
  br label %320

316:                                              ; preds = %103, %101, %97
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %6, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %320

320:                                              ; preds = %316, %312
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  br label %463

321:                                              ; preds = %105
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %6, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %7, align 4
  br label %329

325:                                              ; preds = %116, %114, %110
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %6, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %329

329:                                              ; preds = %325, %321
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  br label %463

330:                                              ; preds = %118
  %331 = landingpad { ptr, i32 }
          cleanup
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %6, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %7, align 4
  br label %338

334:                                              ; preds = %129, %127, %123
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %6, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %338

338:                                              ; preds = %334, %330
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  br label %463

339:                                              ; preds = %131
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %6, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %7, align 4
  br label %347

343:                                              ; preds = %142, %140, %136
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %6, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %347

347:                                              ; preds = %343, %339
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  br label %463

348:                                              ; preds = %144
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %6, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %7, align 4
  br label %356

352:                                              ; preds = %155, %153, %149
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %6, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %356

356:                                              ; preds = %352, %348
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br label %463

357:                                              ; preds = %157
  %358 = landingpad { ptr, i32 }
          cleanup
  %359 = extractvalue { ptr, i32 } %358, 0
  store ptr %359, ptr %6, align 8
  %360 = extractvalue { ptr, i32 } %358, 1
  store i32 %360, ptr %7, align 4
  br label %365

361:                                              ; preds = %168, %166, %162
  %362 = landingpad { ptr, i32 }
          cleanup
  %363 = extractvalue { ptr, i32 } %362, 0
  store ptr %363, ptr %6, align 8
  %364 = extractvalue { ptr, i32 } %362, 1
  store i32 %364, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %365

365:                                              ; preds = %361, %357
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  br label %463

366:                                              ; preds = %170
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %6, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %7, align 4
  br label %374

370:                                              ; preds = %181, %179, %175
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %6, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %374

374:                                              ; preds = %370, %366
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  br label %463

375:                                              ; preds = %183
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %6, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %7, align 4
  br label %383

379:                                              ; preds = %194, %192, %188
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %6, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %383

383:                                              ; preds = %379, %375
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %463

384:                                              ; preds = %196
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %6, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %7, align 4
  br label %392

388:                                              ; preds = %207, %205, %201
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %6, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %392

392:                                              ; preds = %388, %384
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  br label %463

393:                                              ; preds = %209
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %6, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %7, align 4
  br label %401

397:                                              ; preds = %220, %218, %214
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %6, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 12, ptr %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %401

401:                                              ; preds = %397, %393
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %463

402:                                              ; preds = %222
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %6, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %7, align 4
  br label %410

406:                                              ; preds = %233, %231, %227
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %6, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %410

410:                                              ; preds = %406, %402
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  br label %463

411:                                              ; preds = %235
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %6, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %7, align 4
  br label %419

415:                                              ; preds = %246, %244, %240
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %6, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %419

419:                                              ; preds = %415, %411
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  br label %463

420:                                              ; preds = %248
  %421 = landingpad { ptr, i32 }
          cleanup
  %422 = extractvalue { ptr, i32 } %421, 0
  store ptr %422, ptr %6, align 8
  %423 = extractvalue { ptr, i32 } %421, 1
  store i32 %423, ptr %7, align 4
  br label %428

424:                                              ; preds = %259, %257, %253
  %425 = landingpad { ptr, i32 }
          cleanup
  %426 = extractvalue { ptr, i32 } %425, 0
  store ptr %426, ptr %6, align 8
  %427 = extractvalue { ptr, i32 } %425, 1
  store i32 %427, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %428

428:                                              ; preds = %424, %420
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  br label %463

429:                                              ; preds = %261
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %6, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %7, align 4
  br label %437

433:                                              ; preds = %272, %270, %266
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %6, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %437

437:                                              ; preds = %433, %429
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %463

438:                                              ; preds = %274
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %6, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %7, align 4
  br label %451

442:                                              ; preds = %283, %279
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %6, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %7, align 4
  br label %450

446:                                              ; preds = %285, %284
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %6, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %450

450:                                              ; preds = %446, %442
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 1028, ptr %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %451

451:                                              ; preds = %450, %438
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %463

452:                                              ; preds = %290
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %6, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %7, align 4
  br label %460

456:                                              ; preds = %300, %299, %295
  %457 = landingpad { ptr, i32 }
          cleanup
  %458 = extractvalue { ptr, i32 } %457, 0
  store ptr %458, ptr %6, align 8
  %459 = extractvalue { ptr, i32 } %457, 1
  store i32 %459, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 1028, ptr %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %460

460:                                              ; preds = %456, %452
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %463

461:                                              ; preds = %302, %287
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #6
  br label %462

462:                                              ; preds = %461, %63
  ret void

463:                                              ; preds = %460, %451, %437, %428, %419, %410, %401, %392, %383, %374, %365, %356, %347, %338, %329, %320, %311
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #6
  br label %464

464:                                              ; preds = %463
  %465 = load ptr, ptr %6, align 8
  %466 = load i32, ptr %7, align 4
  %467 = insertvalue { ptr, i32 } poison, ptr %465, 0
  %468 = insertvalue { ptr, i32 } %467, i32 %466, 1
  resume { ptr, i32 } %468
}

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) #2 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) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN10aiMetadata5AllocEj(i32 noundef) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetI8aiStringEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(1028)) #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4)) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetImEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4)) #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetI10aiVector3tIfEEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(12)) #5 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6Assimp3FBX8Document7CreatorB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(336)) #2 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { <2 x float>, float } @_ZNK6Assimp3FBX18FileGlobalSettings12AmbientColorEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z12ai_to_stringIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX8Document10FBXVersionEv(ptr noundef nonnull align 8 dereferenceable(336)) #2 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress 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 #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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { 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 #6 = { 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 472}
!10 = !{!"_ZTSN6Assimp3FBX12FBXConverterE", !11, i64 0, !12, i64 8, !16, i64 32, !20, i64 56, !24, i64 80, !28, i64 104, !32, i64 128, !36, i64 152, !45, i64 200, !50, i64 248, !55, i64 296, !55, i64 344, !60, i64 392, !65, i64 440, !66, i64 448, !6, i64 472, !6, i64 480, !70, i64 488}
!11 = !{!"int", !7, i64 0}
!12 = !{!"_ZTSSt6vectorIP6aiMeshSaIS1_EE", !13, i64 0}
!13 = !{!"_ZTSSt12_Vector_baseIP6aiMeshSaIS1_EE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIP6aiMeshSaIS1_EE12_Vector_implE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseIP6aiMeshSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!16 = !{!"_ZTSSt6vectorIP10aiMaterialSaIS1_EE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIP10aiMaterialSaIS1_EE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIP10aiMaterialSaIS1_EE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIP10aiMaterialSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!20 = !{!"_ZTSSt6vectorIP11aiAnimationSaIS1_EE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseIP11aiAnimationSaIS1_EE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIP11aiAnimationSaIS1_EE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIP11aiAnimationSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!24 = !{!"_ZTSSt6vectorIP7aiLightSaIS1_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIP7aiLightSaIS1_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIP7aiLightSaIS1_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIP7aiLightSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!28 = !{!"_ZTSSt6vectorIP8aiCameraSaIS1_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseIP8aiCameraSaIS1_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIP8aiCameraSaIS1_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseIP8aiCameraSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!32 = !{!"_ZTSSt6vectorIP9aiTextureSaIS1_EE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseIP9aiTextureSaIS1_EE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIP9aiTextureSaIS1_EE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIP9aiTextureSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!36 = !{!"_ZTSSt3mapIPKN6Assimp3FBX8MaterialEjSt4lessIS4_ESaISt4pairIKS4_jEEE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeIPKN6Assimp3FBX8MaterialESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeIPKN6Assimp3FBX8MaterialESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE13_Rb_tree_implISB_Lb1EEE", !39, i64 0, !41, i64 8}
!39 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN6Assimp3FBX8MaterialEEE", !40, i64 0}
!40 = !{!"_ZTSSt4lessIPKN6Assimp3FBX8MaterialEE"}
!41 = !{!"_ZTSSt15_Rb_tree_header", !42, i64 0, !44, i64 32}
!42 = !{!"_ZTSSt18_Rb_tree_node_base", !43, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!43 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!44 = !{!"long", !7, i64 0}
!45 = !{!"_ZTSSt3mapIPKN6Assimp3FBX5VideoEjSt4lessIS4_ESaISt4pairIKS4_jEEE", !46, i64 0}
!46 = !{!"_ZTSSt8_Rb_treeIPKN6Assimp3FBX5VideoESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE", !47, i64 0}
!47 = !{!"_ZTSNSt8_Rb_treeIPKN6Assimp3FBX5VideoESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE13_Rb_tree_implISB_Lb1EEE", !48, i64 0, !41, i64 8}
!48 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN6Assimp3FBX5VideoEEE", !49, i64 0}
!49 = !{!"_ZTSSt4lessIPKN6Assimp3FBX5VideoEE"}
!50 = !{!"_ZTSSt3mapIPKN6Assimp3FBX8GeometryESt6vectorIjSaIjEESt4lessIS4_ESaISt4pairIKS4_S7_EEE", !51, i64 0}
!51 = !{!"_ZTSSt8_Rb_treeIPKN6Assimp3FBX8GeometryESt4pairIKS4_St6vectorIjSaIjEEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE", !52, i64 0}
!52 = !{!"_ZTSNSt8_Rb_treeIPKN6Assimp3FBX8GeometryESt4pairIKS4_St6vectorIjSaIjEEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !53, i64 0, !41, i64 8}
!53 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN6Assimp3FBX8GeometryEEE", !54, i64 0}
!54 = !{!"_ZTSSt4lessIPKN6Assimp3FBX8GeometryEE"}
!55 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE", !56, i64 0}
!56 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !57, i64 0}
!57 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !58, i64 0, !41, i64 8}
!58 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !59, i64 0}
!59 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!60 = !{!"_ZTSSt3mapIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP6aiBoneSt4lessIS6_ESaISt4pairIS6_S8_EEE", !61, i64 0}
!61 = !{!"_ZTSSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_P6aiBoneESt10_Select1stISA_ESt4lessIS6_ESaISA_EE", !62, i64 0}
!62 = !{!"_ZTSNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_P6aiBoneESt10_Select1stISA_ESt4lessIS6_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !63, i64 0, !41, i64 8}
!63 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !64, i64 0}
!64 = !{!"_ZTSSt4lessIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!65 = !{!"double", !7, i64 0}
!66 = !{!"_ZTSSt6vectorIP10aiSkeletonSaIS1_EE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseIP10aiSkeletonSaIS1_EE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseIP10aiSkeletonSaIS1_EE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIP10aiSkeletonSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!70 = !{!"bool", !7, i64 0}
!71 = !{!10, !6, i64 480}
!72 = !{!70, !70, i64 0}
!73 = !{i8 0, i8 2}
!74 = !{}
!75 = !{!76, !6, i64 112}
!76 = !{!"_ZTS7aiScene", !11, i64 0, !6, i64 8, !11, i64 16, !6, i64 24, !11, i64 32, !6, i64 40, !11, i64 48, !6, i64 56, !11, i64 64, !6, i64 72, !11, i64 80, !6, i64 88, !11, i64 96, !6, i64 104, !6, i64 112, !77, i64 120, !11, i64 1148, !6, i64 1152, !6, i64 1160}
!77 = !{!"_ZTS8aiString", !11, i64 0, !7, i64 4}
!78 = !{!11, !11, i64 0}
!79 = !{!80, !80, i64 0}
!80 = !{!"float", !7, i64 0}
!81 = !{!44, !44, i64 0}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.72" = type { i8 }
%class.aiVector3t = type { float, float, float }
%struct.aiString = type { i32, [1024 x i8] }

@.str.96 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [22 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6Assimp3FBX12FBXConverter21ConvertGlobalSettingsEv(ptr nocapture noundef nonnull readonly align 8 dereferenceable(489) %0) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::__cxx11::basic_string", align 8
  %3 = alloca %"class.std::allocator.72", align 1
  %4 = alloca i32, align 4
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::allocator.72", align 1
  %7 = alloca i32, align 4
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator.72", align 1
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator.72", align 1
  %13 = alloca i32, align 4
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator.72", align 1
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator.72", align 1
  %19 = alloca i32, align 4
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator.72", align 1
  %22 = alloca i32, align 4
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator.72", align 1
  %25 = alloca i32, align 4
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator.72", align 1
  %28 = alloca float, align 4
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator.72", align 1
  %31 = alloca float, align 4
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator.72", align 1
  %34 = alloca %class.aiVector3t, align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator.72", align 1
  %37 = alloca i32, align 4
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator.72", align 1
  %40 = alloca i64, align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator.72", align 1
  %43 = alloca i64, align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator.72", align 1
  %46 = alloca float, align 4
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator.72", align 1
  %49 = alloca %struct.aiString, align 4
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator.72", align 1
  %53 = alloca %struct.aiString, align 4
  %54 = getelementptr inbounds i8, ptr %0, i64 472
  %55 = load ptr, ptr %54, align 8, !tbaa !5
  %56 = icmp eq ptr %55, null
  br i1 %56, label %334, label %57

57:                                               ; preds = %1
  %58 = getelementptr inbounds i8, ptr %0, i64 480
  %59 = load ptr, ptr %58, align 8, !tbaa !70
  %60 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6Assimp3FBX8Document7CreatorB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(336) %59)
  %61 = tail call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  %62 = select i1 %61, i32 16, i32 17
  %63 = tail call noundef ptr @_ZN10aiMetadata5AllocEj(i32 noundef %62)
  %64 = load ptr, ptr %54, align 8, !tbaa !5
  %65 = getelementptr inbounds i8, ptr %64, i64 112
  store ptr %63, ptr %65, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %3) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull @.str.224, ptr noundef nonnull align 1 dereferenceable(1) %3)
          to label %66 unwind label %246

66:                                               ; preds = %57
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #5
  %67 = load ptr, ptr %58, align 8, !tbaa !70
  %68 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %67)
          to label %69 unwind label %248

69:                                               ; preds = %66
  %70 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings6UpAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %68)
          to label %71 unwind label %248

71:                                               ; preds = %69
  store i32 %70, ptr %4, align 4, !tbaa !74
  %72 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %63, i32 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 4 dereferenceable(4) %4)
          to label %73 unwind label %248

73:                                               ; preds = %71
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #5
  %74 = load ptr, ptr %54, align 8, !tbaa !5
  %75 = getelementptr inbounds i8, ptr %74, i64 112
  %76 = load ptr, ptr %75, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.225, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %77 unwind label %251

77:                                               ; preds = %73
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #5
  %78 = load ptr, ptr %58, align 8, !tbaa !70
  %79 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %78)
          to label %80 unwind label %253

80:                                               ; preds = %77
  %81 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings10UpAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %79)
          to label %82 unwind label %253

82:                                               ; preds = %80
  store i32 %81, ptr %7, align 4, !tbaa !74
  %83 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %76, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %84 unwind label %253

84:                                               ; preds = %82
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #5
  %85 = load ptr, ptr %54, align 8, !tbaa !5
  %86 = getelementptr inbounds i8, ptr %85, i64 112
  %87 = load ptr, ptr %86, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.226, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %88 unwind label %256

88:                                               ; preds = %84
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #5
  %89 = load ptr, ptr %58, align 8, !tbaa !70
  %90 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %89)
          to label %91 unwind label %258

91:                                               ; preds = %88
  %92 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings9FrontAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %90)
          to label %93 unwind label %258

93:                                               ; preds = %91
  store i32 %92, ptr %10, align 4, !tbaa !74
  %94 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %87, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %95 unwind label %258

95:                                               ; preds = %93
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  %96 = load ptr, ptr %54, align 8, !tbaa !5
  %97 = getelementptr inbounds i8, ptr %96, i64 112
  %98 = load ptr, ptr %97, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.227, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %99 unwind label %261

99:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #5
  %100 = load ptr, ptr %58, align 8, !tbaa !70
  %101 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %100)
          to label %102 unwind label %263

102:                                              ; preds = %99
  %103 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings13FrontAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %101)
          to label %104 unwind label %263

104:                                              ; preds = %102
  store i32 %103, ptr %13, align 4, !tbaa !74
  %105 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %98, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %106 unwind label %263

106:                                              ; preds = %104
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  %107 = load ptr, ptr %54, align 8, !tbaa !5
  %108 = getelementptr inbounds i8, ptr %107, i64 112
  %109 = load ptr, ptr %108, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.228, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %110 unwind label %266

110:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #5
  %111 = load ptr, ptr %58, align 8, !tbaa !70
  %112 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %111)
          to label %113 unwind label %268

113:                                              ; preds = %110
  %114 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings9CoordAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %112)
          to label %115 unwind label %268

115:                                              ; preds = %113
  store i32 %114, ptr %16, align 4, !tbaa !74
  %116 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %109, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %117 unwind label %268

117:                                              ; preds = %115
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  %118 = load ptr, ptr %54, align 8, !tbaa !5
  %119 = getelementptr inbounds i8, ptr %118, i64 112
  %120 = load ptr, ptr %119, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.229, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %121 unwind label %271

121:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #5
  %122 = load ptr, ptr %58, align 8, !tbaa !70
  %123 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %122)
          to label %124 unwind label %273

124:                                              ; preds = %121
  %125 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings13CoordAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %123)
          to label %126 unwind label %273

126:                                              ; preds = %124
  store i32 %125, ptr %19, align 4, !tbaa !74
  %127 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %120, i32 noundef 5, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %128 unwind label %273

128:                                              ; preds = %126
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  %129 = load ptr, ptr %54, align 8, !tbaa !5
  %130 = getelementptr inbounds i8, ptr %129, i64 112
  %131 = load ptr, ptr %130, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.230, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %132 unwind label %276

132:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #5
  %133 = load ptr, ptr %58, align 8, !tbaa !70
  %134 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %133)
          to label %135 unwind label %278

135:                                              ; preds = %132
  %136 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings14OriginalUpAxisEv(ptr noundef nonnull align 8 dereferenceable(24) %134)
          to label %137 unwind label %278

137:                                              ; preds = %135
  store i32 %136, ptr %22, align 4, !tbaa !74
  %138 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %131, i32 noundef 6, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %139 unwind label %278

139:                                              ; preds = %137
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  %140 = load ptr, ptr %54, align 8, !tbaa !5
  %141 = getelementptr inbounds i8, ptr %140, i64 112
  %142 = load ptr, ptr %141, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.231, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %143 unwind label %281

143:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #5
  %144 = load ptr, ptr %58, align 8, !tbaa !70
  %145 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %144)
          to label %146 unwind label %283

146:                                              ; preds = %143
  %147 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings18OriginalUpAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24) %145)
          to label %148 unwind label %283

148:                                              ; preds = %146
  store i32 %147, ptr %25, align 4, !tbaa !74
  %149 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %142, i32 noundef 7, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 4 dereferenceable(4) %25)
          to label %150 unwind label %283

150:                                              ; preds = %148
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  %151 = load ptr, ptr %54, align 8, !tbaa !5
  %152 = getelementptr inbounds i8, ptr %151, i64 112
  %153 = load ptr, ptr %152, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.232, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %154 unwind label %286

154:                                              ; preds = %150
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #5
  %155 = load ptr, ptr %58, align 8, !tbaa !70
  %156 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %155)
          to label %157 unwind label %288

157:                                              ; preds = %154
  %158 = invoke noundef float @_ZNK6Assimp3FBX18FileGlobalSettings15UnitScaleFactorEv(ptr noundef nonnull align 8 dereferenceable(24) %156)
          to label %159 unwind label %288

159:                                              ; preds = %157
  store float %158, ptr %28, align 4, !tbaa !75
  %160 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %153, i32 noundef 8, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %161 unwind label %288

161:                                              ; preds = %159
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  %162 = load ptr, ptr %54, align 8, !tbaa !5
  %163 = getelementptr inbounds i8, ptr %162, i64 112
  %164 = load ptr, ptr %163, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.233, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %165 unwind label %291

165:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #5
  %166 = load ptr, ptr %58, align 8, !tbaa !70
  %167 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %166)
          to label %168 unwind label %293

168:                                              ; preds = %165
  %169 = invoke noundef float @_ZNK6Assimp3FBX18FileGlobalSettings23OriginalUnitScaleFactorEv(ptr noundef nonnull align 8 dereferenceable(24) %167)
          to label %170 unwind label %293

170:                                              ; preds = %168
  store float %169, ptr %31, align 4, !tbaa !75
  %171 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %164, i32 noundef 9, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 4 dereferenceable(4) %31)
          to label %172 unwind label %293

172:                                              ; preds = %170
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  %173 = load ptr, ptr %54, align 8, !tbaa !5
  %174 = getelementptr inbounds i8, ptr %173, i64 112
  %175 = load ptr, ptr %174, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %176 unwind label %296

176:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %34) #5
  %177 = load ptr, ptr %58, align 8, !tbaa !70
  %178 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %177)
          to label %179 unwind label %298

179:                                              ; preds = %176
  %180 = invoke { <2 x float>, float } @_ZNK6Assimp3FBX18FileGlobalSettings12AmbientColorEv(ptr noundef nonnull align 8 dereferenceable(24) %178)
          to label %181 unwind label %298

181:                                              ; preds = %179
  %.fca.0.extract = extractvalue { <2 x float>, float } %180, 0
  %.fca.1.extract = extractvalue { <2 x float>, float } %180, 1
  store <2 x float> %.fca.0.extract, ptr %34, align 8
  %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %34, i64 8
  store float %.fca.1.extract, ptr %.sroa.2.0..sroa_idx, align 8
  %182 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetI10aiVector3tIfEEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %175, i32 noundef 10, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 4 dereferenceable(12) %34)
          to label %183 unwind label %298

183:                                              ; preds = %181
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %34) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  %184 = load ptr, ptr %54, align 8, !tbaa !5
  %185 = getelementptr inbounds i8, ptr %184, i64 112
  %186 = load ptr, ptr %185, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.234, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %187 unwind label %301

187:                                              ; preds = %183
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #5
  %188 = load ptr, ptr %58, align 8, !tbaa !70
  %189 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %188)
          to label %190 unwind label %303

190:                                              ; preds = %187
  %191 = invoke noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings8TimeModeEv(ptr noundef nonnull align 8 dereferenceable(24) %189)
          to label %192 unwind label %303

192:                                              ; preds = %190
  store i32 %191, ptr %37, align 4, !tbaa !74
  %193 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %186, i32 noundef 11, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %194 unwind label %303

194:                                              ; preds = %192
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  %195 = load ptr, ptr %54, align 8, !tbaa !5
  %196 = getelementptr inbounds i8, ptr %195, i64 112
  %197 = load ptr, ptr %196, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.235, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %198 unwind label %306

198:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #5
  %199 = load ptr, ptr %58, align 8, !tbaa !70
  %200 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %199)
          to label %201 unwind label %308

201:                                              ; preds = %198
  %202 = invoke noundef i64 @_ZNK6Assimp3FBX18FileGlobalSettings13TimeSpanStartEv(ptr noundef nonnull align 8 dereferenceable(24) %200)
          to label %203 unwind label %308

203:                                              ; preds = %201
  store i64 %202, ptr %40, align 8, !tbaa !77
  %204 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetImEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %197, i32 noundef 12, ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %205 unwind label %308

205:                                              ; preds = %203
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  %206 = load ptr, ptr %54, align 8, !tbaa !5
  %207 = getelementptr inbounds i8, ptr %206, i64 112
  %208 = load ptr, ptr %207, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.236, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %209 unwind label %311

209:                                              ; preds = %205
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #5
  %210 = load ptr, ptr %58, align 8, !tbaa !70
  %211 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %210)
          to label %212 unwind label %313

212:                                              ; preds = %209
  %213 = invoke noundef i64 @_ZNK6Assimp3FBX18FileGlobalSettings12TimeSpanStopEv(ptr noundef nonnull align 8 dereferenceable(24) %211)
          to label %214 unwind label %313

214:                                              ; preds = %212
  store i64 %213, ptr %43, align 8, !tbaa !77
  %215 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetImEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %208, i32 noundef 13, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %216 unwind label %313

216:                                              ; preds = %214
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  %217 = load ptr, ptr %54, align 8, !tbaa !5
  %218 = getelementptr inbounds i8, ptr %217, i64 112
  %219 = load ptr, ptr %218, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.237, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %220 unwind label %316

220:                                              ; preds = %216
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #5
  %221 = load ptr, ptr %58, align 8, !tbaa !70
  %222 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336) %221)
          to label %223 unwind label %318

223:                                              ; preds = %220
  %224 = invoke noundef float @_ZNK6Assimp3FBX18FileGlobalSettings15CustomFrameRateEv(ptr noundef nonnull align 8 dereferenceable(24) %222)
          to label %225 unwind label %318

225:                                              ; preds = %223
  store float %224, ptr %46, align 4, !tbaa !75
  %226 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %219, i32 noundef 14, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %227 unwind label %318

227:                                              ; preds = %225
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #5
  %228 = load ptr, ptr %54, align 8, !tbaa !5
  %229 = getelementptr inbounds i8, ptr %228, i64 112
  %230 = load ptr, ptr %229, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.238, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %231 unwind label %321

231:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 1028, ptr nonnull %49) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #5
  %232 = load ptr, ptr %58, align 8, !tbaa !70
  %233 = call noundef i32 @_ZNK6Assimp3FBX8Document10FBXVersionEv(ptr noundef nonnull align 8 dereferenceable(336) %232)
  invoke void @_Z12ai_to_stringIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, i32 noundef %233)
          to label %234 unwind label %323

234:                                              ; preds = %231
  call void @_ZN8aiStringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 4 dereferenceable(1028) %49, ptr noundef nonnull align 8 dereferenceable(32) %50)
  %235 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetI8aiStringEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %230, i32 noundef 15, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 4 dereferenceable(1028) %49)
          to label %236 unwind label %325

236:                                              ; preds = %234
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  call void @llvm.lifetime.end.p0(i64 1028, ptr nonnull %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  br i1 %61, label %334, label %237

237:                                              ; preds = %236
  %238 = load ptr, ptr %54, align 8, !tbaa !5
  %239 = getelementptr inbounds i8, ptr %238, i64 112
  %240 = load ptr, ptr %239, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.239, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %241 unwind label %329

241:                                              ; preds = %237
  call void @llvm.lifetime.start.p0(i64 1028, ptr nonnull %53) #5
  %242 = load ptr, ptr %58, align 8, !tbaa !70
  %243 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6Assimp3FBX8Document7CreatorB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(336) %242)
  call void @_ZN8aiStringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 4 dereferenceable(1028) %53, ptr noundef nonnull align 8 dereferenceable(32) %243)
  %244 = invoke noundef zeroext i1 @_ZN10aiMetadata3SetI8aiStringEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24) %240, i32 noundef 16, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 4 dereferenceable(1028) %53)
          to label %245 unwind label %331

245:                                              ; preds = %241
  call void @llvm.lifetime.end.p0(i64 1028, ptr nonnull %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #5
  br label %334

246:                                              ; preds = %57
  %247 = landingpad { ptr, i32 }
          cleanup
  br label %250

248:                                              ; preds = %71, %69, %66
  %249 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #5
  br label %250

250:                                              ; preds = %248, %246
  %.pn = phi { ptr, i32 } [ %249, %248 ], [ %247, %246 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #5
  br label %335

251:                                              ; preds = %73
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %255

253:                                              ; preds = %82, %80, %77
  %254 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #5
  br label %255

255:                                              ; preds = %253, %251
  %.pn28 = phi { ptr, i32 } [ %254, %253 ], [ %252, %251 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #5
  br label %335

256:                                              ; preds = %84
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %260

258:                                              ; preds = %93, %91, %88
  %259 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  br label %260

260:                                              ; preds = %258, %256
  %.pn30 = phi { ptr, i32 } [ %259, %258 ], [ %257, %256 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  br label %335

261:                                              ; preds = %95
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %265

263:                                              ; preds = %104, %102, %99
  %264 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %265

265:                                              ; preds = %263, %261
  %.pn32 = phi { ptr, i32 } [ %264, %263 ], [ %262, %261 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  br label %335

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

268:                                              ; preds = %115, %113, %110
  %269 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  br label %270

270:                                              ; preds = %268, %266
  %.pn34 = phi { ptr, i32 } [ %269, %268 ], [ %267, %266 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  br label %335

271:                                              ; preds = %117
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %275

273:                                              ; preds = %126, %124, %121
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %275

275:                                              ; preds = %273, %271
  %.pn36 = phi { ptr, i32 } [ %274, %273 ], [ %272, %271 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  br label %335

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

278:                                              ; preds = %137, %135, %132
  %279 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %280

280:                                              ; preds = %278, %276
  %.pn38 = phi { ptr, i32 } [ %279, %278 ], [ %277, %276 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  br label %335

281:                                              ; preds = %139
  %282 = landingpad { ptr, i32 }
          cleanup
  br label %285

283:                                              ; preds = %148, %146, %143
  %284 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  br label %285

285:                                              ; preds = %283, %281
  %.pn40 = phi { ptr, i32 } [ %284, %283 ], [ %282, %281 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #5
  br label %335

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

288:                                              ; preds = %159, %157, %154
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %290

290:                                              ; preds = %288, %286
  %.pn42 = phi { ptr, i32 } [ %289, %288 ], [ %287, %286 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  br label %335

291:                                              ; preds = %161
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %295

293:                                              ; preds = %170, %168, %165
  %294 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %295

295:                                              ; preds = %293, %291
  %.pn44 = phi { ptr, i32 } [ %294, %293 ], [ %292, %291 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #5
  br label %335

296:                                              ; preds = %172
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %300

298:                                              ; preds = %181, %179, %176
  %299 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %34) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %300

300:                                              ; preds = %298, %296
  %.pn46 = phi { ptr, i32 } [ %299, %298 ], [ %297, %296 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  br label %335

301:                                              ; preds = %183
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %305

303:                                              ; preds = %192, %190, %187
  %304 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  br label %305

305:                                              ; preds = %303, %301
  %.pn48 = phi { ptr, i32 } [ %304, %303 ], [ %302, %301 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #5
  br label %335

306:                                              ; preds = %194
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %310

308:                                              ; preds = %203, %201, %198
  %309 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %310

310:                                              ; preds = %308, %306
  %.pn50 = phi { ptr, i32 } [ %309, %308 ], [ %307, %306 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  br label %335

311:                                              ; preds = %205
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %315

313:                                              ; preds = %214, %212, %209
  %314 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %315

315:                                              ; preds = %313, %311
  %.pn52 = phi { ptr, i32 } [ %314, %313 ], [ %312, %311 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #5
  br label %335

316:                                              ; preds = %216
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %320

318:                                              ; preds = %225, %223, %220
  %319 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %320

320:                                              ; preds = %318, %316
  %.pn54 = phi { ptr, i32 } [ %319, %318 ], [ %317, %316 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #5
  br label %335

321:                                              ; preds = %227
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %328

323:                                              ; preds = %231
  %324 = landingpad { ptr, i32 }
          cleanup
  br label %327

325:                                              ; preds = %234
  %326 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %327

327:                                              ; preds = %325, %323
  %.pn56 = phi { ptr, i32 } [ %326, %325 ], [ %324, %323 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #5
  call void @llvm.lifetime.end.p0(i64 1028, ptr nonnull %49) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %328

328:                                              ; preds = %327, %321
  %.pn56.pn = phi { ptr, i32 } [ %.pn56, %327 ], [ %322, %321 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #5
  br label %335

329:                                              ; preds = %237
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %333

331:                                              ; preds = %241
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1028, ptr nonnull %53) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  br label %333

333:                                              ; preds = %331, %329
  %.pn59 = phi { ptr, i32 } [ %332, %331 ], [ %330, %329 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #5
  br label %335

334:                                              ; preds = %236, %245, %1
  ret void

335:                                              ; preds = %333, %328, %320, %315, %310, %305, %300, %295, %290, %285, %280, %275, %270, %265, %260, %255, %250
  %.pn59.pn = phi { ptr, i32 } [ %.pn59, %333 ], [ %.pn56.pn, %328 ], [ %.pn54, %320 ], [ %.pn52, %315 ], [ %.pn50, %310 ], [ %.pn48, %305 ], [ %.pn46, %300 ], [ %.pn44, %295 ], [ %.pn42, %290 ], [ %.pn40, %285 ], [ %.pn38, %280 ], [ %.pn36, %275 ], [ %.pn34, %270 ], [ %.pn32, %265 ], [ %.pn30, %260 ], [ %.pn28, %255 ], [ %.pn, %250 ]
  resume { ptr, i32 } %.pn59.pn
}

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN10aiMetadata5AllocEj(i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetI8aiStringEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(1028)) local_unnamed_addr #4 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetIiEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetImEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetIfEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN10aiMetadata3SetI10aiVector3tIfEEEbjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(12)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6Assimp3FBX8Document14GlobalSettingsEv(ptr noundef nonnull align 8 dereferenceable(336)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings8TimeModeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef float @_ZNK6Assimp3FBX18FileGlobalSettings15CustomFrameRateEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6Assimp3FBX8Document7CreatorB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(336)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings6UpAxisEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings10UpAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings9FrontAxisEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings13FrontAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings9CoordAxisEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings13CoordAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings14OriginalUpAxisEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX18FileGlobalSettings18OriginalUpAxisSignEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef float @_ZNK6Assimp3FBX18FileGlobalSettings15UnitScaleFactorEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef float @_ZNK6Assimp3FBX18FileGlobalSettings23OriginalUnitScaleFactorEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { <2 x float>, float } @_ZNK6Assimp3FBX18FileGlobalSettings12AmbientColorEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK6Assimp3FBX18FileGlobalSettings13TimeSpanStartEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK6Assimp3FBX18FileGlobalSettings12TimeSpanStopEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z12ai_to_stringIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK6Assimp3FBX8Document10FBXVersionEv(ptr noundef nonnull align 8 dereferenceable(336)) local_unnamed_addr #2 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="64" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress 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 #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 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 = { 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 472}
!6 = !{!"_ZTSN6Assimp3FBX12FBXConverterE", !7, i64 0, !10, i64 8, !15, i64 32, !19, i64 56, !23, i64 80, !27, i64 104, !31, i64 128, !35, i64 152, !44, i64 200, !49, i64 248, !54, i64 296, !54, i64 344, !59, i64 392, !64, i64 440, !65, i64 448, !14, i64 472, !14, i64 480, !69, i64 488}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSSt6vectorIP6aiMeshSaIS1_EE", !11, i64 0}
!11 = !{!"_ZTSSt12_Vector_baseIP6aiMeshSaIS1_EE", !12, i64 0}
!12 = !{!"_ZTSNSt12_Vector_baseIP6aiMeshSaIS1_EE12_Vector_implE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseIP6aiMeshSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!14 = !{!"any pointer", !8, i64 0}
!15 = !{!"_ZTSSt6vectorIP10aiMaterialSaIS1_EE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIP10aiMaterialSaIS1_EE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIP10aiMaterialSaIS1_EE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIP10aiMaterialSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!19 = !{!"_ZTSSt6vectorIP11aiAnimationSaIS1_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIP11aiAnimationSaIS1_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIP11aiAnimationSaIS1_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIP11aiAnimationSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!23 = !{!"_ZTSSt6vectorIP7aiLightSaIS1_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIP7aiLightSaIS1_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIP7aiLightSaIS1_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIP7aiLightSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!27 = !{!"_ZTSSt6vectorIP8aiCameraSaIS1_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIP8aiCameraSaIS1_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIP8aiCameraSaIS1_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIP8aiCameraSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!31 = !{!"_ZTSSt6vectorIP9aiTextureSaIS1_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseIP9aiTextureSaIS1_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseIP9aiTextureSaIS1_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIP9aiTextureSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!35 = !{!"_ZTSSt3mapIPKN6Assimp3FBX8MaterialEjSt4lessIS4_ESaISt4pairIKS4_jEEE", !36, i64 0}
!36 = !{!"_ZTSSt8_Rb_treeIPKN6Assimp3FBX8MaterialESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE", !37, i64 0}
!37 = !{!"_ZTSNSt8_Rb_treeIPKN6Assimp3FBX8MaterialESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE13_Rb_tree_implISB_Lb1EEE", !38, i64 0, !40, i64 8}
!38 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN6Assimp3FBX8MaterialEEE", !39, i64 0}
!39 = !{!"_ZTSSt4lessIPKN6Assimp3FBX8MaterialEE"}
!40 = !{!"_ZTSSt15_Rb_tree_header", !41, i64 0, !43, i64 32}
!41 = !{!"_ZTSSt18_Rb_tree_node_base", !42, i64 0, !14, i64 8, !14, i64 16, !14, i64 24}
!42 = !{!"_ZTSSt14_Rb_tree_color", !8, i64 0}
!43 = !{!"long", !8, i64 0}
!44 = !{!"_ZTSSt3mapIPKN6Assimp3FBX5VideoEjSt4lessIS4_ESaISt4pairIKS4_jEEE", !45, i64 0}
!45 = !{!"_ZTSSt8_Rb_treeIPKN6Assimp3FBX5VideoESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE", !46, i64 0}
!46 = !{!"_ZTSNSt8_Rb_treeIPKN6Assimp3FBX5VideoESt4pairIKS4_jESt10_Select1stIS7_ESt4lessIS4_ESaIS7_EE13_Rb_tree_implISB_Lb1EEE", !47, i64 0, !40, i64 8}
!47 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN6Assimp3FBX5VideoEEE", !48, i64 0}
!48 = !{!"_ZTSSt4lessIPKN6Assimp3FBX5VideoEE"}
!49 = !{!"_ZTSSt3mapIPKN6Assimp3FBX8GeometryESt6vectorIjSaIjEESt4lessIS4_ESaISt4pairIKS4_S7_EEE", !50, i64 0}
!50 = !{!"_ZTSSt8_Rb_treeIPKN6Assimp3FBX8GeometryESt4pairIKS4_St6vectorIjSaIjEEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE", !51, i64 0}
!51 = !{!"_ZTSNSt8_Rb_treeIPKN6Assimp3FBX8GeometryESt4pairIKS4_St6vectorIjSaIjEEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !52, i64 0, !40, i64 8}
!52 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN6Assimp3FBX8GeometryEEE", !53, i64 0}
!53 = !{!"_ZTSSt4lessIPKN6Assimp3FBX8GeometryEE"}
!54 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE", !55, i64 0}
!55 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !56, i64 0}
!56 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !57, i64 0, !40, i64 8}
!57 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !58, i64 0}
!58 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!59 = !{!"_ZTSSt3mapIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP6aiBoneSt4lessIS6_ESaISt4pairIS6_S8_EEE", !60, i64 0}
!60 = !{!"_ZTSSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_P6aiBoneESt10_Select1stISA_ESt4lessIS6_ESaISA_EE", !61, i64 0}
!61 = !{!"_ZTSNSt8_Rb_treeIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIS6_P6aiBoneESt10_Select1stISA_ESt4lessIS6_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !62, i64 0, !40, i64 8}
!62 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !63, i64 0}
!63 = !{!"_ZTSSt4lessIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!64 = !{!"double", !8, i64 0}
!65 = !{!"_ZTSSt6vectorIP10aiSkeletonSaIS1_EE", !66, i64 0}
!66 = !{!"_ZTSSt12_Vector_baseIP10aiSkeletonSaIS1_EE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIP10aiSkeletonSaIS1_EE12_Vector_implE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseIP10aiSkeletonSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!69 = !{!"bool", !8, i64 0}
!70 = !{!6, !14, i64 480}
!71 = !{!72, !14, i64 112}
!72 = !{!"_ZTS7aiScene", !7, i64 0, !14, i64 8, !7, i64 16, !14, i64 24, !7, i64 32, !14, i64 40, !7, i64 48, !14, i64 56, !7, i64 64, !14, i64 72, !7, i64 80, !14, i64 88, !7, i64 96, !14, i64 104, !14, i64 112, !73, i64 120, !7, i64 1148, !14, i64 1152, !14, i64 1160}
!73 = !{!"_ZTS8aiString", !7, i64 0, !8, i64 4}
!74 = !{!7, !7, i64 0}
!75 = !{!76, !76, i64 0}
!76 = !{!"float", !8, i64 0}
!77 = !{!43, !43, i64 0}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass