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

Disassembly:
sub esp, 0x344
push ebx
push ebp
mov ebp, dword [esp + 0x350]
lea eax, [esp + 0x14c]
push ebp
push str._s
push eax
call fcn.00402240
add esp, 0xc
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 8], ebx
jne 0x401bde
xor al, al
pop ebp
pop ebx
add esp, 0x344
ret
mov al, byte [esp + 0xc]
push edi
test al, 0x10
push esi
je 0x401cb9
mov al, byte [esp + 0x35c]
test al, al
je 0x401d06
lea esi, [esp + 0x40]
mov eax, 0x4bff5c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401c28
test cl, cl
je 0x401c24
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401c28
add eax, 2
add esi, 2
test cl, cl
jne 0x401c04
xor eax, eax
jmp 0x401c2d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401d06
lea esi, [esp + 0x40]
mov eax, 0x4bff58
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401c62
test cl, cl
je 0x401c5e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401c62
add eax, 2
add esi, 2
test cl, cl
jne 0x401c3e
xor eax, eax
jmp 0x401c67
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401d06
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x40]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 2]
push eax
call fcn.00402400
add esp, 4
lea ecx, [esp + 0x40]
mov esi, eax
push ecx
push ebp
push 0x4bff50
push esi
call fcn.00402240
add esp, 0x10
push 1
push esi
call fcn.00401b90
add esp, 8
jmp 0x401cfd
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x40]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 2]
push eax
call fcn.00402400
add esp, 4
lea ecx, [esp + 0x40]
mov esi, eax
push ecx
push ebp
push 0x4bff50
push esi
call fcn.00402240
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call fcn.004023b0
add esp, 4
lea edx, [esp + 0x14]
push edx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
call ebx
test eax, eax
je 0x401e5b
test byte [esp + 0x14], 0x10
je 0x401dfa
mov al, byte [esp + 0x35c]
test al, al
je 0x401e47
lea esi, [esp + 0x40]
mov eax, 0x4bff5c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401d63
test cl, cl
je 0x401d5f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401d63
add eax, 2
add esi, 2
test cl, cl
jne 0x401d3f
xor eax, eax
jmp 0x401d68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401e47
lea esi, [esp + 0x40]
mov eax, 0x4bff58
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401d9d
test cl, cl
je 0x401d99
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401d9d
add eax, 2
add esi, 2
test cl, cl
jne 0x401d79
xor eax, eax
jmp 0x401da2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401e47
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x40]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 2]
push eax
call fcn.00402400
add esp, 4
lea ecx, [esp + 0x40]
mov esi, eax
push ecx
push ebp
push 0x4bff50
push esi
call fcn.00402240
mov edx, dword [esp + 0x36c]
add esp, 0x10
push edx
push esi
call fcn.00401b90
add esp, 8
jmp 0x401e3e
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x40]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 2]
push eax
call fcn.00402400
add esp, 4
lea ecx, [esp + 0x40]
mov esi, eax
push ecx
push ebp
push 0x4bff50
push esi
call fcn.00402240
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call fcn.004023b0
add esp, 4
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
push eax
call ebx
test eax, eax
jne 0x401d1c
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebp
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x401e77
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop esi
pop edi
pop ebp
mov al, 1
pop ebx
add esp, 0x344
ret