Function at 0x4057fc
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6b4
push ebx
push esi
push edi
push 0x448ecc
lea eax, [ebp - 4]
call fcn.004088c2
mov edi, 0x450ff8
lea eax, [ebp - 4]
lea ebx, [ebp - 0x14]
mov dword [ebp - 0x18], edi
call fcn.0041a1e7
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
add eax, 0xfffffff0
mov dword [ebp - 0x10], 0x408633
mov byte [ebp - 0xc], 1
mov dword [ebp - 8], ebx
call fcn.004046b1
mov eax, dword [ebp + 8]
test byte [eax + 0x6c], 2
jne 0x40588a
cmp dword [ebp - 8], 0
mov dword [ebp - 0x18], edi
je 0x405862
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x405876
push dword [ebp - 0x14]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004046b1
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.004151df
test eax, eax
jne 0x40584d
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 0x4058ef
mov esi, dword [ebp - 4]
push 0x14
call fcn.004151df
test eax, eax
je 0x4058cd
add eax, 4
push eax
call fcn.00411cde
mov eax, dword [ebp + 8]
push 0xdf
lea edi, [ebp - 0x24]
mov dword [ebp - 0x24], 0x44992c
mov dword [ebp - 0x20], ebx
call fcn.0040607e
mov esi, dword [ebp + 8]
mov edi, 0x450ff8
mov eax, ebx
call fcn.00411d91
test al, al
jne 0x405967
cmp byte [0x457cbc], al
je 0x40592b
push str.No_prerequisite_must_be_installed.
lea eax, [ebp + 8]
call fcn.0041630f
push eax
call fcn.00416320
push eax
mov eax, 0x457c8c
call fcn.004156a1
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046b1
xor esi, esi
mov dword [ebp - 0x18], edi
cmp dword [ebp - 8], esi
je 0x405941
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x405955
push dword [ebp - 0x14]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004046b1
mov eax, esi
jmp 0x405883
lea edi, [esi + 0x168]
mov eax, edi
call fcn.00414e7b
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.0041a248
push ebx
call fcn.00411a21
test al, al
je 0x405a31
cmp byte [0x457cbc], 0
je 0x4059d0
push str.Starting_installing_prerequisites_in_silent_mode.
lea eax, [ebp - 4]
call fcn.0041630f
push eax
call fcn.00416320
push eax
mov eax, 0x457c8c
call fcn.004156a1
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.004046b1
lea ebx, [ebp - 0xa8]
mov byte [ebp - 0x78], 1
call fcn.0041b316
xor edi, edi
push edi
mov eax, ebx
push eax
call fcn.0041a638
push edi
mov eax, ebx
push eax
call fcn.0041ac29
push edi
call fcn.0041afe2
xor bl, bl
cmp byte [ebp - 0x47], bl
jne 0x405bb8
lea eax, [ebp - 0xa8]
call fcn.0041a41a
lea edi, [ebp - 0xa8]
call fcn.0041b1fd
mov esi, dword [ebp + 8]
test al, al
jne 0x405bb8
mov dword [ebp + 0xc], 1
jmp 0x405bb8
push ebx
call fcn.00411af7
test al, al
je 0x405acc
cmp byte [0x457cbc], 0
je 0x405a71
push str.Starting_installing_prerequisites_in_basic_UI_mode.
lea eax, [ebp - 4]
call fcn.0041630f
push eax
call fcn.00416320
push eax
mov eax, 0x457c8c
call fcn.004156a1
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.004046b1
push 0
mov eax, edi
call fcn.00414dad
push eax
lea ecx, [ebp - 0xa8]
lea edi, [ebp - 0x100]
call fcn.0041b869
lea ebx, [ebp - 0xa8]
call fcn.0041b316
mov ebx, edi
call fcn.0041b90d
dec eax
je 0x405ab8
dec eax
je 0x405ab2
sub eax, 5
jne 0x405abc
mov dword [ebp + 0xc], 1
jmp 0x405abc
or dword [ebp + 0xc], 0xffffffff
jmp 0x405abc
and dword [ebp + 0xc], 0
lea eax, [ebp - 0x100]
call fcn.0041b8cf
jmp 0x405bb3
cmp byte [0x457cbc], 0
je 0x405afe
push str.Starting_installing_prerequisites_in_full_UI_mode.
lea eax, [ebp - 4]
call fcn.0041630f
push eax
call fcn.00416320
push eax
mov eax, 0x457c8c
call fcn.004156a1
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
call fcn.004046b1
push edi
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x6b0]
push eax
call fcn.0041bb51
call dword [sym.imp.USER32.dll_GetActiveWindow]
and dword [ebp - 0x688], 0xfffffbff
cmp dword [ebp - 0x684], 0
jne 0x405b31
mov dword [ebp - 0x684], eax
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x674], eax
lea eax, [ebp - 0x6b0]
lea esi, [ebp - 0x6a8]
call fcn.00409991
lea eax, [ebp - 0x68c]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
xor esi, esi
mov dword [ebp - 0x674], esi
mov dword [ebp - 0x66c], esi
cmp dword [ebp - 0x658], esi
je 0x405b8f
push dword [ebp - 0x658]
call fcn.00430777
pop ecx
mov dword [ebp - 0x658], esi
cmp byte [ebp - 0x617], 0
mov dword [ebp - 0x654], esi
mov dword [ebp - 0x650], esi
je 0x405ba8
or dword [ebp + 0xc], 0xffffffff
lea ebx, [ebp - 0x6b0]
call fcn.00405cf3
mov esi, dword [ebp + 8]
xor bl, bl
cmp byte [0x457cbc], bl
je 0x405c01
push dword [ebp - 0x47]
lea eax, [ebp + 8]
push str.__Reboot_was_required
push str.After_running_prerequisites_we_have:
call fcn.0041630f
push eax
call fcn.00416320
push eax
call fcn.00416320
push eax
call fcn.0041633b
push eax
mov edi, 0x457c8c
mov eax, edi
call fcn.004156a1
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046b1
jmp 0x405c06
mov edi, 0x457c8c
cmp byte [ebp - 0x47], bl
je 0x405c88
cmp byte [0x457cbc], bl
je 0x405c42
push dword [ebp - 0x48]
lea eax, [ebp + 8]
push str.__Reboot_was_refused
call fcn.0041630f
push eax
call fcn.00416320
push eax
call fcn.0041633b
push eax
mov eax, edi
call fcn.004156a1
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046b1
cmp byte [ebp - 0x48], bl
jne 0x405c7e
cmp byte [0x457cbc], bl
je 0x405c7e
push dword [ebp - 0x2c]
lea eax, [ebp + 8]
push str.__Reboot_in_Progress
call fcn.0041630f
push eax
call fcn.00416320
push eax
call fcn.0041633b
push eax
mov eax, edi
call fcn.004156a1
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.004046b1
cmp byte [ebp - 0x47], bl
je 0x405c88
cmp byte [ebp - 0x48], bl
je 0x405c8d
cmp byte [ebp - 0x2c], bl
je 0x405c9b
or dword [ebp + 0xc], 0xffffffff
mov byte [ebp - 0xc], bl
mov byte [esi + 0x1b4], 1
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x5c]
mov dword [esi + 0x10], eax
call fcn.00409803
lea ebx, [ebp - 0x90]
call fcn.0041b41c
cmp dword [ebp - 8], 0
mov dword [ebp - 0xa4], 0x4498d4
mov dword [ebp - 0x18], 0x450ff8
je 0x405cd7
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
call dword [ebp - 0x10]
pop ecx
pop ecx
cmp byte [ebp - 0xc], 0
je 0x405ceb
push dword [ebp - 0x14]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov esi, dword [ebp + 0xc]
jmp 0x405955