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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x364
mov eax, dword [0x41b004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push 0x41d330
push 0x41d128
push 0x41d004
lea eax, [ebp - 0x218]
push str._s_s_s
push eax
call edi
add esp, 0x14
push str..ini
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionA]
lea edx, [ebp - 0x218]
push edx
push 0
push str.AllDelete
push str.UNINSTALL
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x40813f
lea eax, [ebp - 0x218]
push eax
push 0x104
lea ecx, [ebp - 0x110]
push ecx
push 0x417c64
push str.SaveFold
push str.INSTALL
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x218]
push str._s.
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0x358]
push ecx
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x40813f
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x407eb0
mov ecx, 0x41854c
lea eax, [ebp - 0x32c]
jmp 0x407ec0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407ee0
test dl, dl
je 0x407edc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407ee0
add eax, 2
add ecx, 2
test dl, dl
jne 0x407ec0
xor eax, eax
jmp 0x407ee5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407f5d
mov ecx, 0x418550
lea eax, [ebp - 0x32c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407f14
test dl, dl
je 0x407f10
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407f14
add eax, 2
add ecx, 2
test dl, dl
jne 0x407ef4
xor eax, eax
jmp 0x407f19
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407f5d
test byte [ebp - 0x358], 0x10
jne 0x407f5d
lea ecx, [ebp - 0x32c]
call fcn.0040a720
test eax, eax
je 0x407f5d
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x218]
push 0x417c5c
push edx
call edi
add esp, 0x10
lea eax, [ebp - 0x218]
push eax
call ebx
lea ecx, [ebp - 0x358]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x407eb0
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea esi, [ebp - 0x110]
call fcn.0040a670
mov edx, esi
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov eax, esi
push eax
call ebx
dec eax
lea ecx, [ebp + eax - 0x110]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
xor eax, eax
mov edi, dword [ebp - 0x35c]
mov al, 0x5c
mov ecx, dword [ebp - 0x360]
std
repne scasb al, byte es:[edi]
jne 0x407fcb
inc edi
mov dword [ebp - 0x35c], edi
jmp 0x407fd5
mov dword [ebp - 0x35c], 0
cld
mov edx, dword [ebp - 0x35c]
mov eax, esi
push eax
mov byte [edx], 0
call ebx
dec eax
lea ecx, [ebp + eax - 0x110]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
xor eax, eax
mov edi, dword [ebp - 0x35c]
mov al, 0x5c
mov ecx, dword [ebp - 0x360]
std
repne scasb al, byte es:[edi]
jne 0x408016
inc edi
mov dword [ebp - 0x35c], edi
jmp 0x408020
mov dword [ebp - 0x35c], 0
cld
mov edi, dword [ebp - 0x35c]
push 0x41d22c
inc edi
call ebx
push edi
mov esi, eax
call ebx
cmp esi, eax
jg 0x40813f
push esi
push 0x41d22c
push edi
call fcn.0040aaca
add esp, 0xc
test eax, eax
jne 0x40813f
lea esi, [ebp - 0x110]
call fcn.0040a670
mov edx, esi
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push 0x5c
mov byte [edi - 1], 0
call fcn.0040a240
add esp, 4
cmp byte [0x41d538], 0
lea edi, [eax + 1]
je 0x408108
push 0x41d538
call ebx
push edi
mov esi, eax
call ebx
cmp esi, eax
jg 0x40813f
push esi
push 0x41d538
push edi
call fcn.0040aaca
add esp, 0xc
test eax, eax
jne 0x40813f
lea esi, [ebp - 0x110]
call fcn.0040a670
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push 0x5c
mov byte [edi - 1], 0
call fcn.0040a240
add esp, 4
push 0x41d128
lea esi, [eax + 1]
call ebx
push esi
mov edi, eax
call ebx
cmp edi, eax
jg 0x40813f
push edi
push 0x41d128
push esi
call fcn.0040aaca
add esp, 0xc
test eax, eax
jne 0x40813f
lea esi, [ebp - 0x110]
call fcn.0040a670
mov ecx, esi
push ecx
jmp 0x408139
push 0x41d128
call ebx
push edi
mov esi, eax
call ebx
cmp esi, eax
jg 0x40813f
push esi
push 0x41d128
push edi
call fcn.0040aaca
add esp, 0xc
test eax, eax
jne 0x40813f
lea esi, [ebp - 0x110]
call fcn.0040a670
mov edx, esi
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0040aabb
mov esp, ebp
pop ebp
ret