Function at 0x4451af
Capabilities:
Check if file exists
Copy file
Delete file
Enumerate files on windows
Get common file path
Get file attributes
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5aae24
mov eax, dword fs:[0]
push eax
mov eax, 0x1ab8
call fcn.0058c7d0
mov eax, dword [0x634460]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1a54], ecx
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x1a88], eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x1a5c], ebx
mov dword [ebp - 0xbf4], 7
mov dword [ebp - 0xbf8], ecx
mov word [ebp - 0xc08], ax
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x19f4]
call fcn.00435783
xor eax, eax
inc eax
lea ecx, [ebp - 0x1a74]
mov byte [ebp - 4], al
call fcn.0046c48f
lea ecx, [ebp - 0x1ab8]
mov byte [ebp - 4], 2
call fcn.0046c48f
push 0x5c9e94
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
mov byte [ebp - 4], 3
call fcn.00423f75
xor esi, esi
add esp, 0xc
mov dword [ebx], esi
call fcn.00473832
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.0040b128
push eax
lea ecx, [ebp - 0x19f4]
call fcn.00435868
call fcn.00473832
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.00412ba2
mov ebx, eax
xor eax, eax
push 0x208
mov word [ebp - 0x670], ax
lea eax, [ebp - 0x66e]
push esi
push eax
mov dword [ebp - 0x1a80], ebx
call fcn.00587a70
add esp, 0xc
lea eax, [ebp - 0x1a78]
push eax
lea eax, [ebp - 0x670]
push eax
mov dword [ebp - 0x1a78], 0x105
call dword [sym.imp.USERENV.dll_GetDefaultUserProfileDirectoryW]
mov dword [ebp - 0x1a30], esi
test ebx, ebx
je 0x4470be
xor ebx, ebx
call fcn.00472cf7
push eax
lea ecx, [ebp - 0x1a08]
call fcn.00405b90
mov byte [ebp - 4], 4
call fcn.00472cf7
push eax
lea ecx, [ebp - 0x1a14]
call fcn.00405b90
push 0x5bf818
lea ecx, [ebp - 0x1a00]
mov byte [ebp - 4], 5
call fcn.00405c1a
push 0x5bef10
lea ecx, [ebp - 0x19fc]
mov byte [ebp - 4], 6
call fcn.00405c1a
mov byte [ebp - 4], 7
call fcn.00472cf7
push eax
lea ecx, [ebp - 0x1a04]
call fcn.00405b90
xor eax, eax
push 0x20a
push eax
mov dword [ebp - 0x1a38], eax
lea eax, [ebp - 0x25c]
mov edi, ebx
push eax
mov byte [ebp - 4], 8
mov dword [ebp - 0x1a28], edi
mov dword [ebp - 0x1a1c], ebx
call fcn.00587a70
add esp, 0xc
call fcn.00473832
mov ecx, dword [eax + 4]
push 0x7c
push esi
add ecx, 0xcc
call fcn.00412c0c
push eax
lea ecx, [ebp - 0x1a74]
call fcn.0046d9ee
push 0x20
lea ecx, [ebp - 0x1a74]
call fcn.0046e2e7
lea ecx, [ebp - 0x1a74]
call fcn.0046c815
cmp eax, 3
jb 0x445448
push 2
lea ecx, [ebp - 0x1a74]
call fcn.0046caa8
mov esi, eax
push esi
push str.Condition____1_s___n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x10
test esi, esi
je 0x4453e8
xor eax, eax
cmp ax, word [esi]
jne 0x445442
push str.__Do_not_copy._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0xc
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a14]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a08]
lea ecx, [ecx - 0x10]
jmp 0x44709a
mov esi, dword [ebp - 0x1a30]
lea ecx, [ebp - 0x1a74]
call fcn.0046c815
cmp eax, 2
jb 0x445650
xor eax, eax
push str.ALWAYS
push eax
lea ecx, [ebp - 0x1a74]
mov edi, eax
call fcn.0046caa8
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x44561c
lea ecx, [ebp - 0xa90]
call fcn.0046c48f
push 0x2e
xor esi, esi
push esi
lea ecx, [ebp - 0x1a74]
mov byte [ebp - 4], 9
call fcn.0046caa8
push eax
lea ecx, [ebp - 0xa90]
call fcn.0046d9ee
lea ecx, [ebp - 0xa90]
call fcn.0046c815
cmp eax, 2
jne 0x44551e
push str.ALWAYS
push esi
lea ecx, [ebp - 0xa90]
call fcn.0046caa8
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
jne 0x44551e
mov dword [ebp - 0x1a10], esi
call fcn.00473832
mov esi, dword [eax + 4]
xor ecx, ecx
inc ecx
push ecx
lea ecx, [ebp - 0xa90]
call fcn.0046caa8
push eax
lea eax, [ebp - 0x1a10]
push eax
lea eax, [ebp - 0x1ac0]
push eax
lea ecx, [esi + 0xcc]
call fcn.0040dcaa
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1a10]
push 1
pop eax
cmovne edi, eax
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 8
call fcn.0046c546
test edi, edi
jne 0x44561c
call fcn.00473832
mov esi, dword [eax + 4]
push edi
lea ecx, [ebp - 0x1a74]
call fcn.0046caa8
push eax
lea ecx, [esi + 0xcc]
call fcn.0040af9e
test eax, eax
je 0x445564
xor ecx, ecx
cmp cx, word [eax]
jne 0x44561c
mov dword [ebp - 0x1a10], edi
call fcn.00473832
mov esi, dword [eax + 4]
push edi
lea ecx, [ebp - 0x1a74]
call fcn.0046caa8
push eax
lea eax, [ebp - 0x1a10]
push eax
lea eax, [ebp - 0x1abc]
push eax
lea ecx, [esi + 0xcc]
call fcn.0040dcaa
mov eax, dword [eax]
mov esi, dword [ebp - 0x1a10]
mov dword [ebp - 0x1a0c], eax
jmp 0x4455db
cmp dword [eax + 0x108], edi
je 0x4455ca
push str.in_box
lea ecx, [eax + 0xf8]
call fcn.0041ee46
test eax, eax
jne 0x445608
mov esi, dword [ebp - 0x1a10]
lea ecx, [ebp - 0x1a0c]
call fcn.0042049a
mov eax, dword [ebp - 0x1a0c]
cmp eax, esi
jne 0x4455a8
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x1a74]
call fcn.0046caa8
push eax
push str.Not_target_function_Source____1_s___n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
add esp, 0x10
jmp 0x4453fc
push str._PreInst__Pre_install_driver_is_enabled._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0xc
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x1a74]
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x1a14]
call fcn.0041ddd6
lea ecx, [ebp - 0x1a74]
call fcn.0046c7a4
mov edi, dword [ebp - 0x1a28]
mov esi, dword [ebp - 0x1a30]
jmp 0x445670
call fcn.00473832
mov ecx, dword [eax + 4]
push esi
add ecx, 0xcc
call fcn.00412c0c
push eax
lea ecx, [ebp - 0x1a14]
call fcn.0041ddd6
call fcn.00473832
mov ecx, dword [eax + 4]
push 0x2c
push esi
add ecx, 0xcc
call fcn.00412ca3
push eax
lea ecx, [ebp - 0x1ab8]
call fcn.0046d9ee
xor eax, eax
push eax
lea ecx, [ebp - 0x1ab8]
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041ddd6
lea eax, [ebp - 0x1a08]
push eax
lea ecx, [ebp - 0x1a04]
call fcn.0040726a
lea ecx, [ebp - 0x1ab8]
call fcn.0046c815
cmp eax, 4
jb 0x445720
push 3
lea ecx, [ebp - 0x1ab8]
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x1a00]
call fcn.0041ddd6
mov esi, dword [ebp - 0x1a00]
call fcn.00473832
mov ecx, dword [eax + 4]
push 0x5bf818
push esi
add ecx, 0xd0
call fcn.0046c5e0
push dword [ebp - 0x1a00]
push str.RenamedFilePathVar_1_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x10
lea ecx, [ebp - 0x1ab8]
call fcn.0046c815
cmp eax, 3
jb 0x445782
push 2
lea ecx, [ebp - 0x1ab8]
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x19fc]
call fcn.0041ddd6
mov esi, dword [ebp - 0x19fc]
call fcn.00473832
mov ecx, dword [eax + 4]
push 0x5bf818
push esi
add ecx, 0xd0
call fcn.0046c5e0
push dword [ebp - 0x19fc]
push str.CopyStatusVar_1_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x10
lea ecx, [ebp - 0x1ab8]
call fcn.0046c815
cmp eax, 2
jb 0x445852
xor eax, eax
push 0x20
push eax
mov dword [ebp - 0x1a0c], eax
lea eax, [ebp - 0x50]
push eax
call fcn.00587a70
xor eax, eax
add esp, 0xc
inc eax
push eax
lea ecx, [ebp - 0x1ab8]
call fcn.0046caa8
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x50]
push 0x10
push eax
call fcn.0058b12c
add esp, 0x10
push 0x30
pop eax
cmp word [ebp - 0x50], ax
jne 0x445808
cmp word [ebp - 0x4e], 0x78
je 0x4457e4
cmp word [ebp - 0x4e], 0x58
jne 0x445808
push 3
push 0x5cb26c
call fcn.0058b10d
push 0x10
lea ecx, [ebp - 0x1a0c]
push ecx
lea eax, [ebp + eax*2 - 0x50]
push eax
call fcn.0058bd3d
add esp, 0x14
jmp 0x44581d
push 0xa
lea eax, [ebp - 0x1a0c]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0058bd3d
add esp, 0xc
mov ecx, dword [ebp - 0x1a38]
xor edx, edx
inc edx
test dl, al
cmovne ecx, edx
test al, 2
cmovne edi, edx
mov dword [ebp - 0x1a38], ecx
mov ecx, dword [ebp - 0x1a1c]
test al, 4
cmovne ecx, edx
test al, 8
mov dword [ebp - 0x1a28], edi
mov dword [ebp - 0x1a1c], ecx
cmovne ebx, edx
lea ecx, [ebp - 0x1ab8]
call fcn.0046c7a4
test ebx, ebx
je 0x4453fc
lea eax, [ebp - 0xc08]
push eax
xor ebx, ebx
push ebx
push ebx
sub esp, 0x10
mov esi, 0x605ad0
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0044a1c6
add esp, 0x1c
test eax, eax
jns 0x4458d9
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a14]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a08]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.0041c730
jmp 0x4470a5
xor eax, eax
mov dword [ebp - 0xb94], 7
mov dword [ebp - 0xb98], ebx
mov word [ebp - 0xba8], ax
push 0x206
mov word [ebp - 0x464], ax
lea eax, [ebp - 0x462]
push ebx
push eax
mov byte [ebp - 4], 0xa
call fcn.00587a70
cmp dword [ebp - 0xbf4], 8
lea eax, [ebp - 0xc08]
cmovae eax, dword [ebp - 0xc08]
push eax
lea eax, [ebp - 0x464]
push 0x104
push eax
call fcn.0058b0b1
add esp, 0x18
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
xor eax, eax
mov dword [ebp - 0xbac], 7
mov dword [ebp - 0xbb0], ebx
mov word [ebp - 0xbc0], ax
cmp word [ebp - 0x464], ax
jne 0x44596b
mov eax, ebx
jmp 0x445978
lea eax, [ebp - 0x464]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x464]
push eax
lea ecx, [ebp - 0xbc0]
call fcn.00403cef
xor esi, esi
inc esi
push esi
push 0xffffffffffffffff
lea eax, [ebp - 0x1a0c]
push eax
lea ecx, [ebp - 0xbc0]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x1a0c], 0x5c
call fcn.00449f5e
push eax
push ebx
lea eax, [ebp - 0xa90]
push eax
lea ecx, [ebp - 0xbc0]
call fcn.00403e81
push eax
lea ecx, [ebp - 0xba8]
call fcn.00401322
push ebx
push esi
lea ecx, [ebp - 0xa90]
call fcn.00403a7f
push 0x5bff54
lea eax, [ebp - 0xba8]
push eax
lea eax, [ebp - 0xbf0]
push eax
call fcn.00438264
add esp, 0xc
cmp dword [ebp - 0xbdc], 8
lea ecx, [ebp - 0x14cc]
lea eax, [ebp - 0xbf0]
cmovae eax, dword [ebp - 0xbf0]
push ecx
push eax
mov byte [ebp - 4], 0xc
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a9c], eax
cmp eax, 0xffffffff
je 0x446fbc
mov esi, 0x5bef10
push esi
lea ecx, [ebp - 0x19f8]
call fcn.00405c1a
xor ecx, ecx
push ecx
mov dword [ebp - 0xa98], ecx
xor eax, eax
push esi
lea ecx, [ebp - 0xaa8]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0xa94], 7
mov word [ebp - 0xaa8], ax
call fcn.00403cef
xor esi, esi
lea eax, [ebp - 0x1a04]
mov edi, esi
push eax
lea ecx, [ebp - 0x1a08]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x1a0c], edi
call fcn.0040726a
call fcn.00473832
mov eax, dword [eax + 4]
add eax, 0xd0
push str.___FLD_STARTUP___
mov ecx, eax
mov dword [ebp - 0x1a4c], eax
call fcn.0046dbb9
push eax
lea ecx, [ebp - 0xb60]
call fcn.004010bc
push 0xffffffffffffffff
push dword [ebp - 0xbf8]
lea eax, [ebp - 0xb90]
push eax
lea ecx, [ebp - 0xb60]
mov byte [ebp - 4], 0xf
call fcn.00403e81
push 0x5bef0c
lea eax, [ebp - 0xba8]
push eax
lea eax, [ebp - 0xa90]
push eax
mov byte [ebp - 4], 0x10
call fcn.00438264
lea ecx, [ebp - 0x14a0]
push ecx
push eax
lea eax, [ebp - 0xae8]
push eax
mov byte [ebp - 4], 0x11
call fcn.004044c3
add esp, 0x18
xor eax, eax
push esi
inc eax
push eax
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 0x13
call fcn.00403a7f
lea eax, [ebp - 0xb90]
push eax
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xb00]
push eax
call fcn.00438203
add esp, 0xc
cmp dword [ebp - 0xaec], 8
lea eax, [ebp - 0xb00]
cmovae eax, dword [ebp - 0xb00]
mov byte [ebp - 4], 0x14
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push eax
call esi
cmp eax, 0xffffffff
je 0x445b87
cmp dword [ebp - 0xaec], 8
lea eax, [ebp - 0xb00]
cmovae eax, dword [ebp - 0xb00]
push eax
call esi
test al, 0x10
jne 0x445c11
cmp dword [ebp - 0xad4], 8
lea ecx, [ebp - 0x670]
lea eax, [ebp - 0xae8]
cmovae eax, dword [ebp - 0xae8]
push ecx
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
je 0x445c11
xor esi, esi
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0xb00]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0xae8]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0xb90]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0xb60]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0xaa8]
call fcn.00403a7f
mov ecx, dword [ebp - 0x19f8]
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov esi, dword [ebp - 0x1a08]
jmp 0x446e40
mov eax, dword [ebp - 0x1a08]
push dword [eax - 0xc]
push eax
call fcn.0058b10d
sub eax, dword [ebp - 0xbf8]
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x1aa0]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041cbb9
push dword [eax]
lea ecx, [ebp - 0xbd8]
mov byte [ebp - 4], 0x15
call fcn.004010bc
mov ecx, dword [ebp - 0x1aa0]
mov byte [ebp - 4], 0x17
lea ecx, [ecx - 0x10]
call fcn.0041c730
push 0x5bef0c
lea eax, [ebp - 0xba8]
push eax
lea eax, [ebp - 0xb30]
push eax
call fcn.00438264
lea ecx, [ebp - 0x14a0]
push ecx
push eax
lea eax, [ebp - 0xa90]
push eax
mov byte [ebp - 4], 0x18
call fcn.004044c3
lea ecx, [ebp - 0xbd8]
push ecx
push eax
lea eax, [ebp - 0xb48]
push eax
mov byte [ebp - 4], 0x19
call fcn.004381de
add esp, 0x24
xor eax, eax
xor esi, esi
push esi
inc eax
push eax
lea ecx, [ebp - 0xa90]
call fcn.00403a7f
xor eax, eax
push esi
inc eax
push eax
lea ecx, [ebp - 0xb30]
mov byte [ebp - 4], 0x1c
call fcn.00403a7f
cmp dword [ebp - 0xb34], 8
lea eax, [ebp - 0xb48]
cmovae eax, dword [ebp - 0xb48]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041ddd6
mov esi, dword [ebp - 0x1a08]
push 0x5c
push esi
call fcn.0058b1ea
pop ecx
pop ecx
test eax, eax
je 0x445d30
sub eax, esi
sar eax, 1
js 0x445d30
push 0x5c
push esi
call fcn.0058b1ea
pop ecx
pop ecx
test eax, eax
jne 0x445d1c
or eax, 0xffffffff
jmp 0x445d20
sub eax, esi
sar eax, 1
inc eax
cmp eax, dword [esi - 0xc]
push 1
pop eax
cmove edi, eax
mov dword [ebp - 0x1a0c], edi
push esi
push str.SysFileName___1_s__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
mov edi, dword [ebp - 0x1a88]
add esp, 0x10
test edi, edi
je 0x445d86
xor eax, eax
cmp ax, word [edi]
je 0x445d86
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0xaa8]
call fcn.00403cef
push 0x5bef0c
call fcn.00588144
pop ecx
push eax
push 0x5bef0c
lea ecx, [ebp - 0xaa8]
call fcn.00403b92
xor eax, eax
cmp word [ebx], ax
je 0x445d94
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0xaa8]
call fcn.00403b92
push str..cab
call fcn.00588144
pop ecx
push eax
push str..cab
lea ecx, [ebp - 0xaa8]
call fcn.00403b92
cmp dword [ebp - 0xa94], 8
lea eax, [ebp - 0xaa8]
cmovae eax, dword [ebp - 0xaa8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x445fb6
lea ecx, [ebp - 0xc50]
call fcn.004384b1
lea ecx, [ebp - 0x127c]
call fcn.00420211
lea eax, [ebp - 0x25c]
push eax
mov byte [ebp - 4], 0x1e
call fcn.004359f4
xor edi, edi
pop ecx
test eax, eax
je 0x447131
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0xaa8]
push eax
lea ecx, [ebp - 0xc50]
call fcn.00403c35
cmp word [ebp - 0x25c], di
jne 0x445e34
mov eax, edi
jmp 0x445e41
lea eax, [ebp - 0x25c]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0xc38]
call fcn.00403cef
push esi
lea ecx, [ebp - 0x127c]
call fcn.0042391c
test eax, eax
je 0x445ecb
lea eax, [ebp - 0xb78]
push eax
lea ecx, [ebp - 0x127c]
call fcn.004205a1
push eax
lea ecx, [ebp - 0xc20]
call fcn.00401322
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb78]
call fcn.00403a7f
lea eax, [ebp - 0xb78]
push eax
lea ecx, [ebp - 0x127c]
call fcn.004205bf
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x1f
call fcn.00403ac5
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb78]
mov byte [ebp - 4], 0x1e
call fcn.00403a7f
cmp dword [ebp - 0xa94], 8
lea ecx, [ebp - 0xc50]
push ecx
push 0x41b9f1
lea eax, [ebp - 0xaa8]
cmovae eax, dword [ebp - 0xaa8]
push edi
push eax
call dword [sym.imp.SETUPAPI.dll_SetupIterateCabinetW]
test eax, eax
je 0x446e68
cmp dword [ebp - 0xa94], 8
lea eax, [ebp - 0xaa8]
cmovae eax, dword [ebp - 0xaa8]
push eax
push str.Extracting_of__1_s__is_succeeded._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x10
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x19f8]
call fcn.0041ddd6
mov edi, dword [esi - 0xc]
push 0x5c
push esi
call fcn.0058b1ea
pop ecx
pop ecx
test eax, eax
jne 0x445f4c
or eax, 0xffffffff
jmp 0x445f50
sub eax, esi
sar eax, 1
sub edi, eax
push edi
lea eax, [ebp - 0x1a98]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041cbb9
mov eax, dword [eax]
lea ecx, [ebp - 0x19f8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x20
push eax
call fcn.0040815c
mov ecx, dword [ebp - 0x1a98]
lea ecx, [ecx - 0x10]
call fcn.0041c730
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0x1278]
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
call fcn.00403a7f
lea ecx, [ebp - 0xc50]
mov byte [ebp - 4], 0x1c
call fcn.0045d256
jmp 0x44603f
test edi, edi
je 0x445fda
xor eax, eax
cmp ax, word [edi]
je 0x445fda
push edi
lea ecx, [ebp - 0x19f8]
call fcn.0041ddd6
lea eax, [ebp - 0x19f8]
push eax
call fcn.004080e0
pop ecx
push dword [ebx - 0xc]
lea ecx, [ebp - 0x19f8]
push ebx
call fcn.0040815c
mov edi, dword [esi - 0xc]
push 0x5c
push esi
call fcn.0058b1ea
pop ecx
pop ecx
test eax, eax
jne 0x445fff
or eax, 0xffffffff
jmp 0x446003
sub eax, esi
sar eax, 1
sub edi, eax
push edi
lea eax, [ebp - 0x1a90]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041cbb9
mov eax, dword [eax]
lea ecx, [ebp - 0x19f8]
push dword [eax - 0xc]
mov byte [ebp - 4], 0x21
push eax
call fcn.0040815c
mov ecx, dword [ebp - 0x1a90]
mov byte [ebp - 4], 0x1c
lea ecx, [ecx - 0x10]
call fcn.0041c730
push dword [ebp - 0x19f8]
mov edi, dword [ebp - 0x1a0c]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test edi, edi
je 0x44606e
cmp eax, 0xffffffff
je 0x446f8e
push dword [ebp - 0x19f8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jmp 0x446071
cmp eax, 0xffffffff
je 0x446f8e
push esi
push str.SysFileName___1_n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
push dword [ebp - 0x19f8]
push str.sourceFile___1_n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
add esp, 0x20
test edi, edi
je 0x44613d
mov ecx, dword [ebp - 0x1a54]
xor eax, eax
push eax
push eax
push eax
push esi
push dword [ebp - 0x19f8]
call fcn.0043a6eb
mov edi, eax
mov eax, str.failed
mov ecx, str.success
test edi, edi
cmove ecx, eax
push ecx
push str.CopyDirectory____s._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00423f75
add esp, 0x10
test edi, edi
je 0x446dbc
mov edi, dword [ebp - 0x19fc]
cmp dword [edi - 0xc], 0
je 0x446dbc
call fcn.00473832
mov ecx, dword [eax + 4]
push 0x5cb378
push edi
add ecx, 0xd0
call fcn.0046e541
push 0x5cb378
push dword [ebp - 0x19fc]
push str._1_s__2_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x14
jmp 0x446dbc
call fcn.00472cf7
push eax
lea ecx, [ebp - 0x1a18]
call fcn.00405b90
push 0x5bff54
lea eax, [ebp - 0xb00]
push eax
lea eax, [ebp - 0xb78]
push eax
mov byte [ebp - 4], 0x22
call fcn.00438264
add esp, 0xc
xor eax, eax
cmp dword [ebp - 0xb64], 8
lea edi, [eax + 1]
lea ecx, [ebp - 0x171c]
lea eax, [ebp - 0xb78]
cmovae eax, dword [ebp - 0xb78]
push ecx
push eax
mov byte [ebp - 4], 0x23
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x1a10], eax
cmp eax, 0xffffffff
je 0x44633e
mov ebx, eax
mov ecx, 0x101
push ecx
lea eax, [ebp - 0xa78]
push eax
push ecx
lea eax, [ebp - 0x874]
push eax
xor eax, eax
push eax
push eax
push eax
push eax
push esi
call fcn.0058bead
add esp, 0x24
xor eax, eax
push eax
sub esp, 0x18
lea eax, [ebp - 0x874]
mov ecx, esp
mov dword [ebp - 0x1a0c], esp
push eax
call fcn.004010bc
sub esp, 0x18
lea eax, [ebp - 0x16f0]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x24
call fcn.004010bc
mov byte [ebp - 4], 0x23
call fcn.0046be19
add esp, 0x34
test eax, eax
je 0x446300
push 0x5c
lea eax, [ebp - 0xb00]
push eax
lea eax, [ebp - 0xb30]
push eax
call fcn.004382d4
lea ecx, [ebp - 0x16f0]
push ecx
push eax
lea eax, [ebp - 0xa90]
push eax
mov byte [ebp - 4], 0x25
call fcn.004044c3
add esp, 0x18
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xb30]
mov byte [ebp - 4], 0x27
call fcn.00403a7f
push dword [ebp - 0x1a1c]
cmp dword [ebp - 0xa7c], 8
push dword [ebp - 0x19f8]
lea eax, [ebp - 0xa90]
cmovae eax, dword [ebp - 0xa90]
push eax
call fcn.0040a456
movzx eax, ax
add esp, 0xc
test ax, ax
js 0x4462eb
push esi
push str._1_is_equal_or_lower._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
mov edi, dword [ebp - 0x19fc]
and dword [ebp - 0x1a0c], 0
add esp, 0x10
cmp dword [edi - 0xc], 0
je 0x4462e5
call fcn.00473832
mov ecx, dword [eax + 4]
push str.ALREADY
push edi
add ecx, 0xd0
call fcn.0046e541
push str.ALREADY
push dword [ebp - 0x19fc]
push str._1_s__2_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x14
mov edi, dword [ebp - 0x1a0c]
xor eax, eax
push 0
inc eax
push eax
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 0x23
call fcn.00403a7f
lea eax, [ebp - 0x171c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x44631d
xor eax, eax
inc eax
cmp edi, eax
je 0x4461a9
push dword [ebp - 0x1a10]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [ebp - 0x1a14]
test edi, edi
jne 0x44633e
mov edi, dword [ebp - 0x1a18]
jmp 0x446da4
push str.This_version_is_newer._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
push dword [ebp - 0x1a1c]
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x20], ax
mov word [ebp - 0x18], ax
mov word [ebp - 0x30], ax
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x1a40]
push eax
lea eax, [ebp - 0x1a44]
push eax
push dword [ebp - 0x19f8]
mov dword [ebp - 0x1a44], ecx
mov dword [ebp - 0x1a40], ecx
mov dword [ebp - 0x1e], ecx
mov word [ebp - 0x1a], cx
mov dword [ebp - 0x16], ecx
mov word [ebp - 0x12], cx
mov dword [ebp - 0x2e], ecx
mov word [ebp - 0x2a], cx
mov dword [ebp - 0x26], ecx
mov word [ebp - 0x22], cx
call fcn.0046ee75
add esp, 0x1c
test eax, eax
je 0x446f69
movzx eax, word [ebp - 0x1a42]
push 0xa
push 4
pop edi
push edi
lea ecx, [ebp - 0x20]
push ecx
push eax
call fcn.0058ba03
movzx eax, word [ebp - 0x1a44]
push 0xa
push edi
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.0058ba03
movzx eax, word [ebp - 0x1a3e]
push 0xa
push edi
lea ecx, [ebp - 0x30]
push ecx
push eax
call fcn.0058ba03
movzx eax, word [ebp - 0x1a40]
push 0xa
push edi
lea ecx, [ebp - 0x28]
push ecx
push eax
call fcn.0058ba03
xor edi, edi
xor eax, eax
add esp, 0x40
mov dword [ebp - 0xb04], 7
mov dword [ebp - 0xb08], edi
mov word [ebp - 0xb18], ax
push 0x5f
inc eax
push eax
lea ecx, [ebp - 0xb18]
mov byte [ebp - 4], 0x28
call fcn.00449f0e
cmp word [ebp - 0x20], di
jne 0x446443
mov eax, edi
jmp 0x44644d
lea eax, [ebp - 0x20]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00403b92
xor eax, eax
push 0x5f
inc eax
push eax
lea ecx, [ebp - 0xb18]
call fcn.0041ec8e
cmp word [ebp - 0x18], 0
jne 0x446479
mov eax, edi
jmp 0x446483
lea eax, [ebp - 0x18]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00403b92
xor eax, eax
push 0x5f
inc eax
push eax
lea ecx, [ebp - 0xb18]
call fcn.0041ec8e
cmp word [ebp - 0x30], 0
jne 0x4464af
mov eax, edi
jmp 0x4464b9
lea eax, [ebp - 0x30]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00403b92
xor eax, eax
push 0x5f
inc eax
push eax
lea ecx, [ebp - 0xb18]
call fcn.0041ec8e
cmp word [ebp - 0x28], 0
jne 0x4464e5
mov eax, edi
jmp 0x4464ef
lea eax, [ebp - 0x28]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00403b92
push 0x2e
push esi
call fcn.0058b1ea
pop ecx
pop ecx
test eax, eax
jne 0x446512
or eax, 0xffffffff
jmp 0x446516
sub eax, esi
sar eax, 1
push eax
lea eax, [ebp - 0x1a7c]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041b8ba
push dword [eax]
lea ecx, [ebp - 0xb30]
mov byte [ebp - 4], 0x29
call fcn.004010bc
mov ecx, dword [ebp - 0x1a7c]
mov byte [ebp - 4], 0x2b
lea ecx, [ecx - 0x10]
call fcn.0041c730
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0xb18]
push eax
lea ecx, [ebp - 0xb30]
call fcn.00403ac5
mov esi, str..exe
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0xb30]
call fcn.00403b92
cmp dword [ebp - 0xb1c], 8
lea eax, [ebp - 0xb30]
cmovae eax, dword [ebp - 0xb30]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041ddd6
lea eax, [ebp - 0x1a08]
push eax
lea ecx, [ebp - 0x1a18]
call fcn.0040726a
mov eax, dword [ebp - 0x1a18]
lea ecx, [ebp - 0x1a18]
mov eax, dword [eax - 0xc]
add eax, 0xfffffffd
push eax
lea eax, [ebp - 0x1a8c]
push eax
call fcn.0041b8ba
push 0x5cb390
push eax
lea eax, [ebp - 0x1a84]
push eax
mov byte [ebp - 4], 0x2c
call fcn.0043853f
add esp, 0xc
push eax
lea ecx, [ebp - 0x1a18]
mov byte [ebp - 4], 0x2d
call fcn.0040726a
mov ecx, dword [ebp - 0x1a84]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a8c]
mov byte [ebp - 4], 0x2b
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov esi, dword [ebp - 0x1a08]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push esi
call edi
cmp eax, 0xffffffff
je 0x44663b
push esi
call edi
and eax, 0xfffffffe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x44675a
lea ecx, [ebp - 0x127c]
call fcn.00420211
xor eax, eax
mov dword [ebp - 0x1a38], eax
mov dword [ebp - 0xaac], 7
mov dword [ebp - 0xab0], eax
mov word [ebp - 0xac0], ax
push esi
lea ecx, [ebp - 0x127c]
mov byte [ebp - 4], 0x2f
call fcn.0042391c
lea eax, [ebp - 0xa90]
push eax
lea ecx, [ebp - 0x127c]
call fcn.0042189d
push eax
lea ecx, [ebp - 0xac0]
call fcn.00401322
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xa90]
call fcn.00403a7f
cmp dword [ebp - 0xaac], 8
lea eax, [ebp - 0xac0]
cmovae eax, dword [ebp - 0xac0]
push eax
call edi
cmp eax, 0xffffffff
je 0x4466da
cmp dword [ebp - 0xaac], 8
lea eax, [ebp - 0xac0]
cmovae eax, dword [ebp - 0xac0]
push eax
call edi
test al, 0x10
jne 0x44672a
cmp dword [ebp - 0xaac], 8
lea eax, [ebp - 0xac0]
cmovae eax, dword [ebp - 0xac0]
push eax
push str.CreateDirectoryRecursively__1_s___n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
cmp dword [ebp - 0xaac], 8
mov eax, dword [ebp - 0xab0]
lea ecx, [ebp - 0xac0]
cmovae ecx, dword [ebp - 0xac0]
xor edi, edi
push edi
inc eax
push eax
push ecx
call fcn.00409465
add esp, 0x1c
jmp 0x44672c
xor edi, edi
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xac0]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0x1278]
mov byte [ebp - 4], 0x2b
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
call fcn.00403a7f
push dword [ebp - 0x19f8]
mov edi, str.CInstallAction::RenameAndInstallOtherFiles
push str.sourceFile_1_s__n
push edi
push 5
call fcn.00423f75
push esi
push str.SysFileName_1_s__n
push edi
push 5
call fcn.00423f75
mov edi, dword [ebp - 0x1a18]
push edi
push str.tempFile_1_s__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
add esp, 0x30
cmp dword [ebp - 0x1a38], 0
jne 0x446a92
xor eax, eax
push eax
push esi
push dword [ebp - 0x19f8]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x446a92
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x446d35
push 0x2e
push dword [ebp - 0x1a04]
call fcn.0058b1ea
pop ecx
pop ecx
test eax, eax
jne 0x4467e8
or eax, 0xffffffff
jmp 0x4467f0
sub eax, dword [ebp - 0x1a04]
sar eax, 1
push eax
lea eax, [ebp - 0x1a94]
push eax
lea ecx, [ebp - 0x1a04]
call fcn.0041b8ba
push dword [eax]
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0x31
call fcn.004010bc
mov ecx, dword [ebp - 0x1a94]
mov byte [ebp - 4], 0x33
lea ecx, [ecx - 0x10]
call fcn.0041c730
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0xffffffffffffffff
xor eax, eax
push eax
lea eax, [ebp - 0xb18]
push eax
lea ecx, [ebp - 0xac0]
call fcn.00403ac5
push str..exe
call fcn.00588144
pop ecx
push eax
push str..exe
lea ecx, [ebp - 0xac0]
call fcn.00403b92
cmp dword [ebp - 0xb1c], 8
lea ecx, [ebp - 0xb30]
cmovae ecx, dword [ebp - 0xb30]
cmp dword [ebp - 0xaac], 8
lea eax, [ebp - 0xac0]
cmovae eax, dword [ebp - 0xac0]
push ecx
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
jne 0x4468da
cmp dword [ebp - 0xaac], 8
mov ecx, dword [ebp - 0x1a4c]
lea eax, [ebp - 0xac0]
cmovae eax, dword [ebp - 0xac0]
push eax
push dword [ebp - 0x1a00]
call fcn.0046e541
push dword [ebp - 0x1a00]
push str.RenamedFilePath_1_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x10
cmp dword [ebp - 0xad4], 8
lea ecx, [ebp - 0x670]
lea eax, [ebp - 0xae8]
cmovae eax, dword [ebp - 0xae8]
push ecx
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
jne 0x446a79
push esi
lea ecx, [ebp - 0xa90]
call fcn.004010bc
xor ecx, ecx
lea eax, [ebp - 0x1a24]
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor edx, edx
inc edx
push ecx
push edx
lea eax, [ebp - 0xad0]
push eax
mov byte [ebp - 4], 0x34
mov dword [ebp - 0xad0], ecx
mov byte [ebp - 0xacc], cl
mov byte [ebp - 0xacb], dl
mov dword [ebp - 0x1a24], ecx
mov dword [ebp - 0x1a58], ecx
mov dword [ebp - 0x1a34], ecx
mov dword [ebp - 0x1a48], ecx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x4471fa
cmp dword [ebp - 0xa7c], 8
lea eax, [ebp - 0xa90]
cmovae eax, dword [ebp - 0xa90]
lea ecx, [ebp - 0x1a48]
push ecx
xor edx, edx
push edx
lea ecx, [ebp - 0x1a58]
push ecx
push edx
push edx
xor ecx, ecx
push 4
inc ecx
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoW]
test eax, eax
jne 0x4471e9
push 0x20
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00587a70
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1a24]
add esp, 0xc
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1a34]
push eax
push dword [ebp - 0x1a58]
xor ecx, ecx
lea eax, [ebp - 0x50]
inc ecx
push eax
push ecx
mov dword [ebp - 0x50], 0xe0010000
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x38], 5
call dword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
test eax, eax
jne 0x4471db
cmp dword [ebp - 0xa7c], 8
lea eax, [ebp - 0xa90]
cmovae eax, dword [ebp - 0xa90]
xor ecx, ecx
push ecx
push dword [ebp - 0x1a34]
push ecx
push ecx
push 4
inc ecx
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoW]
test eax, eax
jne 0x447163
cmp dword [ebp - 0x1a24], eax
je 0x446a3f
push dword [ebp - 0x1a24]
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 0x1a48], 0
je 0x446a54
push dword [ebp - 0x1a48]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x1a34], 0
je 0x446a69
push dword [ebp - 0x1a34]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xa90]
call fcn.00403a7f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0x2b
call fcn.00403a7f
jmp 0x446d35
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.immediate_copy_failed.__0x_1_lx___n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x446ac5
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
xor eax, eax
push eax
push edi
push dword [ebp - 0x19f8]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x446d1a
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x446c9e
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 0xad4], 8
lea ecx, [ebp - 0x670]
lea eax, [ebp - 0xae8]
cmovae eax, dword [ebp - 0xae8]
push ecx
push eax
call fcn.0058b073
pop ecx
pop ecx
test eax, eax
jne 0x446c9e
push esi
lea ecx, [ebp - 0xa90]
call fcn.004010bc
push 0x30
pop eax
xor ecx, ecx
mov byte [ebp - 4], al
lea eax, [ebp - 0x1a2c]
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor edx, edx
inc edx
push ecx
push edx
lea eax, [ebp - 0xac8]
push eax
mov dword [ebp - 0xac8], ecx
mov byte [ebp - 0xac4], cl
mov byte [ebp - 0xac3], dl
mov dword [ebp - 0x1a2c], ecx
mov dword [ebp - 0x1a50], ecx
mov dword [ebp - 0x1a20], ecx
mov dword [ebp - 0x1a3c], ecx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x44724d
cmp dword [ebp - 0xa7c], 8
lea eax, [ebp - 0xa90]
cmovae eax, dword [ebp - 0xa90]
lea ecx, [ebp - 0x1a3c]
push ecx
xor edx, edx
push edx
lea ecx, [ebp - 0x1a50]
push ecx
push edx
push edx
xor ecx, ecx
push 4
inc ecx
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoW]
test eax, eax
jne 0x44723f
push 0x20
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00587a70
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1a2c]
add esp, 0xc
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1a20]
push eax
push dword [ebp - 0x1a50]
xor ecx, ecx
lea eax, [ebp - 0x50]
inc ecx
push eax
push ecx
mov dword [ebp - 0x50], 0xe0010000
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x38], 5
call dword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
test eax, eax
jne 0x447231
cmp dword [ebp - 0xa7c], 8
lea eax, [ebp - 0xa90]
cmovae eax, dword [ebp - 0xa90]
xor ecx, ecx
push ecx
push dword [ebp - 0x1a20]
push ecx
push ecx
push 4
inc ecx
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoW]
test eax, eax
jne 0x44720b
cmp dword [ebp - 0x1a2c], eax
je 0x446c60
push dword [ebp - 0x1a2c]
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 0x1a3c], 0
je 0x446c75
push dword [ebp - 0x1a3c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x1a20], 0
je 0x446c8a
push dword [ebp - 0x1a20]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 0x2b
call fcn.00403a7f
push str.__create_tempFile_succeeded._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0xc
push 5
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x446cf6
push str.MoveFileEx_succeeded.__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
push str.A_reboot_is_required._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
mov eax, dword [ebp - 0x1a54]
xor ecx, ecx
inc ecx
add esp, 0x18
or dword [eax + 0xb0], ecx
jmp 0x446d35
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MoveFileEx_failed.__0x_x__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x446d35
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.create_tempfile_failed.__0x_x__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00423f75
add esp, 0x10
mov eax, dword [ebp - 0x19fc]
mov dword [ebp - 0x1a4c], eax
cmp dword [eax - 0xc], 0
je 0x446d84
call fcn.00473832
mov ecx, dword [eax + 4]
push 0x5cb378
push dword [ebp - 0x1a4c]
add ecx, 0xd0
call fcn.0046e541
push 0x5cb378
push dword [ebp - 0x19fc]
push str._1_s__2_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x14
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xb30]
call fcn.00403a7f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xb18]
call fcn.00403a7f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xb78]
call fcn.00403a7f
lea ecx, [edi - 0x10]
call fcn.0041c730
xor eax, eax
xor edi, edi
push edi
inc eax
push eax
lea ecx, [ebp - 0xb48]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xbd8]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb00]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xae8]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb90]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb60]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xaa8]
call fcn.00403a7f
mov ecx, dword [ebp - 0x19f8]
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov edi, dword [ebp - 0x1a9c]
lea eax, [ebp - 0x14cc]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x445a34
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x446fc2
cmp dword [ebp - 0x1a28], 0
je 0x446f35
push str.pSetupIterateCabinet_failed__but_bUseIfExistTRUE_skipped._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0xc
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0x1278]
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
call fcn.00403a7f
lea ecx, [ebp - 0xc50]
call fcn.0045d256
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb48]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xbd8]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb00]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xae8]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb90]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb60]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xaa8]
call fcn.00403a7f
mov ecx, dword [ebp - 0x19f8]
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041c730
jmp 0x446fc4
call fcn.0041dfc9
cmp dword [ebp - 0xa94], 8
push esi
lea eax, [ebp - 0xaa8]
cmovae eax, dword [ebp - 0xaa8]
push eax
push str.Donot_extract__1.__2_cannot_copy_to_system._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00423f75
add esp, 0x14
jmp 0x446e89
xor eax, eax
xor edi, edi
push edi
inc eax
push eax
lea ecx, [ebp - 0xb78]
call fcn.00403a7f
mov ecx, dword [ebp - 0x1a18]
lea ecx, [ecx - 0x10]
call fcn.0041c730
jmp 0x446eae
cmp dword [ebp - 0x1a28], 0
je 0x44725b
push dword [ebp - 0x19f8]
push str.SourceFile__1_s___is_not_found__but_bUseIfExistTRUE_skipped._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f75
add esp, 0x10
xor edi, edi
jmp 0x446eae
mov esi, dword [ebp - 0x1a08]
xor edi, edi
lea eax, [ebp - 0x25c]
test eax, eax
je 0x447035
xor eax, eax
cmp ax, word [ebp - 0x25c]
je 0x447035
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x447035
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x447035
lea eax, [ebp - 0x25c]
push eax
call fcn.004096af
lea eax, [ebp - 0x25c]
push eax
push str.tempPath
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f57
push 0x20a
lea eax, [ebp - 0x25c]
push edi
push eax
call fcn.00587a70
add esp, 0x20
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xbf0]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xbc0]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xba8]
call fcn.00403a7f
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041c730
lea ecx, [ebx - 0x10]
call fcn.0041c730
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 3
call fcn.0041c730
xor ebx, ebx
mov esi, dword [ebp - 0x1a30]
inc esi
mov dword [ebp - 0x1a30], esi
cmp esi, dword [ebp - 0x1a80]
jb 0x4452e4
push 0x5c9efc
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
xor ebx, ebx
add esp, 0xc
inc ebx
mov esi, ebx
lea ecx, [ebp - 0x1ab8]
mov byte [ebp - 4], 2
call fcn.0046c546
lea ecx, [ebp - 0x1a74]
mov byte [ebp - 4], bl
call fcn.0046c546
xor eax, eax
lea ecx, [ebp - 0x19f4]
mov byte [ebp - 4], al
call fcn.0043580f
xor eax, eax
push eax
push ebx
lea ecx, [ebp - 0xc08]
call fcn.00403a7f
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00588a1c
leave
ret 8
mov eax, dword [ebp - 0x1a5c]
xor ecx, ecx
inc ecx
push edi
mov dword [eax], ecx
push ecx
lea ecx, [ebp - 0x1278]
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
call fcn.00403a7f
lea ecx, [ebp - 0xc50]
call fcn.0045d256
jmp 0x447286
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetNamedSecurityInfo_Error.__0x_x__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00423f75
add esp, 0x10
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xa90]
call fcn.00403a7f
lea ecx, [ebp - 0xac0]
xor eax, eax
push eax
inc eax
push eax
call fcn.00403a7f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xb30]
call fcn.00403a7f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xb18]
call fcn.00403a7f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp - 0xb78]
call fcn.00403a7f
lea ecx, [edi - 0x10]
call fcn.0041c730
jmp 0x447284
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetEntriesInAcl_Error.__0x_x__n
jmp 0x44716f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetNamedSecurityInfo_Error.__0x_x__n
jmp 0x44716f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.AllocateAndInitializeSid_Error.__0x_x__n
jmp 0x44716f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetNamedSecurityInfo_Error.__0x_x__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00423f75
add esp, 0x10
lea ecx, [ebp - 0xa90]
jmp 0x447194
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetEntriesInAcl_Error.__0x_x__n
jmp 0x447217
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetNamedSecurityInfo_Error.__0x_x__n
jmp 0x447217
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.AllocateAndInitializeSid_Error.__0x_x__n
jmp 0x447217
call fcn.0041dfc9
push dword [ebp - 0x19f8]
push str.SourceFile__1_s___is_not_found._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
pop edi
push edi
call fcn.00423f75
mov eax, dword [ebp - 0x1a5c]
add esp, 0x10
mov dword [eax], edi
xor edi, edi
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb48]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xbd8]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
lea ecx, [ebp - 0xb00]
push eax
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xae8]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb90]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xb60]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xaa8]
call fcn.00403a7f
mov ecx, dword [ebp - 0x19f8]
lea ecx, [ecx - 0x10]
call fcn.0041c730
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xbf0]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xbc0]
call fcn.00403a7f
xor eax, eax
push edi
inc eax
push eax
lea ecx, [ebp - 0xba8]
call fcn.00403a7f
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041c730
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041c730
lea ecx, [ebx - 0x10]
call fcn.0041c730
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 3
call fcn.0041c730
lea eax, [ebp - 0x25c]
test eax, eax
je 0x4473e3
xor eax, eax
cmp ax, word [ebp - 0x25c]
je 0x4473e3
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4473e3
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x4473e3
lea eax, [ebp - 0x25c]
push eax
call fcn.004096af
lea eax, [ebp - 0x25c]
push eax
push str.tempPath
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00423f57
push 0x20a
lea eax, [ebp - 0x25c]
push edi
push eax
call fcn.00587a70
add esp, 0x20
push 0x5c9efc
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00423f75
xor ebx, ebx
add esp, 0xc
mov esi, edi
inc ebx
jmp 0x4470d7