Function at 0x4fa48f
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5153d4
mov eax, dword fs:[0]
push eax
sub esp, 0x160
mov eax, dword [0x5675a0]
xor eax, esp
mov dword [esp + 0x158], eax
push ebx
push esi
push edi
mov eax, dword [0x5675a0]
xor eax, esp
push eax
lea eax, [esp + 0x170]
mov dword fs:[0], eax
mov esi, ecx
push 0x3ec
lea ebx, [esi + 4]
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [esi + 0x28]
mov dword [edi], eax
push 0x4000000
xor eax, eax
xor ecx, ecx
call fcn.0041110e
push 0x456
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [esi + 0x2c]
mov dword [edi], eax
push 0x4000000
xor eax, eax
xor ecx, ecx
call fcn.0041110e
push 0x457
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edi, [esi + 0x30]
mov dword [edi], eax
push 0x4000000
xor eax, eax
xor ecx, ecx
call fcn.0041110e
push 0xcd
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x5323b0
lea edi, [esi + 0x20]
push edi
mov dword [esi + 0x34], eax
call fcn.00411b02
push 0x5323c0
push edi
call fcn.00411b02
push 0x5323d4
push edi
call fcn.00411b02
lea eax, [esp + 0x14]
push eax
call fcn.004d8e12
pop ecx
and dword [esp + 0x178], 0
push edi
call fcn.00411f01
or dword [esp + 0x178], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.00410d34
push 0x5323d8
push edi
call fcn.00411b02
lea eax, [esp + 0x1c]
call fcn.004db10c
push 0x5323e0
push 0x5323e8
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x184], 1
call fcn.004db6fa
push edi
mov byte [esp + 0x17c], 2
call fcn.00411f01
mov byte [esp + 0x178], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.00410d34
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4fa615
mov eax, dword [eax + 0x10]
cmp dword [eax - 0xc], 0
jle 0x4fa615
push str._r_n_r_n_r_n
push edi
call fcn.00411b02
mov eax, dword [esi + 0x38]
add eax, 0x10
push edi
call fcn.00411f01
mov edi, dword [edi]
push 0xcd
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
push edi
mov edi, dword [0x574f10]
push eax
call edi
push 0x454
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov cl, byte [esi + 0x25]
dec cl
neg cl
sbb ecx, ecx
and ecx, 0xfffffffb
add ecx, 5
push ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp byte [esi + 0x25], 0
je 0x4fa672
push 0x532408
push dword [ebx]
call edi
push str.Critical_Error
push dword [esi + 0x2c]
call edi
push str.A_critical_error_has_occured_in_CCleaner__the_application_must_now_close.
jmp 0x4fa68a
push 0x5324dc
push dword [ebx]
call edi
push 0x532500
push dword [esi + 0x2c]
call edi
push str.An_unexpected_error_has_occured_in_CCleaner.
push dword [esi + 0x30]
call edi
mov esi, dword [esi + 0x38]
test esi, esi
mov byte [esp + 0x13], 0
je 0x4fa6ab
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x4fa6ab
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [esp + 0x13], al
push 0x462
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov cl, byte [esp + 0x13]
neg cl
sbb ecx, ecx
and ecx, 5
push ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
push ebx
call fcn.0041d0d2
xor eax, eax
inc eax
mov ecx, dword [esp + 0x170]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.00447dd1
mov esp, ebp
pop ebp
ret