Function at 0x445f4e
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 0x5b1e11
mov eax, dword fs:[0]
push eax
mov eax, 0x1ab8
call fcn.00593490
mov eax, dword [0x637190]
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]
xor ecx, ecx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x1a88], eax
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.004365c4
xor eax, eax
lea ecx, [ebp - 0x1a74]
inc eax
mov byte [ebp - 4], al
call fcn.0046d5d4
lea ecx, [ebp - 0x1ab8]
mov byte [ebp - 4], 2
call fcn.0046d5d4
push 0x5cff40
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
mov byte [ebp - 4], 3
call fcn.00424dad
add esp, 0xc
xor esi, esi
mov dword [ebx], esi
call fcn.00474a71
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.0040c05d
push eax
lea ecx, [ebp - 0x19f4]
call fcn.004366a9
call fcn.00474a71
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xcc]
call fcn.00413b40
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.0058e700
add esp, 0xc
mov dword [ebp - 0x1a78], 0x105
lea eax, [ebp - 0x1a78]
push eax
lea eax, [ebp - 0x670]
push eax
call dword [sym.imp.USERENV.dll_GetDefaultUserProfileDirectoryW]
mov dword [ebp - 0x1a30], esi
test ebx, ebx
je 0x447e5e
xor ebx, ebx
call fcn.00473f1b
push eax
lea ecx, [ebp - 0x1a08]
call fcn.00406a4a
mov byte [ebp - 4], 4
call fcn.00473f1b
push eax
lea ecx, [ebp - 0x1a14]
call fcn.00406a4a
push 0x5c58f8
lea ecx, [ebp - 0x1a00]
mov byte [ebp - 4], 5
call fcn.00406ad4
push 0x5c4f10
lea ecx, [ebp - 0x19fc]
mov byte [ebp - 4], 6
call fcn.00406ad4
mov byte [ebp - 4], 7
call fcn.00473f1b
push eax
lea ecx, [ebp - 0x1a04]
call fcn.00406a4a
xor eax, eax
mov byte [ebp - 4], 8
push 0x20a
push eax
mov dword [ebp - 0x1a38], eax
mov edi, ebx
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x1a28], edi
push eax
mov dword [ebp - 0x1a1c], ebx
call fcn.0058e700
add esp, 0xc
call fcn.00474a71
push 0x7c
push esi
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.00413baa
push eax
lea ecx, [ebp - 0x1a74]
call fcn.0046eb6a
push 0x20
lea ecx, [ebp - 0x1a74]
call fcn.0046f50b
lea ecx, [ebp - 0x1a74]
call fcn.0046d95f
cmp eax, 3
jb 0x4461e7
push 2
lea ecx, [ebp - 0x1a74]
call fcn.0046dbf8
mov esi, eax
push esi
push str.Condition____1_s___n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0x10
test esi, esi
je 0x446187
xor eax, eax
cmp ax, word [esi]
jne 0x4461e1
push str.__Do_not_copy._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0xc
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a14]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a08]
lea ecx, [ecx - 0x10]
jmp 0x447e3a
mov esi, dword [ebp - 0x1a30]
lea ecx, [ebp - 0x1a74]
call fcn.0046d95f
cmp eax, 2
jb 0x4463ef
xor eax, eax
lea ecx, [ebp - 0x1a74]
push str.ALWAYS
push eax
mov edi, eax
call fcn.0046dbf8
push eax
call fcn.005921d4
pop ecx
pop ecx
test eax, eax
je 0x4463bb
lea ecx, [ebp - 0xa90]
call fcn.0046d5d4
push 0x2e
xor esi, esi
mov byte [ebp - 4], 9
push esi
lea ecx, [ebp - 0x1a74]
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0xa90]
call fcn.0046eb6a
lea ecx, [ebp - 0xa90]
call fcn.0046d95f
cmp eax, 2
jne 0x4462bd
push str.ALWAYS
push esi
lea ecx, [ebp - 0xa90]
call fcn.0046dbf8
push eax
call fcn.005921d4
pop ecx
pop ecx
test eax, eax
jne 0x4462bd
mov dword [ebp - 0x1a10], esi
call fcn.00474a71
xor ecx, ecx
inc ecx
push ecx
mov esi, dword [eax + 4]
lea ecx, [ebp - 0xa90]
call fcn.0046dbf8
push eax
lea eax, [ebp - 0x1a10]
push eax
lea eax, [ebp - 0x1ac0]
push eax
lea ecx, [esi + 0xcc]
call fcn.0040ec3b
push 1
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1a10]
pop eax
cmovne edi, eax
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 8
call fcn.0046d690
test edi, edi
jne 0x4463bb
call fcn.00474a71
push edi
lea ecx, [ebp - 0x1a74]
mov esi, dword [eax + 4]
call fcn.0046dbf8
push eax
lea ecx, [esi + 0xcc]
call fcn.0040bed1
test eax, eax
je 0x446303
xor ecx, ecx
cmp cx, word [eax]
jne 0x4463bb
mov dword [ebp - 0x1a10], edi
call fcn.00474a71
push edi
lea ecx, [ebp - 0x1a74]
mov esi, dword [eax + 4]
call fcn.0046dbf8
push eax
lea eax, [ebp - 0x1a10]
push eax
lea eax, [ebp - 0x1abc]
push eax
lea ecx, [esi + 0xcc]
call fcn.0040ec3b
mov esi, dword [ebp - 0x1a10]
mov eax, dword [eax]
mov dword [ebp - 0x1a0c], eax
jmp 0x44637a
cmp dword [eax + 0x108], edi
je 0x446369
push str.in_box
lea ecx, [eax + 0xf8]
call fcn.0041fdbb
test eax, eax
jne 0x4463a7
mov esi, dword [ebp - 0x1a10]
lea ecx, [ebp - 0x1a0c]
call fcn.004212e4
mov eax, dword [ebp - 0x1a0c]
cmp eax, esi
jne 0x446347
xor eax, eax
lea ecx, [ebp - 0x1a74]
inc eax
push eax
call fcn.0046dbf8
push eax
push str.Not_target_function_Source____1_s___n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
add esp, 0x10
jmp 0x44619b
push str._PreInst__Pre_install_driver_is_enabled._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0xc
xor eax, eax
lea ecx, [ebp - 0x1a74]
inc eax
push eax
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0x1a14]
call fcn.0041ed9c
lea ecx, [ebp - 0x1a74]
call fcn.0046d8ee
mov edi, dword [ebp - 0x1a28]
mov esi, dword [ebp - 0x1a30]
jmp 0x44640f
call fcn.00474a71
push esi
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.00413baa
push eax
lea ecx, [ebp - 0x1a14]
call fcn.0041ed9c
call fcn.00474a71
push 0x2c
push esi
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.00413c41
push eax
lea ecx, [ebp - 0x1ab8]
call fcn.0046eb6a
xor eax, eax
lea ecx, [ebp - 0x1ab8]
push eax
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041ed9c
lea eax, [ebp - 0x1a08]
push eax
lea ecx, [ebp - 0x1a04]
call fcn.0040813e
lea ecx, [ebp - 0x1ab8]
call fcn.0046d95f
cmp eax, 4
jb 0x4464bf
push 3
lea ecx, [ebp - 0x1ab8]
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0x1a00]
call fcn.0041ed9c
mov esi, dword [ebp - 0x1a00]
call fcn.00474a71
push 0x5c58f8
push esi
mov ecx, dword [eax + 4]
add ecx, 0xd0
call fcn.0046d72a
push dword [ebp - 0x1a00]
push str.RenamedFilePathVar_1_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0x10
lea ecx, [ebp - 0x1ab8]
call fcn.0046d95f
cmp eax, 3
jb 0x446521
push 2
lea ecx, [ebp - 0x1ab8]
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0x19fc]
call fcn.0041ed9c
mov esi, dword [ebp - 0x19fc]
call fcn.00474a71
push 0x5c58f8
push esi
mov ecx, dword [eax + 4]
add ecx, 0xd0
call fcn.0046d72a
push dword [ebp - 0x19fc]
push str.CopyStatusVar_1_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0x10
lea ecx, [ebp - 0x1ab8]
call fcn.0046d95f
cmp eax, 2
jb 0x4465f1
xor eax, eax
push 0x20
push eax
mov dword [ebp - 0x1a0c], eax
lea eax, [ebp - 0x50]
push eax
call fcn.0058e700
add esp, 0xc
lea ecx, [ebp - 0x1ab8]
xor eax, eax
inc eax
push eax
call fcn.0046dbf8
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x50]
push 0x10
push eax
call fcn.00591ddd
add esp, 0x10
push 0x30
pop eax
cmp word [ebp - 0x50], ax
jne 0x4465a7
cmp word [ebp - 0x4e], 0x78
je 0x446583
cmp word [ebp - 0x4e], 0x58
jne 0x4465a7
push 3
push 0x5d1334
call fcn.00591dbe
push 0x10
lea ecx, [ebp - 0x1a0c]
push ecx
lea eax, [ebp + eax*2 - 0x50]
push eax
call fcn.005929f9
add esp, 0x14
jmp 0x4465bc
push 0xa
lea eax, [ebp - 0x1a0c]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.005929f9
add esp, 0xc
mov ecx, dword [ebp - 0x1a38]
xor edx, edx
inc edx
test dl, al
cmovne ecx, edx
test al, 2
mov dword [ebp - 0x1a38], ecx
mov ecx, dword [ebp - 0x1a1c]
cmovne edi, edx
test al, 4
mov dword [ebp - 0x1a28], edi
cmovne ecx, edx
test al, 8
mov dword [ebp - 0x1a1c], ecx
cmovne ebx, edx
lea ecx, [ebp - 0x1ab8]
call fcn.0046d8ee
test ebx, ebx
je 0x44619b
lea eax, [ebp - 0xc08]
xor ebx, ebx
push eax
push ebx
push ebx
sub esp, 0x10
mov esi, 0x60cca4
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.0044af58
add esp, 0x1c
test eax, eax
jns 0x446678
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a14]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a08]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
jmp 0x447e45
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.0058e700
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.00591d62
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 0x44670a
mov eax, ebx
jmp 0x446717
lea eax, [ebp - 0x464]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x464]
push eax
lea ecx, [ebp - 0xbc0]
call fcn.00404be0
xor esi, esi
mov byte [ebp - 4], 0xb
inc esi
mov dword [ebp - 0x1a0c], 0x5c
push esi
push 0xffffffffffffffff
lea eax, [ebp - 0x1a0c]
push eax
lea ecx, [ebp - 0xbc0]
call fcn.0044acec
push eax
push ebx
lea eax, [ebp - 0xa90]
push eax
lea ecx, [ebp - 0xbc0]
call fcn.00404d72
push eax
lea ecx, [ebp - 0xba8]
call fcn.00401e90
push ebx
push esi
lea ecx, [ebp - 0xa90]
call fcn.00404970
push 0x5c6048
lea eax, [ebp - 0xba8]
push eax
lea eax, [ebp - 0xbf0]
push eax
call fcn.00439078
add esp, 0xc
cmp dword [ebp - 0xbdc], 8
lea ecx, [ebp - 0x14cc]
lea eax, [ebp - 0xbf0]
mov byte [ebp - 4], 0xc
cmovae eax, dword [ebp - 0xbf0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a9c], eax
cmp eax, 0xffffffff
je 0x447d5c
mov esi, 0x5c4f10
lea ecx, [ebp - 0x19f8]
push esi
call fcn.00406ad4
xor ecx, ecx
mov byte [ebp - 4], 0xd
push ecx
mov dword [ebp - 0xa98], ecx
xor eax, eax
push esi
lea ecx, [ebp - 0xaa8]
mov dword [ebp - 0xa94], 7
mov word [ebp - 0xaa8], ax
call fcn.00404be0
xor esi, esi
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x1a04]
mov edi, esi
push eax
lea ecx, [ebp - 0x1a08]
mov dword [ebp - 0x1a0c], edi
call fcn.0040813e
call fcn.00474a71
push str.___FLD_STARTUP___
mov eax, dword [eax + 4]
add eax, 0xd0
mov ecx, eax
mov dword [ebp - 0x1a4c], eax
call fcn.0046ed66
push eax
lea ecx, [ebp - 0xb60]
call fcn.00401c0c
push 0xffffffffffffffff
push dword [ebp - 0xbf8]
lea eax, [ebp - 0xb90]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0xb60]
call fcn.00404d72
push 0x5c4f0c
lea eax, [ebp - 0xba8]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0xa90]
push eax
call fcn.00439078
lea ecx, [ebp - 0x14a0]
mov byte [ebp - 4], 0x11
push ecx
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.004053b3
add esp, 0x18
xor eax, eax
mov byte [ebp - 4], 0x13
push esi
inc eax
lea ecx, [ebp - 0xa90]
push eax
call fcn.00404970
lea eax, [ebp - 0xb90]
push eax
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xb00]
push eax
call fcn.00439017
add esp, 0xc
cmp dword [ebp - 0xaec], 8
lea eax, [ebp - 0xb00]
mov byte [ebp - 4], 0x14
cmovae eax, dword [ebp - 0xb00]
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push eax
call esi
cmp eax, 0xffffffff
je 0x446926
cmp dword [ebp - 0xaec], 8
lea eax, [ebp - 0xb00]
cmovae eax, dword [ebp - 0xb00]
push eax
call esi
test al, 0x10
jne 0x4469b0
cmp dword [ebp - 0xad4], 8
lea ecx, [ebp - 0x670]
lea eax, [ebp - 0xae8]
cmovae eax, dword [ebp - 0xae8]
push ecx
push eax
call fcn.00591d24
pop ecx
pop ecx
test eax, eax
je 0x4469b0
xor esi, esi
lea ecx, [ebp - 0xb00]
xor edi, edi
push esi
inc edi
push edi
call fcn.00404970
push esi
push edi
lea ecx, [ebp - 0xae8]
call fcn.00404970
push esi
push edi
lea ecx, [ebp - 0xb90]
call fcn.00404970
push esi
push edi
lea ecx, [ebp - 0xb60]
call fcn.00404970
push esi
push edi
lea ecx, [ebp - 0xaa8]
call fcn.00404970
mov ecx, dword [ebp - 0x19f8]
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov esi, dword [ebp - 0x1a08]
jmp 0x447be0
mov eax, dword [ebp - 0x1a08]
push dword [eax - 0xc]
push eax
call fcn.00591dbe
sub eax, dword [ebp - 0xbf8]
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x1aa0]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041db85
push dword [eax]
lea ecx, [ebp - 0xbd8]
mov byte [ebp - 4], 0x15
call fcn.00401c0c
mov ecx, dword [ebp - 0x1aa0]
mov byte [ebp - 4], 0x17
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
push 0x5c4f0c
lea eax, [ebp - 0xba8]
push eax
lea eax, [ebp - 0xb30]
push eax
call fcn.00439078
lea ecx, [ebp - 0x14a0]
mov byte [ebp - 4], 0x18
push ecx
push eax
lea eax, [ebp - 0xa90]
push eax
call fcn.004053b3
lea ecx, [ebp - 0xbd8]
mov byte [ebp - 4], 0x19
push ecx
push eax
lea eax, [ebp - 0xb48]
push eax
call fcn.00438ff0
add esp, 0x24
xor eax, eax
lea ecx, [ebp - 0xa90]
xor esi, esi
inc eax
push esi
push eax
call fcn.00404970
xor eax, eax
mov byte [ebp - 4], 0x1c
push esi
inc eax
lea ecx, [ebp - 0xb30]
push eax
call fcn.00404970
cmp dword [ebp - 0xb34], 8
lea eax, [ebp - 0xb48]
lea ecx, [ebp - 0x1a08]
cmovae eax, dword [ebp - 0xb48]
push eax
call fcn.0041ed9c
mov esi, dword [ebp - 0x1a08]
push 0x5c
push esi
call fcn.00591e9b
pop ecx
pop ecx
test eax, eax
je 0x446acf
sub eax, esi
sar eax, 1
js 0x446acf
push 0x5c
push esi
call fcn.00591e9b
pop ecx
pop ecx
test eax, eax
jne 0x446abb
or eax, 0xffffffff
jmp 0x446abf
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.00424dad
mov edi, dword [ebp - 0x1a88]
add esp, 0x10
test edi, edi
je 0x446b25
xor eax, eax
cmp ax, word [edi]
je 0x446b25
push edi
call fcn.0058edd4
pop ecx
push eax
push edi
lea ecx, [ebp - 0xaa8]
call fcn.00404be0
push 0x5c4f0c
call fcn.0058edd4
pop ecx
push eax
push 0x5c4f0c
lea ecx, [ebp - 0xaa8]
call fcn.00404a83
xor eax, eax
cmp word [ebx], ax
je 0x446b33
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0xaa8]
call fcn.00404a83
push str..cab
call fcn.0058edd4
pop ecx
push eax
push str..cab
lea ecx, [ebp - 0xaa8]
call fcn.00404a83
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 0x446d55
lea ecx, [ebp - 0xc50]
call fcn.004392c9
lea ecx, [ebp - 0x127c]
call fcn.0042106a
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x1e
push eax
call fcn.0043683a
xor edi, edi
pop ecx
test eax, eax
je 0x447ed3
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0xaa8]
push eax
lea ecx, [ebp - 0xc50]
call fcn.00404b26
cmp word [ebp - 0x25c], di
jne 0x446bd3
mov eax, edi
jmp 0x446be0
lea eax, [ebp - 0x25c]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0xc38]
call fcn.00404be0
push esi
lea ecx, [ebp - 0x127c]
call fcn.00424733
test eax, eax
je 0x446c6a
lea eax, [ebp - 0xb78]
push eax
lea ecx, [ebp - 0x127c]
call fcn.004213a7
push eax
lea ecx, [ebp - 0xc20]
call fcn.00401e90
xor eax, eax
lea ecx, [ebp - 0xb78]
push edi
inc eax
push eax
call fcn.00404970
lea eax, [ebp - 0xb78]
push eax
lea ecx, [ebp - 0x127c]
call fcn.004213c7
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0xc20]
mov byte [ebp - 4], 0x1f
call fcn.004049b6
xor eax, eax
mov byte [ebp - 4], 0x1e
push edi
inc eax
lea ecx, [ebp - 0xb78]
push eax
call fcn.00404970
cmp dword [ebp - 0xa94], 8
lea ecx, [ebp - 0xc50]
push ecx
push 0x41c9ad
lea eax, [ebp - 0xaa8]
cmovae eax, dword [ebp - 0xaa8]
push edi
push eax
call dword [sym.imp.SETUPAPI.dll_SetupIterateCabinetW]
test eax, eax
je 0x447c08
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.00424dad
add esp, 0x10
lea eax, [ebp - 0x25c]
lea ecx, [ebp - 0x19f8]
push eax
call fcn.0041ed9c
mov edi, dword [esi - 0xc]
push 0x5c
push esi
call fcn.00591e9b
pop ecx
pop ecx
test eax, eax
jne 0x446ceb
or eax, 0xffffffff
jmp 0x446cef
sub eax, esi
sar eax, 1
sub edi, eax
lea ecx, [ebp - 0x1a08]
push edi
lea eax, [ebp - 0x1a98]
push eax
call fcn.0041db85
mov eax, dword [eax]
lea ecx, [ebp - 0x19f8]
mov byte [ebp - 4], 0x20
push dword [eax - 0xc]
push eax
call fcn.0040907d
mov ecx, dword [ebp - 0x1a98]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
xor eax, eax
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
push eax
inc eax
lea ecx, [ebp - 0x1278]
push eax
call fcn.00404970
lea ecx, [ebp - 0xc50]
mov byte [ebp - 4], 0x1c
call fcn.00439357
jmp 0x446dde
test edi, edi
je 0x446d79
xor eax, eax
cmp ax, word [edi]
je 0x446d79
push edi
lea ecx, [ebp - 0x19f8]
call fcn.0041ed9c
lea eax, [ebp - 0x19f8]
push eax
call fcn.00409001
pop ecx
push dword [ebx - 0xc]
lea ecx, [ebp - 0x19f8]
push ebx
call fcn.0040907d
mov edi, dword [esi - 0xc]
push 0x5c
push esi
call fcn.00591e9b
pop ecx
pop ecx
test eax, eax
jne 0x446d9e
or eax, 0xffffffff
jmp 0x446da2
sub eax, esi
sar eax, 1
sub edi, eax
lea ecx, [ebp - 0x1a08]
push edi
lea eax, [ebp - 0x1a90]
push eax
call fcn.0041db85
mov eax, dword [eax]
lea ecx, [ebp - 0x19f8]
mov byte [ebp - 4], 0x21
push dword [eax - 0xc]
push eax
call fcn.0040907d
mov ecx, dword [ebp - 0x1a90]
mov byte [ebp - 4], 0x1c
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
push dword [ebp - 0x19f8]
mov edi, dword [ebp - 0x1a0c]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test edi, edi
je 0x446e0d
cmp eax, 0xffffffff
je 0x447d2e
push dword [ebp - 0x19f8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jmp 0x446e10
cmp eax, 0xffffffff
je 0x447d2e
push esi
push str.SysFileName___1_n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
push dword [ebp - 0x19f8]
push str.sourceFile___1_n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
add esp, 0x20
test edi, edi
je 0x446edc
mov ecx, dword [ebp - 0x1a54]
xor eax, eax
push eax
push eax
push eax
push esi
push dword [ebp - 0x19f8]
call fcn.0043b52b
mov edi, eax
mov ecx, str.success
mov eax, str.failed
test edi, edi
cmove ecx, eax
push ecx
push str.CopyDirectory____s._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00424dad
add esp, 0x10
test edi, edi
je 0x447b5c
mov edi, dword [ebp - 0x19fc]
cmp dword [edi - 0xc], 0
je 0x447b5c
call fcn.00474a71
push 0x5d1440
push edi
mov ecx, dword [eax + 4]
add ecx, 0xd0
call fcn.0046f76b
push 0x5d1440
push dword [ebp - 0x19fc]
push str._1_s__2_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0x14
jmp 0x447b5c
call fcn.00473f1b
push eax
lea ecx, [ebp - 0x1a18]
call fcn.00406a4a
push 0x5c6048
lea eax, [ebp - 0xb00]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0xb78]
push eax
call fcn.00439078
add esp, 0xc
xor eax, eax
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0xb64], 8
lea ecx, [ebp - 0x171c]
push ecx
lea edi, [eax + 1]
lea eax, [ebp - 0xb78]
cmovae eax, dword [ebp - 0xb78]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x1a10], eax
cmp eax, 0xffffffff
je 0x4470ce
mov ebx, eax
mov ecx, 0x101
lea eax, [ebp - 0xa78]
push ecx
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.00592b69
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.00401c0c
sub esp, 0x18
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x16f0]
mov ecx, esp
push eax
call fcn.00401c0c
mov byte [ebp - 4], 0x23
call 0x46cf52
add esp, 0x34
test eax, eax
je 0x44709f
push 0x5c
lea eax, [ebp - 0xb00]
push eax
lea eax, [ebp - 0xb30]
push eax
call fcn.004390e8
lea ecx, [ebp - 0x16f0]
mov byte [ebp - 4], 0x25
push ecx
push eax
lea eax, [ebp - 0xa90]
push eax
call fcn.004053b3
add esp, 0x18
xor eax, eax
mov byte [ebp - 4], 0x27
push eax
inc eax
lea ecx, [ebp - 0xb30]
push eax
call fcn.00404970
push dword [ebp - 0x1a1c]
cmp dword [ebp - 0xa7c], 8
lea eax, [ebp - 0xa90]
push dword [ebp - 0x19f8]
cmovae eax, dword [ebp - 0xa90]
push eax
call fcn.0040b387
movzx eax, ax
add esp, 0xc
test ax, ax
js 0x44708a
push esi
push str._1_is_equal_or_lower._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
mov edi, dword [ebp - 0x19fc]
add esp, 0x10
and dword [ebp - 0x1a0c], 0
cmp dword [edi - 0xc], 0
je 0x447084
call fcn.00474a71
push str.ALREADY
push edi
mov ecx, dword [eax + 4]
add ecx, 0xd0
call fcn.0046f76b
push str.ALREADY
push dword [ebp - 0x19fc]
push str._1_s__2_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0x14
mov edi, dword [ebp - 0x1a0c]
xor eax, eax
mov byte [ebp - 4], 0x23
push 0
inc eax
lea ecx, [ebp - 0xa90]
push eax
call fcn.00404970
lea eax, [ebp - 0x171c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x4470bc
xor eax, eax
inc eax
cmp edi, eax
je 0x446f48
push dword [ebp - 0x1a10]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [ebp - 0x1a14]
test edi, edi
je 0x447b3e
push str.This_version_is_newer._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
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]
mov dword [ebp - 0x1a44], ecx
push eax
push dword [ebp - 0x19f8]
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.004700a1
add esp, 0x1c
test eax, eax
je 0x447d09
movzx eax, word [ebp - 0x1a42]
lea ecx, [ebp - 0x20]
push 0xa
push 4
pop edi
push edi
push ecx
push eax
call fcn.005926ba
movzx eax, word [ebp - 0x1a44]
lea ecx, [ebp - 0x18]
push 0xa
push edi
push ecx
push eax
call fcn.005926ba
movzx eax, word [ebp - 0x1a3e]
lea ecx, [ebp - 0x30]
push 0xa
push edi
push ecx
push eax
call fcn.005926ba
movzx eax, word [ebp - 0x1a40]
lea ecx, [ebp - 0x28]
push 0xa
push edi
push ecx
push eax
call fcn.005926ba
xor edi, edi
mov dword [ebp - 0xb04], 7
xor eax, eax
mov dword [ebp - 0xb08], edi
add esp, 0x40
mov word [ebp - 0xb18], ax
push 0x5f
inc eax
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0xb18]
call fcn.0044ac9c
cmp word [ebp - 0x20], di
jne 0x4471db
mov eax, edi
jmp 0x4471e5
lea eax, [ebp - 0x20]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00404a83
xor eax, eax
lea ecx, [ebp - 0xb18]
push 0x5f
inc eax
push eax
call fcn.0041fc03
cmp word [ebp - 0x18], 0
jne 0x447211
mov eax, edi
jmp 0x44721b
lea eax, [ebp - 0x18]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00404a83
xor eax, eax
lea ecx, [ebp - 0xb18]
push 0x5f
inc eax
push eax
call fcn.0041fc03
cmp word [ebp - 0x30], 0
jne 0x447247
mov eax, edi
jmp 0x447251
lea eax, [ebp - 0x30]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00404a83
xor eax, eax
lea ecx, [ebp - 0xb18]
push 0x5f
inc eax
push eax
call fcn.0041fc03
cmp word [ebp - 0x28], 0
jne 0x44727d
mov eax, edi
jmp 0x447287
lea eax, [ebp - 0x28]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xb18]
call fcn.00404a83
push 0x2e
push esi
call fcn.00591e9b
pop ecx
pop ecx
test eax, eax
jne 0x4472aa
or eax, 0xffffffff
jmp 0x4472ae
sub eax, esi
sar eax, 1
push eax
lea eax, [ebp - 0x1a7c]
push eax
lea ecx, [ebp - 0x1a08]
call fcn.0041c872
push dword [eax]
lea ecx, [ebp - 0xb30]
mov byte [ebp - 4], 0x29
call fcn.00401c0c
mov ecx, dword [ebp - 0x1a7c]
mov byte [ebp - 4], 0x2b
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0xb18]
push eax
lea ecx, [ebp - 0xb30]
call fcn.004049b6
mov esi, str..exe
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0xb30]
call fcn.00404a83
cmp dword [ebp - 0xb1c], 8
lea eax, [ebp - 0xb30]
lea ecx, [ebp - 0x1a08]
cmovae eax, dword [ebp - 0xb30]
push eax
call fcn.0041ed9c
lea eax, [ebp - 0x1a08]
push eax
lea ecx, [ebp - 0x1a18]
call fcn.0040813e
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.0041c872
push 0x5d1458
push eax
lea eax, [ebp - 0x1a84]
mov byte [ebp - 4], 0x2c
push eax
call fcn.0043937f
add esp, 0xc
push eax
lea ecx, [ebp - 0x1a18]
mov byte [ebp - 4], 0x2d
call fcn.0040813e
mov ecx, dword [ebp - 0x1a84]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a8c]
mov byte [ebp - 4], 0x2b
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov esi, dword [ebp - 0x1a08]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push esi
call edi
cmp eax, 0xffffffff
je 0x4473d3
push esi
call edi
and eax, 0xfffffffe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x4474f2
lea ecx, [ebp - 0x127c]
call fcn.0042106a
xor eax, eax
mov dword [ebp - 0xaac], 7
mov dword [ebp - 0x1a38], eax
mov dword [ebp - 0xab0], eax
mov word [ebp - 0xac0], ax
push esi
lea ecx, [ebp - 0x127c]
mov byte [ebp - 4], 0x2f
call fcn.00424733
lea eax, [ebp - 0xa90]
push eax
lea ecx, [ebp - 0x127c]
call fcn.004226aa
push eax
lea ecx, [ebp - 0xac0]
call fcn.00401e90
xor eax, eax
lea ecx, [ebp - 0xa90]
push eax
inc eax
push eax
call fcn.00404970
cmp dword [ebp - 0xaac], 8
lea eax, [ebp - 0xac0]
cmovae eax, dword [ebp - 0xac0]
push eax
call edi
cmp eax, 0xffffffff
je 0x447472
cmp dword [ebp - 0xaac], 8
lea eax, [ebp - 0xac0]
cmovae eax, dword [ebp - 0xac0]
push eax
call edi
test al, 0x10
jne 0x4474c2
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.00424dad
cmp dword [ebp - 0xaac], 8
lea ecx, [ebp - 0xac0]
mov eax, dword [ebp - 0xab0]
cmovae ecx, dword [ebp - 0xac0]
xor edi, edi
push edi
inc eax
push eax
push ecx
call fcn.0040a392
add esp, 0x1c
jmp 0x4474c4
xor edi, edi
xor eax, eax
lea ecx, [ebp - 0xac0]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
mov byte [ebp - 4], 0x2b
push edi
inc eax
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
push eax
lea ecx, [ebp - 0x1278]
call fcn.00404970
push dword [ebp - 0x19f8]
mov edi, str.CInstallAction::RenameAndInstallOtherFiles
push str.sourceFile_1_s__n
push edi
push 5
call fcn.00424dad
push esi
push str.SysFileName_1_s__n
push edi
push 5
call fcn.00424dad
mov edi, dword [ebp - 0x1a18]
push edi
push str.tempFile_1_s__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
add esp, 0x30
cmp dword [ebp - 0x1a38], 0
jne 0x44782a
xor eax, eax
push eax
push esi
push dword [ebp - 0x19f8]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x44782a
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x447acd
push 0x2e
push dword [ebp - 0x1a04]
call fcn.00591e9b
pop ecx
pop ecx
test eax, eax
jne 0x447580
or eax, 0xffffffff
jmp 0x447588
sub eax, dword [ebp - 0x1a04]
sar eax, 1
push eax
lea eax, [ebp - 0x1a94]
push eax
lea ecx, [ebp - 0x1a04]
call fcn.0041c872
push dword [eax]
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0x31
call fcn.00401c0c
mov ecx, dword [ebp - 0x1a94]
mov byte [ebp - 4], 0x33
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0xffffffffffffffff
xor eax, eax
lea ecx, [ebp - 0xac0]
push eax
lea eax, [ebp - 0xb18]
push eax
call fcn.004049b6
push str..exe
call fcn.0058edd4
pop ecx
push eax
push str..exe
lea ecx, [ebp - 0xac0]
call fcn.00404a83
cmp dword [ebp - 0xb1c], 8
lea ecx, [ebp - 0xb30]
lea eax, [ebp - 0xac0]
cmovae ecx, dword [ebp - 0xb30]
cmp dword [ebp - 0xaac], 8
push ecx
cmovae eax, dword [ebp - 0xac0]
push eax
call fcn.00591d24
pop ecx
pop ecx
test eax, eax
jne 0x447672
cmp dword [ebp - 0xaac], 8
lea eax, [ebp - 0xac0]
mov ecx, dword [ebp - 0x1a4c]
cmovae eax, dword [ebp - 0xac0]
push eax
push dword [ebp - 0x1a00]
call fcn.0046f76b
push dword [ebp - 0x1a00]
push str.RenamedFilePath_1_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
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.00591d24
pop ecx
pop ecx
test eax, eax
jne 0x447811
push esi
lea ecx, [ebp - 0xa90]
call fcn.00401c0c
xor ecx, ecx
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x1a24]
mov dword [ebp - 0xad0], ecx
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor edx, edx
mov byte [ebp - 0xacc], cl
inc edx
mov dword [ebp - 0x1a24], ecx
push ecx
push edx
lea eax, [ebp - 0xad0]
mov byte [ebp - 0xacb], dl
push eax
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 0x447f9c
cmp dword [ebp - 0xa7c], 8
lea eax, [ebp - 0xa90]
lea ecx, [ebp - 0x1a48]
cmovae eax, dword [ebp - 0xa90]
xor edx, edx
push ecx
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 0x447f8b
push 0x20
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0058e700
xor eax, eax
mov dword [ebp - 0x50], 0xe0010000
add esp, 0xc
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1a24]
inc ecx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1a34]
push eax
push dword [ebp - 0x1a58]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4c], ecx
push eax
push ecx
mov dword [ebp - 0x38], 5
call dword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
test eax, eax
jne 0x447f7d
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 0x447f05
cmp dword [ebp - 0x1a24], eax
je 0x4477d7
push dword [ebp - 0x1a24]
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 0x1a48], 0
je 0x4477ec
push dword [ebp - 0x1a48]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x1a34], 0
je 0x447801
push dword [ebp - 0x1a34]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
lea ecx, [ebp - 0xa90]
push eax
inc eax
push eax
call fcn.00404970
xor eax, eax
mov byte [ebp - 4], 0x2b
push eax
inc eax
lea ecx, [ebp - 0xac0]
push eax
call fcn.00404970
jmp 0x447acd
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.00424dad
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x44785d
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 0x447ab2
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x447a36
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.00591d24
pop ecx
pop ecx
test eax, eax
jne 0x447a36
push esi
lea ecx, [ebp - 0xa90]
call fcn.00401c0c
push 0x30
pop eax
xor ecx, ecx
mov byte [ebp - 4], al
lea eax, [ebp - 0x1a2c]
mov dword [ebp - 0xac8], ecx
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor edx, edx
mov byte [ebp - 0xac4], cl
inc edx
mov dword [ebp - 0x1a2c], ecx
push ecx
push edx
lea eax, [ebp - 0xac8]
mov byte [ebp - 0xac3], dl
push eax
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 0x447fef
cmp dword [ebp - 0xa7c], 8
lea eax, [ebp - 0xa90]
lea ecx, [ebp - 0x1a3c]
cmovae eax, dword [ebp - 0xa90]
xor edx, edx
push ecx
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 0x447fe1
push 0x20
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0058e700
xor eax, eax
mov dword [ebp - 0x50], 0xe0010000
add esp, 0xc
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1a2c]
inc ecx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1a20]
push eax
push dword [ebp - 0x1a50]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4c], ecx
push eax
push ecx
mov dword [ebp - 0x38], 5
call dword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
test eax, eax
jne 0x447fd3
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 0x447fad
cmp dword [ebp - 0x1a2c], eax
je 0x4479f8
push dword [ebp - 0x1a2c]
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 0x1a3c], 0
je 0x447a0d
push dword [ebp - 0x1a3c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x1a20], 0
je 0x447a22
push dword [ebp - 0x1a20]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
mov byte [ebp - 4], 0x2b
push eax
inc eax
lea ecx, [ebp - 0xa90]
push eax
call fcn.00404970
push str.__create_tempFile_succeeded._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0xc
push 5
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x447a8e
push str.MoveFileEx_succeeded.__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
push str.A_reboot_is_required._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
mov eax, dword [ebp - 0x1a54]
xor ecx, ecx
inc ecx
add esp, 0x18
or dword [eax + 0xb0], ecx
jmp 0x447acd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.MoveFileEx_failed.__0x_x__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x447acd
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.00424dad
add esp, 0x10
mov eax, dword [ebp - 0x19fc]
mov dword [ebp - 0x1a4c], eax
cmp dword [eax - 0xc], 0
je 0x447b1c
call fcn.00474a71
push 0x5d1440
push dword [ebp - 0x1a4c]
mov ecx, dword [eax + 4]
add ecx, 0xd0
call fcn.0046f76b
push 0x5d1440
push dword [ebp - 0x19fc]
push str._1_s__2_s_._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0x14
xor eax, eax
lea ecx, [ebp - 0xb30]
push eax
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb18]
push eax
inc eax
push eax
call fcn.00404970
jmp 0x447b44
mov edi, dword [ebp - 0x1a18]
xor eax, eax
lea ecx, [ebp - 0xb78]
push eax
inc eax
push eax
call fcn.00404970
lea ecx, [edi - 0x10]
call fcn.0041d6f2
xor eax, eax
lea ecx, [ebp - 0xb48]
xor edi, edi
inc eax
push edi
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xbd8]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb00]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xae8]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb90]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb60]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xaa8]
push edi
inc eax
push eax
call fcn.00404970
mov ecx, dword [ebp - 0x19f8]
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov edi, dword [ebp - 0x1a9c]
lea eax, [ebp - 0x14cc]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4467d3
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x447d62
cmp dword [ebp - 0x1a28], 0
je 0x447cd5
push str.pSetupIterateCabinet_failed__but_bUseIfExistTRUE_skipped._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0xc
xor eax, eax
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
push edi
inc eax
lea ecx, [ebp - 0x1278]
push eax
call fcn.00404970
lea ecx, [ebp - 0xc50]
call fcn.00439357
xor eax, eax
lea ecx, [ebp - 0xb48]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xbd8]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb00]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xae8]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb90]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb60]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xaa8]
push edi
inc eax
push eax
call fcn.00404970
mov ecx, dword [ebp - 0x19f8]
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
jmp 0x447d64
call fcn.0041ef8f
cmp dword [ebp - 0xa94], 8
lea eax, [ebp - 0xaa8]
push esi
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.00424dad
add esp, 0x14
jmp 0x447c29
xor eax, eax
lea ecx, [ebp - 0xb78]
xor edi, edi
inc eax
push edi
push eax
call fcn.00404970
mov ecx, dword [ebp - 0x1a18]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
jmp 0x447c4e
cmp dword [ebp - 0x1a28], 0
je 0x447ffd
push dword [ebp - 0x19f8]
push str.SourceFile__1_s___is_not_found__but_bUseIfExistTRUE_skipped._n
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424dad
add esp, 0x10
xor edi, edi
jmp 0x447c4e
mov esi, dword [ebp - 0x1a08]
xor edi, edi
lea eax, [ebp - 0x25c]
test eax, eax
je 0x447dd5
xor eax, eax
cmp ax, word [ebp - 0x25c]
je 0x447dd5
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x447dd5
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x447dd5
lea eax, [ebp - 0x25c]
push eax
call fcn.0040a5de
lea eax, [ebp - 0x25c]
push eax
push str.tempPath
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424d8f
push 0x20a
lea eax, [ebp - 0x25c]
push edi
push eax
call fcn.0058e700
add esp, 0x20
xor eax, eax
lea ecx, [ebp - 0xbf0]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xbc0]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xba8]
push edi
inc eax
push eax
call fcn.00404970
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
lea ecx, [ebx - 0x10]
call fcn.0041d6f2
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 3
call fcn.0041d6f2
xor ebx, ebx
mov esi, dword [ebp - 0x1a30]
inc esi
mov dword [ebp - 0x1a30], esi
cmp esi, dword [ebp - 0x1a80]
jb 0x446083
push 0x5cff5c
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
xor ebx, ebx
add esp, 0xc
inc ebx
mov esi, ebx
lea ecx, [ebp - 0x1ab8]
mov byte [ebp - 4], 2
call fcn.0046d690
lea ecx, [ebp - 0x1a74]
mov byte [ebp - 4], bl
call fcn.0046d690
xor eax, eax
lea ecx, [ebp - 0x19f4]
mov byte [ebp - 4], al
call fcn.00436650
xor eax, eax
lea ecx, [ebp - 0xc08]
push eax
push ebx
call fcn.00404970
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.0058f6bb
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x1a5c]
xor ecx, ecx
inc ecx
mov dword [ebp - method.CFileName.virtual_0], vtable.CFileName.0
push edi
push ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x1278]
call fcn.00404970
lea ecx, [ebp - 0xc50]
call fcn.00439357
jmp 0x448028
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetNamedSecurityInfo_Error.__0x_x__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00424dad
add esp, 0x10
lea ecx, [ebp - 0xa90]
xor eax, eax
push eax
inc eax
push eax
call fcn.00404970
lea ecx, [ebp - 0xac0]
xor eax, eax
push eax
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb30]
push eax
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb18]
push eax
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb78]
push eax
inc eax
push eax
call fcn.00404970
lea ecx, [edi - 0x10]
call fcn.0041d6f2
jmp 0x448026
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetEntriesInAcl_Error.__0x_x__n
jmp 0x447f11
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetNamedSecurityInfo_Error.__0x_x__n
jmp 0x447f11
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.AllocateAndInitializeSid_Error.__0x_x__n
jmp 0x447f11
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetNamedSecurityInfo_Error.__0x_x__n
push str.CInstallAction::RenameAndInstallOtherFiles
push 2
call fcn.00424dad
add esp, 0x10
lea ecx, [ebp - 0xa90]
jmp 0x447f36
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetEntriesInAcl_Error.__0x_x__n
jmp 0x447fb9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetNamedSecurityInfo_Error.__0x_x__n
jmp 0x447fb9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.AllocateAndInitializeSid_Error.__0x_x__n
jmp 0x447fb9
call fcn.0041ef8f
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.00424dad
mov eax, dword [ebp - 0x1a5c]
add esp, 0x10
mov dword [eax], edi
xor edi, edi
xor eax, eax
lea ecx, [ebp - 0xb48]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xbd8]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb00]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xae8]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb90]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xb60]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xaa8]
push edi
inc eax
push eax
call fcn.00404970
mov ecx, dword [ebp - 0x19f8]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
xor eax, eax
lea ecx, [ebp - 0xbf0]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xbc0]
push edi
inc eax
push eax
call fcn.00404970
xor eax, eax
lea ecx, [ebp - 0xba8]
push edi
inc eax
push eax
call fcn.00404970
mov ecx, dword [ebp - 0x1a04]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x19fc]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x1a00]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
lea ecx, [ebx - 0x10]
call fcn.0041d6f2
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 3
call fcn.0041d6f2
lea eax, [ebp - 0x25c]
test eax, eax
je 0x448185
xor eax, eax
cmp ax, word [ebp - 0x25c]
je 0x448185
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x448185
lea eax, [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x448185
lea eax, [ebp - 0x25c]
push eax
call fcn.0040a5de
lea eax, [ebp - 0x25c]
push eax
push str.tempPath
push str.CInstallAction::RenameAndInstallOtherFiles
push 4
call fcn.00424d8f
push 0x20a
lea eax, [ebp - 0x25c]
push edi
push eax
call fcn.0058e700
add esp, 0x20
push 0x5cff5c
push str.CInstallAction::RenameAndInstallOtherFiles
push 5
call fcn.00424dad
xor ebx, ebx
add esp, 0xc
mov esi, edi
inc ebx
jmp 0x447e77