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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x474
mov eax, dword [0x4ad33b38]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push edi
push ebx
mov dword [ebp - 0x460], ebx
mov dword [ebp - 0x468], eax
mov dword [eax], 1
call dword [sym.imp.msvcrt.dll_wcslen]
mov edi, eax
test edi, edi
pop ecx
mov dword [ebp - 0x464], edi
je 0x4ad18092
lea eax, [edi + 3]
cmp eax, 0x104
jg 0x4ad1809c
push esi
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea eax, [ebp - 0x45c]
push eax
push ebx
call esi
cmp eax, 0xffffffff
je 0x4ad180a7
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test byte [ebp - 0x45c], 0x10
je 0x4ad115f7
test byte [ebp - 0x45b], 4
jne 0x4ad180bd
lea eax, [ebp - 0x20c]
push ebx
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
mov ax, word [ebx + edi*2 - 2]
cmp ax, 0x3a
mov ebx, dword [sym.imp.msvcrt.dll_wcscat]
pop ecx
pop ecx
je 0x4ad114f5
cmp ax, 0x5c
je 0x4ad114f5
lea eax, [ebp - 0x20c]
push 0x4ad0300c
push eax
call ebx
pop ecx
inc edi
pop ecx
mov dword [ebp - 0x464], edi
lea eax, [ebp - 0x20c]
push 0x4ad0ae18
push eax
call ebx
pop ecx
pop ecx
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x20c]
push eax
call esi
cmp eax, 0xffffffff
mov dword [ebp - 0x46c], eax
je 0x4ad180cf
cmp dword [0x4ad2b9a8], 0
jne 0x4ad115d8
mov esi, dword [sym.imp.msvcrt.dll_wcslen]
lea edi, [ebp - 0x228]
mov eax, edi
push eax
call esi
test eax, eax
pop ecx
jne 0x4ad11553
lea edi, [ebp - 0x430]
mov eax, edi
push eax
call esi
pop ecx
mov ecx, dword [ebp - 0x464]
add eax, ecx
cmp eax, 0x104
push edi
jge 0x4ad1829f
lea esi, [ebp + ecx*2 - 0x20c]
push esi
call dword [sym.imp.msvcrt.dll_wcscpy]
mov eax, dword [ebp - 0x45c]
test al, 0x10
pop ecx
pop ecx
mov dword [ebp - 0x474], eax
je 0x4ad18149
mov esi, dword [sym.imp.msvcrt.dll_wcscmp]
lea eax, [ebp - 0x430]
push 0x4ad02d34
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x4ad115bd
lea eax, [ebp - 0x430]
push 0x4ad02d2c
push eax
call esi
test eax, eax
pop ecx
pop ecx
jne 0x4ad180da
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x46c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4ad11524
push dword [ebp - 0x46c]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [0x4ad2b9a8], 0
jne 0x4ad182c2
mov ebx, dword [ebp - 0x460]
push ebx
call fcn.4ad11611
pop esi
mov ecx, dword [ebp - 4]
pop edi
pop ebx
call fcn.4ad01389
leave
ret 8
mov eax, 0xa1
jmp 0x4ad115fe
push ebx
call fcn.4ad11611
jmp 0x4ad115fe
and dword [ebp - 0x438], 0
mov dword [ebp - 0x45c], 0x10
jmp 0x4ad1149d
test byte [ebp - 0x435], 0x20
je 0x4ad114b7
jmp 0x4ad115f7
push dword [ebp - 0x460]
jmp 0x4ad115f8
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.4ad11429
cmp dword [0x4ad2b9a8], 0
jne 0x4ad115d8
xor esi, esi
cmp eax, esi
je 0x4ad115bd
cmp eax, 0x91
mov ecx, dword [ebp - 0x468]
mov dword [ecx], esi
jne 0x4ad1811f
cmp dword [ebp - 0x470], esi
je 0x4ad115bd
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad050c9
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.4ad050c9
pop ecx
pop ecx
jmp 0x4ad115bd
test al, 1
je 0x4ad1815e
and eax, 0xfffffffe
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4ad115bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4d3
je 0x4ad115d8
cmp eax, 3
jne 0x4ad181c5
push 4
lea eax, [ebp - 0x20c]
push 0x4ad182cc
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x4ad181c5
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
cmp eax, 0x104
jle 0x4ad181c5
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [sym.imp.msvcrt.dll_wcslen]
lea eax, [ebp - 0x228]
push eax
call edi
test eax, eax
pop ecx
je 0x4ad18258
and word [esi], 0
lea eax, [ebp - 0x430]
push eax
call edi
add eax, dword [ebp - 0x464]
pop ecx
cmp eax, 0x104
jb 0x4ad1821c
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x20c]
push eax
call ebx
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad050c9
add esp, 0x14
jmp 0x4ad1826e
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x20c]
push eax
call ebx
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad050c9
and word [esi], 0
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x20c]
push eax
call ebx
add esp, 0x1c
jmp 0x4ad1826e
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x271b
call fcn.4ad050c9
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.4ad050c9
pop ecx
pop ecx
push dword [ebp - 0x474]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [ebp - 0x468]
and dword [eax], 0
jmp 0x4ad115bd
push dword [ebp - 0x460]
mov eax, dword [ebp - 0x468]
and dword [eax], 0
push 2
push 0x23d8
call fcn.4ad050c9
add esp, 0x10
jmp 0x4ad115d8
xor eax, eax
jmp 0x4ad115fd