Function at 0x43abee
Capabilities:
Accept command line arguments
Check os version
Contain obfuscated stackstrings
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46ebcd
mov eax, dword fs:[0]
push eax
mov eax, 0x1004
call fcn.00443590
mov eax, dword [0x49d850]
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, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
xor ebx, ebx
push esi
lea ecx, [ebp - 0xfc0]
mov dword [ebp - 0xf9c], eax
mov dword [ebp - 0xf90], ebx
call fcn.004116de
and dword [ebp - 4], ebx
push 1
push 1
push ebx
push str.runfromtemp
lea ecx, [ebp - 0xfc0]
call fcn.00412125
and dword [ebp - 0xf98], ebx
mov byte [ebp - 0xf94], al
lea eax, [ebp - 0xf98]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor edi, edi
cmp dword [ebp - 0xf98], 1
mov ecx, eax
push 0x2f
mov dword [ebp - 0xfa0], ecx
mov dword [ebp - 0xfc4], edi
mov dword [ebp - 0xf8c], 0x2d
pop edx
jbe 0x43accf
movzx eax, word [esi]
cmp ax, word [ebp - 0xf8c]
je 0x43acaf
cmp ax, dx
jne 0x43accf
movzx eax, word [esi + 2]
push 0x71
pop edx
cmp ax, dx
je 0x43acc3
push 0x51
pop edx
cmp ax, dx
jne 0x43accf
mov edi, dword [ecx + 4]
add edi, 4
mov dword [ebp - 0xfc4], edi
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0xb94]
mov dword [ebp - 0xb94], 0x47c4e4
mov dword [ebp - 0xb6c], 0x477350
call fcn.00402580
mov byte [ebp - 4], 2
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0xb94]
call fcn.00411934
mov byte [ebp - 4], 3
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push 0
push 0
push eax
push str.runprerequisites
lea ecx, [ebp - 0xfc0]
call fcn.00412125
mov byte [ebp - 0xf6e], al
mov byte [ebp - 4], 2
cmp byte [ebp - 0xf78], 0
je 0x43ad58
mov ecx, dword [ebp - 0xf7c]
push dword [ecx + 0x24]
call fcn.00403640
mov al, byte [ebp - 0xf6e]
mov byte [ebp - 0xf6f], 1
test al, al
je 0x43ad7f
push 1
push 0
push 0
push 0x4779fc
lea ecx, [ebp - 0xfc0]
call fcn.00412125
mov byte [ebp - 0xf6f], al
test edi, edi
je 0x43ad97
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x43ad97
cmp byte [ebp - 0xf6f], 0
jne 0x43adb6
cmp byte [ebp - 0xf94], 0
jne 0x43adab
push esi
call fcn.00416d1d
pop ecx
test al, al
je 0x43adb6
lea ecx, [ebp - 0xf6d]
call fcn.004390ca
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov byte [ebp - 4], 5
call fcn.00457624
cmp eax, 6
jb 0x43add1
call fcn.004398ed
mov eax, dword [ebp - 0xf9c]
push eax
lea ecx, [ebp - 0xf6c]
mov dword [0x4a4d98], eax
call fcn.004390f3
mov byte [ebp - 4], 6
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0x9e0]
mov dword [ebp - 0x9e0], 0x47c4e4
mov dword [ebp - 0x9b8], 0x477350
call fcn.00402580
mov byte [ebp - 4], 8
push 0x104
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.0040f868
mov byte [ebp - 4], 9
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push 0x104
push dword [eax]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf80], esp
push 1
lea eax, [ebp - 0xf6d]
push eax
push 0x483e18
call fcn.0040c6e1
mov byte [ebp - 4], 0xa
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf8c], esp
push 1
lea eax, [ebp - 0x9e0]
push eax
call fcn.004339a6
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf6c]
call fcn.00439be0
push 0x800
lea eax, [ebp - 0xf6c]
push 0
push 0x4a4da0
mov dword [0x4a4d9c], eax
call fcn.004416e0
and dword [0x4a55c4], 0
add esp, 0xc
lea eax, [ebp - 0xf6d]
push 0
push eax
lea ecx, [ebp - 0x950]
mov dword [ebp - 0x950], 0x47c4e4
mov dword [ebp - 0x928], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x950]
call fcn.00411934
mov byte [ebp - 4], 0xe
mov byte [eax + 4], 1
mov ecx, dword [eax]
call fcn.004035c0
push 1
push 0
push eax
push str.debuglog
lea ecx, [ebp - 0xfc0]
call fcn.00412125
mov byte [ebp - 0xf70], al
mov byte [ebp - 4], 0xd
cmp byte [ebp - 0xf78], 0
je 0x43af59
mov ecx, dword [ebp - 0xf7c]
push dword [ecx + 0x24]
call fcn.00403640
mov al, byte [ebp - 0xf70]
test al, al
je 0x43afe3
call fcn.00402400
push 0
call fcn.004024f0
cmp dword [ebp - 0x93c], 0
lea eax, [ebp - 0x860]
push eax
je 0x43afbf
lea ecx, [ebp - 0x950]
call fcn.0043a9de
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x860]
call fcn.00401580
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf80], esp
push 1
lea eax, [ebp - 0x950]
push eax
call fcn.004036a0
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0xd
call fcn.00402410
jmp 0x43afe3
call fcn.00402500
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x950]
call fcn.00402520
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x860]
call fcn.00401580
push 1
lea eax, [ebp - 0xf6d]
push eax
push esi
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0x14
add eax, 4
cmp dword [eax + 0x14], 8
jb 0x43b007
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xf84]
push str.InstallShield_setup.exe__Unicode__started__cmdline:__s
push eax
mov dword [ebp - 0xf84], str.Setup.cpp
mov dword [ebp - 0xf80], 0xc1
call fcn.00411965
add esp, 0xc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x860]
call fcn.00401580
xor eax, eax
push eax
push eax
push eax
push str.reboot
lea ecx, [ebp - 0xfc0]
call fcn.00412125
test al, al
je 0x43b1e4
cmp byte [0x49f228], 0
jne 0x43b06e
cmp byte [0x4a6880], 0
je 0x43b0de
push 1
lea eax, [ebp - 0xf6d]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0xa10]
call fcn.004025e0
mov byte [ebp - 4], 0x16
push 1
lea eax, [ebp - 0xf6d]
push eax
push str.Running_after_reboot
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0x17
push 0xca
lea eax, [ebp - 0xa10]
push eax
lea eax, [ebp - 0x860]
push eax
call fcn.004023a0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xa10]
call fcn.00401580
lea eax, [ebp - 0x860]
push eax
call fcn.004197a7
pop ecx
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0xad4]
call fcn.00419150
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x860]
call fcn.00401580
lea ecx, [ebp - 0xad4]
call fcn.00419d72
test eax, eax
jne 0x43b16a
mov esi, dword [0x4a55c4]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xad4]
call fcn.00419382
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43cc90
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf80], esp
push 1
lea eax, [ebp - 0xf6d]
push eax
push esi
call fcn.004025e0
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xad4]
call fcn.0041a494
mov esi, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xad4]
call fcn.00419382
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43cc90
cmp byte [ebp - 0xf94], 0
je 0x43b20a
xor eax, eax
push eax
push eax
push eax
push 0x47cfcc
lea ecx, [ebp - 0xfc0]
call fcn.00412125
test al, al
je 0x43b3aa
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0xb64]
mov dword [ebp - 0xb64], 0x47c4e4
mov dword [ebp - 0xb3c], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0xb64]
call fcn.00411934
mov byte [ebp - 4], 0x27
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.004035c0
push 1
push 0
push eax
push str.removeasmajorupgrade
lea ecx, [ebp - 0xfc0]
call fcn.00412125
mov byte [ebp - 0xf6d], al
mov byte [ebp - 4], 0x26
cmp byte [ebp - 0xf78], 0
je 0x43b293
mov ecx, dword [ebp - 0xf7c]
push dword [ecx + 0x24]
call fcn.00403640
mov al, byte [ebp - 0xf6d]
test al, al
je 0x43b39b
cmp byte [0x49f228], 0
jne 0x43b2ad
cmp byte [0x4a6880], 0
je 0x43b31d
push 1
lea eax, [ebp - 0xf6d]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0xa10]
call fcn.004025e0
mov byte [ebp - 4], 0x29
push 1
lea eax, [ebp - 0xf6d]
push eax
push 0x47cfd0
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0x2a
push 0xd9
lea eax, [ebp - 0xa10]
push eax
lea eax, [ebp - 0x860]
push eax
call fcn.004023a0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xa10]
call fcn.00401580
push dword [ebp - 0xf94]
lea eax, [ebp - 0xb64]
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf80], esp
push 1
push eax
call fcn.004036a0
push 0x2d
pop eax
mov byte [ebp - 4], al
mov byte [ebp - 4], 0x26
call fcn.0043955f
add esp, 0x34
mov esi, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb64]
call fcn.00401580
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43cc90
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb64]
call fcn.00401580
cmp dword [ebp - 0xf98], 1
mov dword [ebp - 0xf8c], 0x6b
jbe 0x43b690
movzx eax, word [esi]
push 0x2d
pop edx
push 0x2f
pop ecx
cmp ax, dx
je 0x43b3d8
cmp ax, cx
jne 0x43b49e
cmp word [esi + 2], 0x25
jne 0x43b49e
add esi, 4
mov ax, word [esi]
lea esi, [esi + 2]
cmp ax, cx
jne 0x43b3e6
xor eax, eax
mov word [esi - 4], ax
cmp dword [0x4a4d20], 8
lea eax, [esi - 2]
push eax
mov ecx, 0x4a4d0c
cmovae ecx, dword [0x4a4d0c]
push ecx
lea eax, [ebp - 0x830]
push str._s__s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x830]
push 1
push eax
call fcn.004404cd
lea ecx, [ebp - 0xf7c]
call fcn.0040c8a0
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0xf9c]
push eax
lea ecx, [ebp - 0xf7c]
call fcn.0040cc53
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xf7c]
call fcn.0040c9be
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ca96
cmp ax, dx
je 0x43b4a8
cmp ax, cx
jne 0x43b4c5
movzx ecx, word [esi + 2]
cmp cx, word [ebp - 0xf8c]
je 0x43b60a
cmp ecx, 0x4b
je 0x43b60a
push 0x2f
pop ecx
cmp ax, dx
je 0x43b4d3
cmp ax, cx
jne 0x43b690
movzx eax, word [esi + 2]
push 0x67
pop edx
cmp ax, dx
je 0x43b4e8
cmp eax, 0x47
jne 0x43b690
lea edi, [esi + 4]
mov ax, word [edi]
lea edi, [edi + 2]
cmp ax, cx
jne 0x43b4eb
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.004416e0
add esp, 0xc
lea eax, [edi + 4]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
movzx ecx, word [ebp + eax*2 - 0x21c]
push 0x2d
pop edx
xor ebx, ebx
cmp cx, dx
je 0x43b54c
push 0x2f
pop edx
cmp cx, dx
jne 0x43b57d
movzx ecx, word [ebp + eax*2 - 0x21a]
cmp ecx, 0x73
je 0x43b55e
cmp ecx, 0x53
jne 0x43b57d
xor ebx, ebx
lea eax, [eax*2 - 4]
inc ebx
cmp eax, 0x208
jae 0x43b605
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
xor eax, eax
push 0x206
push eax
mov word [edi - 4], ax
mov word [ebp - 0x628], ax
lea eax, [ebp - 0x626]
push eax
call fcn.004416e0
add esp, 0xc
lea eax, [esi + 6]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push ebx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.0043f5c7
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43cc90
call fcn.00443fa9
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
add esi, 4
call fcn.004416e0
mov eax, dword [ebp - 0xfa0]
push esi
push dword [eax]
lea eax, [ebp - 0x420]
push 0x477378
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea eax, [ebp - 0x420]
push 1
push eax
call fcn.004403b0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ca96
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0x8f0]
mov dword [ebp - 0x8f0], 0x47c4e4
mov dword [ebp - 0x8c8], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x3e
push 1
lea ecx, [ebp - 0xff0]
call fcn.00439029
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0xf84]
push eax
lea ecx, [ebp - 0xff0]
call fcn.0043954f
mov eax, dword [eax]
push 0
push 0
add eax, 0x10
push eax
push str.tempdisk1folder
lea ecx, [ebp - 0xfc0]
call fcn.00412125
test al, al
je 0x43b72e
lea ecx, [ebp - 0xff0]
call fcn.0043ab2e
cmp dword [ebp - 0xfe0], 0
mov eax, 0x483e18
mov ecx, eax
cmovne ecx, dword [ebp - 0xfe0]
test ecx, ecx
cmovne eax, ecx
push eax
lea ecx, [ebp - 0x8ec]
call fcn.00405070
cmp dword [ebp - 0x8dc], 0
jne 0x43b87a
mov ebx, 0x104
push ebx
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0040f868
mov byte [ebp - 4], 0x40
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push dword [eax]
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
call fcn.0045cc94
test al, al
je 0x43b799
lea eax, [ebp - 0xa10]
push eax
call fcn.00456eb9
pop ecx
mov byte [ebp - 4], 0x41
xor ebx, ebx
inc ebx
jmp 0x43b7fc
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf80], esp
push 1
lea eax, [ebp - 0xf6d]
push eax
mov ebx, 0x483e18
push ebx
call fcn.0040c6e1
mov dword [ebp - 4], 0x42
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf8c], esp
push 1
lea eax, [ebp - 0xf6d]
push eax
push ebx
call fcn.0040c6e1
mov byte [ebp - 4], 0x43
push 0
lea eax, [ebp - 0x860]
push eax
mov byte [ebp - 4], 0x41
call fcn.004572fa
add esp, 0x68
mov dword [ebp - 4], 0x44
push 2
pop ebx
push eax
lea ecx, [ebp - 0x8f0]
mov dword [ebp - 0xf90], ebx
call fcn.0040ca5e
mov dword [ebp - 4], 0x41
test bl, 2
je 0x43b835
and ebx, 0xfffffffd
mov dword [ebp - 0xf90], ebx
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x860]
call fcn.00401580
mov dword [ebp - 4], 0x3f
test bl, 1
je 0x43b859
and ebx, 0xfffffffe
mov dword [ebp - 0xf90], ebx
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xa10]
call fcn.00401580
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0040ffa2
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x860]
call fcn.00401580
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.004152de
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x8d8], 8
lea eax, [ebp - 0x8ec]
cmovae eax, dword [ebp - 0x8ec]
push eax
push 0x4a4da0
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0xf80], esp
push 1
lea eax, [ebp - 0x8f0]
push eax
call fcn.004339a6
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x3f
mov ecx, dword [0x4a4d9c]
call fcn.0043a156
test edi, edi
je 0x43b903
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x43b903
cmp byte [ebp - 0xf6f], 0
jne 0x43c856
cmp byte [ebp - 0xf94], 0
jne 0x43b91b
push esi
call fcn.00416d1d
pop ecx
test al, al
je 0x43c856
mov esi, dword [ebp - 0xfa0]
push 1
lea eax, [ebp - 0xf6d]
push eax
push dword [esi]
lea ecx, [ebp - 0x860]
call fcn.0040c6e1
mov byte [ebp - 4], 0x4a
push 0
lea ecx, [ebp - 0xbc4]
push ecx
mov ecx, eax
call fcn.0040fe9e
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x860]
call fcn.00401580
push 0
lea eax, [ebp - 0xa10]
push eax
lea ecx, [ebp - 0xbc4]
call fcn.0040fe9e
mov byte [ebp - 4], 0x4e
push 1
lea eax, [ebp - 0xf6d]
push eax
push dword [esi]
lea ecx, [ebp - 0x860]
call fcn.0040c6e1
mov byte [ebp - 4], 0x4f
push 0
push 0
lea ecx, [ebp - 0x980]
push ecx
mov ecx, eax
call fcn.0040fa52
push 0x51
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x96c], 0
je 0x43b9cb
lea ecx, [ebp - 0x980]
call fcn.0043a776
test al, al
jne 0x43ba7e
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0x890]
mov dword [ebp - 0x890], 0x47c4e4
mov dword [ebp - 0x868], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x54
mov esi, 0x104
push esi
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040f868
mov byte [ebp - 4], 0x55
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push esi
push dword [eax]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
push 0
push 0
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040fa52
mov byte [ebp - 4], 0x56
push eax
lea ecx, [ebp - 0x980]
call fcn.0040ca5e
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x860]
call fcn.00401580
push 0x51
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x890]
call fcn.00401580
lea ecx, [ebp - 0xfac]
call fcn.0040c8a0
mov byte [ebp - 4], 0x59
lea eax, [ebp - 0xbc4]
push eax
lea eax, [ebp - 0x920]
push eax
lea ecx, [ebp - 0x980]
call fcn.0041047d
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0xa10]
push eax
lea eax, [ebp - 0x8c0]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0041047d
mov byte [ebp - 4], 0x5b
cmp dword [ebp - 0x8a8], 8
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x8bc]
cmovae ecx, dword [ebp - 0x8bc]
cmp dword [ebp - 0x908], 8
push 0
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
push 0x104
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f868
mov byte [ebp - 4], 0x5c
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push dword [eax]
lea ecx, [ebp - 0xfac]
call fcn.0040e4cb
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
push 1
lea eax, [ebp - 0xf6d]
push eax
push dword [0x49d7a4]
lea ecx, [ebp - 0x860]
call fcn.0040c6e1
mov byte [ebp - 4], 0x5d
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x980]
call fcn.0041047d
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0x920]
call fcn.0040ca5e
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x860]
call fcn.00401580
push 1
lea eax, [ebp - 0xf6d]
push eax
push dword [0x49d7a4]
lea ecx, [ebp - 0x860]
call fcn.0040c6e1
mov byte [ebp - 4], 0x61
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0041047d
mov byte [ebp - 4], 0x62
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040ca5e
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x8a8], 8
lea ecx, [ebp - 0x8bc]
cmovae ecx, dword [ebp - 0x8bc]
cmp dword [ebp - 0x908], 8
push 0
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
push 0x104
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f868
mov byte [ebp - 4], 0x65
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push dword [eax]
lea ecx, [ebp - 0xfac]
call fcn.0040e4cb
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
push 1
lea eax, [ebp - 0xf6d]
push eax
push str.ISSetup.dll
lea ecx, [ebp - 0x860]
call fcn.0040c5cb
mov byte [ebp - 4], 0x66
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x980]
call fcn.0041047d
push 0x67
pop ecx
mov byte [ebp - 4], cl
push eax
lea ecx, [ebp - 0x920]
call fcn.0040ca5e
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x860]
call fcn.00401580
push 1
lea eax, [ebp - 0xf6d]
push eax
push 0x4775d0
lea ecx, [ebp - 0x860]
call fcn.0040c6e1
mov byte [ebp - 4], 0x6a
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0041047d
push 0x6b
pop ecx
mov byte [ebp - 4], cl
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040ca5e
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x8a8], 8
lea ecx, [ebp - 0x8bc]
cmovae ecx, dword [ebp - 0x8bc]
cmp dword [ebp - 0x908], 8
push 0
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
push 0x104
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f868
mov byte [ebp - 4], 0x6e
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push dword [eax]
lea ecx, [ebp - 0xfac]
call fcn.0040e4cb
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0xa70]
mov dword [ebp - 0xa70], 0x47c4e4
mov dword [ebp - 0xa48], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x70
push 0x104
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0xa70]
call fcn.0040f868
push 0x71
pop ecx
mov byte [ebp - 4], cl
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push 0x104
push dword [eax]
push str.Skin
push str.Startup
call fcn.0043ea62
add esp, 0x10
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
cmp dword [ebp - 0xa5c], 0
jne 0x43be48
push str.setup.isn
lea ecx, [ebp - 0xa6c]
call fcn.00405070
lea eax, [ebp - 0xa70]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x980]
call fcn.0041047d
mov byte [ebp - 4], 0x72
push eax
lea ecx, [ebp - 0x920]
call fcn.0040ca5e
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x860]
call fcn.00401580
lea eax, [ebp - 0xa70]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0041047d
mov byte [ebp - 4], 0x74
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040ca5e
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x8a8], 8
lea ecx, [ebp - 0x8bc]
cmovae ecx, dword [ebp - 0x8bc]
cmp dword [ebp - 0x908], 8
push 0
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
test eax, eax
je 0x43bf2c
push 0x104
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f868
mov byte [ebp - 4], 0x76
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push dword [eax]
lea ecx, [ebp - 0xfac]
call fcn.0040e4cb
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xf7c]
call fcn.0040c9c5
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0xb34]
mov dword [ebp - 0xb34], 0x47c4e4
mov dword [ebp - 0xb0c], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x78
push 0x400
lea eax, [ebp - 0xf88]
push eax
lea ecx, [ebp - 0xb34]
call fcn.00402910
mov byte [ebp - 4], 0x79
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.004035c0
push 0x400
push dword [eax]
push str.Supported
push str.Languages
call fcn.0043ea62
add esp, 0x10
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0xf88]
call fcn.00403460
xor ecx, ecx
mov dword [ebp - 0xf7c], ecx
mov dword [ebp - 0xf78], ecx
mov dword [ebp - 0xf74], ecx
mov byte [ebp - 4], 0x7a
push 1
lea eax, [ebp - 0xf7c]
push eax
push ecx
push 0x2c
lea ecx, [ebp - 0xb34]
call fcn.0041f31a
mov eax, dword [ebp - 0xf78]
mov ecx, dword [ebp - 0xf7c]
sub eax, ecx
cdq
mov dword [ebp - 0xfc8], 0x30
idiv dword [ebp - 0xfc8]
mov dword [ebp - 0xf8c], eax
test eax, eax
je 0x43c1f3
lea edi, [ecx + 4]
cmp dword [edi + 0x14], 8
jb 0x43c00f
mov eax, dword [edi]
jmp 0x43c011
mov eax, edi
push 0x10
push 0
push eax
call fcn.00443adf
movzx eax, ax
add esp, 0xc
cmp dword [edi + 0x14], 8
mov dword [ebp - 0xf80], eax
jb 0x43c031
mov ecx, dword [edi]
jmp 0x43c033
mov ecx, edi
cmp dword [ebp - 0x968], 8
push ecx
lea eax, [ebp - 0x97c]
cmovae eax, dword [ebp - 0x97c]
push eax
lea eax, [ebp - 0x920]
push str._s_s.ini
push eax
call fcn.0041803a
add esp, 0x10
cmp dword [edi + 0x14], 8
jb 0x43c067
mov ecx, dword [edi]
jmp 0x43c069
mov ecx, edi
cmp dword [ebp - 0x8d8], 8
push ecx
lea eax, [ebp - 0x8ec]
cmovae eax, dword [ebp - 0x8ec]
push eax
lea eax, [ebp - 0x8c0]
push str._s_s.ini
push eax
call fcn.0041803a
add esp, 0x10
cmp dword [ebp - 0x8a8], 8
lea ecx, [ebp - 0x8bc]
cmovae ecx, dword [ebp - 0x8bc]
cmp dword [ebp - 0x908], 8
push 0
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
test eax, eax
je 0x43c107
push 0x104
lea eax, [ebp - 0x100c]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f868
mov byte [ebp - 4], 0x7b
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push dword [eax]
lea ecx, [ebp - 0xfac]
call fcn.0040e4cb
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x100c]
call fcn.0040c9c5
mov ecx, dword [ebp - 0xf80]
cmp dword [ebp - 0x968], 8
movzx esi, cx
lea eax, [ebp - 0x97c]
cmovae eax, dword [ebp - 0x97c]
push esi
push eax
lea eax, [ebp - 0x920]
push str._s_.04ld.mst
push eax
call fcn.0041803a
cmp dword [ebp - 0x8d8], 8
lea eax, [ebp - 0x8ec]
cmovae eax, dword [ebp - 0x8ec]
push esi
push eax
lea eax, [ebp - 0x8c0]
push str._s_.04ld.mst
push eax
call fcn.0041803a
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
add esp, 0x20
cmp dword [ebp - 0x8a8], 8
lea ecx, [ebp - 0x8bc]
cmovae ecx, dword [ebp - 0x8bc]
cmp dword [ebp - 0x908], 8
push 0
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
test eax, eax
je 0x43c1db
push 0x104
lea eax, [ebp - 0xfd4]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f868
mov byte [ebp - 4], 0x7c
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push dword [eax]
lea ecx, [ebp - 0xfac]
call fcn.0040e4cb
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0xfd4]
call fcn.0040c9c5
add edi, dword [ebp - 0xfc8]
dec dword [ebp - 0xf8c]
jne 0x43c005
mov edi, dword [ebp - 0xfc4]
push 0
lea eax, [ebp - 0xf6d]
mov esi, 0x47c4e4
push eax
lea ecx, [ebp - 0xa40]
mov dword [ebp - 0xa40], esi
mov dword [ebp - 0xa18], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x7e
lea eax, [ebp - 0xf88]
push eax
lea ecx, [ebp - 0xa40]
call fcn.00411934
mov byte [ebp - 4], 0x7f
mov ecx, dword [eax]
push 1
push 0
mov byte [eax + 4], 1
call fcn.0040f80d
push eax
push 0x47ceb4
lea ecx, [ebp - 0xfc0]
call fcn.00412125
mov byte [ebp - 4], 0x7e
cmp byte [ebp - 0xf84], 0
je 0x43c271
mov ecx, dword [ebp - 0xf88]
push dword [ecx + 0x24]
call fcn.00403640
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0xa40]
call fcn.004152de
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0xa2c], 0
jne 0x43c2d3
lea eax, [ebp - 0xbc4]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x980]
call fcn.0041047d
mov byte [ebp - 4], 0x82
push eax
lea ecx, [ebp - 0xa40]
call fcn.0040ca5e
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x860]
call fcn.00401580
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0xaa0]
mov dword [ebp - 0xaa0], esi
mov dword [ebp - 0xa78], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x85
lea eax, [ebp - 0xf88]
push eax
lea ecx, [ebp - 0xaa0]
call fcn.00411934
mov byte [ebp - 4], 0x86
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push eax
lea ecx, [ebp - 0xfc0]
call fcn.00413cbc
mov byte [ebp - 4], 0x85
cmp byte [ebp - 0xf84], 0
je 0x43c343
mov ecx, dword [ebp - 0xf88]
push dword [ecx + 0x24]
call fcn.00403640
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0x9b0]
mov dword [ebp - 0x9b0], esi
mov dword [ebp - 0x988], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x89
push 1
lea eax, [ebp - 0xf6d]
push eax
push 0x4a4da0
lea ecx, [ebp - 0x890]
call fcn.0040c6e1
mov esi, eax
mov byte [ebp - 4], 0x8a
lea eax, [ebp - 0xa10]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0041047d
mov byte [ebp - 4], 0x8b
cmp dword [ebp - 0xa88], 8
lea edx, [ebp - 0xa9c]
cmovae edx, dword [ebp - 0xa9c]
add esi, 4
cmp dword [esi + 0x14], 8
jb 0x43c3c6
mov esi, dword [esi]
cmp dword [ebp - 0xa28], 8
lea ecx, [ebp - 0xa3c]
cmovae ecx, dword [ebp - 0xa3c]
add eax, 4
cmp dword [eax + 0x14], 8
jb 0x43c3e5
mov eax, dword [eax]
push edx
push esi
push ecx
push eax
lea eax, [ebp - 0x9b0]
push str._s__q__s___tempdisk1folder__s___s
push eax
call fcn.0041803a
add esp, 0x18
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x890]
call fcn.00401580
cmp byte [ebp - 0xf6e], 0
je 0x43c43d
mov esi, str.__eprq
push esi
call fcn.00442644
pop ecx
push eax
push esi
lea ecx, [ebp - 0x9ac]
call fcn.00417f62
cmp byte [ebp - 0xf94], 0
jne 0x43c45f
mov esi, str.__IS_temp
push esi
call fcn.00442644
pop ecx
push eax
push esi
lea ecx, [ebp - 0x9ac]
call fcn.00417f62
cmp byte [ebp - 0xf70], 0
je 0x43c506
push 1
lea eax, [ebp - 0xf6d]
push eax
push str.__debuglog
lea ecx, [ebp - 0x860]
call fcn.0040c6e1
mov byte [ebp - 4], 0x8e
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x950]
call fcn.00414ea6
mov byte [ebp - 4], 0x8f
push 0
push 0
lea eax, [ebp - 0xad0]
push eax
lea ecx, [ebp - 0x890]
call fcn.0041d825
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0xad0]
call fcn.00401580
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x860]
call fcn.004104eb
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x9b0]
call fcn.004104eb
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x860]
call fcn.00401580
push 0
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0xb04]
mov dword [ebp - 0xb04], 0x47c4e4
mov dword [ebp - 0xadc], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0x94
mov esi, 0x104
push esi
lea eax, [ebp - 0xfd4]
push eax
lea ecx, [ebp - 0xb04]
call fcn.0040f868
mov byte [ebp - 4], 0x95
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.0040f80d
push esi
push dword [eax]
push str.WaitInstallation
push str.StartUp
call fcn.0043ea62
add esp, 0x10
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0xfd4]
call fcn.0040c9c5
push 0x477e8c
lea ecx, [ebp - 0xb00]
call fcn.00438978
neg eax
sbb al, al
inc al
cmp byte [0x49f228], 0
mov dword [ebp - 0xf80], eax
jne 0x43c5ab
cmp byte [0x4a6880], 0
je 0x43c61b
push 1
lea eax, [ebp - 0xf6d]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0x890]
call fcn.004025e0
mov byte [ebp - 4], 0x96
push 1
lea eax, [ebp - 0xf6d]
push eax
push str.Relaunching_setup_from_temp
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0x97
push 0x1bd
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x860]
push eax
call fcn.004023a0
mov byte [ebp - 4], 0x96
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x890]
call fcn.00401580
push 1
push 1
push 0
push str.clone_wait
lea ecx, [ebp - 0xfc0]
call fcn.00412125
mov ecx, dword [ebp - 0xf80]
or cl, al
cmp byte [ebp - 0xf6e], 0
jne 0x43cb58
test cl, cl
jne 0x43cb58
cmp dword [ebp - 0x998], 8
lea eax, [ebp - 0x9ac]
cmovae eax, dword [ebp - 0x9ac]
push 1
push eax
call fcn.004403b0
test eax, eax
je 0x43c791
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0xb04]
call fcn.00401580
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x9b0]
call fcn.00401580
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0xaa0]
call fcn.00401580
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0xa40]
call fcn.00401580
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0xf7c]
call fcn.0042bc69
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xb34]
call fcn.00401580
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xa70]
call fcn.00401580
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x920]
call fcn.00401580
push 0x51
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0xfac]
call fcn.0040c9be
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x980]
call fcn.00401580
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xbc4]
call fcn.00401580
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xff0]
call fcn.004159e7
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43ca96
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0xb04]
call fcn.00401580
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x9b0]
call fcn.00401580
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0xaa0]
call fcn.00401580
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0xa40]
call fcn.00401580
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0xf7c]
call fcn.0042bc69
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xb34]
call fcn.00401580
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xa70]
call fcn.00401580
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x920]
call fcn.00401580
push 0x51
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0xfac]
call fcn.0040c9be
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x980]
call fcn.00401580
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xbc4]
call fcn.00401580
call fcn.004401f0
lea ecx, [ebp - 0x1000]
call fcn.0041c50a
mov byte [ebp - 4], 0xc3
cmp byte [ebp - 0xf70], 0
je 0x43c8ae
push 0
lea eax, [ebp - 0x950]
push eax
lea ecx, [ebp - 0x890]
mov dword [ebp - 0x890], 0x47c4e4
mov dword [ebp - 0x868], 0x477350
call fcn.004036a0
mov byte [ebp - 4], 0xc3
lea eax, [ebp - 0x890]
mov byte [ebp - 4], 0xc5
or ebx, 4
jmp 0x43c8d1
push 1
lea eax, [ebp - 0xf6d]
push eax
push 0x483e18
lea ecx, [ebp - 0xad0]
call fcn.004025e0
mov dword [ebp - 4], 0xc6
or ebx, 8
lea ecx, [ebp - 0xf6c]
push ecx
sub esp, 0x30
mov dword [ebp - 0xf90], ebx
mov ecx, esp
mov dword [ebp - 0xf80], esp
push 1
push eax
call fcn.004036a0
mov dword [ebp - 4], 0xc7
mov eax, dword [ebp - 0xfa0]
push edi
push eax
push dword [ebp - 0xf98]
mov eax, dword [ebp - 0xf9c]
push eax
mov byte [ebp - 4], 0xc6
lea ecx, [ebp - 0x1000]
call fcn.0041cdbd
mov esi, eax
mov eax, 0xc5
mov dword [ebp - 4], eax
test bl, 8
je 0x43c942
and ebx, 0xfffffff7
mov dword [ebp - 0xf90], ebx
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xad0]
call fcn.00401580
mov dword [ebp - 4], 0xc3
test bl, 4
je 0x43c966
and ebx, 0xfffffffb
mov dword [ebp - 0xf90], ebx
mov byte [ebp - 4], 0xc3
lea ecx, [ebp - 0x890]
call fcn.00401580
test esi, esi
je 0x43cabb
xor ebx, ebx
push ebx
lea eax, [ebp - 0xf6d]
push eax
lea ecx, [ebp - 0x890]
mov dword [ebp - 0x890], 0x47c4e4
mov dword [ebp - 0x868], 0x477350
call fcn.00402580
mov byte [ebp - 4], 0xcb
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0x890]
call fcn.00411934
mov byte [ebp - 4], 0xcc
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.004035c0
push ebx
push ebx
push eax
push str.runprerequisites
lea ecx, [ebp - 0xfc0]
call fcn.00412125
mov bl, al
mov byte [ebp - 4], 0xcb
cmp byte [ebp - 0xf78], 0
je 0x43c9ec
mov ecx, dword [ebp - 0xf7c]
push dword [ecx + 0x24]
call fcn.00403640
test bl, bl
je 0x43caa1
lea ecx, [ebp - 0xf88]
call fcn.0040c8a0
mov byte [ebp - 4], 0xce
push dword [0x4a4d98]
lea ecx, [ebp - 0xf88]
call fcn.0040cc53
mov byte [ebp - 4], 0xcb
lea ecx, [ebp - 0xf88]
call fcn.0040c9be
mov byte [ebp - 4], 0xc3
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x1000]
call fcn.0041c556
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xff0]
call fcn.004159e7
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 0
xor esi, esi
jmp 0x43cc94
lea ecx, [ebp - 0x1000]
call fcn.0041cdb1
mov byte [ebp - 4], 0xc3
lea ecx, [ebp - 0x890]
call fcn.00401580
push dword [0x4a55c4]
lea eax, [ebp - 0xf84]
push str.Setup_returning__d
push eax
mov dword [ebp - 0xf84], str.Setup.cpp
mov dword [ebp - 0xf80], 0x1f1
call fcn.00411965
mov esi, dword [0x4a55c4]
add esp, 0xc
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x1000]
call fcn.0041c556
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xff0]
call fcn.004159e7
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x43cc90
cmp dword [ebp - 0x998], 8
lea eax, [ebp - 0x9ac]
cmovae eax, dword [ebp - 0x9ac]
push 1
push eax
call fcn.004404cd
mov esi, eax
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0xb04]
call fcn.00401580
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x9b0]
call fcn.00401580
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0xaa0]
call fcn.00401580
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0xa40]
call fcn.00401580
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0xf7c]
call fcn.0042bc69
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0xb34]
call fcn.00401580
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xa70]
call fcn.00401580
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x920]
call fcn.00401580
push 0x51
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0xfac]
call fcn.0040c9be
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x980]
call fcn.00401580
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xbc4]
call fcn.00401580
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xff0]
call fcn.004159e7
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x9e0]
call fcn.00401580
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf6c]
call fcn.00439356
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb94]
call fcn.00401580
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc0]
call fcn.004117b1
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.004416c3
leave
ret 0x10