Function at 0x4168d0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x461bf1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push ebp
push esi
lea eax, [esp + 0xc]
push edi
xor ebp, ebp
mov dword [esp + 0x1c], ecx
push eax
mov dword [esp + 0x1c], ebp
call fcn.00408910
mov eax, dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
add esp, 4
push eax
push 1
push str.Setting
push str.update
call edi
lea ecx, [esp + 0x10]
mov esi, eax
call fcn.00408010
lea ecx, [esp + 0x10]
push ecx
call fcn.00408910
mov eax, dword [eax]
add esp, 4
push eax
push 1
push str.Setting
push str.update
call edi
lea ecx, [esp + 0x10]
mov ebx, eax
call fcn.00408010
cmp esi, 2
jne 0x41695b
mov esi, 1
mov eax, dword [esp + 0x10c]
mov ecx, dword [eax + 0x228]
test ecx, ecx
jbe 0x416974
mov dword [esp + 0x18], 1
mov ecx, dword [0x47b3e8]
test ecx, ecx
jne 0x416ba0
mov ecx, dword [eax + 0x224]
test ecx, ecx
jbe 0x416ba0
test esi, esi
je 0x416b9b
cmp esi, 1
jne 0x416ba0
cmp ebx, 2
je 0x416ba0
call fcn.00404010
test eax, eax
je 0x416b40
call fcn.00403f60
test eax, eax
je 0x416b40
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
jne 0x416b40
lea edx, [esp + 0x10]
push edx
call fcn.00408910
mov eax, dword [eax]
add esp, 4
push eax
push esi
push str.ProtectType
push str.main
call edi
lea ecx, [esp + 0x10]
mov esi, eax
call fcn.00408010
cmp esi, 1
jne 0x416b9b
push 0
push 0xa3
push 0xa2
push 0xa1
push 0x79
push 0
call fcn.00418350
add esp, 0x18
cmp eax, esi
jne 0x416ba0
lea eax, [esp + 0x10]
push eax
call fcn.00408910
mov eax, dword [eax]
add esp, 4
mov ebp, esi
push eax
push ebp
push str.VistaTip
push str.update
call edi
lea ecx, [esp + 0x10]
mov esi, eax
call fcn.00408010
xor edi, edi
cmp esi, edi
je 0x416ba0
lea ecx, [esp + 0x20]
call fcn.00417640
push edi
push 8
lea ecx, [esp + 0xb8]
mov dword [esp + 0x10c], edi
mov dword [esp + 0xb4], edi
call fcn.00401000
mov dword [esp + 0x20], 0x466840
call dword [sym.imp.USER32.dll_GetActiveWindow]
lea ecx, [esp + 0x20]
mov esi, eax
mov dword [esp + 0x28], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x47b7d4
mov dword [esp + 0x30], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [0x47b808]
lea eax, [esp + 0x28]
push 0x47b7d4
mov dword [esp + 0x34], edx
mov dword [0x47b808], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x47b7a8]
push edi
push 0x4096e0
push esi
push 0xcd
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
lea ecx, [esp + 0xb0]
mov dword [esp + 0x104], ebp
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xf4]
mov byte [esp + 0x104], 2
cmp eax, edi
je 0x416b16
lea ecx, [esp + 0xf4]
call fcn.00417940
lea ecx, [esp + 0xb0]
mov byte [esp + 0x104], 1
call fcn.004092e0
lea ecx, [esp + 0x20]
mov dword [esp + 0x104], 0xffffffff
call fcn.00417520
jmp 0x416ba0
lea edx, [esp + 0x14]
push edx
call fcn.00408910
mov eax, dword [eax]
add esp, 4
push eax
push 1
push str.ProtectType
push str.main
call edi
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00408010
cmp esi, 1
jne 0x416b9b
push 0
push str.360ActDefWnd
call dword [sym.imp.USER32.dll_FindWindowW]
push 0
push 0xa3
push 0xa2
push 0xa1
push 0x79
push eax
call fcn.00418350
add esp, 0x18
cmp eax, esi
jne 0x416ba0
mov ebp, 1
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x416bac
test ebp, ebp
je 0x416bcc
mov ecx, dword [esp + 0x1c]
push 1
push ebp
push eax
mov dword [ecx + 0x20], 1
mov ecx, 0x47b708
call fcn.0044d850
mov eax, 1
jmp 0x416bce
xor eax, eax
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xf8
ret 4