Function at 0x102e619
Capabilities:
Delete file
Enumerate files on windows
Enumerate files recursively
Get common file path
Set current directory
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1678
call fcn.01031a20
mov eax, dword [0x1046190]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x1670], eax
mov dword [ebp - 0x1668], ebx
je 0x102eb88
cmp word [eax], bx
je 0x102eb88
cmp dword [0x1048760], ebx
push esi
push edi
mov esi, 0x104
jne 0x102e81e
push 0x103
mov ebx, 0x1048558
push ebx
mov dword [0x1048760], 1
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
mov edi, 0x10062b0
je 0x102e6bc
push ebx
call fcn.01032458
push ebx
push esi
push 0x1048350
call fcn.01028a67
push 0x1006298
push esi
push ebx
call fcn.01028adc
push 0x1006280
push esi
push 0x1048350
call fcn.01028adc
jmp 0x102e6d0
push edi
push esi
push ebx
call fcn.01028a67
push edi
push esi
push 0x1048350
call fcn.01028a67
push 0x103
mov ebx, 0x1048148
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x102e6f9
push ebx
call fcn.01032458
push 0x1006268
push esi
push ebx
call fcn.01028adc
jmp 0x102e701
push edi
push esi
push ebx
call fcn.01028a67
push esi
push 1
push 0x1047f40
call fcn.01034382
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
je 0x102e74c
push 0x1047f40
call fcn.01032458
push 0x1002f30
push esi
push 0x1047f40
call fcn.01028adc
push esi
push 0x1047d38
push 0x1047f40
call ebx
test eax, eax
jne 0x102e764
push edi
push esi
push 0x1047d38
jmp 0x102e75f
push edi
push esi
push 0x1047d38
call fcn.01028a67
push edi
push esi
push 0x1047f40
call fcn.01028a67
push esi
push 1
push 0x1047b30
call fcn.01034382
test eax, eax
je 0x102e7a9
push 0x1047b30
call fcn.01032458
push 0x1002f14
push esi
push 0x1047b30
call fcn.01028adc
push esi
push 0x1047928
push 0x1047b30
call ebx
test eax, eax
jne 0x102e7c1
push edi
push esi
push 0x1047928
jmp 0x102e7bc
push edi
push esi
push 0x1047928
call fcn.01028a67
push edi
push esi
push 0x1047b30
call fcn.01028a67
push esi
push 0x1047720
call fcn.01030ac5
test eax, eax
je 0x102e804
push 0x1047720
call fcn.01032458
push 0x1002f14
push esi
push 0x1047720
call fcn.01028adc
push esi
push 0x1047518
push 0x1047720
call ebx
test eax, eax
jne 0x102e81c
push edi
push esi
push 0x1047518
jmp 0x102e817
push edi
push esi
push 0x1047518
call fcn.01028a67
push edi
push esi
push 0x1047720
call fcn.01028a67
xor ebx, ebx
lea eax, [ebp - 0x414]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x102eb7e
push dword [ebp - 0x1670]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
je 0x102eb71
lea eax, [ebp - 0x1664]
push eax
push 0x1005740
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x1674], eax
je 0x102ea5c
lea eax, [ebp - 0x166c]
push eax
push 0x100d430
push 1
push ebx
push 0x100d440
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x102ea50
mov eax, dword [ebp - 0x166c]
mov ecx, dword [eax]
lea edx, [ebp - 0x1678]
push edx
push 0x100d420
push eax
call dword [ecx]
test eax, eax
jl 0x102ea44
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
mov eax, dword [ebp - 0x1678]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x1638]
push edx
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x102ea1d
mov eax, dword [ebp - 0x166c]
mov ecx, dword [eax]
push ebx
push ebx
push esi
lea edx, [ebp - 0x20c]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x102ea1d
lea eax, [ebp - 0x20c]
push eax
push 0x1048558
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1048148
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1047f40
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1047d38
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1047b30
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1047928
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1048350
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1047720
call edi
test eax, eax
pop ecx
pop ecx
je 0x102e9a6
lea eax, [ebp - 0x20c]
push eax
push 0x1047518
call edi
test eax, eax
pop ecx
pop ecx
jne 0x102ea1d
mov eax, dword [ebp - 0x166c]
mov ecx, dword [eax]
push 0x800
lea edx, [ebp - 0x1414]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x102ea1d
lea eax, [ebp - 0x1414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
cmp word [ebp - 0x1414], bx
je 0x102e9ec
lea eax, [ebp - 0x1414]
push 0x1006250
push eax
call edi
test eax, eax
pop ecx
pop ecx
jne 0x102ea1d
push 0x80
lea eax, [ebp - 0x1638]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x1638]
push eax
call fcn.0102dab1
lea eax, [ebp - 0x1638]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
inc dword [ebp - 0x1668]
lea eax, [ebp - 0x1664]
push eax
push dword [ebp - 0x1674]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x102e8b0
mov eax, dword [ebp - 0x1678]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x166c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x1674]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0xc], 1
jne 0x102eb55
push dword [ebp - 0x1670]
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.01028a67
push 0x1006248
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x102eb55
push ebx
push ebx
push 1
lea eax, [ebp - 0x1664]
push eax
push ebx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov edi, eax
cmp edi, 0xffffffff
je 0x102eb55
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpW]
push 0x1003544
lea eax, [ebp - 0x1638]
push eax
call ebx
test eax, eax
je 0x102eb36
push 0x1006240
lea eax, [ebp - 0x1638]
push eax
call ebx
test eax, eax
je 0x102eb36
push dword [ebp - 0x1670]
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.01028a67
push 0x100623c
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x102eb36
lea eax, [ebp - 0x1638]
push eax
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x102eb36
push 1
lea eax, [ebp - 0x20c]
push eax
call fcn.0102e619
add dword [ebp - 0x1668], eax
lea eax, [ebp - 0x1664]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x102eabd
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor ebx, ebx
cmp dword [ebp - 0x1668], ebx
je 0x102eb71
push ebx
push dword [ebp - 0x1670]
push 5
push 0x1000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x1668]
pop edi
pop esi
jmp 0x102eb8a
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.01031a01
leave
ret 8