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

Disassembly:
sub esp, 0x248
push ebx
push ebp
push esi
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
rep stosd dword es:[edi], eax
mov ebx, dword [esp + 0x25c]
stosw word es:[edi], ax
push ebx
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x41348c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x248
ret
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xff
jbe 0x4134b5
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x248
ret
push 0x103
lea eax, [esp + 0x18]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
lea ecx, [esp + 0x20]
push 0x5c
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edx, eax
lea edi, [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + ecx + 0x14]
cmp edx, eax
je 0x41351c
mov edi, 0x42d2d0
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x42eb98
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x118]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x10], esi
jne 0x413575
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x248
ret
mov ebp, dword [esp + 0x264]
push 0x103
lea edx, [esp + 0x18]
push ebx
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
lea edi, [esp + 0x150]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x14]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
cmp edx, 0x103
ja 0x413617
mov edi, 0x42d2d0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x14]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x144]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
test byte [esp + 0x118], 0x10
je 0x41364b
cmp byte [esp + 0x144], 0x2e
je 0x41366a
mov eax, dword [esp + 0x260]
test eax, eax
je 0x41366a
push ebp
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00413450
add esp, 0xc
test eax, eax
je 0x4136aa
jmp 0x41366a
lea ecx, [esp + 0x14]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test ebp, ebp
jne 0x41366a
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x118]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x41357c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
push esi
je 0x4136a0
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x248
ret
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
jne 0x4136b7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x248
ret
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x248
ret