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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x168
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
push esi
call fcn.004066ea
mov dword [ebp - 0x150], eax
add esp, 0xc
test edi, 8
je 0x406ac5
mov ebx, dword [0x42f8f0]
sub esp, 0xc
push esi
call sub.KERNEL32.dll_DeleteFileA
add esp, 0xc
test eax, eax
sete al
movzx eax, al
add eax, ebx
mov dword [0x42f8f0], eax
jmp 0x406cd5
mov eax, edi
and eax, 1
mov dword [ebp - 0x15c], eax
je 0x406aeb
cmp dword [ebp - 0x150], 0
je 0x406cc1
test edi, 2
je 0x406c7c
push ebx
push ebx
push esi
push 0x42dea8
call fcn.0040631c
mov al, byte [ebp - 0x15c]
mov byte [ebp - 0x155], al
pop edx
pop ecx
test al, al
je 0x406b1f
push eax
push eax
push str..
push 0x42dea8
call fcn.00406298
pop ebx
pop eax
jmp 0x406b2b
sub esp, 0xc
push esi
call fcn.004062aa
add esp, 0xc
cmp byte [esi], 0
jne 0x406b39
cmp byte [0x42dea8], 0x5c
jne 0x406b48
push ecx
push ecx
push 0x40a38d
push esi
call fcn.00406298
pop eax
pop edx
sub esp, 0xc
push esi
call fcn.004062a1
lea eax, [esi + eax]
mov dword [ebp - 0x154], eax
sub esp, 0xc
lea eax, [ebp - 0x14c]
push eax
push 0x42dea8
call sub.KERNEL32.dll_FindFirstFileA
mov ebx, eax
add esp, 0x18
cmp eax, 0xffffffff
je 0x406c57
push eax
push eax
push 0x3f
lea eax, [ebp - 0x120]
push eax
call fcn.0040614d
pop edx
pop ecx
lea edx, [ebp - 0x120]
cmp byte [eax], 0
je 0x406ba8
lea edx, [ebp - 0x1c]
cmp byte [ebp - 0x1c], 0
jne 0x406ba8
lea edx, [ebp - 0x120]
cmp byte [edx], 0x2e
jne 0x406bbe
mov al, byte [edx + 1]
test al, al
je 0x406c32
cmp al, 0x2e
jne 0x406bbe
cmp byte [edx + 2], 0
je 0x406c32
push ecx
push ecx
push edx
push dword [ebp - 0x154]
call fcn.0040631c
pop eax
pop edx
test byte [ebp - 0x14c], 0x10
je 0x406bec
mov eax, edi
and eax, 3
cmp eax, 3
jne 0x406c32
push eax
push eax
push edi
push esi
call fcn.00406a76
jmp 0x406c30
sub esp, 0xc
push esi
call fcn.004067e0
push esi
call sub.KERNEL32.dll_DeleteFileA
add esp, 0xc
test eax, eax
jne 0x406c26
test edi, 4
je 0x406c1e
push eax
push eax
push esi
push 0xfffffffffffffff1
call fcn.00403dbb
push 0
push esi
call fcn.00406873
jmp 0x406c30
inc dword [0x42f8f0]
jmp 0x406c32
push ecx
push ecx
push esi
push 0xfffffffffffffff2
call fcn.00403dbb
pop eax
pop edx
push eax
push eax
lea eax, [ebp - 0x14c]
push eax
push ebx
call sub.KERNEL32.dll_FindNextFileA
pop edx
pop ecx
test eax, eax
jne 0x406b7c
sub esp, 0xc
push ebx
call sub.KERNEL32.dll_FindClose
add esp, 0xc
cmp byte [ebp - 0x155], 0
je 0x406c6a
mov eax, dword [ebp - 0x154]
mov byte [eax - 1], 0
cmp dword [ebp - 0x15c], 0
je 0x406cd5
cmp dword [ebp - 0x150], 0
je 0x406cc1
sub esp, 0xc
push esi
call fcn.0040611a
add esp, 0xc
test eax, eax
je 0x406cd5
sub esp, 0xc
push esi
call fcn.004062df
push esi
call fcn.004067e0
push esi
call sub.KERNEL32.dll_RemoveDirectoryA
add esp, 0xc
test eax, eax
jne 0x406cc9
and edi, 4
je 0x406cc1
push eax
push eax
push esi
push 0xfffffffffffffff1
call fcn.00403dbb
push 0
push esi
call fcn.00406873
jmp 0x406cd3
inc dword [0x42f8f0]
jmp 0x406cd5
push edi
push edi
push esi
push 0xffffffffffffffe5
call fcn.00403dbb
pop ecx
pop ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret 8