PspFindThreadForTeb

_ETHREAD *__stdcall PspFindThreadForTeb(INT64 a1){
  _ETHREAD *CurrentThread; 
  PETHREAD Thread; 

  Thread = 0i64;
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  if( a1
    && PsLookupThreadByThreadId(*(VOID **)(a1 + 72), &Thread) >= 0
    && (Thread->Tcb.Process != CurrentThread->Tcb.Process || (Thread->Tcb.gap0[3] & 0x40) == 0) )
  {
    HalPutDmaAdapter((PADAPTER_OBJECT)Thread);
    return 0i64;
  }
  return Thread;
}

Referenced by:

KiSwapToUmsThread
PspDisassociateUmsThreadFromPrimary