PfpServiceMainThreadBoostPrep

NTSTATUS __stdcall PfpServiceMainThreadBoostPrep(PFP_SCENARIO_CONTEXT *ScenCtx, PFP_BOOST_SUPPORT *BoostSupport){
  VOID *v3; 
  NTSTATUS v5; 
  PVOID v6; 
  NTSTATUS v7; 
  VOID **PoolWithTag; 
  PVOID Object; 

  Object = 0i64;
  v3 = (VOID *)*((_QWORD *)ScenCtx + 9);
  if( !v3 )
    return -2147483614;
  v5 = PsLookupThreadByThreadId(v3, (PETHREAD *)&Object);
  v6 = Object;
  v7 = v5;
  if( v5 >= 0 )
  {
    if( *((_QWORD *)Object + 134) == *((_QWORD *)ScenCtx + 10) )
    {
      PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0xA8ui64, 1146119760i64);
      if( PoolWithTag )
      {
        *(_QWORD *)BoostSupport = v6;
        v7 = 0;
        *((_QWORD *)BoostSupport + 1) = PoolWithTag;
        return v7;
      }
      v7 = -1073741670;
    }
    else
    {
      v7 = -1073741735;
    }
  }
  if( v6 )
    ObDereferenceObjectDeferDelete((UINT64)v6);
  return v7;
}

Referenced by:

PfpScenCtxScenarioSet