diff options
| -rw-r--r-- | src/os/os_wine.c | 58 | ||||
| -rw-r--r-- | wow64/CMakeLists.txt | 29 | ||||
| -rw-r--r-- | wow64/include/wine/debug.h | 8 | ||||
| -rw-r--r-- | wow64/ntdll.def | 1378 | ||||
| -rw-r--r-- | wow64/toolchain_mingw.cmake | 4 | ||||
| -rw-r--r-- | wow64/wow64.def | 30 | ||||
| -rw-r--r-- | wow64/wowbox64.c | 10 | ||||
| -rw-r--r-- | wow64/wowbox64.def | 16 |
8 files changed, 1515 insertions, 18 deletions
diff --git a/src/os/os_wine.c b/src/os/os_wine.c index 06a8317b..e2cdba2e 100644 --- a/src/os/os_wine.c +++ b/src/os/os_wine.c @@ -1,10 +1,14 @@ #include <windows.h> +#include <ntstatus.h> +#include <winternl.h> #include "os.h" +#define HandleToULong(h) ((ULONG)(ULONG_PTR)(h)) + int GetTID(void) { - return GetCurrentThreadId(); + return HandleToULong(((HANDLE*)NtCurrentTeb())[9]); } int SchedYield(void) @@ -81,30 +85,57 @@ static uint32_t prot_unix_to_win32(uint32_t unx) return 0; } +#define NtCurrentProcess() ((HANDLE) ~(ULONG_PTR)0) + +NTSTATUS WINAPI NtProtectVirtualMemory(HANDLE, PVOID*, SIZE_T*, ULONG, ULONG*); +NTSTATUS WINAPI NtAllocateVirtualMemory(HANDLE, PVOID*, ULONG_PTR, SIZE_T*, ULONG, ULONG); +PVOID WINAPI RtlReAllocateHeap(HANDLE, ULONG, PVOID, SIZE_T); +NTSTATUS WINAPI NtFreeVirtualMemory(HANDLE, PVOID*, SIZE_T*, ULONG); + int mprotect(void* addr, size_t len, int prot) { + NTSTATUS ntstatus; ULONG old_prot; - if (VirtualProtect(&addr, len, prot_unix_to_win32(prot), &old_prot)) - return 0; - return -1; + SIZE_T allocsize = len; + ntstatus = NtProtectVirtualMemory(NtCurrentProcess(), &addr, &allocsize, prot_unix_to_win32(prot), &old_prot); + if (ntstatus != STATUS_SUCCESS) { + return -1; + } + return 0; } void* mmap(void* addr, size_t length, int prot, int flags, int fd, off_t offset) { + NTSTATUS ntstatus; + SIZE_T sz = length; + ULONG_PTR limit; + void* ret = NULL; + + if (addr != NULL) { + return MAP_FAILED; + } if (fd && fd != -1) { return MAP_FAILED; } if (offset) { return MAP_FAILED; } - return VirtualAlloc(addr, length, MEM_COMMIT | MEM_RESERVE, prot_unix_to_win32(prot)); + + if (flags & MAP_32BIT) + limit = default_zero_bits32; + else + limit = 0; + + ntstatus = NtAllocateVirtualMemory(NtCurrentProcess(), &ret, limit, &sz, MEM_COMMIT | MEM_RESERVE, prot_unix_to_win32(prot)); + return ret; } int munmap(void* addr, size_t length) { - if (VirtualFree(addr, length, MEM_RELEASE)) - return 0; - return -1; + int ret = 0; + if (NtFreeVirtualMemory(NtCurrentProcess(), &addr, &length, MEM_RELEASE)) + ret = -1; + return ret; } void* InternalMmap(void* addr, unsigned long length, int prot, int flags, int fd, ssize_t offset) @@ -120,26 +151,27 @@ int InternalMunmap(void* addr, unsigned long length) void* WinMalloc(size_t size) { void* ret; - ret = HeapAlloc(GetProcessHeap(), 0, size); + ret = RtlAllocateHeap(GetProcessHeap(), 0, size); return ret; } void* WinRealloc(void* ptr, size_t size) { void* ret; - if (!ptr) return WinMalloc(size); - ret = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, ptr, size); + if (!ptr) + return WinMalloc(size); + ret = RtlReAllocateHeap(GetProcessHeap(), HEAP_ZERO_MEMORY, ptr, size); return ret; } void* WinCalloc(size_t nmemb, size_t size) { void* ret; - ret = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, nmemb * size); + ret = RtlAllocateHeap(GetProcessHeap(), HEAP_ZERO_MEMORY, nmemb * size); return ret; } void WinFree(void* ptr) { - HeapFree(GetProcessHeap(), 0, ptr); + RtlFreeHeap(GetProcessHeap(), 0, ptr); } \ No newline at end of file diff --git a/wow64/CMakeLists.txt b/wow64/CMakeLists.txt index 5ca2f651..63e5ebbb 100644 --- a/wow64/CMakeLists.txt +++ b/wow64/CMakeLists.txt @@ -55,16 +55,41 @@ add_library(wowbox64 SHARED ${WOW64_MAIN_SRC} ${WOW64_BOX64CPU_SRC} ${INTERPRETE $<TARGET_OBJECTS:wow64_dynarec_pass1> $<TARGET_OBJECTS:wow64_dynarec_pass2> $<TARGET_OBJECTS:wow64_dynarec_pass3> - $<TARGET_OBJECTS:wow64_test_interpreter>) + $<TARGET_OBJECTS:wow64_test_interpreter> + "${BOX64_ROOT}/wow64/wowbox64.def") include_directories( "${BOX64_ROOT}/src/include" "${BOX64_ROOT}/src" + "${BOX64_ROOT}/wow64/include" ) +set(DLLTOOL aarch64-w64-mingw32-dlltool) + +function(import_dll name) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${name}.a + COMMAND ${DLLTOOL} + -D ${name}.dll + -d ${BOX64_ROOT}/wow64/${name}.def + -l ${CMAKE_CURRENT_BINARY_DIR}/${name}.a + -k + DEPENDS ${BOX64_ROOT}/wow64/${name}.def + COMMENT "Generating import library ${name}.a from ${name}.def" + ) + add_custom_target(generate_${name}_import_lib DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${name}.a) + add_dependencies(wowbox64 generate_${name}_import_lib) + target_link_libraries(wowbox64 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${name}.a) +endfunction() + + +import_dll(ntdll) +import_dll(wow64) + # always enable DynaRec, only supports ARM64 for now. add_compile_definitions(DYNAREC ARM64) -target_link_libraries(wowbox64 PRIVATE winpthread) +# FIXME: Cannot link with winpthread! +target_link_options(wowbox64 PRIVATE "-Wl,-Bstatic" "-lwinpthread" "-Wl,-Bdynamic") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) \ No newline at end of file diff --git a/wow64/include/wine/debug.h b/wow64/include/wine/debug.h new file mode 100644 index 00000000..e903d604 --- /dev/null +++ b/wow64/include/wine/debug.h @@ -0,0 +1,8 @@ +#ifndef __WINE_DEBUG_H__ +#define __WINE_DEBUG_H__ + +#include <windef.h> + +int __cdecl __wine_dbg_output( const char *str ); + +#endif // __WINE_DEBUG_H__ \ No newline at end of file diff --git a/wow64/ntdll.def b/wow64/ntdll.def new file mode 100644 index 00000000..ef76c99a --- /dev/null +++ b/wow64/ntdll.def @@ -0,0 +1,1378 @@ +; File generated automatically from wine/dlls/ntdll/ntdll.spec; do not edit! +; To generate: winebuild --def -E wine/dlls/ntdll/ntdll.spec > ntdll.def + +LIBRARY ntdll.dll + +EXPORTS + A_SHAFinal @1 + A_SHAInit @2 + A_SHAUpdate @3 + ApiSetQueryApiSetPresence @4 + ApiSetQueryApiSetPresenceEx @5 + CsrAllocateCaptureBuffer @6 PRIVATE + CsrAllocateCapturePointer @7 PRIVATE + CsrAllocateMessagePointer @8 PRIVATE + CsrCaptureMessageBuffer @9 PRIVATE + CsrCaptureMessageString @10 PRIVATE + CsrCaptureTimeout @11 PRIVATE + CsrClientCallServer @12 PRIVATE + CsrClientConnectToServer @13 PRIVATE + CsrClientMaxMessage @14 PRIVATE + CsrClientSendMessage @15 PRIVATE + CsrClientThreadConnect @16 PRIVATE + CsrFreeCaptureBuffer @17 PRIVATE + CsrIdentifyAlertableThread @18 PRIVATE + CsrNewThread @19 PRIVATE + CsrProbeForRead @20 PRIVATE + CsrProbeForWrite @21 PRIVATE + CsrSetPriorityClass @22 PRIVATE + CsrpProcessCallbackRequest @23 PRIVATE + DbgBreakPoint @24 + DbgPrint @25 + DbgPrintEx @26 + DbgPrompt @27 PRIVATE + DbgUiConnectToDbg @28 + DbgUiContinue @29 + DbgUiConvertStateChangeStructure @30 + DbgUiDebugActiveProcess @31 + DbgUiGetThreadDebugObject @32 + DbgUiIssueRemoteBreakin @33 + DbgUiRemoteBreakin @34 + DbgUiSetThreadDebugObject @35 + DbgUiStopDebugging @36 + DbgUiWaitStateChange @37 + DbgUserBreakPoint @38 + EtwEventActivityIdControl @39 + EtwEventEnabled @40 + EtwEventProviderEnabled @41 + EtwEventRegister @42 + EtwEventSetInformation @43 + EtwEventUnregister @44 + EtwEventWrite @45 + EtwEventWriteString @46 + EtwEventWriteTransfer @47 + EtwGetTraceEnableFlags @48 + EtwGetTraceEnableLevel @49 + EtwGetTraceLoggerHandle @50 + EtwLogTraceEvent @51 + EtwRegisterTraceGuidsA @52 + EtwRegisterTraceGuidsW @53 + EtwTraceMessage @54 + EtwTraceMessageVa @55 + EtwUnregisterTraceGuids @56 + KiRaiseUserExceptionDispatcher @57 + KiUserApcDispatcher @58 + KiUserCallbackDispatcher @59 + KiUserExceptionDispatcher @60 + LdrAccessResource @61 + LdrAddDllDirectory @62 + LdrAddRefDll @63 + LdrDisableThreadCalloutsForDll @64 + LdrEnumResources @65 PRIVATE + LdrEnumerateLoadedModules @66 + LdrFindEntryForAddress @67 + LdrFindResourceDirectory_U @68 + LdrFindResource_U @69 + LdrFlushAlternateResourceModules @70 PRIVATE + LdrGetDllDirectory @71 + LdrGetDllFullName @72 + LdrGetDllHandle @73 + LdrGetDllHandleEx @74 + LdrGetDllPath @75 + LdrGetProcedureAddress @76 + LdrInitShimEngineDynamic @77 PRIVATE + LdrInitializeThunk @78 + LdrLoadAlternateResourceModule @79 PRIVATE + LdrLoadDll @80 + LdrLockLoaderLock @81 + LdrProcessRelocationBlock @82 + LdrQueryImageFileExecutionOptions @83 + LdrQueryProcessModuleInformation @84 + LdrRegisterDllNotification @85 + LdrRemoveDllDirectory @86 + LdrResolveDelayLoadedAPI @87 + LdrSetAppCompatDllRedirectionCallback @88 PRIVATE + LdrSetDefaultDllDirectories @89 + LdrSetDllDirectory @90 + LdrSetDllManifestProber @91 PRIVATE + LdrShutdownProcess @92 + LdrShutdownThread @93 + LdrSystemDllInitBlock @94 DATA + LdrUnloadAlternateResourceModule @95 PRIVATE + LdrUnloadDll @96 + LdrUnlockLoaderLock @97 + LdrUnregisterDllNotification @98 + LdrVerifyImageMatchesChecksum @99 PRIVATE + MD4Final @100 + MD4Init @101 + MD4Update @102 + MD5Final @103 + MD5Init @104 + MD5Update @105 + NlsAnsiCodePage @106 DATA + NlsMbCodePageTag @107 DATA + NlsMbOemCodePageTag @108 DATA + NtAcceptConnectPort @109 + NtAccessCheck @110 + NtAccessCheckAndAuditAlarm @111 + NtAddAtom @112 + NtAdjustGroupsToken @113 + NtAdjustPrivilegesToken @114 + NtAlertResumeThread @115 + NtAlertThread @116 + NtAlertThreadByThreadId @117 + NtAllocateLocallyUniqueId @118 + NtAllocateUuids @119 + NtAllocateVirtualMemory @120 + NtAllocateVirtualMemoryEx @121 + NtAreMappedFilesTheSame @122 + NtAssignProcessToJobObject @123 + NtCallbackReturn @124 + NtCancelIoFile @125 + NtCancelIoFileEx @126 + NtCancelSynchronousIoFile @127 + NtCancelTimer @128 + NtClearEvent @129 + NtClose @130 + NtCommitTransaction @131 + NtCompareObjects @132 + NtCompleteConnectPort @133 + NtConnectPort @134 + NtContinue @135 + NtCreateDebugObject @136 + NtCreateDirectoryObject @137 + NtCreateEvent @138 + NtCreateFile @139 + NtCreateIoCompletion @140 + NtCreateJobObject @141 + NtCreateKey @142 + NtCreateKeyTransacted @143 + NtCreateKeyedEvent @144 + NtCreateLowBoxToken @145 + NtCreateMailslotFile @146 + NtCreateMutant @147 + NtCreateNamedPipeFile @148 + NtCreatePagingFile @149 + NtCreatePort @150 + NtCreateSection @151 + NtCreateSemaphore @152 + NtCreateSymbolicLinkObject @153 + NtCreateThread @154 + NtCreateThreadEx @155 + NtCreateTimer @156 + NtCreateTransaction @157 + NtCreateUserProcess @158 + NtDebugActiveProcess @159 + NtDebugContinue @160 + NtDelayExecution @161 + NtDeleteAtom @162 + NtDeleteFile @163 + NtDeleteKey @164 + NtDeleteValueKey @165 + NtDeviceIoControlFile @166 + NtDisplayString @167 + NtDuplicateObject @168 + NtDuplicateToken @169 + NtEnumerateKey @170 + NtEnumerateValueKey @171 + NtFilterToken @172 + NtFindAtom @173 + NtFlushBuffersFile @174 + NtFlushInstructionCache @175 + NtFlushKey @176 + NtFlushProcessWriteBuffers @177 + NtFlushVirtualMemory @178 + NtFreeVirtualMemory @179 + NtFsControlFile @180 + NtGetContextThread @181 + NtGetCurrentProcessorNumber @182 + NtGetNextThread @183 + NtGetNlsSectionPtr @184 + NtGetTickCount @185 + NtGetWriteWatch @186 + NtImpersonateAnonymousToken @187 + NtInitializeNlsFiles @188 + NtInitiatePowerAction @189 + NtIsProcessInJob @190 + NtListenPort @191 + NtLoadDriver @192 + NtLoadKey2 @193 + NtLoadKey @194 + NtLoadKeyEx @195 + NtLockFile @196 + NtLockVirtualMemory @197 + NtMakeTemporaryObject @198 + NtMapViewOfSection @199 + NtMapViewOfSectionEx @200 + NtNotifyChangeDirectoryFile @201 + NtNotifyChangeKey @202 + NtNotifyChangeMultipleKeys @203 + NtOpenDirectoryObject @204 + NtOpenEvent @205 + NtOpenFile @206 + NtOpenIoCompletion @207 + NtOpenJobObject @208 + NtOpenKey @209 + NtOpenKeyEx @210 + NtOpenKeyTransacted @211 + NtOpenKeyTransactedEx @212 + NtOpenKeyedEvent @213 + NtOpenMutant @214 + NtOpenProcess @215 + NtOpenProcessToken @216 + NtOpenProcessTokenEx @217 + NtOpenSection @218 + NtOpenSemaphore @219 + NtOpenSymbolicLinkObject @220 + NtOpenThread @221 + NtOpenThreadToken @222 + NtOpenThreadTokenEx @223 + NtOpenTimer @224 + NtPowerInformation @225 + NtPrivilegeCheck @226 + NtProtectVirtualMemory @227 + NtPulseEvent @228 + NtQueryAttributesFile @229 + NtQueryDefaultLocale @230 + NtQueryDefaultUILanguage @231 + NtQueryDirectoryFile @232 + NtQueryDirectoryObject @233 + NtQueryEaFile @234 + NtQueryEvent @235 + NtQueryFullAttributesFile @236 + NtQueryInformationAtom @237 + NtQueryInformationFile @238 + NtQueryInformationJobObject @239 + NtQueryInformationProcess @240 + NtQueryInformationThread @241 + NtQueryInformationToken @242 + NtQueryInstallUILanguage @243 + NtQueryIoCompletion @244 + NtQueryKey @245 + NtQueryLicenseValue @246 + NtQueryMultipleValueKey @247 + NtQueryMutant @248 + NtQueryObject @249 + NtQueryPerformanceCounter @250 + NtQuerySection @251 + NtQuerySecurityObject @252 + NtQuerySemaphore @253 + NtQuerySymbolicLinkObject @254 + NtQuerySystemEnvironmentValue @255 + NtQuerySystemEnvironmentValueEx @256 + NtQuerySystemInformation @257 + NtQuerySystemInformationEx @258 + NtQuerySystemTime @259 + NtQueryTimer @260 + NtQueryTimerResolution @261 + NtQueryValueKey @262 + NtQueryVirtualMemory @263 + NtQueryVolumeInformationFile @264 + NtQueueApcThread @265 + NtRaiseException @266 + NtRaiseHardError @267 + NtReadFile @268 + NtReadFileScatter @269 + NtReadVirtualMemory @270 + NtRegisterThreadTerminatePort @271 + NtReleaseKeyedEvent @272 + NtReleaseMutant @273 + NtReleaseSemaphore @274 + NtRemoveIoCompletion @275 + NtRemoveIoCompletionEx @276 + NtRemoveProcessDebug @277 + NtRenameKey @278 + NtReplaceKey @279 + NtReplyWaitReceivePort @280 + NtRequestWaitReplyPort @281 + NtResetEvent @282 + NtResetWriteWatch @283 + NtRestoreKey @284 + NtResumeProcess @285 + NtResumeThread @286 + NtRollbackTransaction @287 + NtSaveKey @288 + NtSecureConnectPort @289 + NtSetContextThread @290 + NtSetDebugFilterState @291 + NtSetDefaultLocale @292 + NtSetDefaultUILanguage @293 + NtSetEaFile @294 + NtSetEvent @295 + NtSetInformationDebugObject @296 + NtSetInformationFile @297 + NtSetInformationJobObject @298 + NtSetInformationKey @299 + NtSetInformationObject @300 + NtSetInformationProcess @301 + NtSetInformationThread @302 + NtSetInformationToken @303 + NtSetInformationVirtualMemory @304 + NtSetIntervalProfile @305 + NtSetIoCompletion @306 + NtSetLdtEntries @307 + NtSetSecurityObject @308 + NtSetSystemInformation @309 + NtSetSystemTime @310 + NtSetThreadExecutionState @311 + NtSetTimer @312 + NtSetTimerResolution @313 + NtSetValueKey @314 + NtSetVolumeInformationFile @315 + NtShutdownSystem @316 + NtSignalAndWaitForSingleObject @317 + NtSuspendProcess @318 + NtSuspendThread @319 + NtSystemDebugControl @320 + NtTerminateJobObject @321 + NtTerminateProcess @322 + NtTerminateThread @323 + NtTestAlert @324 + NtTraceControl @325 + NtUnloadDriver @326 + NtUnloadKey @327 + NtUnlockFile @328 + NtUnlockVirtualMemory @329 + NtUnmapViewOfSection @330 + NtUnmapViewOfSectionEx @331 + NtWaitForAlertByThreadId @332 + NtWaitForDebugEvent @333 + NtWaitForKeyedEvent @334 + NtWaitForMultipleObjects @335 + NtWaitForSingleObject @336 + NtWriteFile @337 + NtWriteFileGather @338 + NtWriteVirtualMemory @339 + NtYieldExecution @340 + PfxFindPrefix @341 PRIVATE + PfxInitialize @342 PRIVATE + PfxInsertPrefix @343 PRIVATE + PfxRemovePrefix @344 PRIVATE + RtlAbortRXact @345 PRIVATE + RtlAbsoluteToSelfRelativeSD @346 + RtlAcquirePebLock @347 + RtlAcquireResourceExclusive @348 + RtlAcquireResourceShared @349 + RtlAcquireSRWLockExclusive @350 + RtlAcquireSRWLockShared @351 + RtlActivateActivationContext @352 + RtlActivateActivationContextEx @353 + RtlActivateActivationContextUnsafeFast @354 PRIVATE + RtlAddAccessAllowedAce @355 + RtlAddAccessAllowedAceEx @356 + RtlAddAccessAllowedObjectAce @357 + RtlAddAccessDeniedAce @358 + RtlAddAccessDeniedAceEx @359 + RtlAddAccessDeniedObjectAce @360 + RtlAddAce @361 + RtlAddActionToRXact @362 PRIVATE + RtlAddAtomToAtomTable @363 + RtlAddAttributeActionToRXact @364 PRIVATE + RtlAddAuditAccessAce @365 + RtlAddAuditAccessAceEx @366 + RtlAddAuditAccessObjectAce @367 + RtlAddFunctionTable @368 + RtlAddGrowableFunctionTable @369 + RtlAddMandatoryAce @370 + RtlAddProcessTrustLabelAce @371 + RtlAddRefActivationContext @372 + RtlAddVectoredContinueHandler @373 + RtlAddVectoredExceptionHandler @374 + RtlAddressInSectionTable @375 + RtlAdjustPrivilege @376 + RtlAllocateAndInitializeSid @377 + RtlAllocateHandle @378 + RtlAllocateHeap @379 + RtlAnsiCharToUnicodeChar @380 + RtlAnsiStringToUnicodeSize @381 + RtlAnsiStringToUnicodeString @382 + RtlAppendAsciizToString @383 + RtlAppendStringToString @384 + RtlAppendUnicodeStringToString @385 + RtlAppendUnicodeToString @386 + RtlApplyRXact @387 PRIVATE + RtlApplyRXactNoFlush @388 PRIVATE + RtlAreAllAccessesGranted @389 + RtlAreAnyAccessesGranted @390 + RtlAreBitsClear @391 + RtlAreBitsSet @392 + RtlAssert @393 + RtlCaptureContext @394 + RtlCaptureStackBackTrace @395 + RtlCharToInteger @396 + RtlCheckRegistryKey @397 + RtlClearAllBits @398 + RtlClearBits @399 + RtlClosePropertySet @400 PRIVATE + RtlCompactHeap @401 + RtlCompareMemory @402 + RtlCompareMemoryUlong @403 + RtlCompareString @404 + RtlCompareUnicodeString @405 + RtlCompareUnicodeStrings @406 + RtlCompressBuffer @407 + RtlComputeCrc32 @408 + RtlConsoleMultiByteToUnicodeN @409 PRIVATE + RtlConvertExclusiveToShared @410 PRIVATE + RtlConvertSharedToExclusive @411 PRIVATE + RtlConvertSidToUnicodeString @412 + RtlConvertToAutoInheritSecurityObject @413 + RtlConvertUiListToApiList @414 PRIVATE + RtlCopyContext @415 + RtlCopyExtendedContext @416 + RtlCopyLuid @417 + RtlCopyLuidAndAttributesArray @418 + RtlCopyMemory @419 + RtlCopyMemoryNonTemporal=RtlCopyMemory @420 + RtlCopySecurityDescriptor @421 + RtlCopySid @422 + RtlCopySidAndAttributesArray @423 PRIVATE + RtlCopyString @424 + RtlCopyUnicodeString @425 + RtlCreateAcl @426 + RtlCreateActivationContext @427 + RtlCreateAndSetSD @428 PRIVATE + RtlCreateAtomTable @429 + RtlCreateEnvironment @430 + RtlCreateHeap @431 + RtlCreateProcessParameters @432 + RtlCreateProcessParametersEx @433 + RtlCreatePropertySet @434 PRIVATE + RtlCreateQueryDebugBuffer @435 + RtlCreateRegistryKey @436 + RtlCreateSecurityDescriptor @437 + RtlCreateTagHeap @438 PRIVATE + RtlCreateTimer @439 + RtlCreateTimerQueue @440 + RtlCreateUnicodeString @441 + RtlCreateUnicodeStringFromAsciiz @442 + RtlCreateUserProcess @443 + RtlCreateUserSecurityObject @444 PRIVATE + RtlCreateUserStack @445 + RtlCreateUserThread @446 + RtlCustomCPToUnicodeN @447 + RtlCutoverTimeToSystemTime @448 PRIVATE + RtlDeNormalizeProcessParams @449 + RtlDeactivateActivationContext @450 + RtlDeactivateActivationContextUnsafeFast @451 PRIVATE + RtlDebugPrintTimes @452 PRIVATE + RtlDecodePointer @453 + RtlDecodeSystemPointer=RtlDecodePointer @454 + RtlDecompressBuffer @455 + RtlDecompressFragment @456 + RtlDefaultNpAcl @457 + RtlDelete @458 PRIVATE + RtlDeleteAce @459 + RtlDeleteAtomFromAtomTable @460 + RtlDeleteCriticalSection @461 + RtlDeleteGrowableFunctionTable @462 + RtlDeleteElementGenericTable @463 PRIVATE + RtlDeleteElementGenericTableAvl @464 PRIVATE + RtlDeleteFunctionTable @465 + RtlDeleteNoSplay @466 PRIVATE + RtlDeleteOwnersRanges @467 PRIVATE + RtlDeleteRange @468 PRIVATE + RtlDeleteRegistryValue @469 + RtlDeleteResource @470 + RtlDeleteSecurityObject @471 + RtlDeleteTimer @472 + RtlDeleteTimerQueueEx @473 + RtlDeregisterWait @474 + RtlDeregisterWaitEx @475 + RtlDestroyAtomTable @476 + RtlDestroyEnvironment @477 + RtlDestroyHandleTable @478 + RtlDestroyHeap @479 + RtlDestroyProcessParameters @480 + RtlDestroyQueryDebugBuffer @481 + RtlDetermineDosPathNameType_U @482 + RtlDllShutdownInProgress @483 + RtlDoesFileExists_U @484 + RtlDosPathNameToNtPathName_U @485 + RtlDosPathNameToNtPathName_U_WithStatus @486 + RtlDosPathNameToRelativeNtPathName_U @487 + RtlDosPathNameToRelativeNtPathName_U_WithStatus @488 + RtlDosSearchPath_U @489 + RtlDowncaseUnicodeChar @490 + RtlDowncaseUnicodeString @491 + RtlDumpResource @492 + RtlDuplicateUnicodeString @493 + RtlEmptyAtomTable @494 + RtlEncodePointer @495 + RtlEncodeSystemPointer=RtlEncodePointer @496 + RtlEnterCriticalSection @497 + RtlEnumProcessHeaps @498 PRIVATE + RtlEnumerateGenericTable @499 PRIVATE + RtlEnumerateGenericTableWithoutSplaying @500 + RtlEnumerateProperties @501 PRIVATE + RtlEqualComputerName @502 + RtlEqualDomainName @503 + RtlEqualLuid @504 + RtlEqualPrefixSid @505 + RtlEqualSid @506 + RtlEqualString @507 + RtlEqualUnicodeString @508 + RtlEraseUnicodeString @509 + RtlExitUserProcess @510 + RtlExitUserThread @511 + RtlExpandEnvironmentStrings @512 + RtlExpandEnvironmentStrings_U @513 + RtlExtendHeap @514 PRIVATE + RtlFillMemory @515 + RtlFillMemoryUlong @516 + RtlFinalReleaseOutOfProcessMemoryStream @517 PRIVATE + RtlFindActivationContextSectionGuid @518 + RtlFindActivationContextSectionString @519 + RtlFindCharInUnicodeString @520 + RtlFindClearBits @521 + RtlFindClearBitsAndSet @522 + RtlFindClearRuns @523 + RtlFindExportedRoutineByName @524 + RtlFindLastBackwardRunClear @525 + RtlFindLastBackwardRunSet @526 + RtlFindLeastSignificantBit @527 + RtlFindLongestRunClear @528 + RtlFindLongestRunSet @529 + RtlFindMessage @530 + RtlFindMostSignificantBit @531 + RtlFindNextForwardRunClear @532 + RtlFindNextForwardRunSet @533 + RtlFindRange @534 PRIVATE + RtlFindSetBits @535 + RtlFindSetBitsAndClear @536 + RtlFindSetRuns @537 + RtlFirstEntrySList @538 + RtlFirstFreeAce @539 + RtlFlsAlloc @540 + RtlFlsFree @541 + RtlFlsGetValue @542 + RtlFlsSetValue @543 + RtlFlushPropertySet @544 PRIVATE + RtlFormatCurrentUserKeyPath @545 + RtlFormatMessage @546 + RtlFormatMessageEx @547 + RtlFreeActivationContextStack @548 + RtlFreeAnsiString @549 + RtlFreeHandle @550 + RtlFreeHeap @551 + RtlFreeOemString @552 + RtlFreeSid @553 + RtlFreeThreadActivationContextStack @554 + RtlFreeUnicodeString @555 + RtlFreeUserStack @556 + RtlGUIDFromString @557 + RtlGenerate8dot3Name @558 PRIVATE + RtlGetAce @559 + RtlGetActiveActivationContext @560 + RtlGetCallersAddress @561 PRIVATE + RtlGetCompressionWorkSpaceSize @562 + RtlGetControlSecurityDescriptor @563 + RtlGetCurrentDirectory_U @564 + RtlGetCurrentPeb @565 + RtlGetCurrentProcessorNumberEx @566 + RtlGetCurrentTransaction @567 + RtlGetDaclSecurityDescriptor @568 + RtlGetElementGenericTable @569 + RtlGetEnabledExtendedFeatures @570 + RtlGetExePath @571 + RtlGetExtendedContextLength @572 + RtlGetExtendedContextLength2 @573 + RtlGetExtendedFeaturesMask @574 + RtlGetFrame @575 + RtlGetFullPathName_U @576 + RtlGetGroupSecurityDescriptor @577 + RtlGetLastNtStatus @578 + RtlGetLastWin32Error @579 + RtlGetLocaleFileMappingAddress @580 + RtlGetLongestNtPathLength @581 + RtlGetNativeSystemInformation=NtQuerySystemInformation @582 + RtlGetNtGlobalFlags @583 + RtlGetNtProductType @584 + RtlGetNtVersionNumbers @585 + RtlGetOwnerSecurityDescriptor @586 + RtlGetProductInfo @587 + RtlGetProcessHeaps @588 + RtlGetProcessPreferredUILanguages @589 + RtlGetSaclSecurityDescriptor @590 + RtlGetSearchPath @591 + RtlGetSystemPreferredUILanguages @592 + RtlGetSystemTimePrecise @593 + RtlGetThreadErrorMode @594 + RtlGetThreadPreferredUILanguages @595 + RtlGetUnloadEventTrace @596 + RtlGetUnloadEventTraceEx @597 + RtlGetUserInfoHeap @598 + RtlGetUserPreferredUILanguages @599 + RtlGetVersion @600 + RtlGrowFunctionTable @601 + RtlGuidToPropertySetName @602 PRIVATE + RtlHashUnicodeString @603 + RtlIdentifierAuthoritySid @604 + RtlIdnToAscii @605 + RtlIdnToNameprepUnicode @606 + RtlIdnToUnicode @607 + RtlImageDirectoryEntryToData @608 + RtlImageNtHeader @609 + RtlImageRvaToSection @610 + RtlImageRvaToVa @611 + RtlImpersonateSelf @612 + RtlInitAnsiString @613 + RtlInitAnsiStringEx @614 + RtlInitCodePageTable @615 + RtlInitNlsTables @616 + RtlInitString @617 + RtlInitUnicodeString @618 + RtlInitUnicodeStringEx @619 + RtlInitializeBitMap @620 + RtlInitializeConditionVariable @621 + RtlInitializeContext @622 PRIVATE + RtlInitializeCriticalSection @623 + RtlInitializeCriticalSectionAndSpinCount @624 + RtlInitializeCriticalSectionEx @625 + RtlInitializeExtendedContext @626 + RtlInitializeExtendedContext2 @627 + RtlInitializeGenericTable @628 + RtlInitializeGenericTableAvl @629 + RtlInitializeHandleTable @630 + RtlInitializeRXact @631 PRIVATE + RtlInitializeResource @632 + RtlInitializeSListHead @633 + RtlInitializeSRWLock @634 + RtlInitializeSid @635 + RtlInsertElementGenericTable @636 PRIVATE + RtlInsertElementGenericTableAvl @637 + RtlInstallFunctionTableCallback @638 + RtlInt64ToUnicodeString @639 + RtlIntegerToChar @640 + RtlIntegerToUnicodeString @641 + RtlInterlockedFlushSList @642 + RtlInterlockedPopEntrySList @643 + RtlInterlockedPushEntrySList @644 + RtlInterlockedPushListSList @645 + RtlInterlockedPushListSListEx @646 + RtlIpv4AddressToStringA @647 + RtlIpv4AddressToStringExA @648 + RtlIpv4AddressToStringExW @649 + RtlIpv4AddressToStringW @650 + RtlIpv4StringToAddressA @651 + RtlIpv4StringToAddressExA @652 + RtlIpv4StringToAddressExW @653 + RtlIpv4StringToAddressW @654 + RtlIpv6AddressToStringA @655 + RtlIpv6AddressToStringExA @656 + RtlIpv6AddressToStringExW @657 + RtlIpv6AddressToStringW @658 + RtlIpv6StringToAddressA @659 + RtlIpv6StringToAddressExA @660 + RtlIpv6StringToAddressExW @661 + RtlIpv6StringToAddressW @662 + RtlIsActivationContextActive @663 + RtlIsCriticalSectionLocked @664 + RtlIsCriticalSectionLockedByThread @665 + RtlIsCurrentProcess @666 + RtlIsCurrentThread @667 + RtlIsDosDeviceName_U @668 + RtlIsEcCode @669 + RtlIsGenericTableEmpty @670 PRIVATE + RtlIsNameLegalDOS8Dot3 @671 + RtlIsNormalizedString @672 + RtlIsProcessorFeaturePresent @673 + RtlIsTextUnicode @674 + RtlIsValidHandle @675 + RtlIsValidIndexHandle @676 + RtlIsValidLocaleName @677 + RtlLargeIntegerToChar @678 + RtlLcidToLocaleName @679 + RtlLeaveCriticalSection @680 + RtlLengthRequiredSid @681 + RtlLengthSecurityDescriptor @682 + RtlLengthSid @683 + RtlLocalTimeToSystemTime @684 + RtlLocaleNameToLcid @685 + RtlLocateExtendedFeature @686 + RtlLocateExtendedFeature2 @687 + RtlLocateLegacyContext @688 + RtlLockHeap @689 + RtlLookupAtomInAtomTable @690 + RtlLookupElementGenericTable @691 + RtlLookupFunctionEntry @692 + RtlMakeSelfRelativeSD @693 + RtlMapGenericMask @694 + RtlMoveMemory @695 + RtlMultiByteToUnicodeN @696 + RtlMultiByteToUnicodeSize @697 + RtlNewInstanceSecurityObject @698 PRIVATE + RtlNewSecurityGrantedAccess @699 PRIVATE + RtlNewSecurityObject @700 + RtlNewSecurityObjectEx @701 + RtlNewSecurityObjectWithMultipleInheritance @702 + RtlNormalizeProcessParams @703 + RtlNormalizeString @704 + RtlNtStatusToDosError @705 + RtlNtStatusToDosErrorNoTeb @706 + RtlNumberGenericTableElements @707 + RtlNumberOfClearBits @708 + RtlNumberOfSetBits @709 + RtlOemStringToUnicodeSize @710 + RtlOemStringToUnicodeString @711 + RtlOemToUnicodeN @712 + RtlOpenCurrentUser @713 + RtlPcToFileHeader @714 + RtlPinAtomInAtomTable @715 + RtlPopFrame @716 + RtlPrefixString @717 + RtlPrefixUnicodeString @718 + RtlProcessFlsData @719 + RtlPropertySetNameToGuid @720 PRIVATE + RtlProtectHeap @721 PRIVATE + RtlPushFrame @722 + RtlQueryActivationContextApplicationSettings @723 + RtlQueryAtomInAtomTable @724 + RtlQueryDepthSList @725 + RtlQueryDynamicTimeZoneInformation @726 + RtlQueryEnvironmentVariable_U @727 + RtlQueryEnvironmentVariable @728 + RtlQueryHeapInformation @729 + RtlQueryInformationAcl @730 + RtlQueryInformationActivationContext @731 + RtlQueryInformationActiveActivationContext @732 PRIVATE + RtlQueryInterfaceMemoryStream @733 PRIVATE + RtlQueryPackageIdentity @734 + RtlQueryPerformanceCounter @735 + RtlQueryPerformanceFrequency @736 + RtlQueryProcessBackTraceInformation @737 PRIVATE + RtlQueryProcessDebugInformation @738 + RtlQueryProcessHeapInformation @739 PRIVATE + RtlQueryProcessLockInformation @740 PRIVATE + RtlQueryProcessPlaceholderCompatibilityMode @741 + RtlQueryProperties @742 PRIVATE + RtlQueryPropertyNames @743 PRIVATE + RtlQueryPropertySet @744 PRIVATE + RtlQueryRegistryValues @745 + RtlQueryRegistryValuesEx=RtlQueryRegistryValues @746 + RtlQuerySecurityObject @747 PRIVATE + RtlQueryTagHeap @748 PRIVATE + RtlQueryTimeZoneInformation @749 + RtlQueryUnbiasedInterruptTime @750 + RtlQueueApcWow64Thread @751 PRIVATE + RtlQueueWorkItem @752 + RtlRaiseException @753 + RtlRaiseStatus @754 + RtlRandom @755 + RtlRandomEx @756 + RtlReAllocateHeap @757 + RtlReadMemoryStream @758 PRIVATE + RtlReadOutOfProcessMemoryStream @759 PRIVATE + RtlRealPredecessor @760 PRIVATE + RtlRealSuccessor @761 PRIVATE + RtlRegisterSecureMemoryCacheCallback @762 PRIVATE + RtlRegisterWait @763 + RtlReleaseActivationContext @764 + RtlReleaseMemoryStream @765 PRIVATE + RtlReleasePath @766 + RtlReleasePebLock @767 + RtlReleaseRelativeName @768 + RtlReleaseResource @769 + RtlReleaseSRWLockExclusive @770 + RtlReleaseSRWLockShared @771 + RtlRemoteCall @772 PRIVATE + RtlRemoveVectoredContinueHandler @773 + RtlRemoveVectoredExceptionHandler @774 + RtlResetRtlTranslations @775 + RtlRestoreContext @776 + RtlRestoreLastWin32Error=RtlSetLastWin32Error @777 + RtlRevertMemoryStream @778 PRIVATE + RtlRunDecodeUnicodeString @779 PRIVATE + RtlRunEncodeUnicodeString @780 PRIVATE + RtlRunOnceBeginInitialize @781 + RtlRunOnceComplete @782 + RtlRunOnceExecuteOnce @783 + RtlRunOnceInitialize @784 + RtlSecondsSince1970ToTime @785 + RtlSecondsSince1980ToTime @786 + RtlSelfRelativeToAbsoluteSD @787 + RtlSetAllBits @788 + RtlSetBits @789 + RtlSetControlSecurityDescriptor @790 + RtlSetCriticalSectionSpinCount @791 + RtlSetCurrentDirectory_U @792 + RtlSetCurrentEnvironment @793 + RtlSetCurrentTransaction @794 + RtlSetDaclSecurityDescriptor @795 + RtlSetEnvironmentVariable @796 + RtlSetExtendedFeaturesMask @797 + RtlSetGroupSecurityDescriptor @798 + RtlSetHeapInformation @799 + RtlSetInformationAcl @800 PRIVATE + RtlSetIoCompletionCallback @801 + RtlSetLastWin32Error @802 + RtlSetLastWin32ErrorAndNtStatusFromNtStatus @803 + RtlSetOwnerSecurityDescriptor @804 + RtlSetProcessPreferredUILanguages @805 + RtlSetProperties @806 PRIVATE + RtlSetPropertyClassId @807 PRIVATE + RtlSetPropertyNames @808 PRIVATE + RtlSetPropertySetClassId @809 PRIVATE + RtlSetSaclSecurityDescriptor @810 + RtlSetSearchPathMode @811 + RtlSetSecurityObject @812 PRIVATE + RtlSetThreadErrorMode @813 + RtlSetThreadPreferredUILanguages @814 + RtlSetTimeZoneInformation @815 + RtlSetUnhandledExceptionFilter @816 + RtlSetUnicodeCallouts @817 PRIVATE + RtlSetUserFlagsHeap @818 + RtlSetUserValueHeap @819 + RtlSizeHeap @820 + RtlSleepConditionVariableCS @821 + RtlSleepConditionVariableSRW @822 + RtlSplay @823 PRIVATE + RtlStartRXact @824 PRIVATE + RtlStringFromGUID @825 + RtlSubAuthorityCountSid @826 + RtlSubAuthoritySid @827 + RtlSubtreePredecessor @828 PRIVATE + RtlSubtreeSuccessor @829 PRIVATE + RtlSystemTimeToLocalTime @830 + RtlTimeFieldsToTime @831 + RtlTimeToElapsedTimeFields @832 + RtlTimeToSecondsSince1970 @833 + RtlTimeToSecondsSince1980 @834 + RtlTimeToTimeFields @835 + RtlTryAcquireSRWLockExclusive @836 + RtlTryAcquireSRWLockShared @837 + RtlTryEnterCriticalSection @838 + RtlUTF8ToUnicodeN @839 + RtlUnicodeStringToAnsiSize @840 + RtlUnicodeStringToAnsiString @841 + RtlUnicodeStringToCountedOemString @842 PRIVATE + RtlUnicodeStringToInteger @843 + RtlUnicodeStringToOemSize @844 + RtlUnicodeStringToOemString @845 + RtlUnicodeToCustomCPN @846 + RtlUnicodeToMultiByteN @847 + RtlUnicodeToMultiByteSize @848 + RtlUnicodeToOemN @849 + RtlUnicodeToUTF8N @850 + RtlUniform @851 + RtlUnlockHeap @852 + RtlUnwind @853 + RtlUnwindEx @854 + RtlUpcaseUnicodeChar @855 + RtlUpcaseUnicodeString @856 + RtlUpcaseUnicodeStringToAnsiString @857 + RtlUpcaseUnicodeStringToCountedOemString @858 + RtlUpcaseUnicodeStringToOemString @859 + RtlUpcaseUnicodeToCustomCPN @860 + RtlUpcaseUnicodeToMultiByteN @861 + RtlUpcaseUnicodeToOemN @862 + RtlUpdateTimer @863 + RtlUpperChar @864 + RtlUpperString @865 + RtlUsageHeap @866 PRIVATE + RtlUserThreadStart @867 + RtlValidAcl @868 + RtlValidRelativeSecurityDescriptor @869 + RtlValidSecurityDescriptor @870 + RtlValidSid @871 + RtlValidateHeap @872 + RtlValidateProcessHeaps @873 PRIVATE + RtlVerifyVersionInfo @874 + RtlVirtualUnwind @875 + RtlWaitOnAddress @876 + RtlWakeAddressAll @877 + RtlWakeAddressSingle @878 + RtlWakeAllConditionVariable @879 + RtlWakeConditionVariable @880 + RtlWalkFrameChain @881 PRIVATE + RtlWalkHeap @882 + RtlWow64EnableFsRedirection @883 + RtlWow64EnableFsRedirectionEx @884 + RtlWow64GetCpuAreaInfo @885 + RtlWow64GetCurrentCpuArea @886 + RtlWow64GetCurrentMachine @887 + RtlWow64GetProcessMachines @888 + RtlWow64GetSharedInfoProcess @889 + RtlWow64GetThreadContext @890 + RtlWow64GetThreadSelectorEntry @891 + RtlWow64IsWowGuestMachineSupported @892 + RtlWow64SetThreadContext @893 + RtlWow64SuspendThread @894 + RtlWriteMemoryStream @895 PRIVATE + RtlWriteRegistryValue @896 + RtlZeroHeap @897 PRIVATE + RtlZeroMemory @898 + RtlZombifyActivationContext @899 + RtlpNtCreateKey @900 + RtlpNtEnumerateSubKey @901 + RtlpNtMakeTemporaryKey @902 + RtlpNtOpenKey @903 + RtlpNtQueryValueKey @904 + RtlpNtSetValueKey @905 + RtlpUnWaitCriticalSection @906 + RtlpWaitForCriticalSection @907 + RtlxAnsiStringToUnicodeSize=RtlAnsiStringToUnicodeSize @908 + RtlxOemStringToUnicodeSize=RtlOemStringToUnicodeSize @909 + RtlxUnicodeStringToAnsiSize=RtlUnicodeStringToAnsiSize @910 + RtlxUnicodeStringToOemSize=RtlUnicodeStringToOemSize @911 + TpAllocCleanupGroup @912 + TpAllocIoCompletion @913 + TpAllocPool @914 + TpAllocTimer @915 + TpAllocWait @916 + TpAllocWork @917 + TpCallbackLeaveCriticalSectionOnCompletion @918 + TpCallbackMayRunLong @919 + TpCallbackReleaseMutexOnCompletion @920 + TpCallbackReleaseSemaphoreOnCompletion @921 + TpCallbackSetEventOnCompletion @922 + TpCallbackUnloadDllOnCompletion @923 + TpCancelAsyncIoOperation @924 + TpDisassociateCallback @925 + TpIsTimerSet @926 + TpPostWork @927 + TpQueryPoolStackInformation @928 + TpReleaseCleanupGroup @929 + TpReleaseCleanupGroupMembers @930 + TpReleaseIoCompletion @931 + TpReleasePool @932 + TpReleaseTimer @933 + TpReleaseWait @934 + TpReleaseWork @935 + TpSetPoolMaxThreads @936 + TpSetPoolMinThreads @937 + TpSetPoolStackInformation @938 + TpSetTimer @939 + TpSetWait @940 + TpSimpleTryPost @941 + TpStartAsyncIoOperation @942 + TpWaitForIoCompletion @943 + TpWaitForTimer @944 + TpWaitForWait @945 + TpWaitForWork @946 + VerSetConditionMask @947 + WinSqmEndSession @948 + WinSqmIncrementDWORD @949 + WinSqmIsOptedIn @950 + WinSqmSetDWORD @951 + WinSqmStartSession @952 + ZwAcceptConnectPort=NtAcceptConnectPort @953 PRIVATE + ZwAccessCheck=NtAccessCheck @954 PRIVATE + ZwAccessCheckAndAuditAlarm=NtAccessCheckAndAuditAlarm @955 PRIVATE + ZwAddAtom=NtAddAtom @956 PRIVATE + ZwAdjustGroupsToken=NtAdjustGroupsToken @957 PRIVATE + ZwAdjustPrivilegesToken=NtAdjustPrivilegesToken @958 PRIVATE + ZwAlertResumeThread=NtAlertResumeThread @959 PRIVATE + ZwAlertThread=NtAlertThread @960 PRIVATE + ZwAlertThreadByThreadId=NtAlertThreadByThreadId @961 PRIVATE + ZwAllocateLocallyUniqueId=NtAllocateLocallyUniqueId @962 PRIVATE + ZwAllocateUuids=NtAllocateUuids @963 PRIVATE + ZwAllocateVirtualMemory=NtAllocateVirtualMemory @964 PRIVATE + ZwAllocateVirtualMemoryEx=NtAllocateVirtualMemoryEx @965 PRIVATE + ZwAreMappedFilesTheSame=NtAreMappedFilesTheSame @966 PRIVATE + ZwAssignProcessToJobObject=NtAssignProcessToJobObject @967 PRIVATE + ZwCancelIoFile=NtCancelIoFile @968 PRIVATE + ZwCancelIoFileEx=NtCancelIoFileEx @969 PRIVATE + ZwCancelSynchronousIoFile=NtCancelSynchronousIoFile @970 PRIVATE + ZwCancelTimer=NtCancelTimer @971 PRIVATE + ZwClearEvent=NtClearEvent @972 PRIVATE + ZwClose=NtClose @973 PRIVATE + ZwCompareObjects=NtCompareObjects @974 PRIVATE + ZwCompleteConnectPort=NtCompleteConnectPort @975 PRIVATE + ZwConnectPort=NtConnectPort @976 PRIVATE + ZwContinue=NtContinue @977 PRIVATE + ZwCreateDirectoryObject=NtCreateDirectoryObject @978 PRIVATE + ZwCreateEvent=NtCreateEvent @979 PRIVATE + ZwCreateFile=NtCreateFile @980 PRIVATE + ZwCreateIoCompletion=NtCreateIoCompletion @981 PRIVATE + ZwCreateJobObject=NtCreateJobObject @982 PRIVATE + ZwCreateKey=NtCreateKey @983 PRIVATE + ZwCreateKeyTransacted=NtCreateKeyTransacted @984 PRIVATE + ZwCreateKeyedEvent=NtCreateKeyedEvent @985 PRIVATE + ZwCreateLowBoxToken=NtCreateLowBoxToken @986 PRIVATE + ZwCreateMailslotFile=NtCreateMailslotFile @987 PRIVATE + ZwCreateMutant=NtCreateMutant @988 PRIVATE + ZwCreateNamedPipeFile=NtCreateNamedPipeFile @989 PRIVATE + ZwCreatePagingFile=NtCreatePagingFile @990 PRIVATE + ZwCreatePort=NtCreatePort @991 PRIVATE + ZwCreateSection=NtCreateSection @992 PRIVATE + ZwCreateSemaphore=NtCreateSemaphore @993 PRIVATE + ZwCreateSymbolicLinkObject=NtCreateSymbolicLinkObject @994 PRIVATE + ZwCreateThread=NtCreateThread @995 PRIVATE + ZwCreateThreadEx=NtCreateThreadEx @996 PRIVATE + ZwCreateTimer=NtCreateTimer @997 PRIVATE + ZwCreateUserProcess=NtCreateUserProcess @998 PRIVATE + ZwDebugActiveProcess=NtDebugActiveProcess @999 PRIVATE + ZwDebugContinue=NtDebugContinue @1000 PRIVATE + ZwDelayExecution=NtDelayExecution @1001 PRIVATE + ZwDeleteAtom=NtDeleteAtom @1002 PRIVATE + ZwDeleteFile=NtDeleteFile @1003 PRIVATE + ZwDeleteKey=NtDeleteKey @1004 PRIVATE + ZwDeleteValueKey=NtDeleteValueKey @1005 PRIVATE + ZwDeviceIoControlFile=NtDeviceIoControlFile @1006 PRIVATE + ZwDisplayString=NtDisplayString @1007 PRIVATE + ZwDuplicateObject=NtDuplicateObject @1008 PRIVATE + ZwDuplicateToken=NtDuplicateToken @1009 PRIVATE + ZwEnumerateKey=NtEnumerateKey @1010 PRIVATE + ZwEnumerateValueKey=NtEnumerateValueKey @1011 PRIVATE + ZwFilterToken=NtFilterToken @1012 PRIVATE + ZwFindAtom=NtFindAtom @1013 PRIVATE + ZwFlushBuffersFile=NtFlushBuffersFile @1014 PRIVATE + ZwFlushInstructionCache=NtFlushInstructionCache @1015 PRIVATE + ZwFlushKey=NtFlushKey @1016 PRIVATE + ZwFlushProcessWriteBuffers=NtFlushProcessWriteBuffers @1017 PRIVATE + ZwFlushVirtualMemory=NtFlushVirtualMemory @1018 PRIVATE + ZwFreeVirtualMemory=NtFreeVirtualMemory @1019 PRIVATE + ZwFsControlFile=NtFsControlFile @1020 PRIVATE + ZwGetContextThread=NtGetContextThread @1021 PRIVATE + ZwGetCurrentProcessorNumber=NtGetCurrentProcessorNumber @1022 PRIVATE + ZwGetNlsSectionPtr=NtGetNlsSectionPtr @1023 PRIVATE + ZwGetTickCount=NtGetTickCount @1024 PRIVATE + ZwGetWriteWatch=NtGetWriteWatch @1025 PRIVATE + ZwImpersonateAnonymousToken=NtImpersonateAnonymousToken @1026 PRIVATE + ZwInitializeNlsFiles=NtInitializeNlsFiles @1027 PRIVATE + ZwInitiatePowerAction=NtInitiatePowerAction @1028 PRIVATE + ZwIsProcessInJob=NtIsProcessInJob @1029 PRIVATE + ZwListenPort=NtListenPort @1030 PRIVATE + ZwLoadDriver=NtLoadDriver @1031 PRIVATE + ZwLoadKey2=NtLoadKey2 @1032 PRIVATE + ZwLoadKey=NtLoadKey @1033 PRIVATE + ZwLockFile=NtLockFile @1034 PRIVATE + ZwLockVirtualMemory=NtLockVirtualMemory @1035 PRIVATE + ZwMakeTemporaryObject=NtMakeTemporaryObject @1036 PRIVATE + ZwMapViewOfSection=NtMapViewOfSection @1037 PRIVATE + ZwMapViewOfSectionEx=NtMapViewOfSectionEx @1038 PRIVATE + ZwNotifyChangeDirectoryFile=NtNotifyChangeDirectoryFile @1039 PRIVATE + ZwNotifyChangeKey=NtNotifyChangeKey @1040 PRIVATE + ZwNotifyChangeMultipleKeys=NtNotifyChangeMultipleKeys @1041 PRIVATE + ZwOpenDirectoryObject=NtOpenDirectoryObject @1042 PRIVATE + ZwOpenEvent=NtOpenEvent @1043 PRIVATE + ZwOpenFile=NtOpenFile @1044 PRIVATE + ZwOpenIoCompletion=NtOpenIoCompletion @1045 PRIVATE + ZwOpenJobObject=NtOpenJobObject @1046 PRIVATE + ZwOpenKey=NtOpenKey @1047 PRIVATE + ZwOpenKeyEx=NtOpenKeyEx @1048 PRIVATE + ZwOpenKeyTransacted=NtOpenKeyTransacted @1049 PRIVATE + ZwOpenKeyTransactedEx=NtOpenKeyTransactedEx @1050 PRIVATE + ZwOpenKeyedEvent=NtOpenKeyedEvent @1051 PRIVATE + ZwOpenMutant=NtOpenMutant @1052 PRIVATE + ZwOpenProcess=NtOpenProcess @1053 PRIVATE + ZwOpenProcessToken=NtOpenProcessToken @1054 PRIVATE + ZwOpenProcessTokenEx=NtOpenProcessTokenEx @1055 PRIVATE + ZwOpenSection=NtOpenSection @1056 PRIVATE + ZwOpenSemaphore=NtOpenSemaphore @1057 PRIVATE + ZwOpenSymbolicLinkObject=NtOpenSymbolicLinkObject @1058 PRIVATE + ZwOpenThread=NtOpenThread @1059 PRIVATE + ZwOpenThreadToken=NtOpenThreadToken @1060 PRIVATE + ZwOpenThreadTokenEx=NtOpenThreadTokenEx @1061 PRIVATE + ZwOpenTimer=NtOpenTimer @1062 PRIVATE + ZwPowerInformation=NtPowerInformation @1063 PRIVATE + ZwPrivilegeCheck=NtPrivilegeCheck @1064 PRIVATE + ZwProtectVirtualMemory=NtProtectVirtualMemory @1065 PRIVATE + ZwPulseEvent=NtPulseEvent @1066 PRIVATE + ZwQueryAttributesFile=NtQueryAttributesFile @1067 PRIVATE + ZwQueryDefaultLocale=NtQueryDefaultLocale @1068 PRIVATE + ZwQueryDefaultUILanguage=NtQueryDefaultUILanguage @1069 PRIVATE + ZwQueryDirectoryFile=NtQueryDirectoryFile @1070 PRIVATE + ZwQueryDirectoryObject=NtQueryDirectoryObject @1071 PRIVATE + ZwQueryEaFile=NtQueryEaFile @1072 PRIVATE + ZwQueryEvent=NtQueryEvent @1073 PRIVATE + ZwQueryFullAttributesFile=NtQueryFullAttributesFile @1074 PRIVATE + ZwQueryInformationAtom=NtQueryInformationAtom @1075 PRIVATE + ZwQueryInformationFile=NtQueryInformationFile @1076 PRIVATE + ZwQueryInformationJobObject=NtQueryInformationJobObject @1077 PRIVATE + ZwQueryInformationProcess=NtQueryInformationProcess @1078 PRIVATE + ZwQueryInformationThread=NtQueryInformationThread @1079 PRIVATE + ZwQueryInformationToken=NtQueryInformationToken @1080 PRIVATE + ZwQueryInstallUILanguage=NtQueryInstallUILanguage @1081 PRIVATE + ZwQueryIoCompletion=NtQueryIoCompletion @1082 PRIVATE + ZwQueryKey=NtQueryKey @1083 PRIVATE + ZwQueryLicenseValue=NtQueryLicenseValue @1084 PRIVATE + ZwQueryMultipleValueKey=NtQueryMultipleValueKey @1085 PRIVATE + ZwQueryMutant=NtQueryMutant @1086 PRIVATE + ZwQueryObject=NtQueryObject @1087 PRIVATE + ZwQueryPerformanceCounter=NtQueryPerformanceCounter @1088 PRIVATE + ZwQuerySection=NtQuerySection @1089 PRIVATE + ZwQuerySecurityObject=NtQuerySecurityObject @1090 PRIVATE + ZwQuerySemaphore=NtQuerySemaphore @1091 PRIVATE + ZwQuerySymbolicLinkObject=NtQuerySymbolicLinkObject @1092 PRIVATE + ZwQuerySystemEnvironmentValue=NtQuerySystemEnvironmentValue @1093 PRIVATE + ZwQuerySystemEnvironmentValueEx=NtQuerySystemEnvironmentValueEx @1094 PRIVATE + ZwQuerySystemInformation=NtQuerySystemInformation @1095 PRIVATE + ZwQuerySystemInformationEx=NtQuerySystemInformationEx @1096 PRIVATE + ZwQuerySystemTime=NtQuerySystemTime @1097 PRIVATE + ZwQueryTimer=NtQueryTimer @1098 PRIVATE + ZwQueryTimerResolution=NtQueryTimerResolution @1099 PRIVATE + ZwQueryValueKey=NtQueryValueKey @1100 PRIVATE + ZwQueryVirtualMemory=NtQueryVirtualMemory @1101 PRIVATE + ZwQueryVolumeInformationFile=NtQueryVolumeInformationFile @1102 PRIVATE + ZwQueueApcThread=NtQueueApcThread @1103 PRIVATE + ZwRaiseException=NtRaiseException @1104 PRIVATE + ZwRaiseHardError=NtRaiseHardError @1105 PRIVATE + ZwReadFile=NtReadFile @1106 PRIVATE + ZwReadFileScatter=NtReadFileScatter @1107 PRIVATE + ZwReadVirtualMemory=NtReadVirtualMemory @1108 PRIVATE + ZwRegisterThreadTerminatePort=NtRegisterThreadTerminatePort @1109 PRIVATE + ZwReleaseKeyedEvent=NtReleaseKeyedEvent @1110 PRIVATE + ZwReleaseMutant=NtReleaseMutant @1111 PRIVATE + ZwReleaseSemaphore=NtReleaseSemaphore @1112 PRIVATE + ZwRemoveIoCompletion=NtRemoveIoCompletion @1113 PRIVATE + ZwRemoveIoCompletionEx=NtRemoveIoCompletionEx @1114 PRIVATE + ZwRemoveProcessDebug=NtRemoveProcessDebug @1115 PRIVATE + ZwRenameKey=NtRenameKey @1116 PRIVATE + ZwReplaceKey=NtReplaceKey @1117 PRIVATE + ZwReplyWaitReceivePort=NtReplyWaitReceivePort @1118 PRIVATE + ZwRequestWaitReplyPort=NtRequestWaitReplyPort @1119 PRIVATE + ZwResetEvent=NtResetEvent @1120 PRIVATE + ZwResetWriteWatch=NtResetWriteWatch @1121 PRIVATE + ZwRestoreKey=NtRestoreKey @1122 PRIVATE + ZwResumeProcess=NtResumeProcess @1123 PRIVATE + ZwResumeThread=NtResumeThread @1124 PRIVATE + ZwSaveKey=NtSaveKey @1125 PRIVATE + ZwSecureConnectPort=NtSecureConnectPort @1126 PRIVATE + ZwSetContextThread=NtSetContextThread @1127 PRIVATE + ZwSetDebugFilterState=NtSetDebugFilterState @1128 PRIVATE + ZwSetDefaultLocale=NtSetDefaultLocale @1129 PRIVATE + ZwSetDefaultUILanguage=NtSetDefaultUILanguage @1130 PRIVATE + ZwSetEaFile=NtSetEaFile @1131 PRIVATE + ZwSetEvent=NtSetEvent @1132 PRIVATE + ZwSetInformationDebugObject=NtSetInformationDebugObject @1133 PRIVATE + ZwSetInformationFile=NtSetInformationFile @1134 PRIVATE + ZwSetInformationJobObject=NtSetInformationJobObject @1135 PRIVATE + ZwSetInformationKey=NtSetInformationKey @1136 PRIVATE + ZwSetInformationObject=NtSetInformationObject @1137 PRIVATE + ZwSetInformationProcess=NtSetInformationProcess @1138 PRIVATE + ZwSetInformationThread=NtSetInformationThread @1139 PRIVATE + ZwSetInformationToken=NtSetInformationToken @1140 PRIVATE + ZwSetInformationVirtualMemory=NtSetInformationVirtualMemory @1141 PRIVATE + ZwSetIntervalProfile=NtSetIntervalProfile @1142 PRIVATE + ZwSetIoCompletion=NtSetIoCompletion @1143 PRIVATE + ZwSetLdtEntries=NtSetLdtEntries @1144 PRIVATE + ZwSetSecurityObject=NtSetSecurityObject @1145 PRIVATE + ZwSetSystemInformation=NtSetSystemInformation @1146 PRIVATE + ZwSetSystemTime=NtSetSystemTime @1147 PRIVATE + ZwSetThreadExecutionState=NtSetThreadExecutionState @1148 PRIVATE + ZwSetTimer=NtSetTimer @1149 PRIVATE + ZwSetTimerResolution=NtSetTimerResolution @1150 PRIVATE + ZwSetValueKey=NtSetValueKey @1151 PRIVATE + ZwSetVolumeInformationFile=NtSetVolumeInformationFile @1152 PRIVATE + ZwShutdownSystem=NtShutdownSystem @1153 PRIVATE + ZwSignalAndWaitForSingleObject=NtSignalAndWaitForSingleObject @1154 PRIVATE + ZwSuspendProcess=NtSuspendProcess @1155 PRIVATE + ZwSuspendThread=NtSuspendThread @1156 PRIVATE + ZwSystemDebugControl=NtSystemDebugControl @1157 PRIVATE + ZwTerminateJobObject=NtTerminateJobObject @1158 PRIVATE + ZwTerminateProcess=NtTerminateProcess @1159 PRIVATE + ZwTerminateThread=NtTerminateThread @1160 PRIVATE + ZwTestAlert=NtTestAlert @1161 PRIVATE + ZwTraceControl=NtTraceControl @1162 PRIVATE + ZwUnloadDriver=NtUnloadDriver @1163 PRIVATE + ZwUnloadKey=NtUnloadKey @1164 PRIVATE + ZwUnlockFile=NtUnlockFile @1165 PRIVATE + ZwUnlockVirtualMemory=NtUnlockVirtualMemory @1166 PRIVATE + ZwUnmapViewOfSection=NtUnmapViewOfSection @1167 PRIVATE + ZwUnmapViewOfSectionEx=NtUnmapViewOfSectionEx @1168 PRIVATE + ZwWaitForAlertByThreadId=NtWaitForAlertByThreadId @1169 PRIVATE + ZwWaitForDebugEvent=NtWaitForDebugEvent @1170 PRIVATE + ZwWaitForKeyedEvent=NtWaitForKeyedEvent @1171 PRIVATE + ZwWaitForMultipleObjects=NtWaitForMultipleObjects @1172 PRIVATE + ZwWaitForSingleObject=NtWaitForSingleObject @1173 PRIVATE + ZwWriteFile=NtWriteFile @1174 PRIVATE + ZwWriteFileGather=NtWriteFileGather @1175 PRIVATE + ZwWriteVirtualMemory=NtWriteVirtualMemory @1176 PRIVATE + ZwYieldExecution=NtYieldExecution @1177 PRIVATE + __C_specific_handler @1178 + __chkstk @1179 + __isascii @1180 + __iscsym @1181 + __iscsymf @1182 + __toascii @1183 + _atoi64 @1184 + _errno @1185 + _fltused @1186 PRIVATE + _i64toa @1187 + _i64toa_s @1188 + _i64tow @1189 + _i64tow_s @1190 + _itoa @1191 + _itoa_s @1192 + _itow @1193 + _itow_s @1194 + _lfind @1195 + _local_unwind @1196 + _ltoa @1197 + _ltoa_s @1198 + _ltow @1199 + _ltow_s @1200 + _makepath_s @1201 + _memccpy @1202 + _memicmp @1203 + _snprintf=NTDLL__snprintf @1204 + _snprintf_s @1205 + _snwprintf @1206 + _snwprintf_s @1207 + _splitpath @1208 + _splitpath_s @1209 + _strcmpi=_stricmp @1210 + _stricmp @1211 + _strlwr @1212 + _strlwr_s @1213 + _strnicmp @1214 + _strupr @1215 + _strupr_s @1216 + _swprintf=NTDLL_swprintf @1217 + _tolower @1218 + _toupper @1219 + _ui64toa @1220 + _ui64toa_s @1221 + _ui64tow @1222 + _ui64tow_s @1223 + _ultoa @1224 + _ultoa_s @1225 + _ultow @1226 + _ultow_s @1227 + _vscprintf @1228 + _vscwprintf @1229 + _vsnprintf @1230 + _vsnprintf_s @1231 + _vsnwprintf @1232 + _vsnwprintf_s @1233 + _vswprintf @1234 + _wcsicmp @1235 + _wcslwr @1236 + _wcslwr_s @1237 + _wcsnicmp @1238 + _wcstoi64 @1239 + _wcstoui64 @1240 + _wcsupr @1241 + _wcsupr_s @1242 + _wmakepath_s @1243 + _wsplitpath_s @1244 + _wtoi @1245 + _wtoi64 @1246 + _wtol @1247 + abs @1248 + atan @1249 + atan2 @1250 + atoi @1251 + atol @1252 + bsearch @1253 + bsearch_s @1254 + ceil @1255 + cos @1256 + fabs @1257 + floor @1258 + isalnum @1259 + isalpha @1260 + iscntrl @1261 + isdigit @1262 + isgraph @1263 + islower @1264 + isprint @1265 + ispunct @1266 + isspace @1267 + isupper @1268 + iswalnum @1269 + iswalpha @1270 + iswascii @1271 + iswctype @1272 + iswdigit @1273 + iswgraph @1274 + iswlower @1275 + iswprint @1276 + iswspace @1277 + iswxdigit @1278 + isxdigit @1279 + labs=abs @1280 + log @1281 + mbstowcs @1282 + memchr @1283 + memcmp @1284 + memcpy @1285 + memcpy_s @1286 + memmove @1287 + memmove_s @1288 + memset @1289 + pow @1290 + qsort @1291 + qsort_s @1292 + sin @1293 + sprintf=NTDLL_sprintf @1294 + sprintf_s @1295 + sqrt @1296 + sscanf @1297 + strcat @1298 + strcat_s @1299 + strchr @1300 + strcmp @1301 + strcpy @1302 + strcpy_s @1303 + strcspn @1304 + strlen @1305 + strncat @1306 + strncat_s @1307 + strncmp @1308 + strncpy @1309 + strncpy_s @1310 + strnlen @1311 + strpbrk @1312 + strrchr @1313 + strspn @1314 + strstr @1315 + strtok_s @1316 + strtol @1317 + strtoul @1318 + swprintf=NTDLL_swprintf @1319 + swprintf_s @1320 + tan @1321 + tolower @1322 + toupper @1323 + towlower @1324 + towupper @1325 + vDbgPrintEx @1326 + vDbgPrintExWithPrefix @1327 + vsprintf @1328 + vsprintf_s @1329 + vswprintf_s @1330 + wcscat @1331 + wcscat_s @1332 + wcschr @1333 + wcscmp @1334 + wcscpy @1335 + wcscpy_s @1336 + wcscspn @1337 + wcslen @1338 + wcsncat @1339 + wcsncat_s @1340 + wcsncmp @1341 + wcsncpy @1342 + wcsncpy_s @1343 + wcsnlen @1344 + wcspbrk @1345 + wcsrchr @1346 + wcsspn @1347 + wcsstr @1348 + wcstok @1349 + wcstok_s @1350 + wcstol @1351 + wcstombs @1352 + wcstoul @1353 + wine_server_call @1354 + wine_server_fd_to_handle @1355 + wine_server_handle_to_fd @1356 + __wine_unix_call @1357 + __wine_unix_spawnvp @1358 + __wine_ctrl_routine @1359 + __wine_syscall_dispatcher @1360 DATA PRIVATE + __wine_unix_call_dispatcher @1361 DATA PRIVATE + __wine_unixlib_handle @1362 DATA PRIVATE + __wine_dbg_write @1363 + __wine_dbg_get_channel_flags @1364 + __wine_dbg_header @1365 + __wine_dbg_output @1366 + __wine_dbg_strdup @1367 + wine_get_version @1368 + wine_get_build_id @1369 + wine_get_host_version @1370 + wine_nt_to_unix_file_name @1371 + wine_unix_to_nt_file_name @1372 \ No newline at end of file diff --git a/wow64/toolchain_mingw.cmake b/wow64/toolchain_mingw.cmake index 544289da..0df2c964 100644 --- a/wow64/toolchain_mingw.cmake +++ b/wow64/toolchain_mingw.cmake @@ -1,5 +1,5 @@ set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSTEM_PROCESSOR aarch64) -set(CMAKE_C_COMPILER /home/ksco/llvm-mingw/bin/aarch64-w64-mingw32-clang) -set(CMAKE_ASM_COMPILER /home/ksco/llvm-mingw/bin/aarch64-w64-mingw32-as) \ No newline at end of file +set(CMAKE_C_COMPILER aarch64-w64-mingw32-clang) +set(CMAKE_ASM_COMPILER aarch64-w64-mingw32-as) \ No newline at end of file diff --git a/wow64/wow64.def b/wow64/wow64.def new file mode 100644 index 00000000..31088e79 --- /dev/null +++ b/wow64/wow64.def @@ -0,0 +1,30 @@ +LIBRARY wow64.dll + +EXPORTS + Wow64AllocThreadHeap @1 PRIVATE + Wow64AllocateHeap @2 PRIVATE + Wow64AllocateTemp @3 + Wow64ApcRoutine @4 + Wow64CheckIfNXEnabled @5 PRIVATE + Wow64EmulateAtlThunk @6 PRIVATE + Wow64FreeHeap @7 PRIVATE + Wow64FreeThreadHeap @8 PRIVATE + Wow64GetWow64ImageOption @9 PRIVATE + Wow64IsControlFlowGuardEnforced @10 PRIVATE + Wow64IsStackExtentsCheckEnforced @11 PRIVATE + Wow64KiUserCallbackDispatcher @12 + Wow64LdrpInitialize @13 + Wow64LogPrint @14 PRIVATE + Wow64NotifyUnsimulateComplete @15 PRIVATE + Wow64PassExceptionToGuest @16 + Wow64PrepareForDebuggerAttach @17 PRIVATE + Wow64PrepareForException @18 + Wow64RaiseException @19 + Wow64ShallowThunkAllocObjectAttributes32TO64_FNC @20 PRIVATE + Wow64ShallowThunkAllocSecurityQualityOfService32TO64_FNC @21 PRIVATE + Wow64ShallowThunkSIZE_T32TO64 @22 PRIVATE + Wow64ShallowThunkSIZE_T64TO32 @23 PRIVATE + Wow64SuspendLocalThread @24 + Wow64SystemServiceEx @25 + Wow64ValidateUserCallTarget @26 PRIVATE + Wow64ValidateUserCallTargetFilter @27 PRIVATE \ No newline at end of file diff --git a/wow64/wowbox64.c b/wow64/wowbox64.c index 49e10baa..4c42d76e 100644 --- a/wow64/wowbox64.c +++ b/wow64/wowbox64.c @@ -7,6 +7,7 @@ #include "custommem.h" #include "env.h" #include "box64context.h" +#include "wine/debug.h" uintptr_t box64_pagesize = 4096; @@ -58,11 +59,12 @@ int arm64_rndr = 0; static box64context_t box64_context; box64context_t *my_context = &box64_context; + void WINAPI BTCpuFlushInstructionCache2(LPCVOID addr, SIZE_T size) { // NYI // invalidate all paged interleaved with this range. - // unprotectDB((uintptr_t)addr, (size_t)size, 1); + unprotectDB((uintptr_t)addr, (size_t)size, 1); } void* WINAPI BTCpuGetBopCode(void) @@ -71,6 +73,12 @@ void* WINAPI BTCpuGetBopCode(void) return (UINT32*)NULL; } +void* WINAPI __wine_get_unix_opcode(void) +{ + // NYI + return (UINT32*)NULL; +} + NTSTATUS WINAPI BTCpuGetContext(HANDLE thread, HANDLE process, void* unknown, WOW64_CONTEXT* ctx) { // NYI diff --git a/wow64/wowbox64.def b/wow64/wowbox64.def new file mode 100644 index 00000000..f5c3458b --- /dev/null +++ b/wow64/wowbox64.def @@ -0,0 +1,16 @@ +LIBRARY libwowbox64.dll + +EXPORTS + BTCpuGetBopCode + BTCpuGetContext + BTCpuProcessInit + BTCpuThreadInit + BTCpuResetToConsistentState + BTCpuSetContext + BTCpuSimulate + BTCpuTurboThunkControl + BTCpuNotifyUnmapViewOfSection + BTCpuNotifyMemoryFree + BTCpuNotifyMemoryProtect + BTCpuFlushInstructionCache2 + __wine_get_unix_opcode |