namespace TMPro.Examples
{

	// [TypeInfo RVA: 0x0]
	private sealed class <RevealWords>d__8 : Object
	{
		private int <>1__state; // 0x10
		private object <>2__current; // 0x18
		public TMPro.TMP_Text textComponent; // 0x20
		private int <totalWordCount>5__2; // 0x28
		private int <totalVisibleCharacters>5__3; // 0x2C
		private int <counter>5__4; // 0x30
		private int <visibleCount>5__5; // 0x34

		// RVA: 0x326C2C4 VA: 0x78189572C4
		public void .ctor(int <>1__state);
		/*
		 *   System.Object..ctor(this);
		 *   this.n_1_state = n_1_state;
		 *   return;
		 */
		// RVA: 0x326C4C0 VA: 0x78189574C0
		private void System.IDisposable.Dispose();
		/*
		 *   return;
		 */
		// RVA: 0x326C4C4 VA: 0x78189574C4
		private bool MoveNext();
		/*
		 *   int iVar1;
		 *   int iVar2;
		 *   int iVar3;
		 *   long *plVar4;
		 *   void *pvVar5;
		 *   undefined8 uVar6;
		 *   int iVar7;
		 *   long lVar8;
		 *
		 *   if ((bRam000000000754abef & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10);
		 *     bRam000000000754abef = 1;
		 *   }
		 *   iVar7 = this.n_1_state;
		 *   if (iVar7 == 2) {
		 *     iVar7 = this.counter_5_4;
		 *     this.n_1_state = -1;
		 * LAB_0336c58c:
		 *     iVar2 = this.totalWordCount_5_2;
		 *     iVar1 = iVar2 + 1;
		 *     iVar3 = 0;
		 *     if (iVar1 != 0) {
		 *       iVar3 = iVar7 / iVar1;
		 *     }
		 *     iVar7 = iVar7 - iVar3 * iVar1;
		 *     if (iVar7 == 0) {
		 *       iVar7 = 0;
		 * LAB_0336c604:
		 *       this.visibleCount_5_5 = iVar7;
		 *     }
		 *     else {
		 *       if (iVar7 < iVar2) {
		 *         if (((this.textComponent == null) ||
		 *             (pvVar5 = TMPro.TMP_Text.get_textInfo(this.textComponent), pvVar5 == null)) ||
		 *            (lVar8 = *(long *)((long)pvVar5 + 0x40), lVar8 == 0)) goto LAB_0336c6bc;
		 *         if (*(uint *)(lVar8 + 0x18) <= (uint)((long)iVar7 + -1)) {
		 *           IL2CPP.ThrowIndexOutOfRangeException();
		 *         }
		 *         iVar7 = *(int *)(lVar8 + ((long)iVar7 + -1) * 0x18 + 0x2c) + 1;
		 *         goto LAB_0336c604;
		 *       }
		 *       if (iVar7 == iVar2) {
		 *         iVar7 = this.totalVisibleCharacters_5_3;
		 *         goto LAB_0336c604;
		 *       }
		 *     }
		 *     if (this.textComponent == null) {
		 * LAB_0336c6bc:
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     TMPro.TMP_Text.set_maxVisibleCharacters(this.textComponent,this.visibleCount_5_5);
		 *     if (this.totalVisibleCharacters_5_3 <= this.visibleCount_5_5) {
		 *       pvVar5 = (void *)func_0x031fdf24(*(undefined8 *)
		 *                                         typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10);
		 *       UnityEngine.WaitForSeconds..ctor(pvVar5,1.0);
		 *       this.n_2_current = pvVar5;
		 *       func_0x031fdc38(&this.n_2_current,pvVar5);
		 *       iVar7 = 1;
		 *       goto LAB_0336c6a8;
		 *     }
		 *   }
		 *   else {
		 *     if (iVar7 != 1) {
		 *       if (iVar7 != 0) {
		 *         return false;
		 *       }
		 *       plVar4 = this.textComponent;
		 *       this.n_1_state = -1;
		 *       if (plVar4 == null) goto LAB_0336c6bc;
		 *       (**(code **)(*plVar4 + 0x7d8))(plVar4,0,0,*(undefined8 *)(*plVar4 + 0x7e0));
		 *       if ((this.textComponent == null) ||
		 *          (pvVar5 = TMPro.TMP_Text.get_textInfo(this.textComponent), pvVar5 == null))
		 *       goto LAB_0336c6bc;
		 *       this.totalWordCount_5_2 = *(int *)((long)pvVar5 + 0x24);
		 *       if ((this.textComponent == null) ||
		 *          (pvVar5 = TMPro.TMP_Text.get_textInfo(this.textComponent), pvVar5 == null))
		 *       goto LAB_0336c6bc;
		 *       iVar1 = *(int *)((long)pvVar5 + 0x18);
		 *       iVar7 = 0;
		 *       this.counter_5_4 = 0;
		 *       this.visibleCount_5_5 = 0;
		 *       this.totalVisibleCharacters_5_3 = iVar1;
		 *       goto LAB_0336c58c;
		 *     }
		 *     this.n_1_state = -1;
		 *   }
		 *   uVar6 = *(undefined8 *)typeinfo_ptr_UnityEngine_CoreModule_WaitForSeconds_6FC0B10;
		 *   this.counter_5_4 = this.counter_5_4 + 1;
		 *   pvVar5 = (void *)func_0x031fdf24(uVar6);
		 *   UnityEngine.WaitForSeconds..ctor(pvVar5,_UNK_0134eca0);
		 *   this.n_2_current = pvVar5;
		 *   func_0x031fdc38(&this.n_2_current,pvVar5);
		 *   iVar7 = 2;
		 * LAB_0336c6a8:
		 *   this.n_1_state = iVar7;
		 *   return true;
		 */
		// RVA: 0x326C6C4 VA: 0x78189576C4
		private object System.Collections.Generic.IEnumerator<System.Object>.get_Current();
		/*
		 *   return this.n_2_current;
		 */
		// RVA: 0x326C6CC VA: 0x78189576CC
		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_070c53f0);
		 *   IL2CPP.ThrowManagedException();
		 */
		// RVA: 0x326C704 VA: 0x7818957704
		private object System.Collections.IEnumerator.get_Current();
		/*
		 *   return this.n_2_current;
		 */
	}
}
