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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea edi, [ebp - 0x2f0]
sub esp, 0x32c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x2f8], edi
mov ebx, dword [eax + 4]
mov esi, dword [eax]
add ebx, ebx
mov eax, esi
add eax, ebx
je 0x450716
test esi, esi
je 0x451372
mov eax, ebx
sar eax, 1
cmp eax, 7
mov edx, eax
mov dword [ebp - 0x268], eax
ja 0x450ae0
cmp eax, 1
jne 0x451110
movzx eax, word [esi]
xor ebx, ebx
mov dword [ebp - 0x2f4], 1
mov word [ebp - 0x2ee], bx
cmp ax, 0x5c
mov word [ebp - 0x2f0], ax
jne 0x451140
lea eax, [ebp - 0x2d8]
lea ebx, [ebp - 0x2f0]
mov dword [ebp - 0x300], 2
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x300]
sar eax, 1
cmp eax, 7
mov edx, eax
mov dword [ebp - 0x2c8], eax
ja 0x450a85
cmp eax, 1
jne 0x451123
movzx eax, word [ebx]
mov word [ebp - 0x2d8], ax
mov eax, dword [ebp - 0x2fc]
xor ebx, ebx
mov dword [ebp - 0x2dc], edx
mov word [eax + edx*2], bx
mov dword [esp], 0x74569c
call sub.msvcrt.dll_wcslen
mov edx, 0x3fffffff
sub edx, dword [ebp - 0x2dc]
cmp eax, edx
ja 0x451314
lea ecx, [ebp - 0x2e0]
mov dword [esp + 4], eax
mov dword [esp], 0x74569c
call fcn.006c6070
lea eax, [ebp - 0x268]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2e0]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
sub esp, 8
cmp eax, 0xffffffff
mov ebx, eax
je 0x450be0
mov eax, dword [ebp - 0x268]
test al, 4
jne 0x45084d
test al, 0x10
je 0x4508b0
lea esi, [ebp - 0x23c]
mov dword [esp + 4], 0x7456a4
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
mov dword [esp], esi
call edi
test eax, eax
jne 0x450c70
lea eax, [ebp - 0x268]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
sub esp, 8
test eax, eax
jne 0x45081a
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
sub esp, 4
mov eax, dword [ebp - 0x2e0]
cmp eax, dword [ebp - 0x2fc]
je 0x450889
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2f8]
lea edi, [ebp - 0x2f0]
cmp eax, edi
je 0x4508a1
mov dword [esp], eax
call fcn.006febf0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea eax, [ebp - 0x298]
lea esi, [ebp - 0x23c]
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x290]
mov dword [esp], esi
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x298], eax
call sub.msvcrt.dll_wcslen
lea edi, [eax + eax]
mov edx, edi
sar edx, 1
cmp edx, 7
mov dword [ebp - 0x280], edx
ja 0x450c14
cmp edx, 1
mov eax, dword [ebp - 0x298]
jne 0x451160
movzx ecx, word [ebp - 0x23c]
mov word [eax], cx
xor esi, esi
mov dword [ebp - 0x294], edx
mov ecx, dword [ebp - 0x304]
mov word [eax + edx*2], si
mov eax, dword [ebp - 0x2f4]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2f8]
mov dword [esp + 8], eax
call fcn.006c4010
lea edi, [ebp - 0x278]
lea edx, [eax + 8]
sub esp, 0x10
mov dword [ebp - 0x280], edi
mov ecx, dword [eax]
mov dword [ebp - 0x300], edi
cmp ecx, edx
je 0x451192
mov dword [ebp - 0x280], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x278], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x27c], ecx
mov dword [eax], edx
xor ecx, ecx
mov edx, dword [ebp - 0x280]
cmp edx, dword [ebp - 0x300]
mov dword [eax + 4], 0
mov word [eax + 8], cx
mov eax, dword [ebp - 0x2e0]
je 0x451170
cmp eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x27c]
je 0x4510f0
test eax, eax
mov edi, dword [ebp - 0x2d8]
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x2dc], esi
mov dword [ebp - 0x2d8], ecx
je 0x450a05
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x278], edi
xor edx, edx
cmp eax, dword [ebp - 0x300]
mov dword [ebp - 0x27c], 0
mov word [eax], dx
je 0x450a05
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x30c]
je 0x450a1b
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [eax + 0x138]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], ecx
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [edx + 0x28]
mov eax, dword [ebp - 0x2e0]
sub esp, 0x14
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [ebp - 0x2e0]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 4
jmp 0x45084d
lea eax, [ebp - 0x2c8]
lea ecx, [ebp - 0x2e0]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x2c8]
sub esp, 8
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2d8], edx
mov esi, dword [ebp - 0x300]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 8], esi
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x2e0]
jmp 0x4507af
lea eax, [ebp - 0x268]
lea ecx, [ebp - 0x2f8]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x268]
sub esp, 8
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f0], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x268]
mov ebx, dword [ebp - 0x2f8]
lea eax, [edx + edx]
xor ecx, ecx
mov dword [ebp - 0x2f4], edx
mov dword [ebp - 0x300], eax
add eax, ebx
mov word [eax], cx
cmp word [ebx + edx*2 - 2], 0x5c
je 0x450bba
lea edi, [ebp - 0x2f0]
lea esi, [edx + 1]
cmp ebx, edi
je 0x451389
mov ecx, dword [ebp - 0x2f0]
cmp esi, ecx
jbe 0x450b9d
lea ecx, [ebp - 0x2f8]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edx
call fcn.006c6250
mov ebx, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x300]
sub esp, 0x10
add eax, ebx
mov edi, 0x5c
mov word [eax], di
lea eax, [esi + esi]
mov dword [ebp - 0x2f4], esi
mov dword [ebp - 0x300], eax
xor eax, eax
mov word [ebx + esi*2], ax
lea eax, [ebp - 0x2d8]
test ebx, ebx
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x2e0], eax
jne 0x45077d
mov dword [esp], 0x745600
call fcn.006e4530
mov eax, dword [ebp - 0x2e0]
cmp eax, dword [ebp - 0x2fc]
je 0x450bf6
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2f8]
lea esi, [ebp - 0x2f0]
cmp eax, esi
jne 0x450899
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea eax, [ebp - 0x280]
mov ecx, dword [ebp - 0x304]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x280]
sub esp, 8
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x290], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x298]
jmp 0x45090b
mov dword [esp + 4], 0x7456a8
mov dword [esp], esi
call edi
test eax, eax
je 0x45084d
lea eax, [ebp - 0x298]
mov dword [esp], esi
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x290]
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x298], eax
call sub.msvcrt.dll_wcslen
lea edi, [eax + eax]
mov edx, edi
sar edx, 1
cmp edx, 7
mov dword [ebp - 0x2b0], edx
ja 0x451220
cmp edx, 1
mov eax, dword [ebp - 0x298]
jne 0x451289
movzx ecx, word [ebp - 0x23c]
mov word [eax], cx
xor ecx, ecx
mov dword [ebp - 0x294], edx
mov word [eax + edx*2], cx
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x304]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2f8]
mov dword [esp + 8], eax
call fcn.006c4010
lea esi, [ebp - 0x278]
lea edx, [eax + 8]
sub esp, 0x10
mov dword [ebp - 0x280], esi
mov ecx, dword [eax]
mov dword [ebp - 0x300], esi
cmp ecx, edx
je 0x451293
mov dword [ebp - 0x280], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x278], ecx
mov ecx, dword [eax + 4]
xor edi, edi
mov dword [ebp - 0x27c], ecx
mov dword [eax], edx
mov edx, dword [ebp - 0x280]
cmp edx, dword [ebp - 0x300]
mov dword [eax + 4], 0
mov word [eax + 8], di
mov eax, dword [ebp - 0x2e0]
je 0x4512bc
cmp eax, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
je 0x451272
test eax, eax
mov edi, dword [ebp - 0x2d8]
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x2dc], esi
mov dword [ebp - 0x2d8], ecx
je 0x450dd4
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x278], edi
xor esi, esi
cmp eax, dword [ebp - 0x300]
mov dword [ebp - 0x27c], 0
mov word [eax], si
je 0x450dd4
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x30c]
je 0x450dea
mov dword [esp], eax
call fcn.006febf0
mov dword [ebp - 0x310], 3
mov eax, dword [ebp - 0x300]
mov edi, dword [ebp - 0x2e0]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x2dc]
lea esi, [eax + eax]
mov eax, edi
add eax, esi
je 0x450e1d
test edi, edi
je 0x451408
mov eax, esi
sar eax, 1
cmp eax, 7
mov edx, eax
mov dword [ebp - 0x298], eax
ja 0x4511bb
cmp eax, 1
jne 0x45120d
movzx eax, word [edi]
mov word [ebp - 0x278], ax
mov eax, dword [ebp - 0x300]
xor ecx, ecx
mov dword [ebp - 0x27c], edx
mov word [eax + edx*2], cx
lea eax, [ebp - 0x280]
mov ecx, dword [ebp - 0x308]
mov dword [esp], eax
call fcn.004506e0
sub esp, 4
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x300]
je 0x450e84
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2e0]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
sub esp, 4
test eax, eax
jne 0x45084d
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
sub dword [ebp - 0x310], 1
jne 0x450df4
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [ebp - 0x2b0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x7456ae
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x44f8a0
mov dword [esp], esi
call fcn.0044fde0
mov dword [esp], 0x7456b4
call sub.msvcrt.dll_wcslen
mov dword [esp + 8], 0x7456b4
mov dword [esp + 0xc], eax
mov ecx, esi
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.006c4010
mov edx, eax
mov eax, dword [ebp - 0x30c]
sub esp, 0x10
lea esi, [edx + 8]
mov dword [ebp - 0x298], eax
mov eax, dword [edx]
mov dword [ebp - 0x310], esi
cmp eax, esi
je 0x4512f0
mov dword [ebp - 0x298], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x290], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x310]
mov dword [edx + 4], 0
mov dword [edx], eax
xor eax, eax
mov word [edx + 8], ax
mov dword [esp], str._removing_directory
call sub.msvcrt.dll_wcslen
mov edx, 0x3fffffff
sub edx, dword [ebp - 0x294]
cmp eax, edx
ja 0x451397
mov ecx, dword [ebp - 0x304]
mov dword [esp + 4], eax
mov dword [esp], str._removing_directory
call fcn.006c6070
mov edx, eax
mov eax, dword [ebp - 0x300]
sub esp, 8
lea esi, [edx + 8]
mov dword [ebp - 0x280], eax
mov eax, dword [edx]
mov dword [ebp - 0x304], esi
cmp eax, esi
je 0x4512de
mov dword [ebp - 0x280], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x278], eax
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x304]
mov dword [edx + 4], 0
mov dword [edx], eax
xor eax, eax
mov word [edx + 8], ax
mov eax, dword [ebp - 0x2dc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2e0]
mov dword [esp], eax
call fcn.006c6070
mov edx, eax
lea eax, [ebp - 0x2c0]
sub esp, 8
lea esi, [edx + 8]
mov dword [ebp - 0x2c8], eax
mov eax, dword [edx]
mov dword [ebp - 0x304], esi
cmp eax, esi
je 0x451302
mov dword [ebp - 0x2c8], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x2c0], eax
mov eax, dword [edx + 4]
xor edi, edi
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x304]
mov dword [edx + 4], 0
mov word [edx + 8], di
mov dword [edx], eax
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x300]
je 0x451075
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x30c]
je 0x45108b
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2b0]
lea edx, [ebp - 0x2a8]
cmp eax, edx
je 0x4510a3
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2c8]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], str.Error
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [ebp - 0x2c8]
lea esi, [ebp - 0x2c0]
sub esp, 0x10
cmp eax, esi
je 0x45084d
mov dword [esp], eax
call fcn.006febf0
jmp 0x45084d
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x2dc], esi
mov dword [ebp - 0x2d8], ecx
jmp 0x450a05
test eax, eax
jne 0x45137e
lea ebx, [ebp - 0x2f0]
jmp 0x450b2d
test eax, eax
mov eax, dword [ebp - 0x2fc]
je 0x4507af
jmp 0x450ab6
mov esi, 2
lea eax, [ebp - 0x2ee]
lea ebx, [ebp - 0x2f0]
jmp 0x450b9d
test edx, edx
je 0x45090b
jmp 0x450c45
lea eax, [ebp - 0x280]
lea ecx, [ebp - 0x2e0]
mov dword [esp], eax
call fcn.006c6110
mov eax, dword [ebp - 0x280]
sub esp, 4
jmp 0x4509e6
mov ecx, dword [eax + 8]
mov dword [ebp - 0x278], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x274], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x270], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x26c], ecx
jmp 0x450976
mov eax, dword [ebp - 0x304]
lea ecx, [ebp - 0x280]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x298]
sub esp, 8
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x278], edx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x280]
jmp 0x450e4b
test eax, eax
mov eax, dword [ebp - 0x300]
je 0x450e4b
jmp 0x4511ec
lea eax, [ebp - 0x2b0]
mov ecx, dword [ebp - 0x304]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.006c61c0
mov edx, dword [ebp - 0x2b0]
sub esp, 8
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x290], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x298]
jmp 0x450cda
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x2dc], esi
mov dword [ebp - 0x2d8], ecx
jmp 0x450dd4
test edx, edx
je 0x450cda
jmp 0x451251
mov ecx, dword [eax + 8]
mov dword [ebp - 0x278], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x274], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x270], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x26c], ecx
jmp 0x450d45
lea eax, [ebp - 0x280]
lea ecx, [ebp - 0x2e0]
mov dword [esp], eax
call fcn.006c6110
mov eax, dword [ebp - 0x280]
sub esp, 4
jmp 0x450db5
mov ecx, 4
mov edi, dword [ebp - 0x300]
rep movsd dword es:[edi], dword [esi]
jmp 0x450fd2
mov ecx, 4
mov edi, dword [ebp - 0x30c]
rep movsd dword es:[edi], dword [esi]
jmp 0x450f4c
mov ecx, 4
lea edi, [ebp - 0x2c0]
rep movsd dword es:[edi], dword [esi]
jmp 0x451041
mov dword [esp], 0x74564c
call fcn.006e46c0
mov ebx, eax
mov eax, dword [ebp - 0x2e0]
cmp eax, dword [ebp - 0x2fc]
je 0x451338
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2f8]
lea esi, [ebp - 0x2f0]
cmp eax, esi
je 0x451350
mov dword [esp], eax
call fcn.006febf0
mov dword [esp], ebx
call fcn.005e6130
mov ebx, eax
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x30c]
je 0x451322
mov dword [esp], eax
call fcn.006febf0
jmp 0x451322
mov dword [esp], 0x745600
call fcn.006e4530
lea eax, [ebp - 0x2f0]
jmp 0x450b11
mov ecx, 7
jmp 0x450b62
mov dword [esp], 0x74564c
call fcn.006e46c0
mov ebx, eax
mov eax, dword [ebp - 0x280]
cmp eax, dword [ebp - 0x300]
je 0x4513bb
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x30c]
je 0x4513d1
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2b0]
lea edx, [ebp - 0x2a8]
cmp eax, edx
jne 0x451368
jmp 0x451322
mov dword [esp], 0x745600
call fcn.006e4530
mov ebx, eax
mov eax, dword [ebp - 0x2c8]
lea esi, [ebp - 0x2c0]
cmp eax, esi
jne 0x451368
jmp 0x451322