namespace TMPro.Examples
{

	// [TypeInfo RVA: 0x0]
	public class VertexShakeB : MonoBehaviour
	{
		public float AngleMultiplier; // 0x20
		public float SpeedMultiplier; // 0x24
		public float CurveScale; // 0x28
		private TMPro.TMP_Text m_TextComponent; // 0x30
		private bool hasTextChanged; // 0x38

		// RVA: 0x327416C VA: 0x781895F16C
		private void Awake();
		/*
		 *   undefined *puVar1;
		 *   void *pvVar2;
		 *   void **ppvVar3;
		 *
		 *   puVar1 = PTR_DAT_070c0dd8;
		 *   if ((bRam000000000754ac20 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c0dd8);
		 *     bRam000000000754ac20 = 1;
		 *   }
		 *   pvVar2 = (void *)func_0x0373df50(this,*(undefined8 *)puVar1);
		 *   ppvVar3 = &this.m_TextComponent;
		 *   *ppvVar3 = pvVar2;
		 *   if (iRam00000000077785f0 != 0) {
		 *     func_0x032ed0c0(1L << ((ulong)ppvVar3 >> 0xc & 0x3f),
		 *                     ((ulong)ppvVar3 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *   }
		 *   return;
		 */
		// RVA: 0x32741C4 VA: 0x781895F1C4
		private void OnEnable();
		/*
		 *   uint uVar1;
		 *   undefined *puVar2;
		 *   undefined *puVar3;
		 *   undefined *puVar4;
		 *   uint uVar5;
		 *   long lVar6;
		 *   long *plVar7;
		 *   undefined8 *puVar8;
		 *   ulong uVar9;
		 *   undefined8 uVar10;
		 *   void *extraout_x1;
		 *   long lVar11;
		 *   long lVar12;
		 *   long lVar13;
		 *   long lVar14;
		 *   int *piVar15;
		 *   long lVar16;
		 *   int iVar17;
		 *   long *plVar18;
		 *   uint uVar19;
		 *   undefined8 uVar20;
		 *   uint uVar21;
		 *   int *piVar22;
		 *
		 *   puVar2 = typeinfo_ptr_Unity_TextMeshPro_TMPro_EventManager_6FC53B8;
		 *   if ((bRam000000000754ac21 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c53c0);
		 *     func_0x031fdc8c(PTR_DAT_070c53c8);
		 *     func_0x031fdc8c(typeinfo_ptr_Unity_TextMeshPro_TMPro_EventManager_6FC53B8);
		 *     func_0x031fdc8c(PTR_DAT_070c5630);
		 *     bRam000000000754ac21 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar4 = PTR_DAT_070c5630;
		 *   puVar3 = PTR_DAT_070c53c0;
		 *   lVar6 = *(long *)puVar2;
		 *   if (*(int *)(lVar6 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar6,methodInfo);
		 *     lVar6 = *(long *)puVar2;
		 *   }
		 *   lVar6 = *(long *)(*(long *)(lVar6 + 0xb8) + 0x58);
		 *   plVar7 = (long *)func_0x031fdf24(*(undefined8 *)puVar3);
		 *   func_0x04d15d1c(plVar7,this,*(undefined8 *)puVar4,0);
		 *   if (lVar6 == 0) {
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   lVar12 = *(long *)PTR_DAT_070c53c8;
		 *   if (*(long *)(lVar6 + 0x18) == 0) {
		 * LAB_0527ecd4:
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   uVar9 = func_0x04e2d048(*(long *)(lVar6 + 0x18),plVar7,
		 *                           *(undefined8 *)(*(long *)(*(long *)(lVar12 + 0x20) + 0xc0) + 0x18));
		 *   if ((uVar9 & 1) != 0) {
		 *     return;
		 *   }
		 *   if (*(long *)(lVar6 + 0x10) == 0) goto LAB_0527ecd4;
		 *   lVar16 = *(long *)(lVar6 + 0x18);
		 *   uVar10 = func_0x03dae440(*(long *)(lVar6 + 0x10),plVar7,
		 *                            *(undefined8 *)(*(long *)(*(long *)(lVar12 + 0x20) + 0xc0) + 0x28));
		 *   if (lVar16 == 0) goto LAB_0527ecd4;
		 *   lVar6 = *(long *)(*(long *)(*(long *)(*(long *)(*(long *)(*(long *)(lVar12 + 0x20) + 0xc0) + 0x38)
		 *                                        + 0x20) + 0xc0) + 0x110);
		 *   if (plVar7 == null) {
		 *     ThrowHelper.ThrowArgumentNullException(5);
		 *   }
		 *   *(int *)(lVar16 + 0x2c) = *(int *)(lVar16 + 0x2c) + 1;
		 *   if (*(long *)(lVar16 + 0x10) == 0) {
		 *     func_0x04e2d800(lVar16,0,*(undefined8 *)(*(long *)(*(long *)(lVar6 + 0x20) + 0xc0) + 0x10));
		 *   }
		 *   plVar18 = *(long **)(lVar16 + 0x30);
		 *   lVar12 = *(long *)(lVar16 + 0x18);
		 *   if (plVar18 == null) {
		 *     if (plVar7 == null) goto LAB_04e2dd60;
		 *     uVar5 = (**(code **)(*plVar7 + 0x158))(plVar7,*(undefined8 *)(*plVar7 + 0x160));
		 *   }
		 *   else {
		 *     lVar11 = *(long *)(*(long *)(*(long *)(lVar6 + 0x20) + 0xc0) + 8);
		 *     if ((*(ushort *)(lVar11 + 0x135) & 1) == 0) {
		 *       lVar11 = func_0x03237224(lVar11);
		 *     }
		 *     lVar13 = *plVar18;
		 *     uVar9 = (ulong)*(ushort *)(lVar13 + 0x12e);
		 *     if (uVar9 != 0) {
		 *       piVar22 = (int *)(*(long *)(lVar13 + 0xb0) + 8);
		 *       do {
		 *         if (*(long *)(piVar22 + -2) == lVar11) {
		 *           puVar8 = (undefined8 *)(lVar13 + (long)(*piVar22 + 1) * 0x10 + 0x138);
		 *           goto LAB_04e2d9dc;
		 *         }
		 *         uVar9 = uVar9 - 1;
		 *         piVar22 = piVar22 + 4;
		 *       } while (uVar9 != 0);
		 *     }
		 *     puVar8 = (undefined8 *)func_0x03237558(plVar18,lVar11,1);
		 * LAB_04e2d9dc:
		 *     uVar5 = (*(code *)*puVar8)(plVar18,plVar7,puVar8[1]);
		 *   }
		 *   lVar11 = *(long *)(lVar16 + 0x10);
		 *   if (lVar11 == 0) goto LAB_04e2dd60;
		 *   uVar21 = *(uint *)(lVar11 + 0x18);
		 *   uVar5 = uVar5 & 0x7fffffff;
		 *   iVar17 = 0;
		 *   if (uVar21 != 0) {
		 *     iVar17 = (int)uVar5 / (int)uVar21;
		 *   }
		 *   uVar19 = uVar5 - iVar17 * uVar21;
		 *   if (uVar21 <= uVar19) {
		 * LAB_04e2dd5c:
		 *     IL2CPP.ThrowIndexOutOfRangeException();
		 *   }
		 *   piVar22 = (int *)(lVar11 + (ulong)uVar19 * 4 + 0x20);
		 *   uVar21 = *piVar22 - 1;
		 *   if (plVar18 == null) {
		 *     plVar18 = (long *)func_0x036616c4(*(undefined8 *)
		 *                                        (*(long *)(*(long *)(lVar6 + 0x20) + 0xc0) + 0x18));
		 *     if (lVar12 == 0) goto LAB_04e2dd60;
		 *     uVar20 = *(undefined8 *)(lVar12 + 0x18);
		 *     uVar19 = (uint)uVar20;
		 *     if (uVar21 < uVar19) {
		 *       iVar17 = 0;
		 *       lVar11 = lVar12 + 0x20;
		 *       do {
		 *         uVar19 = (uint)uVar20;
		 *         if (*(uint *)(lVar11 + (long)(int)uVar21 * 0x18) == uVar5) {
		 *           if (plVar18 == null) goto LAB_04e2dd60;
		 *           uVar9 = (**(code **)(*plVar18 + 0x1b8))
		 *                             (plVar18,*(undefined8 *)(lVar11 + (long)(int)uVar21 * 0x18 + 8),plVar7,
		 *                              *(undefined8 *)(*plVar18 + 0x1c0));
		 *           if ((uVar9 & 1) != 0) {
		 *             if (*(uint *)(lVar12 + 0x18) <= uVar21) goto LAB_04e2dd5c;
		 *             lVar11 = lVar11 + (long)(int)uVar21 * 0x18;
		 *             goto LAB_04e2dd38;
		 *           }
		 *           uVar19 = *(uint *)(lVar12 + 0x18);
		 *         }
		 *         if (uVar19 <= uVar21) goto LAB_04e2dd5c;
		 *         uVar21 = *(uint *)(lVar11 + (long)(int)uVar21 * 0x18 + 4);
		 *         if ((int)uVar19 <= iVar17) {
		 *           ThrowHelper.ThrowInvalidOperationException_ConcurrentOperationsNotSupported();
		 *         }
		 *         uVar20 = *(undefined8 *)(lVar12 + 0x18);
		 *         iVar17 = iVar17 + 1;
		 *         uVar19 = (uint)uVar20;
		 *       } while (uVar21 < uVar19);
		 *     }
		 *   }
		 *   else {
		 *     if (lVar12 == 0) goto LAB_04e2dd60;
		 *     uVar20 = *(undefined8 *)(lVar12 + 0x18);
		 *     uVar19 = (uint)uVar20;
		 *     if (uVar21 < uVar19) {
		 *       iVar17 = 0;
		 *       lVar11 = lVar12 + 0x20;
		 *       do {
		 *         uVar19 = (uint)uVar20;
		 *         if (*(uint *)(lVar11 + (long)(int)uVar21 * 0x18) == uVar5) {
		 *           lVar13 = *(long *)(*(long *)(*(long *)(lVar6 + 0x20) + 0xc0) + 8);
		 *           uVar20 = *(undefined8 *)(lVar11 + (long)(int)uVar21 * 0x18 + 8);
		 *           if ((*(ushort *)(lVar13 + 0x135) & 1) == 0) {
		 *             lVar13 = func_0x03237224(lVar13);
		 *           }
		 *           lVar14 = *plVar18;
		 *           uVar9 = (ulong)*(ushort *)(lVar14 + 0x12e);
		 *           if (uVar9 != 0) {
		 *             piVar15 = (int *)(*(long *)(lVar14 + 0xb0) + 8);
		 *             do {
		 *               if (*(long *)(piVar15 + -2) == lVar13) {
		 *                 puVar8 = (undefined8 *)(lVar14 + (long)*piVar15 * 0x10 + 0x138);
		 *                 goto LAB_04e2dacc;
		 *               }
		 *               uVar9 = uVar9 - 1;
		 *               piVar15 = piVar15 + 4;
		 *             } while (uVar9 != 0);
		 *           }
		 *           puVar8 = (undefined8 *)func_0x03237558(plVar18,lVar13,0);
		 * LAB_04e2dacc:
		 *           uVar9 = (*(code *)*puVar8)(plVar18,uVar20,plVar7,puVar8[1]);
		 *           if ((uVar9 & 1) != 0) {
		 *             if (uVar21 < *(uint *)(lVar12 + 0x18)) {
		 *               lVar11 = lVar11 + (long)(int)uVar21 * 0x18;
		 * LAB_04e2dd38:
		 *               *(undefined8 *)(lVar11 + 0x10) = uVar10;
		 *               func_0x031fdc38();
		 *               return;
		 *             }
		 *             goto LAB_04e2dd5c;
		 *           }
		 *           uVar19 = *(uint *)(lVar12 + 0x18);
		 *         }
		 *         if (uVar19 <= uVar21) goto LAB_04e2dd5c;
		 *         uVar21 = *(uint *)(lVar11 + (long)(int)uVar21 * 0x18 + 4);
		 *         if ((int)uVar19 <= iVar17) {
		 *           ThrowHelper.ThrowInvalidOperationException_ConcurrentOperationsNotSupported();
		 *         }
		 *         uVar20 = *(undefined8 *)(lVar12 + 0x18);
		 *         iVar17 = iVar17 + 1;
		 *         uVar19 = (uint)uVar20;
		 *       } while (uVar21 < uVar19);
		 *     }
		 *   }
		 *   if (*(int *)(lVar16 + 0x28) < 1) {
		 *     uVar21 = *(uint *)(lVar16 + 0x20);
		 *     if (uVar21 == uVar19) {
		 *       func_0x04e2e120(lVar16,*(undefined8 *)(*(long *)(*(long *)(lVar6 + 0x20) + 0xc0) + 0x1b0));
		 *       lVar6 = *(long *)(lVar16 + 0x10);
		 *       *(uint *)(lVar16 + 0x20) = uVar19 + 1;
		 *       if (lVar6 == 0) goto LAB_04e2dd60;
		 *       uVar19 = *(uint *)(lVar6 + 0x18);
		 *       iVar17 = 0;
		 *       if (uVar19 != 0) {
		 *         iVar17 = (int)uVar5 / (int)uVar19;
		 *       }
		 *       uVar1 = uVar5 - iVar17 * uVar19;
		 *       if (uVar19 <= uVar1) goto LAB_04e2dd5c;
		 *       lVar12 = *(long *)(lVar16 + 0x18);
		 *       piVar22 = (int *)(lVar6 + (ulong)uVar1 * 4 + 0x20);
		 *     }
		 *     else {
		 *       lVar12 = *(long *)(lVar16 + 0x18);
		 *       *(uint *)(lVar16 + 0x20) = uVar21 + 1;
		 *     }
		 *     if (lVar12 == 0) {
		 * LAB_04e2dd60:
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     if (*(uint *)(lVar12 + 0x18) <= uVar21) goto LAB_04e2dd5c;
		 *     lVar12 = lVar12 + (long)(int)uVar21 * 0x18;
		 *   }
		 *   else {
		 *     uVar21 = *(uint *)(lVar16 + 0x24);
		 *     *(int *)(lVar16 + 0x28) = *(int *)(lVar16 + 0x28) + -1;
		 *     if (uVar19 <= uVar21) goto LAB_04e2dd5c;
		 *     lVar12 = lVar12 + (long)(int)uVar21 * 0x18;
		 *     *(undefined4 *)(lVar16 + 0x24) = *(undefined4 *)(lVar12 + 0x24);
		 *   }
		 *   *(uint *)(lVar12 + 0x20) = uVar5;
		 *   iVar17 = *piVar22;
		 *   *(long *)(lVar12 + 0x28) = (long)plVar7;
		 *   *(int *)(lVar12 + 0x24) = iVar17 + -1;
		 *   func_0x031fdc38((long *)(lVar12 + 0x28),plVar7);
		 *   *(undefined8 *)(lVar12 + 0x30) = uVar10;
		 *   func_0x031fdc38((undefined8 *)(lVar12 + 0x30),uVar10);
		 *   *piVar22 = uVar21 + 1;
		 *   return;
		 */
		// RVA: 0x3274294 VA: 0x781895F294
		private void OnDisable();
		/*
		 *   undefined *puVar1;
		 *   undefined *puVar2;
		 *   undefined *puVar3;
		 *   long lVar4;
		 *   undefined8 uVar5;
		 *   ulong uVar6;
		 *   void *extraout_x1;
		 *   long lVar7;
		 *   undefined8 uStack_28;
		 *
		 *   puVar1 = typeinfo_ptr_Unity_TextMeshPro_TMPro_EventManager_6FC53B8;
		 *   if ((bRam000000000754ac22 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c53c0);
		 *     func_0x031fdc8c(PTR_DAT_070c53d8);
		 *     func_0x031fdc8c(typeinfo_ptr_Unity_TextMeshPro_TMPro_EventManager_6FC53B8);
		 *     func_0x031fdc8c(PTR_DAT_070c5630);
		 *     bRam000000000754ac22 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar3 = PTR_DAT_070c5630;
		 *   puVar2 = PTR_DAT_070c53c0;
		 *   lVar4 = *(long *)puVar1;
		 *   if (*(int *)(lVar4 + 0xe4) == 0) {
		 *     func_0x031fde08(lVar4,methodInfo);
		 *     lVar4 = *(long *)puVar1;
		 *   }
		 *   lVar4 = *(long *)(*(long *)(lVar4 + 0xb8) + 0x58);
		 *   uVar5 = func_0x031fdf24(*(undefined8 *)puVar2);
		 *   func_0x04d15d1c(uVar5,this,*(undefined8 *)puVar3,0);
		 *   if (lVar4 != 0) {
		 *     lVar7 = *(long *)PTR_DAT_070c53d8;
		 *     uStack_28 = 0;
		 *     if (*(long *)(lVar4 + 0x18) != 0) {
		 *       uVar6 = func_0x04e2e9bc(*(long *)(lVar4 + 0x18),uVar5,&uStack_28,
		 *                               *(undefined8 *)(*(long *)(*(long *)(lVar7 + 0x20) + 0xc0) + 0x40));
		 *       if ((uVar6 & 1) == 0) {
		 *         return;
		 *       }
		 *       if (*(long *)(lVar4 + 0x18) != 0) {
		 *         func_0x04e2e370(*(long *)(lVar4 + 0x18),uVar5,
		 *                         *(undefined8 *)(*(long *)(*(long *)(lVar7 + 0x20) + 0xc0) + 0x50));
		 *         if (*(long *)(lVar4 + 0x10) != 0) {
		 *           func_0x03dae928(*(long *)(lVar4 + 0x10),uStack_28,
		 *                           *(undefined8 *)(*(long *)(*(long *)(lVar7 + 0x20) + 0xc0) + 0x58));
		 *           return;
		 *         }
		 *       }
		 *     }
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3274364 VA: 0x781895F364
		private void Start();
		/*
		 *   void *pvVar1;
		 *   ulong uVar2;
		 *   void *this_00;
		 *   undefined8 uVar3;
		 *   long lVar4;
		 *
		 *   pvVar1 = VertexShakeB.AnimateVertexColors(this);
		 *   if (pvVar1 == null) {
		 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
		 *     this_00 = (void *)func_0x031fdf24();
		 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
		 *     NullReferenceException..ctor(this_00,pvVar1);
		 *   }
		 *   else {
		 *     uVar2 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
		 *     if ((uVar2 & 1) != 0) {
		 *       if ((bRam000000000755f8f7 & 1) == 0) {
		 *         func_0x031fdc8c(PTR_DAT_0714f590);
		 *         bRam000000000755f8f7 = 1;
		 *       }
		 *       if (this != null) {
		 *         lVar4 = *(long *)&this.field_0x10;
		 *         if (lVar4 == 0) {
		 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this)
		 *           ;
		 *         }
		 *         if (pcRam000000000755f968 == null) {
		 *           pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
		 *         }
		 *         (*pcRam000000000755f968)(lVar4,pvVar1);
		 *         return;
		 *       }
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     func_0x031fdca0(PTR_DAT_070c6fb0);
		 *     this_00 = (void *)func_0x031fdf24();
		 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
		 *     System.ArgumentException..ctor(this_00,pvVar1);
		 *   }
		 *   uVar3 = func_0x031fdca0(PTR_DAT_0714f5d0);
		 *   IL2CPP.ThrowManagedException();
		 */
		// RVA: 0x32743F0 VA: 0x781895F3F0
		private void ON_TEXT_CHANGED(UnityEngine.Object obj);
		/*
		 *   undefined *puVar1;
		 *   ulong uVar2;
		 *   undefined8 uVar3;
		 *
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000754ac23 & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     bRam000000000754ac23 = 1;
		 *   }
		 *   uVar3 = *(undefined8 *)(param_1 + 0x30);
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   uVar2 = UnityEngine.Object.op_Implicit(uVar3);
		 *   if ((uVar2 & 1) != 0) {
		 *     *(undefined1 *)(param_1 + 0x38) = 1;
		 *   }
		 *   return;
		 */
		// RVA: 0x3274384 VA: 0x781895F384
		private System.Collections.IEnumerator AnimateVertexColors();
		/*
		 *   undefined *puVar1;
		 *   void *this_00;
		 *   void *extraout_x1;
		 *
		 *   puVar1 = PTR_DAT_070c5638;
		 *   if ((bRam000000000754ac24 & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c5638);
		 *     bRam000000000754ac24 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1,methodInfo);
		 *   System.Object..ctor(this_00);
		 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
		 *   *(undefined8 *)((long)this_00 + 0x20) = this;
		 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x20),this);
		 *   return this_00;
		 */
		// RVA: 0x3274484 VA: 0x781895F484
		public void .ctor();
		/*
		 *   undefined *puVar1;
		 *   undefined8 uVar2;
		 *
		 *   uVar2 = NEON_fmov(0x3f800000,4);
		 *   this.CurveScale = 1.0;
		 *   this.AngleMultiplier = (float)(int)uVar2;
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   this.SpeedMultiplier = (float)(int)((ulong)uVar2 >> 0x20);
		 *   if ((bRam000000000755f76f & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
		 *     bRam000000000755f76f = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   return;
		 */
	}
}
