Hans Leidekker (@hans) commented about dlls/advapi32/crypt.c:
} RegEnumKeyExW(hKey, dwIndex, provNameW, pcbProvName, NULL, NULL, NULL, NULL);
if (pdwProvType)
{
HKEY hSubkey;
DWORD size = sizeof(DWORD);
RegOpenKeyW(hKey, provNameW, &hSubkey);
RegQueryValueExW(hSubkey, L"Type", NULL, NULL, (BYTE*)pdwProvType, &size);
You should check these calls for failure.