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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x470
mov eax, dword [0x4ad33b78]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x470], edi
mov dword [ebp - 0x460], esi
mov dword [esi], 1
call dword [sym.imp.msvcrt.dll_wcslen]
mov ebx, eax
test ebx, ebx
pop ecx
je 0x4ad179ee
lea eax, [ebx + 3]
cmp eax, 0x104
push edi
jg 0x4ad0fcba
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
mov ax, word [edi + ebx*2 - 2]
cmp ax, 0x3a
pop ecx
pop ecx
je 0x4ad0f9ca
cmp ax, 0x5c
je 0x4ad0f9ca
lea eax, [ebp - 0x20c]
push 0x4ad0136c
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
pop ecx
pop ecx
inc ebx
lea eax, [ebp - 0x20c]
push 0x4ad0604c
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
pop ecx
pop ecx
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x464], eax
je 0x4ad0ff63
cmp dword [0x4ad2b9e8], 0
jne 0x4ad0fc9b
lea edi, [ebp - 0x228]
mov eax, edi
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
je 0x4ad0fe83
add eax, ebx
cmp eax, 0x104
jge 0x4ad17b69
lea esi, [ebp + ebx*2 - 0x20c]
push edi
push esi
call dword [sym.imp.msvcrt.dll_wcscpy]
mov eax, dword [ebp - 0x45c]
mov edi, eax
and edi, 0x10
pop ecx
pop ecx
mov dword [ebp - 0x468], eax
jne 0x4ad0fe98
test al, 1
jne 0x4ad17a3d
test edi, edi
jne 0x4ad17a53
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x4ad17a74
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x464]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x4ad0fc9b
mov esi, dword [ebp - 0x460]
jmp 0x4ad0fa01
push dword [ebp - 0x464]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [0x4ad2b9e8], 0
jne 0x4ad17b87
push dword [ebp - 0x470]
call fcn.4ad0fcd3
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.4ad01305
leave
ret 8
lea edi, [ebp - 0x430]
mov eax, edi
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
jmp 0x4ad0fa26
test ah, 4
jne 0x4ad0fa5b
mov esi, dword [sym.imp.msvcrt.dll_wcscmp]
lea eax, [ebp - 0x430]
push 0x4ad01ab0
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x4ad0fa80
lea eax, [ebp - 0x430]
push 0x4ad01aa8
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x4ad0fa80
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.4ad0f946
cmp dword [0x4ad2b9e8], 0
jne 0x4ad0fc9b
xor esi, esi
cmp eax, esi
jne 0x4ad179f8
jmp 0x4ad0fa80
push edi
jmp 0x4ad0fcba
test edi, edi
jne 0x4ad0fa80
jmp 0x4ad0fa6b
mov eax, 0xa1
jmp 0x4ad0fcbf
cmp eax, 0x91
mov ecx, dword [ebp - 0x460]
mov dword [ecx], esi
jne 0x4ad17a13
cmp dword [ebp - 0x46c], esi
je 0x4ad0fa80
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad0606f
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.4ad0606f
pop ecx
pop ecx
jmp 0x4ad0fa80
and eax, 0xfffffffe
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x4ad0fa63
test byte [ebp - 0x467], 4
je 0x4ad0ff69
lea eax, [ebp - 0x20c]
push eax
call fcn.4ad0fcd3
test eax, eax
je 0x4ad0ff69
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4d3
je 0x4ad0fc9b
mov edi, dword [sym.imp.msvcrt.dll_wcslen]
lea eax, [ebp - 0x228]
push eax
call edi
test eax, eax
pop ecx
je 0x4ad17b22
and word [esi], 0
lea eax, [ebp - 0x430]
push eax
call edi
add eax, ebx
cmp eax, 0x104
pop ecx
jb 0x4ad17ae0
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad0606f
add esp, 0x14
jmp 0x4ad17b38
mov edi, dword [sym.imp.msvcrt.dll_wcscat]
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x20c]
push eax
call edi
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad0606f
and word [esi], 0
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x20c]
push eax
call edi
add esp, 0x1c
jmp 0x4ad17b38
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad0606f
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.4ad0606f
pop ecx
pop ecx
push dword [ebp - 0x468]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [ebp - 0x460]
and dword [eax], 0
jmp 0x4ad0fa80
and dword [esi], 0
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x2724
call fcn.4ad0606f
add esp, 0xc
jmp 0x4ad0fc9b
xor eax, eax
jmp 0x4ad0fcbf