ExpPartitionCreatePoolDelayed

NTSTATUS __stdcall ExpPartitionCreatePoolDelayed(INT64 a1, INT64 a2, INT64 a3){
  __int64 v5; 
  __int64 v6; 
  char *v7; 
  __int64 v8; 
  __int64 v9; 
  INT64 v11; 

  LODWORD(v11) = a3;
  v5 = (*(_QWORD *)(*(_QWORD *)(*(_QWORD *)(a1 + 8) + 8i64 * *(unsigned __int16 *)(a2 + 146)) + 8i64 * (int)a3) >> 1) & 0x7Fi64;
  v6 = KeNodeBlock[v5];
  v7 = (char *)&KiNodeInit + 384 * v5;
  v8 = 0i64;
  if( (char *)v6 != v7 )
    v8 = v6;
  v9 = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(a1 + 8) + 8i64 * *(unsigned __int16 *)(v8 + 146)) + 8i64 * (int)a3);
  if( (v9 & 1) != 0 )
    v9 = 0i64;
  return ExpPartitionCreatePoolInternal(
           a1,
           (unsigned int)((2 * *(_DWORD *)(v9 + 716)) >> 1),
           *(unsigned int *)(v9 + 720),
           a2,
           v11);
}

Referenced by:

ExpWorkQueueManagerThread