SMKM_STORE::SmStWorkerThreadStartThread

__int64 __fastcall SMKM_STORE::SmStWorkerThreadStartThread(
        __int64 a1,
        void *a2,
        KSTART_ROUTINE *a3,
        PVOID *a4){
  NTSTATUS v5; 
  NTSTATUS v6; 
  void *v7; 
  PVOID Object; 
  __int64 v10; 
  UINT64 v11; 
  __int64 v12[2]; 
  NTSTATUS v13; 
  int v14; 
  void *ThreadHandle; 

  ThreadHandle = 0i64;
  v14 = 0;
  v13 = -1;
  v12[1] = (__int64)v12;
  v12[0] = (__int64)v12;
  v10 = a1;
  v11 = 393216i64;
  v5 = PsCreateSystemThread(&ThreadHandle, 0x1FFFFFu, 0i64, (_HANDLE)a2, 0i64, a3, &v10);
  if( v5 >= 0 )
  {
    Object = 0i64;
    v6 = ObReferenceObjectByHandle(ThreadHandle, 0x1FFFFFui64, 0i64, 0, &Object, 0i64);
    v7 = ThreadHandle;
    v5 = v6;
    *a4 = Object;
    ObCloseHandle(v7, 0);
    ThreadHandle = 0i64;
    KeWaitForSingleObject((UINT64)&v11, 0, 0, 0, 0i64);
    if( v13 < 0 )
      v5 = v13;
  }
  if( ThreadHandle )
    ObCloseHandle(ThreadHandle, 0);
  return(unsigned int)v5;
}

Referenced by:

No references.