Function at 0x418614
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes
Set file attributes

Disassembly:
push 0x2bc
mov eax, 0x44a341
call fcn.004386f7
mov dword [ebp - 0x2c4], ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2b4], eax
push 7
xor ebx, ebx
pop ecx
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x58], ax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], ax
mov dword [ebp - 0x2c0], ebx
mov dword [ebp - 0x2bc], ebx
mov dword [ebp - 0x2b8], ebx
push 0x2c
lea eax, [ebp - 0x2c0]
push eax
mov eax, dword [ebp + 0x10]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 4], 3
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
add esp, 0xc
cmp word [edi], bx
jne 0x418698
mov eax, ebx
jmp 0x41869f
push edi
call fcn.0043860f
pop ecx
push eax
push edi
lea ecx, [ebp - 0x40]
call fcn.00401db2
mov esi, 0x44ea34
push esi
call fcn.0043860f
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.0040baaf
cmp eax, 0xffffffff
je 0x4186e2
push esi
call fcn.0043860f
pop ecx
push 2
push eax
push ebx
push esi
lea ecx, [ebp - 0x40]
call fcn.0040baaf
push eax
lea ecx, [ebp - 0x40]
call fcn.00401f31
push 1
push ebx
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2ac], 0x3f
call fcn.0040baaf
mov esi, dword [ebp - 0x2b4]
cmp eax, 0xffffffff
cmovne ebx, dword [ebp - 0x30]
xor eax, eax
cmp word [esi], ax
je 0x418719
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00401db2
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0043460e
cmp dword [ebp - 0x44], 8
pop ecx
pop ecx
lea ecx, [ebp - 0x2a8]
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x2b0], edi
cmp edi, 0xffffffff
jne 0x41877b
push str.______Not_found._n
push str.CUninstallActions::DeleteFiles
push 5
call fcn.00405a24
add esp, 0xc
xor esi, esi
jmp 0x418938
push 0x4676b0
lea ecx, [ebp - 0x2ac]
call fcn.0040620b
and dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov byte [ebp - 4], 5
cmp word [ebp - 0x27c], ax
je 0x4187b6
lea eax, [ebp - 0x27c]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401db2
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
cmp ecx, 0xffffffff
je 0x4188f4
test cl, 0x10
je 0x41880b
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00401ba5
mov ecx, dword [ebp - 0x2ac]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.00409a06
jmp 0x418918
test ebx, ebx
je 0x418814
cmp ebx, dword [ebp - 0x18]
jne 0x4187e8
and ecx, 0xfffffffe
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push str.FLD_DEF
lea ecx, [ebp - 0x2ac]
call fcn.00409f9c
push esi
lea ecx, [ebp - 0x2ac]
call fcn.00406767
push 0x44d8a8
lea ecx, [ebp - 0x2ac]
call fcn.00420a14
mov eax, dword [ebp - 0x2bc]
sub eax, dword [ebp - 0x2c0]
push 0x18
cdq
pop ecx
idiv ecx
xor esi, esi
inc esi
mov edi, eax
cmp edi, esi
jbe 0x4188b5
push 0x2c
lea ecx, [ebp - 0x2ac]
call fcn.00414043
cmp esi, 3
jne 0x418890
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
jmp 0x4188a4
push esi
lea ecx, [ebp - 0x2c0]
call fcn.004211c1
cmp dword [eax + 0x14], 8
jb 0x4188a4
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00406767
inc esi
cmp esi, edi
jb 0x418871
mov esi, dword [ebp - 0x2ac]
push esi
push str.DoAct__1_s___n
push str.CUninstallActions::DeleteFiles
push 2
call fcn.00405a24
add esp, 0xc
lea eax, [esi - 0x10]
mov edi, esp
push eax
call fcn.0040693a
pop ecx
mov ecx, dword [ebp - 0x2c4]
add eax, 0x10
mov dword [edi], eax
call fcn.00419677
mov edi, dword [ebp - 0x2b0]
jmp 0x4188fa
mov esi, dword [ebp - 0x2ac]
push 0
push 1
lea ecx, [ebp - 0x28]
call fcn.00401ba5
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 3
call fcn.00409a06
mov esi, dword [ebp - 0x2b4]
lea eax, [ebp - 0x2a8]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x41877b
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
inc esi
lea ecx, [ebp - 0x2c0]
call fcn.004052ea
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.00401ba5
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.00401ba5
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.00409a06
mov eax, esi
call fcn.004386a6
ret 0xc