private void create(LayDown laydown) {

		// TIB
		laydown.addEntry(0, 0, "ExceptionList", PVOID);
		laydown.addEntry(4, 8, "StackBase", PVOID);
		laydown.addEntry(8, 0x10, "StackLimit", PVOID);
		laydown.addEntry(0x0c, 0x18, "SubSystemTib", PVOID);
		laydown.addEntry(0x10, 0x20, "FiberData", PVOID);
		laydown.addEntry(0x14, 0x28, "ArbitraryUserPointer", PVOID);
		laydown.addEntry(0x18, 0x30, "Self", PVOID);

		laydown.addEntry(0x1c, 0x38, "EnvironmentPointer", PVOID);
		laydown.addEntry(0x20, 0x40, "ClientId", CLIENT_ID);
		if (winVersion <= 30010) {
			laydown.addEntry(0x28, 0x50, "pCSR_QLPC_TEB", PVOID);
			laydown.addEntry(0x38, 0x6c, "unkbyte", DWORD);
		}
		else {
			laydown.addEntry(0x28, 0x50, "ActiveRpcHandle", PVOID);
			laydown.addEntry(0x38, 0x6c, "CountOfOwnedCriticalSections", ULONG);
		}
		laydown.addEntry(0x2c, 0x58, "ThreadLocalStoragePointer", PVOID);
		laydown.addEntry(0x30, 0x60, "ProcessEnvironmentBlock", PVOID);
		laydown.addEntry(0x34, 0x68, "LastErrorValue", ULONG);

		if (winVersion <= 30051) {
			laydown.addEntry(0x3c, -1, "Win32ProcessInfo", PVOID);
		}
		else if (winVersion >= 40000) {
			laydown.addEntry(0x3c, 0x70, "CsrClientThread", PVOID);
		}
		if (winVersion >= 30050) {
			laydown.addEntry(0x40, 0x78, "Win32ThreadInfo", PVOID);		// THREADINFO data-type
		}
		if (winVersion <= 30051) {
			laydown.addEntry(0x44, -1, "CsrQlpcStack", PVOID);
		}
		if (winVersion == 40000) {
			DataType dt = new ArrayDataType(ULONG, 0x1f, ULONG.getLength());
			laydown.addEntry(0x44, -1, "Win32ClientInfo", dt);
		}
		else if (winVersion >= 50000) {
			DataType dt = new ArrayDataType(ULONG, 0x1a, ULONG.getLength());
			laydown.addEntry(0x44, 0x80, "User32Reserved", dt);
		}
		if (winVersion >= 50000) {
			DataType dt = new ArrayDataType(ULONG, 5, ULONG.getLength());
			laydown.addEntry(0xac, 0xe8, "UserReserved", dt);
		}
		if (winVersion >= 40000) {
			laydown.addEntry(0xc0, 0x100, "WOW32Reserved", PVOID);
		}
		laydown.addEntry(0xc4, 0x108, "CurrentLocale", ULONG);
		laydown.addEntry(0xc8, 0x10c, "FpSoftwareStatusRegister", ULONG);

		if (winVersion >= 100000) {
			DataType dt = new ArrayDataType(PVOID, 0x10, PVOID.getLength());
			laydown.addEntry(0xcc, 0x110, "ReservedForDebuggingInstrumentation", dt);
		}
		if (winVersion <= 60003) {
			DataType dt = new ArrayDataType(PVOID, 0x36, PVOID.getLength());
			laydown.addEntry(0xcc, 0x110, "SystemReserved1", dt);
		}
		else if (winVersion <= 101511) {
			DataType dt = new ArrayDataType(PVOID, 0x26, PVOID.getLength());
			laydown.addEntry(0x10c, 0x190, "SystemReserved1", dt);
		}
		else if (winVersion <= 101607) {
			DataType dt = new ArrayDataType(PVOID, 0x24, PVOID.getLength());
			laydown.addEntry(0x10c, 0x190, "SystemReserved1", dt);
		}
		else if (winVersion <= 101703) {
			DataType dt = new ArrayDataType(PVOID, 0x1e, PVOID.getLength());
			laydown.addEntry(0x10c, 0x190, "SystemReserved1", dt);
		}
		else {
			DataType dt = new ArrayDataType(PVOID, 0x1a, PVOID.getLength());
			laydown.addEntry(0x10c, 0x190, "SystemReserved1", dt);
		}
		if (winVersion >= 101709) {
			laydown.addEntry(0x174, 0x280, "PlaceholderCompatibilityMode", CHAR);
		}
		if (winVersion >= 101809) {
			laydown.addEntry(0x175, 0x281, "PlaceholderHydrationAlwaysExplicit", BOOLEAN);
		}
		if (winVersion >= 101709 && winVersion <= 101803) {
			DataType dt = new ArrayDataType(CHAR, 0x11, CHAR.getLength());
			laydown.addEntry(0x175, 0x281, "PlaceholderReserved", dt);
		}
		else if (winVersion >= 101809) {
			DataType dt = new ArrayDataType(CHAR, 0x10, CHAR.getLength());
			laydown.addEntry(0x176, 0x282, "PlaceholderReserved", dt);
		}
		if (winVersion >= 101709) {
			laydown.addEntry(0x180, 0x28c, "ProxiedProcessId", DWORD);
		}
		if (winVersion >= 101703) {
			laydown.addEntry(0x184, 0x290, "ActivationStack", DWORDsize);		// ACTIVATION_CONTEXT_STACK data-type
		}
		if (winVersion >= 101607) {
			DataType dt = new ArrayDataType(UCHAR, 8, UCHAR.getLength());
			laydown.addEntry(0x19c, 0x2b8, "WorkingOnBehalfOfTicket", dt);
		}
		if (winVersion >= 30010 && winVersion <= 40000) {
			laydown.addEntry(0x1a4, -1, "Spare1", PVOID);
		}
		if (winVersion >= 30010 && winVersion <= 30051) {
			laydown.addEntry(0x1a8, -1, "Spare2", PVOID);
		}
		if (winVersion == 40000) {
			laydown.addEntry(0x1a8, 0x2c0, "ExceptionCode", LONG);
		}
		else if (winVersion > 40000) {
			laydown.addEntry(0x1a4, 0x2c0, "ExceptionCode", LONG);
		}
		if (winVersion > 60003) {
			DataType dt = new ArrayDataType(UCHAR, 4, UCHAR.getLength());
			laydown.addEntry(-1, 0x2c4, "Padding0", dt);
		}
		if (winVersion == 30010) {
			laydown.addEntry(0x1ac, -1, "Win32ThreadInfo", PVOID);
			laydown.addEntry(0x1b0, -1, "Win32ProcessInfo", PVOID);
			DataType dt = new ArrayDataType(HANDLE, 2, HANDLE.getLength());
			laydown.addEntry(0x1dc, -1, "DbgSsReserved", dt);
		}
		else if (winVersion >= 30050 && winVersion <= 30051) {
			DataType dt = new ArrayDataType(PVOID, 5, PVOID.getLength());
			laydown.addEntry(0x1ac, -1, "CsrQlpcTeb", dt);
			laydown.addEntry(0x1c0, -1, "Win32ClientInfo", dt);
		}
		if (winVersion >= 50001 && winVersion <= 50002) {
			laydown.addEntry(0x1a8, -1, "ActivationContextStack", DWORDsize);	// ACTIVATION_CONTEXT_STACK data-type
		}
		else if (winVersion > 50002) {
			laydown.addEntry(0x1a8, -1, "ActivationContextStackPointer", PVOID);	// Pointer to ACTIVATION_CONTEXT_STACK
		}
		if (winVersion >= 100000) {
			laydown.addEntry(0x1ac, -1, "InstrumentationCallbackSp", ULONG_PTR);
			laydown.addEntry(0x1b0, -1, "InstrumentationCallbackPreviousPc", ULONG_PTR);
			laydown.addEntry(0x1b4, -1, "InstrumentationCallbackPreviousSp", ULONG_PTR);
			laydown.addEntry(0x1b8, -1, "InstrumentationCallbackDisabled", BOOLEAN);
		}
		if (winVersion == 40000) {
			DataType dt = new ArrayDataType(UCHAR, 0x28, UCHAR.getLength());
			laydown.addEntry(0x1ac, -1, "SpareBytes1", dt);
		}
		else if (winVersion == 50000) {
			DataType dt = new ArrayDataType(UCHAR, 0x2c, UCHAR.getLength());
			laydown.addEntry(0x1a8, -1, "SpareBytes1", dt);
		}
		else if (winVersion >= 50001 && winVersion <= 50002) {
			DataType dt = new ArrayDataType(UCHAR, 0x18, UCHAR.getLength());
			laydown.addEntry(0x1bc, -1, "SpareBytes1", dt);
		}
		else if (winVersion == 60000) {
			DataType dt = new ArrayDataType(UCHAR, 0x24, UCHAR.getLength());
			laydown.addEntry(0x1ac, -1, "SpareBytes1", dt);
		}
		else if (winVersion >= 60001 && winVersion <= 60003) {
			DataType dt = new ArrayDataType(UCHAR, 0x24, UCHAR.getLength());
			laydown.addEntry(0x1ac, -1, "SpareBytes", dt);
		}
		else if (winVersion >= 100000) {
			DataType dt = new ArrayDataType(UCHAR, 0x17, UCHAR.getLength());
			laydown.addEntry(0x1b9, -1, "SpareBytes", dt);
		}
		if (winVersion >= 60000) {
			laydown.addEntry(0x1d0, -1, "TxFsContext", ULONG);
		}
		if (winVersion > 50002) {
			laydown.addEntry(-1, 0x2c8, "ActivationContextStackPointer", PVOID);	// Pointer to ACTIVATION_CONTEXT_STACK
		}
		if (winVersion == 60000) {
			DataType dt = new ArrayDataType(UCHAR, 0x18, UCHAR.getLength());
			laydown.addEntry(-1, 0x2d0, "SpareBytes1", dt);
		}
		else if (winVersion >= 60001 && winVersion <= 60003) {
			DataType dt = new ArrayDataType(UCHAR, 0x18, UCHAR.getLength());
			laydown.addEntry(-1, 0x2d0, "SpareBytes", dt);
		}
		if (winVersion >= 100000) {
			laydown.addEntry(-1, 0x2d0, "InstrumentationCallbackSp", ULONG_PTR);
			laydown.addEntry(-1, 0x2d8, "InstrumentationCallbackPreviousPc", ULONG_PTR);
			laydown.addEntry(-1, 0x2e0, "InstrumentationCallbackPreviousSp", ULONG_PTR);
		}
		if (winVersion >= 60000) {
			laydown.addEntry(-1, 0x2e8, "TxFsContext", ULONG);
		}
		if (winVersion >= 100000) {
			laydown.addEntry(-1, 0x2ec, "InstrumentationCallbackDisabled", BOOLEAN);
		}
		if (winVersion >= 101809) {
			laydown.addEntry(-1, 0x2ed, "UnalignedLoadStoreExceptions", BOOLEAN);
		}
		if (winVersion == 60003) {
			DataType dt = new ArrayDataType(UCHAR, 4, UCHAR.getLength());
			laydown.addEntry(-1, 0x2ec, "Padding1", dt);
		}
		else if (winVersion >= 100000 && winVersion <= 101803) {
			DataType dt = new ArrayDataType(UCHAR, 3, UCHAR.getLength());
			laydown.addEntry(-1, 0x2ed, "Padding1", dt);
		}
		else {
			DataType dt = new ArrayDataType(UCHAR, 2, UCHAR.getLength());
			laydown.addEntry(-1, 0x2ee, "Padding1", dt);
		}
		if (winVersion == 30010) {
			DataType dt = new ArrayDataType(PVOID, 0x143, PVOID.getLength());
			laydown.addEntry(0x1e4, -1, "SystemReserved2", dt);
		}
		else if (winVersion >= 30050 && winVersion <= 30051) {
			DataType dt = new ArrayDataType(PVOID, 0x142, PVOID.getLength());
			laydown.addEntry(0x1d4, -1, "SystemReserved2", dt);
		}
		else if (winVersion == 40000) {
			DataType dt = new ArrayDataType(PVOID, 0xa, PVOID.getLength());
			laydown.addEntry(0x1d4, -1, "SystemReserved2", dt);
		}
		if (winVersion == 40000) {
			laydown.addEntry(0x1fc, 0x2f0, "GdiTebBatch", DWORDsize);	// GDI_TEB_BATCH data-type
		}
		else if (winVersion > 40000) {
			laydown.addEntry(0x1d4, 0x2f0, "GdiTebBatch", DWORDsize);	// GDI_TEB_BATCH data-type
		}
		if (winVersion >= 30050 && winVersion <= 40000) {
			laydown.addEntry(0x6dc, -1, "gdiRgn", ULONG);
			laydown.addEntry(0x6e0, -1, "gdiPen", ULONG);
			laydown.addEntry(0x6e4, -1, "gdiBrush", ULONG);
		}
		if (winVersion >= 30050 && winVersion <= 40000) {
			laydown.addEntry(0x6e8, 0x7d8, "RealClientId", CLIENT_ID);
		}
		else if (winVersion > 40000) {
			laydown.addEntry(0x6b4, 0x7d8, "RealClientId", CLIENT_ID);
		}
		if (winVersion >= 30010 && winVersion < 30050) {
			laydown.addEntry(0x6f0, 0x7e8, "CsrQlpcStack", PVOID);
		}
		else if (winVersion >= 30050 && winVersion <= 40000) {
			laydown.addEntry(0x6f0, 0x7e8, "GdiCachedProcessHandle", PVOID);
		}
		else if (winVersion > 40000) {
			laydown.addEntry(0x6bc, 0x7e8, "GdiCachedProcessHandle", PVOID);
		}
		if (winVersion >= 30010 && winVersion <= 40000) {
			laydown.addEntry(0x6f4, 0x7f0, "GdiClientPID", ULONG);
			laydown.addEntry(0x6f8, 0x7f4, "GdiCLientTID", ULONG);
			laydown.addEntry(0x6fc, 0x7f8, "GdiThreadLocalInfo", PVOID);
		}
		else if (winVersion > 40000) {
			laydown.addEntry(0x6c0, 0x7f0, "GdiClientPID", ULONG);
			laydown.addEntry(0x6c4, 0x7f4, "GdiCLientTID", ULONG);
			laydown.addEntry(0x6c8, 0x7f8, "GdiThreadLocalInfo", PVOID);
		}
		if (winVersion >= 30010 && winVersion <= 30051) {
			laydown.addEntry(0x700, -1, "User32Reserved0", PVOID);
			laydown.addEntry(0x704, -1, "User32Reserved1", PVOID);
		}
		if (winVersion == 30010) {
			DataType dt = new ArrayDataType(PVOID, 0x13b, PVOID.getLength());
			laydown.addEntry(0x708, 0x800, "UserReserved", dt);
		}
		else if (winVersion == 30051) {
			DataType dt = new ArrayDataType(PVOID, 3, PVOID.getLength());
			laydown.addEntry(0x708, 0x800, "UserReserved", dt);
		}
		else if (winVersion == 40000) {
			DataType dt = new ArrayDataType(PVOID, 5, PVOID.getLength());
			laydown.addEntry(0x700, 0x800, "UserReserved", dt);
		}
		else if (winVersion >= 50000) {
			DataType dt = new ArrayDataType(ULONG_PTR, 0x3e, ULONG_PTR.getLength());
			laydown.addEntry(0x6cc, 0x800, "Win32ClientInfo", dt);
		}
		if (winVersion == 30051) {
			DataType dt = new ArrayDataType(PVOID, 0x133, PVOID.getLength());
			laydown.addEntry(0x714, 0x9f0, "glDispatchTable", dt);
		}
		else if (winVersion == 40000) {
			DataType dt = new ArrayDataType(PVOID, 0x118, PVOID.getLength());
			laydown.addEntry(0x714, 0x9f0, "glDispatchTable", dt);
		}
		else if (winVersion > 40000) {
			DataType dt = new ArrayDataType(PVOID, 0xe9, PVOID.getLength());
			laydown.addEntry(0x7c4, 0x9f0, "glDispatchTable", dt);
		}
		if (winVersion == 40000) {
			DataType dt = new ArrayDataType(ULONG_PTR, 0x1a, ULONG_PTR.getLength());
			laydown.addEntry(0xb74, 0x1138, "glReserved1", dt);
		}
		else if (winVersion >= 50000) {
			DataType dt = new ArrayDataType(ULONG_PTR, 0x1d, ULONG_PTR.getLength());
			laydown.addEntry(0xb68, 0x1138, "glReserved1", dt);
		}
		if (winVersion >= 40000) {
			laydown.addEntry(0xbdc, 0x1220, "glReserved2", PVOID);
		}
		if (winVersion >= 30050) {
			laydown.addEntry(0xbe0, 0x1228, "glSectionInfo", PVOID);
			laydown.addEntry(0xbe4, 0x1230, "glSection", PVOID);
			laydown.addEntry(0xbe8, 0x1238, "glTable", PVOID);
			laydown.addEntry(0xbec, 0x1240, "glCurrentRC", PVOID);
			laydown.addEntry(0xbf0, 0x1248, "glContext", PVOID);
		}
		laydown.addEntry(0xbf4, 0x1250, "LastStatusValue", ULONG);
		if (winVersion >= 60003) {
			DataType dt = new ArrayDataType(UCHAR, 4, UCHAR.getLength());
			laydown.addEntry(-1, 0x1254, "Padding2", dt);
		}
// TODO:		laydown.addEntry(0xbf8, 0x1258, "StaticUnicodeString", UNICODE_STRING);
		DataType bufdt = new ArrayDataType(WCHAR, 0x105, WCHAR.getLength());
		laydown.addEntry(0xc00, 0x1268, "StaticUnicodeBuffer", bufdt);
		if (winVersion >= 60003) {
			DataType dt = new ArrayDataType(UCHAR, 6, UCHAR.getLength());
			laydown.addEntry(-1, 0x1472, "Padding3", dt);
		}
		laydown.addEntry(0xe0c, 0x1478, "DeallocationStack", PVOID);
		DataType ptrdt = new ArrayDataType(PVOID, 0x40, PVOID.getLength());
		laydown.addEntry(0xe10, 0x1480, "TlsSlots", ptrdt);
// TODO:		laydown.addEntry(0xf10, 0x1680, "TlsLinks", LIST_ENTRY);
		laydown.addEntry(0xf10, 0x1680, "TlsLinks.Flink", PVOID);
		laydown.addEntry(0xf14, 0x1688, "TlsLinks.Blink", PVOID);
		laydown.addEntry(0xf18, 0x1690, "Vdm", PVOID);
		laydown.addEntry(0xf1c, 0x1698, "ReservedForNtRpc", PVOID);
		DataType handledt = new ArrayDataType(HANDLE, 2, HANDLE.getLength());
		laydown.addEntry(0xf20, 0x16a0, "DbgSsReserved", handledt);
		if (winVersion >= 40000 && winVersion <= 50001) {
			laydown.addEntry(0xf28, 0x16b0, "HardErrorsAreDisabled", ULONG);
		}
		else if (winVersion >= 50002) {
			laydown.addEntry(0xf28, 0x16b0, "HardErrorMode", ULONG);
		}
		if (winVersion >= 60003) {
			DataType dt = new ArrayDataType(UCHAR, 4, UCHAR.getLength());
			laydown.addEntry(-1, 0x16b4, "Padding4", dt);
		}
		if (winVersion >= 40000 && winVersion <= 50002) {
			DataType dt = new ArrayDataType(PVOID, 0x10, PVOID.getLength());
			laydown.addEntry(0xf2c, 0x16b8, "Instrumentation", dt);
		}
		else if (winVersion >= 60000) {
			DataType dt = new ArrayDataType(PVOID, is64Bit ? 0xb : 0x9, PVOID.getLength());
			laydown.addEntry(0xf2c, 0x16b8, "Instrumentation", dt);
		}
		if (winVersion >= 60000) {
			laydown.addEntry(0xf50, 0x1710, "ActivityId", GUID);
		}
		if (winVersion > 50002) {
			laydown.addEntry(0xf60, 0x1720, "SubProcessTag", PVOID);
		}
		if (winVersion >= 60000 && winVersion <= 60001) {
			laydown.addEntry(0xf64, 0x1728, "EtwLocalData", PVOID);
		}
		else if (winVersion >= 60002) {
			laydown.addEntry(0xf64, 0x1728, "PerflibData", PVOID);
		}
		if (winVersion > 50002) {
			laydown.addEntry(0xf68, 0x1730, "EtwTraceData", PVOID);
		}
		if (winVersion >= 40000) {
			laydown.addEntry(0xf6c, 0x1738, "WinSockData", PVOID);
			laydown.addEntry(0xf70, 0x1740, "GdiBatchCount", ULONG);
		}
		if (winVersion >= 60001) {
			laydown.addEntry(0xf74, 0x1744, "IdealProcessorValue", ULONG);
		}
		if (winVersion > 50002) {
			laydown.addEntry(0xf78, 0x748, "GuaranteedStackBytes", ULONG);
		}
		if (winVersion >= 50000) {
			laydown.addEntry(0xf7c, 0x1750, "ReservedForPerf", PVOID);
		}
		if (winVersion >= 40000) {
			laydown.addEntry(0xf80, 0x1758, "ReservedForOle", PVOID);
			laydown.addEntry(0xf84, 0x1760, "WaitingOnLoaderLock", ULONG);
		}
		if (winVersion >= 60000) {
			laydown.addEntry(0xf88, 0x1768, "SavedPriorityState", PVOID);
		}
		if (winVersion >= 50002 && winVersion <= 60001) {
			laydown.addEntry(0xf8c, 0x1770, "SoftPatchPtr1", ULONG_PTR);
		}
		else if (winVersion >= 60002) {
			laydown.addEntry(0xf8c, 0x1770, "ReservedForCodeCoverage", ULONG_PTR);
		}
		if (winVersion >= 60000) {
			laydown.addEntry(0xf90, 0x1778, "ThreadPoolData", PVOID);
		}
		if (winVersion >= 50000) {
			laydown.addEntry(0xf94, 0x1780, "TlsExpansionSlots", PVOID);
		}
		if (winVersion > 50002) {
			laydown.addEntry(-1, 0x1788, "DeallocationBStore", PVOID);
			laydown.addEntry(-1, 0x1790, "BStoreLimit", PVOID);
		}
		if (winVersion >= 50000 && winVersion <= 60000) {
			laydown.addEntry(0xf98, 0x1798, "ImpersonationLocale", ULONG);
		}
		else if (winVersion >= 60001) {
			laydown.addEntry(0xf98, 0x1798, "MuiGeneration", ULONG);
		}
		if (winVersion >= 50000) {
			laydown.addEntry(0xf9c, 0x179c, "IsImpersonating", ULONG);
			laydown.addEntry(0xfa0, 0x17a0, "NlsCache", PVOID);
		}
		if (winVersion >= 50001) {
			laydown.addEntry(0xfa4, 0x17a8, "pShimData", PVOID);
		}
		if (winVersion >= 50001 && winVersion <= 60001) {
			laydown.addEntry(0xfa8, 0x17b0, "HeapVirtualAffinity", ULONG);
		}
		else if (winVersion >= 60002 && winVersion <= 101803) {
			laydown.addEntry(0xfa8, 0x17b0, "HeapVirtualAffinity", USHORT);
		}
		else if (winVersion >= 101809) {
			laydown.addEntry(0xfa8, 0x17b0, "HeapData", ULONG);
		}
		if (winVersion >= 60002 && winVersion <= 101803) {
			laydown.addEntry(0xfaa, 0x17b2, "LowFragHeapDataSlot", USHORT);
		}
		if (winVersion >= 50001) {
			laydown.addEntry(0xfac, 0x17b8, "CurrentTransactionHandle", PVOID);
			laydown.addEntry(0xfb0, 0x17c0, "ActiveFrame", PVOID);	// Pointer to TEB_ACTIVE_FRAME
		}
		if (winVersion >= 50002) {
			laydown.addEntry(0xfb4, 0x17c8, "FlsData", PVOID);
		}
		if (winVersion >= 60000) {
			laydown.addEntry(0xfb8, 0x17d0, "PreferredLanguages", PVOID);
			laydown.addEntry(0xfbc, 0x17d8, "UserPrefLanguages", PVOID);
			laydown.addEntry(0xfc0, 0x17e0, "MergedPrefLanguages", PVOID);
			laydown.addEntry(0xfc4, 0x17e8, "MuiImpersonation", ULONG);
			laydown.addEntry(0xfc8, 0x17ec, "CrossTebFlags", USHORT);
			laydown.addEntry(0xfca, 0x17ee, "SameTebFlags", USHORT);
			laydown.addEntry(0xfcc, 0x17f0, "TxnScopeEnterCallback", PVOID);
			laydown.addEntry(0xfd0, 0x17f8, "TxnScopeExitCallback", PVOID);
			laydown.addEntry(0xfd4, 0x1800, "TxnScopeContext", PVOID);
			laydown.addEntry(0xfd8, 0x1808, "LockCount", ULONG);
		}
		if (winVersion >= 100000) {
			laydown.addEntry(0xfdc, 0x180c, "WowTebOffset", LONG);
		}
		if (winVersion >= 60001) {
			laydown.addEntry(0xfe0, 0x1810, "ResourceRetValue", PVOID);
		}
		if (winVersion >= 60002) {
			laydown.addEntry(0xfe4, 0x1818, "ReservedForWdf", PVOID);
		}
		if (winVersion >= 100000) {
			laydown.addEntry(0xfe8, 0x1820, "ReservedForCrt", ULONGLONG);
			laydown.addEntry(0xff0, 0x1828, "EffectiveContainerId", GUID);
		}
	}
Create the TEB data structure by passing (offset, name, data-type) triples
to the given field factory.  The exact fields created is determined by
the winVersion variable, specifying the Windows OS version. 
@param laydown is the given field factory
Ghidra/Features/Base/src/main/java/ghidra/app/util/datatype/microsoft/ThreadEnvironmentBlock.java