ExInitializeProcessor

__int64 __fastcall ExInitializeProcessor(__int64 a1, char a2){
  signed __int64 v4; 
  VOID *PoolWithTag; 
  __int64 v7; 
  v4 = 0i64;
  PoolWithTag = ExAllocatePoolWithTag(NonPagedPoolNx, 0x80ui64, 0x43497845ui64);
  if( PoolWithTag )
  {
    ExInitializeSystemLookasideList((_DWORD)PoolWithTag, 512, 1264, 1128888389, 32, (__int64)&ExSystemLookasideListHead);
    *(_QWORD *)(a1 + 2176) = PoolWithTag;
  }
  if( a2 )
  {
    v7 = *(unsigned __int16 *)(*(_QWORD *)(a1 + 192) + 146i64);
    if( *((__int64 **)&KeNodeBlock + v7) != &KiNodeInit[48 * v7] )
      v4 = *(_QWORD *)(a1 + 192);
    if( !_InterlockedCompareExchange64((volatile signed __int64 *)(v4 + 408), v4, 0i64) )
      ExQueueWorkItem((WORK_QUEUE_ITEM *)(v4 + 384), DelayedWorkQueue);
    *(_QWORD *)(a1 + 33584) = *(_QWORD *)(ExSaPageArrays + 8i64 * *(unsigned int *)(a1 + 36));
  }
  return 0i64;
}

Referenced by:

ExpInitSystemPhase1
KiStartDynamicProcessor