namespace TMPro.Examples
{

	// [TypeInfo RVA: 0x0]
	public class Benchmark03 : MonoBehaviour
	{
		public int NumberOfSamples; // 0x20
		public TMPro.Examples.Benchmark03.BenchmarkType Benchmark; // 0x24
		public UnityEngine.Font SourceFont; // 0x28

		// RVA: 0x3269224 VA: 0x7818954224
		private void Awake();
		/*
		 *   return;
		 */
		// RVA: 0x3269228 VA: 0x7818954228
		private void Start();
		/*
		 *   undefined1 auVar1 [12];
		 *   undefined1 auVar2 [12];
		 *   undefined8 *puVar3;
		 *   uint uVar4;
		 *   undefined *puVar5;
		 *   undefined *puVar6;
		 *   undefined *puVar7;
		 *   undefined *puVar8;
		 *   undefined *puVar9;
		 *   void *pvVar10;
		 *   void *value;
		 *   long *this_00;
		 *   void *extraout_x1;
		 *   undefined8 uVar11;
		 *   void *pvVar12;
		 *   void *pvVar13;
		 *   int iVar14;
		 *   UnityEngine_Color value_00;
		 *
		 *   if ((bRam000000000754abd5 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c26a8);
		 *     func_0x031fdc8c(PTR_DAT_070c1540);
		 *     func_0x031fdc8c(PTR_DAT_070c5268);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548);
		 *     func_0x031fdc8c(typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0);
		 *     func_0x031fdc8c(PTR_DAT_070c52f8);
		 *     func_0x031fdc8c(PTR_DAT_070c5300);
		 *     func_0x031fdc8c(PTR_DAT_070c5308);
		 *     bRam000000000754abd5 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   iVar14 = this.Benchmark;
		 *   pvVar12 = null;
		 *   if (iVar14 < 2) {
		 *     if (iVar14 == 0) {
		 *       pvVar12 = this.SourceFont;
		 *       if (*(int *)(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0 + 0xe4) == 0) {
		 *         func_0x031fde08(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0,methodInfo);
		 *       }
		 *       uVar11 = 0x1045;
		 * LAB_033693a0:
		 *       pvVar12 = (void *)TMPro.TMP_FontAsset.CreateFontAsset(pvVar12,0x5a,9,uVar11,0x100,0x100,1,true);
		 *       goto LAB_03369438;
		 *     }
		 *     if (iVar14 != 1) goto LAB_03369438;
		 *     pvVar12 = this.SourceFont;
		 *     if (*(int *)(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0 + 0xe4) == 0) {
		 *       func_0x031fde08(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0,methodInfo);
		 *     }
		 *     pvVar12 = (void *)TMPro.TMP_FontAsset.CreateFontAsset(pvVar12,0x5a,9,0x1045,0x100,0x100,1,true);
		 *     puVar3 = (undefined8 *)PTR_DAT_070c5308;
		 *   }
		 *   else {
		 *     if (iVar14 != 2) {
		 *       if (iVar14 != 3) goto LAB_03369438;
		 *       pvVar12 = this.SourceFont;
		 *       if (*(int *)(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0 + 0xe4) == 0) {
		 *         func_0x031fde08(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0,methodInfo);
		 *       }
		 *       uVar11 = 0x1015;
		 *       goto LAB_033693a0;
		 *     }
		 *     pvVar12 = this.SourceFont;
		 *     if (*(int *)(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0 + 0xe4) == 0) {
		 *       func_0x031fde08(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_FontAsset_6FC52F0,methodInfo);
		 *     }
		 *     pvVar12 = (void *)TMPro.TMP_FontAsset.CreateFontAsset(pvVar12,0x5a,9,0x1045,0x100,0x100,1,true);
		 *     puVar3 = (undefined8 *)PTR_DAT_070c52f8;
		 *   }
		 *   if (pvVar12 != null) {
		 *     pvVar13 = *(void **)((long)pvVar12 + 0x88);
		 *     pvVar10 = UnityEngine.Shader.Find((void *)*puVar3);
		 *     if (pvVar13 != null) {
		 *       UnityEngine.Material.set_shader(pvVar13,pvVar10);
		 * LAB_03369438:
		 *       puVar9 = PTR_DAT_070c5300;
		 *       puVar8 = PTR_DAT_070c5268;
		 *       puVar7 = PTR_DAT_070c26a8;
		 *       puVar6 = typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548;
		 *       puVar5 = PTR_DAT_070c1540;
		 *       uVar4 = _UNK_0134e734;
		 *       if (0 < this.NumberOfSamples) {
		 *         iVar14 = 0;
		 *         do {
		 *           if ((uint)this.Benchmark < 4) {
		 *             pvVar10 = (void *)func_0x031fdf24(*(undefined8 *)puVar6);
		 *             UnityEngine.GameObject..ctor(pvVar10);
		 *             if ((pvVar10 == null) ||
		 *                (pvVar13 = UnityEngine.GameObject.get_transform(pvVar10), pvVar13 == null))
		 *             goto LAB_03369678;
		 *             auVar2._4_8_ = 0;
		 *             auVar2._0_4_ = uVar4;
		 *             UnityEngine.Transform.set_position(pvVar13,(UnityEngine_Vector3)(auVar2 << 0x20));
		 *             this_00 = (long *)func_0x037f2fa8(pvVar10,*(undefined8 *)puVar5);
		 *             if (this_00 == null) goto LAB_03369678;
		 *             TMPro.TMP_Text.set_font(this_00,pvVar12);
		 *             TMPro.TMP_Text.set_fontSize(this_00,128.0);
		 *             (**(code **)(*this_00 + 0x558))
		 *                       (this_00,*(undefined8 *)puVar9,*(undefined8 *)(*this_00 + 0x560));
		 *             TMPro.TMP_Text.set_alignment(this_00,0x202);
		 *             (**(code **)(*this_00 + 0x2a8))
		 *                       (0x3f800000,0x3f800000,0,0x3f800000,this_00,*(undefined8 *)(*this_00 + 0x2b0))
		 *             ;
		 *             if (this.Benchmark == 3) {
		 *               TMPro.TMP_Text.set_fontSize(this_00,132.0);
		 *             }
		 *           }
		 *           else if (this.Benchmark == 4) {
		 *             pvVar10 = (void *)func_0x031fdf24(*(undefined8 *)puVar6);
		 *             UnityEngine.GameObject..ctor(pvVar10);
		 *             if ((pvVar10 == null) ||
		 *                (pvVar13 = UnityEngine.GameObject.get_transform(pvVar10), pvVar13 == null))
		 *             goto LAB_03369678;
		 *             auVar1._4_8_ = 0;
		 *             auVar1._0_4_ = uVar4;
		 *             UnityEngine.Transform.set_position(pvVar13,(UnityEngine_Vector3)(auVar1 << 0x20));
		 *             pvVar10 = (void *)func_0x037f2fa8(pvVar10,*(undefined8 *)puVar8);
		 *             if (pvVar10 == null) goto LAB_03369678;
		 *             pvVar13 = (void *)func_0x0373df50(pvVar10,*(undefined8 *)puVar7);
		 *             if ((this.SourceFont == null) ||
		 *                (value = UnityEngine.Font.get_material(this.SourceFont), pvVar13 == null))
		 *             goto LAB_03369678;
		 *             UnityEngine.Renderer.set_sharedMaterial(pvVar13,value);
		 *             UnityEngine.TextMesh.set_font(pvVar10,this.SourceFont);
		 *             UnityEngine.TextMesh.set_anchor(pvVar10,4);
		 *             UnityEngine.TextMesh.set_fontSize(pvVar10,0x82);
		 *             value_00.b = 0.0;
		 *             value_00.a = 1.0;
		 *             value_00.r = 1.0;
		 *             value_00.g = 1.0;
		 *             UnityEngine.TextMesh.set_color(pvVar10,value_00);
		 *             UnityEngine.TextMesh.set_text(pvVar10,*(void **)puVar9);
		 *           }
		 *           iVar14 = iVar14 + 1;
		 *         } while (iVar14 < this.NumberOfSamples);
		 *       }
		 *       return;
		 *     }
		 *   }
		 * LAB_03369678:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x326967C VA: 0x781895467C
		public void .ctor();
		/*
		 *   undefined *puVar1;
		 *
		 *   this.NumberOfSamples = 100;
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000755f76f & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
		 *     bRam000000000755f76f = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   return;
		 */
	}
}
