namespace TMPro.Examples
{

	// [TypeInfo RVA: 0x0]
	public class TMP_TextSelector_B : MonoBehaviour
	{
		public UnityEngine.RectTransform TextPopup_Prefab_01; // 0x20
		private UnityEngine.RectTransform m_TextPopup_RectTransform; // 0x28
		private TMPro.TextMeshProUGUI m_TextPopup_TMPComponent; // 0x30
		private const string k_LinkText; // 0x0
		private const string k_WordText; // 0x0
		private TMPro.TextMeshProUGUI m_TextMeshPro; // 0x38
		private UnityEngine.Canvas m_Canvas; // 0x40
		private UnityEngine.Camera m_Camera; // 0x48
		private bool isHoveringObject; // 0x50
		private int m_selectedWord; // 0x54
		private int m_selectedLink; // 0x58
		private int m_lastIndex; // 0x5C
		private UnityEngine.Matrix4x4 m_matrix; // 0x60
		private TMPro.TMP_MeshInfo[] m_cachedMeshInfoVertexData; // 0xA0

		// RVA: 0x32703C8 VA: 0x781895B3C8
		private void Awake();
		/*
		 *   undefined *puVar1;
		 *   int iVar2;
		 *   void *pvVar3;
		 *   void **ppvVar4;
		 *   long lVar5;
		 *   void *this_00;
		 *
		 *   if ((bRam000000000754ac0a & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c55a0);
		 *     func_0x031fdc8c(PTR_DAT_070c51d8);
		 *     func_0x031fdc8c(PTR_DAT_070c55a8);
		 *     func_0x031fdc8c(PTR_DAT_070c55b0);
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     bRam000000000754ac0a = 1;
		 *   }
		 *   pvVar3 = UnityEngine.Component.get_gameObject(this);
		 *   if (pvVar3 != null) {
		 *     pvVar3 = (void *)func_0x037f3038(pvVar3,*(undefined8 *)PTR_DAT_070c55a8);
		 *     this.m_TextMeshPro = pvVar3;
		 *     func_0x031fdc38();
		 *     pvVar3 = UnityEngine.Component.get_gameObject(this);
		 *     if (pvVar3 != null) {
		 *       pvVar3 = (void *)func_0x037f34f0(pvVar3,*(undefined8 *)PTR_DAT_070c51d8);
		 *       ppvVar4 = &this.m_Canvas;
		 *       *ppvVar4 = pvVar3;
		 *       func_0x031fdc38(ppvVar4,pvVar3);
		 *       if (*ppvVar4 != null) {
		 *         iVar2 = UnityEngine.Canvas.get_renderMode(*ppvVar4);
		 *         if (iVar2 == 0) {
		 *           pvVar3 = null;
		 *           this.m_Camera = null;
		 *         }
		 *         else {
		 *           if (*ppvVar4 == null) goto LAB_0337058c;
		 *           pvVar3 = UnityEngine.Canvas.get_worldCamera(*ppvVar4);
		 *           this.m_Camera = pvVar3;
		 *         }
		 *         func_0x031fdc38(&this.m_Camera,pvVar3);
		 *         puVar1 = PTR_DAT_070c55b0;
		 *         pvVar3 = this.TextPopup_Prefab_01;
		 *         if (*(int *)(*(long *)typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8 + 0xe4) == 0) {
		 *           func_0x031fde08();
		 *         }
		 *         pvVar3 = (void *)func_0x03890888(pvVar3,*(undefined8 *)puVar1);
		 *         ppvVar4 = &this.m_TextPopup_RectTransform;
		 *         *ppvVar4 = pvVar3;
		 *         func_0x031fdc38(ppvVar4,pvVar3);
		 *         if (this.m_Canvas != null) {
		 *           this_00 = *ppvVar4;
		 *           pvVar3 = UnityEngine.Component.get_transform(this.m_Canvas);
		 *           if (this_00 != null) {
		 *             UnityEngine.Transform.SetParent(this_00,pvVar3,false);
		 *             if (*ppvVar4 != null) {
		 *               pvVar3 = (void *)func_0x0373e12c(*ppvVar4,*(undefined8 *)PTR_DAT_070c55a0);
		 *               this.m_TextPopup_TMPComponent = pvVar3;
		 *               func_0x031fdc38(&this.m_TextPopup_TMPComponent,pvVar3);
		 *               if ((this.m_TextPopup_RectTransform != null) &&
		 *                  (pvVar3 = UnityEngine.Component.get_gameObject(this.m_TextPopup_RectTransform),
		 *                  pvVar3 != null)) {
		 *                 if ((bRam000000000755f7e0 & 1) == 0) {
		 *                   func_0x031fdc8c(PTR_DAT_0714f3e0,0,0);
		 *                   bRam000000000755f7e0 = 1;
		 *                 }
		 *                 if (pvVar3 != null) {
		 *                   lVar5 = *(long *)((long)pvVar3 + 0x10);
		 *                   if (lVar5 == 0) {
		 *                     UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar3);
		 *                   }
		 *                   if (pcRam000000000755f860 == null) {
		 *                     pcRam000000000755f860 = (code *)func_0x031fdc50(&UNK_0138da18);
		 *                   }
		 *                   (*pcRam000000000755f860)(lVar5,0);
		 *                   return;
		 *                 }
		 *                 IL2CPP.ThrowNullReferenceException();
		 *               }
		 *             }
		 *           }
		 *         }
		 *       }
		 *     }
		 *   }
		 * LAB_0337058c:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3270590 VA: 0x781895B590
		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 ((bRam000000000754ac0b & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c53c0);
		 *     func_0x031fdc8c(PTR_DAT_070c53c8);
		 *     func_0x031fdc8c(PTR_DAT_070c55b8);
		 *     func_0x031fdc8c(typeinfo_ptr_Unity_TextMeshPro_TMPro_EventManager_6FC53B8);
		 *     bRam000000000754ac0b = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar4 = PTR_DAT_070c55b8;
		 *   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: 0x3270660 VA: 0x781895B660
		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 ((bRam000000000754ac0c & 1) == 0) {
		 *     func_0x031fdc8c(PTR_DAT_070c53c0);
		 *     func_0x031fdc8c(PTR_DAT_070c53d8);
		 *     func_0x031fdc8c(PTR_DAT_070c55b8);
		 *     func_0x031fdc8c(typeinfo_ptr_Unity_TextMeshPro_TMPro_EventManager_6FC53B8);
		 *     bRam000000000754ac0c = 1;
		 *     methodInfo = extraout_x1;
		 *   }
		 *   puVar3 = PTR_DAT_070c55b8;
		 *   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: 0x3270730 VA: 0x781895B730
		private void ON_TEXT_CHANGED(UnityEngine.Object obj);
		/*
		 *   undefined *puVar1;
		 *   ulong uVar2;
		 *   void *pvVar3;
		 *   undefined8 *puVar4;
		 *   undefined8 uVar5;
		 *
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   if ((bRam000000000754ac0d & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     bRam000000000754ac0d = 1;
		 *   }
		 *   uVar5 = *(undefined8 *)(param_1 + 0x38);
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   uVar2 = UnityEngine.Object.op_Equality(param_2,uVar5);
		 *   if ((uVar2 & 1) != 0) {
		 *     if ((*(void **)(param_1 + 0x38) != null) &&
		 *        (pvVar3 = TMPro.TMP_Text.get_textInfo(*(void **)(param_1 + 0x38)), pvVar3 != null)) {
		 *       pvVar3 = TMPro.TMP_TextInfo.CopyMeshInfoVertexData(pvVar3);
		 *       puVar4 = (undefined8 *)(param_1 + 0xa0);
		 *       *puVar4 = pvVar3;
		 *       if (iRam00000000077785f0 != 0) {
		 *         func_0x032ed0c0(1L << ((ulong)puVar4 >> 0xc & 0x3f),
		 *                         ((ulong)puVar4 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
		 *       }
		 *       return;
		 *     }
		 *     IL2CPP.ThrowNullReferenceException();
		 *   }
		 *   return;
		 */
		// RVA: 0x32707E0 VA: 0x781895B7E0
		private void LateUpdate();
		/*
		 *   uint uVar1;
		 *   uint uVar2;
		 *   uint uVar3;
		 *   UnityEngine_Vector3 *pUVar4;
		 *   uint uVar5;
		 *   UnityEngine_Vector3 value;
		 *   undefined8 *puVar6;
		 *   undefined *puVar7;
		 *   char cVar8;
		 *   bool bVar9;
		 *   uint uVar10;
		 *   uint uVar11;
		 *   long *plVar12;
		 *   ulong uVar13;
		 *   long *plVar14;
		 *   void *in_x2;
		 *   void *methodInfo_00;
		 *   long lVar15;
		 *   long lVar16;
		 *   undefined4 *puVar17;
		 *   void *pvVar18;
		 *   void *pvVar19;
		 *   long lVar20;
		 *   UnityEngine_Vector3 *pUVar21;
		 *   ulong uVar22;
		 *   int iVar23;
		 *   long lVar24;
		 *   UnityEngine_Vector3 *pUVar25;
		 *   long lVar26;
		 *   UnityEngine_Vector3 *pUVar27;
		 *   undefined4 uVar28;
		 *   undefined4 uVar29;
		 *   undefined4 uVar30;
		 *   undefined4 uVar31;
		 *   undefined4 uVar32;
		 *   undefined4 uVar33;
		 *   undefined4 uVar34;
		 *   undefined4 uVar35;
		 *   float fVar36;
		 *   float fVar37;
		 *   undefined8 in_d3;
		 *   undefined4 uVar38;
		 *   undefined4 uVar39;
		 *   undefined4 uVar40;
		 *   ulong in_d4;
		 *   undefined4 uVar41;
		 *   undefined4 uVar42;
		 *   undefined4 uVar43;
		 *   float fVar44;
		 *   undefined4 uVar45;
		 *   undefined4 uVar46;
		 *   undefined4 uVar47;
		 *   undefined4 uVar48;
		 *   undefined4 uVar49;
		 *   undefined4 uVar50;
		 *   undefined4 uVar51;
		 *   UnityEngine_Vector3 UVar52;
		 *   UnityEngine_Vector3 worldPoint;
		 *   void *pvStack_170;
		 *   undefined8 uStack_168;
		 *   undefined8 uStack_160;
		 *   undefined8 uStack_158;
		 *   undefined8 uStack_150;
		 *   undefined8 uStack_148;
		 *   undefined8 uStack_140;
		 *   undefined8 uStack_138;
		 *   undefined8 uStack_130;
		 *   float fStack_128;
		 *   undefined8 uStack_120;
		 *   undefined8 uStack_118;
		 *   undefined8 uStack_110;
		 *   undefined8 uStack_108;
		 *   undefined8 uStack_100;
		 *   undefined8 uStack_f0;
		 *   undefined8 uStack_e8;
		 *   undefined8 uStack_e0;
		 *   undefined8 uStack_d8;
		 *   undefined8 uStack_d0;
		 *   undefined8 uStack_c8;
		 *   undefined8 uStack_c0;
		 *   undefined8 uStack_b8;
		 *   undefined8 uStack_b0;
		 *   undefined8 uStack_a8;
		 *
		 *   if ((bRam000000000754ac0e & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
		 *     func_0x031fdc8c(PTR_DAT_070c5578);
		 *     func_0x031fdc8c(typeinfo_ptr_Unity_TextMeshPro_TMP_MeshInfo_6FC55C0);
		 *     func_0x031fdc8c(typeinfo_ptr_Unity_TextMeshPro_TMP_TextUtilities_6FC51F0);
		 *     func_0x031fdc8c(PTR_DAT_070c55c8);
		 *     func_0x031fdc8c(PTR_DAT_070c5580);
		 *     func_0x031fdc8c(PTR_DAT_070c55d0);
		 *     func_0x031fdc8c(PTR_DAT_070c5588);
		 *     bRam000000000754ac0e = 1;
		 *   }
		 *   plVar14 = (long *)typeinfo_ptr_Unity_TextMeshPro_TMP_TextUtilities_6FC51F0;
		 *   uStack_100 = 0;
		 *   fStack_128 = 0.0;
		 *   uStack_130 = 0;
		 *   uStack_e8 = 0;
		 *   uStack_f0 = 0;
		 *   uStack_118 = 0;
		 *   uStack_120 = 0;
		 *   uStack_108 = 0;
		 *   uStack_110 = 0;
		 *   uStack_d8 = 0;
		 *   uStack_e0 = 0;
		 *   uStack_c8 = 0;
		 *   uStack_d0 = 0;
		 *   uStack_b8 = 0;
		 *   uStack_c0 = 0;
		 *   uStack_a8 = 0;
		 *   uStack_b0 = 0;
		 *   if (this.isHoveringObject == false) {
		 *     if (this.m_lastIndex == -1) {
		 *       return;
		 *     }
		 *     TMP_TextSelector_B.RestoreCachedVertexAttributes(this,this.m_lastIndex);
		 *     this.m_lastIndex = -1;
		 *     return;
		 *   }
		 *   pvVar18 = this.m_TextMeshPro;
		 *   UVar52 = UnityEngine.Input.get_mousePosition();
		 *   pvVar19 = this.m_Camera;
		 *   if (*(int *)(*plVar14 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   methodInfo_00 = (void *)0x1;
		 *   uVar10 = TMP_TextUtilities.FindIntersectingCharacter(pvVar18,UVar52,pvVar19,true);
		 *   uVar11 = this.m_lastIndex;
		 *   if (uVar10 == 0xffffffff) {
		 *     TMP_TextSelector_B.RestoreCachedVertexAttributes(this,uVar11);
		 *     this.m_lastIndex = -1;
		 *   }
		 *   else if (uVar10 != uVar11) {
		 *     TMP_TextSelector_B.RestoreCachedVertexAttributes(this,uVar11);
		 *     this.m_lastIndex = -1;
		 *     bVar9 = UnityEngine.Input.GetKey(0x130);
		 *     if ((bVar9) ||
		 *        (bVar9 = UnityEngine.Input.GetKey(0x12f), bVar9)) {
		 *       this.m_lastIndex = uVar10;
		 *       if ((this.m_TextMeshPro == null) ||
		 *          ((pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), pvVar18 == null ||
		 *           (lVar15 = *(long *)((long)pvVar18 + 0x38), lVar15 == 0)))) goto LAB_033714d4;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar10) goto LAB_033714d8;
		 *       if (this.m_TextMeshPro == null) goto LAB_033714d4;
		 *       uVar11 = *(uint *)(lVar15 + (long)(int)uVar10 * 0x178 + 0x50);
		 *       pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *       if ((pvVar18 == null) || (lVar15 = *(long *)((long)pvVar18 + 0x38), lVar15 == 0))
		 *       goto LAB_033714d4;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar10) goto LAB_033714d8;
		 *       if (this.m_TextMeshPro == null) goto LAB_033714d4;
		 *       uVar10 = *(uint *)(lVar15 + (long)(int)uVar10 * 0x178 + 100);
		 *       pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *       if ((pvVar18 == null) || (lVar15 = *(long *)((long)pvVar18 + 0x60), lVar15 == 0))
		 *       goto LAB_033714d4;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar11) goto LAB_033714d8;
		 *       lVar15 = *(long *)(lVar15 + (long)(int)uVar11 * 0x50 + 0x30);
		 *       if (lVar15 == 0) goto LAB_033714d4;
		 *       if ((*(uint *)(lVar15 + 0x18) <= uVar10) ||
		 *          (uVar1 = uVar10 + 2, *(uint *)(lVar15 + 0x18) <= uVar1)) goto LAB_033714d8;
		 *       lVar16 = lVar15 + (long)(int)uVar10 * 0xc;
		 *       lVar24 = lVar15 + (long)(int)uVar1 * 0xc;
		 *       pUVar4 = (UnityEngine_Vector3 *)(lVar16 + 0x20);
		 *       uVar2 = uVar10 + 1;
		 *       pUVar25 = (UnityEngine_Vector3 *)(lVar24 + 0x20);
		 *       uVar28 = pUVar25->x;
		 *       uVar30 = pUVar25->y;
		 *       uVar32 = pUVar4->x;
		 *       uVar34 = pUVar4->y;
		 *       fVar36 = ((float)uVar32 + (float)uVar28) * 0.5;
		 *       fVar37 = ((float)uVar34 + (float)uVar30) * 0.5;
		 *       pUVar4->x = (float)uVar32 - fVar36;
		 *       pUVar4->y = (float)uVar34 - fVar37;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar2) goto LAB_033714d8;
		 *       lVar20 = lVar15 + (long)(int)uVar2 * 0xc;
		 *       pUVar21 = (UnityEngine_Vector3 *)(lVar20 + 0x20);
		 *       uVar33 = pUVar21->x;
		 *       uVar35 = pUVar21->y;
		 *       pUVar21->x = (float)uVar33 - fVar36;
		 *       pUVar21->y = (float)uVar35 - fVar37;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar1) goto LAB_033714d8;
		 *       uVar3 = uVar10 + 3;
		 *       pUVar25->x = (float)uVar28 - fVar36;
		 *       cVar8 = cRam000000000754a7ce;
		 *       pUVar25->y = (float)uVar30 - fVar37;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar3) goto LAB_033714d8;
		 *       lVar26 = lVar15 + (long)(int)uVar3 * 0xc;
		 *       pUVar27 = (UnityEngine_Vector3 *)(lVar26 + 0x20);
		 *       uVar29 = pUVar27->x;
		 *       uVar31 = pUVar27->y;
		 *       pUVar27->x = (float)uVar29 - fVar36;
		 *       pUVar27->y = (float)uVar31 - fVar37;
		 *       if (cVar8 == '\0') {
		 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
		 *         cRam000000000754a7ce = '\x01';
		 *       }
		 *       puVar17 = *(undefined4 **)
		 *                  (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08 + 0xb8);
		 *       uVar45 = *puVar17;
		 *       uVar46 = puVar17[1];
		 *       uVar47 = puVar17[2];
		 *       if (cRam000000000754a7d0 == '\0') {
		 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0);
		 *         cRam000000000754a7d0 = '\x01';
		 *       }
		 *       puVar17 = *(undefined4 **)
		 *                  (*(long *)typeinfo_ptr_UnityEngine_CoreModule_Quaternion_6FC0EA0 + 0xb8);
		 *       uVar48 = *puVar17;
		 *       uVar49 = puVar17[1];
		 *       uVar50 = puVar17[2];
		 *       uVar51 = puVar17[3];
		 *       if (cRam000000000754a89c == '\0') {
		 *         func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Vector3_6FC0A08);
		 *         cRam000000000754a89c = '\x01';
		 *       }
		 *       NEON_fmov(0x3fc00000,4);
		 *       UnityEngine.Matrix4x4.TRS(&pvStack_170,uVar45,uVar46,uVar47,uVar48,uVar49,uVar50,uVar51,0);
		 *       *(undefined8 *)&this.field_0x88 = uStack_148;
		 *       *(undefined8 *)&this.field_0x80 = uStack_150;
		 *       *(undefined8 *)&this.field_0x98 = uStack_138;
		 *       *(undefined8 *)&this.field_0x90 = uStack_140;
		 *       *(undefined8 *)&this.field_0x68 = uStack_168;
		 *       this.m_matrix = pvStack_170;
		 *       *(undefined8 *)&this.field_0x78 = uStack_158;
		 *       *(undefined8 *)&this.field_0x70 = uStack_160;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar10) goto LAB_033714d8;
		 *       UVar52 = UnityEngine.Matrix4x4.MultiplyPoint3x4(&this.m_matrix,*pUVar4);
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar10) goto LAB_033714d8;
		 *       pUVar4->x = UVar52.x;
		 *       *(float *)(lVar16 + 0x24) = UVar52.y;
		 *       *(float *)(lVar16 + 0x28) = UVar52.z;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar2) goto LAB_033714d8;
		 *       UVar52 = UnityEngine.Matrix4x4.MultiplyPoint3x4(&this.m_matrix,*pUVar21);
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar2) goto LAB_033714d8;
		 *       *(float *)(lVar20 + 0x24) = UVar52.y;
		 *       *(float *)(lVar20 + 0x28) = UVar52.z;
		 *       uVar5 = *(uint *)(lVar15 + 0x18);
		 *       pUVar21->x = UVar52.x;
		 *       if (uVar5 <= uVar1) goto LAB_033714d8;
		 *       UVar52 = UnityEngine.Matrix4x4.MultiplyPoint3x4(&this.m_matrix,*pUVar25);
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar1) goto LAB_033714d8;
		 *       pUVar25->x = UVar52.x;
		 *       *(float *)(lVar24 + 0x24) = UVar52.y;
		 *       *(float *)(lVar24 + 0x28) = UVar52.z;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar3) goto LAB_033714d8;
		 *       UVar52 = UnityEngine.Matrix4x4.MultiplyPoint3x4(&this.m_matrix,*pUVar27);
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar3) goto LAB_033714d8;
		 *       *(float *)(lVar26 + 0x24) = UVar52.y;
		 *       *(float *)(lVar26 + 0x28) = UVar52.z;
		 *       uVar5 = *(uint *)(lVar15 + 0x18);
		 *       pUVar27->x = UVar52.x;
		 *       if (uVar5 <= uVar10) goto LAB_033714d8;
		 *       uVar38 = pUVar4->x;
		 *       uVar41 = pUVar4->y;
		 *       fVar44 = *(float *)(lVar16 + 0x28);
		 *       pUVar4->x = fVar36 + (float)uVar38;
		 *       pUVar4->y = fVar37 + (float)uVar41;
		 *       *(float *)(lVar16 + 0x28) = fVar44 + 0.0;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar2) goto LAB_033714d8;
		 *       uVar39 = pUVar21->x;
		 *       uVar42 = pUVar21->y;
		 *       fVar44 = *(float *)(lVar20 + 0x28);
		 *       pUVar21->x = fVar36 + (float)uVar39;
		 *       pUVar21->y = fVar37 + (float)uVar42;
		 *       *(float *)(lVar20 + 0x28) = fVar44 + 0.0;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar1) goto LAB_033714d8;
		 *       in_d3 = 0;
		 *       uVar40 = pUVar25->x;
		 *       uVar43 = pUVar25->y;
		 *       fVar44 = *(float *)(lVar24 + 0x28);
		 *       pUVar25->x = fVar36 + (float)uVar40;
		 *       pUVar25->y = fVar37 + (float)uVar43;
		 *       *(float *)(lVar24 + 0x28) = fVar44 + 0.0;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar3) goto LAB_033714d8;
		 *       in_d4 = (ulong)(uint)fVar37;
		 *       *(float *)(lVar26 + 0x28) = UVar52.z + 0.0;
		 *       pUVar27->x = fVar36 + UVar52.x;
		 *       *(float *)(lVar26 + 0x24) = fVar37 + UVar52.y;
		 *       if (((this.m_TextMeshPro == null) ||
		 *           (pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), pvVar18 == null)) ||
		 *          (lVar16 = *(long *)((long)pvVar18 + 0x60), lVar16 == 0)) goto LAB_033714d4;
		 *       if (*(uint *)(lVar16 + 0x18) <= uVar11) goto LAB_033714d8;
		 *       lVar16 = *(long *)(lVar16 + (long)(int)uVar11 * 0x50 + 0x58);
		 *       if (lVar16 == 0) goto LAB_033714d4;
		 *       if (((*(uint *)(lVar16 + 0x18) <= uVar10) ||
		 *           (*(undefined4 *)(lVar16 + (long)(int)uVar10 * 4 + 0x20) = 0xffc0ffff,
		 *           *(uint *)(lVar16 + 0x18) <= uVar2)) ||
		 *          ((*(undefined4 *)(lVar16 + (long)(int)uVar2 * 4 + 0x20) = 0xffc0ffff,
		 *           *(uint *)(lVar16 + 0x18) <= uVar1 ||
		 *           (*(undefined4 *)(lVar16 + (long)(int)uVar1 * 4 + 0x20) = 0xffc0ffff,
		 *           *(uint *)(lVar16 + 0x18) <= uVar3)))) goto LAB_033714d8;
		 *       *(undefined4 *)(lVar16 + (long)(int)uVar3 * 4 + 0x20) = 0xffc0ffff;
		 *       if (((this.m_TextMeshPro == null) ||
		 *           (pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), pvVar18 == null)) ||
		 *          (lVar16 = *(long *)((long)pvVar18 + 0x60), lVar16 == 0)) goto LAB_033714d4;
		 *       if (*(uint *)(lVar16 + 0x18) <= uVar11) goto LAB_033714d8;
		 *       func_0x06cb3a10(&uStack_f0,lVar16 + (long)(int)uVar11 * 0x50 + 0x20,0x50);
		 *       iVar23 = *(int *)(lVar15 + 0x18);
		 *       if (*(int *)(*(long *)typeinfo_ptr_Unity_TextMeshPro_TMP_MeshInfo_6FC55C0 + 0xe4) == 0) {
		 *         func_0x031fde08();
		 *       }
		 *       TMPro.TMP_MeshInfo.SwapVertexData(&uStack_f0,uVar10,iVar23 + -4);
		 *       plVar14 = (long *)typeinfo_ptr_Unity_TextMeshPro_TMP_TextUtilities_6FC51F0;
		 *       plVar12 = this.m_TextMeshPro;
		 *       if (plVar12 == null) goto LAB_033714d4;
		 *       (**(code **)(*plVar12 + 0x7f8))(plVar12,0xff,*(undefined8 *)(*plVar12 + 0x800));
		 *     }
		 *   }
		 *   puVar7 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   pvVar18 = this.m_TextMeshPro;
		 *   UVar52 = UnityEngine.Input.get_mousePosition();
		 *   pvVar19 = this.m_Camera;
		 *   if (*(int *)(*plVar14 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   uVar11 = TMP_TextUtilities.FindIntersectingWord(pvVar18,UVar52,pvVar19);
		 *   pvVar18 = this.m_TextPopup_RectTransform;
		 *   if (*(int *)(*(long *)puVar7 + 0xe4) == 0) {
		 *     func_0x031fde08(*(long *)puVar7);
		 *   }
		 *   uVar13 = UnityEngine.Object.op_Inequality(pvVar18,null);
		 *   if (((uVar13 & 1) == 0) || (this.m_selectedWord == 0xffffffff)) {
		 * LAB_033710ac:
		 *     if ((((uVar11 != 0xffffffff) && (uVar11 != this.m_selectedWord)) &&
		 *         (bVar9 = UnityEngine.Input.GetKey(0x130), !bVar9))
		 *        && (bVar9 = UnityEngine.Input.GetKey(0x12f), !bVar9))
		 *     {
		 *       this.m_selectedWord = uVar11;
		 *       if (((this.m_TextMeshPro == null) ||
		 *           (pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), pvVar18 == null)) ||
		 *          (lVar15 = *(long *)((long)pvVar18 + 0x40), lVar15 == 0)) goto LAB_033714d4;
		 *       if (*(uint *)(lVar15 + 0x18) <= uVar11) goto LAB_033714d8;
		 *       lVar15 = lVar15 + (long)(int)uVar11 * 0x18;
		 *       uVar11 = *(uint *)(lVar15 + 0x30);
		 *       uVar13 = (ulong)uVar11;
		 *       if (0 < (int)uVar11) {
		 *         uVar22 = (ulong)*(uint *)(lVar15 + 0x28);
		 *         lVar15 = uVar22 << 0x20;
		 *         do {
		 *           if (((this.m_TextMeshPro == null) ||
		 *               (pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), pvVar18 == null)) ||
		 *              (lVar16 = *(long *)((long)pvVar18 + 0x38), lVar16 == 0)) goto LAB_033714d4;
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar22) goto LAB_033714d8;
		 *           if (this.m_TextMeshPro == null) goto LAB_033714d4;
		 *           iVar23 = (int)((ulong)lVar15 >> 0x20);
		 *           uVar11 = *(uint *)(lVar16 + (long)iVar23 * 0x178 + 0x50);
		 *           pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *           if ((pvVar18 == null) || (lVar16 = *(long *)((long)pvVar18 + 0x38), lVar16 == 0))
		 *           goto LAB_033714d4;
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar22) goto LAB_033714d8;
		 *           if (this.m_TextMeshPro == null) goto LAB_033714d4;
		 *           uVar10 = *(uint *)(lVar16 + (long)iVar23 * 0x178 + 100);
		 *           pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *           if ((pvVar18 == null) || (lVar16 = *(long *)((long)pvVar18 + 0x60), lVar16 == 0))
		 *           goto LAB_033714d4;
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar11) goto LAB_033714d8;
		 *           lVar16 = *(long *)(lVar16 + (long)(int)uVar11 * 0x50 + 0x58);
		 *           if (lVar16 == 0) goto LAB_033714d4;
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar10) goto LAB_033714d8;
		 *           puVar17 = (undefined4 *)(lVar16 + (long)(int)uVar10 * 4 + 0x20);
		 *           uVar45 = TMPro_ExtensionMethods.Tint(0x3f400000,*puVar17);
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar10) goto LAB_033714d8;
		 *           *puVar17 = uVar45;
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar10 + 1) goto LAB_033714d8;
		 *           *(undefined4 *)(lVar16 + (long)(int)(uVar10 + 1) * 4 + 0x20) = uVar45;
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar10 + 2) goto LAB_033714d8;
		 *           *(undefined4 *)(lVar16 + (long)(int)(uVar10 + 2) * 4 + 0x20) = uVar45;
		 *           if (*(uint *)(lVar16 + 0x18) <= uVar10 + 3) goto LAB_033714d8;
		 *           uVar13 = uVar13 - 1;
		 *           lVar15 = lVar15 + 0x100000000;
		 *           uVar22 = uVar22 + 1;
		 *           *(undefined4 *)(lVar16 + (long)(int)(uVar10 + 3) * 4 + 0x20) = uVar45;
		 *         } while (uVar13 != 0);
		 *       }
		 *       plVar12 = this.m_TextMeshPro;
		 *       if (plVar12 == null) goto LAB_033714d4;
		 *       (**(code **)(*plVar12 + 0x7f8))(plVar12,0xff,*(undefined8 *)(*plVar12 + 0x800));
		 *     }
		 *   }
		 *   else if (uVar11 != this.m_selectedWord) {
		 *     if (((this.m_TextMeshPro == null) ||
		 *         (pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), uVar45 = _UNK_0134e510,
		 *         pvVar18 == null)) || (lVar15 = *(long *)((long)pvVar18 + 0x40), lVar15 == 0))
		 *     goto LAB_033714d4;
		 *     if (*(uint *)(lVar15 + 0x18) <= (uint)this.m_selectedWord) goto LAB_033714d8;
		 *     lVar15 = lVar15 + (long)this.m_selectedWord * 0x18;
		 *     uVar10 = *(uint *)(lVar15 + 0x30);
		 *     uVar13 = (ulong)uVar10;
		 *     if (0 < (int)uVar10) {
		 *       uVar22 = (ulong)*(uint *)(lVar15 + 0x28);
		 *       lVar15 = uVar22 << 0x20;
		 *       do {
		 *         if (((this.m_TextMeshPro == null) ||
		 *             (pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), pvVar18 == null)) ||
		 *            (lVar16 = *(long *)((long)pvVar18 + 0x38), lVar16 == 0)) goto LAB_033714d4;
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar22) goto LAB_033714d8;
		 *         if (this.m_TextMeshPro == null) goto LAB_033714d4;
		 *         iVar23 = (int)((ulong)lVar15 >> 0x20);
		 *         uVar10 = *(uint *)(lVar16 + (long)iVar23 * 0x178 + 0x50);
		 *         pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro)
		 *         ;
		 *         if ((pvVar18 == null) || (lVar16 = *(long *)((long)pvVar18 + 0x38), lVar16 == 0))
		 *         goto LAB_033714d4;
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar22) goto LAB_033714d8;
		 *         if (this.m_TextMeshPro == null) goto LAB_033714d4;
		 *         uVar1 = *(uint *)(lVar16 + (long)iVar23 * 0x178 + 100);
		 *         pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro)
		 *         ;
		 *         if ((pvVar18 == null) || (lVar16 = *(long *)((long)pvVar18 + 0x60), lVar16 == 0))
		 *         goto LAB_033714d4;
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar10) goto LAB_033714d8;
		 *         lVar16 = *(long *)(lVar16 + (long)(int)uVar10 * 0x50 + 0x58);
		 *         if (lVar16 == 0) goto LAB_033714d4;
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar1) goto LAB_033714d8;
		 *         puVar17 = (undefined4 *)(lVar16 + (long)(int)uVar1 * 4 + 0x20);
		 *         uVar46 = TMPro_ExtensionMethods.Tint(uVar45,*puVar17);
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar1) goto LAB_033714d8;
		 *         *puVar17 = uVar46;
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar1 + 1) goto LAB_033714d8;
		 *         *(undefined4 *)(lVar16 + (long)(int)(uVar1 + 1) * 4 + 0x20) = uVar46;
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar1 + 2) goto LAB_033714d8;
		 *         *(undefined4 *)(lVar16 + (long)(int)(uVar1 + 2) * 4 + 0x20) = uVar46;
		 *         if (*(uint *)(lVar16 + 0x18) <= uVar1 + 3) goto LAB_033714d8;
		 *         uVar13 = uVar13 - 1;
		 *         lVar15 = lVar15 + 0x100000000;
		 *         uVar22 = uVar22 + 1;
		 *         *(undefined4 *)(lVar16 + (long)(int)(uVar1 + 3) * 4 + 0x20) = uVar46;
		 *       } while (uVar13 != 0);
		 *     }
		 *     plVar14 = this.m_TextMeshPro;
		 *     if (plVar14 == null) goto LAB_033714d4;
		 *     (**(code **)(*plVar14 + 0x7f8))(plVar14,0xff,*(undefined8 *)(*plVar14 + 0x800));
		 *     this.m_selectedWord = -1;
		 *     plVar14 = (long *)typeinfo_ptr_Unity_TextMeshPro_TMP_TextUtilities_6FC51F0;
		 *     goto LAB_033710ac;
		 *   }
		 *   pvVar18 = this.m_TextMeshPro;
		 *   UVar52 = UnityEngine.Input.get_mousePosition();
		 *   pvVar19 = this.m_Camera;
		 *   if (*(int *)(*plVar14 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   uVar11 = TMP_TextUtilities.FindIntersectingLink(pvVar18,UVar52,pvVar19);
		 *   if (uVar11 == 0xffffffff) {
		 *     if (this.m_selectedLink == 0xffffffff) {
		 *       return;
		 *     }
		 *   }
		 *   else if (uVar11 == this.m_selectedLink) {
		 *     return;
		 *   }
		 *   if ((this.m_TextPopup_RectTransform == null) ||
		 *      (pvVar18 = UnityEngine.Component.get_gameObject(this.m_TextPopup_RectTransform), pvVar18 == null))
		 *   goto LAB_033714d4;
		 *   UnityEngine.GameObject.SetActive(pvVar18,false);
		 *   this.m_selectedLink = -1;
		 *   if (uVar11 != 0xffffffff) {
		 *     this.m_selectedLink = uVar11;
		 *     if (((this.m_TextMeshPro == null) ||
		 *         (pvVar18 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro), pvVar18 == null)) ||
		 *        (lVar15 = *(long *)((long)pvVar18 + 0x48), lVar15 == 0)) goto LAB_033714d4;
		 *     if (*(uint *)(lVar15 + 0x18) <= uVar11) {
		 * LAB_033714d8:
		 *       IL2CPP.ThrowIndexOutOfRangeException();
		 *     }
		 *     lVar15 = lVar15 + (long)(int)uVar11 * 0x28;
		 *     uStack_118 = *(undefined8 *)(lVar15 + 0x28);
		 *     uStack_120 = *(undefined8 *)(lVar15 + 0x20);
		 *     uStack_108 = *(undefined8 *)(lVar15 + 0x38);
		 *     uStack_110 = *(undefined8 *)(lVar15 + 0x30);
		 *     uStack_100 = *(undefined8 *)(lVar15 + 0x40);
		 *     if (this.m_TextMeshPro == null) goto LAB_033714d4;
		 *     pvVar18 = TMPro.TMP_Text.get_rectTransform(this.m_TextMeshPro);
		 *     UVar52 = UnityEngine.Input.get_mousePosition();
		 *     uVar13 = (ulong)(uint)UVar52.z;
		 *     pvVar19 = this.m_Camera;
		 *     if (*(int *)(*(long *)PTR_DAT_070c5578 + 0xe4) == 0) {
		 *       func_0x031fde08();
		 *     }
		 *     worldPoint.x = (undefined4)uVar13;
		 *     worldPoint.y = (undefined4)in_d3;
		 *     worldPoint.z = (float)in_d4;
		 *     RectTransformUtility.ScreenPointToWorldPointInRectangle(pvVar18,UVar52._0_8_,pvVar19,worldPoint);
		 *     pvVar18 = TMPro.TMP_LinkInfo.GetLinkID(&uStack_120);
		 *     bVar9 = System.String.op_Equality(pvVar18,*(void **)PTR_DAT_070c5580);
		 *     if (bVar9) {
		 *       if (this.m_TextPopup_RectTransform == null) goto LAB_033714d4;
		 *       value.z = fStack_128;
		 *       value.x = (float)(undefined4)uStack_130;
		 *       value.y = (float)uStack_130._4_4_;
		 *       UnityEngine.Transform.set_position(this.m_TextPopup_RectTransform,value);
		 *       if ((this.m_TextPopup_RectTransform == null) ||
		 *          (pvVar18 = UnityEngine.Component.get_gameObject(this.m_TextPopup_RectTransform), pvVar18 == null)
		 *          ) goto LAB_033714d4;
		 *       UnityEngine.GameObject.SetActive(pvVar18,true);
		 *       plVar14 = this.m_TextPopup_TMPComponent;
		 *       puVar6 = (undefined8 *)PTR_DAT_070c55d0;
		 *     }
		 *     else {
		 *       bVar9 = System.String.op_Equality(pvVar18,*(void **)PTR_DAT_070c5588);
		 *       if (!bVar9) {
		 *         return;
		 *       }
		 *       if (this.m_TextPopup_RectTransform == null) goto LAB_033714d4;
		 *       UVar52.z = fStack_128;
		 *       UVar52.x = (float)(undefined4)uStack_130;
		 *       UVar52.y = (float)uStack_130._4_4_;
		 *       UnityEngine.Transform.set_position(this.m_TextPopup_RectTransform,UVar52);
		 *       if ((this.m_TextPopup_RectTransform == null) ||
		 *          (pvVar18 = UnityEngine.Component.get_gameObject(this.m_TextPopup_RectTransform), pvVar18 == null)
		 *          ) goto LAB_033714d4;
		 *       UnityEngine.GameObject.SetActive(pvVar18,true);
		 *       plVar14 = this.m_TextPopup_TMPComponent;
		 *       puVar6 = (undefined8 *)PTR_DAT_070c55c8;
		 *     }
		 *     if (plVar14 == null) {
		 * LAB_033714d4:
		 *       IL2CPP.ThrowNullReferenceException();
		 *     }
		 *     (**(code **)(*plVar14 + 0x558))(plVar14,*puVar6,*(undefined8 *)(*plVar14 + 0x560));
		 *   }
		 *   return;
		 */
		// RVA: 0x3271E10 VA: 0x781895CE10
		public void OnPointerEnter(UnityEngine.EventSystems.PointerEventData eventData);
		/*
		 *   this.isHoveringObject = true;
		 *   return;
		 */
		// RVA: 0x3271E1C VA: 0x781895CE1C
		public void OnPointerExit(UnityEngine.EventSystems.PointerEventData eventData);
		/*
		 *   this.isHoveringObject = false;
		 *   return;
		 */
		// RVA: 0x3271E24 VA: 0x781895CE24
		public void OnPointerClick(UnityEngine.EventSystems.PointerEventData eventData);
		/*
		 *   return;
		 */
		// RVA: 0x3271E28 VA: 0x781895CE28
		public void OnPointerUp(UnityEngine.EventSystems.PointerEventData eventData);
		/*
		 *   return;
		 */
		// RVA: 0x32714DC VA: 0x781895C4DC
		private void RestoreCachedVertexAttributes(int index);
		/*
		 *   uint uVar1;
		 *   uint uVar2;
		 *   uint uVar3;
		 *   long lVar4;
		 *   long lVar5;
		 *   uint uVar6;
		 *   uint uVar7;
		 *   void *pvVar8;
		 *   long *plVar9;
		 *   long lVar10;
		 *   long lVar11;
		 *   long lVar12;
		 *   long lVar13;
		 *   long lVar14;
		 *   long lVar15;
		 *   long lVar16;
		 *   long lVar17;
		 *   undefined8 uVar18;
		 *   undefined4 uVar19;
		 *
		 *   if (index == -1) {
		 *     return;
		 *   }
		 *   if ((this.m_TextMeshPro != null) &&
		 *      (pvVar8 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro),
		 *      pvVar8 != null)) {
		 *     if (*(int *)((long)pvVar8 + 0x18) + -1 < index) {
		 *       return;
		 *     }
		 *     if (((this.m_TextMeshPro != null) &&
		 *         (pvVar8 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro)
		 *         , pvVar8 != null)) && (lVar10 = *(long *)((long)pvVar8 + 0x38), lVar10 != 0)) {
		 *       if (*(uint *)(lVar10 + 0x18) <= (uint)index) goto LAB_03371e08;
		 *       if (this.m_TextMeshPro != null) {
		 *         uVar6 = *(uint *)(lVar10 + (long)index * 0x178 + 0x50);
		 *         pvVar8 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *         if ((pvVar8 != null) && (lVar10 = *(long *)((long)pvVar8 + 0x38), lVar10 != 0)) {
		 *           if (*(uint *)(lVar10 + 0x18) <= (uint)index) {
		 * LAB_03371e08:
		 *             IL2CPP.ThrowIndexOutOfRangeException();
		 *           }
		 *           pvVar8 = this.m_cachedMeshInfoVertexData;
		 *           if (pvVar8 != null) {
		 *             if (*(uint *)((long)pvVar8 + 0x18) <= uVar6) goto LAB_03371e08;
		 *             if (this.m_TextMeshPro != null) {
		 *               uVar7 = *(uint *)(lVar10 + (long)index * 0x178 + 100);
		 *               lVar16 = (long)(int)uVar7;
		 *               lVar10 = *(long *)((long)pvVar8 + (long)(int)uVar6 * 0x50 + 0x30);
		 *               pvVar8 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *               if ((pvVar8 != null) && (lVar11 = *(long *)((long)pvVar8 + 0x60), lVar11 != 0))
		 *               {
		 *                 if (uVar6 < *(uint *)(lVar11 + 0x18)) {
		 *                   if (lVar10 == 0) goto LAB_03371e0c;
		 *                   if (uVar7 < *(uint *)(lVar10 + 0x18)) {
		 *                     lVar11 = *(long *)(lVar11 + (long)(int)uVar6 * 0x50 + 0x30);
		 *                     if (lVar11 == 0) goto LAB_03371e0c;
		 *                     if (uVar7 < *(uint *)(lVar11 + 0x18)) {
		 *                       lVar12 = lVar10 + (long)(int)uVar7 * 0xc;
		 *                       lVar14 = lVar11 + (long)(int)uVar7 * 0xc;
		 *                       uVar19 = *(undefined4 *)(lVar12 + 0x28);
		 *                       uVar1 = uVar7 + 1;
		 *                       *(undefined8 *)(lVar14 + 0x20) = *(undefined8 *)(lVar12 + 0x20);
		 *                       *(undefined4 *)(lVar14 + 0x28) = uVar19;
		 *                       if ((uVar1 < *(uint *)(lVar10 + 0x18)) &&
		 *                          (lVar12 = (long)(int)uVar1, uVar1 < *(uint *)(lVar11 + 0x18))) {
		 *                         lVar14 = lVar10 + lVar12 * 0xc;
		 *                         lVar17 = lVar11 + lVar12 * 0xc;
		 *                         uVar19 = *(undefined4 *)(lVar14 + 0x28);
		 *                         *(undefined8 *)(lVar17 + 0x20) = *(undefined8 *)(lVar14 + 0x20);
		 *                         *(undefined4 *)(lVar17 + 0x28) = uVar19;
		 *                         uVar2 = uVar7 + 2;
		 *                         if ((uVar2 < *(uint *)(lVar10 + 0x18)) &&
		 *                            (lVar14 = (long)(int)uVar2, uVar2 < *(uint *)(lVar11 + 0x18))) {
		 *                           lVar17 = lVar10 + lVar14 * 0xc;
		 *                           lVar15 = lVar11 + lVar14 * 0xc;
		 *                           uVar19 = *(undefined4 *)(lVar17 + 0x28);
		 *                           *(undefined8 *)(lVar15 + 0x20) = *(undefined8 *)(lVar17 + 0x20);
		 *                           *(undefined4 *)(lVar15 + 0x28) = uVar19;
		 *                           uVar3 = uVar7 + 3;
		 *                           if ((uVar3 < *(uint *)(lVar10 + 0x18)) &&
		 *                              (lVar17 = (long)(int)uVar3, uVar3 < *(uint *)(lVar11 + 0x18))) {
		 *                             lVar15 = lVar10 + lVar17 * 0xc;
		 *                             lVar13 = lVar11 + lVar17 * 0xc;
		 *                             uVar19 = *(undefined4 *)(lVar15 + 0x28);
		 *                             *(undefined8 *)(lVar13 + 0x20) = *(undefined8 *)(lVar15 + 0x20);
		 *                             *(undefined4 *)(lVar13 + 0x28) = uVar19;
		 *                             if ((this.m_TextMeshPro != null) &&
		 *                                ((pvVar8 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro),
		 *                                 pvVar8 != null &&
		 *                                 (lVar15 = *(long *)((long)pvVar8 + 0x60), lVar15 != 0)))) {
		 *                               if (*(uint *)(lVar15 + 0x18) <= uVar6) goto LAB_03371e08;
		 *                               pvVar8 = this.m_cachedMeshInfoVertexData;
		 *                               if (pvVar8 != null) {
		 *                                 if (*(uint *)((long)pvVar8 + 0x18) <= uVar6) goto LAB_03371e08;
		 *                                 lVar13 = *(long *)((long)pvVar8 + (long)(int)uVar6 * 0x50 + 0x58);
		 *                                 if (lVar13 != 0) {
		 *                                   if (*(uint *)(lVar13 + 0x18) <= uVar7) goto LAB_03371e08;
		 *                                   lVar15 = *(long *)(lVar15 + (long)(int)uVar6 * 0x50 + 0x58);
		 *                                   if (lVar15 != 0) {
		 *                                     if (((((*(uint *)(lVar15 + 0x18) <= uVar7) ||
		 *                                           (*(undefined4 *)(lVar15 + lVar16 * 4 + 0x20) =
		 *                                                 *(undefined4 *)(lVar13 + lVar16 * 4 + 0x20),
		 *                                           *(uint *)(lVar13 + 0x18) <= uVar1)) ||
		 *                                          (*(uint *)(lVar15 + 0x18) <= uVar1)) ||
		 *                                         ((*(undefined4 *)(lVar15 + lVar12 * 4 + 0x20) =
		 *                                                *(undefined4 *)(lVar13 + lVar12 * 4 + 0x20),
		 *                                          *(uint *)(lVar13 + 0x18) <= uVar2 ||
		 *                                          (*(uint *)(lVar15 + 0x18) <= uVar2)))) ||
		 *                                        ((*(undefined4 *)(lVar15 + lVar14 * 4 + 0x20) =
		 *                                               *(undefined4 *)(lVar13 + lVar14 * 4 + 0x20),
		 *                                         *(uint *)(lVar13 + 0x18) <= uVar3 ||
		 *                                         (*(uint *)(lVar15 + 0x18) <= uVar3)))) goto LAB_03371e08;
		 *                                     *(undefined4 *)(lVar15 + lVar17 * 4 + 0x20) =
		 *                                          *(undefined4 *)(lVar13 + lVar17 * 4 + 0x20);
		 *                                     pvVar8 = this.m_cachedMeshInfoVertexData;
		 *                                     if (pvVar8 != null) {
		 *                                       if (*(uint *)((long)pvVar8 + 0x18) <= uVar6)
		 *                                       goto LAB_03371e08;
		 *                                       if (this.m_TextMeshPro != null) {
		 *                                         lVar15 = *(long *)((long)pvVar8 +
		 *                                                           (long)(int)uVar6 * 0x50 + 0x48);
		 *                                         pvVar8 = TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *                                         if ((pvVar8 != null) &&
		 *                                            (lVar13 = *(long *)((long)pvVar8 + 0x60), lVar13 != 0)) {
		 *                                           if (uVar6 < *(uint *)(lVar13 + 0x18)) {
		 *                                             if (lVar15 == 0) goto LAB_03371e0c;
		 *                                             if (uVar7 < *(uint *)(lVar15 + 0x18)) {
		 *                                               lVar13 = *(long *)(lVar13 + (long)(int)uVar6 * 0x50 +
		 *                                                                 0x48);
		 *                                               if (lVar13 == 0) goto LAB_03371e0c;
		 *                                               if (uVar7 < *(uint *)(lVar13 + 0x18)) {
		 *                                                 lVar4 = lVar15 + lVar16 * 0x10;
		 *                                                 uVar18 = *(undefined8 *)(lVar4 + 0x20);
		 *                                                 lVar5 = lVar13 + lVar16 * 0x10;
		 *                                                 *(undefined8 *)(lVar5 + 0x28) =
		 *                                                      *(undefined8 *)(lVar4 + 0x28);
		 *                                                 *(undefined8 *)(lVar5 + 0x20) = uVar18;
		 *                                                 if ((uVar1 < *(uint *)(lVar15 + 0x18)) &&
		 *                                                    (uVar1 < *(uint *)(lVar13 + 0x18))) {
		 *                                                   lVar4 = lVar15 + lVar12 * 0x10;
		 *                                                   lVar5 = lVar13 + lVar12 * 0x10;
		 *                                                   uVar18 = *(undefined8 *)(lVar4 + 0x20);
		 *                                                   *(undefined8 *)(lVar5 + 0x28) =
		 *                                                        *(undefined8 *)(lVar4 + 0x28);
		 *                                                   *(undefined8 *)(lVar5 + 0x20) = uVar18;
		 *                                                   if ((uVar2 < *(uint *)(lVar15 + 0x18)) &&
		 *                                                      (uVar2 < *(uint *)(lVar13 + 0x18))) {
		 *                                                     lVar4 = lVar15 + lVar14 * 0x10;
		 *                                                     lVar5 = lVar13 + lVar14 * 0x10;
		 *                                                     uVar18 = *(undefined8 *)(lVar4 + 0x20);
		 *                                                     *(undefined8 *)(lVar5 + 0x28) =
		 *                                                          *(undefined8 *)(lVar4 + 0x28);
		 *                                                     *(undefined8 *)(lVar5 + 0x20) = uVar18;
		 *                                                     if ((uVar3 < *(uint *)(lVar15 + 0x18)) &&
		 *                                                        (uVar3 < *(uint *)(lVar13 + 0x18))) {
		 *                                                       lVar15 = lVar15 + lVar17 * 0x10;
		 *                                                       lVar13 = lVar13 + lVar17 * 0x10;
		 *                                                       uVar18 = *(undefined8 *)(lVar15 + 0x20);
		 *                                                       *(undefined8 *)(lVar13 + 0x28) =
		 *                                                            *(undefined8 *)(lVar15 + 0x28);
		 *                                                       *(undefined8 *)(lVar13 + 0x20) = uVar18;
		 *                                                       pvVar8 = this.m_cachedMeshInfoVertexData;
		 *                                                       if (pvVar8 != null) {
		 *                                                         if (*(uint *)((long)pvVar8 + 0x18) <= uVar6)
		 *                                                         goto LAB_03371e08;
		 *                                                         if (this.m_TextMeshPro != null) {
		 *                                                           lVar15 = *(long *)((long)pvVar8 +
		 *                                                                             (long)(int)uVar6 * 0x50
		 *                                                                             + 0x50);
		 *                                                           pvVar8 =
		 *                                                   TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *                                                   if ((pvVar8 != null) &&
		 *                                                      (lVar13 = *(long *)((long)pvVar8 + 0x60),
		 *                                                      lVar13 != 0)) {
		 *                                                     if (uVar6 < *(uint *)(lVar13 + 0x18)) {
		 *                                                       if (lVar15 == 0) goto LAB_03371e0c;
		 *                                                       if (uVar7 < *(uint *)(lVar15 + 0x18)) {
		 *                                                         lVar13 = *(long *)(lVar13 + (long)(int)uVar6
		 *                                                                                     * 0x50 + 0x50);
		 *                                                         if (lVar13 == 0) goto LAB_03371e0c;
		 *                                                         if ((((uVar7 < *(uint *)(lVar13 + 0x18)) &&
		 *                                                              (*(undefined8 *)
		 *                                                                (lVar13 + lVar16 * 8 + 0x20) =
		 *                                                                    *(undefined8 *)
		 *                                                                     (lVar15 + lVar16 * 8 + 0x20),
		 *                                                              uVar1 < *(uint *)(lVar15 + 0x18))) &&
		 *                                                             (uVar1 < *(uint *)(lVar13 + 0x18))) &&
		 *                                                            (((*(undefined8 *)
		 *                                                                (lVar13 + lVar12 * 8 + 0x20) =
		 *                                                                    *(undefined8 *)
		 *                                                                     (lVar15 + lVar12 * 8 + 0x20),
		 *                                                              uVar2 < *(uint *)(lVar15 + 0x18) &&
		 *                                                              (uVar2 < *(uint *)(lVar13 + 0x18))) &&
		 *                                                             ((*(undefined8 *)
		 *                                                                (lVar13 + lVar14 * 8 + 0x20) =
		 *                                                                    *(undefined8 *)
		 *                                                                     (lVar15 + lVar14 * 8 + 0x20),
		 *                                                              uVar3 < *(uint *)(lVar15 + 0x18) &&
		 *                                                              (uVar3 < *(uint *)(lVar13 + 0x18)))))))
		 *                                                         {
		 *                                                           *(undefined8 *)
		 *                                                            (lVar13 + lVar17 * 8 + 0x20) =
		 *                                                                *(undefined8 *)
		 *                                                                 (lVar15 + lVar17 * 8 + 0x20);
		 *                                                           uVar1 = *(uint *)(lVar10 + 0x18);
		 *                                                           uVar7 = uVar1 + 3;
		 *                                                           if (-1 < (int)uVar1) {
		 *                                                             uVar7 = uVar1;
		 *                                                           }
		 *                                                           uVar7 = uVar7 & 0xfffffffc;
		 *                                                           uVar2 = uVar7 - 4;
		 *                                                           if ((uVar2 < uVar1) &&
		 *                                                              (lVar16 = (long)(int)uVar2,
		 *                                                              uVar2 < *(uint *)(lVar11 + 0x18))) {
		 *                                                             lVar12 = lVar10 + lVar16 * 0xc;
		 *                                                             lVar14 = lVar11 + lVar16 * 0xc;
		 *                                                             uVar19 = *(undefined4 *)(lVar12 + 0x28);
		 *                                                             *(undefined8 *)(lVar14 + 0x20) =
		 *                                                                  *(undefined8 *)(lVar12 + 0x20);
		 *                                                             *(undefined4 *)(lVar14 + 0x28) = uVar19;
		 *                                                             uVar1 = uVar7 - 3;
		 *                                                             if ((uVar1 < *(uint *)(lVar10 + 0x18))
		 *                                                                && (lVar12 = (long)(int)uVar1,
		 *                                                                   uVar1 < *(uint *)(lVar11 + 0x18)))
		 *                                                             {
		 *                                                               lVar14 = lVar10 + lVar12 * 0xc;
		 *                                                               lVar17 = lVar11 + lVar12 * 0xc;
		 *                                                               uVar19 = *(undefined4 *)
		 *                                                                         (lVar14 + 0x28);
		 *                                                               *(undefined8 *)(lVar17 + 0x20) =
		 *                                                                    *(undefined8 *)(lVar14 + 0x20);
		 *                                                               *(undefined4 *)(lVar17 + 0x28) =
		 *                                                                    uVar19;
		 *                                                               uVar3 = uVar7 - 2;
		 *                                                               if ((uVar3 < *(uint *)(lVar10 + 0x18))
		 *                                                                  && (lVar14 = (long)(int)uVar3,
		 *                                                                     uVar3 < *(uint *)(lVar11 + 0x18)
		 *                                                                     )) {
		 *                                                                 uVar7 = uVar7 - 1;
		 *                                                                 lVar17 = lVar10 + lVar14 * 0xc;
		 *                                                                 lVar15 = lVar11 + lVar14 * 0xc;
		 *                                                                 uVar19 = *(undefined4 *)
		 *                                                                           (lVar17 + 0x28);
		 *                                                                 *(undefined8 *)(lVar15 + 0x20) =
		 *                                                                      *(undefined8 *)(lVar17 + 0x20);
		 *                                                                 *(undefined4 *)(lVar15 + 0x28) =
		 *                                                                      uVar19;
		 *                                                                 if ((uVar7 < *(uint *)(lVar10 + 0x18
		 *                                                                                       )) &&
		 *                                                                    (lVar17 = (long)(int)uVar7,
		 *                                                                    uVar7 < *(uint *)(lVar11 + 0x18))
		 *                                                                    ) {
		 *                                                                   lVar10 = lVar10 + lVar17 * 0xc;
		 *                                                                   lVar11 = lVar11 + lVar17 * 0xc;
		 *                                                                   uVar19 = *(undefined4 *)
		 *                                                                             (lVar10 + 0x28);
		 *                                                                   *(undefined8 *)(lVar11 + 0x20) =
		 *                                                                        *(undefined8 *)
		 *                                                                         (lVar10 + 0x20);
		 *                                                                   *(undefined4 *)(lVar11 + 0x28) =
		 *                                                                        uVar19;
		 *                                                                   pvVar8 = this.
		 *                                                   m_cachedMeshInfoVertexData;
		 *                                                   if (pvVar8 != null) {
		 *                                                     if (*(uint *)((long)pvVar8 + 0x18) <= uVar6)
		 *                                                     goto LAB_03371e08;
		 *                                                     if (this.m_TextMeshPro != null) {
		 *                                                       lVar10 = *(long *)((long)pvVar8 +
		 *                                                                         (long)(int)uVar6 * 0x50 +
		 *                                                                         0x58);
		 *                                                       pvVar8 =
		 *                                                   TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *                                                   if ((pvVar8 != null) &&
		 *                                                      (lVar11 = *(long *)((long)pvVar8 + 0x60),
		 *                                                      lVar11 != 0)) {
		 *                                                     if (*(uint *)(lVar11 + 0x18) <= uVar6)
		 *                                                     goto LAB_03371e08;
		 *                                                     if (lVar10 != 0) {
		 *                                                       if (*(uint *)(lVar10 + 0x18) <= uVar2)
		 *                                                       goto LAB_03371e08;
		 *                                                       lVar11 = *(long *)(lVar11 + (long)(int)uVar6 *
		 *                                                                                   0x50 + 0x58);
		 *                                                       if (lVar11 != 0) {
		 *                                                         if ((((*(uint *)(lVar11 + 0x18) <= uVar2) ||
		 *                                                              (*(undefined4 *)
		 *                                                                (lVar11 + lVar16 * 4 + 0x20) =
		 *                                                                    *(undefined4 *)
		 *                                                                     (lVar10 + lVar16 * 4 + 0x20),
		 *                                                              *(uint *)(lVar10 + 0x18) <= uVar1)) ||
		 *                                                             (*(uint *)(lVar11 + 0x18) <= uVar1)) ||
		 *                                                            (((*(undefined4 *)
		 *                                                                (lVar11 + lVar12 * 4 + 0x20) =
		 *                                                                    *(undefined4 *)
		 *                                                                     (lVar10 + lVar12 * 4 + 0x20),
		 *                                                              *(uint *)(lVar10 + 0x18) <= uVar3 ||
		 *                                                              (*(uint *)(lVar11 + 0x18) <= uVar3)) ||
		 *                                                             ((*(undefined4 *)
		 *                                                                (lVar11 + lVar14 * 4 + 0x20) =
		 *                                                                    *(undefined4 *)
		 *                                                                     (lVar10 + lVar14 * 4 + 0x20),
		 *                                                              *(uint *)(lVar10 + 0x18) <= uVar7 ||
		 *                                                              (*(uint *)(lVar11 + 0x18) <= uVar7)))))
		 *                                                            ) goto LAB_03371e08;
		 *                                                         *(undefined4 *)(lVar11 + lVar17 * 4 + 0x20)
		 *                                                              = *(undefined4 *)
		 *                                                                 (lVar10 + lVar17 * 4 + 0x20);
		 *                                                         pvVar8 = this.m_cachedMeshInfoVertexData;
		 *                                                         if (pvVar8 != null) {
		 *                                                           if (*(uint *)((long)pvVar8 + 0x18) <=
		 *                                                               uVar6) goto LAB_03371e08;
		 *                                                           if (this.m_TextMeshPro != null) {
		 *                                                             lVar10 = *(long *)((long)pvVar8 +
		 *                                                                               (long)(int)uVar6 *
		 *                                                                               0x50 + 0x48);
		 *                                                             pvVar8 =
		 *                                                   TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *                                                   if ((pvVar8 != null) &&
		 *                                                      (lVar11 = *(long *)((long)pvVar8 + 0x60),
		 *                                                      lVar11 != 0)) {
		 *                                                     if (uVar6 < *(uint *)(lVar11 + 0x18)) {
		 *                                                       if (lVar10 == 0) goto LAB_03371e0c;
		 *                                                       if (uVar2 < *(uint *)(lVar10 + 0x18)) {
		 *                                                         lVar11 = *(long *)(lVar11 + (long)(int)uVar6
		 *                                                                                     * 0x50 + 0x48);
		 *                                                         if (lVar11 == 0) goto LAB_03371e0c;
		 *                                                         if (uVar2 < *(uint *)(lVar11 + 0x18)) {
		 *                                                           lVar15 = lVar10 + lVar16 * 0x10;
		 *                                                           uVar18 = *(undefined8 *)(lVar15 + 0x20);
		 *                                                           lVar13 = lVar11 + lVar16 * 0x10;
		 *                                                           *(undefined8 *)(lVar13 + 0x28) =
		 *                                                                *(undefined8 *)(lVar15 + 0x28);
		 *                                                           *(undefined8 *)(lVar13 + 0x20) = uVar18;
		 *                                                           if ((uVar1 < *(uint *)(lVar10 + 0x18)) &&
		 *                                                              (uVar1 < *(uint *)(lVar11 + 0x18))) {
		 *                                                             lVar15 = lVar10 + lVar12 * 0x10;
		 *                                                             lVar13 = lVar11 + lVar12 * 0x10;
		 *                                                             uVar18 = *(undefined8 *)(lVar15 + 0x20);
		 *                                                             *(undefined8 *)(lVar13 + 0x28) =
		 *                                                                  *(undefined8 *)(lVar15 + 0x28);
		 *                                                             *(undefined8 *)(lVar13 + 0x20) = uVar18;
		 *                                                             if ((uVar3 < *(uint *)(lVar10 + 0x18))
		 *                                                                && (uVar3 < *(uint *)(lVar11 + 0x18))
		 *                                                                ) {
		 *                                                               lVar15 = lVar10 + lVar14 * 0x10;
		 *                                                               lVar13 = lVar11 + lVar14 * 0x10;
		 *                                                               uVar18 = *(undefined8 *)
		 *                                                                         (lVar15 + 0x20);
		 *                                                               *(undefined8 *)(lVar13 + 0x28) =
		 *                                                                    *(undefined8 *)(lVar15 + 0x28);
		 *                                                               *(undefined8 *)(lVar13 + 0x20) =
		 *                                                                    uVar18;
		 *                                                               if ((uVar7 < *(uint *)(lVar10 + 0x18))
		 *                                                                  && (uVar7 < *(uint *)(lVar11 + 0x18
		 *                                                                                       ))) {
		 *                                                                 lVar10 = lVar10 + lVar17 * 0x10;
		 *                                                                 lVar11 = lVar11 + lVar17 * 0x10;
		 *                                                                 uVar18 = *(undefined8 *)
		 *                                                                           (lVar10 + 0x20);
		 *                                                                 *(undefined8 *)(lVar11 + 0x28) =
		 *                                                                      *(undefined8 *)(lVar10 + 0x28);
		 *                                                                 *(undefined8 *)(lVar11 + 0x20) =
		 *                                                                      uVar18;
		 *                                                                 pvVar8 = this.
		 *                                                   m_cachedMeshInfoVertexData;
		 *                                                   if (pvVar8 != null) {
		 *                                                     if (*(uint *)((long)pvVar8 + 0x18) <= uVar6)
		 *                                                     goto LAB_03371e08;
		 *                                                     if (this.m_TextMeshPro != null) {
		 *                                                       lVar10 = *(long *)((long)pvVar8 +
		 *                                                                         (long)(int)uVar6 * 0x50 +
		 *                                                                         0x50);
		 *                                                       pvVar8 =
		 *                                                   TMPro.TMP_Text.get_textInfo(this.m_TextMeshPro);
		 *                                                   if ((pvVar8 != null) &&
		 *                                                      (lVar11 = *(long *)((long)pvVar8 + 0x60),
		 *                                                      lVar11 != 0)) {
		 *                                                     if (*(uint *)(lVar11 + 0x18) <= uVar6)
		 *                                                     goto LAB_03371e08;
		 *                                                     if (lVar10 != 0) {
		 *                                                       if (*(uint *)(lVar10 + 0x18) <= uVar2)
		 *                                                       goto LAB_03371e08;
		 *                                                       lVar11 = *(long *)(lVar11 + (long)(int)uVar6 *
		 *                                                                                   0x50 + 0x50);
		 *                                                       if (lVar11 != 0) {
		 *                                                         if (((((*(uint *)(lVar11 + 0x18) <= uVar2)
		 *                                                               || (*(undefined8 *)
		 *                                                                    (lVar11 + lVar16 * 8 + 0x20) =
		 *                                                                        *(undefined8 *)
		 *                                                                         (lVar10 + lVar16 * 8 + 0x20)
		 *                                                                  , *(uint *)(lVar10 + 0x18) <= uVar1
		 *                                                                  )) || (*(uint *)(lVar11 + 0x18) <=
		 *                                                                         uVar1)) ||
		 *                                                             ((*(undefined8 *)
		 *                                                                (lVar11 + lVar12 * 8 + 0x20) =
		 *                                                                    *(undefined8 *)
		 *                                                                     (lVar10 + lVar12 * 8 + 0x20),
		 *                                                              *(uint *)(lVar10 + 0x18) <= uVar3 ||
		 *                                                              (*(uint *)(lVar11 + 0x18) <= uVar3))))
		 *                                                            || ((*(undefined8 *)
		 *                                                                  (lVar11 + lVar14 * 8 + 0x20) =
		 *                                                                      *(undefined8 *)
		 *                                                                       (lVar10 + lVar14 * 8 + 0x20),
		 *                                                                *(uint *)(lVar10 + 0x18) <= uVar7 ||
		 *                                                                (*(uint *)(lVar11 + 0x18) <= uVar7)))
		 *                                                            ) goto LAB_03371e08;
		 *                                                         *(undefined8 *)(lVar11 + lVar17 * 8 + 0x20)
		 *                                                              = *(undefined8 *)
		 *                                                                 (lVar10 + lVar17 * 8 + 0x20);
		 *                                                         plVar9 = this.m_TextMeshPro;
		 *                                                         if (plVar9 != null) {
		 *                                                           (**(code **)(*plVar9 + 0x7f8))
		 *                                                                     (plVar9,0xff,
		 *                                                                      *(undefined8 *)
		 *                                                                       (*plVar9 + 0x800));
		 *                                                           return;
		 *                                                         }
		 *                                                       }
		 *                                                     }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   goto LAB_03371e0c;
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   goto LAB_03371e08;
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   goto LAB_03371e0c;
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   goto LAB_03371e08;
		 *                                                   }
		 *                                                   }
		 *                                                   }
		 *                                                   goto LAB_03371e0c;
		 *                                                   }
		 *                                                   }
		 *                                                 }
		 *                                               }
		 *                                             }
		 *                                           }
		 *                                           goto LAB_03371e08;
		 *                                         }
		 *                                       }
		 *                                     }
		 *                                   }
		 *                                 }
		 *                               }
		 *                             }
		 *                             goto LAB_03371e0c;
		 *                           }
		 *                         }
		 *                       }
		 *                     }
		 *                   }
		 *                 }
		 *                 goto LAB_03371e08;
		 *               }
		 *             }
		 *           }
		 *         }
		 *       }
		 *     }
		 *   }
		 * LAB_03371e0c:
		 *   IL2CPP.ThrowNullReferenceException();
		 */
		// RVA: 0x3271E2C VA: 0x781895CE2C
		public void .ctor();
		/*
		 *   undefined *puVar1;
		 *
		 *   this.m_lastIndex = -1;
		 *   this.m_selectedWord = -1;
		 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
		 *   this.m_selectedLink = -1;
		 *   if ((bRam000000000755f76f & 1) == 0) {
		 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
		 *     bRam000000000755f76f = 1;
		 *   }
		 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
		 *     func_0x031fde08();
		 *   }
		 *   return;
		 */
	}
}
