RtlSparseArrayElementAllocate
UINT8 *__stdcall RtlSparseArrayElementAllocate(INT64 a1, INT64 a2, const VOID *a3){
int v3;
INT64 v5;
VOID *v6;
INT64 v8[2];
UINT8 v9[16];
v3 = *(_DWORD *)(a1 + 8);
v5 = a2 << v3;
v6 = (VOID *)(v5 + *(_QWORD *)(a1 + 24));
*(_OWORD *)v8 = 0i64;
*(_OWORD *)v9 = 0i64;
if( RtlpCSparseBitmapPageCommit(a1 + 16, (unsigned __int64)(8 * v5) >> 15, v8, v9) < 0 )
return 0i64;
memmove(v6, a3, 1 << v3);
RtlpCSparseBitmapUnlock(v8);
RtlCSparseBitmapLeaveLockingRegion(v9);
return(UINT8 *)v6;
}Referenced by:
RtlpHpVaMgrRangeCreate