Function at 0x4581c5
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x664
push ebx
push esi
push edi
lea eax, [ebp - 4]
push eax
mov ecx, str.InterbootContext
call fcn.00451370
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x14]
mov esi, 0x4e0b50
push eax
mov dword [ebp - 0x18], esi
call fcn.0044e000
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 4]
push eax
mov dword [ebp - 0x10], 0x45aa41
mov byte [ebp - 0xc], 1
mov dword [ebp - 8], edi
call fcn.00439d53
mov ebx, dword [ebp + 8]
test byte [ebx + 0x6c], 2
jne 0x458252
mov dword [ebp - 0x18], esi
cmp dword [ebp - 8], 0
je 0x45822c
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x458240
push dword [ebp - 0x14]
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea eax, [ebp - 0x14]
push eax
call fcn.00439d53
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8
lea esi, [ebx + 0x18]
push 0x15
call fcn.00464bf2
test eax, eax
je 0x458269
mov dword [ebp - 0x18], 0x4e0b50
jmp 0x45821a
mov eax, dword [edi + 0x34]
mov dword [ebx + 0xa4], eax
mov al, byte [edi + 0x38]
mov byte [ebx + 0xa8], al
cmp dword [edi + 8], 0
jle 0x4582b3
push 0x14
call fcn.00464bf2
test eax, eax
je 0x458297
add eax, 4
push eax
mov eax, edi
call fcn.0045b9bf
mov dword [ebp - 0x20], edi
push 0xdf
lea edi, [ebp - 0x24]
mov eax, ebx
mov dword [ebp - 0x24], 0x4da6f0
call fcn.004589da
mov edi, dword [ebp + 0xc]
mov eax, edi
call fcn.0045ba71
test al, al
jne 0x45832b
cmp byte [0x505028], al
je 0x4582ed
push str.No_prerequisite_must_be_installed.
lea eax, [ebp + 8]
push eax
call fcn.00465a6a
push eax
call fcn.00465a7a
push eax
mov eax, 0x504ff8
call fcn.00464e5b
lea ecx, [ebp + 8]
call fcn.004058a3
xor esi, esi
mov dword [ebp - 0x18], 0x4e0b50
cmp dword [ebp - 8], esi
je 0x458307
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x45831b
push dword [ebp - 0x14]
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea eax, [ebp - 0x14]
push eax
call fcn.00439d53
mov eax, esi
jmp 0x45824b
lea esi, [ebx + 0x130]
mov eax, esi
call fcn.00464910
and dword [ebp + 0xc], 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebx + 0x28]
push esi
push eax
mov eax, ebx
mov ecx, edi
lea ebx, [ebp - 0xa0]
call fcn.00468788
push edi
call fcn.0045b7c9
test al, al
je 0x4583f8
xor ebx, ebx
cmp byte [0x505028], bl
je 0x458393
push str.Starting_installing_prerequisites_in_silent_mode.
lea eax, [ebp - 4]
push eax
call fcn.00465a6a
push eax
call fcn.00465a7a
push eax
mov eax, 0x504ff8
call fcn.00464e5b
lea ecx, [ebp - 4]
call fcn.004058a3
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 0x70], 1
call fcn.00469813
push ebx
lea eax, [ebp - 0xa0]
push eax
call fcn.00468ba4
push ebx
lea ebx, [ebp - 0xa0]
call fcn.00469158
push 0
call fcn.00469511
xor ebx, ebx
cmp byte [ebp - 0x4b], bl
jne 0x458577
lea eax, [ebp - 0xa0]
call fcn.00468986
lea edi, [ebp - 0xa0]
call fcn.00469706
test al, al
jne 0x458577
mov dword [ebp + 0xc], 1
jmp 0x458577
push edi
call fcn.0045b891
test al, al
je 0x458492
cmp byte [0x505028], 0
je 0x458436
push str.Starting_installing_prerequisites_in_basic_UI_mode.
lea eax, [ebp - 4]
push eax
call fcn.00465a6a
push eax
call fcn.00465a7a
push eax
mov eax, 0x504ff8
call fcn.00464e5b
lea ecx, [ebp - 4]
call fcn.004058a3
push 0
mov eax, esi
call fcn.00464831
push eax
lea eax, [ebp - 0xa0]
lea esi, [ebp - 0xf8]
call fcn.00469c2c
lea eax, [ebp - 0xa0]
push eax
call fcn.00469813
mov ebx, esi
call fcn.00469cb8
dec eax
je 0x45847e
dec eax
je 0x458478
sub eax, 5
jne 0x458482
mov dword [ebp + 0xc], 1
jmp 0x458482
or dword [ebp + 0xc], 0xffffffff
jmp 0x458482
and dword [ebp + 0xc], 0
lea edi, [ebp - 0xf8]
call fcn.00469c8c
jmp 0x458575
cmp byte [0x505028], 0
je 0x4584c2
push str.Starting_installing_prerequisites_in_full_UI_mode.
lea eax, [ebp - 4]
push eax
call fcn.00465a6a
push eax
call fcn.00465a7a
push eax
mov eax, 0x504ff8
call fcn.00464e5b
lea ecx, [ebp - 4]
call fcn.004058a3
push esi
lea eax, [ebp - 0xa0]
push eax
lea ebx, [ebp - 0x660]
call fcn.00469edf
call dword [sym.imp.USER32.dll_GetActiveWindow]
and dword [ebp - 0x638], 0xfffffbff
xor ebx, ebx
cmp dword [ebp - 0x634], ebx
jne 0x4584f5
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x61c], eax
mov eax, dword [ebp - 0x610]
mov dword [ebp - 0x624], eax
lea eax, [ebp - 0x660]
push eax
lea esi, [ebp - 0x658]
call fcn.00410bff
lea eax, [ebp - 0x63c]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
mov dword [ebp - 0x624], ebx
mov dword [ebp - 0x61c], ebx
cmp dword [ebp - 0x614], ebx
je 0x458552
push dword [ebp - 0x614]
call fcn.0049ca67
pop ecx
mov dword [ebp - 0x614], ebx
mov dword [ebp - 0x610], ebx
mov dword [ebp - 0x60c], ebx
cmp byte [ebp - 0x5db], bl
je 0x45856a
or dword [ebp + 0xc], 0xffffffff
lea ebx, [ebp - 0x660]
call fcn.004586b1
xor ebx, ebx
cmp byte [0x505028], bl
je 0x4585be
push dword [ebp - 0x4b]
lea eax, [ebp - 4]
push str.__Reboot_was_required
push str.After_running_prerequisites_we_have:
push eax
call fcn.00465a6a
push eax
call fcn.00465a7a
push eax
call fcn.00465a7a
push eax
call fcn.00465a95
push eax
mov esi, 0x504ff8
mov eax, esi
call fcn.00464e5b
lea ecx, [ebp - 4]
call fcn.004058a3
jmp 0x4585c3
mov esi, 0x504ff8
cmp byte [ebp - 0x4b], bl
je 0x458641
cmp byte [0x505028], bl
je 0x4585fd
push dword [ebp - 0x4c]
lea eax, [ebp - 4]
push str.__Reboot_was_refused
push eax
call fcn.00465a6a
push eax
call fcn.00465a7a
push eax
call fcn.00465a95
push eax
mov eax, esi
call fcn.00464e5b
lea ecx, [ebp - 4]
call fcn.004058a3
cmp byte [ebp - 0x4c], bl
jne 0x458637
cmp byte [0x505028], bl
je 0x458637
push dword [ebp - 0x30]
lea eax, [ebp - 4]
push str.__Reboot_in_Progress
push eax
call fcn.00465a6a
push eax
call fcn.00465a7a
push eax
call fcn.00465a95
push eax
mov eax, esi
call fcn.00464e5b
lea ecx, [ebp - 4]
call fcn.004058a3
cmp byte [ebp - 0x4b], bl
je 0x458641
cmp byte [ebp - 0x4c], bl
je 0x458646
cmp byte [ebp - 0x30], bl
je 0x458657
mov eax, dword [ebp + 8]
or dword [ebp + 0xc], 0xffffffff
mov byte [ebp - 0xc], bl
mov byte [eax + 0x17c], 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
lea edi, [ebp - 0x60]
mov dword [ecx + 0x10], eax
call fcn.0045b2ed
lea esi, [ebp - 0x84]
call fcn.0045b2a5
lea ecx, [ebp - 0x88]
call fcn.004058a3
mov dword [ebp - 0x18], 0x4e0b50
cmp dword [ebp - 8], ebx
je 0x458696
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], bl
je 0x4586a9
push dword [ebp - 0x14]
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov esi, dword [ebp + 0xc]
jmp 0x45831b