diff --git a/subsystems/xboxkrnl/CMakeLists.txt b/subsystems/xboxkrnl/CMakeLists.txt new file mode 100644 index 00000000000..30b07791583 --- /dev/null +++ b/subsystems/xboxkrnl/CMakeLists.txt @@ -0,0 +1,16 @@ +add_definitions(-D_XBOXKRNL_) +spec2def(xboxkrnl.sys xboxkrnl.spec ADD_IMPORTLIB) + +list(APPEND SOURCE + DllMain.c) + +add_library(xboxkrnl MODULE + ${SOURCE} + xboxkrnl.rc + ${CMAKE_CURRENT_BINARY_DIR}/xboxkrnl.def + ${CMAKE_CURRENT_BINARY_DIR}/xboxkrnl_stubs.c) + +set_module_type(xboxkrnl kernelmodedriver) +add_dependencies(xboxkrnl psdk xdk) +add_importlibs(xboxkrnl ntoskrnl) +add_cd_file(TARGET xboxkrnl DESTINATION reactos/system32/drivers FOR all) \ No newline at end of file diff --git a/subsystems/xboxkrnl/DllMain.c b/subsystems/xboxkrnl/DllMain.c new file mode 100644 index 00000000000..3c47eb94170 --- /dev/null +++ b/subsystems/xboxkrnl/DllMain.c @@ -0,0 +1,39 @@ +#include "xboxkrnl.h" +#include + +NTSTATUS NTAPI +DriverEntry(IN PVOID Context1, + IN PVOID Context2) +{ + /* + * NOTE this driver will never be load, it only contain export list + * to win32k xbox functions + */ + return STATUS_SUCCESS; +} + +NTSTATUS NTAPI XeLoadSection(void* Section){ + DPRINT1("SIMONE - Already preloaded by Reactos's MM - check if it is really necessary\n"); + return STATUS_SUCCESS; +} + + +NTSTATUS NTAPI PsCreateSystemThreadEx +( + OUT PHANDLE ThreadHandle, + IN ULONG ThreadExtraSize, + IN ULONG KernelStackSize, + IN ULONG TlsDataSize, + OUT PULONG ThreadId OPTIONAL, + IN PVOID StartContext1, + IN PVOID StartContext2, + IN BOOLEAN CreateSuspended, + IN BOOLEAN DebugStack, + IN PKSTART_ROUTINE2 StartRoutine +){ + + SetRoutineAndContext2(StartRoutine,StartContext2); + NTSTATUS status = PsCreateSystemThread(ThreadHandle,GENERIC_ALL,NULL,NULL,ThreadId,(PVOID)StartRoutine,StartContext1); + SetRoutineAndContext2(NULL,NULL); + return status; +} \ No newline at end of file diff --git a/subsystems/xboxkrnl/xboxkrnl.h b/subsystems/xboxkrnl/xboxkrnl.h new file mode 100644 index 00000000000..06cac611a82 --- /dev/null +++ b/subsystems/xboxkrnl/xboxkrnl.h @@ -0,0 +1,594 @@ +#ifndef __XBOXKRNL_H +#define __XBOXKRNL_H + +/* INCLUDES ******************************************************************/ + +/* C Headers */ +#include +#include + +/* PSDK/NDK Headers */ +#define WIN32_NO_STATUS +#include +#include +#include + +#include + +typedef ULONG PFN_COUNT; +typedef signed char SCHAR; +typedef UCHAR KIRQL, *PKIRQL; +typedef ULONG PFN_NUMBER, *PPFN_NUMBER; + +// Used in AvSendTVEncoderOption +#define AV_PACK_NONE 0x00000000 +#define AV_PACK_STANDARD 0x00000001 +#define AV_PACK_RFU 0x00000002 +#define AV_PACK_SCART 0x00000003 +#define AV_PACK_HDTV 0x00000004 +#define AV_PACK_VGA 0x00000005 +#define AV_PACK_SVIDEO 0x00000006 + +#define XBOX_KEY_LENGTH 16 +typedef UCHAR XBOX_KEY_DATA[XBOX_KEY_LENGTH]; +typedef UCHAR XBOX_KEY_DATA[XBOX_KEY_LENGTH]; + +typedef struct _OBJECT_HANDLE_TABLE +{ + LONG HandleCount; + LONG_PTR FirstFreeTableEntry; + HANDLE NextHandleNeedingPool; + PVOID **RootTable; + PVOID *BuiltinRootTable[8]; +} OBJECT_HANDLE_TABLE, *POBJECT_HANDLE_TABLE; + +typedef struct _MMPFNFREE +{ + USHORT PackedPfnFlink; + USHORT PackedPfnBlink; +} MMPFNFREE, *PMMPFNFREE; + +typedef struct _MMPFNREGION +{ + MMPFNFREE FreePagesByColor[32]; + PFN_COUNT AvailablePages; +} MMPFNREGION, *PMMPFNREGION; + +typedef enum _MMPFN_BUSY_TYPE +{ + MmUnknownUsage, + MmStackUsage, + MmVirtualPageTableUsage, + MmSystemPageTableUsage, + MmPoolUsage, + MmVirtualMemoryUsage, + MmSystemMemoryUsage, + MmImageUsage, + MmFsCacheUsage, + MmContiguousUsage, + MmDebuggerUsage, + MmMaximumUsage +} MMPFN_BUSY_TYPE; + +typedef PFN_NUMBER (FASTCALL *PMMREMOVE_PAGE_ROUTINE) ( + IN MMPFN_BUSY_TYPE BusyType, + IN PMMPTE TargetPte +); + +typedef struct _MMPTERANGE +{ + MMPTE HeadPte; + PMMPTE FirstCommittedPte; + PMMPTE LastCommittedPte; + PMMPTE LastReservedPte; + PFN_COUNT *AvailablePages; + PMMREMOVE_PAGE_ROUTINE RemovePageRoutine; +} MMPTERANGE, *PMMPTERANGE; + +typedef struct _MMADDRESS_NODE +{ + ULONG_PTR StartingVpn; + ULONG_PTR EndingVpn; + struct _MMADDRESS_NODE *Parent; + struct _MMADDRESS_NODE *LeftChild; + struct _MMADDRESS_NODE *RightChild; +} MMADDRESS_NODE, *PMMADDRESS_NODE; + +typedef struct _MMGLOBALDATA +{ + PMMPFNREGION RetailPfnRegion; + PMMPTERANGE SystemPteRange; + PULONG AvailablePages; + PFN_COUNT *AllocatedPagesByUsage; + PRTL_CRITICAL_SECTION AddressSpaceLock; + PMMADDRESS_NODE *VadRoot; + PMMADDRESS_NODE *VadHint; + PMMADDRESS_NODE *VadFreeHint; +} MMGLOBALDATA, *PMMGLOBALDATA; + +typedef struct _LAUNCH_DATA_HEADER +{ + DWORD dwLaunchDataType; + DWORD dwTitleId; + CHAR szLaunchPath[520]; + DWORD dwFlags; +} LAUNCH_DATA_HEADER, *PLAUNCH_DATA_HEADER; + +typedef struct _LAUNCH_DATA_PAGE +{ + LAUNCH_DATA_HEADER Header; + UCHAR Pad[492]; + UCHAR LaunchData[3072]; +} LAUNCH_DATA_PAGE, *PLAUNCH_DATA_PAGE; + +typedef VOID (NTAPI *PIDE_INTERRUPT_ROUTINE) (void); + +typedef VOID (NTAPI *PIDE_FINISHIO_ROUTINE) (void); + +typedef BOOLEAN (NTAPI *PIDE_POLL_RESET_COMPLETE_ROUTINE) (void); + +typedef VOID (NTAPI *PIDE_TIMEOUT_EXPIRED_ROUTINE) (void); + +typedef struct _DISPATCHER_HEADER +{ + UCHAR Type; + UCHAR Absolute; + UCHAR Size; + UCHAR Inserted; + LONG SignalState; + LIST_ENTRY WaitListHead; +} DISPATCHER_HEADER; + +/** + * This struct represents an I/O request packet + */ + +typedef struct _KEVENT +{ + DISPATCHER_HEADER Header; +} KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT; + +typedef struct _KDEVICE_QUEUE +{ + SHORT Type; + UCHAR Size; + UCHAR Busy; + LIST_ENTRY DeviceListHead; +} KDEVICE_QUEUE, *PKDEVICE_QUEUE; + +typedef struct _KDEVICE_QUEUE_ENTRY +{ + LIST_ENTRY DeviceListEntry; + ULONG SortKey; + BOOLEAN Inserted; +} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY; + +typedef struct _KPROCESS +{ + LIST_ENTRY ReadListHead; + LIST_ENTRY ThreadListHead; + ULONG StackCount; + LONG ThreadQuantum; + SCHAR BasePriority; + UCHAR DisableBoost; + UCHAR DisableQuantum; +} KPROCESS, *PKPROCESS; + +typedef struct _KAPC_STATE +{ + LIST_ENTRY ApcListHead[2]; + PKPROCESS Process; + UCHAR KernelApcInProgress; + UCHAR KernelApcPending; + UCHAR UserApcPending; + UCHAR ApcQueueable; +} KAPC_STATE; + +typedef struct _KQUEUE +{ + DISPATCHER_HEADER Header; + LIST_ENTRY EntryListHead; + ULONG CurrentCount; + ULONG MaximumCount; + LIST_ENTRY ThreadListHead; +} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE; + +struct _KTRHEAD; + +typedef struct _KWAIT_BLOCK +{ + LIST_ENTRY WaitListEntry; + struct _KTHREAD *Thread; + PVOID Object; + struct _KWAIT_BLOCK *NextWaitBlock; + SHORT WaitKey; + SHORT WaitType; +} KWAIT_BLOCK, *PKWAIT_BLOCK; + +typedef struct _KAPC +{ + SHORT Type; + CHAR ApcMode; + UCHAR Inserted; + struct _KTHREAD *Thread; + LIST_ENTRY ApcListEntry; + PVOID KernelRoutine; + PVOID RundownRoutine; + PVOID NormalRoutine; + PVOID NormalContext; + PVOID SystemArgument1; + PVOID SystemArgument2; +} KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC; + +typedef struct _KSEMAPHORE +{ + DISPATCHER_HEADER Header; + LONG Limit; +} KSEMAPHORE, *PKSEMAPHORE, *RESTRICTED_POINTER PRKSEMAPHORE; + +typedef struct _KDPC +{ + CSHORT Type; + BOOLEAN Inserted; + UCHAR Padding; + LIST_ENTRY DpcListEntry; + PVOID DeferredRoutine; + PVOID DeferredContext; + PVOID SystemArgument1; + PVOID SystemArgument2; +} KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC; + +/** + * The kernels way of representing a timer object. MS recommends not to + * manipulate the members directly. + */ +typedef struct _KTIMER +{ + DISPATCHER_HEADER Header; + ULARGE_INTEGER DueTime; + LIST_ENTRY TimerListEntry; + PKDPC Dpc; + LONG Period; +} KTIMER, *PKTIMER; + +typedef struct _KTHREAD +{ + DISPATCHER_HEADER Header; + LIST_ENTRY MutantListHead; + ULONG KernelTime; + PVOID StackBase; + PVOID StackLimit; + PVOID KernelStack; + PVOID TlsData; + UCHAR State; + UCHAR Alerted[2]; + UCHAR Alertable; + UCHAR NpxState; + CHAR Saturation; + SCHAR Priority; + UCHAR Padding; + KAPC_STATE ApcState; + ULONG ContextSwitches; + LONG WaitStatus; + UCHAR WaitIrql; + CHAR WaitMode; + UCHAR WaitNext; + UCHAR WaitReason; + PKWAIT_BLOCK WaitBlockList; + LIST_ENTRY WaitListEntry; + ULONG WaitTime; + ULONG KernelApcDisable; + LONG Quantum; + SCHAR BasePriority; + UCHAR DecrementCount; + SCHAR PriorityDecrement; + UCHAR DisableBoost; + UCHAR NpxIrql; + CHAR SuspendCount; + UCHAR Preempted; + UCHAR HasTerminated; + PKQUEUE Queue; + LIST_ENTRY QueueListEntry; + KTIMER Timer; + KWAIT_BLOCK TimerWaitBlock; + KAPC SuspendApc; + KSEMAPHORE SuspendSemaphore; + LIST_ENTRY ThreadListEntry; +} KTHREAD, *PKTHREAD, *RESTRICTED_POINTER PRKTHREAD; + +typedef struct _ETHREAD +{ + KTHREAD Tcb; + LARGE_INTEGER CreateTime; + LARGE_INTEGER ExitTime; + + union + { + NTSTATUS ExitStatus; + PVOID OfsChain; + }; + + union + { + LIST_ENTRY ReaperListEntry; + LIST_ENTRY ActiveTimerListHead; + }; + + HANDLE UniqueThread; + PVOID StartAddress; + LIST_ENTRY IrpList; + PVOID DebugData; +} ETHREAD, *PETHREAD; + +typedef struct _IO_COMPLETION_CONTEXT +{ + PVOID Port; + PVOID Key; +} IO_COMPLETION_CONTEXT, *PIO_COMPLETION_CONTEXT; + +struct _DEVICE_OBJECT; + +typedef struct _FILE_OBJECT +{ + CSHORT Type; + BOOLEAN DeletePending : 1; + BOOLEAN ReadAccess : 1; + BOOLEAN WriteAccess : 1; + BOOLEAN DeleteAccess : 1; + BOOLEAN SharedRead : 1; + BOOLEAN SharedWrite : 1; + BOOLEAN SharedDelete : 1; + BOOLEAN Reserved : 1; + UCHAR Flags; + struct _DEVICE_OBJECT *DeviceObject; + PVOID FsContext; + PVOID FsContext2; + NTSTATUS FinalStatus; + LARGE_INTEGER CurrentByteOffset; + struct _FILE_OBJECT *RelatedFileObject; + PIO_COMPLETION_CONTEXT CompletionContext; + LONG LockCount; + KEVENT Lock; + KEVENT Event; +} FILE_OBJECT, *PFILE_OBJECT; + +typedef struct _IRP +{ + CSHORT Type; + USHORT Size; + ULONG Flags; /**< Flags for the packet */ + LIST_ENTRY ThreadListEntry; + IO_STATUS_BLOCK IoStatus; + CHAR StackCount; + CHAR CurrentLocation; + BOOLEAN PendingReturned; + BOOLEAN Cancel; /**< Has the packet been canceled? */ + PIO_STATUS_BLOCK UserIosb; + PKEVENT UserEvent; + + union + { + struct + { + PIO_APC_ROUTINE UserApcRoutine; + PVOID UserApcContext; + } AsynchronousParameters; + LARGE_INTEGER AllocationSize; + } Overlay; + + PVOID UserBuffer; + PFILE_SEGMENT_ELEMENT SegmentArray; + ULONG LockedBufferLength; + + union + { + struct + { + union + { + KDEVICE_QUEUE_ENTRY DeviceQueueEntry; + struct + { + PVOID DriverContext[5]; + }; + }; + PETHREAD Thread; + + struct + { + LIST_ENTRY ListEntry; + union + { + struct _IO_STATUS_LOCATION *CurrentStackLocation; + ULONG PacketType; + }; + }; + + PFILE_OBJECT OriginalFileObject; + } Overlay; + + KAPC Apc; + PVOID CompletionKey; + } Tail; +} IRP, *PIRP; + +typedef VOID (NTAPI *PDRIVER_STARTIO) ( + IN struct _DEVICE_OBJECT *DeviceObject, + IN struct _IRP *Irp +); + +typedef VOID (NTAPI *PDRIVER_DELETEDEVICE) ( + IN struct _DEVICE_OBJECT *DeviceObject +); + +typedef NTSTATUS (NTAPI *PDRIVER_DISMOUNTVOLUME) ( + IN struct _DEVICE_OBJECT *DeviceObject +); + +typedef NTSTATUS (NTAPI *PDRIVER_DISPATCH) ( + IN struct _DEVICE_OBJECT *DeviceObject, + IN struct _IRP *Irp +); + +typedef struct _DRIVER_OBJECT +{ + PDRIVER_STARTIO DriverStartIo; + PDRIVER_DELETEDEVICE DriverDeleteDevice; + PDRIVER_DISMOUNTVOLUME DriverDismountVolume; + PDRIVER_DISPATCH MajorFunction[0x0E]; +} DRIVER_OBJECT, *PDRIVER_OBJECT; + +typedef struct _DEVICE_OBJECT +{ + CSHORT Type; + USHORT Size; + LONG ReferenceCount; + PDRIVER_OBJECT DriverObject; + struct _DEVICE_OBJECT *MountedOrSelfDevice; + PIRP CurrentIrp; + ULONG Flags; + PVOID DeviceExtension; + UCHAR DeviceType; + UCHAR StartIoFlags; + CCHAR StackSize; + BOOLEAN DeletePending; + ULONG SectorSize; + ULONG AlignmentRequirement; + KDEVICE_QUEUE DeviceQueue; + KEVENT DeviceLock; + ULONG StartIoKey; +} DEVICE_OBJECT, *PDEVICE_OBJECT; + + +typedef VOID (NTAPI *PIDE_START_PACKET_ROUTINE) ( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp +); + +typedef VOID (NTAPI *PIDE_START_NEXT_PACKET_ROUTINE) (void); + +typedef struct _KINTERRUPT +{ + PVOID ServiceRoutine; + PVOID ServiceContext; + ULONG BusInterruptLevel; + ULONG Irql; + UCHAR Connected; + UCHAR ShareVector; + UCHAR Mode; + UCHAR Padding7; + ULONG ServiceCount; + ULONG DispatchCode[22]; +} KINTERRUPT, *PKINTERRUPT; + + +typedef struct _IDE_CHANNEL_OBJECT +{ + PIDE_INTERRUPT_ROUTINE InterruptRoutine; + PIDE_FINISHIO_ROUTINE FinishIoRoutine; + PIDE_POLL_RESET_COMPLETE_ROUTINE PollResetCompleteRoutine; + PIDE_TIMEOUT_EXPIRED_ROUTINE TimeoutExpiredRoutine; + PIDE_START_PACKET_ROUTINE StartPacketRoutine; + PIDE_START_NEXT_PACKET_ROUTINE StartNextPacketRoutine; + KIRQL InterruptIrql; + BOOLEAN ExpectingBusMasterInterrupt; + BOOLEAN StartPacketBusy; + BOOLEAN StartPacketRequested; + UCHAR Timeout; + UCHAR IoRetries; + UCHAR MaximumIoRetries; + PIRP CurrentIrp; + KDEVICE_QUEUE DeviceQueue; + ULONG PhysicalRegionDescriptorTablePhysical; + KDPC TimerDpc; + KDPC FinishDpc; + KTIMER Timer; + KINTERRUPT InterruptObject; +} IDE_CHANNEL_OBJECT, *PIDE_CHANNEL_OBJECT; + +typedef struct +{ + PVOID AllocateProcedure; + PVOID FreeProcedure; + PVOID CloseProcedure; + PVOID DeleteProcedure; + PVOID ParseProcedure; + PVOID DefaultObject; + ULONG PoolTag; +} _OBJECT_TYPE, OBJECT_TYPE, *POBJECT_TYPE; + +/** + * Information about the XBOX-hardware + */ +typedef struct _XBOX_HARDWARE_INFO +{ + ULONG Flags; + UCHAR GpuRevision; + UCHAR McpRevision; + UCHAR reserved[2]; +} XBOX_HARDWARE_INFO; + +typedef struct _XBOX_KRNL_VERSION +{ + USHORT Major; + USHORT Minor; + USHORT Build; + USHORT Qfe; +} XBOX_KRNL_VERSION, *PXBOX_KRNL_VERSION; + +_IRQL_requires_same_ +_Function_class_(KSTART_ROUTINE2) +typedef VOID +(NTAPI KSTART_ROUTINE2)( + _In_ PVOID StartContext, + _In_ PVOID StartContext2); +typedef KSTART_ROUTINE2 *PKSTART_ROUTINE2; + + +ULONG HalDiskCachePartitionCount ; + +PLAUNCH_DATA_PAGE LaunchDataPage; +MMGLOBALDATA MmGlobalData; +OBJECT_HANDLE_TABLE ObpObjectHandleTable; +UCHAR XePublicKeyData[254]; +DWORD HalBootSMCVideoMode; +IDE_CHANNEL_OBJECT IdexChannelObject; +XBOX_HARDWARE_INFO XboxHardwareInfo; +XBOX_KRNL_VERSION XboxKrnlVersion; +ANSI_STRING XeImageFileName[1]; + +volatile KSYSTEM_TIME KeInterruptTime; +volatile KSYSTEM_TIME KeSystemTime; + +OBJECT_TYPE IoCompletionObjectType; +OBJECT_TYPE ObSymbolicLinkObjectType; +OBJECT_TYPE ExTimerObjectType; +OBJECT_TYPE PsThreadObjectType; + +XBOX_KEY_DATA XboxSignatureKey; +XBOX_KEY_DATA XboxAlternateSignatureKeys[1]; +XBOX_KEY_DATA XboxEEPROMKey; +XBOX_KEY_DATA XboxHDKey; +XBOX_KEY_DATA XboxLANKey; + +STRING HalDiskModelNumber; +STRING HalDiskSerialNumber; + +extern POBJECT_TYPE ExMutantObjectType; + +NTSTATUS +NTAPI +PsCreateSystemThread(OUT PHANDLE ThreadHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes, + IN HANDLE ProcessHandle, + IN PVOID ClientId, + IN PVOID StartRoutine, + IN PVOID StartContext); + + +VOID NTAPI SetRoutineAndContext2 ( + IN PKSTART_ROUTINE2 StartRoutineB, + IN PVOID StartContextB); + +#endif /* __XBOXKRNL_H */ diff --git a/subsystems/xboxkrnl/xboxkrnl.rc b/subsystems/xboxkrnl/xboxkrnl.rc new file mode 100644 index 00000000000..cdd2bc925ac --- /dev/null +++ b/subsystems/xboxkrnl/xboxkrnl.rc @@ -0,0 +1,5 @@ +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS xboxkrnl" +#define REACTOS_STR_INTERNAL_NAME "xboxkrnl" +#define REACTOS_STR_ORIGINAL_FILENAME "xboxkrnl.dll" +#include diff --git a/subsystems/xboxkrnl/xboxkrnl.spec b/subsystems/xboxkrnl/xboxkrnl.spec new file mode 100644 index 00000000000..70752153cd9 --- /dev/null +++ b/subsystems/xboxkrnl/xboxkrnl.spec @@ -0,0 +1,378 @@ +1 stdcall -stub AvGetSavedDataAddress() +2 stdcall -stub AvSendTVEncoderOption(ptr long long ptr) +3 stdcall -stub AvSetDisplayMode(ptr long long long long long) +4 stdcall -stub AvSetSavedDataAddress(ptr) +5 stdcall DbgBreakPoint() ntoskrnl.DbgBreakPoint +6 stdcall DbgBreakPointWithStatus() ntoskrnl.DbgBreakPointWithStatus +7 stdcall DbgLoadImageSymbols() ntoskrnl.DbgLoadImageSymbols +8 stdcall DbgPrint() ntoskrnl.DbgPrint +9 stdcall -stub HalReadSMCTrayState(ptr ptr) +10 stdcall DbgPrompt() ntoskrnl.DbgPrompt +11 stdcall DbgUnLoadImageSymbols(str ptr ptr) ntoskrnl.DbgUnLoadImageSymbols +12 stdcall -stub ExAcquireReadWriteLockExclusive(ptr) +13 stdcall -stub ExAcquireReadWriteLockShared(ptr) +14 stdcall ExAllocatePool() ntoskrnl.ExAllocatePool +15 stdcall ExAllocatePoolWithTag() ntoskrnl.ExAllocatePoolWithTag +16 extern ExEventObjectType ntoskrnl.ExEventObjectType +17 stdcall ExFreePool() ntoskrnl.ExFreePool +18 stdcall -stub ExInitializeReadWriteLock() +19 stdcall ExInterlockedAddLargeInteger() ntoskrnl.ExInterlockedAddLargeInteger +20 fastcall ExInterlockedAddLargeStatistic() ntoskrnl.ExInterlockedAddLargeStatistic +21 fastcall ExInterlockedCompareExchange64() ntoskrnl.ExInterlockedCompareExchange64 +22 extern ExMutantObjectType ntoskrnl.ExMutantObjectType +23 stdcall ExQueryPoolBlockSize() ntoskrnl.ExQueryPoolBlockSize +24 stdcall -stub ExQueryNonVolatileSetting(long ptr ptr long ptr) +25 stdcall -stub ExReadWriteRefurbInfo() +26 stdcall ExRaiseException() ntoskrnl.ExRaiseException +27 stdcall ExRaiseStatus() ntoskrnl.ExRaiseStatus +28 stdcall -stub ExReleaseReadWriteLock() +29 stdcall -stub ExSaveNonVolatileSetting() +30 extern ExSemaphoreObjectType ntoskrnl.ExSemaphoreObjectType +31 extern ExTimerObjectType +32 stdcall ExfInterlockedInsertHeadList() ntoskrnl.ExfInterlockedInsertHeadList +33 fastcall ExfInterlockedInsertTailList() ntoskrnl.ExfInterlockedInsertTailList +34 fastcall ExfInterlockedRemoveHeadList() ntoskrnl.ExfInterlockedRemoveHeadList +35 stdcall -stub FscGetCacheSize() +36 stdcall -stub FscInvalidateIdleBlocks() +37 stdcall -stub FscSetCacheSize(long) +38 fastcall HalClearSoftwareInterrupt(long) hal.HalClearSoftwareInterrupt +39 stdcall HalDisableSystemInterrupt() hal.HalDisableSystemInterrupt +40 extern HalDiskCachePartitionCount +41 extern HalDiskModelNumber +42 extern HalDiskSerialNumber +43 stdcall HalEnableSystemInterrupt() hal.HalEnableSystemInterrupt +44 stdcall HalGetInterruptVector() hal.HalGetInterruptVector +45 stdcall -stub HalReadSMBusValue(long long long ptr) +46 stdcall -stub HalReadWritePCISpace(long long long ptr long long) +47 stdcall -stub HalRegisterShutdownNotification(ptr long) +48 fastcall HalRequestSoftwareInterrupt() hal.HalRequestSoftwareInterrupt +49 stdcall -stub HalReturnToFirmware(long) +50 stdcall -stub HalWriteSMBusValue(long long long long) +51 fastcall InterlockedCompareExchange() ntoskrnl.InterlockedCompareExchange +52 fastcall InterlockedDecrement() ntoskrnl.InterlockedDecrement +53 fastcall InterlockedIncrement() ntoskrnl.InterlockedIncrement +54 fastcall InterlockedExchange() ntoskrnl.InterlockedExchange +55 fastcall InterlockedExchangeAdd() ntoskrnl.InterlockedExchangeAdd +56 fastcall InterlockedFlushSList(ptr) ntoskrnl.ExInterlockedFlushSList +57 fastcall InterlockedPopEntrySList() ntoskrnl.InterlockedPopEntrySList +58 fastcall InterlockedPushEntrySList() ntoskrnl.InterlockedPushEntrySList +59 stdcall IoAllocateIrp() ntoskrnl.IoAllocateIrp +60 stdcall IoBuildAsynchronousFsdRequest() ntoskrnl.IoBuildAsynchronousFsdRequest +61 stdcall IoBuildDeviceIoControlRequest() ntoskrnl.IoBuildDeviceIoControlRequest +62 stdcall IoBuildSynchronousFsdRequest() ntoskrnl.IoBuildSynchronousFsdRequest +63 stdcall IoCheckShareAccess() ntoskrnl.IoCheckShareAccess +64 extern IoCompletionObjectType +65 stdcall IoCreateDevice() ntoskrnl.IoCreateDevice +66 stdcall IoCreateFile() ntoskrnl.IoCreateFile +67 stdcall IoCreateSymbolicLink() ntoskrnl.IoCreateSymbolicLink +68 stdcall IoDeleteDevice() ntoskrnl.IoDeleteDevice +69 stdcall IoDeleteSymbolicLink() ntoskrnl.IoDeleteSymbolicLink +70 extern IoDeviceObjectType ntoskrnl.IoDeviceObjectType +71 extern IoFileObjectType ntoskrnl.IoFileObjectType +72 stdcall IoFreeIrp() ntoskrnl.IoFreeIrp +73 stdcall IoInitializeIrp() ntoskrnl.IoInitializeIrp +74 stdcall -stub IoInvalidDeviceRequest() +75 stdcall IoQueryFileInformation() ntoskrnl.IoQueryFileInformation +76 stdcall IoQueryVolumeInformation() ntoskrnl.IoQueryVolumeInformation +77 stdcall IoQueueThreadIrp() ntoskrnl.IoQueueThreadIrp +78 stdcall IoRemoveShareAccess() ntoskrnl.IoRemoveShareAccess +79 stdcall IoSetIoCompletion() ntoskrnl.IoSetIoCompletion +80 stdcall IoSetShareAccess() ntoskrnl.IoSetShareAccess +81 stdcall IoStartNextPacket() ntoskrnl.IoStartNextPacket +82 stdcall IoStartNextPacketByKey() ntoskrnl.IoStartNextPacketByKey +83 stdcall IoStartPacket() ntoskrnl.IoStartPacket +84 stdcall -stub IoSynchronousDeviceIoControlRequest(long ptr ptr long ptr long ptr long) +85 stdcall -stub IoSynchronousFsdRequest(long ptr ptr long ptr) +86 fastcall IofCallDriver() ntoskrnl.IofCallDriver +87 fastcall IofCompleteRequest() ntoskrnl.IofCompleteRequest +88 extern KdDebuggerEnabled ntoskrnl.KdDebuggerEnabled +89 extern KdDebuggerNotPresent ntoskrnl.KdDebuggerNotPresent +90 stdcall -stub IoDismountVolume(ptr) +91 stdcall -stub IoDismountVolumeByName(str) +92 stdcall KeAlertResumeThread(ptr) ntoskrnl.KeAlertResumeThread +93 stdcall KeAlertThread() ntoskrnl.KeAlertThread +94 stdcall KeBoostPriorityThread(ptr long) ntoskrnl.KeBoostPriorityThread +95 stdcall KeBugCheck() ntoskrnl.KeBugCheck +96 stdcall KeBugCheckEx() ntoskrnl.KeBugCheckEx +97 stdcall KeCancelTimer() ntoskrnl.KeCancelTimer +98 stdcall KeConnectInterrupt() ntoskrnl.KeConnectInterrupt +99 stdcall KeDelayExecutionThread() ntoskrnl.KeDelayExecutionThread +100 stdcall KeDisconnectInterrupt() ntoskrnl.KeDisconnectInterrupt +101 stdcall KeEnterCriticalRegion() ntoskrnl.KeEnterCriticalRegion +102 extern MmGlobalData +103 stdcall KeGetCurrentIrql() ntoskrnl.KeGetCurrentIrql +104 stdcall KeGetCurrentThread() ntoskrnl.KeGetCurrentThread +105 stdcall KeInitializeApc() ntoskrnl.KeInitializeApc +106 stdcall KeInitializeDeviceQueue() ntoskrnl.KeInitializeDeviceQueue +107 stdcall KeInitializeDpc() ntoskrnl.KeInitializeDpc +108 stdcall KeInitializeEvent() ntoskrnl.KeInitializeEvent +109 stdcall KeInitializeInterrupt() ntoskrnl.KeInitializeInterrupt +110 stdcall KeInitializeMutant() ntoskrnl.KeInitializeMutant +111 stdcall KeInitializeQueue() ntoskrnl.KeInitializeQueue +112 stdcall KeInitializeSemaphore() ntoskrnl.KeInitializeSemaphore +113 stdcall KeInitializeTimerEx() ntoskrnl.KeInitializeTimerEx +114 stdcall KeInsertByKeyDeviceQueue() ntoskrnl.KeInsertByKeyDeviceQueue +115 stdcall KeInsertDeviceQueue() ntoskrnl.KeInsertDeviceQueue +116 stdcall KeInsertHeadQueue() ntoskrnl.KeInsertHeadQueue +117 stdcall KeInsertQueue() ntoskrnl.KeInsertQueue +118 stdcall KeInsertQueueApc() ntoskrnl.KeInsertQueueApc +119 stdcall KeInsertQueueDpc() ntoskrnl.KeInsertQueueDpc +120 extern KeInterruptTime +121 stdcall KeIsExecutingDpc() ntoskrnl.KeIsExecutingDpc +122 stdcall KeLeaveCriticalRegion() ntoskrnl.KeLeaveCriticalRegion +123 stdcall KePulseEvent() ntoskrnl.KePulseEvent +124 stdcall KeQueryBasePriorityThread() ntoskrnl.KeQueryBasePriorityThread +125 stdcall KeQueryInterruptTime() ntoskrnl.KeQueryInterruptTime +126 stdcall KeQueryPerformanceCounter() ntoskrnl.KeQueryPerformanceCounter +127 stdcall -stub KeQueryPerformanceFrequency() +128 stdcall KeQuerySystemTime() ntoskrnl.KeQuerySystemTime +129 stdcall KeRaiseIrqlToDpcLevel() hal.KeRaiseIrqlToDpcLevel +130 stdcall KeRaiseIrqlToSynchLevel() hal.KeRaiseIrqlToSynchLevel +131 stdcall KeReleaseMutant() ntoskrnl.KeReleaseMutant +132 stdcall KeReleaseSemaphore() ntoskrnl.KeReleaseSemaphore +133 stdcall KeRemoveByKeyDeviceQueue() ntoskrnl.KeRemoveByKeyDeviceQueue +134 stdcall KeRemoveDeviceQueue() ntoskrnl.KeRemoveDeviceQueue +135 stdcall KeRemoveEntryDeviceQueue() ntoskrnl.KeRemoveEntryDeviceQueue +136 stdcall KeRemoveQueue() ntoskrnl.KeRemoveQueue +137 stdcall KeRemoveQueueDpc() ntoskrnl.KeRemoveQueueDpc +138 stdcall KeResetEvent() ntoskrnl.KeResetEvent +139 stdcall KeRestoreFloatingPointState() ntoskrnl.KeRestoreFloatingPointState +140 stdcall KeResumeThread() ntoskrnl.KeResumeThread +141 stdcall KeRundownQueue() ntoskrnl.KeRundownQueue +142 stdcall KeSaveFloatingPointState() ntoskrnl.KeSaveFloatingPointState +143 stdcall KeSetBasePriorityThread() ntoskrnl.KeSetBasePriorityThread +144 stdcall KeSetDisableBoostThread(ptr long) ntoskrnl.KeSetDisableBoostThread +145 stdcall KeSetEvent() ntoskrnl.KeSetEvent +146 stdcall KeSetEventBoostPriority() ntoskrnl.KeSetEventBoostPriority +147 stdcall -stub KeSetPriorityProcess(ptr long) +148 stdcall KeSetPriorityThread() ntoskrnl.KeSetPriorityThread +149 stdcall KeSetTimer() ntoskrnl.KeSetTimer +150 stdcall KeSetTimerEx() ntoskrnl.KeSetTimerEx +151 stdcall KeStallExecutionProcessor() hal.KeStallExecutionProcessor +152 stdcall KeSuspendThread() ntoskrnl.KeSuspendThread +153 stdcall KeSynchronizeExecution() ntoskrnl.KeSynchronizeExecution +154 extern KeSystemTime +155 stdcall KeTestAlertThread() ntoskrnl.KeTestAlertThread +156 extern KeTickCount ntoskrnl.KeTickCount +157 extern KeTimeIncrement ntoskrnl.KeTimeIncrement +158 stdcall KeWaitForMultipleObjects() ntoskrnl.KeWaitForMultipleObjects +159 stdcall KeWaitForSingleObject() ntoskrnl.KeWaitForSingleObject +160 fastcall KfRaiseIrql() hal.KfRaiseIrql +161 fastcall KfLowerIrql() hal.KfLowerIrql +162 extern KiBugCheckData ntoskrnl.KiBugCheckData +163 fastcall -stub KiUnlockDispatcherDatabase(long) +164 extern LaunchDataPage +165 stdcall MmAllocateContiguousMemory() ntoskrnl.MmAllocateContiguousMemory +166 stdcall -stub MmAllocateContiguousMemoryEx(long long long long long) +167 stdcall -stub MmAllocateSystemMemory(long long) +168 stdcall -stub MmClaimGpuInstanceMemory(long ptr) +169 stdcall MmCreateKernelStack(long long) ntoskrnl.MmCreateKernelStack +170 stdcall MmDeleteKernelStack(ptr long) ntoskrnl.MmDeleteKernelStack +171 stdcall MmFreeContiguousMemory() ntoskrnl.MmFreeContiguousMemory +172 stdcall -stub MmFreeSystemMemory(ptr long) +173 stdcall MmGetPhysicalAddress() ntoskrnl.MmGetPhysicalAddress +174 stdcall MmIsAddressValid() ntoskrnl.MmIsAddressValid +175 stdcall -stub MmLockUnlockBufferPages(ptr long long) +176 stdcall -stub MmLockUnlockPhysicalPage(ptr long) +177 stdcall MmMapIoSpace() ntoskrnl.MmMapIoSpace +178 stdcall -stub MmPersistContiguousMemory(ptr long long) +179 stdcall -stub MmQueryAddressProtect(ptr) +180 stdcall -stub MmQueryAllocationSize(ptr) +181 stdcall -stub MmQueryStatistics(ptr) +182 stdcall -stub MmSetAddressProtect() +183 stdcall MmUnmapIoSpace() ntoskrnl.MmUnmapIoSpace +184 stdcall NtAllocateVirtualMemory() ntoskrnl.NtAllocateVirtualMemory +185 stdcall NtCancelTimer(long ptr) ntoskrnl.NtCancelTimer +186 stdcall NtClearEvent(long) ntoskrnl.NtClearEvent +187 stdcall NtClose() ntoskrnl.NtClose +188 stdcall NtCreateDirectoryObject(ptr long ptr) ntoskrnl.NtCreateDirectoryObject +189 stdcall NtCreateEvent() ntoskrnl.NtCreateEvent +190 stdcall NtCreateFile() ntoskrnl.NtCreateFile +191 stdcall NtCreateIoCompletion() ntoskrnl.NtCreateIoCompletion +192 stdcall NtCreateMutant(ptr long ptr long) ntoskrnl.NtCreateMutant +193 stdcall NtCreateSemaphore(ptr long ptr long long) ntoskrnl.NtCreateSemaphore +194 stdcall NtCreateTimer(ptr ptr long) ntoskrnl.NtCreateTimer +195 stdcall NtDeleteFile() ntoskrnl.NtDeleteFile +196 stdcall NtDeviceIoControlFile() ntoskrnl.NtDeviceIoControlFile +197 stdcall NtDuplicateObject() ntoskrnl.NtDuplicateObject +198 stdcall NtFlushBuffersFile(long ptr) ntoskrnl.NtFlushBuffersFile +199 stdcall NtFreeVirtualMemory() ntoskrnl.NtFreeVirtualMemory +200 stdcall NtFsControlFile() ntoskrnl.NtFsControlFile +201 stdcall NtOpenDirectoryObject(ptr long ptr) ntoskrnl.NtOpenDirectoryObject +202 stdcall NtOpenFile() ntoskrnl.NtOpenFile +203 stdcall NtOpenSymbolicLinkObject(ptr long ptr) ntoskrnl.NtOpenSymbolicLinkObject +204 stdcall NtProtectVirtualMemory(long ptr long long ptr) ntoskrnl.NtProtectVirtualMemory +205 stdcall NtPulseEvent(long ptr) ntoskrnl.NtPulseEvent +206 stdcall NtQueueApcThread(long ptr ptr ptr ptr) ntoskrnl.NtQueueApcThread +207 stdcall NtQueryDirectoryFile() ntoskrnl.NtQueryDirectoryFile +208 stdcall NtQueryDirectoryObject(long ptr long long long ptr ptr) ntoskrnl.NtQueryDirectoryObject +209 stdcall NtQueryEvent(long long ptr long ptr) ntoskrnl.NtQueryEvent +210 stdcall NtQueryFullAttributesFile(ptr ptr) ntoskrnl.NtQueryFullAttributesFile +211 stdcall NtQueryInformationFile() ntoskrnl.NtQueryInformationFile +212 stdcall NtQueryIoCompletion(long long ptr long ptr) ntoskrnl.NtQueryIoCompletion +213 stdcall NtQueryMutant(long long ptr long ptr) ntoskrnl.NtQueryMutant +214 stdcall NtQuerySemaphore(long ptr) ntoskrnl.NtQuerySemaphore +215 stdcall NtQuerySymbolicLinkObject(long ptr ptr) ntoskrnl.NtQuerySymbolicLinkObject +216 stdcall NtQueryTimer() ntoskrnl.NtQueryTimer +217 stdcall NtQueryVirtualMemory(long ptr long ptr long ptr) ntoskrnl.NtQueryVirtualMemory +218 stdcall NtQueryVolumeInformationFile() ntoskrnl.NtQueryVolumeInformationFile +219 stdcall NtReadFile() ntoskrnl.NtReadFile +220 stdcall NtReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) ntoskrnl.NtReadFileScatter +221 stdcall NtReleaseMutant(long ptr) ntoskrnl.NtReleaseMutant +222 stdcall NtReleaseSemaphore(long long ptr) ntoskrnl.NtReleaseSemaphore +223 stdcall NtRemoveIoCompletion(long ptr ptr ptr ptr) ntoskrnl.NtRemoveIoCompletion +224 stdcall NtResumeThread(long ptr) ntoskrnl.NtResumeThread +225 stdcall NtSetEvent() ntoskrnl.NtSetEvent +226 stdcall NtSetInformationFile() ntoskrnl.NtSetInformationFile +227 stdcall NtSetIoCompletion() ntoskrnl.NtSetIoCompletion +228 stdcall NtSetSystemTime(ptr ptr) ntoskrnl.NtSetSystemTime +229 stdcall -stub NtSetTimerEx(long ptr ptr long ptr long long ptr) +230 stdcall -stub NtSignalAndWaitForSingleObjectEx(long long long long ptr) +231 stdcall NtSuspendThread(long ptr) ntoskrnl.NtSuspendThread +232 stdcall -stub NtUserIoApcDispatcher(ptr ptr long) +233 stdcall NtWaitForSingleObject() ntoskrnl.NtWaitForSingleObject +234 stdcall -stub NtWaitForSingleObjectEx(long long long) +235 stdcall -stub NtWaitForMultipleObjectsEx(long ptr long long long ptr) +236 stdcall NtWriteFile() ntoskrnl.NtWriteFile +237 stdcall NtWriteFileGather() ntoskrnl.NtWriteFileGather +238 stdcall NtYieldExecution() ntoskrnl.NtYieldExecution +239 stdcall ObCreateObject() ntoskrnl.ObCreateObject +240 extern ObDirectoryObjectType ntoskrnl.ObDirectoryObjectType +241 stdcall ObInsertObject() ntoskrnl.ObInsertObject +242 stdcall ObMakeTemporaryObject() ntoskrnl.ObMakeTemporaryObject +243 stdcall ObOpenObjectByName() ntoskrnl.ObOpenObjectByName +244 stdcall ObOpenObjectByPointer() ntoskrnl.ObOpenObjectByPointer +245 extern ObpObjectHandleTable +246 stdcall ObReferenceObjectByHandle() ntoskrnl.ObReferenceObjectByHandle +247 stdcall ObReferenceObjectByName() ntoskrnl.ObReferenceObjectByName +248 stdcall ObReferenceObjectByPointer() ntoskrnl.ObReferenceObjectByPointer +249 extern ObSymbolicLinkObjectType +250 fastcall ObfDereferenceObject() ntoskrnl.ObfDereferenceObject +251 fastcall ObfReferenceObject() ntoskrnl.ObfReferenceObject +252 stdcall -stub PhyGetLinkState(long) +253 stdcall -stub PhyInitialize(long ptr) +254 stdcall PsCreateSystemThread() ntoskrnl.PsCreateSystemThread +255 stdcall PsCreateSystemThreadEx(ptr long long long ptr ptr ptr long long ptr) +256 stdcall -stub PsQueryStatistics(ptr) +257 stdcall PsSetCreateThreadNotifyRoutine() ntoskrnl.PsSetCreateThreadNotifyRoutine +258 stdcall PsTerminateSystemThread() ntoskrnl.PsTerminateSystemThread +259 extern PsThreadObjectType +260 stdcall RtlAnsiStringToUnicodeString() ntoskrnl.RtlAnsiStringToUnicodeString +261 stdcall RtlAppendStringToString() ntoskrnl.RtlAppendStringToString +262 stdcall RtlAppendUnicodeStringToString() ntoskrnl.RtlAppendUnicodeStringToString +263 stdcall RtlAppendUnicodeToString() ntoskrnl.RtlAppendUnicodeToString +264 stdcall RtlAssert() ntoskrnl.RtlAssert +265 stdcall RtlCaptureContext() ntoskrnl.RtlCaptureContext +266 stdcall RtlCaptureStackBackTrace() ntoskrnl.RtlCaptureStackBackTrace +267 stdcall RtlCharToInteger() ntoskrnl.RtlCharToInteger +268 stdcall RtlCompareMemory() ntoskrnl.RtlCompareMemory +269 stdcall RtlCompareMemoryUlong() ntoskrnl.RtlCompareMemoryUlong +270 stdcall RtlCompareString() ntoskrnl.RtlCompareString +271 stdcall RtlCompareUnicodeString() ntoskrnl.RtlCompareUnicodeString +272 stdcall RtlCopyString() ntoskrnl.RtlCopyString +273 stdcall RtlCopyUnicodeString() ntoskrnl.RtlCopyUnicodeString +274 stdcall RtlCreateUnicodeString() ntoskrnl.RtlCreateUnicodeString +275 stdcall RtlDowncaseUnicodeChar(long) ntoskrnl.RtlDowncaseUnicodeChar +276 stdcall RtlDowncaseUnicodeString() ntoskrnl.RtlDowncaseUnicodeString +277 stdcall RtlEnterCriticalSection(ptr) ntoskrnl.RtlEnterCriticalSection +278 stdcall RtlEnterCriticalSectionAndRegion(ptr) RtlEnterCriticalSection +279 stdcall RtlEqualString() ntoskrnl.RtlEqualString +280 stdcall RtlEqualUnicodeString() ntoskrnl.RtlEqualUnicodeString +281 stdcall RtlExtendedIntegerMultiply() ntoskrnl.RtlExtendedIntegerMultiply +282 stdcall RtlExtendedLargeIntegerDivide() ntoskrnl.RtlExtendedLargeIntegerDivide +283 stdcall RtlExtendedMagicDivide() ntoskrnl.RtlExtendedMagicDivide +284 stdcall RtlFillMemory() ntoskrnl.RtlFillMemory +285 stdcall RtlFillMemoryUlong() ntoskrnl.RtlFillMemoryUlong +286 stdcall RtlFreeAnsiString() ntoskrnl.RtlFreeAnsiString +287 stdcall RtlFreeUnicodeString() ntoskrnl.RtlFreeUnicodeString +288 stdcall RtlGetCallersAddress() ntoskrnl.RtlGetCallersAddress +289 stdcall RtlInitAnsiString() ntoskrnl.RtlInitAnsiString +290 stdcall RtlInitUnicodeString() ntoskrnl.RtlInitUnicodeString +291 stdcall RtlInitializeCriticalSection(ptr) ntoskrnl.RtlInitializeCriticalSection +292 stdcall RtlIntegerToChar() ntoskrnl.RtlIntegerToChar +293 stdcall RtlIntegerToUnicodeString() ntoskrnl.RtlIntegerToUnicodeString +294 stdcall RtlLeaveCriticalSection() ntoskrnl.KeLeaveCriticalRegion +295 stdcall RtlLeaveCriticalSectionAndRegion() ntoskrnl.KeEnterCriticalRegion +296 stdcall RtlLowerChar(long) ntoskrnl.RtlDowncaseUnicodeChar +297 stdcall RtlMapGenericMask() ntoskrnl.RtlMapGenericMask +298 stdcall RtlMoveMemory() ntoskrnl.RtlMoveMemory +299 stdcall RtlMultiByteToUnicodeN() ntoskrnl.RtlMultiByteToUnicodeN +300 stdcall RtlMultiByteToUnicodeSize() ntoskrnl.RtlMultiByteToUnicodeSize +301 stdcall RtlNtStatusToDosError() ntoskrnl.RtlNtStatusToDosError +302 stdcall RtlRaiseException() ntoskrnl.RtlRaiseException +303 stdcall RtlRaiseStatus(long) ntoskrnl.RtlRaiseStatus +304 stdcall RtlTimeFieldsToTime() ntoskrnl.RtlTimeFieldsToTime +305 stdcall RtlTimeToTimeFields() ntoskrnl.RtlTimeToTimeFields +306 stdcall RtlTryEnterCriticalSection() ntoskrnl.RtlTryEnterCriticalSection +307 fastcall RtlUlongByteSwap() ntoskrnl.RtlUlongByteSwap +308 stdcall RtlUnicodeStringToAnsiString() ntoskrnl.RtlUnicodeStringToAnsiString +309 stdcall RtlUnicodeStringToInteger() ntoskrnl.RtlUnicodeStringToInteger +310 stdcall RtlUnicodeToMultiByteN() ntoskrnl.RtlUnicodeToMultiByteN +311 stdcall RtlUnicodeToMultiByteSize() ntoskrnl.RtlUnicodeToMultiByteSize +312 stdcall RtlUnwind() ntoskrnl.RtlUnwind +313 stdcall RtlUpcaseUnicodeChar() ntoskrnl.RtlUpcaseUnicodeChar +314 stdcall RtlUpcaseUnicodeString() ntoskrnl.RtlUpcaseUnicodeString +315 stdcall RtlUpcaseUnicodeToMultiByteN() ntoskrnl.RtlUpcaseUnicodeToMultiByteN +316 stdcall RtlUpperChar() ntoskrnl.RtlUpperChar +317 stdcall RtlUpperString() ntoskrnl.RtlUpperString +318 fastcall RtlUshortByteSwap() ntoskrnl.RtlUshortByteSwap +319 stdcall RtlWalkFrameChain() ntoskrnl.RtlWalkFrameChain +320 stdcall RtlZeroMemory() ntoskrnl.RtlZeroMemory +321 extern XboxEEPROMKey +322 extern XboxHardwareInfo +323 extern XboxHDKey +324 extern XboxKrnlVersion +325 extern XboxSignatureKey +326 extern XeImageFileName +327 stdcall XeLoadSection(ptr) +328 stdcall -stub XeUnloadSection(ptr) +329 stdcall READ_PORT_BUFFER_UCHAR() ntoskrnl.READ_PORT_BUFFER_UCHAR +330 stdcall READ_PORT_BUFFER_USHORT() ntoskrnl.READ_PORT_BUFFER_USHORT +331 stdcall READ_PORT_BUFFER_ULONG() ntoskrnl.READ_PORT_BUFFER_ULONG +332 stdcall WRITE_PORT_BUFFER_UCHAR() ntoskrnl.WRITE_PORT_BUFFER_UCHAR +333 stdcall WRITE_PORT_BUFFER_USHORT() ntoskrnl.WRITE_PORT_BUFFER_USHORT +334 stdcall WRITE_PORT_BUFFER_ULONG() ntoskrnl.WRITE_PORT_BUFFER_ULONG +335 stdcall -stub XcSHAInit(ptr) +336 stdcall -stub XcSHAUpdate(ptr ptr long) +337 stdcall -stub XcSHAFinal(ptr ptr) +338 stdcall -stub XcRC4Key(ptr long ptr) +339 stdcall -stub XcRC4Crypt(ptr long ptr) +340 stdcall -stub XcHMAC(ptr long ptr long ptr long ptr) +341 stdcall -stub XcPKEncPublic(ptr ptr ptr) +342 stdcall -stub XcPKDecPrivate(ptr ptr ptr) +343 stdcall -stub XcPKGetKeyLen(ptr) +344 stdcall -stub XcVerifyPKCS1Signature(ptr ptr ptr) +345 stdcall -stub XcModExp(ptr ptr ptr ptr long) +346 stdcall -stub XcDESKeyParity(ptr long) +347 stdcall -stub XcKeyTable(long ptr ptr) +348 stdcall -stub XcBlockCrypt(long ptr ptr ptr long) +349 stdcall -stub XcBlockCryptCBC(long long ptr ptr ptr long ptr) +350 stdcall -stub XcCryptService(long ptr) +351 stdcall -stub XcUpdateCrypto(ptr ptr) +352 stdcall -stub RtlRip(ptr ptr ptr) +353 extern XboxLANKey +354 extern XboxAlternateSignatureKeys +355 extern XePublicKeyData +356 extern HalBootSMCVideoMode +357 extern IdexChannelObject +358 stdcall -stub HalIsResetOrShutdownPending() +359 stdcall -stub IoMarkIrpMustComplete(ptr) +360 stdcall -stub HalInitiateShutdown() +361 stdcall RtlSnprintf() ntoskrnl._snprintf +362 stdcall RtlSprintf() ntoskrnl.sprintf +363 stdcall RtlVsnprintf() ntoskrnl._vsnprintf +364 stdcall RtlVsprintf() ntoskrnl.vsprintf +365 stdcall -stub HalEnableSecureTrayEject() +366 stdcall -stub HalWriteSMCScratchRegister(long) +;367 stub UnknownFunction_367 +;368 stub UnknownFunction_368 +;369 stub UnknownFunction_369 +;370 stub XProfpControl() +;371 stub XProfpGetData() +;372 stub IrtClientInitFast() +;373 stub IrtSweep() +;374 stdcall -stub MmDbgAllocateMemory(long long) +;375 stdcall -stub MmDbgFreeMemory(ptr long) +;376 stdcall -stub MmDbgQueryAvailablePages() +;377 stdcall -stub MmDbgReleaseAddress(ptr ptr) +;378 stdcall -stub MmDbgWriteCheck(ptr ptr)