NtCreateProcessEx
NTSTATUS __stdcall NtCreateProcessEx(
PVOID *ProcessHandle,
UINT64 DesiredAccess,
OBJECT_ATTRIBUTES *ObjectAttributes,
PVOID ParentProcess,
UINT64 Flags,
PVOID SectionHandle,
PVOID DebugPort,
PVOID TokenHandle,
UINT64 JobMemberLevel){
unsigned int v9;
char v12;
__int64 v13;
UINT64 CreateFlags;
PVOID v15;
v9 = DesiredAccess;
if( !ParentProcess )
return -1073741811;
v12 = *((_BYTE *)KeGetCurrentThread() + 562);
if( v12 )
{
v13 = 0x7FFFFFFF0000i64;
if( (unsigned __int64)ProcessHandle < 0x7FFFFFFF0000i64 )
v13 = (__int64)ProcessHandle;
*(_QWORD *)v13 = *(_QWORD *)v13;
}
LODWORD(v15) = Flags;
LOBYTE(CreateFlags) = v12;
return PspCreateProcess(
ProcessHandle,
v9,
ObjectAttributes,
ParentProcess,
CreateFlags,
v15,
SectionHandle,
DebugPort);
}Referenced by:
NtCreateProcess