Function at 0x405af6
Capabilities:
Delete directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
push 0x6cc
mov eax, 0x463443
call fcn.00449140
mov edi, ecx
mov dword [ebp - 0x6d0], edi
xor eax, eax
lea esi, [ebp - 0x21c]
mov ebx, eax
mov edx, edi
mov dword [ebp - 0x6cc], ebx
sub esi, edi
movzx eax, word [edx]
mov word [esi + edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x405b21
lea ecx, [ebp - 0x21c]
sub ecx, 2
xor edx, edx
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
cmp ax, dx
jne 0x405b3b
mov eax, dword [0x46e7c8]
lea edx, [ebp - 0x424]
mov dword [ecx], eax
sub edx, edi
mov ax, word [0x46e7cc]
mov word [ecx + 4], ax
mov ecx, edi
movzx eax, word [ecx]
mov word [edx + ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x405b62
lea edi, [ebp - 0x424]
sub edi, 2
xor ecx, ecx
mov ax, word [edi + 2]
lea edi, [edi + 2]
cmp ax, cx
jne 0x405b7c
mov eax, dword [0x46e7d0]
mov dword [edi], eax
mov dword [ebp - 0x6c8], ecx
mov dword [ebp - 0x6c4], ecx
call fcn.0040743e
mov dword [ebp - 0x6c8], eax
lea eax, [ebp - 0x6bc]
xor edx, edx
push eax
lea eax, [ebp - 0x21c]
mov dword [ebp - 4], edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x405de1
lea ecx, [ebp - 0x690]
call fcn.00405a80
test eax, eax
jne 0x405dc4
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x43c]
call fcn.0040547b
lea eax, [ebp - 0x690]
mov byte [ebp - 4], 7
push eax
call fcn.00403400
pop ecx
push eax
lea eax, [ebp - 0x690]
push eax
lea ecx, [ebp - 0x43c]
call fcn.00406e12
test byte [ebp - 0x6bc], 0x10
je 0x405cee
cmp dword [ebp - 0x6c4], 0
je 0x405c83
lea eax, [ebp - 0x690]
push eax
lea ecx, [ebp - 0x454]
call fcn.0040547b
mov byte [ebp - 4], 8
lea edx, [ebp - 0x454]
or ebx, 1
lea ecx, [ebp - 0x46c]
mov dword [ebp - 0x6cc], ebx
call fcn.00403769
mov esi, dword [ebp - 0x6c8]
lea ecx, [ebp - 0x6c8]
push eax
lea eax, [ebp - 0x6d8]
or ebx, 2
push eax
call fcn.00406726
cmp dword [eax], esi
je 0x405c83
xor eax, eax
mov byte [ebp - 0x6bd], al
jmp 0x405c8c
mov byte [ebp - 0x6bd], 1
xor eax, eax
test bl, 2
je 0x405ca2
push eax
push 1
lea ecx, [ebp - 0x46c]
and ebx, 0xfffffffd
call fcn.00404662
mov dword [ebp - 4], 7
test bl, 1
je 0x405cc1
xor edx, edx
lea ecx, [ebp - 0x454]
push edx
push 1
and ebx, 0xfffffffe
call fcn.00404662
cmp byte [ebp - 0x6bd], 0
je 0x405db1
cmp dword [ebp - 0x428], 8
lea ecx, [ebp - 0x43c]
cmovae ecx, dword [ebp - 0x43c]
xor edx, edx
call fcn.00405af6
jmp 0x405db1
cmp dword [ebp - 0x6c4], 0
je 0x405d51
lea eax, [ebp - 0x690]
push eax
lea ecx, [ebp - 0x454]
call fcn.0040547b
mov byte [ebp - 4], 9
lea edx, [ebp - 0x454]
or ebx, 4
lea ecx, [ebp - 0x46c]
mov dword [ebp - 0x6cc], ebx
call fcn.00403769
mov esi, dword [ebp - 0x6c8]
lea ecx, [ebp - 0x6c8]
push eax
lea eax, [ebp - 0x6d4]
or ebx, 8
push eax
call fcn.00406726
cmp dword [eax], esi
je 0x405d51
xor eax, eax
mov byte [ebp - 0x6bd], al
jmp 0x405d5a
mov byte [ebp - 0x6bd], 1
xor eax, eax
test bl, 8
je 0x405d70
push eax
push 1
lea ecx, [ebp - 0x46c]
and ebx, 0xfffffff7
call fcn.00404662
mov dword [ebp - 4], 7
test bl, 4
je 0x405d8f
xor edx, edx
lea ecx, [ebp - 0x454]
push edx
push 1
and ebx, 0xfffffffb
call fcn.00404662
cmp byte [ebp - 0x6bd], 0
je 0x405db1
cmp dword [ebp - 0x428], 8
lea ecx, [ebp - 0x43c]
cmovae ecx, dword [ebp - 0x43c]
call fcn.00405982
xor eax, eax
lea ecx, [ebp - 0x43c]
push eax
push 1
mov byte [ebp - 4], al
call fcn.00404662
lea eax, [ebp - 0x6bc]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x405bca
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0x6d0]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, dword [ebp - 0x6c8]
mov esi, eax
push ecx
lea eax, [ebp - 0x6d4]
push dword [ecx]
lea ecx, [ebp - 0x6c8]
push eax
call fcn.00406f9a
push dword [ebp - 0x6c8]
call fcn.00442fe0
pop ecx
mov eax, esi
call fcn.004490ef
ret