Function at 0x408710
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x364
mov eax, dword [0x424008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x218]
push edi
push 0x425750
push 0x425548
push 0x425414
push str._s_s_s
push eax
call esi
add esp, 0x14
lea eax, [ebp - 0x218]
push str..ini
push eax
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionA]
lea eax, [ebp - 0x218]
push eax
push 0
push str.AllDelete
push str.UNINSTALL
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x408afb
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x110]
push eax
push 0x420860
push str.SaveFold
push str.INSTALL
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push str._s.
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x408afb
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
nop dword [eax]
nop dword [eax + eax]
mov ecx, 0x4211c4
lea eax, [ebp - 0x32c]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x408820
test dl, dl
je 0x40881c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x408820
add eax, 2
add ecx, 2
test dl, dl
jne 0x408800
xor eax, eax
jmp 0x408825
sbb eax, eax
or eax, 1
test eax, eax
je 0x4088e6
mov eax, 0x4211c8
lea ecx, [ebp - 0x32c]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x408858
test dl, dl
je 0x408854
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x408858
add ecx, 2
add eax, 2
test dl, dl
jne 0x408838
xor eax, eax
jmp 0x40885d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4088e6
test byte [ebp - 0x358], 0x10
jne 0x4088e6
mov edx, str..dat
lea ecx, [ebp - 0x32c]
call fcn.0040a6a0
test eax, eax
je 0x4088aa
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push 0x420870
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
mov edx, str..jpg
lea ecx, [ebp - 0x32c]
call fcn.0040a6a0
test eax, eax
je 0x4088e6
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push 0x420870
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x358]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4087f0
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x110]
call fcn.0040a5f0
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x110]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x110]
push eax
call ebx
dec eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x360], eax
add eax, ecx
mov dword [ebp - 0x35c], eax
xor eax, eax
mov edi, dword [ebp - 0x35c]
mov al, 0x5c
mov ecx, dword [ebp - 0x360]
std
repne scasb al, byte es:[edi]
jne 0x40895f
inc edi
mov dword [ebp - 0x35c], edi
jmp 0x408969
mov dword [ebp - 0x35c], 0
cld
mov eax, dword [ebp - 0x35c]
mov byte [eax], 0
lea eax, [ebp - 0x110]
push eax
call ebx
dec eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x360], eax
add eax, ecx
mov dword [ebp - 0x35c], eax
xor eax, eax
mov edi, dword [ebp - 0x35c]
mov al, 0x5c
mov ecx, dword [ebp - 0x360]
std
repne scasb al, byte es:[edi]
jne 0x4089af
inc edi
mov dword [ebp - 0x35c], edi
jmp 0x4089b9
mov dword [ebp - 0x35c], 0
cld
mov edi, dword [ebp - 0x35c]
push 0x42564c
inc edi
call ebx
push edi
mov dword [ebp - 0x360], eax
call ebx
mov ecx, dword [ebp - 0x360]
cmp ecx, eax
jg 0x408afb
push ecx
push 0x42564c
push edi
call fcn.0040d270
add esp, 0xc
test eax, eax
jne 0x408afb
lea ecx, [ebp - 0x110]
call fcn.0040a5f0
lea eax, [ebp - 0x110]
push eax
call esi
mov dl, 0x5c
mov byte [edi - 1], 0
lea ecx, [ebp - 0x110]
call fcn.0040a7d0
cmp byte [0x425958], 0
lea esi, [eax + 1]
je 0x408abe
push 0x425958
call ebx
push esi
mov edi, eax
call ebx
cmp edi, eax
jg 0x408afb
push edi
push 0x425958
push esi
call fcn.0040d270
add esp, 0xc
test eax, eax
jne 0x408afb
lea ecx, [ebp - 0x110]
call fcn.0040a5f0
mov edi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x110]
push eax
call edi
mov dl, 0x5c
mov byte [esi - 1], 0
lea ecx, [ebp - 0x110]
call fcn.0040a7d0
push 0x425548
lea esi, [eax + 1]
call ebx
push esi
mov dword [ebp - 0x360], eax
call ebx
mov ecx, dword [ebp - 0x360]
cmp ecx, eax
jg 0x408afb
push ecx
push 0x425548
push esi
call fcn.0040d270
add esp, 0xc
test eax, eax
jne 0x408afb
lea ecx, [ebp - 0x110]
call fcn.0040a5f0
jmp 0x408af2
push 0x425548
call ebx
push esi
mov edi, eax
call ebx
cmp edi, eax
jg 0x408afb
push edi
push 0x425548
push esi
call fcn.0040d270
add esp, 0xc
test eax, eax
jne 0x408afb
lea ecx, [ebp - 0x110]
call fcn.0040a5f0
mov edi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp - 0x110]
push eax
call edi
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040aa0f
mov esp, ebp
pop ebp
ret