Function at 0x4056d3
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x674
push ebx
push esi
push edi
push 0x447eac
lea eax, [ebp - 4]
call fcn.00408702
mov edi, 0x44f148
lea eax, [ebp - 4]
lea ebx, [ebp - 0x14]
mov dword [ebp - 0x18], edi
call fcn.0041764a
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
add eax, 0xfffffff0
mov dword [ebp - 0x10], 0x408473
mov byte [ebp - 0xc], 1
mov dword [ebp - 8], ebx
call fcn.004046a2
mov eax, dword [ebp + 8]
test byte [eax + 0x6c], 2
jne 0x405761
cmp dword [ebp - 8], 0
mov dword [ebp - 0x18], edi
je 0x405739
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x40574d
push dword [ebp - 0x14]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004046a2
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8
lea esi, [eax + 0x18]
push 0x15
mov dword [ebp - 4], esi
call fcn.0041302e
test eax, eax
jne 0x405724
mov eax, dword [ebx + 0x34]
mov esi, dword [ebp + 8]
mov dword [esi + 0xac], eax
mov al, byte [ebx + 0x38]
mov byte [esi + 0xb0], al
cmp dword [ebx + 8], 0
jle 0x4057c6
mov esi, dword [ebp - 4]
push 0x14
call fcn.0041302e
test eax, eax
je 0x4057a4
add eax, 4
push eax
call fcn.0040fb2d
mov eax, dword [ebp + 8]
push 0xdf
lea edi, [ebp - 0x24]
mov dword [ebp - 0x24], 0x44890c
mov dword [ebp - 0x20], ebx
call fcn.00405f4c
mov esi, dword [ebp + 8]
mov edi, 0x44f148
mov eax, ebx
call fcn.0040fbe0
test al, al
jne 0x40583e
cmp byte [0x456c38], al
je 0x405802
push str.No_prerequisite_must_be_installed.
lea eax, [ebp + 8]
call fcn.004141f6
push eax
call fcn.00414207
push eax
mov eax, 0x456c08
call fcn.004134f0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046a2
xor esi, esi
mov dword [ebp - 0x18], edi
cmp dword [ebp - 8], esi
je 0x405818
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x40582c
push dword [ebp - 0x14]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004046a2
mov eax, esi
jmp 0x40575a
lea edi, [esi + 0x160]
mov eax, edi
call fcn.00412cca
and dword [ebp + 0xc], 0
push edi
lea eax, [esi + 0x28]
push eax
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x18]
mov edx, ebx
mov eax, esi
call fcn.004176ab
push ebx
call fcn.0040f8a1
test al, al
je 0x405908
cmp byte [0x456c38], 0
je 0x4058a7
push str.Starting_installing_prerequisites_in_silent_mode.
lea eax, [ebp - 4]
call fcn.004141f6
push eax
call fcn.00414207
push eax
mov eax, 0x456c08
call fcn.004134f0
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.004046a2
lea ebx, [ebp - 0xa8]
mov byte [ebp - 0x78], 1
call fcn.004187b4
xor edi, edi
push edi
mov eax, ebx
push eax
call fcn.00417a9b
push edi
mov eax, ebx
push eax
call fcn.0041808c
push edi
call fcn.0041847d
xor bl, bl
cmp byte [ebp - 0x47], bl
jne 0x405a8f
lea eax, [ebp - 0xa8]
call fcn.0041787d
lea edi, [ebp - 0xa8]
call fcn.0041869b
mov esi, dword [ebp + 8]
test al, al
jne 0x405a8f
mov dword [ebp + 0xc], 1
jmp 0x405a8f
push ebx
call fcn.0040f977
test al, al
je 0x4059a3
cmp byte [0x456c38], 0
je 0x405948
push str.Starting_installing_prerequisites_in_basic_UI_mode.
lea eax, [ebp - 4]
call fcn.004141f6
push eax
call fcn.00414207
push eax
mov eax, 0x456c08
call fcn.004134f0
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.004046a2
push 0
mov eax, edi
call fcn.00412bfc
push eax
lea ecx, [ebp - 0xa8]
lea edi, [ebp - 0x100]
call fcn.00418d2b
lea ebx, [ebp - 0xa8]
call fcn.004187b4
mov ebx, edi
call fcn.00418dcf
dec eax
je 0x40598f
dec eax
je 0x405989
sub eax, 5
jne 0x405993
mov dword [ebp + 0xc], 1
jmp 0x405993
or dword [ebp + 0xc], 0xffffffff
jmp 0x405993
and dword [ebp + 0xc], 0
lea eax, [ebp - 0x100]
call fcn.00418d91
jmp 0x405a8a
cmp byte [0x456c38], 0
je 0x4059d5
push str.Starting_installing_prerequisites_in_full_UI_mode.
lea eax, [ebp - 4]
call fcn.004141f6
push eax
call fcn.00414207
push eax
mov eax, 0x456c08
call fcn.004134f0
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.004046a2
push edi
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.0041900d
call dword [sym.imp.USER32.dll_GetActiveWindow]
and dword [ebp - 0x648], 0xfffffbff
cmp dword [ebp - 0x644], 0
jne 0x405a08
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]
lea esi, [ebp - 0x668]
call fcn.0040983c
lea eax, [ebp - 0x64c]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
xor esi, esi
mov dword [ebp - 0x634], esi
mov dword [ebp - 0x62c], esi
cmp dword [ebp - 0x624], esi
je 0x405a66
push dword [ebp - 0x624]
call fcn.0042ed67
pop ecx
mov dword [ebp - 0x624], esi
cmp byte [ebp - 0x5e3], 0
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x61c], esi
je 0x405a7f
or dword [ebp + 0xc], 0xffffffff
lea ebx, [ebp - 0x670]
call fcn.00405bca
mov esi, dword [ebp + 8]
xor bl, bl
cmp byte [0x456c38], bl
je 0x405ad8
push dword [ebp - 0x47]
lea eax, [ebp + 8]
push str.__Reboot_was_required
push str.After_running_prerequisites_we_have:
call fcn.004141f6
push eax
call fcn.00414207
push eax
call fcn.00414207
push eax
call fcn.00414222
push eax
mov edi, 0x456c08
mov eax, edi
call fcn.004134f0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046a2
jmp 0x405add
mov edi, 0x456c08
cmp byte [ebp - 0x47], bl
je 0x405b5f
cmp byte [0x456c38], bl
je 0x405b19
push dword [ebp - 0x48]
lea eax, [ebp + 8]
push str.__Reboot_was_refused
call fcn.004141f6
push eax
call fcn.00414207
push eax
call fcn.00414222
push eax
mov eax, edi
call fcn.004134f0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046a2
cmp byte [ebp - 0x48], bl
jne 0x405b55
cmp byte [0x456c38], bl
je 0x405b55
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push str.__Reboot_in_Progress
call fcn.004141f6
push eax
call fcn.00414207
push eax
call fcn.00414222
push eax
mov eax, edi
call fcn.004134f0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046a2
cmp byte [ebp - 0x47], bl
je 0x405b5f
cmp byte [ebp - 0x48], bl
je 0x405b64
cmp byte [ebp - 0x2c], bl
je 0x405b72
or dword [ebp + 0xc], 0xffffffff
mov byte [ebp - 0xc], bl
mov byte [esi + 0x1ac], 1
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x5c]
mov dword [esi + 0x10], eax
call fcn.004096ae
lea ebx, [ebp - 0x90]
call fcn.004188ba
cmp dword [ebp - 8], 0
mov dword [ebp - 0xa4], 0x4488b8
mov dword [ebp - 0x18], 0x44f148
je 0x405bae
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x405bc2
push dword [ebp - 0x14]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov esi, dword [ebp + 0xc]
jmp 0x40582c