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   lydstory  阅读(124)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示