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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x4b0
mov rax, qword [0x4ad2e1c8]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
movsxd rbp, r8d
mov edi, 0x104
mov rsi, rdx
lea eax, [rbp + 3]
mov qword [rsp + 0x20], rdx
mov rbx, rcx
cmp eax, edi
jg 0x4ad2597c
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor r8d, r8d
cmp rax, 0xffffffffffffffff
jne 0x4ad25588
lea eax, [r8 + 0x10]
mov ecx, r8d
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x64], ecx
jmp 0x4ad2559c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x40]
xor r8d, r8d
test al, 0x10
je 0x4ad25979
bt eax, 0xa
jae 0x4ad255b4
bt ecx, 0x1d
jb 0x4ad25979
mov rdx, rdi
lea rax, [rsp + 0x290]
mov rdi, rbx
sub rdi, rax
lea rcx, [rsp + 0x290]
lea rax, [rdx + 0x7ffffefa]
cmp rax, r8
je 0x4ad255f0
movzx eax, word [rdi + rcx]
cmp ax, r8w
je 0x4ad255f0
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x4ad255cd
cmp rdx, r8
jne 0x4ad255f9
sub rcx, 2
cmp word [rbx + rbp*2 - 2], 0x3a
mov word [rcx], r8w
je 0x4ad25628
cmp word [rbx + rbp*2 - 2], 0x5c
je 0x4ad25628
lea r8, [0x4ad29784]
lea rcx, [rsp + 0x290]
mov edx, 0x104
call fcn.4ad01ac0
inc ebp
lea r8, [0x4ad299b0]
lea rcx, [rsp + 0x290]
mov edx, 0x104
call fcn.4ad01ac0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x30], rax
cmp rax, 0xffffffffffffffff
je 0x4ad25979
xor edx, edx
cmp dword [0x4ad2e19c], edx
jne 0x4ad25964
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x274]
repne scasw ax, word [rdi]
lea r9, [rsp + 0x274]
not rcx
dec rcx
cmp ecx, edx
jne 0x4ad256ab
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x6c]
lea r9, [rsp + 0x6c]
repne scasw ax, word [rdi]
not rcx
dec rcx
lea eax, [rbp + rcx]
mov ecx, 0x104
cmp eax, ecx
jge 0x4ad25950
mov rdx, rcx
movsxd rdi, ebp
mov r8, r9
lea rcx, [rsp + rdi*2 + 0x290]
sub rdx, rdi
call fcn.4ad01744
mov esi, dword [rsp + 0x40]
test sil, 0x10
je 0x4ad257b6
lea rsi, [rsp + 0x6c]
lea rdi, [0x4ad29788]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x4ad25930
lea rsi, [rsp + 0x6c]
lea rdi, [0x4ad2978c]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x4ad25930
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x290]
repne scasw ax, word [rdi]
xor r8d, r8d
mov edx, 1
not rcx
mov dword [rsp + 0x28], edx
dec rcx
cmp ecx, r8d
jne 0x4ad25746
mov eax, 0xa1
jmp 0x4ad2575f
mov r8d, ecx
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x290]
call fcn.4ad25524
mov edx, dword [rsp + 0x28]
xor ecx, ecx
cmp dword [0x4ad2e19c], ecx
jne 0x4ad25964
mov rsi, qword [rsp + 0x20]
cmp eax, ecx
je 0x4ad25935
mov dword [rsi], ecx
cmp eax, 0x91
jne 0x4ad2578b
cmp edx, ecx
je 0x4ad25935
lea r8, [rsp + 0x290]
mov edx, 1
mov ecx, 0x4000271b
call fcn.4ad0b8b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
mov ecx, eax
call fcn.4ad0b8b0
jmp 0x4ad25935
test sil, 1
je 0x4ad257cf
mov edx, esi
lea rcx, [rsp + 0x290]
and edx, 0xfffffffe
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
xor r8d, r8d
cmp eax, r8d
jne 0x4ad25930
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4d3
je 0x4ad25964
cmp eax, 3
jne 0x4ad25844
lea r8d, [rax + 1]
lea rdx, [0x4ad2a3b0]
lea rcx, [rsp + 0x290]
call qword [sym.imp.msvcrt.dll__wcsnicmp]
xor edx, edx
cmp eax, edx
je 0x4ad25846
lea rcx, [rsp + 0x290]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
cmp eax, 0x104
jle 0x4ad25844
mov ecx, 0x6f
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edx, edx
or r8, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x274]
mov rcx, r8
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x4ad258a6
movsxd rax, ebp
lea rdi, [rsp + 0x6c]
mov rcx, r8
mov word [rsp + rax*2 + 0x290], dx
xor eax, eax
mov edx, 0x104
repne scasw ax, word [rdi]
movsxd rdi, ebp
not rcx
dec rcx
add rcx, rdi
cmp rcx, rdx
lea rcx, [rsp + 0x290]
jb 0x4ad258e7
lea r8, [rsp + 0x274]
call fcn.4ad01ac0
lea r8, [rsp + 0x290]
mov edx, 1
mov ecx, 0x4000271b
call fcn.4ad0b8b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
mov ecx, eax
call fcn.4ad0b8b0
lea rcx, [rsp + 0x290]
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rsi, qword [rsp + 0x20]
xor eax, eax
mov dword [rsi], eax
jmp 0x4ad25935
lea r8, [rsp + 0x6c]
call fcn.4ad01ac0
lea r8, [rsp + 0x290]
mov edx, 1
mov ecx, 0x4000271b
call fcn.4ad0b8b0
xor r8d, r8d
lea rcx, [rsp + 0x290]
mov word [rsp + rdi*2 + 0x290], r8w
lea r8, [rsp + 0x274]
mov edx, 0x104
call fcn.4ad01ac0
jmp 0x4ad258bd
mov rsi, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
xor edx, edx
cmp eax, edx
je 0x4ad25964
jmp 0x4ad25665
mov dword [rsi], edx
mov r8, rbx
mov ecx, 0x400023da
mov edx, 2
call fcn.4ad0b8b0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
cmp dword [0x4ad2e19c], eax
jne 0x4ad25981
mov rcx, rbx
call fcn.4ad25460
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.4ad01000
mov rbx, qword [rsp + 0x4e8]
add rsp, 0x4b0
pop rdi
pop rsi
pop rbp
ret