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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd94
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x150], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00403364
xor eax, eax
push ebp
push 0x40411b
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4040d3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00403174
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0x5c
je 0x403ef3
lea eax, [ebp - 4]
mov edx, 0x404134
call fcn.0040317c
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x150]
mov ecx, 0x404140
mov edx, dword [ebp - 4]
call fcn.004031c0
mov eax, dword [ebp - 0x150]
call fcn.00403374
push eax
call sub.kernel32.dll_FindFirstFileA
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4040c9
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00403138
mov eax, dword [ebp - 0xc]
mov edx, 0x40414c
call fcn.004032c0
je 0x4040ae
mov eax, dword [ebp - 0xc]
mov edx, 0x404158
call fcn.004032c0
je 0x4040ae
mov eax, dword [ebp - 0x14c]
and eax, 0x10
cmp eax, 0x10
jne 0x403fd4
lea eax, [ebp - 0x154]
push eax
mov ecx, 6
mov edx, 1
mov eax, dword [0x406674]
call fcn.00403380
mov eax, dword [ebp - 0x154]
push eax
lea eax, [ebp - 0x158]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.004031c0
mov edx, dword [ebp - 0x158]
pop eax
call fcn.004033c0
test eax, eax
jne 0x403fd4
lea eax, [ebp - 0x15c]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.004031c0
mov eax, dword [ebp - 0x15c]
call fcn.00403e6c
jmp 0x4040ae
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00403174
mov edx, eax
sub edx, 2
mov ecx, 3
mov eax, dword [ebp - 0xc]
call fcn.00403380
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 0x25c]
mov ecx, 0xff
call fcn.00403150
lea edx, [ebp - 0x25c]
lea eax, [ebp - 8]
mov cl, 3
call fcn.004025d4
mov eax, 0x40415c
lea edx, [ebp - 8]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004025f0
je 0x404043
mov eax, 0x404160
lea edx, [ebp - 8]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004025f0
jne 0x404061
lea eax, [ebp - 0x264]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.004031c0
mov eax, dword [ebp - 0x264]
call fcn.00403b18
jmp 0x4040ae
cmp byte [0x4066ec], 0
je 0x4040ae
lea eax, [ebp - 0x268]
lea edx, [ebp - 8]
call fcn.0040312c
mov eax, dword [ebp - 0x268]
mov edx, 0x40416c
call fcn.004033c0
test eax, eax
je 0x4040ae
lea eax, [ebp - 0x26c]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.004031c0
mov eax, dword [ebp - 0x26c]
call fcn.00403374
push eax
call sub.kernel32.dll_DeleteFileA
lea eax, [ebp - 0x14c]
push eax
push ebx
call sub.kernel32.dll_FindNextFileA
test eax, eax
jne 0x403f29
push ebx
call sub.kernel32.dll_FindClose
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4040dd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x404122
lea eax, [ebp - 0x26c]
mov edx, 4
call fcn.0040301c
lea eax, [ebp - 0x15c]
mov edx, 4
call fcn.0040301c
lea eax, [ebp - 0xc]
call fcn.00402ff8
lea eax, [ebp - 4]
call fcn.00402ff8
ret