Function at 0x47b8b0
Capabilities:
Delete registry key

Disassembly:
push 0x708
mov eax, 0x507874
call fcn.004d2c4d
mov ebx, ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x618]
push str.InterbootContext
call fcn.00471b30
lea eax, [ebp - 0x618]
mov dword [ebp - 0x630], 0x52ec3c
push eax
lea ecx, [ebp - 0x62c]
call fcn.0046e9f0
mov dword [ebp - 0x628], 0x47ec44
mov byte [ebp - 0x624], 1
mov dword [ebp - 0x620], esi
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x618]
lea ecx, [ecx - 0x10]
call fcn.00406df6
test byte [ebx + 0x6c], 2
je 0x47ba1f
push 0x15
lea ecx, [ebx + 0x18]
call fcn.004894b5
test eax, eax
jne 0x47ba1f
mov eax, dword [esi + 0x34]
mov dword [ebx + 0xb8], eax
mov al, byte [esi + 0x38]
mov byte [ebx + 0xbc], al
cmp dword [esi + 8], 0
jle 0x47b989
push 0x14
lea ecx, [ebx + 0x18]
call fcn.004894b5
test eax, eax
je 0x47b966
add eax, 4
mov ecx, esi
push eax
call fcn.004800ff
push 0xdf
lea eax, [ebp - 0x63c]
mov dword [ebp - 0x63c], 0x52bc94
push eax
mov ecx, ebx
mov dword [ebp - 0x638], esi
call fcn.0047c464
mov eax, dword [esi + 8]
xor edi, edi
mov dword [ebp - 0x618], eax
test eax, eax
jle 0x47b9cd
lea eax, [esi + 4]
push edi
mov ecx, eax
call fcn.0047f2f2
mov eax, dword [eax + 0x64]
cmp eax, 2
je 0x47ba8d
cmp eax, 1
je 0x47ba8d
cmp eax, 3
je 0x47ba8d
inc edi
lea eax, [esi + 4]
cmp edi, dword [ebp - 0x618]
jl 0x47b99b
cmp byte [0x56b83c], 0
je 0x47ba1f
call fcn.00406d01
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b29
or ebx, 0xffffffff
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x618]
push str.No_prerequisite_must_be_installed.
call fcn.004072c4
lea eax, [ebp - 0x618]
mov ecx, 0x56b80c
push eax
call fcn.00489943
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x618]
lea ecx, [ecx - 0x10]
call fcn.00406df6
xor edi, edi
cmp dword [ebp - 0x620], 0
mov dword [ebp - 0x630], 0x52ec3c
je 0x47ba49
push dword [ebp - 0x620]
lea eax, [ebp - 0x630]
push eax
call dword [ebp - 0x628]
pop ecx
pop ecx
cmp byte [ebp - 0x624], 0
je 0x47ba63
push dword [ebp - 0x62c]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea eax, [ebp - 0x62c]
mov dword [ebp - 0x61c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x62c]
add ecx, 0xfffffff0
call fcn.00406df6
mov eax, edi
call fcn.004d2bf7
ret 4
lea ecx, [ebx + 0x178]
call fcn.004845ba
lea ecx, [ebp - 0x630]
xor edi, edi
push ecx
lea eax, [ebx + 0x16c]
push eax
lea eax, [ebx + 0x28]
push eax
push esi
push ebx
lea ecx, [ebp - 0x6bc]
call fcn.0048f4fa
mov ecx, esi
call fcn.0047fdaa
test al, al
je 0x47bb88
cmp byte [0x56b83c], 0
mov esi, 0x56b80c
je 0x47bb1b
call fcn.00406d01
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b29
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x618]
push str.Starting_installing_prerequisites_in_silent_mode.
call fcn.004072c4
lea eax, [ebp - 0x618]
mov ecx, esi
push eax
call fcn.00489943
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x618]
lea ecx, [eax - 0x10]
call fcn.00406df6
lea ecx, [ebp - 0x6bc]
mov byte [ebp - 0x68c], 1
call fcn.0049073e
push 0
lea ecx, [ebp - 0x6bc]
call fcn.0048f91d
push 0
lea ecx, [ebp - 0x6bc]
call fcn.0048ffdb
push 0
lea ecx, [ebp - 0x6bc]
call fcn.004903cd
cmp byte [ebp - 0x65b], 0
jne 0x47bd32
push ecx
lea ecx, [ebp - 0x6bc]
call fcn.0048f6dc
lea ecx, [ebp - 0x6bc]
call fcn.0049062e
test al, al
jne 0x47bd32
xor edi, edi
inc edi
jmp 0x47bd32
mov ecx, esi
call fcn.0047fec4
test al, al
je 0x47bc9a
cmp byte [0x56b83c], 0
je 0x47bbe9
call fcn.00406d01
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b29
or esi, 0xffffffff
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x618]
push str.Starting_installing_prerequisites_in_basic_UI_mode.
call fcn.004072c4
lea eax, [ebp - 0x618]
mov ecx, 0x56b80c
push eax
call fcn.00489943
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x618]
lea ecx, [ecx - 0x10]
call fcn.00406df6
push 0
lea ecx, [ebx + 0x16c]
call fcn.00484731
lea ecx, [ebp - 0x714]
mov esi, eax
call fcn.00421707
and dword [ebp - 0x6dc], 0
lea eax, [ebp - 0x6bc]
mov dword [ebp - 0x6f0], eax
lea ecx, [ebp - 0x6d4]
mov dword [ebp - 0x6e4], eax
lea eax, [ebp - 0x6f4]
mov dword [ebp - 0x714], 0x52eeb8
mov dword [ebp - 0x6f4], 0x52ee88
mov dword [ebp - 0x6ec], esi
mov byte [ebp - 0x6e8], 0
mov dword [ebp - 0x6e0], eax
call fcn.0049a926
lea ecx, [ebp - 0x6bc]
call fcn.0049073e
lea ecx, [ebp - 0x714]
call fcn.00490d50
sub eax, 1
je 0x47bc83
sub eax, 1
je 0x47bc7e
sub eax, 5
jne 0x47bc85
xor edi, edi
inc edi
jmp 0x47bc85
or edi, 0xffffffff
jmp 0x47bc85
xor edi, edi
lea ecx, [ebp - 0x714]
call fcn.00490d06
mov esi, 0x56b80c
jmp 0x47bd32
cmp byte [0x56b83c], 0
mov esi, 0x56b80c
je 0x47bced
call fcn.00406d01
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b29
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x618]
push str.Starting_installing_prerequisites_in_full_UI_mode.
call fcn.004072c4
lea eax, [ebp - 0x618]
mov ecx, esi
push eax
call fcn.00489943
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x618]
lea ecx, [ecx - 0x10]
call fcn.00406df6
lea eax, [ebx + 0x16c]
push eax
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x614]
call fcn.00490f9f
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x614]
call fcn.0047eefe
movzx eax, byte [ebp - 0x57b]
lea ecx, [ebp - 0x614]
test eax, eax
push 0xffffffffffffffff
pop eax
cmovne edi, eax
call fcn.0047beeb
mov al, byte [0x56b83c]
test al, al
je 0x47bdb0
mov al, byte [ebp - 0x65b]
mov byte [ebp - 0x61c], al
call fcn.00406d01
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b29
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x618]
push str.After_running_prerequisites_we_have:
call fcn.004072c4
push str.__Reboot_was_required
lea ecx, [ebp - 0x618]
call fcn.004072c4
push dword [ebp - 0x61c]
lea ecx, [ebp - 0x618]
call fcn.0048a463
push eax
mov ecx, esi
call fcn.00489943
or eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x618]
lea ecx, [eax - 0x10]
call fcn.00406df6
mov al, byte [0x56b83c]
cmp byte [ebp - 0x65b], 0
je 0x47bea7
test al, al
je 0x47be26
mov al, byte [ebp - 0x65c]
mov byte [ebp - 0x61c], al
call fcn.00406d01
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b29
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x618]
push str.__Reboot_was_refused
call fcn.004072c4
push dword [ebp - 0x61c]
lea ecx, [ebp - 0x618]
call fcn.0048a463
push eax
mov ecx, esi
call fcn.00489943
or eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x618]
lea ecx, [eax - 0x10]
call fcn.00406df6
mov al, byte [0x56b83c]
mov cl, byte [ebp - 0x65c]
test cl, cl
jne 0x47be9a
test al, al
je 0x47be9a
mov al, byte [ebp - 0x640]
mov byte [ebp - 0x61c], al
call fcn.00406d01
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b29
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x618]
push str.__Reboot_in_Progress
call fcn.004072c4
push dword [ebp - 0x61c]
lea ecx, [ebp - 0x618]
call fcn.0048a463
push eax
mov ecx, esi
call fcn.00489943
or eax, 0xffffffff
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x618]
add ecx, 0xfffffff0
call fcn.00406df6
mov cl, byte [ebp - 0x65c]
cmp byte [ebp - 0x65b], 0
je 0x47bea7
test cl, cl
je 0x47beb0
cmp byte [ebp - 0x640], 0
je 0x47bec3
or eax, 0xffffffff
mov byte [ebp - 0x624], 0
mov byte [ebx + 0x1c0], 1
mov edi, eax
lea ecx, [ebp - 0x670]
mov dword [ebx + 0x10], edi
call fcn.0047f818
lea ecx, [ebp - 0x6a4]
call fcn.00490873
mov dword [ebp - 0x6b8], 0x52bd38
jmp 0x47ba21