FsRtlInitializeWorkerThread
NTSTATUS __stdcall FsRtlInitializeWorkerThread(){
unsigned int v0;
NTSTATUS result;
NTSTATUS v2;
_OBJECT_ATTRIBUTES ObjectAttributes;
void *ThreadHandle;
memset(&ObjectAttributes.Length + 1, 0, 44);
ThreadHandle = 0i64;
v0 = 0;
ObjectAttributes.Length = 48;
while( 1 )
{
KeInitializeQueue((_KQUEUE *)((char *)&unk_140C47360 + 64 * (unsigned __int64)v0), 0i64);
result = PsCreateSystemThread(&ThreadHandle, 0x1FFFFFu, &ObjectAttributes, 0, 0i64, FsRtlWorkerThread, (PVOID)v0);
v2 = result;
if( result < 0 )
break;
ZwClose((_HANDLE)ThreadHandle);
if( ++v0 >= 2 )
{
word_140C47420 = 1;
qword_140C47430 = (__int64)&qword_140C47428;
qword_140C47428 = &qword_140C47428;
result = v2;
byte_140C47422 = 6;
dword_140C47424 = 1;
return result;
}
}
return result;
}Referenced by:
FsRtlInitSystem