//0x160 bytes (sizeof)
struct _KPROCESS
{
struct _DISPATCHER_HEADER Header; //0x0
struct _LIST_ENTRY ProfileListHead; //0x18
ULONGLONG DirectoryTableBase; //0x28
struct _LIST_ENTRY ThreadListHead; //0x30
ULONGLONG ProcessLock; //0x40
struct _KAFFINITY_EX Affinity; //0x48
struct _LIST_ENTRY ReadyListHead; //0x70
struct _SINGLE_LIST_ENTRY SwapListEntry; //0x80
volatile struct _KAFFINITY_EX ActiveProcessors; //0x88
union
{
struct
{
volatile LONG AutoAlignment:1; //0xb0
volatile LONG DisableBoost:1; //0xb0
volatile LONG DisableQuantum:1; //0xb0
volatile ULONG ActiveGroupsMask:4; //0xb0
volatile LONG ReservedFlags:25; //0xb0
};
volatile LONG ProcessFlags; //0xb0
};
CHAR BasePriority; //0xb4
CHAR QuantumReset; //0xb5
UCHAR Visited; //0xb6
UCHAR Unused3; //0xb7
ULONG ThreadSeed[4]; //0xb8
USHORT IdealNode[4]; //0xc8
USHORT IdealGlobalNode; //0xd0
union _KEXECUTE_OPTIONS Flags; //0xd2
UCHAR Unused1; //0xd3
ULONG Unused2; //0xd4
ULONG Unused4; //0xd8
union _KSTACK_COUNT StackCount; //0xdc
struct _LIST_ENTRY ProcessListEntry; //0xe0
volatile ULONGLONG CycleTime; //0xf0
ULONG KernelTime; //0xf8
ULONG UserTime; //0xfc
VOID* InstrumentationCallback; //0x100
union _KGDTENTRY64 LdtSystemDescriptor; //0x108
VOID* LdtBaseAddress; //0x118
struct _KGUARDED_MUTEX LdtProcessLock; //0x120
USHORT LdtFreeSelectorHint; //0x158
USHORT LdtTableLength; //0x15a
};