Index: /trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakes.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakes.cpp	(revision 70212)
+++ /trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakes.cpp	(revision 70213)
@@ -57,4 +57,6 @@
 #define IsProcessorFeaturePresent               Ignore_IsProcessorFeaturePresent /* NT 3.51 start */
 #define CancelIo                                Ignore_CancelIo
+#define IsDebuggerPresent                       Ignore_IsDebuggerPresent /* NT 3.50 start */
+#define GetSystemTimeAsFileTime                 Ignore_GetSystemTimeAsFileTime
 
 #include <iprt/nt/nt-and-windows.h>
@@ -77,4 +79,6 @@
 #undef IsProcessorFeaturePresent
 #undef CancelIo
+#undef IsDebuggerPresent
+#undef GetSystemTimeAsFileTime
 
 
@@ -484,4 +488,51 @@
 
 
+/*
+ * NT 3.50 stuff.
+ */
+
+extern "C" DECLEXPORT(BOOL) WINAPI IsDebuggerPresent(VOID)
+{
+    RESOLVE_ME(IsDebuggerPresent);
+    if (pfnApi)
+        return pfnApi();
+    return FALSE;
+}
+
+
+extern "C" DECLEXPORT(VOID) WINAPI GetSystemTimeAsFileTime(LPFILETIME pTime)
+{
+    RESOLVE_ME(GetSystemTimeAsFileTime);
+    if (pfnApi)
+        pfnApi(pTime);
+    else
+    {
+        DWORD dwVersion = GetVersion();
+        if (   (dwVersion & 0xff) > 3
+            || (   (dwVersion & 0xff) == 3
+                && ((dwVersion >> 8) & 0xff) >= 50) )
+        {
+            PKUSER_SHARED_DATA pUsd = (PKUSER_SHARED_DATA)MM_SHARED_USER_DATA_VA;
+
+            /* use interrupt time */
+            LARGE_INTEGER Time;
+            do
+            {
+                Time.HighPart = pUsd->SystemTime.High1Time;
+                Time.LowPart  = pUsd->SystemTime.LowPart;
+            } while (pUsd->SystemTime.High2Time != Time.HighPart);
+
+            pTime->dwHighDateTime = Time.HighPart;
+            pTime->dwLowDateTime  = Time.LowPart;
+        }
+        else
+        {
+            /** @todo    */
+            __debugbreak();
+        }
+    }
+}
+
+
 /* Dummy to force dragging in this object in the link, so the linker
    won't accidentally use the symbols from kernel32. */
Index: /trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakesA.asm
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakesA.asm	(revision 70212)
+++ /trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakesA.asm	(revision 70213)
@@ -62,3 +62,5 @@
 MAKE_IMPORT_ENTRY IsProcessorFeaturePresent, 4
 MAKE_IMPORT_ENTRY CancelIo, 4
+MAKE_IMPORT_ENTRY IsDebuggerPresent, 0
+MAKE_IMPORT_ENTRY GetSystemTimeAsFileTime, 4
 
