HalpBlkStartBlockedProcessor

INT64 __fastcall HalpBlkStartBlockedProcessor(INT64 a1, UINT64 a2){
  ULONG_PTR v2; 
  int v3; 
  INT64 v4; 
  INT64 v5; 
  INT64 started; 
  ULONG_PTR BugCheckParameter4; 
  INT64 result[185]; 
  v2 = (unsigned int)a2;
  v3 = a1;
  memset((INT64)result, 0i64);
  if( v3 == HalpInterruptFirstBlockedProcessorIndex )
    LODWORD(HalpBlkNumberProcessors) = 0;
  LODWORD(BugCheckParameter4) = v2;
  HalpBlkInitializeProcessorState(
    (INT64)result,
    *(_QWORD *)(HalpBlkPcr + 8i64 * (unsigned int)HalpBlkNumberProcessors),
    v4,
    v5,
    BugCheckParameter4);
  started = HalpInterruptStartProcessor(0xFFFFFFFF, v2, 4u, result);
  if( (_DWORD)started != 4 )
    KeBugCheckEx(0x1DAu, 2ui64, (unsigned int)HalpBlkNumberProcessors, v2, 0i64);
  LODWORD(HalpBlkNumberProcessors) = HalpBlkNumberProcessors + 1;
  return started;
}

Referenced by:

HalpInterruptStartBlockedProcessors