Function at 0x4307b0
Capabilities:
Accept command line arguments
Check os version
Create process on windows
Enumerate gui resources
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c21d
mov eax, dword fs:[0]
push eax
sub esp, 0x8b0
mov eax, dword [0x4846a0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x7fc], edi
push 0x24
mov dword [ebp - 0x824], esi
mov dword [ebp - 0x7e4], eax
mov dword [ebp - 0x7f8], edi
mov dword [ebp - 0x808], edi
mov dword [ebp - 0x7ec], edi
call fcn.0044ef1f
add esp, 4
cmp eax, edi
je 0x432c5e
mov dword [ebp - 0x7f0], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x7f0]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x7f0]
mov dword [eax + 8], eax
mov ecx, dword [ebp - 0x7f0]
mov bl, 1
mov byte [ecx + 0x20], bl
mov edx, dword [ebp - 0x7f0]
mov byte [edx + 0x21], bl
mov dword [ebp - 4], edi
mov eax, dword [0x484034]
mov edx, dword [eax + 0xc]
mov ecx, 0x484034
call edx
add eax, 0x10
mov dword [ebp - 0x800], eax
mov byte [ebp - 4], bl
mov eax, dword [0x484034]
mov edx, dword [eax + 0xc]
mov ecx, 0x484034
call edx
add eax, 0x10
mov dword [ebp - 0x7d4], eax
push 0x208
lea ecx, [ebp - 0x2e6]
mov byte [ebp - 4], 2
xor eax, eax
push edi
push ecx
mov dword [ebp - 0x81c], edi
mov word [ebp - 0x2e8], ax
call fcn.00453220
add esp, 0xc
cmp dword [ebp - 0x7e4], edi
jne 0x4308b7
xor eax, eax
jmp 0x4308cf
mov eax, dword [ebp - 0x7e4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4308c0
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x7e4]
push edx
push 0x4878dc
mov ebx, eax
call fcn.00401330
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
test eax, eax
jne 0x4308f0
xor ecx, ecx
jmp 0x430904
mov ecx, eax
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4308f5
sub ecx, edi
sar ecx, 1
push eax
push 0x4878c4
mov ebx, ecx
call fcn.00401330
mov byte [ebp - 4], 3
fld dword [0x479594]
xor eax, eax
fstp dword [0x4876dc]
mov dword [0x4876fc], eax
mov dword [0x4876f8], eax
mov dword [0x4876f4], eax
mov dword [0x48770c], eax
mov dword [0x487708], eax
mov dword [0x487704], eax
mov dword [0x4876f0], eax
mov dword [0x4876d0], eax
mov dword [0x4876ec], eax
mov dword [0x4876cc], eax
mov dword [0x4876e4], eax
mov dword [0x4876e0], eax
push esi
mov eax, 0x84
mov edi, 0x487908
call fcn.00401290
push esi
mov eax, 0x85
mov edi, 0x48790c
call fcn.00401290
push esi
mov eax, 0x86
mov edi, 0x487910
call fcn.00401290
push esi
mov eax, 0x87
mov edi, 0x487914
call fcn.00401290
push esi
mov eax, 0x88
mov edi, 0x487918
call fcn.00401290
push esi
mov eax, 0x89
mov edi, 0x48791c
call fcn.00401290
push esi
mov eax, 0x8a
mov edi, 0x487920
call fcn.00401290
push esi
mov eax, 0x8b
mov edi, 0x487924
call fcn.00401290
push esi
mov eax, 0x8c
mov edi, 0x487934
call fcn.00401290
push esi
mov eax, 0x8d
mov edi, 0x487928
call fcn.00401290
push esi
mov eax, 0x8e
mov edi, 0x48792c
call fcn.00401290
push esi
mov eax, 0x8f
mov edi, 0x487930
call fcn.00401290
push 0x4776c8
push 0x487938
xor ebx, ebx
call fcn.00401330
push esi
mov eax, 0x92
mov edi, 0x48793c
call fcn.00401290
push esi
mov eax, 0x93
mov edi, 0x487940
call fcn.00401290
push esi
mov eax, 0x94
mov edi, 0x487944
call fcn.00401290
push esi
mov eax, 0x95
mov edi, 0x487948
call fcn.00401290
push esi
mov eax, 0x97
mov edi, 0x48794c
call fcn.00401290
push esi
mov eax, 0x98
mov edi, 0x487950
call fcn.00401290
push esi
mov eax, 0x9b
mov edi, 0x487954
call fcn.00401290
push esi
mov eax, 0x99
mov edi, 0x487958
call fcn.00401290
push esi
mov eax, 0x9a
mov edi, 0x48795c
call fcn.00401290
push esi
mov eax, 0x9c
mov edi, 0x487960
call fcn.00401290
push esi
mov eax, 0x9d
mov edi, 0x487964
call fcn.00401290
push esi
mov eax, 0x9e
mov edi, 0x487968
call fcn.00401290
push esi
mov eax, 0x9f
mov edi, 0x48796c
call fcn.00401290
push esi
mov eax, 0xa0
mov edi, 0x487970
call fcn.00401290
push esi
mov eax, 0xa1
mov edi, 0x487974
call fcn.00401290
push esi
mov eax, 0xa2
mov edi, 0x487978
call fcn.00401290
push esi
mov eax, 0xa3
mov edi, 0x48797c
call fcn.00401290
mov eax, dword [0x487974]
push 0x472e80
push eax
call fcn.0044fbff
add esp, 8
test eax, eax
jne 0x430b61
mov dword [0x4876e0], 1
mov ecx, dword [0x48790c]
mov edi, dword [0x4878d4]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x430bbb
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x430bad
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x430bad
call fcn.00426710
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x430ba2
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
add ebx, 0x10
mov dword [0x4878d4], ebx
jmp 0x430bbb
mov ebx, dword [ecx - 0xc]
push ecx
push 0x4878d4
call fcn.00401330
push 0x11c
xor ebx, ebx
lea ecx, [ebp - 0x7d0]
push ebx
push ecx
call fcn.00453220
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExW]
add esp, 0xc
lea edx, [ebp - 0x7d0]
push edx
mov dword [ebp - 0x7d0], 0x11c
call esi
cmp eax, ebx
jne 0x430c02
lea eax, [ebp - 0x7d0]
push eax
mov dword [ebp - 0x7d0], 0x114
call esi
mov eax, dword [ebp - 0x7cc]
mov dword [0x48771c], eax
cmp eax, 5
jae 0x430c73
xor ecx, ecx
mov word [ebp - 0x3b4], cx
push 0x1d
mov eax, str.Unsupported_operating_system.
lea ecx, [ebp - 0x3b4]
mov dword [ebp - 0x3a0], 7
mov dword [ebp - 0x3a4], ebx
call fcn.00430290
lea ebx, [ebp - 0x3b4]
lea esi, [ebp - 0x4ec]
mov byte [ebp - 4], 4
call fcn.00422b20
push 0x47ba08
mov edx, esi
push edx
mov dword [ebp - method.windows_error.virtual_0], vtable.windows_error.0
mov dword [ebp - 0x4a4], 0
call fcn.00453150
push 2
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
cmp esi, ebx
jge 0x430d45
mov eax, dword [0x484034]
mov edx, dword [eax + 0xc]
mov ecx, 0x484034
call edx
add eax, 0x10
mov dword [ebp - 0x7f8], eax
mov byte [ebp - 4], 5
mov eax, dword [0x487918]
push esi
lea edi, [ebp - 0x7f8]
cmp dword [eax - 0xc], ebx
jne 0x430cc2
push str.Failed_to_initialize_COM_library._Error_code___d.
call fcn.00428b20
add esp, 8
jmp 0x430cd0
push eax
push str.Failed_to_initialize_COM_library._Error_code___d.
call fcn.00428b20
add esp, 0xc
xor eax, eax
mov word [ebp - 0x37c], ax
mov eax, dword [ebp - 0x7f8]
mov ecx, eax
mov dword [ebp - 0x368], 7
mov dword [ebp - 0x36c], ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x430cf4
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [ebp - 0x37c]
call fcn.00430290
lea ebx, [ebp - 0x37c]
lea esi, [ebp - 0x538]
mov byte [ebp - 4], 6
call fcn.00422b20
push 0x47ba08
mov ecx, esi
push ecx
mov dword [ebp - method.windows_error.virtual_0], vtable.windows_error.0
mov dword [ebp - 0x4f0], 0
call fcn.00453150
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push 0xc6
mov dword [0x4876e8], eax
lea eax, [ebp - 0xda]
xor edx, edx
push ebx
push eax
mov word [ebp - 0xdc], dx
call fcn.00453220
add esp, 0xc
push 0x64
lea ecx, [ebp - 0xdc]
push ecx
push 0x1001
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jle 0x430d9b
lea edx, [ebp - 0xdc]
mov edi, 0x4878cc
call fcn.004011b0
mov edx, dword [ebp - 0x7e4]
push 0x4776c8
push edx
push 0x4878c4
call fcn.004218e0
push 0x4776c8
push 0x4721cc
push 0x4878c4
call fcn.004218e0
mov ebx, 0x4878c4
call fcn.00424770
mov ebx, eax
call fcn.004247f0
mov edi, 0x4878c4
call fcn.00421630
xor eax, eax
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x810], eax
mov byte [ebp - 4], 7
mov ebx, dword [0x4878c4]
lea esi, [ebp - 0x814]
call fcn.0043c790
xor esi, esi
cmp eax, esi
jne 0x430e6a
xor eax, eax
mov word [ebp - 0x398], ax
push 0x33
mov eax, str.Failed_to_open_FileVersionInfo_of_the_downloader.
lea ecx, [ebp - 0x398]
mov dword [ebp - 0x384], 7
mov dword [ebp - 0x388], esi
call fcn.00430290
lea ebx, [ebp - 0x398]
lea esi, [ebp - 0x454]
mov byte [ebp - 4], 8
call fcn.00422b20
push 0x47ba08
mov ecx, esi
push ecx
mov dword [ebp - method.windows_error.virtual_0], vtable.windows_error.0
mov dword [ebp - 0x40c], 0
call fcn.00453150
lea eax, [ebp - 0x86c]
lea ecx, [ebp - 0x814]
call fcn.004306c0
mov edi, 0x4878c8
mov byte [ebp - 4], 9
call fcn.00421630
mov ebx, 7
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x86c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x430eb3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [0x4878c8]
cmp dword [ecx - 0xc], esi
jne 0x430f1b
xor edx, edx
push 0x34
mov eax, str.Failed_to_read_OriginalFilename_of_the_downloader.
lea ecx, [ebp - 0x3ec]
mov dword [ebp - 0x3d8], ebx
mov dword [ebp - 0x3dc], esi
mov word [ebp - 0x3ec], dx
call fcn.00430290
lea ebx, [ebp - 0x3ec]
lea esi, [ebp - 0x4a0]
mov byte [ebp - 4], 0xa
call fcn.00422b20
push 0x47ba08
mov eax, esi
push eax
mov dword [ebp - method.windows_error.virtual_0], vtable.windows_error.0
mov dword [ebp - 0x458], 0
call fcn.00453150
mov eax, dword [0x4878c4]
lea ecx, [ebp - 0x81c]
push ecx
lea edx, [ebp - 0x2e8]
push edx
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov edx, dword [ebp - 0x81c]
cmp edx, esi
je 0x430f59
mov edi, 0x4878e4
call fcn.004011b0
mov edx, dword [ebp - 0x81c]
xor ecx, ecx
mov word [edx], cx
lea edx, [ebp - 0x2e8]
mov edi, 0x4878e0
call fcn.004011b0
mov eax, dword [ebp - 0x824]
push 0x64
push 0x487720
push 0x6d
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [0x4878e4]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFindAtomW]
mov word [0x487870], ax
cmp ax, si
je 0x43103e
push esi
push 0x433380
mov dword [0x487718], esi
call dword [sym.imp.USER32.dll_EnumWindows]
cmp dword [0x487718], esi
je 0x431027
lea esi, [ebp - 0x814]
call fcn.0043c770
lea eax, [ebp - 0x7d4]
call fcn.004245a0
lea eax, [ebp - 0x800]
call fcn.004245a0
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x7dc]
lea esi, [ebp - 0x7f4]
call fcn.004377f0
mov edx, dword [ebp - 0x7f0]
push edx
call fcn.0044ebcc
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044ebd7
mov esp, ebp
pop ebp
ret 0x10
movzx eax, word [0x487870]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
xor ecx, ecx
mov word [0x487870], cx
push 0x400
call fcn.0044f7b1
push 0x400
push esi
push eax
mov dword [ebp - 0x804], eax
call fcn.00453220
add esp, 0x10
push 0x475d34
lea edx, [ebp - 0x888]
push edx
push 0x4878dc
lea ebx, [ebp - 0x808]
call fcn.00421cc0
lea edi, [ebp - 0x800]
mov byte [ebp - 4], 0xc
call fcn.00421630
lea eax, [ebp - 0x888]
mov byte [ebp - 4], 7
call fcn.004245a0
lea esi, [ebp - 0x800]
call fcn.00422130
test al, al
je 0x431334
mov ebx, esi
mov dword [ebp - 0x7e0], 0
call fcn.00424770
mov ebx, eax
call fcn.004247f0
mov eax, esi
push eax
call fcn.004359d0
push 0x473fb0
lea ecx, [ebp - 0x878]
push ecx
mov edx, esi
push edx
lea ebx, [ebp - 0x7e0]
mov byte [ebp - 0x7d6], 1
call fcn.00421cc0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0xd
call fcn.00421630
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x878]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x431120
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x7d4]
call fcn.00422130
test al, al
je 0x43128c
push 0x4776c8
push 0x4721cc
mov ecx, esi
push ecx
call fcn.004218e0
cmp byte [ebp - 0x7d6], 0
mov esi, dword [ebp - 0x7d4]
je 0x4311ab
mov edi, dword [esi - 0xc]
mov byte [ebp - 0x7d6], 0
test edi, edi
jns 0x43116c
push 0x80070057
call fcn.00401680
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x431190
mov eax, edi
lea ecx, [ebp - 0x7d4]
call fcn.00401440
mov esi, dword [ebp - 0x7d4]
lea edx, [edi + 1]
push edx
push esi
call fcn.004500c7
add esp, 8
cmp edi, dword [esi - 8]
jg 0x431162
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
call fcn.0044f7b1
mov edi, eax
mov eax, dword [esi - 0xc]
push eax
push esi
inc eax
push eax
push edi
mov dword [ebp - 0x818], edi
call fcn.0044f9f5
add esp, 0x14
push 0x473fb0
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x800]
push eax
lea ebx, [ebp - 0x7e0]
call fcn.00421cc0
mov byte [ebp - 4], 0xe
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x43124b
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x43123b
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x43123b
call fcn.00426710
mov edi, eax
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x43122a
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add edi, 0x10
mov dword [ebp - 0x7d4], edi
mov edi, dword [ebp - 0x818]
jmp 0x43124b
mov ebx, dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x7d4]
push ecx
call fcn.00401330
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x830]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x431271
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x7f8]
mov ecx, dword [ebp - 0x804]
mov dword [ecx + eax*4], edi
inc eax
mov dword [ebp - 0x7f8], eax
jmp 0x431120
push 0x475d34
lea edx, [ebp - 0x840]
push edx
push 0x4878dc
lea ebx, [ebp - 0x808]
call fcn.00421cc0
mov byte [ebp - 4], 0xf
mov ecx, dword [eax]
mov esi, dword [ebp - 0x800]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x431305
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4312f5
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4312f5
call fcn.00426710
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4312ea
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x800], ebx
jmp 0x431305
mov ebx, dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x800]
push ecx
call fcn.00401330
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x840]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x431097
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x431097
mov ecx, dword [ebp - 0x804]
mov edx, dword [ebp - 0x7f8]
push ecx
push edx
lea eax, [ebp - 0x7f4]
push eax
mov byte [ebp - 0x7d6], 0
mov byte [ebp - 0x7d5], 0
call fcn.0043b480
test eax, eax
je 0x431b93
mov ecx, 0x477a64
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
jne 0x431b7f
mov ecx, str._help
call fcn.0043b910
test al, al
jne 0x431b7f
mov ecx, 0x477a78
call fcn.0043b910
test al, al
jne 0x431b7f
mov ecx, str._debugdirectory
call fcn.0043b910
test al, al
je 0x431404
push str._debugdirectory
call fcn.0043ba30
test eax, eax
je 0x431404
push str._debugdirectory
lea ecx, [ebp - 0x868]
push ecx
mov byte [ebp - 0x7d6], 1
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x10
call fcn.00421630
lea eax, [ebp - 0x868]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov edx, edi
push edx
call fcn.004218e0
mov ecx, str._debugversion
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x43146e
push str._debugversion
call fcn.0043ba30
test eax, eax
je 0x43146e
push str._debugversion
lea eax, [ebp - 0x848]
push eax
mov byte [ebp - 0x7d5], 1
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x11
call fcn.00421630
lea eax, [ebp - 0x848]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov ecx, str._afterreboot
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x4314dd
push str._afterreboot
call fcn.0043ba30
test eax, eax
je 0x4314dd
push str._afterreboot
lea edx, [ebp - 0x850]
push edx
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x12
call fcn.00421630
lea eax, [ebp - 0x850]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov eax, edi
push eax
call fcn.004218e0
mov eax, edi
mov edi, 0x4878f0
call fcn.00421630
mov ecx, str._updaterpath
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x43154c
push str._updaterpath
call fcn.0043ba30
test eax, eax
je 0x43154c
push str._updaterpath
lea ecx, [ebp - 0x870]
push ecx
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x13
call fcn.00421630
lea eax, [ebp - 0x870]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov edx, edi
push edx
call fcn.004218e0
mov eax, edi
mov edi, 0x4878f4
call fcn.00421630
mov ecx, str._updaterpid
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x4315e7
push str._updaterpid
call fcn.0043ba30
test eax, eax
je 0x4315e7
push str._updaterpid
lea eax, [ebp - 0x858]
push eax
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x14
call fcn.00421630
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov eax, dword [ebp - 0x7d4]
cmp dword [eax - 0xc], 0
je 0x4315e7
lea esi, [ebp - 0x408]
call fcn.004303a0
mov edx, esi
push edx
mov byte [ebp - 4], 0x15
call fcn.0043c280
add esp, 4
mov dword [0x4876d4], eax
mov byte [ebp - 4], 7
call fcn.004303e0
mov ecx, str._sid
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x431656
push str._sid
call fcn.0043ba30
test eax, eax
je 0x431656
push str._sid
lea eax, [ebp - 0x880]
push eax
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x16
call fcn.00421630
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov eax, edi
mov edi, 0x4878f8
call fcn.00421630
mov ecx, str._productdir
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x4316c5
push str._productdir
call fcn.0043ba30
test eax, eax
je 0x4316c5
push str._productdir
lea edx, [ebp - 0x860]
push edx
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x17
call fcn.00421630
lea eax, [ebp - 0x860]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov eax, edi
push eax
call fcn.004218e0
mov eax, edi
mov edi, 0x4878fc
call fcn.00421630
mov ecx, str._pipename
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x43175c
push str._pipename
call fcn.0043ba30
test eax, eax
je 0x43175c
push str._pipename
lea ecx, [ebp - 0x82c]
push ecx
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x18
call fcn.00421630
lea eax, [ebp - 0x82c]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov edx, edi
push edx
call fcn.004218e0
mov eax, dword [ebp - 0x7d4]
cmp dword [eax - 0xc], 0
je 0x43175c
push 0x487900
mov edx, str..pipe_
call fcn.004221e0
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ebx, 0x487900
call fcn.004249d0
mov ecx, str._updaterservice
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x4317da
push str._updaterservice
call fcn.0043ba30
test eax, eax
je 0x4317da
push str._updaterservice
lea ecx, [ebp - 0x834]
push ecx
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x19
call fcn.00421630
lea eax, [ebp - 0x834]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov edx, edi
push edx
call fcn.004218e0
mov eax, edi
push eax
mov ecx, 0x477b78
call fcn.00421770
test eax, eax
jne 0x4317da
mov dword [0x4876cc], 1
mov ecx, str._appid
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x431849
push str._appid
call fcn.0043ba30
test eax, eax
je 0x431849
push str._appid
lea ecx, [ebp - 0x838]
push ecx
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1a
call fcn.00421630
lea eax, [ebp - 0x838]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov edx, edi
push edx
call fcn.004218e0
mov eax, edi
mov edi, 0x487904
call fcn.00421630
mov ecx, str._silentmode
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x4318c7
push str._silentmode
call fcn.0043ba30
test eax, eax
je 0x4318c7
push str._silentmode
lea eax, [ebp - 0x83c]
push eax
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1b
call fcn.00421630
lea eax, [ebp - 0x83c]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov edx, edi
push edx
mov ecx, 0x472e80
call fcn.00421770
test eax, eax
jne 0x4318c7
mov dword [0x4876f0], 1
mov ecx, str._showrunningappwarning
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x431945
push str._showrunningappwarning
call fcn.0043ba30
test eax, eax
je 0x431945
push str._showrunningappwarning
lea eax, [ebp - 0x844]
push eax
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1c
call fcn.00421630
lea eax, [ebp - 0x844]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov edx, edi
push edx
mov ecx, 0x472e80
call fcn.00421770
test eax, eax
jne 0x431945
mov dword [0x4876ec], 1
mov ecx, str._visible
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x4319c8
push str._visible
call fcn.0043ba30
test eax, eax
je 0x4319c8
push str._visible
lea eax, [ebp - 0x84c]
push eax
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1d
call fcn.00421630
lea eax, [ebp - 0x84c]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov edx, edi
push edx
mov ecx, 0x472d4c
call fcn.00421770
test eax, eax
jne 0x4319c8
mov edx, 0x472d4c
mov edi, 0x487930
call fcn.004011b0
mov ecx, str._msiuilevel
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x431a3d
push str._msiuilevel
call fcn.0043ba30
test eax, eax
je 0x431a3d
push str._msiuilevel
lea eax, [ebp - 0x854]
push eax
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1e
call fcn.00421630
lea eax, [ebp - 0x854]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov edx, dword [ebp - 0x7d4]
push edx
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
mov dword [0x4876e4], eax
mov ecx, str._runasadministrator
lea esi, [ebp - 0x7f4]
call fcn.0043b910
test al, al
je 0x431ad7
push str._runasadministrator
call fcn.0043ba30
test eax, eax
je 0x431ad7
push str._runasadministrator
lea eax, [ebp - 0x85c]
push eax
call fcn.0043b960
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1f
call fcn.00421630
lea eax, [ebp - 0x85c]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0x4776c8
push 0x4721cc
mov ecx, edi
push ecx
call fcn.004218e0
mov edx, edi
push edx
mov ecx, 0x472e80
call fcn.00421770
test eax, eax
jne 0x431ad7
push 0x487914
mov ecx, str.user
call fcn.00421770
test eax, eax
jne 0x431ad7
mov edx, str.administrator
mov edi, 0x487914
call fcn.004011b0
cmp byte [ebp - 0x7d6], 0
je 0x431b93
cmp byte [ebp - 0x7d5], 0
je 0x431b93
lea esi, [ebp - 0x814]
call fcn.0043c770
mov byte [ebp - 4], 2
call fcn.00434000
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x7d4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x431b2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x800]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x431b51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0x3e
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x820]
lea esi, [ebp - 0x7f4]
call fcn.004377f0
mov ecx, dword [ebp - 0x7f0]
push ecx
jmp 0x430fff
mov eax, dword [ebp - 0x814]
push eax
call fcn.0044f328
add esp, 4
jmp 0x431afc
mov esi, 6
cmp dword [0x48771c], esi
jb 0x431c67
mov ecx, dword [0x487914]
push str.user
push ecx
call fcn.0044fbff
add esp, 8
test eax, eax
je 0x431c14
call fcn.00434060
test eax, eax
jne 0x431c67
mov edx, dword [0x4878e0]
mov eax, dword [ebp - 0x7e4]
mov ecx, dword [0x4878c4]
push 5
push edx
push eax
push ecx
push str.runas
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jge 0x431af1
mov edi, eax
lea ecx, [ebp - 0x6b4]
call fcn.00401f60
push 0x47ba08
lea edx, [ebp - 0x6b4]
push edx
call fcn.00453150
call fcn.00434270
test eax, eax
je 0x431c67
mov eax, dword [0x4878e0]
mov ecx, dword [ebp - 0x7e4]
mov edx, dword [0x4878c4]
push 5
push eax
push ecx
push edx
push str.runas
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jge 0x431af1
mov edi, eax
lea ecx, [ebp - 0x61c]
call fcn.00401f60
push 0x47ba08
lea eax, [ebp - 0x61c]
push eax
call fcn.00453150
mov ecx, dword [0x4878f4]
cmp dword [ecx - 0xc], 0
je 0x431caf
mov edx, dword [0x487900]
cmp dword [edx - 0xc], 0
je 0x431caf
mov eax, dword [0x4878fc]
cmp dword [eax - 0xc], 0
je 0x431caf
mov edx, 0x472d4c
mov edi, 0x487930
mov dword [0x4876f4], 1
mov dword [0x4876ec], 0
call fcn.004011b0
jmp 0x431cde
cmp dword [0x48771c], esi
jb 0x431cde
push 0x48787c
push 0x478548
push 1
push 0
push 0x46e738
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x431cde
mov dword [0x487700], 1
cmp dword [0x4876f0], 0
je 0x431cf6
mov edx, 0x472d4c
mov edi, 0x487930
call fcn.004011b0
push 0
push 0x3ff
call dword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
mov eax, dword [0x487948]
cmp dword [eax - 0xc], 0
je 0x431d5d
push str._Empty_
push eax
call fcn.0044fbff
add esp, 8
test eax, eax
je 0x431d5d
lea ecx, [ebp - 0x818]
push ecx
mov ecx, 0x474360
call fcn.00401110
lea edx, [ebp - 0x818]
push edx
push 0x486100
push 0x487948
mov byte [ebp - 4], 0x20
call fcn.00429ca0
add esp, 0xc
lea eax, [ebp - 0x818]
mov byte [ebp - 4], 7
call fcn.004245a0
mov eax, dword [0x48794c]
push 0x472e80
push eax
call fcn.0044fbff
add esp, 8
test eax, eax
jne 0x4322cd
mov ecx, dword [0x487950]
cmp dword [ecx - 0xc], eax
je 0x4322cd
push 0x487950
mov ecx, str._Empty_
call fcn.00421770
test eax, eax
je 0x4322cd
lea edx, [ebp - 0x7f8]
push edx
mov ecx, 0x477c64
call fcn.00401110
lea eax, [ebp - 0x804]
push eax
mov ecx, 0x477c74
mov byte [ebp - 4], 0x21
call fcn.00401110
mov byte [ebp - 4], 0x22
mov eax, dword [0x487950]
add eax, 0xfffffff0
call fcn.00426710
add eax, 0x10
mov dword [ebp - 0x7e4], eax
push 0x487958
mov ecx, str._Empty_
mov byte [ebp - 4], 0x23
call fcn.00421770
test eax, eax
jne 0x431eb1
mov esi, 0x487958
call fcn.004013e0
mov eax, dword [0x484034]
mov edx, dword [eax + 0xc]
mov ecx, 0x484034
call edx
add eax, 0x10
mov dword [ebp - 0x7e0], eax
mov byte [ebp - 4], 0x2a
mov eax, dword [0x484034]
mov edx, dword [eax + 0xc]
mov ecx, 0x484034
call edx
add eax, 0x10
mov dword [ebp - 0x808], eax
mov byte [ebp - 4], 0x2b
mov eax, dword [0x484034]
mov edx, dword [eax + 0xc]
mov ecx, 0x484034
call edx
add eax, 0x10
mov dword [ebp - 0x7fc], eax
lea eax, [ebp - 0x344]
push eax
mov byte [ebp - 4], 0x2c
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx ecx, word [ebp - 0x344]
mov edx, dword [0x48795c]
movzx esi, word [ebp - 0x33e]
movzx ebx, word [ebp - 0x342]
push 0x477c88
push edx
mov dword [ebp - 0x7dc], ecx
call fcn.0044fbff
add esp, 8
test eax, eax
jne 0x4320da
cmp word [ebp - 0x33e], 1
jbe 0x4320f5
lea esi, [eax + 1]
jmp 0x4320f5
mov ecx, dword [0x487958]
cmp dword [ecx - 0xc], 0
jle 0x431e03
mov esi, 0x25
jmp 0x431ed0
mov edx, dword [0x487958]
cmp dword [edx - 0xc], 0
jle 0x431f4c
push 0x487958
mov eax, 1
lea ecx, [ebp - 0x828]
call fcn.00421e70
mov byte [ebp - 4], 0x24
mov ebx, dword [ebp - 0x7fc]
or ebx, 1
push eax
mov ecx, 0x475d34
mov dword [ebp - 0x7fc], ebx
call fcn.00421720
test eax, eax
je 0x431f43
push 0x487958
mov eax, 1
lea ecx, [ebp - 0x864]
call fcn.00421e70
mov dword [ebp - 4], esi
or ebx, 2
push eax
mov ecx, 0x472154
mov dword [ebp - 0x7fc], ebx
call fcn.00421720
test eax, eax
jne 0x431f52
mov byte [ebp - 0x7d5], 1
jmp 0x431f59
mov ebx, dword [ebp - 0x7fc]
mov byte [ebp - 0x7d5], 0
test bl, 2
je 0x431f72
and ebx, 0xfffffffd
lea eax, [ebp - 0x864]
mov dword [ebp - 0x7fc], ebx
call fcn.004245a0
mov dword [ebp - 4], 0x23
test bl, 1
je 0x431f92
and ebx, 0xfffffffe
lea eax, [ebp - 0x828]
mov dword [ebp - 0x7fc], ebx
call fcn.004245a0
cmp byte [ebp - 0x7d5], 0
je 0x431fd6
mov eax, dword [0x487958]
mov eax, dword [eax - 0xc]
dec eax
lea ecx, [ebp - 0x874]
mov edx, 0x487958
call fcn.00421ef0
mov edi, 0x487958
mov byte [ebp - 4], 0x26
call fcn.00421630
lea eax, [ebp - 0x874]
mov byte [ebp - 4], 0x23
call fcn.004245a0
jmp 0x431ed0
mov ecx, dword [0x487958]
cmp dword [ecx - 0xc], 0
jle 0x431e03
mov esi, 0x28
jmp 0x431ff0
mov eax, 1
lea ecx, [ebp - 0x884]
mov edx, 0x487958
call fcn.00421ef0
mov byte [ebp - 4], 0x27
or ebx, 4
push eax
mov ecx, 0x475d34
mov dword [ebp - 0x7fc], ebx
call fcn.00421720
test eax, eax
je 0x432058
mov eax, 1
lea ecx, [ebp - 0x87c]
mov edx, 0x487958
call fcn.00421ef0
mov dword [ebp - 4], esi
or ebx, 8
push eax
mov ecx, 0x472154
mov dword [ebp - 0x7fc], ebx
call fcn.00421720
mov byte [ebp - 0x7d5], 0
test eax, eax
jne 0x43205f
mov byte [ebp - 0x7d5], 1
test bl, 8
je 0x432072
lea eax, [ebp - 0x87c]
and ebx, 0xfffffff7
call fcn.004245a0
mov dword [ebp - 4], 0x23
test bl, 4
je 0x43208c
lea eax, [ebp - 0x884]
and ebx, 0xfffffffb
call fcn.004245a0
cmp byte [ebp - 0x7d5], 0
je 0x431e03
mov edx, dword [0x487958]
mov eax, dword [edx - 0xc]
dec eax
push 0x487958
mov ecx, 1
lea edx, [ebp - 0x80c]
call fcn.00424920
mov edi, 0x487958
mov byte [ebp - 4], 0x29
call fcn.00421630
lea eax, [ebp - 0x80c]
mov byte [ebp - 4], 0x23
call fcn.004245a0
jmp 0x431ff0
mov eax, 1
cmp word [ebp - 0x342], ax
ja 0x4320f1
cmp word [ebp - 0x33e], ax
jbe 0x4320f5
mov esi, eax
mov ebx, eax
movzx eax, si
push eax
push str._02d
lea edi, [ebp - 0x7e0]
call fcn.00428b20
movzx ecx, bx
mov edx, dword [ecx*4 + 0x4860cc]
add esp, 8
push edx
push 0x477ca0
lea edi, [ebp - 0x808]
call fcn.00428b20
movzx eax, word [ebp - 0x7dc]
add esp, 8
push eax
push 0x477ca8
lea edi, [ebp - 0x7fc]
call fcn.00428b20
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax - 0xc]
add esp, 8
push ecx
push eax
lea ebx, [ebp - 0x7e4]
call fcn.004249d0
mov eax, dword [ebp - 0x808]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.004249d0
mov eax, dword [ebp - 0x7fc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.004249d0
mov ecx, dword [0x487954]
push str._Empty_
push ecx
call fcn.0044fbff
add esp, 8
test eax, eax
jne 0x43219d
mov esi, 0x487954
call fcn.004013e0
mov edx, dword [0x487954]
cmp dword [edx - 0xc], 0
jle 0x43220b
mov eax, 1
lea ecx, [ebp - 0x7dc]
mov edx, 0x487954
call fcn.00421ef0
push eax
mov ecx, 0x4719d4
mov byte [ebp - 4], 0x2d
call fcn.00421720
test eax, eax
lea eax, [ebp - 0x7dc]
sete bl
mov byte [ebp - 4], 0x2c
call fcn.004245a0
test bl, bl
jne 0x4321f6
lea eax, [ebp - 0x7e4]
push eax
mov edx, 0x4719d4
call fcn.004221e0
mov eax, dword [0x487954]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ebx, [ebp - 0x7e4]
call fcn.004249d0
mov esi, dword [ebp - 0x7e4]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ebx, [ebp - 0x7f8]
call fcn.004249d0
mov ecx, ebx
push ecx
mov edx, 0x475d34
call fcn.004221e0
mov eax, dword [0x487958]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.004249d0
mov eax, dword [esi - 0xc]
push eax
push esi
lea ebx, [ebp - 0x804]
call fcn.004249d0
mov edx, ebx
push edx
mov edx, 0x475d34
call fcn.004221e0
mov eax, dword [0x487958]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.004249d0
mov eax, dword [ebp - 0x7f8]
push eax
mov ecx, 0x486100
call fcn.00429b50
mov ecx, dword [ebp - 0x804]
push ecx
mov ecx, 0x486100
call fcn.00429b50
lea eax, [ebp - 0x7fc]
call fcn.004245a0
lea eax, [ebp - 0x808]
call fcn.004245a0
lea eax, [ebp - 0x7e0]
call fcn.004245a0
lea eax, [ebp - 0x7e4]
call fcn.004245a0
mov eax, ebx
call fcn.004245a0
lea eax, [ebp - 0x7f8]
mov byte [ebp - 4], 7
call fcn.004245a0
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov esi, eax
push 0x58
push esi
call edi
mov dword [ebp - 0x7e0], eax
fild dword [ebp - 0x7e0]
push 0x5a
push esi
fstp dword [ebp - 0x808]
call edi
mov dword [ebp - 0x7e0], eax
fild dword [ebp - 0x7e0]
push esi
push 0
fstp dword [ebp - 0x7e0]
call dword [sym.imp.USER32.dll_ReleaseDC]
fld dword [ebp - 0x7e0]
mov esi, dword [ebp - 0x824]
fadd dword [ebp - 0x808]
push esi
fmul qword [0x4795e8]
fstp dword [0x4876dc]
fld dword [0x4876dc]
fstp dword [0x4876d8]
call fcn.00433470
mov edx, dword [ebp + 0x14]
push edx
push esi
call fcn.004334f0
add esp, 0xc
test eax, eax
jne 0x4323c3
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x432381
call esi
mov edi, eax
lea ecx, [ebp - 0x668]
call fcn.00401f60
push 0x47ba08
lea eax, [ebp - 0x668]
push eax
call fcn.00453150
mov eax, str.Unknown_error_in_the_InitInstance_function.
lea esi, [ebp - 0x360]
call fcn.004303a0
mov ebx, esi
lea esi, [ebp - 0x5d0]
mov byte [ebp - 4], 0x2e
call fcn.00422b20
push 0x47ba08
mov ecx, esi
push ecx
mov dword [ebp - method.windows_error.virtual_0], vtable.windows_error.0
mov dword [ebp - 0x588], 0
call fcn.00453150
mov edx, dword [0x4878e4]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomW]
push 0x6d
push esi
mov word [0x487870], ax
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov ebx, dword [sym.imp.USER32.dll_TranslateAcceleratorW]
mov esi, eax
lea ecx, [ecx]
push 0
push 0
push 0
lea eax, [ebp - 0x8a4]
push eax
call edi
test eax, eax
je 0x432434
mov edx, dword [ebp - 0x8a4]
lea ecx, [ebp - 0x8a4]
push ecx
push esi
push edx
call ebx
test eax, eax
jne 0x4323f0
lea eax, [ebp - 0x8a4]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [ebp - 0x8a4]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x4323f0
cmp dword [ebp - 0x89c], 0
je 0x432513
mov edx, dword [0x484034]
mov eax, dword [edx + 0xc]
mov ecx, 0x484034
call eax
add eax, 0x10
mov dword [ebp - 0x7e0], eax
mov byte [ebp - 4], 0x2f
mov eax, dword [0x487918]
cmp dword [eax - 0xc], 0
lea edi, [ebp - 0x7e0]
jne 0x432485
mov ecx, dword [ebp - 0x89c]
push ecx
push str.The_installer_failed._Exit_code:__d.
call fcn.00428b20
add esp, 8
jmp 0x43249a
mov edx, dword [ebp - 0x89c]
push edx
push eax
push str.The__s_installer_failed._Exit_code:__d.
call fcn.00428b20
add esp, 0xc
xor eax, eax
mov word [ebp - 0x3d0], ax
mov eax, dword [ebp - 0x7e0]
mov ecx, eax
mov dword [ebp - 0x3bc], 7
mov dword [ebp - 0x3c0], 0
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4324c2
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.00430290
lea ebx, [ebp - 0x3d0]
lea esi, [ebp - 0x584]
mov byte [ebp - 4], 0x30
call fcn.00422b20
push 0x47ba08
mov ecx, esi
push ecx
mov dword [ebp - method.windows_error.virtual_0], vtable.windows_error.0
mov dword [ebp - 0x53c], 0
call fcn.00453150
mov edx, dword [ebp - 0x814]
push edx
call fcn.0044f328
add esp, 4
mov dword [ebp - 4], 2
jmp 0x431b00
lea edx, [ebp - 0x820]
push edx
lea ecx, [ebp - 0x8bc]
mov dword [ebp - 0x820], edi
call fcn.0044ee31
push 0x47bb24
lea eax, [ebp - 0x8bc]
push eax
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00453150
int3