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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc78
mov eax, dword [0x4ce724]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov word [ebp - 0x618], ax
xor ecx, ecx
mov dword [ebp - 0x616], ecx
xor edx, edx
mov word [ebp - 0x208], dx
push 0x1fe
push 0
lea eax, [ebp - 0x206]
push eax
call fcn.00467d60
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x610], cx
push 0x1fe
push 0
lea edx, [ebp - 0x60e]
push edx
call fcn.00467d60
add esp, 0xc
xor eax, eax
mov word [ebp - 0xa20], ax
push 0x1fe
push 0
lea ecx, [ebp - 0xa1e]
push ecx
call fcn.00467d60
add esp, 0xc
xor edx, edx
mov word [ebp - 0x410], dx
push 0x1fe
push 0
lea eax, [ebp - 0x40e]
push eax
call fcn.00467d60
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x820], cx
push 0x1fe
push 0
lea edx, [ebp - 0x81e]
push edx
call fcn.00467d60
add esp, 0xc
mov dword [ebp - 0x61c], 0
push 0x100
lea eax, [ebp - 0xa20]
push eax
push 0x100
lea ecx, [ebp - 0x610]
push ecx
push 0x100
lea edx, [ebp - 0x208]
push edx
push 3
lea eax, [ebp - 0x618]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046b69d
add esp, 0x24
lea edx, [ebp - 0x208]
push edx
lea eax, [ebp - 0x618]
push eax
push 0x4af128
push 0x100
lea ecx, [ebp - 0x410]
push ecx
call fcn.00468336
add esp, 0x14
lea edx, [ebp - 0xc78]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0xa24], eax
cmp dword [ebp - 0xa24], 0xffffffff
je 0x40d8c9
lea ecx, [ebp - 0xc4c]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x20c]
movzx eax, word [edx + 2]
test eax, eax
jne 0x40d80c
mov ecx, dword [ebp - 0x20c]
movzx edx, word [ecx]
cmp edx, 0x2e
jne 0x40d80c
jmp 0x40d8a0
mov eax, dword [ebp - 0x20c]
movzx ecx, word [eax + 4]
test ecx, ecx
jne 0x40d839
mov edx, dword [ebp - 0x20c]
movzx eax, word [edx]
cmp eax, 0x2e
jne 0x40d839
mov ecx, dword [ebp - 0x20c]
movzx edx, word [ecx + 2]
cmp edx, 0x2e
jne 0x40d839
jmp 0x40d8a0
lea eax, [ebp - 0xc4c]
push eax
lea ecx, [ebp - 0x410]
push ecx
push 0x4af134
push 0x100
lea edx, [ebp - 0x820]
push edx
call fcn.00468336
add esp, 0x14
mov eax, dword [ebp - 0xc78]
and eax, 0x10
jne 0x40d8a0
mov ecx, dword [ebp - 0xc78]
and ecx, 1
je 0x40d88d
mov edx, dword [ebp - 0xc78]
and edx, 0xfffffffe
push edx
lea eax, [ebp - 0x820]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x820]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x61c], eax
lea edx, [ebp - 0xc78]
push edx
mov eax, dword [ebp - 0xa24]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40d7dd
mov ecx, dword [ebp - 0xa24]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0xc], 0
je 0x40da04
lea edx, [ebp - 0x410]
push edx
push 0x4af140
push 0x100
lea eax, [ebp - 0x820]
push eax
call fcn.00468336
add esp, 0x10
lea ecx, [ebp - 0xc78]
push ecx
lea edx, [ebp - 0x820]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0xa24], eax
cmp dword [ebp - 0xa24], 0
je 0x40d91f
cmp dword [ebp - 0xa24], 0xffffffff
jne 0x40d926
xor eax, eax
jmp 0x40da0a
lea eax, [ebp - 0xc4c]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
movzx edx, word [ecx + 2]
test edx, edx
jne 0x40d955
mov eax, dword [ebp - 0x20c]
movzx ecx, word [eax]
cmp ecx, 0x2e
jne 0x40d955
jmp 0x40d9db
mov edx, dword [ebp - 0x20c]
movzx eax, word [edx + 4]
test eax, eax
jne 0x40d982
mov ecx, dword [ebp - 0x20c]
movzx edx, word [ecx]
cmp edx, 0x2e
jne 0x40d982
mov eax, dword [ebp - 0x20c]
movzx ecx, word [eax + 2]
cmp ecx, 0x2e
jne 0x40d982
jmp 0x40d9db
mov edx, dword [ebp - 0xc78]
and edx, 0x10
je 0x40d9db
lea eax, [ebp - 0xa20]
push eax
lea ecx, [ebp - 0x610]
push ecx
mov edx, dword [ebp - 0x20c]
push edx
lea eax, [ebp - 0x410]
push eax
push 0x4af14c
push 0x100
lea ecx, [ebp - 0x820]
push ecx
call fcn.00468336
add esp, 0x1c
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x820]
push eax
call fcn.0040d690
add esp, 8
mov dword [ebp - 0x61c], eax
lea ecx, [ebp - 0xc78]
push ecx
mov edx, dword [ebp - 0xa24]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40d926
mov eax, dword [ebp - 0xa24]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x61c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00467d4f
mov esp, ebp
pop ebp
ret