Function at 0x414bba
Capabilities:
Check if file exists
Delete directory
Delete file
Get common file path
Get file attributes
Set file attributes

Disassembly:
push 0xe40
mov eax, 0x449f94
call fcn.004386f7
mov ebx, ecx
mov dword [ebp - 0xe24], ebx
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0xe40], eax
mov dword [ebp - 0xe3c], eax
mov dword [ebp - 0xe38], eax
push 0x406490
push 0x406275
push 6
push 4
lea eax, [ebp - 0x850]
push eax
mov byte [ebp - 4], 1
call fcn.0043a7ab
mov edi, 0x4676b0
push edi
lea ecx, [ebp - 0xe10]
mov byte [ebp - 4], 2
call fcn.0040620b
xor ecx, ecx
mov dword [ebp - 0x8cc], 0xf
mov dword [ebp - 0x8d0], ecx
mov byte [ebp - 0x8e0], cl
xor eax, eax
mov dword [ebp - 0x86c], 7
mov dword [ebp - 0x870], ecx
mov word [ebp - 0x880], ax
mov dword [ebp - 0xe44], ecx
mov dword [ebp - 0xe1c], ecx
mov dword [ebp - 0xe18], ecx
mov dword [ebp - 0xe14], ecx
push 0x20a
push ecx
lea eax, [ebp - 0x224]
push eax
mov byte [ebp - 4], 6
call fcn.00438dc0
add esp, 0xc
lea eax, [ebp - 0xe40]
push 0x2c
push eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov eax, dword [ebp - 0xe3c]
mov esi, dword [ebp - 0xe40]
add esp, 0xc
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 4
jb 0x41618a
cmp eax, 6
ja 0x41618a
xor eax, eax
mov edi, eax
cmp esi, dword [ebp - 0xe3c]
je 0x414d22
lea ebx, [ebp - 0x850]
cmp edi, 6
jae 0x414d0e
cmp dword [esi + 0x14], 8
jb 0x414cea
mov eax, dword [esi]
jmp 0x414cec
mov eax, esi
push eax
mov ecx, ebx
call fcn.00409f9c
push dword [ebx]
push edi
push str.Parameter__1_d_____2_s__n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x14
push 0x18
pop ecx
add esi, ecx
inc edi
add ebx, 4
cmp esi, dword [ebp - 0xe3c]
jne 0x414cdb
mov ebx, dword [ebp - 0xe24]
mov eax, dword [ebp - 0x844]
cmp dword [eax - 0xc], 0
jne 0x414d48
push eax
push str.Parameter__1_s___donot_have_PARAM_UNINSTFILE_NAME_n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
jmp 0x414ff9
push 9
mov esi, str.FLD_DEF
push esi
call fcn.0043965b
push eax
push esi
push dword [ebp - 0x850]
call fcn.004394ab
add esp, 0x14
mov edi, 0x105
test eax, eax
jne 0x414e31
push 0x4676b0
lea ecx, [ebp - 0xe0c]
call fcn.0040620b
xor eax, eax
push eax
push 0x452324
lea ecx, [ebp - 0x850]
mov byte [ebp - 4], 8
call fcn.0040ceb0
mov ecx, dword [ebp - 0x850]
lea edi, [eax + 1]
mov esi, dword [ecx - 0xc]
push edi
lea eax, [ebp - 0xe20]
push eax
lea ecx, [ebp - 0x850]
inc esi
call fcn.0040d324
lea ecx, [ebp - 0xe0c]
push ecx
sub esi, edi
push esi
push dword [eax]
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.00420631
mov ecx, dword [ebp - 0xe20]
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov esi, dword [ebp - 0xe0c]
cmp dword [esi - 0xc], 0
je 0x414e20
push esi
lea ecx, [ebp - 0x868]
call fcn.00403477
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0xa
call fcn.00413089
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x868]
call fcn.00401ba5
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 6
call fcn.00409a06
jmp 0x415b71
push 0x452328
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x414ea8
push edi
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x415b71
xor eax, eax
xor edi, edi
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x414e8c
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0xb
jmp 0x41567c
push str.FLD_SYSTEM
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x414f17
push edi
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
xor edi, edi
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x414efb
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0xc
jmp 0x41567c
push str.FLD_SYSTEMWOW64
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x415001
push str.Kernel32.dll
call fcn.00401fef
mov esi, eax
pop ecx
test esi, esi
je 0x415b71
push str.GetSystemWow64DirectoryW
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x414ff2
push edi
lea ecx, [ebp - 0x430]
push ecx
call eax
test eax, eax
je 0x414fde
xor eax, eax
xor edi, edi
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x430], ax
je 0x414f97
lea eax, [ebp - 0x430]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0xd
call fcn.00413089
push edi
push 1
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 6
call fcn.00401ba5
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x415b71
push str.This_System_isnot_64_bit._n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor edi, edi
inc edi
jmp 0x4161da
push str.FLD_TEMP
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x415240
lea eax, [ebp - 0xe1c]
push eax
push 0x4523e0
push str.Environment
call fcn.00435af2
add esp, 0xc
test eax, eax
jne 0x415166
mov edi, dword [ebp - 0xe18]
mov esi, dword [ebp - 0xe1c]
cmp esi, edi
je 0x415069
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00401ba5
add esi, 0x18
cmp esi, edi
jne 0x41504c
mov esi, dword [ebp - 0xe1c]
mov ebx, dword [ebp - 0xe24]
lea eax, [ebp - 0xe1c]
push eax
push str.TEMP
push str.Environment
mov dword [ebp - 0xe18], esi
call fcn.00435af2
add esp, 0xc
test eax, eax
jne 0x415166
mov edi, dword [ebp - 0xe18]
mov esi, dword [ebp - 0xe1c]
cmp esi, edi
je 0x4150bf
xor ebx, ebx
push ebx
push 1
mov ecx, esi
call fcn.00401ba5
add esi, 0x18
cmp esi, edi
jne 0x4150a2
mov esi, dword [ebp - 0xe1c]
mov ebx, dword [ebp - 0xe24]
lea eax, [ebp - 0x430]
push eax
push 0x105
mov dword [ebp - 0xe18], esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x415166
lea eax, [ebp - 0x430]
push 0x5c
push eax
call fcn.00439299
pop ecx
pop ecx
test eax, eax
je 0x4150f8
xor ecx, ecx
mov word [eax], cx
xor eax, eax
xor edi, edi
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x430], ax
je 0x415129
lea eax, [ebp - 0x430]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0xe
call fcn.00413089
push edi
push 1
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 6
call fcn.00401ba5
jmp 0x415168
xor edi, edi
mov esi, dword [sym.imp.USERENV.dll_ExpandEnvironmentStringsForUserW]
push 0x105
lea eax, [ebp - 0x430]
push eax
push str._TMP_
push edi
call esi
test eax, eax
je 0x4151d5
xor eax, eax
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x430], ax
jne 0x4151ac
mov eax, edi
jmp 0x4151b9
lea eax, [ebp - 0x430]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0xf
jmp 0x41567c
push 0x105
lea eax, [ebp - 0x430]
push eax
push str._TEMP_
push edi
call esi
test eax, eax
je 0x415b71
xor eax, eax
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x430], ax
jne 0x415217
mov eax, edi
jmp 0x415224
lea eax, [ebp - 0x430]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0x10
jmp 0x41567c
push str.FLD_APPDATA
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x41528e
lea eax, [ebp - 0xe1c]
push eax
push str.AppData
push 0x452450
call fcn.00435af2
xor edi, edi
xor eax, eax
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
push edi
mov byte [ebp - 4], 0x11
push 0x23
jmp 0x4152da
push str.FLD_STARTPROGS
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x4152ec
lea eax, [ebp - 0xe1c]
push eax
push 0x4524f4
push 0x452450
call fcn.00435af2
xor edi, edi
xor eax, eax
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
push edi
mov byte [ebp - 4], 0x12
push 0x17
lea eax, [ebp - 0x868]
push eax
push edi
call fcn.00427d59
add esp, 0x1c
jmp 0x415330
push str.FLD_PROGRAM_FILES
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x41534f
xor edi, edi
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
push edi
push 0x26
lea eax, [ebp - 0x868]
push eax
push edi
mov byte [ebp - 4], 0x13
call fcn.00427d59
add esp, 0x10
test eax, eax
je 0x41568e
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0xe1c]
call fcn.00421582
jmp 0x41568e
push str.FLD_SYSTEMROOT
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x4153e1
push edi
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x415b71
xor edi, edi
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x224]
push 0x105
push eax
push eax
call fcn.0043967a
xor eax, eax
add esp, 0x24
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x4153c5
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0x14
jmp 0x41567c
push str.FLD_DRIVERS
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x41547b
push edi
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x44d8a8
lea eax, [ebp - 0x224]
push edi
push eax
call fcn.004391ef
push str.IoSubsys
lea eax, [ebp - 0x224]
push edi
push eax
call fcn.004391ef
xor eax, eax
xor edi, edi
add esp, 0x18
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x41545f
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0x15
jmp 0x41567c
push str.FLD_66000
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x415498
xor eax, eax
mov edi, eax
jmp 0x4161da
push str.FLD_66001
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x415515
lea eax, [ebp - 0xe44]
push eax
push 0x20a
lea eax, [ebp - 0x224]
push eax
push 1
xor edi, edi
push edi
push edi
call sub.WINSPOOL.DRV_GetPrintProcessorDirectoryW
xor eax, eax
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x4154f9
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0x16
jmp 0x41567c
push str.FLD_66002
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x415584
push edi
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
xor edi, edi
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x415568
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0x17
jmp 0x41567c
push str.FLD_66003
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x415600
lea eax, [ebp - 0xe0c]
push eax
lea eax, [ebp - 0x224]
push eax
xor edi, edi
push edi
mov dword [ebp - 0xe0c], 0x20a
call sub.mscms.dll_GetColorDirectoryW
xor eax, eax
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x4155e7
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0x18
jmp 0x41567c
push str.FLD_PRINTERDRIVER
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x4156a5
lea eax, [ebp - 0xe44]
push eax
push 0x20a
lea eax, [ebp - 0x224]
push eax
push 1
xor edi, edi
push edi
push edi
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
xor eax, eax
mov dword [ebp - 0x854], 7
mov dword [ebp - 0x858], edi
mov word [ebp - 0x868], ax
cmp word [ebp - 0x224], ax
je 0x415665
lea eax, [ebp - 0x224]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x868]
call fcn.00401db2
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0xe1c]
call fcn.00413089
push edi
push 1
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 6
call fcn.00401ba5
jmp 0x415b71
push str.FLD_UNUSED_PRINTERDRIVER
lea ecx, [ebp - 0x850]
call fcn.004069bd
test eax, eax
jne 0x41617d
xor edi, edi
push edi
lea ecx, [ebp - 0x8a8]
call fcn.0042f7f6
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 0x1a
call fcn.00430fac
lea ecx, [ebp - 0xe2c]
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0xe2c], edi
mov dword [ebp - 0xe28], edi
call fcn.00412b53
mov dword [ebp - 0xe2c], eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
call fcn.00412b53
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x884], 7
mov dword [ebp - 0x888], edi
mov word [ebp - 0x898], ax
push 0x4676b0
lea ecx, [ebp - 0xe20]
mov byte [ebp - 4], 0x1e
call fcn.0040620b
mov ecx, dword [ebp - 0x844]
lea edx, [ebp - 0xe20]
mov eax, dword [ecx - 0xc]
push edx
inc eax
push eax
push ecx
mov ecx, ebx
mov byte [ebp - 4], 0x1f
call fcn.00420631
mov esi, dword [ebp - 0xe20]
cmp dword [esi - 0xc], edi
jne 0x4157cd
lea eax, [ebp - 0x224]
push eax
push str.FLD_UNUSED_PRINTERDRIVER_Cannot_get_driver_list__1_s__._n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
lea ecx, [esi - 0x10]
call fcn.00409a06
push edi
push 1
lea ecx, [ebp - 0x898]
call fcn.00401ba5
lea ecx, [ebp - 0x18]
call fcn.0040649a
lea ecx, [ebp - 0xe2c]
call fcn.0040649a
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 0x1a
call fcn.00431063
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 6
call fcn.0042f8cb
jmp 0x414ff9
lea ecx, [ebp - 0xe20]
call fcn.004098ae
push 0x7c
push dword [ebp - 0xe20]
lea ecx, [ebp - 0x868]
call fcn.0043250a
lea ecx, [ebp - 0x868]
mov esi, edi
call fcn.00431332
test eax, eax
je 0x415874
push esi
lea ecx, [ebp - 0x868]
call fcn.004315c5
push eax
push str.BaseDeps___1_s___n
push str.CUninstallActions::DelFile
push 5
call fcn.00405a24
add esp, 0x10
lea ecx, [ebp - 0x868]
push esi
call fcn.004315c5
push eax
lea ecx, [ebp - 0x8c8]
call fcn.00403477
lea eax, [ebp - 0x8c8]
push eax
lea eax, [ebp - 0xe34]
push eax
lea ecx, [ebp - 0xe2c]
mov byte [ebp - 4], 0x20
call fcn.0040582a
push edi
push 1
lea ecx, [ebp - 0x8c8]
mov byte [ebp - 4], 0x1f
call fcn.00401ba5
lea ecx, [ebp - 0x868]
inc esi
call fcn.00431332
cmp esi, eax
jb 0x4157fc
push 0x44d8ac
lea ecx, [ebp - 0xe20]
call fcn.00409f9c
lea ecx, [ebp - 0x8a8]
call fcn.0043081e
test eax, eax
je 0x415a5f
xor ebx, ebx
push edi
lea ecx, [ebp - 0x8a8]
call fcn.0042fa4a
cmp dword [eax + 0x1c], ebx
je 0x415a45
lea ecx, [ebp - 0x18]
call fcn.0040b7ac
lea eax, [ebp - 0x18]
push eax
push edi
lea ecx, [ebp - 0x8a8]
call fcn.0042fa4a
push dword [eax + 4]
call fcn.0043860f
pop ecx
push eax
push edi
lea ecx, [ebp - 0x8a8]
call fcn.0042fa4a
push dword [eax + 4]
call fcn.0041ac43
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp - 0xe0c], eax
cmp eax, ecx
je 0x415a45
lea esi, [eax + 0x10]
cmp dword [esi + 0x14], 8
jb 0x415907
mov eax, dword [esi]
jmp 0x415909
mov eax, esi
lea ecx, [ebp - 0xb30]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x415937
push str._______Not_found._n
push str.CUninstallActions::DelFile
push 5
call fcn.00405a24
add esp, 0xc
jmp 0x415a29
cmp dword [esi + 0x14], 8
jb 0x415941
mov eax, dword [esi]
jmp 0x415943
mov eax, esi
push eax
push str._CHECK___1_s__n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
cmp dword [esi + 0x14], 8
jb 0x415960
mov esi, dword [esi]
xor eax, eax
cmp word [esi], ax
je 0x41596e
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x898]
call fcn.00401db2
cmp dword [ebp - 0x884], 8
mov eax, dword [ebp - 0x888]
lea ecx, [ebp - 0x898]
cmovae ecx, dword [ebp - 0x898]
push 0x4391c3
lea eax, [ecx + eax*2]
lea edx, [ebp - 0x898]
cmovae edx, dword [ebp - 0x898]
push edx
push eax
lea ecx, [ebp - 0x898]
cmovae ecx, dword [ebp - 0x898]
push ecx
lea eax, [ebp - 0xe4c]
push eax
call fcn.00403375
add esp, 0x14
lea eax, [ebp - 0x898]
push eax
lea eax, [ebp - 0xe48]
push eax
lea ecx, [ebp - 0xe2c]
call fcn.004057eb
mov esi, dword [eax]
cmp esi, dword [ebp - 0xe2c]
je 0x415a22
push edi
lea ecx, [ebp - 0x8a8]
call fcn.0042fa4a
push dword [eax + 4]
push str._____SHARED__Driver___1__n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
lea eax, [ebp - 0xe30]
push esi
push eax
lea ecx, [ebp - 0xe2c]
call fcn.0040b84b
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0xe0c]
call fcn.004138a8
mov eax, dword [ebp - 0xe0c]
cmp eax, dword [ebp - 0x18]
jne 0x4158fa
xor ebx, ebx
lea ecx, [ebp - 0x8a8]
inc edi
call fcn.0043081e
cmp edi, eax
jb 0x415899
mov ebx, dword [ebp - 0xe24]
push str._DIRECT_
lea ecx, [ebp - 0x844]
call fcn.00409f9c
push str.______Not_Shared_Files__________________________n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
mov ecx, dword [ebp - 0xe2c]
add esp, 0xc
mov eax, dword [ecx]
xor edi, edi
mov dword [ebp - 0xe0c], eax
cmp eax, ecx
je 0x415b10
lea esi, [eax + 0x10]
cmp dword [esi + 0x14], 8
jb 0x415aa4
mov eax, dword [esi]
jmp 0x415aa6
mov eax, esi
push eax
push str._1_s__n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
cmp dword [esi + 0x14], 8
jb 0x415ac3
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x8c8]
call fcn.00403477
lea eax, [ebp - 0x8c8]
push eax
lea ecx, [ebp - 0xe1c]
mov byte [ebp - 4], 0x21
call fcn.00413089
push edi
push 1
lea ecx, [ebp - 0x8c8]
mov byte [ebp - 4], 0x1f
call fcn.00401ba5
lea ecx, [ebp - 0xe0c]
call fcn.004138a8
mov eax, dword [ebp - 0xe0c]
cmp eax, dword [ebp - 0xe2c]
jne 0x415a97
push str.________________________________________________n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
mov ecx, dword [ebp - 0xe20]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.00409a06
push edi
push 1
lea ecx, [ebp - 0x898]
call fcn.00401ba5
lea ecx, [ebp - 0x18]
call fcn.0040649a
lea ecx, [ebp - 0xe2c]
call fcn.0040649a
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 0x1a
call fcn.00431063
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 6
call fcn.0042f8cb
mov eax, dword [ebp - 0x840]
cmp dword [eax - 0xc], 0
je 0x415b9e
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.0040693a
pop ecx
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.0041bf94
test eax, eax
je 0x414ff9
mov edi, dword [ebp - 0xe1c]
mov esi, dword [ebp - 0xe10]
cmp edi, dword [ebp - 0xe18]
je 0x416178
xor ebx, ebx
lea ecx, [ebp - 0xe08]
call fcn.004264d8
push ebx
push ebx
lea ecx, [ebp - 0x8b0]
mov dword [ebp - 0x8a0], ebx
mov dword [ebp - 0x89c], ebx
call fcn.00401b61
cmp dword [edi + 0x14], 8
mov byte [ebp - 4], 0x23
jb 0x415bea
mov eax, dword [edi]
jmp 0x415bec
mov eax, edi
push eax
lea ecx, [ebp - 0x880]
call fcn.00401d8b
cmp dword [ebp - 0x86c], 8
lea eax, [ebp - 0x880]
cmovae eax, dword [ebp - 0x880]
push eax
call fcn.004265cc
pop ecx
test eax, eax
je 0x415c80
push str.dummy.txt
lea ecx, [ebp - 0x880]
call fcn.004053b6
cmp dword [ebp - 0x86c], 8
push ebx
push ebx
push ebx
push ebx
push 0x105
lea ecx, [ebp - 0xaec]
push ecx
push 4
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0x880]
cmovae eax, dword [ebp - 0x880]
push ecx
push eax
call fcn.0043967a
add esp, 0x24
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x880]
call fcn.00401d8b
lea eax, [ebp - 0xaec]
push eax
lea ecx, [ebp - 0x880]
call fcn.004053b6
jmp 0x415d78
push str._DIRECT_
lea ecx, [ebp - 0x844]
call fcn.00406999
test eax, eax
jne 0x41614f
push ebx
push ebx
lea ecx, [ebp - 0x898]
mov dword [ebp - 0x888], ebx
mov dword [ebp - 0x884], ebx
call fcn.00401ba5
cmp dword [ebp - 0x86c], 8
lea ecx, [ebp - 0x838]
push ecx
lea ecx, [ebp - 0x634]
push ecx
lea ecx, [ebp - 0xaec]
push ecx
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0x880]
cmovae eax, dword [ebp - 0x880]
push ecx
push eax
mov byte [ebp - 4], 0x24
call fcn.0040618f
add esp, 0x14
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x880]
call fcn.00401d8b
lea eax, [ebp - 0xaec]
push eax
lea ecx, [ebp - 0x880]
call fcn.004053b6
push 0x44ea34
lea ecx, [ebp - 0x898]
call fcn.00401d8b
lea eax, [ebp - 0x634]
push eax
lea ecx, [ebp - 0x898]
call fcn.004053b6
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x898]
call fcn.004053b6
cmp dword [ebp - 0x884], 8
lea eax, [ebp - 0x898]
cmovae eax, dword [ebp - 0x898]
push eax
lea ecx, [ebp - 0xe10]
call fcn.00409f9c
push ebx
push 1
lea ecx, [ebp - 0x898]
mov byte [ebp - 4], 0x23
call fcn.00401ba5
mov esi, dword [ebp - 0xe10]
cmp dword [ebp - 0x86c], 8
lea eax, [ebp - 0x880]
cmovae eax, dword [ebp - 0x880]
push eax
push str.SetCurrentDirectory___1_ls___n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x86c], 8
lea eax, [ebp - 0x880]
cmovae eax, dword [ebp - 0x880]
push eax
lea ecx, [ebp - 0xe08]
call fcn.004265bd
test eax, eax
jne 0x415de7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.ChangeDir.Change_failed._0x_1_lx__._n
push str.CUninstallActions::DelFile
push 2
call fcn.00405a24
add esp, 0x10
push str._DIRECT_
lea ecx, [ebp - 0x844]
call fcn.00406999
test eax, eax
je 0x415e26
push 0x44ea34
lea ecx, [ebp - 0xe10]
call fcn.00409f9c
mov eax, dword [ebp - 0x844]
lea ecx, [ebp - 0xe10]
push dword [eax - 0xc]
push eax
call fcn.00406790
mov esi, dword [ebp - 0xe10]
mov eax, dword [ebp - 0x844]
push 0x2a
mov ebx, dword [eax - 0xc]
lea ecx, [ebp - 0x844]
call fcn.0041ed5a
lea ecx, [ebx - 1]
cmp eax, ecx
jne 0x415f31
mov eax, dword [ebp - 0x844]
push 0x5c
mov ebx, dword [eax - 0xc]
lea ecx, [ebp - 0x844]
call fcn.0041ed5a
lea ecx, [ebx - 2]
cmp eax, ecx
jne 0x415f31
mov eax, dword [esi - 0xc]
add eax, 0xfffffffe
push eax
lea eax, [ebp - 0xe0c]
push eax
lea ecx, [ebp - 0xe10]
call fcn.0041d57c
push eax
lea ecx, [ebp - 0xe10]
mov byte [ebp - 4], 0x25
call fcn.004065c3
mov ecx, dword [ebp - 0xe0c]
mov byte [ebp - 4], 0x23
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov esi, dword [ebp - 0xe10]
push esi
push str.strFileName_Directory____1_s__n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
xor ebx, ebx
push ebx
push ebx
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x858], ebx
mov dword [ebp - 0x854], ebx
call fcn.00401ba5
push esi
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 0x26
call fcn.00401d8b
cmp dword [ebp - 0x854], 8
lea eax, [ebp - 0x868]
cmovae eax, dword [ebp - 0x868]
push ebx
push eax
call fcn.00434b4f
pop ecx
pop ecx
test eax, eax
je 0x415f1e
push str._____deleted_filesW_in_the_directory._n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0xc
push ebx
push 1
lea ecx, [ebp - 0x868]
call fcn.00401ba5
jmp 0x41614f
push esi
push str.strFileName___1_s__n
mov ebx, str.CUninstallActions::DelFile
push ebx
push 4
call fcn.00405a24
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4160d9
test al, 0x10
je 0x415fee
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x415f7f
push str._____deleted_directory._n
push ebx
push 4
call fcn.00405a24
add esp, 0xc
jmp 0x41614d
push str._____delete_directory_failed._n
push ebx
push 4
call fcn.00405a24
pop ecx
pop ecx
lea eax, [ebp - 0x83c]
mov ecx, esp
push eax
call fcn.0040c32b
mov ebx, dword [ebp - 0xe24]
mov ecx, ebx
call fcn.0041b1d8
test eax, eax
je 0x41614d
push str.______RESERVED_TO_DELTE_AFTER_RESTART__n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0xc
mov ecx, ebx
push esi
call fcn.00418600
test eax, eax
je 0x41614d
push ecx
mov ecx, esp
push str.SET_VARSIGNED__0x00000000_REBOOT_DIRECT___1
call fcn.00406234
mov ecx, ebx
call fcn.0041edcf
jmp 0x41614d
and eax, 0xfffffffe
push eax
push esi
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [ebp - 0x83c]
cmp dword [eax - 0xc], ebx
je 0x41606c
push ecx
lea eax, [ebp - 0x83c]
mov ecx, esp
mov dword [ebp - 0xe30], esp
push eax
call fcn.0040c32b
push ecx
lea eax, [esi - 0x10]
mov ebx, esp
push eax
mov byte [ebp - 4], 0x27
call fcn.0040693a
add eax, 0x10
pop ecx
mov ecx, dword [ebp - 0xe24]
mov dword [ebx], eax
mov byte [ebp - 4], 0x23
call fcn.0041caee
push ecx
mov ebx, eax
lea eax, [ebp - 0x83c]
mov ecx, esp
push eax
call fcn.0040c32b
mov ecx, dword [ebp - 0xe24]
call fcn.0041b1d8
mov dword [ebp - 0xe20], eax
test ebx, ebx
je 0x41614d
mov ebx, eax
push str._VerCondition_OK_
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x41609a
push str._____deleted_n
push str.CUninstallActions::DelFile
jmp 0x415f70
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._____delete_failed_0x_1_lx___n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0x10
test ebx, ebx
je 0x41614d
push str.______RESERVED_TO_DELTE_AFTER_RESTART__n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
mov ebx, dword [ebp - 0xe24]
jmp 0x415fc2
xor ebx, ebx
push ebx
push 0x2a
lea ecx, [ebp - 0xe10]
call fcn.0041a539
cmp eax, 0xffffffff
jne 0x416117
push ebx
push 0x3f
lea ecx, [ebp - 0xe10]
call fcn.0041a539
cmp eax, 0xffffffff
jne 0x416117
push str._____Not_found._n
push str.CUninstallActions::DelFile
push 4
call fcn.00405a24
add esp, 0xc
jmp 0x41614f
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov ebx, esp
push eax
call fcn.0040693a
add eax, 0x10
mov dword [ebx], eax
cmp dword [ebp - 0x86c], 8
pop ecx
mov ecx, dword [ebp - 0xe24]
lea eax, [ebp - 0x880]
cmovae eax, dword [ebp - 0x880]
push esi
push eax
call fcn.00418614
xor ebx, ebx
lea ecx, [ebp - 0x8b0]
call fcn.004010d7
lea ecx, [ebp - 0xe08]
mov byte [ebp - 4], 6
call fcn.00426564
add edi, 0x18
cmp edi, dword [ebp - 0xe18]
jne 0x415bb8
xor edi, edi
inc edi
jmp 0x4161e0
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x41548f
push edi
lea ecx, [ebp - 0xe0c]
call fcn.0040620b
push 0x57
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [ebp + 8]
lea eax, [ebp - 0xe0c]
push str.CUninstallActions::DelFile_invalid_parameters.___s_
push eax
call fcn.00406ea6
mov esi, dword [ebp - 0xe0c]
add esp, 0xc
xor ebx, ebx
push 0x10
push str.Internal_Error
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0x10]
call fcn.00409a06
mov edi, ebx
mov esi, dword [ebp - 0xe10]
lea ecx, [ebp - 0xe1c]
call fcn.004052ea
xor eax, eax
push eax
push 1
lea ecx, [ebp - 0x880]
call fcn.00401ba5
lea ecx, [ebp - 0x8e0]
call fcn.004010d7
lea ecx, [esi - 0x10]
call fcn.00409a06
push 0x406490
push 6
push 4
lea eax, [ebp - 0x850]
push eax
mov byte [ebp - 4], 1
call fcn.00438e50
lea ecx, [ebp - 0xe40]
call fcn.004052ea
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00409a06
mov eax, edi
call fcn.004386a6
ret 4