SepCaptureHandles

NTSTATUS __stdcall SepCaptureHandles(UINT64 HandleCount, PVOID *Handles, PVOID **CapturedHandles){
  unsigned int v5; 
  PVOID *PoolWithTag; 
  __int64 i; 
  v5 = HandleCount;
  *CapturedHandles = 0i64;
  if( (unsigned int)HandleCount > 0xA )
    return -1073741585;
  if( !(_DWORD)HandleCount )
    return 0;
  PoolWithTag = (PVOID *)ExAllocatePoolWithTag(PagedPool, 8i64 * (unsigned int)HandleCount, 0x63486553ui64);
  if( !PoolWithTag )
    return -1073741670;
  for( i = 0i64; (unsigned int)i < v5; i = (unsigned int)(i + 1) )
    PoolWithTag[i] = Handles[i];
  *CapturedHandles = PoolWithTag;
  return 0;
}

Referenced by:

NtCreateLowBoxToken