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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x464
mov eax, dword [0x42c17c]
push ebx
push esi
push edi
push str.DelFolder
mov dword [esp + 0x470], eax
call fcn.00406b70
mov ebx, dword [ebp + 8]
add esp, 4
test eax, eax
jne 0x40e461
push ebx
push str.DelFolder_:
xor edi, edi
push edi
push str.DelFolder
call fcn.0040a9c0
add esp, 8
mov ecx, eax
call fcn.0040d020
mov ecx, eax
call fcn.0040dcf0
push 1
mov esi, eax
push edi
mov dword [0x42d048], edi
mov eax, dword [esi + 0x240]
push edi
push eax
push 1
mov ecx, esi
mov dword [esi + 0x248], edi
call fcn.0040af90
add esi, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x40e463
xor edi, edi
cmp ebx, edi
je 0x40e519
push ebx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x40e519
mov word [esp + 0x260], di
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x262]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x260]
push ebx
push ecx
stosw word es:[edi], ax
call fcn.004172f0
lea edx, [esp + 0x268]
push 0x426c98
push edx
call fcn.004172c6
add esp, 0x10
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x264]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0xc], esi
jne 0x40e530
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.DelFolder
mov esi, eax
call fcn.00406b70
add esp, 4
test eax, eax
jne 0x40e519
push 1
push esi
push 0x426c8c
push eax
push str.DelFolder
call fcn.0040a9c0
add esp, 8
mov ecx, eax
call fcn.0040d020
mov ecx, eax
call fcn.0040dbd0
mov ecx, eax
call fcn.0040b500
xor eax, eax
mov ecx, dword [esp + 0x46c]
call fcn.0041575b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [esp + 0x10], 0x10
je 0x40e56b
lea edx, [esp + 0x3c]
push 0x426c88
push edx
call fcn.0041596a
add esp, 8
test eax, eax
je 0x40e64b
lea eax, [esp + 0x3c]
push 0x426c80
push eax
call fcn.0041596a
add esp, 8
test eax, eax
je 0x40e64b
push ebx
call fcn.0041630e
lea ecx, [esp + 0x40]
push ecx
mov edi, eax
call fcn.0041630e
lea eax, [edi + eax + 2]
lea edx, [eax + eax]
push edx
call fcn.004155f2
mov edi, eax
push ebx
push edi
call fcn.004172f0
push 0x423688
push edi
call fcn.004172c6
lea eax, [esp + 0x58]
push eax
push edi
call fcn.004172c6
mov al, byte [esp + 0x34]
add esp, 0x24
test al, 0x10
push edi
je 0x40e5c2
call fcn.0040e3e0
add esp, 4
jmp 0x40e642
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push str.DelFolder
mov esi, eax
call fcn.00406b70
add esp, 4
test eax, eax
jne 0x40e63e
push esi
push str._ret
push edi
push str.deleteFile:
push eax
push str.DelFolder
call fcn.0040a9c0
add esp, 8
mov ecx, eax
call fcn.0040d020
mov ecx, eax
call fcn.0040dcf0
mov ecx, eax
call fcn.0040d020
mov ecx, eax
call fcn.00403320
mov esi, eax
xor eax, eax
push 1
push eax
mov dword [0x42d048], eax
mov ecx, dword [esi + 0x240]
push eax
push ecx
push 1
mov ecx, esi
mov dword [esi + 0x248], eax
call fcn.0040af90
add esi, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [esp + 0xc]
push edi
call fcn.0041599c
add esp, 4
lea edx, [esp + 0x10]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40e530
test esi, esi
je 0x40e66a
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov esi, eax
test esi, esi
jne 0x40e6bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.DelFolder
mov edi, eax
call fcn.00406b70
add esp, 4
test eax, eax
jne 0x40e6bb
push 1
push edi
push 0x426c8c
push eax
push str.DelFolder
call fcn.0040a9c0
add esp, 8
mov ecx, eax
call fcn.0040d020
mov ecx, eax
call fcn.0040dbd0
mov ecx, eax
call fcn.0040b500
push str.DelFolder
call fcn.00406b70
add esp, 4
test eax, eax
jne 0x40e70b
push 1
push esi
push str._ret
push ebx
push str.Remove_directory:
push eax
push str.DelFolder
call fcn.0040a9c0
add esp, 8
mov ecx, eax
call fcn.0040d020
mov ecx, eax
call fcn.0040dcf0
mov ecx, eax
call fcn.0040d020
mov ecx, eax
call fcn.00403320
mov ecx, eax
call fcn.0040b500
mov ecx, dword [esp + 0x46c]
mov eax, 1
call fcn.0041575b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret