Function at 0x43b59e
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 0x47022b
mov eax, dword fs:[0]
push eax
mov eax, 0x1138
call fcn.004445a0
mov eax, dword [0x49e850]
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]
mov dword [ebp - 0x10cc], eax
xor eax, eax
mov ebx, eax
push esi
lea ecx, [ebp - 0x10e8]
mov dword [ebp - 0x10a0], ebx
call fcn.0041165a
xor eax, eax
mov dword [ebp - 4], eax
xor ecx, ecx
inc ecx
push ecx
push ecx
push eax
push str.runfromtemp
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
and dword [ebp - 0x10c8], ebx
mov byte [ebp - 0x10c0], al
lea eax, [ebp - 0x10c8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, eax
xor eax, eax
xor edx, edx
inc eax
mov edi, edx
mov dword [ebp - 0x10d4], ecx
mov dword [ebp - 0x1104], edi
mov dword [ebp - 0x10d0], 0x71
mov dword [ebp - 0x10b4], 0x51
mov dword [ebp - 0x1108], 0x2d
mov dword [ebp - 0x10c4], 0x2f
cmp dword [ebp - 0x10c8], eax
jbe 0x43b6a9
movzx eax, word [esi]
cmp ax, word [ebp - 0x1108]
je 0x43b687
cmp ax, word [ebp - 0x10c4]
jne 0x43b6a9
movzx eax, word [esi + 2]
cmp ax, word [ebp - 0x10d0]
je 0x43b69d
cmp ax, word [ebp - 0x10b4]
jne 0x43b6a9
mov edi, dword [ecx + 4]
add edi, 4
mov dword [ebp - 0x1104], edi
push edx
lea eax, [ebp - 0x109a]
push eax
lea ecx, [ebp - 0xbf4]
mov dword [ebp - 0xbf4], 0x477ab0
mov dword [ebp - 0xbcc], 0x478490
call fcn.00402580
mov byte [ebp - 4], 2
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0xbf4]
call fcn.0042e15d
mov byte [ebp - 4], 3
mov ecx, dword [eax]
xor edx, edx
inc edx
mov byte [eax + 4], dl
call fcn.0040f579
xor ecx, ecx
push ecx
push ecx
push eax
push str.runprerequisites
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov byte [ebp - 0x10ad], al
mov byte [ebp - 4], 2
cmp byte [ebp - 0x10a8], 0
je 0x43b733
mov ecx, dword [ebp - 0x10ac]
push dword [ecx + 0x24]
call fcn.004044b0
mov al, byte [ebp - 0x10ad]
xor ecx, ecx
inc ecx
mov byte [ebp - 0x109c], cl
test al, al
je 0x43b75b
push ecx
xor eax, eax
push eax
push eax
push 0x478b4c
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov byte [ebp - 0x109c], al
push 0
lea eax, [ebp - 0x109a]
push eax
lea ecx, [ebp - 0xa70]
mov dword [ebp - 0xa70], 0x477ab0
mov dword [ebp - 0xa48], 0x478490
call fcn.00402580
mov byte [ebp - 4], 6
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0xa70]
call fcn.0042e15d
mov byte [ebp - 4], 7
mov ecx, dword [eax]
xor edx, edx
inc edx
mov byte [eax + 4], dl
call fcn.0040f579
xor ecx, ecx
push ecx
push ecx
push eax
push str.reboot
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov byte [ebp - 0x109a], al
mov byte [ebp - 4], 6
cmp byte [ebp - 0x10a8], 0
je 0x43b7e0
mov ecx, dword [ebp - 0x10ac]
push dword [ecx + 0x24]
call fcn.004044b0
test edi, edi
je 0x43b7f8
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x43b7f8
cmp byte [ebp - 0x109c], 0
jne 0x43b820
cmp byte [ebp - 0x109a], 0
jne 0x43b820
cmp byte [ebp - 0x10c0], 0
jne 0x43b815
push esi
call fcn.00416d2e
pop ecx
test al, al
je 0x43b820
lea ecx, [ebp - 0x109b]
call fcn.00439c97
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov byte [ebp - 4], 9
call fcn.0045866f
cmp eax, 6
jb 0x43b83b
call fcn.0043a51c
mov eax, dword [ebp - 0x10cc]
push eax
lea ecx, [ebp - 0x1098]
mov dword [0x4a5ff8], eax
call fcn.00439cc0
mov byte [ebp - 4], 0xa
push 0
lea eax, [ebp - 0x109b]
push eax
lea ecx, [ebp - 0xa10]
mov dword [ebp - 0xa10], 0x477ab0
mov dword [ebp - 0x9e8], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0xc
push 0x104
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0xa10]
call fcn.0040f5d4
mov byte [ebp - 4], 0xd
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push 0x104
push dword [eax]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
sub esp, 0x30
xor eax, eax
mov ecx, esp
mov dword [ebp - 0x10b4], esp
inc eax
push eax
lea eax, [ebp - 0x109b]
push eax
push 0x485198
call fcn.0040ca90
mov byte [ebp - 4], 0xe
sub esp, 0x30
xor eax, eax
inc eax
mov ecx, esp
mov dword [ebp - 0x10d0], esp
push eax
lea eax, [ebp - 0xa10]
push eax
call fcn.004346ea
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1098]
call fcn.0043a80f
push 0x800
lea eax, [ebp - 0x1098]
push 0
push 0x4a6000
mov dword [0x4a5ffc], eax
call fcn.00442700
add esp, 0xc
xor eax, eax
push eax
mov dword [0x4a6824], eax
lea eax, [ebp - 0x109b]
push eax
lea ecx, [ebp - 0x950]
mov dword [ebp - 0x950], 0x477ab0
mov dword [ebp - 0x928], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x950]
call fcn.0042e15d
mov byte [ebp - 4], 0x12
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.004035c0
xor ecx, ecx
inc ecx
push ecx
push 0
push eax
push str.debuglog
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov byte [ebp - 0x109b], al
mov byte [ebp - 4], 0x11
cmp byte [ebp - 0x10a8], 0
je 0x43b9cc
mov ecx, dword [ebp - 0x10ac]
push dword [ecx + 0x24]
call fcn.004044b0
mov al, byte [ebp - 0x109b]
test al, al
je 0x43ba58
call fcn.00402400
push 0
call fcn.004024f0
cmp dword [ebp - 0x93c], 0
lea eax, [ebp - 0x860]
push eax
je 0x43ba34
lea ecx, [ebp - 0x950]
call fcn.0043b38e
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x860]
call fcn.00401580
sub esp, 0x30
xor eax, eax
inc eax
mov ecx, esp
mov dword [ebp - 0x10b4], esp
push eax
lea eax, [ebp - 0x950]
push eax
call fcn.00403640
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 0x11
call fcn.00402410
jmp 0x43ba58
call fcn.00402500
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x950]
call fcn.00402520
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x860]
call fcn.00401580
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push esi
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0x18
add eax, 4
cmp dword [eax + 0x14], 8
jb 0x43ba7e
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x10b8]
push str.InstallShield_setup.exe__Unicode__started__cmdline:__s
push eax
mov dword [ebp - 0x10b8], str.Setup.cpp
mov dword [ebp - 0x10b4], 0xc3
call fcn.0041183c
add esp, 0xc
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp byte [ebp - 0x109a], 0
je 0x43bd93
cmp byte [0x4a0228], 0
jne 0x43bad5
cmp byte [0x4a7ae0], 0
je 0x43bb46
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0x1099]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0xa40]
call fcn.004025e0
mov byte [ebp - 4], 0x1a
push ebx
lea eax, [ebp - 0x1099]
push eax
push str.Running_after_reboot
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0x1b
push 0xcb
lea eax, [ebp - 0xa40]
push eax
lea eax, [ebp - 0x860]
push eax
call fcn.004023a0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xa40]
call fcn.00401580
xor ebx, ebx
mov edi, ebx
cmp dword [ebp - 0xa5c], ebx
je 0x43bc34
lea eax, [ebp - 0x860]
push eax
call fcn.00419936
pop ecx
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0xb64]
call fcn.004192f7
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x860]
call fcn.00401580
lea ecx, [ebp - 0xb64]
call fcn.00419fb7
test eax, eax
jne 0x43bbf4
mov esi, dword [0x4a6824]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xb64]
call fcn.00419507
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
mov byte [ebp - 4], bl
jmp 0x43dd22
sub esp, 0x30
xor eax, eax
mov ecx, esp
mov dword [ebp - 0x10b4], esp
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push esi
call fcn.004025e0
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xb64]
call fcn.0041a6d9
mov edi, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xb64]
call fcn.00419507
push ebx
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8c0], 0x477ab0
mov dword [ebp - 0x898], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0042e15d
mov byte [ebp - 4], 0x29
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push ebx
push ebx
push eax
push str.cleanuptempfolder
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov bl, al
mov byte [ebp - 4], 0x28
cmp byte [ebp - 0x10a8], 0
je 0x43bcb2
mov ecx, dword [ebp - 0x10ac]
push dword [ecx + 0x24]
call fcn.004044b0
test bl, bl
je 0x43bd32
cmp dword [ebp - 0x8a8], 8
lea eax, [ebp - 0x8bc]
cmovae eax, dword [ebp - 0x8bc]
push eax
mov ebx, 0x4a6000
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x10ac]
call fcn.0040cc42
mov byte [ebp - 4], 0x2b
push dword [0x4a5ff8]
lea ecx, [ebp - 0x10ac]
call fcn.0040cfbe
sub esp, 0x30
xor eax, eax
mov ecx, esp
mov dword [ebp - 0x10b4], esp
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push ebx
call fcn.0040ca90
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x2b
call fcn.0045a01b
add esp, 0x30
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x10ac]
call fcn.0040cd33
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
xor eax, eax
mov byte [ebp - 4], al
mov esi, edi
jmp 0x43dd22
cmp byte [ebp - 0x10c0], 0
je 0x43bdb9
xor eax, eax
push eax
push eax
push eax
push 0x47e368
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
test al, al
je 0x43bf70
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0xc24]
mov dword [ebp - 0xc24], 0x477ab0
mov dword [ebp - 0xbfc], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0xc24]
call fcn.0042e15d
mov byte [ebp - 4], 0x34
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.004035c0
xor ecx, ecx
inc ecx
push ecx
push 0
push eax
push str.removeasmajorupgrade
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov byte [ebp - 0x109a], al
mov byte [ebp - 4], 0x33
cmp byte [ebp - 0x10a8], 0
je 0x43be47
mov ecx, dword [ebp - 0x10ac]
push dword [ecx + 0x24]
call fcn.004044b0
mov al, byte [ebp - 0x109a]
test al, al
je 0x43bf61
cmp byte [0x4a0228], 0
jne 0x43be61
cmp byte [0x4a7ae0], 0
je 0x43bed4
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0x1099]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0xa40]
call fcn.004025e0
mov byte [ebp - 4], 0x36
push ebx
lea eax, [ebp - 0x1099]
push eax
push str.Running_as_remove_major_upgrade
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0x37
push 0xea
lea eax, [ebp - 0xa40]
push eax
lea eax, [ebp - 0x860]
push eax
call fcn.004023a0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0xa40]
call fcn.00401580
jmp 0x43bed7
xor ebx, ebx
inc ebx
push dword [ebp - 0x10c0]
lea eax, [ebp - 0xc24]
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0x10b4], esp
push ebx
push eax
call fcn.00403640
mov byte [ebp - 4], 0x3a
mov byte [ebp - 4], 0x33
call fcn.0043a18e
add esp, 0x34
mov esi, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xc24]
call fcn.00401580
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
jmp 0x43dd1d
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xc24]
call fcn.00401580
xor eax, eax
inc eax
cmp dword [ebp - 0x10c8], eax
jbe 0x43c286
movzx eax, word [esi]
push 0x2d
pop edx
push 0x2f
pop ecx
cmp ax, dx
je 0x43bf96
cmp ax, cx
jne 0x43c06d
cmp word [esi + 2], 0x25
jne 0x43c06d
add esi, 4
mov ax, word [esi]
lea esi, [esi + 2]
cmp ax, cx
jne 0x43bfa4
xor eax, eax
mov word [esi - 4], ax
cmp dword [0x4a5f80], 8
lea eax, [esi - 2]
push eax
mov ecx, 0x4a5f6c
cmovae ecx, dword [0x4a5f6c]
push ecx
lea eax, [ebp - 0x830]
push str._s__s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
add esp, 0x10
inc eax
push eax
lea eax, [ebp - 0x830]
push eax
call fcn.004414ed
lea ecx, [ebp - 0x10ac]
call fcn.0040cc42
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x10cc]
push eax
lea ecx, [ebp - 0x10ac]
call fcn.0040cfbe
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x10ac]
call fcn.0040cd33
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
jmp 0x43dadd
cmp ax, dx
je 0x43c077
cmp ax, cx
jne 0x43c090
movzx ecx, word [esi + 2]
cmp ecx, 0x6b
je 0x43c1e8
cmp ecx, 0x4b
je 0x43c1e8
push 0x2f
pop ecx
cmp ax, dx
je 0x43c09e
cmp ax, cx
jne 0x43c286
movzx eax, word [esi + 2]
push 0x67
pop edx
cmp ax, dx
je 0x43c0b3
cmp eax, 0x47
jne 0x43c286
lea edi, [esi + 4]
mov ax, word [edi]
lea edi, [edi + 2]
cmp ax, cx
jne 0x43c0b6
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.00442700
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]
xor edx, edx
mov ebx, edx
cmp cx, word [ebp - 0x1108]
je 0x43c11b
cmp cx, word [ebp - 0x10c4]
jne 0x43c14c
movzx ecx, word [ebp + eax*2 - 0x21a]
cmp ecx, 0x73
je 0x43c12d
cmp ecx, 0x53
jne 0x43c14c
xor ecx, ecx
lea eax, [eax*2 - 4]
lea ebx, [ecx + 1]
cmp eax, 0x208
jae 0x43c1e3
mov word [ebp + eax - 0x218], cx
xor eax, eax
push 0x206
mov word [edi - 4], ax
mov word [ebp - 0x628], ax
push edx
lea eax, [ebp - 0x626]
push eax
call fcn.00442700
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.004405e7
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
jmp 0x43dd1d
call fcn.004450f9
xor eax, eax
push 0x206
mov word [ebp - 0x420], ax
xor ebx, ebx
lea eax, [ebp - 0x41e]
push ebx
push eax
add esi, 4
call fcn.00442700
mov eax, dword [ebp - 0x10d4]
push esi
push dword [eax]
lea eax, [ebp - 0x420]
push 0x4784c8
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
add esp, 0x1c
inc eax
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.004413d0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
mov byte [ebp - 4], bl
mov esi, ebx
jmp 0x43dd22
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0x8f0]
mov dword [ebp - 0x8f0], 0x477ab0
mov dword [ebp - 0x8c8], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0x4f
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x1134]
call fcn.00439bf6
mov byte [ebp - 4], 0x50
lea eax, [ebp - 0x10b8]
push eax
lea ecx, [ebp - 0x1134]
call fcn.0043a17e
mov eax, dword [eax]
push 0x10
pop ecx
add eax, ecx
xor ecx, ecx
push ecx
push ecx
push eax
push str.tempdisk1folder
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
test al, al
je 0x43c329
lea ecx, [ebp - 0x1134]
call fcn.0043b4de
cmp dword [ebp - 0x1124], 0
mov eax, 0x485198
mov ecx, eax
cmovne ecx, dword [ebp - 0x1124]
test ecx, ecx
cmovne eax, ecx
push eax
lea ecx, [ebp - 0x8ec]
call fcn.00405190
cmp dword [ebp - 0x8dc], 0
jne 0x43c47d
push 0x104
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0040f5d4
push 0x51
pop ecx
mov byte [ebp - 4], cl
mov ecx, dword [eax]
xor ebx, ebx
inc ebx
mov byte [eax + 4], bl
call fcn.0040f579
push dword [eax]
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
call fcn.0045dcc3
test al, al
je 0x43c398
lea eax, [ebp - 0xa40]
push eax
call fcn.00457f04
pop ecx
mov byte [ebp - 4], 0x52
jmp 0x43c3fd
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0x10b4], esp
push ebx
lea eax, [ebp - 0x1099]
push eax
push 0x485198
call fcn.0040ca90
mov dword [ebp - 4], 0x53
sub esp, 0x30
mov ecx, esp
mov dword [ebp - 0x10d0], esp
push ebx
lea eax, [ebp - 0x1099]
push eax
push 0x485198
call fcn.0040ca90
mov byte [ebp - 4], 0x54
xor eax, eax
push eax
lea eax, [ebp - 0x860]
push eax
mov byte [ebp - 4], 0x52
call fcn.00458345
add esp, 0x68
mov dword [ebp - 4], 0x55
push 2
pop ebx
push eax
lea ecx, [ebp - 0x8f0]
mov dword [ebp - 0x10a0], ebx
call fcn.0040cdaa
mov dword [ebp - 4], 0x52
test bl, 2
je 0x43c436
and ebx, 0xfffffffd
mov dword [ebp - 0x10a0], ebx
mov dword [ebp - 4], 0x52
lea ecx, [ebp - 0x860]
call fcn.00401580
mov dword [ebp - 4], 0x50
xor eax, eax
inc eax
test al, bl
je 0x43c45c
and ebx, 0xfffffffe
mov dword [ebp - 0x10a0], ebx
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0xa40]
call fcn.00401580
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0040fd0e
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x860]
call fcn.00401580
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.0041532a
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x8d8], 8
lea eax, [ebp - 0x8ec]
cmovae eax, dword [ebp - 0x8ec]
push eax
push 0x4a6000
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
sub esp, 0x30
xor eax, eax
inc eax
mov ecx, esp
mov dword [ebp - 0x10b4], esp
push eax
lea eax, [ebp - 0x8f0]
push eax
call fcn.004346ea
mov byte [ebp - 4], 0x5a
mov byte [ebp - 4], 0x50
mov ecx, dword [0x4a5ffc]
call fcn.0043ad85
test edi, edi
je 0x43c508
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x43c508
cmp byte [ebp - 0x109c], 0
jne 0x43d885
cmp byte [ebp - 0x10c0], 0
jne 0x43c520
push esi
call fcn.00416d2e
pop ecx
test al, al
je 0x43d885
mov esi, dword [ebp - 0x10d4]
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push dword [esi]
lea ecx, [ebp - 0x860]
call fcn.0040ca90
mov byte [ebp - 4], 0x5b
push 0
lea ecx, [ebp - 0xb30]
push ecx
mov ecx, eax
call fcn.0040fc0a
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0xb1c], 0
je 0x43c594
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0xb30]
call fcn.0040fad2
mov byte [ebp - 4], 0x5f
or ebx, 4
mov dword [ebp - 0x10a0], ebx
cmp dword [eax + 0x14], 0
jne 0x43c594
xor eax, eax
inc eax
jmp 0x43c596
xor eax, eax
mov byte [ebp - 0x109a], al
mov dword [ebp - 4], 0x5d
test bl, 4
je 0x43c5c0
and ebx, 0xfffffffb
mov dword [ebp - 0x10a0], ebx
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp byte [ebp - 0x109a], 0
je 0x43c5e2
mov edi, str..exe
push edi
call fcn.00416f8b
pop ecx
push eax
push edi
lea ecx, [ebp - 0xb2c]
call fcn.00410926
xor eax, eax
push eax
lea eax, [ebp - 0xa40]
push eax
lea ecx, [ebp - 0xb30]
call fcn.0040fc0a
mov byte [ebp - 4], 0x61
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push dword [esi]
lea ecx, [ebp - 0x860]
call fcn.0040ca90
mov byte [ebp - 4], 0x62
xor ecx, ecx
push ecx
push ecx
lea ecx, [ebp - 0x980]
push ecx
mov ecx, eax
call fcn.0040f7be
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x96c], 0
je 0x43c654
lea ecx, [ebp - 0x980]
call fcn.0043b126
test al, al
jne 0x43c70f
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0x8c0]
mov dword [ebp - 0x8c0], 0x477ab0
mov dword [ebp - 0x898], 0x478490
call fcn.00402580
push 0x67
pop eax
mov byte [ebp - 4], al
mov esi, 0x104
push esi
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f5d4
mov byte [ebp - 4], 0x68
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push esi
push dword [eax]
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x67
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
xor eax, eax
push eax
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0040f7be
mov byte [ebp - 4], 0x69
push eax
lea ecx, [ebp - 0x980]
call fcn.0040cdaa
push 0x67
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x8c0]
call fcn.00401580
lea ecx, [ebp - 0x10f4]
call fcn.0040cc42
mov byte [ebp - 4], 0x6c
lea eax, [ebp - 0xb30]
push eax
lea eax, [ebp - 0x920]
push eax
lea ecx, [ebp - 0x980]
call fcn.00417192
mov byte [ebp - 4], 0x6d
lea eax, [ebp - 0xa40]
push eax
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.00417192
mov byte [ebp - 4], 0x6e
cmp dword [ebp - 0x878], 8
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x88c]
cmovae ecx, dword [ebp - 0x88c]
cmp dword [ebp - 0x908], 8
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
xor edi, edi
push edi
push ecx
push eax
call esi
push 0x104
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040f5d4
mov byte [ebp - 4], 0x6f
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push dword [eax]
lea ecx, [ebp - 0x10f4]
call fcn.0040e780
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push dword [0x49e7a4]
lea ecx, [ebp - 0x860]
call fcn.0040ca90
mov byte [ebp - 4], 0x70
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x8c0]
push eax
lea ecx, [ebp - 0x980]
call fcn.00417192
push 0x71
pop ecx
mov byte [ebp - 4], cl
push eax
lea ecx, [ebp - 0x920]
call fcn.0040cdaa
mov byte [ebp - 4], 0x70
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x860]
call fcn.00401580
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push dword [0x49e7a4]
lea ecx, [ebp - 0x860]
call fcn.0040ca90
mov byte [ebp - 4], 0x74
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x8c0]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.00417192
mov byte [ebp - 4], 0x75
push eax
lea ecx, [ebp - 0x890]
call fcn.0040cdaa
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x878], 8
lea ecx, [ebp - 0x88c]
cmovae ecx, dword [ebp - 0x88c]
cmp dword [ebp - 0x908], 8
push edi
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
push 0x104
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040f5d4
mov byte [ebp - 4], 0x78
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push dword [eax]
lea ecx, [ebp - 0x10f4]
call fcn.0040e780
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push str.ISSetup.dll
lea ecx, [ebp - 0x860]
call fcn.0040c97a
mov byte [ebp - 4], 0x79
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x8c0]
push eax
lea ecx, [ebp - 0x980]
call fcn.00417192
mov byte [ebp - 4], 0x7a
push eax
lea ecx, [ebp - 0x920]
call fcn.0040cdaa
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x860]
call fcn.00401580
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push 0x478720
lea ecx, [ebp - 0x860]
call fcn.0040ca90
mov byte [ebp - 4], 0x7d
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x8c0]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.00417192
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [ebp - 0x890]
call fcn.0040cdaa
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x8c0]
call fcn.00401580
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x878], 8
lea ecx, [ebp - 0x88c]
cmovae ecx, dword [ebp - 0x88c]
cmp dword [ebp - 0x908], 8
push edi
lea eax, [ebp - 0x91c]
cmovae eax, dword [ebp - 0x91c]
push ecx
push eax
call esi
mov edi, 0x104
push edi
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040f5d4
mov byte [ebp - 4], 0x81
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push dword [eax]
lea ecx, [ebp - 0x10f4]
call fcn.0040e780
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0xad0]
mov dword [ebp - 0xad0], 0x477ab0
mov dword [ebp - 0xaa8], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0x83
push edi
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0xad0]
call fcn.0040f5d4
mov byte [ebp - 4], 0x84
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push edi
push dword [eax]
push str.Skin
push str.Startup
call fcn.0043fa82
add esp, 0x10
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
cmp dword [ebp - 0xabc], 0
jne 0x43cade
push str.setup.isn
lea ecx, [ebp - 0xacc]
call fcn.00405190
lea eax, [ebp - 0xad0]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x980]
call fcn.00417192
mov byte [ebp - 4], 0x85
push eax
lea ecx, [ebp - 0x920]
call fcn.0040cdaa
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x860]
call fcn.00401580
lea eax, [ebp - 0xad0]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.00417192
mov byte [ebp - 4], 0x87
push eax
lea ecx, [ebp - 0x890]
call fcn.0040cdaa
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0x878], 8
lea ecx, [ebp - 0x88c]
cmovae ecx, dword [ebp - 0x88c]
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 0x43cbc0
push edi
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040f5d4
mov byte [ebp - 4], 0x89
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push dword [eax]
lea ecx, [ebp - 0x10f4]
call fcn.0040e780
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x10ac]
call fcn.0040cd3a
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0xb94]
mov dword [ebp - 0xb94], 0x477ab0
mov dword [ebp - 0xb6c], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0x8b
mov edi, 0x400
push edi
lea eax, [ebp - 0x10bc]
push eax
lea ecx, [ebp - 0xb94]
call fcn.00402910
mov byte [ebp - 4], 0x8c
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.004035c0
push edi
push dword [eax]
push str.Supported
push str.Languages
call fcn.0043fa82
add esp, 0x10
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x10bc]
call fcn.00403460
xor ecx, ecx
mov dword [ebp - 0x10ac], ecx
mov dword [ebp - 0x10a8], ecx
mov dword [ebp - 0x10a4], ecx
mov byte [ebp - 4], 0x8d
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x10ac]
push eax
push ecx
push 0x2c
lea ecx, [ebp - 0xb94]
call fcn.0041fd0d
mov eax, dword [ebp - 0x10a8]
mov edi, dword [ebp - 0x10ac]
sub eax, edi
push 0x30
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x10c4], eax
test eax, eax
je 0x43ce7c
xor ebx, ebx
add edi, 4
inc ebx
cmp dword [edi + 0x14], 8
jb 0x43cc9d
mov eax, dword [edi]
jmp 0x43cc9f
mov eax, edi
push 0x10
push 0
push eax
call fcn.00444be3
movzx eax, ax
add esp, 0xc
cmp dword [edi + 0x14], 8
mov dword [ebp - 0x10b4], eax
jb 0x43ccbf
mov ecx, dword [edi]
jmp 0x43ccc1
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.00418008
add esp, 0x10
cmp dword [edi + 0x14], 8
jb 0x43ccf5
mov ecx, dword [edi]
jmp 0x43ccf7
mov ecx, edi
cmp dword [ebp - 0x8d8], 8
push ecx
lea eax, [ebp - 0x8ec]
cmovae eax, dword [ebp - 0x8ec]
push eax
lea eax, [ebp - 0x890]
push str._s_s.ini
push eax
call fcn.00418008
add esp, 0x10
cmp dword [ebp - 0x878], 8
lea ecx, [ebp - 0x88c]
cmovae ecx, dword [ebp - 0x88c]
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 0x43cd94
push 0x104
lea eax, [ebp - 0x1140]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040f5d4
mov byte [ebp - 4], 0x8e
mov ecx, dword [eax]
mov byte [eax + 4], bl
call fcn.0040f579
push dword [eax]
lea ecx, [ebp - 0x10f4]
call fcn.0040e780
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0x1140]
call fcn.0040cd3a
mov ecx, dword [ebp - 0x10b4]
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.00418008
cmp dword [ebp - 0x8d8], 8
lea eax, [ebp - 0x8ec]
cmovae eax, dword [ebp - 0x8ec]
push esi
push eax
lea eax, [ebp - 0x890]
push str._s_.04ld.mst
push eax
call fcn.00418008
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
add esp, 0x20
cmp dword [ebp - 0x878], 8
lea ecx, [ebp - 0x88c]
cmovae ecx, dword [ebp - 0x88c]
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 0x43ce67
push 0x104
lea eax, [ebp - 0x1100]
push eax
lea ecx, [ebp - 0x890]
call fcn.0040f5d4
mov byte [ebp - 4], 0x8f
mov ecx, dword [eax]
mov byte [eax + 4], bl
call fcn.0040f579
push dword [eax]
lea ecx, [ebp - 0x10f4]
call fcn.0040e780
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0x1100]
call fcn.0040cd3a
add edi, 0x30
dec dword [ebp - 0x10c4]
jne 0x43cc93
mov ebx, dword [ebp - 0x10a0]
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
mov esi, 0x477ab0
mov edi, 0x478490
push eax
lea ecx, [ebp - 0xaa0]
mov dword [ebp - 0xaa0], esi
mov dword [ebp - 0xa78], edi
call fcn.00402580
mov byte [ebp - 4], 0x91
lea eax, [ebp - 0x10bc]
push eax
lea ecx, [ebp - 0xaa0]
call fcn.0042e15d
mov byte [ebp - 4], 0x92
xor ecx, ecx
inc ecx
push ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
push 0
call fcn.0040f579
push eax
push 0x47e22c
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov byte [ebp - 4], 0x91
cmp byte [ebp - 0x10b8], 0
je 0x43cefd
mov ecx, dword [ebp - 0x10bc]
push dword [ecx + 0x24]
call fcn.004044b0
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0xaa0]
call fcn.0041532a
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x860]
call fcn.00401580
cmp dword [ebp - 0xa8c], 0
jne 0x43cf5f
lea eax, [ebp - 0xb30]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x980]
call fcn.00417192
mov byte [ebp - 4], 0x95
push eax
lea ecx, [ebp - 0xaa0]
call fcn.0040cdaa
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x860]
call fcn.00401580
xor eax, eax
inc eax
push eax
push eax
xor eax, eax
push eax
push str.skip_clone_wait
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov byte [ebp - 0x109c], al
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0xb00]
mov dword [ebp - 0xb00], esi
mov dword [ebp - 0xad8], edi
call fcn.00402580
mov byte [ebp - 4], 0x98
lea eax, [ebp - 0x10bc]
push eax
lea ecx, [ebp - 0xb00]
call fcn.0042e15d
mov byte [ebp - 4], 0x99
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push eax
lea ecx, [ebp - 0x10e8]
call fcn.00413cf4
mov byte [ebp - 4], 0x98
cmp byte [ebp - 0x10b8], 0
je 0x43cfec
mov ecx, dword [ebp - 0x10bc]
push dword [ecx + 0x24]
call fcn.004044b0
xor eax, eax
push eax
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0x9b0]
mov dword [ebp - 0x9b0], esi
mov dword [ebp - 0x988], edi
call fcn.00402580
mov byte [ebp - 4], 0x9c
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push 0x4a6000
lea ecx, [ebp - 0x8c0]
call fcn.0040ca90
mov esi, eax
mov byte [ebp - 4], 0x9d
lea eax, [ebp - 0xa40]
push eax
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.00417192
mov byte [ebp - 4], 0x9e
push 8
pop edi
cmp dword [ebp - 0xae8], edi
lea edx, [ebp - 0xafc]
cmovae edx, dword [ebp - 0xafc]
add esi, 4
cmp dword [esi + 0x14], edi
jb 0x43d06f
mov esi, dword [esi]
cmp dword [ebp - 0xa88], edi
lea ecx, [ebp - 0xa9c]
cmovae ecx, dword [ebp - 0xa9c]
add eax, 4
cmp dword [eax + 0x14], edi
jb 0x43d08c
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.00418008
add esp, 0x18
mov byte [ebp - 4], 0x9d
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0x8c0]
call fcn.00401580
cmp byte [ebp - 0x10ad], 0
je 0x43d0e4
mov esi, str.__eprq
push esi
call fcn.00416f8b
pop ecx
push eax
push esi
lea ecx, [ebp - 0x9ac]
call fcn.00410926
cmp byte [ebp - 0x10c0], 0
jne 0x43d106
mov esi, str.__IS_temp
push esi
call fcn.00416f8b
pop ecx
push eax
push esi
lea ecx, [ebp - 0x9ac]
call fcn.00410926
cmp byte [ebp - 0x109b], 0
je 0x43d1af
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push str.__debuglog
lea ecx, [ebp - 0x8c0]
call fcn.0040ca90
mov byte [ebp - 4], 0xa1
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x950]
call fcn.00414ef2
mov byte [ebp - 4], 0xa2
xor eax, eax
push eax
push eax
lea eax, [ebp - 0xb60]
push eax
lea ecx, [ebp - 0x860]
call fcn.0041e1e2
mov byte [ebp - 4], 0xa2
lea ecx, [ebp - 0xb60]
call fcn.00401580
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.00410807
lea eax, [ebp - 0x8c0]
push eax
lea ecx, [ebp - 0x9b0]
call fcn.00410807
mov byte [ebp - 4], 0xa1
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0x8c0]
call fcn.00401580
xor eax, eax
push eax
mov byte [ebp - 0x10c4], al
mov byte [ebp - 0x10c0], al
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0xbc4]
mov dword [ebp - 0xbc4], 0x477ab0
mov dword [ebp - 0xb9c], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0xa7
lea eax, [ebp - 0x10bc]
push eax
lea ecx, [ebp - 0xbc4]
call fcn.0042e15d
mov byte [ebp - 4], 0xa8
xor ecx, ecx
inc ecx
or ebx, edi
mov dword [ebp - 0x10a0], ebx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.004035c0
xor ecx, ecx
push ecx
push ecx
push eax
push 0x47aefc
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
test al, al
je 0x43d23a
cmp dword [ebp - 0xa2c], 0
jne 0x43d23a
xor eax, eax
inc eax
jmp 0x43d23c
xor eax, eax
mov byte [ebp - 0x109a], al
mov dword [ebp - 4], 0xa7
test bl, 8
je 0x43d272
and ebx, 0xfffffff7
mov dword [ebp - 0x10a0], ebx
mov byte [ebp - 4], 0xa7
cmp byte [ebp - 0x10b8], 0
je 0x43d272
mov ecx, dword [ebp - 0x10bc]
push dword [ecx + 0x24]
call fcn.004044b0
xor ecx, ecx
cmp byte [ebp - 0x109a], cl
movzx eax, cl
push 1
pop edx
cmovne eax, edx
mov edi, ecx
mov esi, edx
test al, al
jne 0x43d59b
push ecx
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0x9e0]
mov dword [ebp - 0x9e0], 0x477ab0
mov dword [ebp - 0x9b8], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0xab
push 0x104
lea eax, [ebp - 0x1100]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.0040f5d4
mov byte [ebp - 4], 0xac
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push 0x104
push dword [eax]
push str.WaitInstallation
push str.StartUp
call fcn.0043fa82
add esp, 0x10
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x1100]
call fcn.0040cd3a
push 0x478ff8
lea ecx, [ebp - 0x9dc]
call fcn.004395e6
neg eax
sbb al, al
inc al
push 0x104
lea ecx, [ebp - 0x9e0]
mov dword [ebp - 0x10c4], eax
lea eax, [ebp - 0x1100]
push eax
call fcn.0040f5d4
mov byte [ebp - 4], 0xad
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push 0x104
push dword [eax]
push str.CustomRetCode
push str.StartUp
call fcn.0043fa82
add esp, 0x10
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x1100]
call fcn.0040cd3a
push 0x478ff8
lea ecx, [ebp - 0x9dc]
call fcn.004395e6
neg eax
sbb al, al
inc al
mov dword [ebp - 0x10c0], eax
je 0x43d589
mov esi, 0x104
push esi
lea eax, [ebp - 0x1100]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.0040f5d4
mov byte [ebp - 4], 0xae
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push esi
push dword [eax]
push str.CustomRetCodeOnSuccess
push str.StartUp
call fcn.0043fa82
add esp, 0x10
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x1100]
call fcn.0040cd3a
cmp dword [ebp - 0x9cc], edi
jne 0x43d3f4
or edi, 0xffffffff
xor esi, esi
jmp 0x43d46c
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push 0x477db0
lea ecx, [ebp - 0xc54]
call fcn.0040ca90
mov byte [ebp - 4], 0xaf
push 0x10
pop edi
or ebx, edi
mov dword [ebp - 0x10a0], ebx
cmp dword [ebp - 0xc3c], 8
push dword [ebp - 0xc40]
lea eax, [ebp - 0xc50]
cmovae eax, dword [ebp - 0xc50]
xor esi, esi
push esi
push eax
lea ecx, [ebp - 0x9dc]
call fcn.0040f44d
neg eax
sbb al, al
push 0xa
inc al
pop eax
cmovne eax, edi
push eax
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.0041e48b
mov edi, dword [ebp - 0x10b4]
mov dword [ebp - 4], 0xab
test bl, 0x10
je 0x43d490
and ebx, 0xffffffef
mov dword [ebp - 0x10a0], ebx
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0xc54]
call fcn.00401580
push 0x104
lea eax, [ebp - 0x1100]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.0040f5d4
mov byte [ebp - 4], 0xb1
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.0040f579
push 0x104
push dword [eax]
push str.CustomRetCodeOnFail
push str.StartUp
call fcn.0043fa82
add esp, 0x10
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x1100]
call fcn.0040cd3a
cmp dword [ebp - 0x9cc], 0
jne 0x43d4ee
or esi, 0xffffffff
jmp 0x43d565
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push 0x477db0
lea ecx, [ebp - 0xc84]
call fcn.0040ca90
mov byte [ebp - 4], 0xb2
or ebx, 0x20
mov dword [ebp - 0x10a0], ebx
push dword [ebp - 0xc70]
cmp dword [ebp - 0xc6c], 8
lea eax, [ebp - 0xc80]
cmovae eax, dword [ebp - 0xc80]
push esi
push eax
lea ecx, [ebp - 0x9dc]
call fcn.0040f44d
neg eax
sbb al, al
push 0xa
inc al
pop eax
push 0x10
pop ecx
cmovne eax, ecx
push eax
lea eax, [ebp - 0x10b4]
push eax
lea ecx, [ebp - 0x9e0]
call fcn.0041e48b
mov esi, dword [ebp - 0x10b4]
mov dword [ebp - 4], 0xab
test bl, 0x20
je 0x43d589
and ebx, 0xffffffdf
mov dword [ebp - 0x10a0], ebx
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0xc84]
call fcn.00401580
mov byte [ebp - 4], 0xa7
lea ecx, [ebp - 0x9e0]
call fcn.00401580
xor edx, edx
inc edx
cmp byte [0x4a0228], 0
jne 0x43d5ad
cmp byte [0x4a7ae0], 0
je 0x43d61e
push edx
lea eax, [ebp - 0x1099]
push eax
push str.Setup.cpp
lea ecx, [ebp - 0x8c0]
call fcn.004025e0
mov byte [ebp - 4], 0xb5
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push str.Relaunching_setup_from_temp
lea ecx, [ebp - 0x860]
call fcn.004025e0
mov byte [ebp - 4], 0xb6
push 0x1fa
lea eax, [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x860]
push eax
call fcn.004023a0
mov byte [ebp - 4], 0xb5
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0xa7
lea ecx, [ebp - 0x8c0]
call fcn.00401580
xor eax, eax
inc eax
push eax
push eax
xor eax, eax
push eax
push str.clone_wait
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov ecx, dword [ebp - 0x10c4]
or cl, al
cmp byte [ebp - 0x10ad], 0
jne 0x43d64b
test cl, cl
je 0x43d658
cmp byte [ebp - 0x109c], 0
je 0x43dbbb
cmp dword [ebp - 0x998], 8
lea eax, [ebp - 0x9ac]
cmovae eax, dword [ebp - 0x9ac]
xor ecx, ecx
inc ecx
push ecx
push eax
call fcn.004413d0
test eax, eax
je 0x43d7bc
cmp byte [ebp - 0x10c0], 0
je 0x43d68c
cmp edi, 0xffffffff
jne 0x43d690
xor eax, eax
mov edi, eax
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0xbc4]
call fcn.00401580
mov byte [ebp - 4], 0x98
lea ecx, [ebp - 0x9b0]
call fcn.00401580
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xb00]
call fcn.00401580
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0xaa0]
call fcn.00401580
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x10ac]
call fcn.0042c6d8
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0xb94]
call fcn.00401580
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0xad0]
call fcn.00401580
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x920]
call fcn.00401580
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x10f4]
call fcn.0040cd33
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x980]
call fcn.00401580
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xa40]
call fcn.00401580
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0xb30]
call fcn.00401580
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x1134]
call fcn.004159c8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
jmp 0x43bd87
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0xbc4]
call fcn.00401580
mov byte [ebp - 4], 0x98
lea ecx, [ebp - 0x9b0]
call fcn.00401580
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xb00]
call fcn.00401580
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0xaa0]
call fcn.00401580
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x10ac]
call fcn.0042c6d8
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0xb94]
call fcn.00401580
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0xad0]
call fcn.00401580
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x920]
call fcn.00401580
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x10f4]
call fcn.0040cd33
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x980]
call fcn.00401580
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xa40]
call fcn.00401580
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0xb30]
call fcn.00401580
mov edi, dword [ebp - 0x1104]
call fcn.00441210
lea ecx, [ebp - 0x1118]
call fcn.0041cc1d
mov byte [ebp - 4], 0xe4
xor eax, eax
cmp byte [ebp - 0x109b], al
je 0x43d8dd
push eax
lea eax, [ebp - 0x950]
push eax
lea ecx, [ebp - 0x860]
mov dword [ebp - 0x860], 0x477ab0
mov dword [ebp - 0x838], 0x478490
call fcn.00403640
mov byte [ebp - 4], 0xe4
lea eax, [ebp - 0x860]
mov byte [ebp - 4], 0xe6
or ebx, 0x40
jmp 0x43d903
inc eax
push eax
lea eax, [ebp - 0x1099]
push eax
push 0x485198
lea ecx, [ebp - 0xb60]
call fcn.004025e0
mov dword [ebp - 4], 0xe7
or ebx, 0x80
lea ecx, [ebp - 0x1098]
push ecx
sub esp, 0x30
xor edx, edx
mov dword [ebp - 0x10a0], ebx
mov ecx, esp
mov dword [ebp - 0x10b4], esp
inc edx
push edx
push eax
call fcn.00403640
mov dword [ebp - 4], 0xe8
mov eax, dword [ebp - 0x10d4]
push edi
push eax
push dword [ebp - 0x10c8]
mov eax, dword [ebp - 0x10cc]
push eax
mov byte [ebp - 4], 0xe7
lea ecx, [ebp - 0x1118]
call fcn.0041d77a
mov esi, eax
mov eax, 0xe6
mov dword [ebp - 4], eax
test bl, bl
jns 0x43d978
and ebx, 0xffffff7f
mov dword [ebp - 0x10a0], ebx
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xb60]
call fcn.00401580
mov dword [ebp - 4], 0xe4
test bl, 0x40
je 0x43d99c
and ebx, 0xffffffbf
mov dword [ebp - 0x10a0], ebx
mov byte [ebp - 4], 0xe4
lea ecx, [ebp - 0x860]
call fcn.00401580
test esi, esi
je 0x43db03
xor ebx, ebx
push ebx
lea eax, [ebp - 0x1099]
push eax
lea ecx, [ebp - 0x860]
mov dword [ebp - 0x860], 0x477ab0
mov dword [ebp - 0x838], 0x478490
call fcn.00402580
mov byte [ebp - 4], 0xec
lea eax, [ebp - 0x10ac]
push eax
lea ecx, [ebp - 0x860]
call fcn.0042e15d
mov byte [ebp - 4], 0xed
xor ecx, ecx
inc ecx
mov byte [eax + 4], cl
mov ecx, dword [eax]
call fcn.004035c0
push ebx
push ebx
push eax
push str.runprerequisites
lea ecx, [ebp - 0x10e8]
call fcn.00411ffc
mov bl, al
mov byte [ebp - 4], 0xec
cmp byte [ebp - 0x10a8], 0
je 0x43da24
mov ecx, dword [ebp - 0x10ac]
push dword [ecx + 0x24]
call fcn.004044b0
test bl, bl
je 0x43dae9
lea ecx, [ebp - 0x10bc]
call fcn.0040cc42
mov byte [ebp - 4], 0xef
push dword [0x4a5ff8]
lea ecx, [ebp - 0x10bc]
call fcn.0040cfbe
mov byte [ebp - 4], 0xec
lea ecx, [ebp - 0x10bc]
call fcn.0040cd33
mov byte [ebp - 4], 0xe4
lea ecx, [ebp - 0x860]
call fcn.00401580
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x1118]
call fcn.0041cc69
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x1134]
call fcn.004159c8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
xor eax, eax
mov byte [ebp - 4], al
mov esi, eax
jmp 0x43dd22
lea ecx, [ebp - 0x1118]
call fcn.0041d5cd
mov byte [ebp - 4], 0xe4
lea ecx, [ebp - 0x860]
call fcn.00401580
push dword [0x4a6824]
lea eax, [ebp - 0x10b8]
push str.Setup_returning__d
push eax
mov dword [ebp - 0x10b8], str.Setup.cpp
mov dword [ebp - 0x10b4], 0x234
call fcn.0041183c
add esp, 0xc
lea ecx, [ebp - 0x1118]
push 0x4a6824
call fcn.0041d5d9
mov esi, eax
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x1118]
call fcn.0041cc69
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x1134]
call fcn.004159c8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
jmp 0x43dd1d
cmp dword [ebp - 0x998], 8
lea eax, [ebp - 0x9ac]
cmovae eax, dword [ebp - 0x9ac]
xor ecx, ecx
inc ecx
push ecx
push eax
call fcn.004414ed
mov ecx, 0xcccccccc
cmp eax, ecx
jne 0x43dbf4
cmp byte [ebp - 0x10c0], 0
je 0x43dbf0
cmp esi, 0xffffffff
jne 0x43dbf6
mov esi, ecx
jmp 0x43dbf6
mov esi, eax
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0xbc4]
call fcn.00401580
mov byte [ebp - 4], 0x98
lea ecx, [ebp - 0x9b0]
call fcn.00401580
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xb00]
call fcn.00401580
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0xaa0]
call fcn.00401580
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x10ac]
call fcn.0042c6d8
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0xb94]
call fcn.00401580
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0xad0]
call fcn.00401580
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x890]
call fcn.00401580
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x920]
call fcn.00401580
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x10f4]
call fcn.0040cd33
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x980]
call fcn.00401580
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0xa40]
call fcn.00401580
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0xb30]
call fcn.00401580
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x1134]
call fcn.004159c8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x8f0]
call fcn.00401580
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x950]
call fcn.00401580
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa10]
call fcn.00401580
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1098]
call fcn.00439f56
mov byte [ebp - 4], 6
call dword [sym.imp.ole32.dll_CoUninitialize]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa70]
call fcn.00401580
xor eax, eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0xbf4]
call fcn.00401580
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10e8]
call fcn.0041172d
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.004426e3
leave
ret 0x10