Function at 0x423f35
Capabilities:
Contain obfuscated stackstrings
Copy file
Delete file
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473e5f
mov eax, dword fs:[0]
push eax
mov eax, 0x1ab4
call fcn.004443c0
mov eax, dword [0x4ab7b4]
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 eax, ecx
mov dword [ebp - 0x1aa0], eax
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1a94], ecx
mov ecx, eax
mov dword [ebp - 0x1a9c], esi
mov dword [ebp - 0x1a84], ebx
call fcn.0040ef50
mov edi, eax
mov dword [ebp - 0x1988], 0x48e948
mov eax, dword [0x4aed10]
lea ecx, [ebp - 0x1988]
mov dword [ebp - 0x1aac], eax
lea eax, [ebp - 0x1a79]
push ebx
push eax
push str.CacheRoot
mov dword [ebp - 0x1960], 0x48e950
call fcn.00407a30
mov dword [ebp - 4], 1
lea eax, [ebp - 0x18f8]
push eax
mov ecx, esi
call fcn.0042d2b6
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1988]
push 0xa
push 0xfffffffffffffffe
push ecx
push eax
mov ecx, edi
call fcn.004376a7
mov dword [ebp - 0x1a80], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1988]
call fcn.00404d40
cmp dword [ebp - 0x1a80], 0xffffffff
lea esi, [edi + 4]
jge 0x424045
lea eax, [ebp - 0x1a98]
mov dword [ebp - 0x1a98], 0xc
push eax
mov ecx, esi
call fcn.004157eb
cmp eax, dword [esi]
je 0x42509c
push 0
lea eax, [ebp - 0x1a79]
mov dword [ebp - 0x19b8], 0x48e948
push eax
lea ecx, [ebp - 0x19b8]
mov dword [ebp - 0x1990], 0x48e950
call fcn.00406120
mov dword [ebp - 4], 6
lea eax, [ebp - 0x1a79]
push 0
push eax
lea ecx, [ebp - 0x1a48]
mov dword [ebp - 0x1a48], 0x48e948
mov dword [ebp - 0x1a20], 0x48e950
call fcn.00406120
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1a79]
push 1
push eax
lea ecx, [ebp - 0x1898]
call fcn.00406120
mov byte [ebp - 4], 9
lea eax, [ebp - 0x1a79]
push 1
push eax
push 0x48e7d0
lea ecx, [ebp - 0x18f8]
call fcn.00406bc0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x1a79]
push 0
push eax
push str.CacheFolder
lea ecx, [ebp - 0x1988]
mov dword [ebp - 0x1988], 0x48e948
mov dword [ebp - 0x1960], 0x48e950
call fcn.00407a30
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x1928]
mov ecx, dword [ebp - 0x1a9c]
push eax
call fcn.0042d2b6
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x18f8]
push ecx
lea ecx, [ebp - 0x1988]
push ecx
push eax
lea eax, [ebp - 0x19e8]
mov ecx, edi
push eax
call fcn.004374ed
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1a18]
push ecx
mov ecx, eax
call fcn.0041999a
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x19e8]
call fcn.00404d40
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1928]
call fcn.00404d40
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x1988]
call fcn.00404d40
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
lea eax, [ebp - 0x1a98]
mov dword [ebp - 0x1a98], 0xc
push eax
mov ecx, esi
call fcn.004157eb
mov ecx, 0x400
cmp eax, dword [esi]
jne 0x42435f
cmp dword [ebp - 0x1a80], 0
jl 0x42435f
mov byte [ebp - 4], 0x1d
xor ebx, ebx
lea eax, [ebp - 0x1a48]
mov byte [ebp - 0x1a8c], bl
mov dword [ebp - 0x1a90], eax
mov dword [ebp - 0x1a88], ebx
cmp dword [ebp - 0x1a34], ecx
jae 0x4241ec
push ebx
push ecx
lea ecx, [ebp - 0x1a44]
call fcn.0041482d
lea ecx, [ebp - 0x1a48]
mov dword [ebp - 0x1a84], 8
mov byte [ebp - 0x1a8c], 1
call fcn.00413f7e
push dword [eax]
push ebx
push ebx
push dword [ebp - 0x1a80]
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push 8
pop ebx
mov dword [ebp - 0x1a84], ebx
mov esi, eax
and ebx, 0xfffffff7
mov dword [ebp - 0x1a84], ebx
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1a90]
call fcn.004111ed
test esi, esi
jns 0x424265
push dword [ebp - 0x1a9c]
mov ecx, dword [ebp - 0x1aa0]
lea eax, [ebp - 0x1898]
push eax
call fcn.0042cf6d
test eax, eax
je 0x424fa7
jmp 0x424434
lea eax, [ebp - 0x1a18]
push eax
lea eax, [ebp - 0x18f8]
push eax
lea ecx, [ebp - 0x1a48]
call fcn.0041bc96
mov byte [ebp - 4], 0x22
add eax, 4
push eax
lea ecx, [ebp - 0x19b4]
call fcn.00407b10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
push 0
lea eax, [ebp - 0x1a79]
mov dword [ebp - 0x19e8], 0x48e948
push eax
lea ecx, [ebp - 0x19e8]
mov dword [ebp - 0x19c0], 0x48e950
call fcn.00406120
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x19e8]
mov esi, dword [ebp - 0x1a94]
push eax
push esi
call fcn.00429380
pop ecx
pop ecx
test al, al
je 0x4242f7
lea eax, [ebp - 0x19e8]
push eax
lea ecx, [ebp - 0x19b8]
call fcn.00414de9
cmp dword [ebp - 0x19a0], 8
lea eax, [ebp - 0x19b4]
cmovae eax, dword [ebp - 0x19b4]
push eax
call fcn.0044207d
push dword [ebp - 0x1a9c]
lea eax, [ebp - 0x18f8]
push eax
lea ecx, [ebp - 0x19b8]
call fcn.0041bc96
mov byte [ebp - 4], 0x26
add eax, 4
push eax
lea ecx, [ebp - 0x1894]
call fcn.00407b10
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x19e8]
call fcn.00404d40
jmp 0x42443a
lea eax, [ebp - 0x1a98]
mov dword [ebp - 0x1a98], 0xc
push eax
mov ecx, esi
call fcn.004157eb
cmp eax, dword [esi]
je 0x4243ce
push 0xc
lea eax, [ebp - 0x18f8]
mov ecx, edi
push eax
call fcn.00416ada
mov byte [ebp - 4], 0x18
add eax, 4
push eax
lea ecx, [ebp - 0x1a14]
call fcn.00407b10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
lea eax, [ebp - 0x18f8]
push eax
lea ecx, [ebp - 0x1a18]
call fcn.00419a87
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
cmp dword [ebp - 0x1a00], 8
lea eax, [ebp - 0x1a14]
cmovae eax, dword [ebp - 0x1a14]
push eax
call fcn.0044207d
lea eax, [ebp - 0x1a14]
push eax
lea ecx, [ebp - 0x19b4]
call fcn.00407b10
push dword [ebp - 0x1a9c]
lea eax, [ebp - 0x18f8]
push eax
lea ecx, [ebp - 0x1a18]
call fcn.0041bc96
mov byte [ebp - 4], 0x1b
add eax, 4
push eax
lea ecx, [ebp - 0x1894]
call fcn.00407b10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
mov esi, dword [ebp - 0x1a94]
lea eax, [ebp - 0x1898]
push esi
push eax
call fcn.0040f3da
pop ecx
pop ecx
test al, al
jne 0x425026
mov ecx, dword [edi + 0x260]
lea eax, [ebp - 0x1988]
push 0x663
push eax
call fcn.0041c493
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x1a79]
push 0
push eax
lea ecx, [ebp - 0x19e8]
mov dword [ebp - 0x19e8], 0x48e948
mov dword [ebp - 0x19c0], 0x48e950
call fcn.00406120
mov byte [ebp - 4], 0x2b
and dword [ebp - 0x1a80], 0
push 4
sub esp, 0x30
lea eax, [ebp - 0x1898]
xor esi, esi
mov dword [ebp - 0x1ac0], esp
mov ecx, esp
inc esi
push esi
push eax
call fcn.004106c9
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x2b
call fcn.0044652d
add esp, 0x34
test al, al
je 0x424638
push esi
lea eax, [ebp - 0x1a79]
push eax
lea ecx, [ebp - 0x1958]
call fcn.00406120
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x1a79]
push esi
push eax
lea ecx, [ebp - 0x1928]
call fcn.00406120
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x1958]
push eax
lea eax, [ebp - 0x1898]
push eax
call fcn.00429380
pop ecx
pop ecx
test al, al
je 0x42454d
lea eax, [ebp - 0x1928]
push eax
push dword [ebp - 0x1a94]
call fcn.00429380
pop ecx
pop ecx
test al, al
je 0x42454d
lea eax, [ebp - 0x1954]
push eax
lea ecx, [ebp - 0x1924]
call fcn.00413bb5
test eax, eax
je 0x424618
cmp dword [ebp - 0x1970], 8
lea ecx, [ebp - 0x1984]
lea eax, [ebp - 0x1894]
cmovae ecx, dword [ebp - 0x1984]
cmp dword [ebp - 0x1880], 8
cmovae eax, dword [ebp - 0x1894]
push eax
push ecx
lea eax, [ebp - 0x19e8]
push eax
call fcn.0041ca3d
or ebx, 1
add esp, 0xc
mov dword [ebp - 0x1a84], ebx
mov eax, dword [edi + 0x260]
cmp byte [eax + 1], 0
jne 0x4245f7
cmp byte [eax + 2], 0
jne 0x4245f7
push 0
push 6
push 0x34
sub esp, 0x30
lea eax, [ebp - 0x19e8]
mov ecx, esp
mov dword [ebp - 0x1ab0], esp
push 1
push eax
call fcn.004106c9
mov byte [ebp - 4], 0x2f
or ebx, 2
push dword [ebp - 0x1aac]
mov dword [ebp - 0x1a84], ebx
mov eax, dword [edi + 0x260]
mov dword [ebp - 0x1a98], eax
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1a98]
call fcn.00421ea4
cmp eax, 6
je 0x4245f7
xor al, al
jmp 0x4245f9
mov al, 1
test bl, 2
je 0x424607
and ebx, 0xfffffffd
mov dword [ebp - 0x1a84], ebx
and ebx, 0xfffffffe
mov dword [ebp - 0x1a84], ebx
test al, al
je 0x4247e1
xor esi, esi
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1928]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1958]
call fcn.00404d40
cmp dword [ebp - 0x1880], 8
lea eax, [ebp - 0x1894]
mov dword [ebp - 0x1aa8], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
cmovae eax, dword [ebp - 0x1894]
push eax
lea eax, [ebp - 0x1aa8]
mov dword [ebp - 0x1aa4], 0x788
push str.Copying_file_for_cache_to__s
push eax
call fcn.004160ea
mov ecx, dword [ebp - 0x1a94]
add esp, 0xc
add ecx, 4
cmp dword [ecx + 0x14], 8
jb 0x424686
mov ecx, dword [ecx]
cmp dword [ebp - 0x1880], 8
lea eax, [ebp - 0x1894]
push esi
cmovae eax, dword [ebp - 0x1894]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x424821
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp - 0x18c8]
push 1
lea eax, [ebp - 0x1a79]
push eax
call fcn.00406120
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x18f8]
mov ecx, dword [edi + 0x260]
push 0x65b
push eax
call fcn.0041c493
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x1868]
push ecx
mov ecx, eax
call fcn.0042d2b6
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
cmp dword [ebp - 0x1880], 8
lea ecx, [ebp - 0x1894]
lea eax, [ebp - 0x1864]
cmovae ecx, dword [ebp - 0x1894]
cmp dword [ebp - 0x1850], 8
push ecx
cmovae eax, dword [ebp - 0x1864]
push eax
lea eax, [ebp - 0x18c8]
push eax
call fcn.00406190
push 0x481b78
call fcn.00454be3
add esp, 0x10
lea ecx, [ebp - 0x18c4]
push eax
push 0x481b78
call fcn.00408f40
cmp dword [ebp - 0x18b0], 8
lea eax, [ebp - 0x18c4]
push esi
cmovae eax, dword [ebp - 0x18c4]
push eax
call fcn.00443378
push esi
lea eax, [ebp - 0x1a8c]
mov dword [ebp - 0x1a8c], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
push str.Failed_to_cache_file__last_error__d__prompting_for_alternate_location
push eax
mov dword [ebp - 0x1a88], 0x794
call fcn.004160ea
mov ecx, dword [ebp - 0x1aa0]
lea eax, [ebp - 0x1898]
add esp, 0x14
push dword [ebp - 0x1a9c]
push eax
call fcn.0042cf6d
test eax, eax
je 0x424f6b
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x1868]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x18c8]
call fcn.00404d40
mov eax, dword [ebp - 0x1a80]
jmp 0x42482a
push dword [ebp - 0x1a9c]
mov ecx, dword [ebp - 0x1aa0]
lea eax, [ebp - 0x1898]
push eax
call fcn.0042cf6d
test eax, eax
je 0x424f4b
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1928]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1958]
call fcn.00404d40
jmp 0x4247d9
xor eax, eax
inc eax
mov dword [ebp - 0x1a80], eax
test eax, eax
je 0x42449f
mov eax, dword [edi + 0x260]
cmp dword [eax + 0x5c], 1
jbe 0x4249dc
push 6
lea eax, [ebp - 0x18c8]
mov ecx, edi
push eax
call fcn.00416ada
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x1928]
push 0
push eax
lea ecx, [ebp - 0x18c8]
call fcn.004144a2
mov esi, eax
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x18f8]
push 0
push 0
push eax
lea ecx, [ebp - 0x1898]
call fcn.00414125
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x1868]
push esi
push ecx
mov ecx, eax
call fcn.0041bc96
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x1928]
call fcn.00404d40
cmp dword [ebp - 0x1850], 8
lea ecx, [ebp - 0x1864]
lea eax, [ebp - 0x18c4]
mov dword [ebp - 0x1a88], 0x7a7
cmovae ecx, dword [ebp - 0x1864]
mov esi, str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
cmp dword [ebp - 0x18b0], 8
push ecx
cmovae eax, dword [ebp - 0x18c4]
push eax
lea eax, [ebp - 0x1a8c]
mov dword [ebp - 0x1a8c], esi
push str.Caching_transform__s_to__s
push eax
call fcn.004160ea
add esp, 0x10
lea ecx, [ebp - 0x18c4]
cmp dword [ebp - 0x18b0], 8
lea eax, [ebp - 0x1864]
cmovae ecx, dword [ebp - 0x18c4]
cmp dword [ebp - 0x1850], 8
push 0
cmovae eax, dword [ebp - 0x1864]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x1868]
push eax
lea eax, [ebp - 0x18f8]
push eax
call fcn.004425e8
pop ecx
pop ecx
mov byte [ebp - 4], 0x53
add eax, 4
push eax
lea ecx, [ebp - 0x1864]
call fcn.00407b10
push 0
lea eax, [ebp - 0x1868]
push eax
push 6
mov ecx, edi
call fcn.004195d8
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
cmp dword [ebp - 0x1850], 8
lea eax, [ebp - 0x1864]
mov dword [ebp - 0x1a8c], esi
cmovae eax, dword [ebp - 0x1864]
push eax
lea eax, [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], 0x7ab
push str.MST_file_path_corrected:__s
push eax
call fcn.004160ea
add esp, 0xc
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x1868]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x18c8]
call fcn.00404d40
mov esi, dword [ebp - 0x1aa0]
mov ecx, esi
call fcn.0042b2fb
cmp dword [esi + 0x10], 0
je 0x424cf1
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x838]
push eax
call fcn.0044292b
pop ecx
pop ecx
push 0
push 0
lea eax, [ebp - 0x18f8]
push eax
lea ecx, [ebp - 0x1898]
call fcn.00414125
mov byte [ebp - 4], 0x57
lea eax, [ebp - 0x1a79]
push 0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x1958], 0x48e948
push eax
lea ecx, [ebp - 0x1958]
mov dword [ebp - 0x1930], 0x48e950
call fcn.004105ca
mov byte [ebp - 4], 0x59
lea eax, [ebp - 0x1958]
push eax
lea eax, [ebp - 0x1868]
push eax
lea ecx, [ebp - 0x18f8]
call fcn.0041bc96
mov byte [ebp - 4], 0x5a
push str..ini
push eax
lea eax, [ebp - 0x1928]
push eax
call fcn.0041bb1d
add esp, 0xc
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x1868]
call fcn.00404d40
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x1958]
call fcn.00404d40
cmp dword [ebp - 0x1910], 8
lea eax, [ebp - 0x1924]
mov esi, str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
mov dword [ebp - 0x1a88], 0x7bb
cmovae eax, dword [ebp - 0x1924]
push eax
lea eax, [ebp - 0x838]
mov dword [ebp - 0x1a8c], esi
push eax
lea eax, [ebp - 0x1a8c]
push str.Caching_ini_file__s_to__s
push eax
call fcn.004160ea
add esp, 0x10
lea eax, [ebp - 0x1924]
cmp dword [ebp - 0x1910], 8
cmovae eax, dword [ebp - 0x1924]
push 0
push eax
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [ebp - 0x1a94]
lea eax, [ebp - 0x1958]
push 0
push 0
push eax
call fcn.00414125
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x18c8]
push 0x4ab67c
push ecx
mov ecx, eax
call fcn.0041bc96
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x1958]
call fcn.00404d40
push 4
sub esp, 0x30
lea eax, [ebp - 0x18c8]
mov ecx, esp
mov dword [ebp - 0x1ab0], esp
push 1
push eax
call fcn.004106c9
mov byte [ebp - 4], 0x64
mov byte [ebp - 4], 0x62
call fcn.0044652d
add esp, 0x34
test al, al
je 0x424cc4
push 0x4ab67c
lea eax, [ebp - 0x1958]
push eax
lea ecx, [ebp - 0x18f8]
call fcn.0041bc96
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x1954]
cmp dword [ebp - 0x1940], 8
lea eax, [ebp - 0x18c4]
mov dword [ebp - 0x1a8c], esi
cmovae ecx, dword [ebp - 0x1954]
cmp dword [ebp - 0x18b0], 8
push ecx
cmovae eax, dword [ebp - 0x18c4]
push eax
lea eax, [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], 0x7c6
push str.Caching_skin__s_to__s
push eax
call fcn.004160ea
add esp, 0x10
lea ecx, [ebp - 0x18c4]
cmp dword [ebp - 0x18b0], 8
lea eax, [ebp - 0x1954]
cmovae ecx, dword [ebp - 0x18c4]
cmp dword [ebp - 0x1940], 8
push 0
cmovae eax, dword [ebp - 0x1954]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x1a78]
mov ecx, 0x4ab58c
push eax
call fcn.0041999a
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x18f8]
push eax
lea eax, [ebp - 0x1868]
push eax
call fcn.0041bc96
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x1a78]
call fcn.00404d40
cmp dword [ebp - 0x1850], 8
lea eax, [ebp - 0x1864]
mov dword [ebp - 0x1a8c], esi
mov esi, 0x4af7e0
cmovae eax, dword [ebp - 0x1864]
push eax
push esi
lea eax, [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], 0x7cb
push str.Caching_ini_file__s_to__s
push eax
call fcn.004160ea
add esp, 0x10
lea eax, [ebp - 0x1864]
cmp dword [ebp - 0x1850], 8
cmovae eax, dword [ebp - 0x1864]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x1868]
call fcn.00404d40
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x1958]
call fcn.00404d40
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x18c8]
call fcn.00404d40
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x1928]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x18f8]
call fcn.00404d40
xor esi, esi
push 1
lea eax, [ebp - 0x1a79]
mov dword [ebp - 0x1a80], esi
push eax
lea ecx, [ebp - 0x1928]
call fcn.00406120
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x1928]
push esi
push str.Cab_d
push eax
call fcn.00406190
add esp, 0xc
mov dword [ebp - 0x1868], 0x48e948
lea eax, [ebp - 0x1a79]
mov dword [ebp - 0x1840], 0x48e950
lea ecx, [ebp - 0x1868]
push 0
push eax
call fcn.00406120
mov byte [ebp - 4], 0x72
lea eax, [ebp - 0x1868]
mov dword [ebp - 0x1abc], eax
mov ecx, 0x400
xor eax, eax
mov byte [ebp - 0x1ab8], al
mov dword [ebp - 0x1ab4], eax
cmp dword [ebp - 0x1854], ecx
jae 0x424d86
push eax
push ecx
lea ecx, [ebp - 0x1864]
call fcn.00408050
push 5
lea eax, [ebp - 0x1a78]
or ebx, 4
push eax
mov ecx, edi
mov dword [ebp - 0x1a84], ebx
call fcn.00416ada
mov esi, eax
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x1868]
mov byte [ebp - 0x1ab8], 1
call fcn.004079b0
add esi, 4
mov ecx, dword [eax]
cmp dword [esi + 0x14], 8
jb 0x424dc4
mov esi, dword [esi]
cmp dword [ebp - 0x1910], 8
lea eax, [ebp - 0x1924]
push 0x400
cmovae eax, dword [ebp - 0x1924]
push ecx
push eax
push esi
call fcn.0044139f
add esp, 0x10
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x1a78]
call fcn.00404d40
and ebx, 0xfffffffb
mov dword [ebp - 0x1a84], ebx
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x1abc]
call fcn.00406010
cmp dword [ebp - 0x1854], 0
je 0x424fea
cmp dword [ebp - 0x1850], 8
lea ecx, [ebp - 0x1838]
push ecx
lea ecx, [ebp - 0x1038]
lea eax, [ebp - 0x1864]
cmovae eax, dword [ebp - 0x1864]
push ecx
push eax
call fcn.00442337
lea eax, [ebp - 0x1838]
push eax
push 0x4afff0
lea eax, [ebp - 0x838]
push eax
call fcn.00441f44
cmp dword [ebp - 0x19a0], 8
lea ecx, [ebp - 0x1838]
lea eax, [ebp - 0x19b4]
cmovae eax, dword [ebp - 0x19b4]
push ecx
push eax
lea eax, [ebp - 0x1038]
push eax
call fcn.00441f44
lea eax, [ebp - 0x1038]
mov dword [ebp - 0x1a88], 0x7df
push eax
lea eax, [ebp - 0x838]
mov esi, str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
push eax
lea eax, [ebp - 0x1a8c]
mov dword [ebp - 0x1a8c], esi
push str.Moving_file__s_to__s
push eax
call fcn.004160ea
add esp, 0x10
lea eax, [ebp - 0x1038]
push eax
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x424f21
mov dword [ebp - 0x1aa8], esi
mov dword [ebp - 0x1aa4], 0x7e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x1aa8]
push str.Move_failed__attempting_to_copy_and_delete_file__last_error__d
push eax
call fcn.004160ea
add esp, 0xc
lea eax, [ebp - 0x1038]
push 0
push eax
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x1868]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1928]
call fcn.00404d40
mov esi, dword [ebp - 0x1a80]
inc esi
jmp 0x424cf3
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1928]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1958]
call fcn.00404d40
jmp 0x424f89
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x1868]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x18c8]
call fcn.00404d40
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x19e8]
call fcn.00404d40
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1988]
call fcn.00404d40
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1a18]
call fcn.00404d40
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1898]
call fcn.00404d40
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1a48]
call fcn.00404d40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x19b8]
call fcn.00404d40
xor eax, eax
jmp 0x42509f
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x1868]
call fcn.00404d40
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1928]
call fcn.00404d40
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x19e8]
call fcn.00404d40
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1988]
call fcn.00404d40
lea eax, [ebp - 0x1898]
push eax
lea eax, [ebp - 0x1a78]
push eax
call fcn.004425e8
pop ecx
pop ecx
mov byte [ebp - 4], 0x7b
add eax, 4
mov ecx, dword [ebp - 0x1a94]
push eax
lea ecx, [ecx + 4]
call fcn.00407b10
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1a78]
call fcn.00404d40
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1a18]
call fcn.00404d40
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1898]
call fcn.00404d40
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1a48]
call fcn.00404d40
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x19b8]
call fcn.00404d40
xor eax, eax
inc eax
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.00443e8b
leave
ret 8