Function at 0x47345a
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6b0
push ebx
push esi
mov ebx, eax
push edi
lea eax, [ebp - 8]
push eax
mov ecx, str.InterbootContext
call fcn.0046a890
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x18]
mov esi, 0x5189b8
push eax
mov dword [ebp - 0x1c], esi
call fcn.00467f70
lea eax, [ebp - 8]
push eax
mov dword [ebp - 0x14], 0x475f68
mov byte [ebp - 0x10], 1
mov dword [ebp - 0xc], ebx
call fcn.0044e699
mov edi, dword [ebp + 8]
test byte [edi + 0x6c], 2
jne 0x4734e6
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0xc], 0
je 0x4734c0
push dword [ebp - 0xc]
lea eax, [ebp - 0x1c]
push eax
call dword [ebp - 0x14]
pop ecx
pop ecx
cmp byte [ebp - 0x10], 0
je 0x4734d4
push dword [ebp - 0x18]
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea eax, [ebp - 0x18]
push eax
call fcn.0044e699
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
lea esi, [edi + 0x18]
push 0x15
call fcn.00481701
test eax, eax
je 0x4734fd
mov dword [ebp - 0x1c], 0x5189b8
jmp 0x4734ae
mov eax, dword [ebx + 0x34]
mov dword [edi + 0xb8], eax
mov al, byte [ebx + 0x38]
mov byte [edi + 0xbc], al
cmp dword [ebx + 8], 0
jle 0x473544
push 0x14
call fcn.00481701
test eax, eax
je 0x47352b
add eax, 4
push eax
mov eax, ebx
call fcn.0047716a
push 0xdf
lea esi, [ebp - 0x30]
mov eax, edi
mov dword [ebp - 0x30], 0x5109c0
mov dword [ebp - 0x2c], ebx
call fcn.00473c48
mov eax, ebx
call fcn.00477213
test al, al
jne 0x4735bc
cmp byte [0x5457ac], al
je 0x47357e
push str.No_prerequisite_must_be_installed.
lea eax, [ebp + 8]
push eax
call fcn.0048273d
push eax
call fcn.0048274d
push eax
mov eax, 0x54577c
call fcn.00481b6e
lea ecx, [ebp + 8]
call fcn.004036cd
xor esi, esi
mov dword [ebp - 0x1c], 0x5189b8
cmp dword [ebp - 0xc], esi
je 0x473598
push dword [ebp - 0xc]
lea eax, [ebp - 0x1c]
push eax
call dword [ebp - 0x14]
pop ecx
pop ecx
cmp byte [ebp - 0x10], 0
je 0x4735ac
push dword [ebp - 0x18]
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea eax, [ebp - 0x18]
push eax
call fcn.0044e699
mov eax, esi
jmp 0x4734df
lea esi, [edi + 0x16c]
mov eax, esi
mov dword [ebp - 0x20], esi
call fcn.0048141b
and dword [ebp - 8], 0
push esi
lea eax, [edi + 0x28]
push eax
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x1c]
mov edx, ebx
mov eax, edi
call fcn.00488a30
push ebx
call fcn.00476eab
test al, al
je 0x47369b
cmp byte [0x5457ac], 0
mov esi, 0x54577c
je 0x473628
push str.Starting_installing_prerequisites_in_silent_mode.
lea eax, [ebp - 0x20]
push eax
call fcn.0048273d
push eax
call fcn.0048274d
push eax
mov eax, esi
call fcn.00481b6e
lea ecx, [ebp - 0x20]
call fcn.004036cd
lea eax, [ebp - 0xb4]
push eax
mov byte [ebp - 0x84], 1
call fcn.00489abd
push 0
lea eax, [ebp - 0xb4]
push eax
call fcn.00488e21
push 0
lea ebx, [ebp - 0xb4]
call fcn.004893e7
xor ebx, ebx
push ebx
lea eax, [ebp - 0xb4]
push eax
call fcn.004897aa
cmp byte [ebp - 0x53], bl
jne 0x47379f
lea eax, [ebp - 0xb4]
call fcn.00488bfe
lea edi, [ebp - 0xb4]
call fcn.004899b0
mov edi, dword [ebp + 8]
test al, al
jne 0x47379f
mov dword [ebp - 8], 1
jmp 0x47379f
push ebx
call fcn.00476f86
mov esi, 0x54577c
test al, al
je 0x473738
cmp byte [0x5457ac], 0
je 0x4736db
push str.Starting_installing_prerequisites_in_basic_UI_mode.
lea eax, [ebp - 0x24]
push eax
call fcn.0048273d
push eax
call fcn.0048274d
push eax
mov eax, esi
call fcn.00481b6e
lea ecx, [ebp - 0x24]
call fcn.004036cd
mov eax, dword [ebp - 0x20]
push 0
call fcn.004812f3
push eax
lea eax, [ebp - 0xb4]
lea edi, [ebp - 0x10c]
call fcn.00489f86
lea eax, [ebp - 0xb4]
push eax
call fcn.00489abd
mov ebx, edi
call fcn.0048a01c
dec eax
je 0x473724
dec eax
je 0x47371e
sub eax, 5
jne 0x473728
mov dword [ebp - 8], 1
jmp 0x473728
or dword [ebp - 8], 0xffffffff
jmp 0x473728
and dword [ebp - 8], 0
lea edi, [ebp - 0x10c]
call fcn.00489fe9
mov edi, dword [ebp + 8]
jmp 0x47379d
cmp byte [0x5457ac], 0
je 0x473765
push str.Starting_installing_prerequisites_in_full_UI_mode.
lea eax, [ebp + 8]
push eax
call fcn.0048273d
push eax
call fcn.0048274d
push eax
mov eax, esi
call fcn.00481b6e
lea ecx, [ebp + 8]
call fcn.004036cd
push dword [ebp - 0x20]
lea eax, [ebp - 0xb4]
push eax
lea ebx, [ebp - 0x6ac]
call fcn.0048a262
call dword [sym.imp.USER32.dll_GetActiveWindow]
call fcn.00476384
cmp byte [ebp - 0x613], 0
je 0x473792
or dword [ebp - 8], 0xffffffff
lea ebx, [ebp - 0x6ac]
call fcn.004738b3
xor ebx, ebx
cmp byte [0x5457ac], bl
je 0x4737df
push dword [ebp - 0x53]
lea eax, [ebp + 8]
push str.__Reboot_was_required
push str.After_running_prerequisites_we_have:
push eax
call fcn.0048273d
push eax
call fcn.0048274d
push eax
call fcn.0048274d
push eax
call fcn.00482768
push eax
mov eax, esi
call fcn.00481b6e
lea ecx, [ebp + 8]
call fcn.004036cd
cmp byte [ebp - 0x53], bl
je 0x47385d
cmp byte [0x5457ac], bl
je 0x473819
push dword [ebp - 0x54]
lea eax, [ebp + 8]
push str.__Reboot_was_refused
push eax
call fcn.0048273d
push eax
call fcn.0048274d
push eax
call fcn.00482768
push eax
mov eax, esi
call fcn.00481b6e
lea ecx, [ebp + 8]
call fcn.004036cd
cmp byte [ebp - 0x54], bl
jne 0x473853
cmp byte [0x5457ac], bl
je 0x473853
push dword [ebp - 0x38]
lea eax, [ebp + 8]
push str.__Reboot_in_Progress
push eax
call fcn.0048273d
push eax
call fcn.0048274d
push eax
call fcn.00482768
push eax
mov eax, esi
call fcn.00481b6e
lea ecx, [ebp + 8]
call fcn.004036cd
cmp byte [ebp - 0x53], bl
je 0x47385d
cmp byte [ebp - 0x54], bl
je 0x473862
cmp byte [ebp - 0x38], bl
je 0x473870
or dword [ebp - 8], 0xffffffff
mov byte [ebp - 0x10], bl
mov byte [edi + 0x1c0], 1
mov esi, dword [ebp - 8]
mov dword [edi + 0x10], esi
lea edi, [ebp - 0x68]
call fcn.00476935
lea edi, [ebp - 0x9c]
call fcn.00489bd2
mov dword [ebp - 0xb0], 0x510914
mov dword [ebp - 0x1c], 0x5189b8
cmp dword [ebp - 0xc], ebx
je 0x4738ab
push dword [ebp - 0xc]
lea eax, [ebp - 0x1c]
push eax
call dword [ebp - 0x14]
pop ecx
pop ecx
cmp byte [ebp - 0x10], bl
jmp 0x47359c