Function at 0x40fd43
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 0x40fdb1
lea eax, [ebp - 0x830]
push eax
push dword [ebp - 0xc]
call ebx
test eax, eax
je 0x40fdb1
lea eax, [ebp - 0x830]
push 0x41c13c
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 0x40fde1
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0xc]
call ebx
test eax, eax
je 0x40fde1
lea eax, [ebp - 0x420]
push 0x41c13c
push eax
call sub.MSVCRT.dll_wcscat
pop ecx
pop ecx
cmp word [ebp - 0x830], di
jne 0x40fdf7
cmp word [ebp - 0x420], di
je 0x410061
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 4], 1
mov ebx, 0x4156e4
cmp dword [ebp - 4], 1
jne 0x40fe52
cmp word [ebp - 0x830], 0
je 0x410054
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 0x40fe8d
cmp word [ebp - 0x420], 0
je 0x410054
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 0x41004b
mov eax, dword [ebp - 0xa80]
and eax, 0x10
cmp al, 0x10
jne 0x40fe9d
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, 0x41c4f4
je 0x40fee7
mov ecx, 0x4150b8
cmp dword [ebp - 4], 1
lea eax, [ebp - 0x830]
je 0x40fef9
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 0x40fe9d
mov eax, dword [ebp - 0x10]
mov ecx, 0x41c4f4
cmp word [ebp + eax*2 - 0xa56], 0x5c
je 0x40ff46
mov ecx, 0x4150b8
cmp dword [ebp - 4], 1
lea eax, [ebp - 0x830]
je 0x40ff58
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 0x40fe0f
pop edi
pop esi
pop ebx
leave
ret