Function at 0x40c54b
Capabilities:
Delete directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
mov dword [ebp - 0x160], ecx
cmp dword [ebp + 8], 0
jne 0x40c567
xor eax, eax
jmp 0x40c7f4
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40c578
xor eax, eax
jmp 0x40c7f4
cmp dword [ebp + 0xc], 0
jne 0x40c58d
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
jmp 0x40c7f4
mov eax, dword [ebp + 8]
push eax
call fcn.0041df30
add esp, 4
add eax, 0x104
push eax
call fcn.0041e0a0
add esp, 4
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0
jne 0x40c5c9
xor eax, eax
jmp 0x40c7f4
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x148]
push eax
call fcn.0041dfb0
add esp, 8
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0041df30
add esp, 4
mov edx, dword [ebp - 0x148]
movsx eax, byte [edx + eax]
cmp eax, 0x5c
jne 0x40c610
push 0x42d59c
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0041dfc0
add esp, 8
jmp 0x40c624
push 0x42d5a0
mov edx, dword [ebp - 0x148]
push edx
call fcn.0041dfc0
add esp, 8
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0xffffffff
jne 0x40c683
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
push eax
call fcn.0041df1e
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x40c67c
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
jmp 0x40c7f4
xor eax, eax
jmp 0x40c7f4
mov dword [ebp - 0x14c], 1
cmp dword [ebp - 0x14c], 0
je 0x40c7c2
push 0x42d5a4
lea edx, [ebp - 0x114]
push edx
call fcn.0040b610
add esp, 8
test eax, eax
je 0x40c7a3
push 0x42d5a8
lea eax, [ebp - 0x114]
push eax
call fcn.0040b610
add esp, 8
test eax, eax
je 0x40c7a3
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call fcn.0041dfb0
add esp, 8
mov eax, dword [ebp - 0x148]
push eax
call fcn.0041df30
add esp, 4
mov ecx, dword [ebp - 0x148]
movsx edx, byte [ecx + eax]
cmp edx, 0x5c
je 0x40c717
push 0x42d5ac
mov eax, dword [ebp - 0x148]
push eax
call fcn.0041dfc0
add esp, 8
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call fcn.0041dfc0
add esp, 8
mov eax, dword [ebp - 0x140]
and eax, 0x10
test eax, eax
je 0x40c756
push 1
mov ecx, dword [ebp - 0x148]
push ecx
mov ecx, dword [ebp - 0x160]
call fcn.0040c54b
mov dword [ebp - 0x14c], eax
jmp 0x40c76e
mov edx, dword [ebp - 0x148]
push edx
mov ecx, dword [ebp - 0x160]
call fcn.0040c4fc
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
jne 0x40c7a3
mov eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x158]
push edx
call fcn.0041df1e
add esp, 4
xor eax, eax
jmp 0x40c7f4
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0x14c], eax
jmp 0x40c68d
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x15c]
push eax
call fcn.0041df1e
add esp, 4
mov ecx, dword [ebp - 0x144]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov esp, ebp
pop ebp
ret 8