Function at 0x47c286
Capabilities:
Delete registry key

Disassembly:
push 0x708
mov eax, 0x50a2a4
call fcn.004d0d27
mov ebx, ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x618]
push str.InterbootContext
call fcn.00472570
lea eax, [ebp - 0x618]
mov dword [ebp - 0x630], 0x534554
push eax
lea ecx, [ebp - 0x62c]
call fcn.0046f250
mov dword [ebp - 0x628], 0x47f67a
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.00406dd3
test byte [ebx + 0x6c], 2
je 0x47c3f5
push 0x15
lea ecx, [ebx + 0x18]
call fcn.00489ee9
test eax, eax
jne 0x47c3f5
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 0x47c35f
push 0x14
lea ecx, [ebx + 0x18]
call fcn.00489ee9
test eax, eax
je 0x47c33c
add eax, 4
mov ecx, esi
push eax
call fcn.00480b40
push 0xdf
lea eax, [ebp - 0x63c]
mov dword [ebp - 0x63c], 0x53159c
push eax
mov ecx, ebx
mov dword [ebp - 0x638], esi
call fcn.0047ce3a
mov eax, dword [esi + 8]
xor edi, edi
mov dword [ebp - 0x618], eax
test eax, eax
jle 0x47c3a3
lea eax, [esi + 4]
push edi
mov ecx, eax
call fcn.0047fd28
mov eax, dword [eax + 0x64]
cmp eax, 2
je 0x47c463
cmp eax, 1
je 0x47c463
cmp eax, 3
je 0x47c463
inc edi
lea eax, [esi + 4]
cmp edi, dword [ebp - 0x618]
jl 0x47c371
cmp byte [0x5706cc], 0
je 0x47c3f5
call fcn.00406cde
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b09
or ebx, 0xffffffff
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x618]
push str.No_prerequisite_must_be_installed.
call fcn.004072a1
lea eax, [ebp - 0x618]
mov ecx, 0x57069c
push eax
call fcn.0048a377
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x618]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
xor edi, edi
cmp dword [ebp - 0x620], 0
mov dword [ebp - 0x630], 0x534554
je 0x47c41f
push dword [ebp - 0x620]
lea eax, [ebp - 0x630]
push eax
call dword [ebp - 0x628]
pop ecx
pop ecx
cmp byte [ebp - 0x624], 0
je 0x47c439
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.00406dd3
mov eax, edi
call fcn.004d0cd1
ret 4
lea ecx, [ebx + 0x178]
call fcn.00484ff8
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.0048ff65
mov ecx, esi
call fcn.004807eb
test al, al
je 0x47c55e
cmp byte [0x5706cc], 0
mov esi, 0x57069c
je 0x47c4f1
call fcn.00406cde
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b09
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x618]
push str.Starting_installing_prerequisites_in_silent_mode.
call fcn.004072a1
lea eax, [ebp - 0x618]
mov ecx, esi
push eax
call fcn.0048a377
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x618]
lea ecx, [eax - 0x10]
call fcn.00406dd3
lea ecx, [ebp - 0x6bc]
mov byte [ebp - 0x68c], 1
call fcn.004911a9
push 0
lea ecx, [ebp - 0x6bc]
call fcn.00490388
push 0
lea ecx, [ebp - 0x6bc]
call fcn.00490a46
push 0
lea ecx, [ebp - 0x6bc]
call fcn.00490e38
cmp byte [ebp - 0x65b], 0
jne 0x47c708
push ecx
lea ecx, [ebp - 0x6bc]
call fcn.00490147
lea ecx, [ebp - 0x6bc]
call fcn.00491099
test al, al
jne 0x47c708
xor edi, edi
inc edi
jmp 0x47c708
mov ecx, esi
call fcn.00480905
test al, al
je 0x47c670
cmp byte [0x5706cc], 0
je 0x47c5bf
call fcn.00406cde
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b09
or esi, 0xffffffff
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x618]
push str.Starting_installing_prerequisites_in_basic_UI_mode.
call fcn.004072a1
lea eax, [ebp - 0x618]
mov ecx, 0x57069c
push eax
call fcn.0048a377
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x618]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
push 0
lea ecx, [ebx + 0x16c]
call fcn.0048516f
lea ecx, [ebp - 0x714]
mov esi, eax
call fcn.00421811
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], 0x53479c
mov dword [ebp - 0x6f4], 0x5347ac
mov dword [ebp - 0x6ec], esi
mov byte [ebp - 0x6e8], 0
mov dword [ebp - 0x6e0], eax
call fcn.0049b392
lea ecx, [ebp - 0x6bc]
call fcn.004911a9
lea ecx, [ebp - 0x714]
call fcn.004917bb
sub eax, 1
je 0x47c659
sub eax, 1
je 0x47c654
sub eax, 5
jne 0x47c65b
xor edi, edi
inc edi
jmp 0x47c65b
or edi, 0xffffffff
jmp 0x47c65b
xor edi, edi
lea ecx, [ebp - 0x714]
call fcn.00491771
mov esi, 0x57069c
jmp 0x47c708
cmp byte [0x5706cc], 0
mov esi, 0x57069c
je 0x47c6c3
call fcn.00406cde
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b09
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x618]
push str.Starting_installing_prerequisites_in_full_UI_mode.
call fcn.004072a1
lea eax, [ebp - 0x618]
mov ecx, esi
push eax
call fcn.0048a377
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x618]
lea ecx, [ecx - 0x10]
call fcn.00406dd3
lea eax, [ebx + 0x16c]
push eax
lea eax, [ebp - 0x6bc]
push eax
lea ecx, [ebp - 0x614]
call fcn.00491a0a
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x614]
call fcn.0047f934
movzx eax, byte [ebp - 0x57b]
lea ecx, [ebp - 0x614]
test eax, eax
push 0xffffffffffffffff
pop eax
cmovne edi, eax
call fcn.0047c8c1
mov al, byte [0x5706cc]
test al, al
je 0x47c786
mov al, byte [ebp - 0x65b]
mov byte [ebp - 0x61c], al
call fcn.00406cde
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b09
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x618]
push str.After_running_prerequisites_we_have:
call fcn.004072a1
push str.__Reboot_was_required
lea ecx, [ebp - 0x618]
call fcn.004072a1
push dword [ebp - 0x61c]
lea ecx, [ebp - 0x618]
call fcn.0048ae92
push eax
mov ecx, esi
call fcn.0048a377
or eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x618]
lea ecx, [eax - 0x10]
call fcn.00406dd3
mov al, byte [0x5706cc]
cmp byte [ebp - 0x65b], 0
je 0x47c87d
test al, al
je 0x47c7fc
mov al, byte [ebp - 0x65c]
mov byte [ebp - 0x61c], al
call fcn.00406cde
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b09
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x618]
push str.__Reboot_was_refused
call fcn.004072a1
push dword [ebp - 0x61c]
lea ecx, [ebp - 0x618]
call fcn.0048ae92
push eax
mov ecx, esi
call fcn.0048a377
or eax, 0xffffffff
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x618]
lea ecx, [eax - 0x10]
call fcn.00406dd3
mov al, byte [0x5706cc]
mov cl, byte [ebp - 0x65c]
test cl, cl
jne 0x47c870
test al, al
je 0x47c870
mov al, byte [ebp - 0x640]
mov byte [ebp - 0x61c], al
call fcn.00406cde
push eax
lea ecx, [ebp - 0x618]
call fcn.00406b09
or eax, 0xffffffff
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x618]
push str.__Reboot_in_Progress
call fcn.004072a1
push dword [ebp - 0x61c]
lea ecx, [ebp - 0x618]
call fcn.0048ae92
push eax
mov ecx, esi
call fcn.0048a377
or eax, 0xffffffff
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x618]
add ecx, 0xfffffff0
call fcn.00406dd3
mov cl, byte [ebp - 0x65c]
cmp byte [ebp - 0x65b], 0
je 0x47c87d
test cl, cl
je 0x47c886
cmp byte [ebp - 0x640], 0
je 0x47c899
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.0048024e
lea ecx, [ebp - 0x6a4]
call fcn.004912de
mov dword [ebp - 0x6b8], 0x531638
jmp 0x47c3f7