Function at 0x430970
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 0x46c57d
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.0044f1df
add esp, 4
cmp eax, edi
je 0x432e1e
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.004534e0
add esp, 0xc
cmp dword [ebp - 0x7e4], edi
jne 0x430a77
xor eax, eax
jmp 0x430a8f
mov eax, dword [ebp - 0x7e4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x430a80
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x7e4]
push edx
push 0x4878dc
mov ebx, eax
call fcn.00401320
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
test eax, eax
jne 0x430ab0
xor ecx, ecx
jmp 0x430ac4
mov ecx, eax
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x430ab5
sub ecx, edi
sar ecx, 1
push eax
push 0x4878c4
mov ebx, ecx
call fcn.00401320
mov byte [ebp - 4], 3
fld dword [0x479584]
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.00401280
push esi
mov eax, 0x85
mov edi, 0x48790c
call fcn.00401280
push esi
mov eax, 0x86
mov edi, 0x487910
call fcn.00401280
push esi
mov eax, 0x87
mov edi, 0x487914
call fcn.00401280
push esi
mov eax, 0x88
mov edi, 0x487918
call fcn.00401280
push esi
mov eax, 0x89
mov edi, 0x48791c
call fcn.00401280
push esi
mov eax, 0x8a
mov edi, 0x487920
call fcn.00401280
push esi
mov eax, 0x8b
mov edi, 0x487924
call fcn.00401280
push esi
mov eax, 0x8c
mov edi, 0x487934
call fcn.00401280
push esi
mov eax, 0x8d
mov edi, 0x487928
call fcn.00401280
push esi
mov eax, 0x8e
mov edi, 0x48792c
call fcn.00401280
push esi
mov eax, 0x8f
mov edi, 0x487930
call fcn.00401280
push 0x4776ac
push 0x487938
xor ebx, ebx
call fcn.00401320
push esi
mov eax, 0x92
mov edi, 0x48793c
call fcn.00401280
push esi
mov eax, 0x93
mov edi, 0x487940
call fcn.00401280
push esi
mov eax, 0x94
mov edi, 0x487944
call fcn.00401280
push esi
mov eax, 0x95
mov edi, 0x487948
call fcn.00401280
push esi
mov eax, 0x97
mov edi, 0x48794c
call fcn.00401280
push esi
mov eax, 0x98
mov edi, 0x487950
call fcn.00401280
push esi
mov eax, 0x9b
mov edi, 0x487954
call fcn.00401280
push esi
mov eax, 0x99
mov edi, 0x487958
call fcn.00401280
push esi
mov eax, 0x9a
mov edi, 0x48795c
call fcn.00401280
push esi
mov eax, 0x9c
mov edi, 0x487960
call fcn.00401280
push esi
mov eax, 0x9d
mov edi, 0x487964
call fcn.00401280
push esi
mov eax, 0x9e
mov edi, 0x487968
call fcn.00401280
push esi
mov eax, 0x9f
mov edi, 0x48796c
call fcn.00401280
push esi
mov eax, 0xa0
mov edi, 0x487970
call fcn.00401280
push esi
mov eax, 0xa1
mov edi, 0x487974
call fcn.00401280
push esi
mov eax, 0xa2
mov edi, 0x487978
call fcn.00401280
push esi
mov eax, 0xa3
mov edi, 0x48797c
call fcn.00401280
mov eax, dword [0x487974]
push 0x472e68
push eax
call fcn.0044febf
add esp, 8
test eax, eax
jne 0x430d21
mov dword [0x4876e0], 1
mov ecx, dword [0x48790c]
mov edi, dword [0x4878d4]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x430d7b
cmp dword [edi + 0xc], ebx
lea esi, [edi + 0xc]
jl 0x430d6d
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x430d6d
call fcn.004267f0
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x430d62
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 0x430d7b
mov ebx, dword [ecx - 0xc]
push ecx
push 0x4878d4
call fcn.00401320
push 0x11c
xor ebx, ebx
lea ecx, [ebp - 0x7d0]
push ebx
push ecx
call fcn.004534e0
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 0x430dc2
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 0x430e33
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.00430450
lea ebx, [ebp - 0x3b4]
lea esi, [ebp - 0x4ec]
mov byte [ebp - 4], 4
call fcn.00422b30
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.00453410
push 2
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
cmp esi, ebx
jge 0x430f05
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 0x430e82
push str.Failed_to_initialize_COM_library._Error_code___d.
call fcn.00428bb0
add esp, 8
jmp 0x430e90
push eax
push str.Failed_to_initialize_COM_library._Error_code___d.
call fcn.00428bb0
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 0x430eb4
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [ebp - 0x37c]
call fcn.00430450
lea ebx, [ebp - 0x37c]
lea esi, [ebp - 0x538]
mov byte [ebp - 4], 6
call fcn.00422b30
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.00453410
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.004534e0
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 0x430f5b
lea edx, [ebp - 0xdc]
mov edi, 0x4878cc
call fcn.004011b0
mov edx, dword [ebp - 0x7e4]
push 0x4776ac
push edx
push 0x4878c4
call fcn.004218f0
push 0x4776ac
push 0x4721b4
push 0x4878c4
call fcn.004218f0
mov ebx, 0x4878c4
call fcn.00424720
mov ebx, eax
call fcn.004247a0
mov edi, 0x4878c4
call fcn.00421640
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.0043c9d0
xor esi, esi
cmp eax, esi
jne 0x43102a
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.00430450
lea ebx, [ebp - 0x398]
lea esi, [ebp - 0x454]
mov byte [ebp - 4], 8
call fcn.00422b30
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.00453410
lea eax, [ebp - 0x86c]
lea ecx, [ebp - 0x814]
call fcn.00430880
mov edi, 0x4878c8
mov byte [ebp - 4], 9
call fcn.00421640
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 0x431073
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 0x4310db
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.00430450
lea ebx, [ebp - 0x3ec]
lea esi, [ebp - 0x4a0]
mov byte [ebp - 4], 0xa
call fcn.00422b30
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.00453410
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 0x431119
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 0x4311fe
push esi
push 0x433540
mov dword [0x487718], esi
call dword [sym.imp.USER32.dll_EnumWindows]
cmp dword [0x487718], esi
je 0x4311e7
lea esi, [ebp - 0x814]
call fcn.0043c9b0
lea eax, [ebp - 0x7d4]
call fcn.00421240
lea eax, [ebp - 0x800]
call fcn.00421240
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.004379b0
mov edx, dword [ebp - 0x7f0]
push edx
call fcn.0044ee8c
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.0044ee97
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.0044fa71
push 0x400
push esi
push eax
mov dword [ebp - 0x804], eax
call fcn.004534e0
add esp, 0x10
push 0x475d1c
lea edx, [ebp - 0x888]
push edx
push 0x4878dc
lea ebx, [ebp - 0x808]
call fcn.00421cd0
lea edi, [ebp - 0x800]
mov byte [ebp - 4], 0xc
call fcn.00421640
lea eax, [ebp - 0x888]
mov byte [ebp - 4], 7
call fcn.00421240
lea esi, [ebp - 0x800]
call fcn.00422140
test al, al
je 0x4314f4
mov ebx, esi
mov dword [ebp - 0x7e0], 0
call fcn.00424720
mov ebx, eax
call fcn.004247a0
mov eax, esi
push eax
call fcn.00435b90
push 0x473f98
lea ecx, [ebp - 0x878]
push ecx
mov edx, esi
push edx
lea ebx, [ebp - 0x7e0]
mov byte [ebp - 0x7d6], 1
call fcn.00421cd0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0xd
call fcn.00421640
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 0x4312e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [ebp - 0x7d4]
call fcn.00422140
test al, al
je 0x43144c
push 0x4776ac
push 0x4721b4
mov ecx, esi
push ecx
call fcn.004218f0
cmp byte [ebp - 0x7d6], 0
mov esi, dword [ebp - 0x7d4]
je 0x43136b
mov edi, dword [esi - 0xc]
mov byte [ebp - 0x7d6], 0
test edi, edi
jns 0x43132c
push 0x80070057
call fcn.00401670
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x431350
mov eax, edi
lea ecx, [ebp - 0x7d4]
call fcn.00401430
mov esi, dword [ebp - 0x7d4]
lea edx, [edi + 1]
push edx
push esi
call fcn.00450387
add esp, 8
cmp edi, dword [esi - 8]
jg 0x431322
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.0044fa71
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.0044fcb5
add esp, 0x14
push 0x473f98
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x800]
push eax
lea ebx, [ebp - 0x7e0]
call fcn.00421cd0
mov byte [ebp - 4], 0xe
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x43140b
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4313fb
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4313fb
call fcn.004267f0
mov edi, eax
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x4313ea
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 0x43140b
mov ebx, dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x7d4]
push ecx
call fcn.00401320
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 0x431431
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 0x4312e0
push 0x475d1c
lea edx, [ebp - 0x840]
push edx
push 0x4878dc
lea ebx, [ebp - 0x808]
call fcn.00421cd0
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 0x4314c5
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4314b5
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4314b5
call fcn.004267f0
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4314aa
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 0x4314c5
mov ebx, dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x800]
push ecx
call fcn.00401320
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 0x431257
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x431257
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.0043b6c0
test eax, eax
je 0x431d53
mov ecx, 0x477a4c
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
jne 0x431d3f
mov ecx, str._help
call fcn.0043bb50
test al, al
jne 0x431d3f
mov ecx, 0x477a60
call fcn.0043bb50
test al, al
jne 0x431d3f
mov ecx, str._debugdirectory
call fcn.0043bb50
test al, al
je 0x4315c4
push str._debugdirectory
call fcn.0043bc70
test eax, eax
je 0x4315c4
push str._debugdirectory
lea ecx, [ebp - 0x868]
push ecx
mov byte [ebp - 0x7d6], 1
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x10
call fcn.00421640
lea eax, [ebp - 0x868]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov edx, edi
push edx
call fcn.004218f0
mov ecx, str._debugversion
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x43162e
push str._debugversion
call fcn.0043bc70
test eax, eax
je 0x43162e
push str._debugversion
lea eax, [ebp - 0x848]
push eax
mov byte [ebp - 0x7d5], 1
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x11
call fcn.00421640
lea eax, [ebp - 0x848]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
mov ecx, str._afterreboot
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x43169d
push str._afterreboot
call fcn.0043bc70
test eax, eax
je 0x43169d
push str._afterreboot
lea edx, [ebp - 0x850]
push edx
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x12
call fcn.00421640
lea eax, [ebp - 0x850]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov eax, edi
push eax
call fcn.004218f0
mov eax, edi
mov edi, 0x4878f0
call fcn.00421640
mov ecx, str._updaterpath
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x43170c
push str._updaterpath
call fcn.0043bc70
test eax, eax
je 0x43170c
push str._updaterpath
lea ecx, [ebp - 0x870]
push ecx
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x13
call fcn.00421640
lea eax, [ebp - 0x870]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov edx, edi
push edx
call fcn.004218f0
mov eax, edi
mov edi, 0x4878f4
call fcn.00421640
mov ecx, str._updaterpid
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x4317a7
push str._updaterpid
call fcn.0043bc70
test eax, eax
je 0x4317a7
push str._updaterpid
lea eax, [ebp - 0x858]
push eax
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x14
call fcn.00421640
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
mov eax, dword [ebp - 0x7d4]
cmp dword [eax - 0xc], 0
je 0x4317a7
lea esi, [ebp - 0x408]
call fcn.00430560
mov edx, esi
push edx
mov byte [ebp - 4], 0x15
call fcn.0043c4c0
add esp, 4
mov dword [0x4876d4], eax
mov byte [ebp - 4], 7
call fcn.004305a0
mov ecx, str._sid
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x431816
push str._sid
call fcn.0043bc70
test eax, eax
je 0x431816
push str._sid
lea eax, [ebp - 0x880]
push eax
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x16
call fcn.00421640
lea eax, [ebp - 0x880]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
mov eax, edi
mov edi, 0x4878f8
call fcn.00421640
mov ecx, str._productdir
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x431885
push str._productdir
call fcn.0043bc70
test eax, eax
je 0x431885
push str._productdir
lea edx, [ebp - 0x860]
push edx
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x17
call fcn.00421640
lea eax, [ebp - 0x860]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov eax, edi
push eax
call fcn.004218f0
mov eax, edi
mov edi, 0x4878fc
call fcn.00421640
mov ecx, str._pipename
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x43191c
push str._pipename
call fcn.0043bc70
test eax, eax
je 0x43191c
push str._pipename
lea ecx, [ebp - 0x82c]
push ecx
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x18
call fcn.00421640
lea eax, [ebp - 0x82c]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov edx, edi
push edx
call fcn.004218f0
mov eax, dword [ebp - 0x7d4]
cmp dword [eax - 0xc], 0
je 0x43191c
push 0x487900
mov edx, str..pipe_
call fcn.004221f0
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ebx, 0x487900
call fcn.00424980
mov ecx, str._updaterservice
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x43199a
push str._updaterservice
call fcn.0043bc70
test eax, eax
je 0x43199a
push str._updaterservice
lea ecx, [ebp - 0x834]
push ecx
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x19
call fcn.00421640
lea eax, [ebp - 0x834]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov edx, edi
push edx
call fcn.004218f0
mov eax, edi
push eax
mov ecx, 0x477b60
call fcn.00421780
test eax, eax
jne 0x43199a
mov dword [0x4876cc], 1
mov ecx, str._appid
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x431a09
push str._appid
call fcn.0043bc70
test eax, eax
je 0x431a09
push str._appid
lea ecx, [ebp - 0x838]
push ecx
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1a
call fcn.00421640
lea eax, [ebp - 0x838]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov edx, edi
push edx
call fcn.004218f0
mov eax, edi
mov edi, 0x487904
call fcn.00421640
mov ecx, str._silentmode
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x431a87
push str._silentmode
call fcn.0043bc70
test eax, eax
je 0x431a87
push str._silentmode
lea eax, [ebp - 0x83c]
push eax
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1b
call fcn.00421640
lea eax, [ebp - 0x83c]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
mov edx, edi
push edx
mov ecx, 0x472e68
call fcn.00421780
test eax, eax
jne 0x431a87
mov dword [0x4876f0], 1
mov ecx, str._showrunningappwarning
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x431b05
push str._showrunningappwarning
call fcn.0043bc70
test eax, eax
je 0x431b05
push str._showrunningappwarning
lea eax, [ebp - 0x844]
push eax
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1c
call fcn.00421640
lea eax, [ebp - 0x844]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
mov edx, edi
push edx
mov ecx, 0x472e68
call fcn.00421780
test eax, eax
jne 0x431b05
mov dword [0x4876ec], 1
mov ecx, str._visible
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x431b88
push str._visible
call fcn.0043bc70
test eax, eax
je 0x431b88
push str._visible
lea eax, [ebp - 0x84c]
push eax
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1d
call fcn.00421640
lea eax, [ebp - 0x84c]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
mov edx, edi
push edx
mov ecx, 0x472d34
call fcn.00421780
test eax, eax
jne 0x431b88
mov edx, 0x472d34
mov edi, 0x487930
call fcn.004011b0
mov ecx, str._msiuilevel
lea esi, [ebp - 0x7f4]
call fcn.0043bb50
test al, al
je 0x431bfd
push str._msiuilevel
call fcn.0043bc70
test eax, eax
je 0x431bfd
push str._msiuilevel
lea eax, [ebp - 0x854]
push eax
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1e
call fcn.00421640
lea eax, [ebp - 0x854]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
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.0043bb50
test al, al
je 0x431c97
push str._runasadministrator
call fcn.0043bc70
test eax, eax
je 0x431c97
push str._runasadministrator
lea eax, [ebp - 0x85c]
push eax
call fcn.0043bba0
lea edi, [ebp - 0x7d4]
mov byte [ebp - 4], 0x1f
call fcn.00421640
lea eax, [ebp - 0x85c]
mov byte [ebp - 4], 7
call fcn.00421240
push 0x4776ac
push 0x4721b4
mov ecx, edi
push ecx
call fcn.004218f0
mov edx, edi
push edx
mov ecx, 0x472e68
call fcn.00421780
test eax, eax
jne 0x431c97
push 0x487914
mov ecx, str.user
call fcn.00421780
test eax, eax
jne 0x431c97
mov edx, str.administrator
mov edi, 0x487914
call fcn.004011b0
cmp byte [ebp - 0x7d6], 0
je 0x431d53
cmp byte [ebp - 0x7d5], 0
je 0x431d53
lea esi, [ebp - 0x814]
call fcn.0043c9b0
mov byte [ebp - 4], 2
call fcn.004341c0
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 0x431ceb
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 0x431d11
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.004379b0
mov ecx, dword [ebp - 0x7f0]
push ecx
jmp 0x4311bf
mov eax, dword [ebp - 0x814]
push eax
call fcn.0044f5e8
add esp, 4
jmp 0x431cbc
mov esi, 6
cmp dword [0x48771c], esi
jb 0x431e27
mov ecx, dword [0x487914]
push str.user
push ecx
call fcn.0044febf
add esp, 8
test eax, eax
je 0x431dd4
call fcn.00434220
test eax, eax
jne 0x431e27
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 0x431cb1
mov edi, eax
lea ecx, [ebp - 0x6b4]
call fcn.00401f50
push 0x47ba08
lea edx, [ebp - 0x6b4]
push edx
call fcn.00453410
call fcn.00434430
test eax, eax
je 0x431e27
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 0x431cb1
mov edi, eax
lea ecx, [ebp - 0x61c]
call fcn.00401f50
push 0x47ba08
lea eax, [ebp - 0x61c]
push eax
call fcn.00453410
mov ecx, dword [0x4878f4]
cmp dword [ecx - 0xc], 0
je 0x431e6f
mov edx, dword [0x487900]
cmp dword [edx - 0xc], 0
je 0x431e6f
mov eax, dword [0x4878fc]
cmp dword [eax - 0xc], 0
je 0x431e6f
mov edx, 0x472d34
mov edi, 0x487930
mov dword [0x4876f4], 1
mov dword [0x4876ec], 0
call fcn.004011b0
jmp 0x431e9e
cmp dword [0x48771c], esi
jb 0x431e9e
push 0x48787c
push 0x478540
push 1
push 0
push 0x46e738
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x431e9e
mov dword [0x487700], 1
cmp dword [0x4876f0], 0
je 0x431eb6
mov edx, 0x472d34
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 0x431f1d
push str._Empty_
push eax
call fcn.0044febf
add esp, 8
test eax, eax
je 0x431f1d
lea ecx, [ebp - 0x818]
push ecx
mov ecx, 0x474348
call fcn.00401110
lea edx, [ebp - 0x818]
push edx
push 0x486100
push 0x487948
mov byte [ebp - 4], 0x20
call fcn.00429d30
add esp, 0xc
lea eax, [ebp - 0x818]
mov byte [ebp - 4], 7
call fcn.00421240
mov eax, dword [0x48794c]
push 0x472e68
push eax
call fcn.0044febf
add esp, 8
test eax, eax
jne 0x43248d
mov ecx, dword [0x487950]
cmp dword [ecx - 0xc], eax
je 0x43248d
push 0x487950
mov ecx, str._Empty_
call fcn.00421780
test eax, eax
je 0x43248d
lea edx, [ebp - 0x7f8]
push edx
mov ecx, 0x477c4c
call fcn.00401110
lea eax, [ebp - 0x804]
push eax
mov ecx, 0x477c5c
mov byte [ebp - 4], 0x21
call fcn.00401110
mov byte [ebp - 4], 0x22
mov eax, dword [0x487950]
add eax, 0xfffffff0
call fcn.004267f0
add eax, 0x10
mov dword [ebp - 0x7e4], eax
push 0x487958
mov ecx, str._Empty_
mov byte [ebp - 4], 0x23
call fcn.00421780
test eax, eax
jne 0x432071
mov esi, 0x487958
call fcn.004013d0
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 0x477c70
push edx
mov dword [ebp - 0x7dc], ecx
call fcn.0044febf
add esp, 8
test eax, eax
jne 0x43229a
cmp word [ebp - 0x33e], 1
jbe 0x4322b5
lea esi, [eax + 1]
jmp 0x4322b5
mov ecx, dword [0x487958]
cmp dword [ecx - 0xc], 0
jle 0x431fc3
mov esi, 0x25
jmp 0x432090
mov edx, dword [0x487958]
cmp dword [edx - 0xc], 0
jle 0x43210c
push 0x487958
mov eax, 1
lea ecx, [ebp - 0x828]
call fcn.00421e80
mov byte [ebp - 4], 0x24
mov ebx, dword [ebp - 0x7fc]
or ebx, 1
push eax
mov ecx, 0x475d1c
mov dword [ebp - 0x7fc], ebx
call fcn.00421730
test eax, eax
je 0x432103
push 0x487958
mov eax, 1
lea ecx, [ebp - 0x864]
call fcn.00421e80
mov dword [ebp - 4], esi
or ebx, 2
push eax
mov ecx, 0x4776a8
mov dword [ebp - 0x7fc], ebx
call fcn.00421730
test eax, eax
jne 0x432112
mov byte [ebp - 0x7d5], 1
jmp 0x432119
mov ebx, dword [ebp - 0x7fc]
mov byte [ebp - 0x7d5], 0
test bl, 2
je 0x432132
and ebx, 0xfffffffd
lea eax, [ebp - 0x864]
mov dword [ebp - 0x7fc], ebx
call fcn.00421240
mov dword [ebp - 4], 0x23
test bl, 1
je 0x432152
and ebx, 0xfffffffe
lea eax, [ebp - 0x828]
mov dword [ebp - 0x7fc], ebx
call fcn.00421240
cmp byte [ebp - 0x7d5], 0
je 0x432196
mov eax, dword [0x487958]
mov eax, dword [eax - 0xc]
dec eax
lea ecx, [ebp - 0x874]
mov edx, 0x487958
call fcn.00421f00
mov edi, 0x487958
mov byte [ebp - 4], 0x26
call fcn.00421640
lea eax, [ebp - 0x874]
mov byte [ebp - 4], 0x23
call fcn.00421240
jmp 0x432090
mov ecx, dword [0x487958]
cmp dword [ecx - 0xc], 0
jle 0x431fc3
mov esi, 0x28
jmp 0x4321b0
mov eax, 1
lea ecx, [ebp - 0x884]
mov edx, 0x487958
call fcn.00421f00
mov byte [ebp - 4], 0x27
or ebx, 4
push eax
mov ecx, 0x475d1c
mov dword [ebp - 0x7fc], ebx
call fcn.00421730
test eax, eax
je 0x432218
mov eax, 1
lea ecx, [ebp - 0x87c]
mov edx, 0x487958
call fcn.00421f00
mov dword [ebp - 4], esi
or ebx, 8
push eax
mov ecx, 0x4776a8
mov dword [ebp - 0x7fc], ebx
call fcn.00421730
mov byte [ebp - 0x7d5], 0
test eax, eax
jne 0x43221f
mov byte [ebp - 0x7d5], 1
test bl, 8
je 0x432232
lea eax, [ebp - 0x87c]
and ebx, 0xfffffff7
call fcn.00421240
mov dword [ebp - 4], 0x23
test bl, 4
je 0x43224c
lea eax, [ebp - 0x884]
and ebx, 0xfffffffb
call fcn.00421240
cmp byte [ebp - 0x7d5], 0
je 0x431fc3
mov edx, dword [0x487958]
mov eax, dword [edx - 0xc]
dec eax
push 0x487958
mov ecx, 1
lea edx, [ebp - 0x80c]
call fcn.004248d0
mov edi, 0x487958
mov byte [ebp - 4], 0x29
call fcn.00421640
lea eax, [ebp - 0x80c]
mov byte [ebp - 4], 0x23
call fcn.00421240
jmp 0x4321b0
mov eax, 1
cmp word [ebp - 0x342], ax
ja 0x4322b1
cmp word [ebp - 0x33e], ax
jbe 0x4322b5
mov esi, eax
mov ebx, eax
movzx eax, si
push eax
push str._02d
lea edi, [ebp - 0x7e0]
call fcn.00428bb0
movzx ecx, bx
mov edx, dword [ecx*4 + 0x4860cc]
add esp, 8
push edx
push 0x477c88
lea edi, [ebp - 0x808]
call fcn.00428bb0
movzx eax, word [ebp - 0x7dc]
add esp, 8
push eax
push 0x477c90
lea edi, [ebp - 0x7fc]
call fcn.00428bb0
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax - 0xc]
add esp, 8
push ecx
push eax
lea ebx, [ebp - 0x7e4]
call fcn.00424980
mov eax, dword [ebp - 0x808]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.00424980
mov eax, dword [ebp - 0x7fc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.00424980
mov ecx, dword [0x487954]
push str._Empty_
push ecx
call fcn.0044febf
add esp, 8
test eax, eax
jne 0x43235d
mov esi, 0x487954
call fcn.004013d0
mov edx, dword [0x487954]
cmp dword [edx - 0xc], 0
jle 0x4323cb
mov eax, 1
lea ecx, [ebp - 0x7dc]
mov edx, 0x487954
call fcn.00421f00
push eax
mov ecx, 0x4719d4
mov byte [ebp - 4], 0x2d
call fcn.00421730
test eax, eax
lea eax, [ebp - 0x7dc]
sete bl
mov byte [ebp - 4], 0x2c
call fcn.00421240
test bl, bl
jne 0x4323b6
lea eax, [ebp - 0x7e4]
push eax
mov edx, 0x4719d4
call fcn.004221f0
mov eax, dword [0x487954]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ebx, [ebp - 0x7e4]
call fcn.00424980
mov esi, dword [ebp - 0x7e4]
mov eax, dword [esi - 0xc]
push eax
push esi
lea ebx, [ebp - 0x7f8]
call fcn.00424980
mov ecx, ebx
push ecx
mov edx, 0x475d1c
call fcn.004221f0
mov eax, dword [0x487958]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.00424980
mov eax, dword [esi - 0xc]
push eax
push esi
lea ebx, [ebp - 0x804]
call fcn.00424980
mov edx, ebx
push edx
mov edx, 0x475d1c
call fcn.004221f0
mov eax, dword [0x487958]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call fcn.00424980
mov eax, dword [ebp - 0x7f8]
push eax
mov ecx, 0x486100
call fcn.00429be0
mov ecx, dword [ebp - 0x804]
push ecx
mov ecx, 0x486100
call fcn.00429be0
lea eax, [ebp - 0x7fc]
call fcn.00421240
lea eax, [ebp - 0x808]
call fcn.00421240
lea eax, [ebp - 0x7e0]
call fcn.00421240
lea eax, [ebp - 0x7e4]
call fcn.00421240
mov eax, ebx
call fcn.00421240
lea eax, [ebp - 0x7f8]
mov byte [ebp - 4], 7
call fcn.00421240
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 [0x4795d8]
fstp dword [0x4876dc]
fld dword [0x4876dc]
fstp dword [0x4876d8]
call fcn.00433630
mov edx, dword [ebp + 0x14]
push edx
push esi
call fcn.004336b0
add esp, 0xc
test eax, eax
jne 0x432583
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x432541
call esi
mov edi, eax
lea ecx, [ebp - 0x668]
call fcn.00401f50
push 0x47ba08
lea eax, [ebp - 0x668]
push eax
call fcn.00453410
mov eax, str.Unknown_error_in_the_InitInstance_function.
lea esi, [ebp - 0x360]
call fcn.00430560
mov ebx, esi
lea esi, [ebp - 0x5d0]
mov byte [ebp - 4], 0x2e
call fcn.00422b30
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.00453410
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 0x4325f4
mov edx, dword [ebp - 0x8a4]
lea ecx, [ebp - 0x8a4]
push ecx
push esi
push edx
call ebx
test eax, eax
jne 0x4325b0
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 0x4325b0
cmp dword [ebp - 0x89c], 0
je 0x4326d3
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 0x432645
mov ecx, dword [ebp - 0x89c]
push ecx
push str.The_installer_failed._Exit_code:__d.
call fcn.00428bb0
add esp, 8
jmp 0x43265a
mov edx, dword [ebp - 0x89c]
push edx
push eax
push str.The__s_installer_failed._Exit_code:__d.
call fcn.00428bb0
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 0x432682
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.00430450
lea ebx, [ebp - 0x3d0]
lea esi, [ebp - 0x584]
mov byte [ebp - 4], 0x30
call fcn.00422b30
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.00453410
mov edx, dword [ebp - 0x814]
push edx
call fcn.0044f5e8
add esp, 4
mov dword [ebp - 4], 2
jmp 0x431cc0
lea edx, [ebp - 0x820]
push edx
lea ecx, [ebp - 0x8bc]
mov dword [ebp - 0x820], edi
call fcn.0044f0f1
push 0x47bb24
lea eax, [ebp - 0x8bc]
push eax
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00453410
int3