Function at 0x42be92
Capabilities:
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4d8
push ebx
push esi
xor ebx, ebx
push edi
push ebx
mov dword [ebp - 0x8c], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00446362
cmp eax, 6
jb 0x42bebc
call fcn.0042bb71
mov eax, dword [ebp + 8]
push 0x400
push ebx
push 0x485fc8
mov dword [0x4863d4], eax
call fcn.00434af0
mov eax, dword [0x486490]
add esp, 0xc
mov dword [ebp - 0x38], eax
mov eax, dword [0x486494]
push dword [ebp + 0x10]
lea ecx, [ebp - 0xa0]
mov dword [0x4863c8], ebx
mov dword [ebp - 0x34], eax
call fcn.0042d052
lea eax, [ebp - 9]
mov esi, 0x46953c
mov edi, 0x469534
push ebx
push eax
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x148], edi
call fcn.00401aef
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x168]
push eax
call fcn.00423b48
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00408f28
push ebx
push ebx
push eax
push str.debuglog
lea ecx, [ebp - 0xa0]
call fcn.0042d0dd
lea ecx, [ebp - 0x30]
mov byte [ebp - 0xa], al
call fcn.0042d894
cmp byte [ebp - 0xa], bl
je 0x42bfa7
call fcn.00459710
push ebx
call fcn.004598d0
cmp dword [ebp - 0x15c], ebx
je 0x42bfa7
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x168]
push eax
call fcn.0042d8a5
lea ecx, [ebp - 0x60]
call fcn.00401306
sub esp, 0x28
lea eax, [ebp - 0x168]
mov dword [ebp - 0x14], esp
mov ecx, esp
push ebx
push eax
mov dword [ecx], esi
mov dword [ecx + 0x20], edi
call fcn.0040f6c9
call fcn.00459720
lea eax, [ebp - 9]
push 1
push eax
lea ecx, [ebp - 0x118]
push dword [ebp + 0x10]
call fcn.00401a6d
add eax, 4
mov dword [ebp - 0x24], 0x469558
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x42bfcf
mov dword [ebp - 0x24], eax
lea eax, [ebp - 1]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupSetup.cpp
lea ecx, [ebp - 0x60]
call fcn.00401a6d
add eax, 4
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x42bff1
mov eax, 0x469558
push dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x99
push str.InstallShield_setup.exe__Ansi__started__cmdline:__s
push eax
call fcn.004086b0
add esp, 0xc
lea ecx, [ebp - 0x60]
call fcn.00401306
lea ecx, [ebp - 0x118]
call fcn.00401306
push 1
push 1
push ebx
push str.runfromtemp
lea ecx, [ebp - 0xa0]
call fcn.0042d0dd
push ebx
push ebx
push ebx
push str.reboot
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x10], al
call fcn.0042d0dd
test al, al
je 0x42c13e
cmp byte [0x483528], bl
jne 0x42c065
cmp byte [0x4869c8], bl
je 0x42c0d6
lea eax, [ebp + 0xb]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupSetup.cpp
lea ecx, [ebp - 0x118]
call fcn.00401a6d
mov eax, 0x47e394
mov dword [ebp - 0x190], esi
mov ecx, eax
mov dword [ebp - 0x170], edi
test ecx, ecx
jne 0x42c097
mov eax, 0x483918
lea ecx, [ebp - 1]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x190]
call fcn.004010c6
lea eax, [ebp - 0x118]
push 0xa3
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.004596c0
lea ecx, [ebp - 0x190]
call fcn.00401306
lea ecx, [ebp - 0x118]
call fcn.00401306
lea eax, [ebp - 0x60]
push eax
call fcn.0040da23
pop ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.0040d8f7
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x238]
call fcn.0040db60
test eax, eax
jne 0x42c10b
mov esi, dword [0x4863c8]
jmp 0x42c12e
sub esp, 0x28
lea eax, [ebp + 0x13]
mov ecx, esp
mov dword [ebp + 8], esp
push 1
push eax
push dword [ebp + 0x10]
call fcn.00401a6d
lea ecx, [ebp - 0x238]
call fcn.0040dee8
mov esi, eax
lea ecx, [ebp - 0x238]
call fcn.0040da00
jmp 0x42d02d
cmp byte [ebp - 0x10], bl
je 0x42c15e
push ebx
push ebx
push ebx
push 0x47e390
lea ecx, [ebp - 0xa0]
call fcn.0042d0dd
test al, al
je 0x42c27b
lea eax, [ebp - 1]
push ebx
push eax
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x120], edi
call fcn.00401aef
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x140]
push eax
call fcn.00423b48
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00408f28
push 1
push ebx
push eax
push str.removeasmajorupgrade
lea ecx, [ebp - 0xa0]
call fcn.0042d0dd
lea ecx, [ebp - 0x30]
mov byte [ebp - 9], al
call fcn.0042d894
cmp byte [ebp - 9], bl
je 0x42c270
cmp byte [0x483528], bl
jne 0x42c1cc
cmp byte [0x4869c8], bl
je 0x42c23d
lea eax, [ebp + 0x13]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupSetup.cpp
lea ecx, [ebp - 0x118]
call fcn.00401a6d
mov eax, str.Running_as_remove_major_upgrade
mov dword [ebp - 0x190], esi
mov ecx, eax
mov dword [ebp - 0x170], edi
test ecx, ecx
jne 0x42c1fe
mov eax, 0x483918
lea ecx, [ebp + 0xb]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x190]
call fcn.004010c6
lea eax, [ebp - 0x118]
push 0xb2
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.004596c0
lea ecx, [ebp - 0x190]
call fcn.00401306
lea ecx, [ebp - 0x118]
call fcn.00401306
push dword [ebp - 0x10]
lea eax, [ebp - 0x140]
sub esp, 0x28
mov ecx, esp
mov dword [ebp + 0x10], esp
push 1
push eax
call fcn.0040ea81
call fcn.0042d58b
add esp, 0x2c
lea ecx, [ebp - 0x140]
mov esi, eax
call fcn.00401306
jmp 0x42d02d
lea ecx, [ebp - 0x140]
call fcn.00401306
mov edx, dword [ebp + 0x10]
push 1
pop esi
cmp dword [ebp - 0x38], esi
jbe 0x42c42d
mov al, byte [edx]
cmp al, 0x2d
je 0x42c294
cmp al, 0x2f
jne 0x42c2f7
cmp byte [edx + 1], 0x25
jne 0x42c2f7
lea eax, [edx + 2]
mov cl, byte [eax]
inc eax
cmp cl, 0x2f
jne 0x42c29d
mov byte [eax - 2], bl
dec eax
push eax
mov ecx, 0x485af0
call fcn.00401c5e
push eax
lea eax, [ebp - 0x4d8]
push str._s__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x4d8]
push esi
push eax
call fcn.00430595
lea ecx, [ebp - 0x30]
call fcn.00401d2c
push dword [ebp + 8]
lea ecx, [ebp - 0x30]
call fcn.00401d60
lea ecx, [ebp - 0x30]
call fcn.00401d59
jmp 0x42ce8e
cmp al, 0x2d
je 0x42c2ff
cmp al, 0x2f
jne 0x42c352
mov cl, byte [edx + 1]
cmp cl, 0x6b
je 0x42c30c
cmp cl, 0x4b
jne 0x42c352
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x3d3]
mov byte [ebp - 0x3d4], bl
add edx, 2
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp - 0x34]
push edx
push dword [eax]
lea eax, [ebp - 0x3d4]
push 0x47b4fc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x3d4]
push esi
push eax
call fcn.00430775
jmp 0x42ce8e
cmp al, 0x2d
je 0x42c35e
cmp al, 0x2f
jne 0x42c42d
mov al, byte [edx + 1]
cmp al, 0x67
je 0x42c36d
cmp al, 0x47
jne 0x42c42d
mov eax, dword [ebp + 0x10]
lea esi, [eax + 2]
mov al, byte [esi]
inc esi
cmp al, 0x2f
jne 0x42c373
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x3d3]
mov byte [ebp - 0x3d4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esi + 2]
push eax
lea eax, [ebp - 0x3d4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x3d4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov cl, byte [ebp + eax - 0x3d6]
lea eax, [ebp + eax - 0x3d4]
cmp cl, 0x2d
mov dword [ebp + 8], ebx
je 0x42c3c9
cmp cl, 0x2f
jne 0x42c3e0
mov cl, byte [eax - 1]
cmp cl, 0x73
je 0x42c3d6
cmp cl, 0x53
jne 0x42c3e0
mov dword [ebp + 8], 1
mov byte [eax - 2], bl
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x4d7]
mov byte [ebp - 0x4d8], bl
mov byte [esi - 2], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 0x10]
add eax, 3
push eax
lea eax, [ebp - 0x4d8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [ebp + 8]
lea eax, [ebp - 0x3d4]
push eax
lea eax, [ebp - 0x4d8]
push eax
call fcn.00431316
add esp, 0xc
mov esi, eax
jmp 0x42d02d
cmp dword [ebp - 0x38], esi
mov dword [ebp - 0x24], ebx
jbe 0x42c457
mov al, byte [edx]
cmp al, 0x2d
je 0x42c43f
cmp al, 0x2f
jne 0x42c457
mov dl, byte [edx + 1]
cmp dl, 0x71
je 0x42c44c
cmp dl, 0x51
jne 0x42c457
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
inc eax
inc eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 1]
push ebx
push eax
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xf0], 0x469580
mov dword [ebp - 0xd0], 0x469578
call fcn.00402c39
push esi
lea ecx, [ebp - 0x20c]
call fcn.0042671d
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x20c]
push eax
call fcn.0042d9f3
mov eax, dword [eax]
push ebx
add eax, 0x10
push ebx
push eax
push str.tempdisk1folder
lea ecx, [ebp - 0xa0]
call fcn.0042d0dd
test al, al
mov edi, 0x483918
je 0x42c4da
lea ecx, [ebp - 0x20c]
call fcn.0042d917
mov eax, dword [ebp - 0x1fc]
cmp eax, ebx
jne 0x42c4ce
mov eax, edi
push eax
lea ecx, [ebp - 0xf0]
call fcn.00404094
cmp dword [ebp - 0xe4], ebx
mov esi, 0x104
jne 0x42c587
lea eax, [ebp - 0x30]
push esi
push eax
lea ecx, [ebp - 0xf0]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push eax
push esi
mov dword [ecx + 8], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [ebp - 0x30]
call fcn.00402704
sub esp, 0x28
lea eax, [ebp - 1]
mov dword [ebp - 0x14], esp
mov ecx, esp
push ebx
push eax
push edi
mov dword [ecx], 0x469580
mov dword [ecx + 0x20], 0x469578
call fcn.00403fe2
sub esp, 0x28
lea eax, [ebp - 9]
mov ecx, esp
mov dword [ebp - 0x14], esp
push 1
push eax
push edi
call fcn.0042b4f5
lea eax, [ebp - 0x60]
push ebx
push eax
call fcn.00444da0
add esp, 0x58
lea ecx, [ebp - 0xf0]
push eax
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0xf0]
push eax
call fcn.004042cd
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0xf0]
push eax
call fcn.00420675
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0xf0]
call fcn.0040316b
push eax
push 0x485fc8
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x24], ebx
je 0x42c5cb
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x42cf05
cmp byte [ebp - 0x10], bl
jne 0x42c5f3
mov eax, dword [ebp - 0x34]
push dword [eax]
call fcn.00430175
test eax, eax
je 0x42cf05
push dword [ebp + 0x10]
call fcn.0042d408
test al, al
pop ecx
je 0x42cf05
mov edi, dword [ebp - 0x34]
lea eax, [ebp - 0x190]
push ebx
push eax
lea eax, [ebp - 1]
push 1
push eax
lea ecx, [ebp - 0x60]
push dword [edi]
call fcn.00402dbc
mov ecx, eax
call fcn.0040261f
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea eax, [ebp - 0x118]
push ebx
push eax
lea ecx, [ebp - 0x190]
call fcn.0040261f
push ebx
lea eax, [ebp - 0x1e0]
push ebx
push eax
lea eax, [ebp - 1]
push 1
push eax
lea ecx, [ebp - 0x60]
push dword [edi]
call fcn.00402dbc
mov ecx, eax
call fcn.00402e72
lea ecx, [ebp - 0x60]
call fcn.004020a2
cmp dword [ebp - 0x1d4], ebx
jne 0x42c6de
lea eax, [ebp - 1]
push ebx
push eax
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], 0x469580
mov dword [ebp - 0x68], 0x469578
call fcn.00402c39
lea eax, [ebp - 0x1c]
push esi
push eax
lea ecx, [ebp - 0x88]
call fcn.004025f2
mov edi, eax
mov ecx, dword [edi]
call fcn.0040316b
push esi
push eax
push ebx
mov dword [edi + 8], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x1c]
call fcn.00402704
push ebx
lea eax, [ebp - 0x60]
push ebx
push eax
lea ecx, [ebp - 0x88]
call fcn.00402e72
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x88]
call fcn.004020a2
lea ecx, [ebp - 0x30]
call fcn.00401d2c
lea eax, [ebp - 0x190]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.0040e53a
lea eax, [ebp - 0x118]
lea ecx, [ebp - 0xf0]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.0040e53a
lea ecx, [ebp - 0x1b8]
call fcn.0040316b
push ebx
lea ecx, [ebp - 0xc8]
mov edi, eax
call fcn.0040316b
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
call edi
lea eax, [ebp - 0x1c]
push esi
push eax
lea ecx, [ebp - 0xc8]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
call fcn.0040219d
lea ecx, [ebp - 0x1c]
call fcn.00402704
lea eax, [ebp - 1]
push 1
push eax
lea ecx, [ebp - 0x88]
push dword [0x47e1e4]
call fcn.00402dbc
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040e53a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x88]
call fcn.004020a2
lea eax, [ebp - 1]
push 1
push eax
lea ecx, [ebp - 0x88]
push dword [0x47e1e4]
call fcn.00402dbc
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040e53a
push eax
lea ecx, [ebp - 0xc8]
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x88]
call fcn.004020a2
lea ecx, [ebp - 0x1b8]
call fcn.0040316b
mov dword [ebp - 8], eax
push ebx
lea ecx, [ebp - 0xc8]
call fcn.0040316b
push eax
push dword [ebp - 8]
call edi
lea eax, [ebp - 0x1c]
push esi
push eax
lea ecx, [ebp - 0xc8]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
call fcn.0040219d
lea ecx, [ebp - 0x1c]
call fcn.00402704
lea eax, [ebp - 1]
push 1
push eax
push str.ISSetup.dll
lea ecx, [ebp - 0x88]
call fcn.00402dbc
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040e53a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x88]
call fcn.004020a2
mov eax, 0x47b828
mov dword [ebp - 0x88], 0x469580
mov ecx, eax
mov dword [ebp - 0x68], 0x469578
test ecx, ecx
jne 0x42c8c1
mov eax, 0x483918
lea ecx, [ebp - 1]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x88]
call fcn.00403fe2
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040e53a
push eax
lea ecx, [ebp - 0xc8]
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x88]
call fcn.004020a2
lea ecx, [ebp - 0x1b8]
call fcn.0040316b
push ebx
lea ecx, [ebp - 0xc8]
mov dword [ebp - 8], eax
call fcn.0040316b
push eax
push dword [ebp - 8]
call edi
lea eax, [ebp - 0x1c]
push esi
push eax
lea ecx, [ebp - 0xc8]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
call fcn.0040219d
lea ecx, [ebp - 0x1c]
call fcn.00402704
lea eax, [ebp - 1]
push ebx
push eax
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0x469580
mov dword [ebp - 0x120], 0x469578
call fcn.00402c39
lea eax, [ebp - 0x1c]
push esi
push eax
lea ecx, [ebp - 0x140]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push esi
push eax
push str.Skin
push str.Startup
mov dword [ecx + 8], eax
call fcn.0043137b
add esp, 0x10
lea ecx, [ebp - 0x1c]
call fcn.00402704
cmp dword [ebp - 0x134], ebx
jne 0x42c9f3
lea eax, [ebp - 1]
push 1
push eax
push str.setup.isn
lea ecx, [ebp - 0x88]
call fcn.00402dbc
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x140]
push eax
call fcn.0040211c
lea ecx, [ebp - 0x88]
call fcn.004020a2
lea eax, [ebp - 0x140]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040e53a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea eax, [ebp - 0x140]
lea ecx, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040e53a
push eax
lea ecx, [ebp - 0xc8]
call fcn.0040211c
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x1b8]
call fcn.0040316b
push ebx
lea ecx, [ebp - 0xc8]
mov dword [ebp - 8], eax
call fcn.0040316b
push eax
push dword [ebp - 8]
call edi
test eax, eax
je 0x42ca9c
lea eax, [ebp - 0x1c]
push esi
push eax
lea ecx, [ebp - 0xc8]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
call fcn.0040219d
lea ecx, [ebp - 0x1c]
call fcn.00402704
lea eax, [ebp - 0x298]
push 0x10
push eax
push str.count
push str.Languages
call fcn.0043137b
push 0xa
lea eax, [ebp - 0x298]
push ebx
push eax
call fcn.004344ea
add esp, 0x1c
cmp eax, ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ebx
jbe 0x42cc80
push dword [ebp - 0x10]
lea eax, [ebp - 0x2a8]
push str.key_d
push eax
call fcn.0043468b
lea eax, [ebp - 0x288]
push 0x10
push eax
lea eax, [ebp - 0x2a8]
push eax
push str.Languages
call fcn.0043137b
push 0x10
lea eax, [ebp - 0x288]
push ebx
push eax
call fcn.004344ea
add esp, 0x28
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x42cc71
mov eax, dword [ebp - 0x1d8]
cmp eax, ebx
jne 0x42cb2e
mov eax, 0x46959c
push dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x1b8]
push str._s0x_04x.ini
push eax
call fcn.004206cd
mov eax, dword [ebp - 0xe8]
add esp, 0x10
cmp eax, ebx
jne 0x42cb55
mov eax, 0x46959c
push dword [ebp - 0x20]
push eax
lea eax, [ebp - 0xc8]
push str._s0x_04x.ini
push eax
call fcn.004206cd
add esp, 0x10
lea ecx, [ebp - 0x1b8]
call fcn.0040316b
push ebx
lea ecx, [ebp - 0xc8]
mov dword [ebp - 8], eax
call fcn.0040316b
push eax
push dword [ebp - 8]
call edi
test eax, eax
je 0x42cbc8
lea eax, [ebp - 0x278]
push esi
push eax
lea ecx, [ebp - 0xc8]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
call fcn.0040219d
lea ecx, [ebp - 0x278]
call fcn.00402704
mov eax, dword [ebp - 0x1d8]
cmp eax, ebx
jne 0x42cbd7
mov eax, 0x46959c
push dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x1b8]
push str._s_04x.mst
push eax
call fcn.004206cd
mov eax, dword [ebp - 0xe8]
add esp, 0x10
cmp eax, ebx
jne 0x42cbfe
mov eax, 0x46959c
push dword [ebp - 0x20]
push eax
lea eax, [ebp - 0xc8]
push str._s_04x.mst
push eax
call fcn.004206cd
add esp, 0x10
lea ecx, [ebp - 0x1b8]
call fcn.0040316b
push ebx
lea ecx, [ebp - 0xc8]
mov dword [ebp - 8], eax
call fcn.0040316b
push eax
push dword [ebp - 8]
call edi
test eax, eax
je 0x42cc71
lea eax, [ebp - 0x26c]
push esi
push eax
lea ecx, [ebp - 0xc8]
call fcn.004025f2
mov ecx, dword [eax]
mov dword [ebp - 8], eax
call fcn.0040316b
mov ecx, dword [ebp - 8]
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
call fcn.0040219d
lea ecx, [ebp - 0x26c]
call fcn.00402704
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x14]
jb 0x42cad4
lea eax, [ebp - 1]
push ebx
push eax
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x260], 0x469580
mov dword [ebp - 0x240], 0x469578
call fcn.00402c39
lea eax, [ebp + 0x13]
push 1
push eax
lea ecx, [ebp - 0x234]
push dword [ebp + 0x10]
call fcn.00402dbc
push 4
pop edi
add eax, edi
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x42ccce
mov esi, 0x46959c
mov dword [ebp - 0x10], esi
jmp 0x42ccd6
mov dword [ebp - 0x10], eax
mov esi, 0x46959c
lea eax, [ebp - 1]
push 1
push eax
push 0x485fc8
lea ecx, [ebp - 0x2d0]
call fcn.00402dbc
add eax, edi
mov dword [ebp - 0x20], esi
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x42ccfb
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x190]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0040e53a
add eax, edi
mov dword [ebp - 8], esi
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x42cd23
mov dword [ebp - 8], eax
lea eax, [ebp - 0x118]
lea ecx, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040e53a
add eax, edi
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x42cd44
mov eax, esi
push dword [ebp - 0x10]
push dword [ebp - 0x20]
push dword [ebp - 8]
push eax
lea eax, [ebp - 0x260]
push str._s__q__s___tempdisk1folder__s___s
push eax
call fcn.004206cd
add esp, 0x18
lea ecx, [ebp - 0x60]
call fcn.004020a2
lea ecx, [ebp - 0x88]
call fcn.004020a2
lea ecx, [ebp - 0x2d0]
call fcn.004020a2
lea ecx, [ebp - 0x234]
call fcn.004020a2
cmp byte [0x483528], bl
jne 0x42cd9b
cmp byte [0x4869c8], bl
je 0x42ce08
lea eax, [ebp + 0x13]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupSetup.cpp
lea ecx, [ebp - 0x60]
call fcn.00401a6d
mov eax, str.Relaunching_setup_from_temp
mov dword [ebp - 0x88], 0x46953c
mov ecx, eax
mov dword [ebp - 0x68], 0x469534
test ecx, ecx
jne 0x42cdcf
mov eax, 0x483918
lea ecx, [ebp - 1]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x88]
call fcn.004010c6
lea eax, [ebp - 0x60]
push 0x187
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004596c0
lea ecx, [ebp - 0x88]
call fcn.00401306
lea ecx, [ebp - 0x60]
call fcn.00401306
push 1
lea ecx, [ebp - 0x260]
call fcn.0040316b
push eax
call fcn.00430775
test eax, eax
lea ecx, [ebp - 0x260]
je 0x42ceb1
call fcn.004020a2
lea ecx, [ebp - 0x140]
call fcn.004020a2
lea ecx, [ebp - 0xc8]
call fcn.004020a2
lea ecx, [ebp - 0x1b8]
call fcn.004020a2
lea ecx, [ebp - 0x30]
call fcn.00401d59
lea ecx, [ebp - 0x1e0]
call fcn.004020a2
lea ecx, [ebp - 0x118]
call fcn.004020a2
lea ecx, [ebp - 0x190]
call fcn.004020a2
lea ecx, [ebp - 0x20c]
call fcn.0040a866
lea ecx, [ebp - 0xf0]
call fcn.004020a2
lea ecx, [ebp - 0x168]
call fcn.00401306
lea ecx, [ebp - 0xa0]
call fcn.0042d097
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
jmp 0x42d04b
call fcn.004020a2
lea ecx, [ebp - 0x140]
call fcn.004020a2
lea ecx, [ebp - 0xc8]
call fcn.004020a2
lea ecx, [ebp - 0x1b8]
call fcn.004020a2
lea ecx, [ebp - 0x30]
call fcn.00401d59
lea ecx, [ebp - 0x1e0]
call fcn.004020a2
lea ecx, [ebp - 0x118]
call fcn.004020a2
lea ecx, [ebp - 0x190]
call fcn.004020a2
mov edi, 0x483918
call fcn.0042fe7e
lea ecx, [ebp - 0x1f0]
mov dword [0x4863d0], ebx
mov dword [0x4863cc], ebx
call fcn.00411aab
cmp byte [ebp - 0xa], bl
je 0x42cf2e
lea eax, [ebp - 0x168]
jmp 0x42cf63
lea eax, [ebp + 0x13]
push ebx
push eax
push edi
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x118], 0x46953c
mov dword [ebp - 0xf8], 0x469534
call fcn.004010c6
mov dword [ebp - 0x8c], 1
lea eax, [ebp - 0x118]
sub esp, 0x28
mov dword [ebp - 0x14], esp
mov ecx, esp
push ebx
push eax
mov dword [ecx], 0x46953c
mov dword [ecx + 0x20], 0x469534
call fcn.0040f6c9
push dword [ebp - 0x24]
lea ecx, [ebp - 0x1f0]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp + 8]
call fcn.00411af0
test byte [ebp - 0x8c], 1
je 0x42cfaa
lea ecx, [ebp - 0x118]
call fcn.00401306
lea ecx, [ebp - 0x1f0]
call fcn.00411d0e
lea eax, [ebp + 0x13]
push 1
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetupSetup.cpp
lea ecx, [ebp - 0x234]
call fcn.00401a6d
add eax, 4
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x42cfda
mov eax, 0x469558
push dword [0x4863c8]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1d0
push str.Setup_returning__d
push eax
call fcn.004086b0
add esp, 0xc
lea ecx, [ebp - 0x234]
call fcn.00401306
mov esi, dword [0x4863c8]
lea ecx, [ebp - 0x1f0]
call fcn.00411adb
lea ecx, [ebp - 0x20c]
call fcn.0040a866
lea ecx, [ebp - 0xf0]
call fcn.004020a2
lea ecx, [ebp - 0x168]
call fcn.00401306
lea ecx, [ebp - 0xa0]
call fcn.0042d097
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 0x10