Function at 0x40f5c2
Capabilities:
Check if file exists
Delete directory
Delete file
Enumerate files on windows
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa80
push ebx
push esi
push edi
mov esi, 0x104
xor edi, edi
push esi
lea eax, [ebp - 0x830]
push edi
push eax
call sub.MSVCRT.dll_memset
push esi
lea eax, [ebp - 0x420]
push edi
push eax
call sub.MSVCRT.dll_memset
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
add esp, 0x18
lea eax, [ebp - 0xc]
push eax
push 2
push edi
call esi
mov ebx, dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
jne 0x40f630
lea eax, [ebp - 0x830]
push eax
push dword [ebp - 0xc]
call ebx
test eax, eax
je 0x40f630
lea eax, [ebp - 0x830]
push 0x41ad6c
push eax
call sub.MSVCRT.dll_wcscat
pop ecx
pop ecx
lea eax, [ebp - 0xc]
push eax
push 0x17
push edi
call esi
test eax, eax
jne 0x40f660
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0xc]
call ebx
test eax, eax
je 0x40f660
lea eax, [ebp - 0x420]
push 0x41ad6c
push eax
call sub.MSVCRT.dll_wcscat
pop ecx
pop ecx
cmp word [ebp - 0x830], di
jne 0x40f676
cmp word [ebp - 0x420], di
je 0x40f8e0
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 4], 1
mov ebx, 0x4146e4
cmp dword [ebp - 4], 1
jne 0x40f6d1
cmp word [ebp - 0x830], 0
je 0x40f8d3
lea eax, [ebp - 0xa80]
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x830]
push eax
call sub.MSVCRT.dll_wcslen
and word [ebp + eax*2 - 0x832], 0
pop ecx
jmp 0x40f70c
cmp word [ebp - 0x420], 0
je 0x40f8d3
lea eax, [ebp - 0xa80]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x420]
push eax
call sub.MSVCRT.dll_wcslen
and word [ebp + eax*2 - 0x422], 0
pop ecx
lea eax, [ebp - 0xa80]
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
lea eax, [ebp - 0xa80]
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x40f8ca
mov eax, dword [ebp - 0xa80]
and eax, 0x10
cmp al, 0x10
jne 0x40f71c
lea eax, [ebp - 0xa54]
push eax
call sub.MSVCRT.dll_wcslen
cmp word [ebp + eax*2 - 0xa56], 0x5c
pop ecx
mov dword [ebp - 0x10], eax
mov ecx, 0x41b124
je 0x40f766
mov ecx, 0x4140b8
cmp dword [ebp - 4], 1
lea eax, [ebp - 0x830]
je 0x40f778
lea eax, [ebp - 0x420]
push str.Internet_Download_Manager.lnk
push ecx
lea ecx, [ebp - 0xa54]
push ecx
push eax
lea eax, [ebp - 0x628]
push str._s_s_s_s
push eax
call esi
add esp, 0x18
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x40f71c
mov eax, dword [ebp - 0x10]
mov ecx, 0x41b124
cmp word [ebp + eax*2 - 0xa56], 0x5c
je 0x40f7c5
mov ecx, 0x4140b8
cmp dword [ebp - 4], 1
lea eax, [ebp - 0x830]
je 0x40f7d7
lea eax, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0xa54]
push ecx
push eax
lea eax, [ebp - 0x628]
push str._s_s_s
push eax
call esi
add esp, 0x14
lea eax, [ebp - 0x628]
push str.Internet_Download_Manager.lnk
push eax
lea eax, [ebp - 0x218]
push ebx
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x628]
push str.IDM_Help.lnk
push eax
lea eax, [ebp - 0x218]
push ebx
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x628]
push str.license.lnk
push eax
lea eax, [ebp - 0x218]
push ebx
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x628]
push str.TUTORIALS.lnk
push eax
lea eax, [ebp - 0x218]
push ebx
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x628]
push str.Grabber_Help.lnk
push eax
lea eax, [ebp - 0x218]
push ebx
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x628]
push str.Uninstall_IDM.lnk
push eax
lea eax, [ebp - 0x218]
push ebx
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindClose]
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jle 0x40f68e
pop edi
pop esi
pop ebx
leave
ret