Function at 0x46617f
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x674
push ebx
push esi
push edi
lea eax, [ebp - 4]
push eax
mov ecx, str.InterbootContext
call fcn.0045e310
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x14]
mov esi, 0x4fafe4
push eax
mov dword [ebp - 0x18], esi
call fcn.0045ad80
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 4]
push eax
mov dword [ebp - 0x10], 0x468c4d
mov byte [ebp - 0xc], 1
mov dword [ebp - 8], edi
call fcn.0044421f
mov ebx, dword [ebp + 8]
test byte [ebx + 0x6c], 2
jne 0x46620c
mov dword [ebp - 0x18], esi
cmp dword [ebp - 8], 0
je 0x4661e6
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x4661fa
push dword [ebp - 0x14]
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea eax, [ebp - 0x14]
push eax
call fcn.0044421f
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8
lea esi, [ebx + 0x18]
push 0x15
call fcn.004737a3
test eax, eax
je 0x466223
mov dword [ebp - 0x18], 0x4fafe4
jmp 0x4661d4
mov eax, dword [edi + 0x34]
mov dword [ebx + 0xac], eax
mov al, byte [edi + 0x38]
mov byte [ebx + 0xb0], al
cmp dword [edi + 8], 0
jle 0x46626d
push 0x14
call fcn.004737a3
test eax, eax
je 0x466251
add eax, 4
push eax
mov eax, edi
call fcn.00469e13
mov dword [ebp - 0x20], edi
push 0xdf
lea edi, [ebp - 0x24]
mov eax, ebx
mov dword [ebp - 0x24], 0x4f3d7c
call fcn.004669ba
mov edi, dword [ebp + 0xc]
mov eax, edi
call fcn.00469ec5
test al, al
jne 0x4662e5
cmp byte [0x523354], al
je 0x4662a7
push str.No_prerequisite_must_be_installed.
lea eax, [ebp + 8]
push eax
call fcn.00474809
push eax
call fcn.00474819
push eax
mov eax, 0x523324
call fcn.00473bef
lea ecx, [ebp + 8]
call fcn.00402907
xor esi, esi
mov dword [ebp - 0x18], 0x4fafe4
cmp dword [ebp - 8], esi
je 0x4662c1
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x4662d5
push dword [ebp - 0x14]
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea eax, [ebp - 0x14]
push eax
call fcn.0044421f
mov eax, esi
jmp 0x466205
lea esi, [ebx + 0x160]
mov eax, esi
call fcn.004734bd
and dword [ebp + 0xc], 0
push esi
lea eax, [ebx + 0x28]
push eax
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x18]
mov edx, edi
mov eax, ebx
call fcn.00477931
push edi
call fcn.00469bae
test al, al
je 0x4663b3
cmp byte [0x523354], 0
je 0x46634c
push str.Starting_installing_prerequisites_in_silent_mode.
lea eax, [ebp - 4]
push eax
call fcn.00474809
push eax
call fcn.00474819
push eax
mov eax, 0x523324
call fcn.00473bef
lea ecx, [ebp - 4]
call fcn.00402907
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 0x78], 1
call fcn.0047899d
push 0
lea eax, [ebp - 0xa8]
push eax
call fcn.00477d22
push 0
lea ebx, [ebp - 0xa8]
call fcn.004782e1
push 0
call fcn.0047869b
xor ebx, ebx
cmp byte [ebp - 0x47], bl
jne 0x466532
lea eax, [ebp - 0xa8]
call fcn.00477aff
lea edi, [ebp - 0xa8]
call fcn.00478890
test al, al
jne 0x466532
mov dword [ebp + 0xc], 1
jmp 0x466532
push edi
call fcn.00469c76
test al, al
je 0x46644d
cmp byte [0x523354], 0
je 0x4663f1
push str.Starting_installing_prerequisites_in_basic_UI_mode.
lea eax, [ebp - 4]
push eax
call fcn.00474809
push eax
call fcn.00474819
push eax
mov eax, 0x523324
call fcn.00473bef
lea ecx, [ebp - 4]
call fcn.00402907
push 0
mov eax, esi
call fcn.004733d0
push eax
lea eax, [ebp - 0xa8]
lea edi, [ebp - 0x100]
call fcn.00478e72
lea eax, [ebp - 0xa8]
push eax
call fcn.0047899d
mov ebx, edi
call fcn.00478f05
dec eax
je 0x466439
dec eax
je 0x466433
sub eax, 5
jne 0x46643d
mov dword [ebp + 0xc], 1
jmp 0x46643d
or dword [ebp + 0xc], 0xffffffff
jmp 0x46643d
and dword [ebp + 0xc], 0
lea edi, [ebp - 0x100]
call fcn.00478ed2
jmp 0x466530
cmp byte [0x523354], 0
je 0x46647d
push str.Starting_installing_prerequisites_in_full_UI_mode.
lea eax, [ebp - 4]
push eax
call fcn.00474809
push eax
call fcn.00474819
push eax
mov eax, 0x523324
call fcn.00473bef
lea ecx, [ebp - 4]
call fcn.00402907
push esi
lea eax, [ebp - 0xa8]
push eax
lea ebx, [ebp - 0x670]
call fcn.00479131
call dword [sym.imp.USER32.dll_GetActiveWindow]
and dword [ebp - 0x648], 0xfffffbff
xor ebx, ebx
cmp dword [ebp - 0x644], ebx
jne 0x4664b0
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x634], eax
lea eax, [ebp - 0x670]
push eax
lea esi, [ebp - 0x668]
call fcn.00416d1d
lea eax, [ebp - 0x64c]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x634], ebx
mov dword [ebp - 0x62c], ebx
cmp dword [ebp - 0x624], ebx
je 0x46650d
push dword [ebp - 0x624]
call fcn.004ad777
pop ecx
mov dword [ebp - 0x624], ebx
mov dword [ebp - 0x620], ebx
mov dword [ebp - 0x61c], ebx
cmp byte [ebp - 0x5e3], bl
je 0x466525
or dword [ebp + 0xc], 0xffffffff
lea ebx, [ebp - 0x670]
call fcn.00466658
xor ebx, ebx
cmp byte [0x523354], bl
je 0x466579
push dword [ebp - 0x47]
lea eax, [ebp - 4]
push str.__Reboot_was_required
push str.After_running_prerequisites_we_have:
push eax
call fcn.00474809
push eax
call fcn.00474819
push eax
call fcn.00474819
push eax
call fcn.00474834
push eax
mov esi, 0x523324
mov eax, esi
call fcn.00473bef
lea ecx, [ebp - 4]
call fcn.00402907
jmp 0x46657e
mov esi, 0x523324
cmp byte [ebp - 0x47], bl
je 0x4665fc
cmp byte [0x523354], bl
je 0x4665b8
push dword [ebp - 0x48]
lea eax, [ebp - 4]
push str.__Reboot_was_refused
push eax
call fcn.00474809
push eax
call fcn.00474819
push eax
call fcn.00474834
push eax
mov eax, esi
call fcn.00473bef
lea ecx, [ebp - 4]
call fcn.00402907
cmp byte [ebp - 0x48], bl
jne 0x4665f2
cmp byte [0x523354], bl
je 0x4665f2
push dword [ebp - 0x2c]
lea eax, [ebp - 4]
push str.__Reboot_in_Progress
push eax
call fcn.00474809
push eax
call fcn.00474819
push eax
call fcn.00474834
push eax
mov eax, esi
call fcn.00473bef
lea ecx, [ebp - 4]
call fcn.00402907
cmp byte [ebp - 0x47], bl
je 0x4665fc
cmp byte [ebp - 0x48], bl
je 0x466601
cmp byte [ebp - 0x2c], bl
je 0x466612
mov eax, dword [ebp + 8]
or dword [ebp + 0xc], 0xffffffff
mov byte [ebp - 0xc], bl
mov byte [eax + 0x1ac], 1
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0x5c]
mov dword [eax + 0x10], esi
call fcn.00469647
lea edi, [ebp - 0x90]
call fcn.00478a91
mov dword [ebp - 0xa4], 0x4f3d28
mov dword [ebp - 0x18], 0x4fafe4
cmp dword [ebp - 8], ebx
je 0x466650
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], bl
jmp 0x4662c5