Index: /trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp	(revision 52971)
+++ /trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp	(revision 52972)
@@ -3489,5 +3489,7 @@
      * load events or (much better for us) later events like kernel32.
      */
-    uint32_t cMsFudge = g_fSupAdversaries ? 512 : 256;
+    uint64_t uMsTsOuterStart = supR3HardenedWinGetMilliTS();
+    uint32_t cMsFudge        = g_fSupAdversaries ? 512 : 256;
+    uint32_t cTotalFixes     = 0;
     uint32_t cFixes;
     for (uint32_t iLoop = 0; iLoop < 16; iLoop++)
@@ -3507,5 +3509,5 @@
         } while (   supR3HardenedWinGetMilliTS() - uMsTsStart <= cMsFudge
                  || cSleeps < 8);
-        SUP_DPRINTF(("supR3HardenedWinInit: Startup delay kludge #2/%u: %u ms, %u sleeps\n",
+        SUP_DPRINTF(("supR3HardNtChildPurify: Startup delay kludge #1/%u: %u ms, %u sleeps\n",
                      iLoop, supR3HardenedWinGetMilliTS() - uMsTsStart, cSleeps));
 
@@ -3520,5 +3522,10 @@
                                       "supHardenedWinVerifyProcess failed with %Rrc: %s", g_ErrInfoStatic.szMsg);
         if (cFixes == 0)
+        {
+            SUP_DPRINTF(("supR3HardNtChildPurify: Done after %llu ms and %u fixes (loop #%u).\n",
+                         supR3HardenedWinGetMilliTS() - uMsTsOuterStart, cTotalFixes, iLoop));
             return; /* We're probably good. */
+        }
+        cTotalFixes += cFixes;
 
         if (!g_fSupAdversaries)
@@ -3534,8 +3541,8 @@
                                                  &cPatchCount, sizeof(cPatchCount), NULL);
         if (NT_SUCCESS(rcNt))
-            SUP_DPRINTF(("supR3HardenedWinInit: cFixes=%u g_fSupAdversaries=%#x cPatchCount=%#u\n",
+            SUP_DPRINTF(("supR3HardNtChildPurify: cFixes=%u g_fSupAdversaries=%#x cPatchCount=%#u\n",
                          cFixes, g_fSupAdversaries, cPatchCount));
         else
-            SUP_DPRINTF(("supR3HardenedWinInit: cFixes=%u g_fSupAdversaries=%#x\n", cFixes, g_fSupAdversaries));
+            SUP_DPRINTF(("supR3HardNtChildPurify: cFixes=%u g_fSupAdversaries=%#x\n", cFixes, g_fSupAdversaries));
     }
 
@@ -3545,6 +3552,6 @@
      */
     supR3HardenedWinKillChild(pThis, "supR3HardNtChildPurify", VERR_TRY_AGAIN,
-                              "Unable to purify child process! After 16 tries, we still %u fix(es) in the last pass.",
-                              cFixes);
+                              "Unable to purify child process! After 16 tries over %llu ms, we still %u fix(es) in the last pass.",
+                              supR3HardenedWinGetMilliTS() - uMsTsOuterStart, cFixes);
 }
 
