private uint GetConversionModifier(uint Address)
{
uint[] Keys = NTRConnection.AddressSpaces.Keys.ToArray();
Array.Sort(Keys);
foreach (uint RangeStart in Keys.Reverse())
{
if (RangeStart <= Address)
{
//This is ugly.
return BitConverter.ToUInt32(Utilities.GetByteArrayFromByteString(Utilities.GetStringFromByteArray(BitConverter.GetBytes(RangeStart + NTRConnection.AddressSpaces[RangeStart]).Reverse().ToArray()).Substring(0, 3).PadRight(8, '0')).Reverse().ToArray(), 0) + 0x00100000u;
}
}
return 0;
}