UINT64 __stdcall IopGetMaxValidMemorySizeDown(VOID *Base){
unsigned int v1;
unsigned __int64 v2;
int v4;
unsigned int v5;
v1 = 0;
v2 = ((unsigned __int64)Base - 1) & 0xFFFFFFFFFFFFF000ui64;
if( !v2 )
return 0i64;
v4 = 0;
v5 = 256;
do
{
if( !MmIsAddressValidEx(v2) )
break;
v1 += v4;
if( !v2 )
break;
v2 -= 4096i64;
v4 = 4096;
}
while( v1 < 0x100 );
if( v1 < 0x100 )
return v1;
return v5;
}