UINT64 __fastcall MiInitializeBootMemoryDescriptor(UINT64 *a1, UINT64 a2, UINT64 a3, UINT64 a4){
UINT64 v4;
unsigned __int64 v5;
UINT64 result;
*a1 = a3;
v4 = a3 + a4 - 1;
a1[1] = a4;
a1[2] = v4;
v5 = v4 & 0xFFFFFFFFFFFFFE00ui64;
a1[4] = a2;
if( v5 < a3 || v5 - a3 < 0x200 )
result = -1i64;
else
result = v5 - 512;
a1[3] = result;
return result;
}