namespace TMPro.Examples
{

	// [TypeInfo RVA: 0x0]
	public class Benchmark04 : MonoBehaviour
	{
		public int SpawnType; // 0x20
		public int MinPointSize; // 0x24
		public int MaxPointSize; // 0x28
		public int Steps; // 0x2C
		private UnityEngine.Transform m_Transform; // 0x30

		// RVA: 0x326968C VA: 0x781895468C
		private void Start();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   undefined *puVar3;
		 *   undefined *puVar4;
		 *   undefined *puVar5;
		 *   int iVar6;
		 *   int iVar7;
		 *   int iVar8;
		 *   void *pvVar9;
		 *   void *this_00;
		 *   long *this_01;
		 *   void **ppvVar10;
		 *   float value;
		 *   float fVar11;
		 *   float fVar12;
		 *   float fVar13;
		 *   UnityEngine_Vector3 UVar14;
		 *   UnityEngine_Vector3 value_00;
		 *   int iStack_74;
		 *
		 *   if ((bRam000000000754abd6 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c1540);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548);
		 *     func_0x031fdc8c(PTR_DAT_070c5310);
		 *     func_0x031fdc8c(PTR_DAT_070c5318);
		 *     func_0x031fdc8c(PTR_DAT_070c5320);
		 *     bRam000000000754abd6 = 1;
		 *   }
		 *   iStack_74 = 0;
		 *   pvVar9 = UnityEngine.Component.get_transform(this);
		 *   ppvVar10 = &this.m_Transform;
		 *   *ppvVar10 = pvVar9;
		 *   func_0x031fdc38(ppvVar10,pvVar9);
		 *   pvVar9 = UnityEngine.Camera.get_main();
		 *   iVar6 = UnityEngine.Screen.get_height();
		 *   if (iVar6 < 0) {
		 *     iVar6 = iVar6 + 1;
		 *   }
		 *   if (pvVar9 != null) {
		 *     value = (float)(iVar6 >> 1);
		 *     UnityEngine.Camera.set_orthographicSize(pvVar9,value);
		 *     iVar7 = UnityEngine.Screen.get_width();
		 *     iVar8 = UnityEngine.Screen.get_height();
		 *     puVar5 = PTR_DAT_070c5320;
		 *     puVar4 = PTR_DAT_070c5318;
		 *     puVar3 = PTR_DAT_070c5310;
		 *     puVar2 = typeinfo_ptr_UnityEngine_CoreModule_GameObject_6FC1548;
		 *     puVar1 = PTR_DAT_070c1540;
		 *     iStack_74 = this.MinPointSize;
		 *     iVar6 = this.MaxPointSize;
		 *     if (iStack_74 <= iVar6) {
		 *       fVar13 = 0.0;
		 *       fVar11 = value * _UNK_0134ea68;
		 *       fVar12 = -(value * ((float)iVar7 / (float)iVar8)) * _UNK_0134ea68;
		 *       do {
		 *         if (this.SpawnType == 0) {
		 *           pvVar9 = System.Int32.ToString(&iStack_74);
		 *           pvVar9 = System.String.Concat(*(void **)puVar4,pvVar9,*(void **)puVar3);
		 *           this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar2);
		 *           UnityEngine.GameObject..ctor(this_00,pvVar9);
		 *           if (value + value < fVar13) {
		 *             return;
		 *           }
		 *           if (this_00 == null) goto LAB_03369980;
		 *           pvVar9 = UnityEngine.GameObject.get_transform(this_00);
		 *           if (*ppvVar10 == null) goto LAB_03369980;
		 *           UVar14 = UnityEngine.Transform.get_position(*ppvVar10);
		 *           if (pvVar9 == null) goto LAB_03369980;
		 *           value_00.z = UVar14.z + 0.0;
		 *           value_00.x = fVar12 + UVar14.x;
		 *           value_00.y = (fVar11 - fVar13) + UVar14.y;
		 *           UnityEngine.Transform.set_position(pvVar9,value_00);
		 *           this_01 = (long *)func_0x037f2fa8(this_00,*(undefined8 *)puVar1);
		 *           if ((this_01 == null) ||
		 *              (pvVar9 = TMPro.TMP_Text.get_rectTransform(this_01),
		 *              pvVar9 == null)) goto LAB_03369980;
		 *           UnityEngine.RectTransform.set_pivot(pvVar9,(UnityEngine_Vector2)0x3f00000000000000);
		 *           TMPro.TMP_Text.set_textWrappingMode(this_01,0);
		 *           TMPro.TMP_Text.set_extraPadding(this_01,true);
		 *           TMPro.TMP_Text.set_isOrthographic(this_01,true);
		 *           TMPro.TMP_Text.set_fontSize(this_01,(float)iStack_74);
		 *           pvVar9 = System.Int32.ToString(&iStack_74);
		 *           pvVar9 = System.String.Concat(pvVar9,*(void **)puVar5);
		 *           (**(code **)(*this_01 + 0x558))(this_01,pvVar9,*(undefined8 *)(*this_01 + 0x560));
		 *           (**(code **)(*this_01 + 0x2a8))
		 *                     (0x3f800000,0x3f800000,0x3f800000,0x3f800000,this_01,
		 *                      *(undefined8 *)(*this_01 + 0x2b0));
		 *           iVar6 = this.MaxPointSize;
		 *           fVar13 = fVar13 + (float)iStack_74;
		 *         }
		 *         iStack_74 = this.Steps + iStack_74;
		 *       } while (iStack_74 <= iVar6);
		 *     }
		 *     return;
		 *   }
		 * LAB_03369980:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3269984 VA: 0x7818954984
		public void .ctor();
		/*
		 *   undefined8 uVar1;
		 *   undefined4 uVar2;
		 *   undefined *puVar3;
		 *   undefined8 uVar4;
		 *
		 *   uVar1 = _UNK_0134e298;
		 *   this.Steps = 4;
		 *   uVar4 = _UNK_0134e298;
		 *   _UNK_0134e298 = (undefined4)uVar1;
		 *   _UNK_0134e29c = SUB84(uVar1,4);
		 *   uVar2 = _UNK_0134e29c;
		 *   this.MinPointSize = _UNK_0134e298;
		 *   _UNK_0134e298 = uVar4;
		 *   puVar3 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   this.MaxPointSize = uVar2;
		 *   if ((bRam000000000755f76f & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
		 *     bRam000000000755f76f = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar3 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   return;
		 */
	}
}
