ExpWnfAllocateScopeInstance

INT64 __fastcall ExpWnfAllocateScopeInstance(CHAR **a1, INT64 a2, const VOID *a3, UINT64 a4){
  unsigned int v4; 
  int v6; 
  char *PoolWithTag; 
  char *v9; 
  INT64 result; 
  v4 = a4;
  v6 = a2;
  PoolWithTag = (char *)ExAllocatePoolWithTag(PagedPool, (unsigned int)(a4 + 80), 0x20666E57ui64);
  v9 = PoolWithTag;
  if( !PoolWithTag )
    return 3221225626i64;
  memset((INT64)PoolWithTag, 0i64);
  *(_DWORD *)v9 = 5245186;
  *((_DWORD *)v9 + 4) = v6;
  *((_DWORD *)v9 + 5) = v4;
  if( v4 )
  {
    *((_QWORD *)v9 + 3) = v9 + 80;
    memmove((UINT8 *)v9 + 80, (UINT8 *)a3, v4);
  }
  *((_QWORD *)v9 + 6) = 0i64;
  *((_QWORD *)v9 + 7) = 0i64;
  result = 0i64;
  *a1 = v9;
  return result;
}

Referenced by:

ExpWnfResolveScopeInstance