RtlpHpSegMgrAllocate
NTSTATUS __stdcall RtlpHpSegMgrAllocate(INT64 a1, INT64 a2, INT64 a3){
int v3;
unsigned int v4;
INT64 v6;
INT64 v7;
NTSTATUS v8;
INT64 v10;
INT64 v11;
INT64 v12;
unsigned int v13;
__int64 v14[2];
unsigned int v15;
v13 = 0;
v15 = 0;
v14[0] = 0i64;
v3 = a3;
v4 = a2;
if( (int)RtlpHpSegMgrReserve(a1, a3, v14, &v13, (__int64)&v15) < 0 )
{
v7 = v14[0];
v8 = 0;
}
else
{
LODWORD(v12) = v3;
v6 = v4;
LODWORD(v11) = 1073745920;
LODWORD(v10) = v4;
v7 = v14[0];
if( RtlpHpSegMgrCommit(a1, v14[0], 0i64, v6, v10, v11, v12) < 0 )
{
v8 = 0;
}
else
{
if( v13 < v15 )
RtlpHpSegMgrVaCtxInsert(a1, v7);
v8 = v7;
v7 = 0i64;
}
}
if( v7 )
RtlpHpSegMgrRelease(a1, v7, 0i64);
return v8;
}Referenced by:
RtlpHpSegSegmentAllocate