namespace TMPro.Examples
{

	// [TypeInfo RVA: 0x0]
	private sealed class <AnimateVertexColors>d__3 : Object
	{
		private int <>1__state; // 0x10
		private object <>2__current; // 0x18
		public TMPro.Examples.VertexColorCycler <>4__this; // 0x20
		private TMPro.TMP_TextInfo <textInfo>5__2; // 0x28
		private int <currentCharacter>5__3; // 0x30

		// RVA: 0x327252C VA: 0x781895D52C
		public void .ctor(int <>1__state);
		/*
		 *   System.Object..ctor(this);
		 *   this.n_1_state = n_1_state;
		 *   return;
		 */
		// RVA: 0x327255C VA: 0x781895D55C
		private void System.IDisposable.Dispose();
		/*
		 *   return;
		 */
		// RVA: 0x3272560 VA: 0x781895D560
		private bool MoveNext();
		/*
		 *   uint uVar1;
		 *   uint uVar2;
		 *   int iVar3;
		 *   long *plVar4;
		 *   void *pvVar5;
		 *   undefined8 uVar6;
		 *   void *extraout_x1;
		 *   void *extraout_x1_00;
		 *   void *extraout_x1_01;
		 *   uint uVar7;
		 *   int iVar8;
		 *   long lVar9;
		 *   long lVar10;
		 *   void *pvVar11;
		 *
		 *   if ((bRam000000000754ac13 & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10);
		 *     bRam000000000754ac13 = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   iVar8 = this.n_1_state;
		 *   pvVar11 = this.n_4_this;
		 *   if ((iVar8 == 2) || (iVar8 == 1)) {
		 *     this.n_1_state = -1;
		 *   }
		 *   else {
		 *     if (iVar8 != 0) {
		 *       return false;
		 *     }
		 *     this.n_1_state = -1;
		 *     if ((pvVar11 == null) ||
		 *        (plVar4 = *(long **)((long)pvVar11 + 0x20), plVar4 == null)) goto LAB_03372810;
		 *     (**(code **)(*plVar4 + 0x7d8))(plVar4,0,0,*(undefined8 *)(*plVar4 + 0x7e0));
		 *     if (*(void **)((long)pvVar11 + 0x20) == null) goto LAB_03372810;
		 *     pvVar5 = TMPro.TMP_Text.get_textInfo(*(void **)((long)pvVar11 + 0x20));
		 *     this.textInfo_5_2 = pvVar5;
		 *     func_0x031fdc38(&this.textInfo_5_2,pvVar5);
		 *     plVar4 = *(long **)((long)pvVar11 + 0x20);
		 *     this.currentCharacter_5_3 = 0;
		 *     if (plVar4 == null) goto LAB_03372810;
		 *     (**(code **)(*plVar4 + 0x298))(plVar4,*(undefined8 *)(*plVar4 + 0x2a0));
		 *     func_0x0335ec5c(0);
		 *     methodInfo = extraout_x1_00;
		 *   }
		 *   pvVar5 = this.textInfo_5_2;
		 *   if (pvVar5 == null) {
		 * LAB_03372810:
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   iVar8 = *(int *)((long)pvVar5 + 0x18);
		 *   if (iVar8 == 0) {
		 *     pvVar11 = (void *)func_0x031fdf24(*(undefined8 *)
		 *                                        typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10,
		 *                                       methodInfo);
		 *     UnityEngine.WaitForSeconds..ctor(pvVar11,0.25);
		 *     this.n_2_current = pvVar11;
		 *     func_0x031fdc38(&this.n_2_current,pvVar11);
		 *     iVar8 = 1;
		 *   }
		 *   else {
		 *     lVar10 = *(long *)((long)pvVar5 + 0x38);
		 *     if (lVar10 == 0) goto LAB_03372810;
		 *     uVar7 = this.currentCharacter_5_3;
		 *     if (*(uint *)(lVar10 + 0x18) <= uVar7) goto LAB_03372814;
		 *     lVar9 = *(long *)((long)pvVar5 + 0x60);
		 *     if (lVar9 == 0) goto LAB_03372810;
		 *     uVar1 = *(uint *)(lVar10 + 0x20 + (long)(int)uVar7 * 0x178 + 0x30);
		 *     if (*(uint *)(lVar9 + 0x18) <= uVar1) goto LAB_03372814;
		 *     lVar10 = lVar10 + 0x20 + (long)(int)uVar7 * 0x178;
		 *     if (*(char *)(lVar10 + 0x170) != '\0') {
		 *       uVar7 = *(uint *)(lVar10 + 0x44);
		 *       lVar10 = *(long *)(lVar9 + (long)(int)uVar1 * 0x50 + 0x58);
		 *       uVar1 = Random.Range(0,0xff);
		 *       uVar2 = Random.Range(0,0xff);
		 *       iVar3 = Random.Range(0,0xff);
		 *       if (lVar10 == 0) goto LAB_03372810;
		 *       if (*(uint *)(lVar10 + 0x18) <= uVar7) {
		 * LAB_03372814:
		 *         IL2CPP.ThrowIndexOutOfRangeException();
		 *       }
		 *       uVar1 = (uVar2 & 0xff) << 8 | iVar3 << 0x10 | uVar1 & 0xff | 0xff000000;
		 *       *(uint *)(lVar10 + (long)(int)uVar7 * 4 + 0x20) = uVar1;
		 *       if (*(uint *)(lVar10 + 0x18) <= uVar7 + 1) goto LAB_03372814;
		 *       *(uint *)(lVar10 + (long)(int)(uVar7 + 1) * 4 + 0x20) = uVar1;
		 *       if (*(uint *)(lVar10 + 0x18) <= uVar7 + 2) goto LAB_03372814;
		 *       *(uint *)(lVar10 + (long)(int)(uVar7 + 2) * 4 + 0x20) = uVar1;
		 *       if (*(uint *)(lVar10 + 0x18) <= uVar7 + 3) goto LAB_03372814;
		 *       *(uint *)(lVar10 + (long)(int)(uVar7 + 3) * 4 + 0x20) = uVar1;
		 *       if ((pvVar11 == null) ||
		 *          (plVar4 = *(long **)((long)pvVar11 + 0x20), plVar4 == null)) goto LAB_03372810;
		 *       (**(code **)(*plVar4 + 0x7f8))(plVar4,0x10,*(undefined8 *)(*plVar4 + 0x800));
		 *       uVar7 = this.currentCharacter_5_3;
		 *       methodInfo = extraout_x1_01;
		 *     }
		 *     iVar3 = 0;
		 *     if (iVar8 != 0) {
		 *       iVar3 = (int)(uVar7 + 1) / iVar8;
		 *     }
		 *     uVar6 = *(undefined8 *)typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10;
		 *     this.currentCharacter_5_3 = (uVar7 + 1) - iVar3 * iVar8;
		 *     pvVar11 = (void *)func_0x031fdf24(uVar6,methodInfo);
		 *     UnityEngine.WaitForSeconds..ctor(pvVar11,_UNK_0134ea00);
		 *     this.n_2_current = pvVar11;
		 *     func_0x031fdc38(&this.n_2_current,pvVar11);
		 *     iVar8 = 2;
		 *   }
		 *   this.n_1_state = iVar8;
		 *   return true;
		 */
		// RVA: 0x3272818 VA: 0x781895D818
		private object System.Collections.Generic.IEnumerator<System.Object>.get_Current();
		/*
		 *   return this.n_2_current;
		 */
		// RVA: 0x3272820 VA: 0x781895D820
		private void System.Collections.IEnumerator.Reset();
		/*
		 *   void *this_00;
		 *   undefined8 uVar1;
		 *
		 *   func_0x031fdca0(PTR_DAT_070c0ad0);
		 *   this_00 = (void *)func_0x031fdf24();
		 *   System.NotSupportedException..ctor(this_00);
		 *   uVar1 = func_0x031fdca0(PTR_DAT_070c55e8);
		 *   IL2CPP.ThrowManagedException();
		 */
		// RVA: 0x3272858 VA: 0x781895D858
		private object System.Collections.IEnumerator.get_Current();
		/*
		 *   return this.n_2_current;
		 */
	}
}
