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; }