public LIST_ENTRY(DataProviderBase dataProvider, ulong vAddress) { try { AddressBase addressSpace = dataProvider.ActiveAddressSpace; _virtualAddress = vAddress; _physicalAddress = addressSpace.vtop(vAddress, dataProvider.IsLive); _x64 = addressSpace.Is64; if (_x64) { var checkFirst = dataProvider.ReadUInt64(_virtualAddress); if (checkFirst == null) { throw new ArgumentException("Invalid Address"); } _blink = (ulong)checkFirst; checkFirst = dataProvider.ReadUInt64(_virtualAddress + 8); if (checkFirst == null) { throw new ArgumentException("Invalid Address"); } _flink = (ulong)checkFirst; } else { var checkFirst = dataProvider.ReadUInt32(_virtualAddress); if (checkFirst == null) { throw new ArgumentException("Invalid Address"); } _blink = (ulong)checkFirst; checkFirst = dataProvider.ReadUInt32(_virtualAddress + 4); if (checkFirst == null) { throw new ArgumentException("Invalid Address"); } _flink = (ulong)checkFirst; } } catch (Exception ex) { throw new ArgumentException("Error: " + ex.Message); } }