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.