Function at 0x40b6ea
Capabilities:
Delete directory
Delete file
Enumerate files on windows

Disassembly:
push 0x3cc
mov eax, 0x4c1bc0
call fcn.0048652b
mov eax, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], ebx
test ebx, ebx
je 0x40b9dc
mov edi, dword [sym.imp.MSVCR100.dll_strlen]
push ebx
call edi
pop ecx
cmp eax, 2
jb 0x40b9dc
push ebx
lea ecx, [ebp - 0x240]
call fcn.0040d339
and dword [ebp - 4], 0
push ebx
call edi
cmp byte [eax + ebx - 1], 0x5c
pop ecx
jne 0x40b79b
mov esi, 0x4e0dd8
push esi
call edi
pop ecx
mov ebx, eax
push esi
lea eax, [ebp - 0x240]
call fcn.0040d84f
push eax
xor ebx, ebx
push ebx
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x25c]
call fcn.0040d403
mov esi, eax
lea edi, [ebp - 0x240]
mov byte [ebp - 4], 1
call fcn.0040d729
push ebx
push 1
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], bl
call fcn.0040d8cd
mov ebx, dword [ebp - 0x3d4]
mov edi, dword [sym.imp.MSVCR100.dll_strlen]
cmp dword [ebp - 0x22c], 0x10
mov eax, dword [ebp - 0x240]
jae 0x40b7b0
lea eax, [ebp - 0x240]
lea ecx, [ebp - 0x28c]
push ecx
push eax
call dword [sym.imp.MSVCR100.dll__stat64i32]
test dword [ebp - 0x286], 0x4000
pop ecx
pop ecx
je 0x40b9c6
push 0x103
lea eax, [ebp - 0x223]
push 0
push eax
mov byte [ebp - 0x3cd], 1
mov byte [ebp - 0x224], 0
call sub.MSVCR100.dll_memset
push ebx
call edi
add esp, 0x10
cmp byte [eax + ebx - 1], 0x5c
push ebx
lea eax, [ebp - 0x224]
je 0x40b80c
push 0x4e0ddc
jmp 0x40b811
push str._s.
push 0x104
push eax
call dword [sym.imp.MSVCR100.dll__snprintf]
add esp, 0x10
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x3d4], eax
cmp eax, 0xffffffff
je 0x40b9b3
cmp byte [ebp - 0x3cd], 1
jne 0x40b9b3
test byte [ebp - 0x3cc], 0x20
je 0x40b8de
push 0x104
lea eax, [ebp - 0x11c]
push ebx
push eax
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [ebp - 0x11c]
push eax
mov byte [ebp - 0x19], 0
call edi
lea ecx, [ebp - 0x11c]
add esp, 0x10
cmp byte [eax + ecx - 1], 0x5c
je 0x40b89d
mov eax, ecx
push 0x4e0dd8
push eax
call dword [sym.imp.MSVCR100.dll_strcat]
pop ecx
pop ecx
lea eax, [ebp - 0x3a0]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.MSVCR100.dll_strcat]
pop ecx
pop ecx
lea eax, [ebp - 0x11c]
push eax
mov byte [ebp - 0x19], 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp + 0xc], 0
je 0x40b992
mov esi, dword [ebp - 0x3d8]
call fcn.0040b9e4
jmp 0x40b992
test byte [ebp - 0x3cc], 0x10
je 0x40b992
lea eax, [ebp - 0x3a0]
push eax
call edi
push eax
lea eax, [ebp - 0x3a0]
push 0x4e0dec
push eax
call sub.MSVCR100.dll__strnicmp
add esp, 0x10
test eax, eax
je 0x40b992
lea eax, [ebp - 0x3a0]
push eax
call edi
push eax
lea eax, [ebp - 0x3a0]
push 0x4e0df0
push eax
call sub.MSVCR100.dll__strnicmp
add esp, 0x10
test eax, eax
je 0x40b992
push 0x104
lea eax, [ebp - 0x11c]
push ebx
push eax
call dword [sym.imp.MSVCR100.dll_strncpy]
lea eax, [ebp - 0x11c]
push eax
call edi
lea ecx, [ebp - 0x11c]
add esp, 0x10
cmp byte [eax + ecx - 1], 0x5c
je 0x40b96f
mov eax, ecx
push 0x4e0dd8
push eax
call dword [sym.imp.MSVCR100.dll_strcat]
pop ecx
pop ecx
lea eax, [ebp - 0x3a0]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.MSVCR100.dll_strcat]
lea eax, [ebp - 0x11c]
push eax
call sym.Uninstall.exe_void___cdecl_KpBase::DeleteAllFile_char_const__
add esp, 0xc
lea eax, [ebp - 0x3cc]
push eax
push dword [ebp - 0x3d4]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
setne byte [ebp - 0x3cd]
jmp 0x40b843
push dword [ebp - 0x3d4]
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 1
lea ecx, [ebp - 0x240]
call fcn.0040d8cd
call fcn.004865ae
ret 8