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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x494db0
mov eax, dword fs:[0]
push eax
mov eax, 0x1ac0
call fcn.00459cc0
mov eax, dword [0x4d9754]
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 - 0x1aa8], eax
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1a9c], ecx
mov ecx, eax
mov dword [ebp - 0x1aa0], edi
mov dword [ebp - 0x1a88], ebx
call fcn.0040f080
mov ecx, dword [0x4dae50]
mov esi, eax
mov eax, dword [0x4dcfac]
test ecx, ecx
push ebx
cmovne eax, ecx
mov dword [ebp - 0x1aac], esi
mov dword [ebp - 0x1ab0], eax
lea ecx, [ebp - 0x1930]
lea eax, [ebp - 0x1a81]
mov dword [ebp - 0x1930], 0x4b6748
push eax
push str.CacheRoot
mov dword [ebp - 0x1908], 0x4b6750
call fcn.00407aa0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1900]
push eax
mov ecx, edi
call fcn.0042463a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1930]
push 0xa
push 0xfffffffffffffffe
push ecx
push eax
mov ecx, esi
call fcn.004402a8
mov dword [ebp - 0x1a8c], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1930]
call fcn.00404cc0
cmp dword [ebp - 0x1a8c], 0xffffffff
lea edi, [esi + 4]
jge 0x42b351
mov eax, dword [edi]
push 0xc
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x4a5608]
mov ecx, edi
call esi
test al, al
je 0x42c428
xor esi, esi
mov dword [ebp - 0x1990], 0x4b6748
push esi
lea eax, [ebp - 0x1a81]
mov dword [ebp - 0x1968], 0x4b6750
push eax
lea ecx, [ebp - 0x1990]
call fcn.004060a0
mov dword [ebp - 4], 6
lea eax, [ebp - 0x1a81]
push esi
push eax
lea ecx, [ebp - 0x1a50]
mov dword [ebp - 0x1a50], 0x4b6748
mov dword [ebp - 0x1a28], 0x4b6750
call fcn.004060a0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1a81]
push 1
push eax
lea ecx, [ebp - 0x1870]
call fcn.004060a0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x1a81]
push esi
push eax
push 0x4b65d4
lea ecx, [ebp - 0x19f0]
mov dword [ebp - 0x19f0], 0x4b6748
mov dword [ebp - 0x19c8], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1a81]
push esi
push eax
push str.CacheFolder
lea ecx, [ebp - 0x1930]
mov dword [ebp - 0x1930], 0x4b6748
mov dword [ebp - 0x1908], 0x4b6750
call fcn.00407aa0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x18d0]
mov ecx, dword [ebp - 0x1aa0]
push eax
call fcn.0042463a
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x19f0]
mov esi, dword [edi]
push ecx
lea ecx, [ebp - 0x1930]
push ecx
mov ecx, dword [esi + 0x38]
push eax
lea eax, [ebp - 0x1900]
push eax
call dword [0x4a5608]
mov ecx, edi
call dword [esi + 0x38]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1a20]
push ecx
mov ecx, eax
call fcn.00419714
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x18d0]
call fcn.00404cc0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1930]
call fcn.00404cc0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x19f0]
call fcn.00404cc0
mov eax, dword [edi]
push 0xc
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x4a5608]
mov ecx, edi
call esi
mov ecx, 0x400
test al, al
jne 0x42b669
mov esi, dword [ebp - 0x1a8c]
test esi, esi
js 0x42b669
mov byte [ebp - 4], 0x1e
xor ebx, ebx
lea eax, [ebp - 0x1a50]
mov byte [ebp - 0x1a94], bl
mov dword [ebp - 0x1a98], eax
mov dword [ebp - 0x1a90], ebx
cmp dword [ebp - 0x1a3c], ecx
jae 0x42b50f
push ebx
push ecx
lea ecx, [ebp - 0x1a4c]
call fcn.0041496d
lea ecx, [ebp - 0x1a50]
mov dword [ebp - 0x1a88], 8
mov byte [ebp - 0x1a94], 1
call fcn.004140be
push dword [eax]
push ebx
push ebx
push esi
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push 8
pop ebx
mov dword [ebp - 0x1a88], ebx
mov esi, eax
and ebx, 0xfffffff7
mov dword [ebp - 0x1a88], ebx
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1a98]
call fcn.0041132b
test esi, esi
jns 0x42b583
push dword [ebp - 0x1aa0]
mov ecx, dword [ebp - 0x1aa8]
lea eax, [ebp - 0x1870]
push eax
call fcn.004357ae
test eax, eax
je 0x42c333
jmp 0x42b743
lea eax, [ebp - 0x1a20]
push eax
lea eax, [ebp - 0x1930]
push eax
lea ecx, [ebp - 0x1a50]
call fcn.0041ba06
mov byte [ebp - 4], 0x23
add eax, 4
push eax
lea ecx, [ebp - 0x198c]
call fcn.00407b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1930]
call fcn.00404cc0
push 1
lea eax, [ebp - 0x1a81]
push eax
lea ecx, [ebp - 0x1900]
call fcn.004060a0
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x1900]
mov esi, dword [ebp - 0x1a9c]
push eax
push esi
call fcn.00431944
pop ecx
pop ecx
test al, al
je 0x42b601
lea eax, [ebp - 0x1900]
push eax
lea ecx, [ebp - 0x1990]
call fcn.00414f29
cmp dword [ebp - 0x1978], 8
lea eax, [ebp - 0x198c]
cmovae eax, dword [ebp - 0x198c]
push eax
call fcn.004574df
push dword [ebp - 0x1aa0]
lea eax, [ebp - 0x1930]
push eax
lea ecx, [ebp - 0x1990]
call fcn.0041ba06
mov byte [ebp - 4], 0x26
add eax, 4
push eax
lea ecx, [ebp - 0x186c]
call fcn.00407b80
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x1930]
call fcn.00404cc0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
jmp 0x42b749
mov eax, dword [edi]
push 0xc
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x4a5608]
mov ecx, edi
call esi
test al, al
je 0x42b6dd
mov eax, dword [edi]
lea ecx, [ebp - 0x1900]
push 0xc
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4a5608]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x19
add eax, 4
push eax
lea ecx, [ebp - 0x1a1c]
call fcn.00407b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
lea eax, [ebp - 0x1900]
push eax
lea ecx, [ebp - 0x1a20]
call fcn.00419801
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
cmp dword [ebp - 0x1a08], 8
lea eax, [ebp - 0x1a1c]
cmovae eax, dword [ebp - 0x1a1c]
push eax
call fcn.004574df
lea eax, [ebp - 0x1a1c]
push eax
lea ecx, [ebp - 0x198c]
call fcn.00407b80
push dword [ebp - 0x1aa0]
lea eax, [ebp - 0x1900]
push eax
lea ecx, [ebp - 0x1a20]
call fcn.0041ba06
mov byte [ebp - 4], 0x1c
add eax, 4
push eax
lea ecx, [ebp - 0x186c]
call fcn.00407b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
mov esi, dword [ebp - 0x1a9c]
lea eax, [ebp - 0x1870]
push esi
push eax
call fcn.0040f51a
pop ecx
pop ecx
test al, al
jne 0x42c3b2
mov esi, dword [ebp - 0x1aac]
lea eax, [ebp - 0x1930]
push 0x663
push eax
mov ecx, dword [esi + 0x268]
call fcn.0041c203
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x1a81]
push 0
push eax
lea ecx, [ebp - 0x19f0]
mov dword [ebp - 0x19f0], 0x4b6748
mov dword [ebp - 0x19c8], 0x4b6750
call fcn.004060a0
mov byte [ebp - 4], 0x2b
and dword [ebp - 0x1a8c], 0
push 4
sub esp, 0x30
mov dword [ebp - 0x1aa4], 1
mov ecx, esp
mov dword [ebp - 0x1acc], esp
lea eax, [ebp - 0x1870]
push 1
push eax
call fcn.00410809
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x2b
call fcn.0045c4a5
add esp, 0x34
test al, al
je 0x42b984
push 0
lea eax, [ebp - 0x1a81]
mov dword [ebp - 0x1960], 0x4b6748
push eax
lea ecx, [ebp - 0x1960]
mov dword [ebp - 0x1938], 0x4b6750
call fcn.004060a0
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x1a81]
push 0
push eax
lea ecx, [ebp - 0x18a0]
mov dword [ebp - 0x18a0], 0x4b6748
mov dword [ebp - 0x1878], 0x4b6750
call fcn.004060a0
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x1960]
push eax
lea eax, [ebp - 0x1870]
push eax
call fcn.00431944
pop ecx
pop ecx
test al, al
je 0x42b894
lea eax, [ebp - 0x18a0]
push eax
push dword [ebp - 0x1a9c]
call fcn.00431944
pop ecx
pop ecx
test al, al
je 0x42b894
lea eax, [ebp - 0x195c]
push eax
lea ecx, [ebp - 0x189c]
call fcn.00413cf5
test eax, eax
je 0x42b95f
cmp dword [ebp - 0x1918], 8
lea ecx, [ebp - 0x192c]
lea eax, [ebp - 0x186c]
cmovae ecx, dword [ebp - 0x192c]
cmp dword [ebp - 0x1858], 8
cmovae eax, dword [ebp - 0x186c]
push eax
push ecx
lea eax, [ebp - 0x19f0]
push eax
call fcn.0041c7ad
or ebx, 1
add esp, 0xc
mov dword [ebp - 0x1a88], ebx
mov eax, dword [esi + 0x268]
cmp byte [eax + 1], 0
jne 0x42b93e
cmp byte [eax + 2], 0
jne 0x42b93e
push 0
push 6
push 0x34
sub esp, 0x30
lea eax, [ebp - 0x19f0]
mov ecx, esp
mov dword [ebp - 0x1abc], esp
push 1
push eax
call fcn.00410809
mov byte [ebp - 4], 0x31
or ebx, 2
push dword [ebp - 0x1ab0]
mov dword [ebp - 0x1a88], ebx
mov eax, dword [esi + 0x268]
mov dword [ebp - 0x1aa4], eax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x1aa4]
call fcn.0042449f
cmp eax, 6
je 0x42b93e
xor al, al
jmp 0x42b940
mov al, 1
test bl, 2
je 0x42b94e
and ebx, 0xfffffffd
mov dword [ebp - 0x1a88], ebx
and ebx, 0xfffffffe
mov dword [ebp - 0x1a88], ebx
test al, al
je 0x42bb52
and dword [ebp - 0x1aa4], 0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x18a0]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1960]
call fcn.00404cc0
cmp dword [ebp - 0x1858], 8
lea eax, [ebp - 0x186c]
mov dword [ebp - 0x1ab8], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
cmovae eax, dword [ebp - 0x186c]
push eax
lea eax, [ebp - 0x1ab8]
mov dword [ebp - 0x1ab4], 0x787
push str.Copying_file_for_cache_to__s
push eax
call fcn.00415eae
mov ecx, dword [ebp - 0x1a9c]
add esp, 0xc
add ecx, 4
cmp dword [ecx + 0x14], 8
jb 0x42b9d2
mov ecx, dword [ecx]
cmp dword [ebp - 0x1858], 8
lea eax, [ebp - 0x186c]
push dword [ebp - 0x1aa4]
cmovae eax, dword [ebp - 0x186c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x42bb92
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1840], 0x4b6748
push 0
lea eax, [ebp - 0x1a81]
mov dword [ebp - 0x1818], 0x4b6750
push eax
lea ecx, [ebp - 0x1840]
call fcn.004060a0
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x1900]
mov ecx, dword [ebp - 0x1aac]
push 0x65b
push eax
mov ecx, dword [ecx + 0x268]
call fcn.0041c203
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x18d0]
push ecx
mov ecx, eax
call fcn.0042463a
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
cmp dword [ebp - 0x1858], 8
lea ecx, [ebp - 0x186c]
lea eax, [ebp - 0x18cc]
cmovae ecx, dword [ebp - 0x186c]
cmp dword [ebp - 0x18b8], 8
push ecx
cmovae eax, dword [ebp - 0x18cc]
push eax
lea eax, [ebp - 0x1840]
push eax
call fcn.00406110
push 0x4a6e78
call fcn.00473ca3
add esp, 0x10
lea ecx, [ebp - 0x183c]
push eax
push 0x4a6e78
call fcn.00409080
cmp dword [ebp - 0x1828], 8
lea eax, [ebp - 0x183c]
push esi
cmovae eax, dword [ebp - 0x183c]
push eax
call fcn.00458bb1
push esi
lea eax, [ebp - 0x1a94]
mov dword [ebp - 0x1a94], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
push str.Failed_to_cache_file__last_error__d__prompting_for_alternate_location
push eax
mov dword [ebp - 0x1a90], 0x793
call fcn.00415eae
mov ecx, dword [ebp - 0x1aa8]
lea eax, [ebp - 0x1870]
add esp, 0x14
push dword [ebp - 0x1aa0]
push eax
call fcn.004357ae
test eax, eax
je 0x42c2f7
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x18d0]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1840]
call fcn.00404cc0
mov esi, dword [ebp - 0x1aac]
mov eax, dword [ebp - 0x1a8c]
jmp 0x42bb9b
push dword [ebp - 0x1aa0]
mov ecx, dword [ebp - 0x1aa8]
lea eax, [ebp - 0x1870]
push eax
call fcn.004357ae
test eax, eax
je 0x42c2d7
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x18a0]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1960]
call fcn.00404cc0
jmp 0x42bb4a
xor eax, eax
inc eax
mov dword [ebp - 0x1a8c], eax
test eax, eax
je 0x42b7b4
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x5c], 1
jbe 0x42bd64
mov eax, dword [edi]
lea ecx, [ebp - 0x18a0]
push 6
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4a5608]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x18d0]
push 0
push eax
lea ecx, [ebp - 0x18a0]
call fcn.004145e2
mov esi, eax
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x1900]
push 0
push 0
push eax
lea ecx, [ebp - 0x1870]
call fcn.00414265
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x1840]
push esi
push ecx
mov ecx, eax
call fcn.0041ba06
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x18d0]
call fcn.00404cc0
cmp dword [ebp - 0x1828], 8
lea ecx, [ebp - 0x183c]
lea eax, [ebp - 0x189c]
mov dword [ebp - 0x1a94], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
cmovae ecx, dword [ebp - 0x183c]
cmp dword [ebp - 0x1888], 8
push ecx
cmovae eax, dword [ebp - 0x189c]
push eax
lea eax, [ebp - 0x1a94]
mov dword [ebp - 0x1a90], 0x7a6
push str.Caching_transform__s_to__s
push eax
call fcn.00415eae
add esp, 0x10
lea ecx, [ebp - 0x183c]
cmp dword [ebp - 0x1828], 8
lea eax, [ebp - 0x189c]
cmovae ecx, dword [ebp - 0x183c]
cmp dword [ebp - 0x1888], 8
push 0
cmovae eax, dword [ebp - 0x189c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x1840]
push eax
lea eax, [ebp - 0x1900]
push eax
call fcn.00457a4a
pop ecx
pop ecx
mov byte [ebp - 4], 0x56
add eax, 4
push eax
lea ecx, [ebp - 0x183c]
call fcn.00407b80
mov eax, dword [edi]
lea ecx, [ebp - 0x1840]
push 0
push ecx
push 6
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x4a5608]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
cmp dword [ebp - 0x1828], 8
lea eax, [ebp - 0x183c]
mov dword [ebp - 0x1a94], str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
cmovae eax, dword [ebp - 0x183c]
push eax
lea eax, [ebp - 0x1a94]
mov dword [ebp - 0x1a90], 0x7aa
push str.MST_file_path_corrected:__s
push eax
call fcn.00415eae
add esp, 0xc
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x1840]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x18a0]
call fcn.00404cc0
mov esi, dword [ebp - 0x1aa8]
mov ecx, esi
call fcn.004338d6
cmp dword [esi + 0x10], 0
je 0x42c06b
lea eax, [ebp - 0x1838]
push eax
lea eax, [ebp - 0x810]
push eax
call fcn.00457d8d
pop ecx
pop ecx
push 0
push 0
lea eax, [ebp - 0x1900]
push eax
lea ecx, [ebp - 0x1870]
call fcn.00414265
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x1a81]
push 1
push eax
lea eax, [ebp - 0x1838]
push eax
lea ecx, [ebp - 0x19c0]
call fcn.0041099e
mov byte [ebp - 4], 0x5b
lea eax, [ebp - 0x19c0]
push eax
lea eax, [ebp - 0x1960]
push eax
lea ecx, [ebp - 0x1900]
call fcn.0041ba06
mov byte [ebp - 4], 0x5c
push str..ini
push eax
lea eax, [ebp - 0x18d0]
push eax
call fcn.0041b88d
add esp, 0xc
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x1960]
call fcn.00404cc0
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x19c0]
call fcn.00404cc0
cmp dword [ebp - 0x18b8], 8
lea eax, [ebp - 0x18cc]
mov esi, str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
mov dword [ebp - 0x1a90], 0x7ba
cmovae eax, dword [ebp - 0x18cc]
push eax
lea eax, [ebp - 0x810]
mov dword [ebp - 0x1a94], esi
push eax
lea eax, [ebp - 0x1a94]
push str.Caching_ini_file__s_to__s
push eax
call fcn.00415eae
add esp, 0x10
lea eax, [ebp - 0x18cc]
cmp dword [ebp - 0x18b8], 8
cmovae eax, dword [ebp - 0x18cc]
push 0
push eax
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ecx, dword [ebp - 0x1a9c]
lea eax, [ebp - 0x19c0]
push 0
push 0
push eax
call fcn.00414265
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x18a0]
push 0x4d961c
push ecx
mov ecx, eax
call fcn.0041ba06
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x19c0]
call fcn.00404cc0
push 4
sub esp, 0x30
lea eax, [ebp - 0x18a0]
mov ecx, esp
mov dword [ebp - 0x1abc], esp
push 1
push eax
call fcn.00410809
mov byte [ebp - 4], 0x66
mov byte [ebp - 4], 0x64
call fcn.0045c4a5
add esp, 0x34
test al, al
je 0x42c03e
push 0x4d961c
lea eax, [ebp - 0x19c0]
push eax
lea ecx, [ebp - 0x1900]
call fcn.0041ba06
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x19bc]
cmp dword [ebp - 0x19a8], 8
lea eax, [ebp - 0x189c]
mov dword [ebp - 0x1a94], esi
cmovae ecx, dword [ebp - 0x19bc]
cmp dword [ebp - 0x1888], 8
push ecx
cmovae eax, dword [ebp - 0x189c]
push eax
lea eax, [ebp - 0x1a94]
mov dword [ebp - 0x1a90], 0x7c5
push str.Caching_skin__s_to__s
push eax
call fcn.00415eae
add esp, 0x10
lea ecx, [ebp - 0x189c]
cmp dword [ebp - 0x1888], 8
lea eax, [ebp - 0x19bc]
cmovae ecx, dword [ebp - 0x189c]
cmp dword [ebp - 0x19a8], 8
push 0
cmovae eax, dword [ebp - 0x19bc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x1a80]
mov ecx, 0x4d952c
push eax
call fcn.00419714
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x1900]
push eax
lea eax, [ebp - 0x1960]
push eax
call fcn.0041ba06
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x1a80]
call fcn.00404cc0
cmp dword [ebp - 0x1948], 8
lea eax, [ebp - 0x195c]
mov dword [ebp - 0x1a94], esi
mov esi, 0x4dda78
cmovae eax, dword [ebp - 0x195c]
push eax
push esi
lea eax, [ebp - 0x1a94]
mov dword [ebp - 0x1a90], 0x7ca
push str.Caching_ini_file__s_to__s
push eax
call fcn.00415eae
add esp, 0x10
lea eax, [ebp - 0x195c]
cmp dword [ebp - 0x1948], 8
cmovae eax, dword [ebp - 0x195c]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x1960]
call fcn.00404cc0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x19c0]
call fcn.00404cc0
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x18a0]
call fcn.00404cc0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x18d0]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1900]
call fcn.00404cc0
xor esi, esi
push 1
lea eax, [ebp - 0x1a81]
mov dword [ebp - 0x1a8c], esi
push eax
lea ecx, [ebp - 0x18d0]
call fcn.004060a0
mov byte [ebp - 4], 0x71
lea eax, [ebp - 0x18d0]
push esi
push str.Cab_d
push eax
call fcn.00406110
add esp, 0xc
mov dword [ebp - 0x1840], 0x4b6748
lea eax, [ebp - 0x1a81]
mov dword [ebp - 0x1818], 0x4b6750
lea ecx, [ebp - 0x1840]
push 0
push eax
call fcn.004060a0
mov byte [ebp - 4], 0x74
lea eax, [ebp - 0x1840]
mov dword [ebp - 0x1ac8], eax
mov ecx, 0x400
xor eax, eax
mov byte [ebp - 0x1ac4], al
mov dword [ebp - 0x1ac0], eax
cmp dword [ebp - 0x182c], ecx
jae 0x42c100
push eax
push ecx
lea ecx, [ebp - 0x183c]
call fcn.00408100
or ebx, 4
lea ecx, [ebp - 0x1a80]
mov dword [ebp - 0x1a88], ebx
mov eax, dword [edi]
push 5
push ecx
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4a5608]
mov ecx, edi
call esi
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x18cc]
cmp dword [ebp - 0x18b8], 8
lea esi, [eax + 4]
cmovae ecx, dword [ebp - 0x18cc]
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x1ab0], ecx
jb 0x42c14c
mov esi, dword [esi]
lea ecx, [ebp - 0x1840]
mov byte [ebp - 0x1ac4], 1
call fcn.00407930
push 0x400
push dword [eax]
push dword [ebp - 0x1ab0]
push esi
call fcn.004567e0
add esp, 0x10
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x1a80]
call fcn.00404cc0
and ebx, 0xfffffffb
mov dword [ebp - 0x1a88], ebx
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x1ac8]
call fcn.00405f90
cmp dword [ebp - 0x182c], 0
je 0x42c376
cmp dword [ebp - 0x1828], 8
lea ecx, [ebp - 0x1810]
push ecx
lea ecx, [ebp - 0x1010]
lea eax, [ebp - 0x183c]
cmovae eax, dword [ebp - 0x183c]
push ecx
push eax
call fcn.00457799
lea eax, [ebp - 0x1810]
push eax
push 0x4de288
lea eax, [ebp - 0x810]
push eax
call fcn.004573a9
cmp dword [ebp - 0x1978], 8
lea ecx, [ebp - 0x1810]
lea eax, [ebp - 0x198c]
cmovae eax, dword [ebp - 0x198c]
push ecx
push eax
lea eax, [ebp - 0x1010]
push eax
call fcn.004573a9
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1a90], 0x7de
push eax
lea eax, [ebp - 0x810]
mov esi, str.C:CodeBasesisdevSrcRuntimeMSISharedSetupmsiaction.cpp
push eax
lea eax, [ebp - 0x1a94]
mov dword [ebp - 0x1a94], esi
push str.Moving_file__s_to__s
push eax
call fcn.00415eae
add esp, 0x10
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x42c2ad
mov dword [ebp - 0x1ab8], esi
mov dword [ebp - 0x1ab4], 0x7e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x1ab8]
push str.Move_failed__attempting_to_copy_and_delete_file__last_error__d
push eax
call fcn.00415eae
add esp, 0xc
lea eax, [ebp - 0x1010]
push 0
push eax
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x1840]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x18d0]
call fcn.00404cc0
mov esi, dword [ebp - 0x1a8c]
inc esi
jmp 0x42c06d
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x18a0]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1960]
call fcn.00404cc0
jmp 0x42c315
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x18d0]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1840]
call fcn.00404cc0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x19f0]
call fcn.00404cc0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1930]
call fcn.00404cc0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1a20]
call fcn.00404cc0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1870]
call fcn.00404cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1a50]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1990]
call fcn.00404cc0
xor eax, eax
jmp 0x42c42b
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x1840]
call fcn.00404cc0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x18d0]
call fcn.00404cc0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x19f0]
call fcn.00404cc0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1930]
call fcn.00404cc0
lea eax, [ebp - 0x1870]
push eax
lea eax, [ebp - 0x1a80]
push eax
call fcn.00457a4a
pop ecx
pop ecx
mov byte [ebp - 4], 0x7d
add eax, 4
mov ecx, dword [ebp - 0x1a9c]
push eax
lea ecx, [ecx + 4]
call fcn.00407b80
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1a80]
call fcn.00404cc0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1a20]
call fcn.00404cc0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1870]
call fcn.00404cc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1a50]
call fcn.00404cc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1990]
call fcn.00404cc0
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.0045978b
leave
ret 8