IE历史纪录

signed int __cdecl sub_475790(_BYTE *a1)
{
  signed int result; // eax
  DWORD v2; // [esp+10h] [ebp-10h]
  HANDLE hEnumHandle; // [esp+14h] [ebp-Ch]
  DWORD dwFirstCacheEntryInfoBufferSize; // [esp+18h] [ebp-8h]
  LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo; // [esp+1Ch] [ebp-4h]

  dwFirstCacheEntryInfoBufferSize = 4096;
  lpFirstCacheEntryInfo = (LPINTERNET_CACHE_ENTRY_INFOA)operator new[](0x1000u);
  lpFirstCacheEntryInfo->dwStructSize = 4096;
  hEnumHandle = FindFirstUrlCacheEntryA(0, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize);
  if ( hEnumHandle )
  {
    if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
      DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
    goto LABEL_12;
  }
  if ( GetLastError() != 122 )
  {
    FindCloseUrlCache(0);
    return 0;
  }
  lpFirstCacheEntryInfo = (LPINTERNET_CACHE_ENTRY_INFOA)operator new[](dwFirstCacheEntryInfoBufferSize);
  lpFirstCacheEntryInfo->dwStructSize = dwFirstCacheEntryInfoBufferSize;
  hEnumHandle = FindFirstUrlCacheEntryA(0, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize);
  if ( !hEnumHandle )
    return 0;
  if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
    DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
LABEL_12:
  while ( FindNextUrlCacheEntryA(hEnumHandle, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize) )
  {
    if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
      DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
LABEL_25:
    if ( *a1 )
      return 0;
  }
  v2 = GetLastError();
  if ( v2 == 122 )
  {
    lpFirstCacheEntryInfo = (LPINTERNET_CACHE_ENTRY_INFOA)operator new[](dwFirstCacheEntryInfoBufferSize);
    lpFirstCacheEntryInfo->dwStructSize = dwFirstCacheEntryInfoBufferSize;
    if ( !FindNextUrlCacheEntryA(hEnumHandle, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize) )
    {
      FindCloseUrlCache(hEnumHandle);
      return 0;
    }
    if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
      DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
    goto LABEL_25;
  }
  if ( v2 == 259 )
  {
    FindCloseUrlCache(hEnumHandle);
    result = 1;
  }
  else
  {
    FindCloseUrlCache(hEnumHandle);
    result = 0;
  }
  return result;
}

 

posted on 2019-07-10 13:32  lydstory  阅读(121)  评论(0编辑  收藏  举报

导航