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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd7c
xor edx, edx
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x27c], edx
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
call fcn.00405ae0
xor eax, eax
push ebp
push 0x45a9ba
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
call fcn.00405864
mov edx, dword [ebp - 4]
cmp word [edx + eax*2 - 2], 0x5c
jne 0x45a743
mov eax, dword [ebp - 4]
call fcn.00405864
mov edx, eax
dec edx
lea eax, [ebp - 4]
call fcn.00405a9c
mov eax, dword [ebp - 4]
call fcn.00405864
cmp eax, 1
jl 0x45a775
mov edx, dword [ebp - 4]
mov dx, word [edx + eax*2 - 2]
cmp dx, 0x5c
je 0x45a775
mov ecx, dword [ebp - 4]
cmp dx, 0x3a
jne 0x45a770
mov byte [ebp - 5], 0
jmp 0x45a971
dec eax
test eax, eax
jne 0x45a750
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x264]
mov ecx, 0x45a9cc
mov edx, dword [ebp - 4]
call fcn.004058d0
mov eax, dword [ebp - 0x264]
call fcn.00405854
push eax
call sub.KERNEL32.DLL_FindFirstFileW
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x45a950
xor edx, edx
push ebp
push 0x45a949
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x234]
mov ecx, 0x104
call fcn.00405828
mov eax, dword [ebp - 0x10]
mov edx, 0x45a9d8
call fcn.0040597c
je 0x45a91a
mov eax, dword [ebp - 0x10]
mov edx, 0x45a9e0
call fcn.0040597c
je 0x45a91a
mov eax, dword [ebp - 0x260]
and eax, 0x10
cmp eax, 0x10
sete al
test al, al
je 0x45a838
push dword [ebp - 4]
push 0x45a9ec
push dword [ebp - 0x10]
lea eax, [ebp - 0x268]
mov edx, 3
call fcn.00405934
mov eax, dword [ebp - 0x268]
call fcn.0045a6bc
and al, byte [ebp - 5]
mov byte [ebp - 5], al
jmp 0x45a91a
push dword [ebp - 4]
push 0x45a9ec
push dword [ebp - 0x10]
lea eax, [ebp - 0x26c]
mov edx, 3
call fcn.00405934
mov eax, dword [ebp - 0x26c]
call fcn.00405854
push eax
call sub.KERNEL32.DLL_DeleteFileW
test eax, eax
je 0x45a86e
cmp byte [ebp - 5], 0
jne 0x45a872
xor eax, eax
jmp 0x45a874
mov al, 1
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
jne 0x45a91a
lea eax, [ebp - 0x274]
call fcn.0045ed50
push dword [ebp - 0x274]
push dword [ebp - 0x10]
push 0x45a9d8
call sub.KERNEL32.DLL_GetTickCount
lea edx, [ebp - 0x27c]
call fcn.00458bb4
mov edx, dword [ebp - 0x27c]
lea eax, [ebp - 0x278]
call fcn.00405844
push dword [ebp - 0x278]
lea eax, [ebp - 0x270]
mov edx, 4
call fcn.00405934
mov eax, dword [ebp - 0x270]
push eax
push dword [ebp - 4]
push 0x45a9ec
push dword [ebp - 0x10]
lea eax, [ebp - 0x284]
mov edx, 3
call fcn.00405934
mov eax, dword [ebp - 0x284]
call fcn.00405854
mov edx, eax
lea eax, [ebp - 0x280]
call fcn.004057c8
mov eax, dword [ebp - 0x280]
pop edx
call fcn.0045acd4
mov byte [ebp - 5], al
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_FindNextFileW
test eax, eax
jne 0x45a7bb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45a950
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_FindClose
ret
mov eax, dword [ebp - 4]
call fcn.00405854
push eax
call sub.KERNEL32.DLL_RemoveDirectoryW
test eax, eax
je 0x45a968
cmp byte [ebp - 5], 0
jne 0x45a96c
xor eax, eax
jmp 0x45a96e
mov al, 1
mov byte [ebp - 5], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45a9c1
lea eax, [ebp - 0x284]
mov edx, 2
call fcn.00405678
lea eax, [ebp - 0x27c]
call fcn.00404f70
lea eax, [ebp - 0x278]
mov edx, 6
call fcn.00405678
lea eax, [ebp - 0x10]
call fcn.00405660
lea eax, [ebp - 4]
call fcn.00405660
ret