Function at 0x44228717
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push ebp
sub esp, 0x288
lea ebp, [esp - 4]
mov eax, dword [0x442bd0c0]
xor eax, ebp
mov dword [ebp + 0x288], eax
push 0x60
mov eax, 0x4428188c
call fcn.4427ccc2
mov ebx, dword [ebp + 0x294]
xor edi, edi
push 0x24c
lea eax, [ebp + 4]
push edi
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp], edi
call sub.MSVCR90.dll_memset
mov esi, dword [sym.imp.MSVCP90.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__]
push 0x4428991c
lea eax, [ebp + 0x26c]
push ebx
push eax
call esi
add esp, 0x18
lea eax, [ebp]
push eax
lea ecx, [ebp + 0x26c]
mov dword [ebp - 4], edi
call dword [sym.imp.MSVCP90.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
je 0x442288ff
mov edi, 0x44282e50
push 0x44289918
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const__]
or dword [ebp - 0x14], 1
lea ecx, [ebp + 0x2c]
push ecx
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator__unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__]
pop ecx
pop ecx
test al, al
je 0x442287ee
push 0x44289910
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const__]
push 2
pop ecx
or dword [ebp - 0x14], ecx
mov dword [ebp - 4], ecx
lea ecx, [ebp + 0x2c]
push ecx
push eax
call dword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator__unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__]
pop ecx
pop ecx
mov byte [ebp - 0xd], 1
test al, al
jne 0x442287f2
mov byte [ebp - 0xd], 0
test byte [ebp - 0x14], 2
mov dword [ebp - 4], 1
je 0x4422880c
and dword [ebp - 0x14], 0xfffffffd
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
and dword [ebp - 4], 0
test byte [ebp - 0x14], 1
je 0x44228823
and dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
cmp byte [ebp - 0xd], 0
je 0x442288d2
test byte [ebp], 0x10
push edi
push ebx
je 0x44228869
lea eax, [ebp - 0x50]
push eax
call esi
lea ecx, [ebp + 0x2c]
push ecx
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 3
call esi
push eax
mov byte [ebp - 4], 4
call fcn.44228717
add esp, 0x1c
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [ebp - 0x50]
jmp 0x442288c8
lea eax, [ebp - 0x6c]
push eax
call esi
lea ecx, [ebp + 0x2c]
push ecx
push eax
lea eax, [ebp + 0x250]
push eax
mov byte [ebp - 4], 5
call esi
add esp, 0x18
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov eax, dword [ebp]
test al, 1
je 0x442288af
and eax, 0xfffffffe
push eax
lea ecx, [ebp + 0x250]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp + 0x250]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp + 0x250]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea eax, [ebp]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4422879b
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, ebx
call dword [sym.imp.MSVCP90.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x26c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x288]
xor ecx, ebp
call fcn.4427cc16
add ebp, 0x28c
leave
ret