Function at 0x414f00
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x572c40]
xor eax, ebp
mov dword [ebp - 4], eax
xor ecx, ecx
mov dword [ebp - 0x110], ecx
cmp dword [0x5664cc], ecx
jle 0x415243
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - 0x10c], ebx
mov eax, dword [0x5664d0]
add eax, ebx
cmp byte [eax + 0x289], 0
je 0x414f4e
cmp ecx, dword [0x57c900]
jne 0x415219
push 0xb63938
push eax
call fcn.00415940
add esp, 8
test al, al
je 0x415219
mov esi, dword [0x5664d0]
xor edi, edi
add esi, ebx
cmp byte [esi + 0x272], 0
je 0x414fc2
mov ebx, dword [ebp + 8]
sub ebx, dword [esi + 0x278]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x274]
sbb ecx, dword [esi + 0x27c]
cdq
cmp ecx, edx
jl 0x414fbc
jg 0x414f9a
cmp ebx, eax
jb 0x414fbc
mov eax, dword [ebp + 8]
mov edi, 1
mov ebx, dword [ebp - 0x10c]
mov dword [esi + 0x278], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x27c], eax
jmp 0x41506f
mov ebx, dword [ebp - 0x10c]
mov eax, dword [0x5664d0]
cmp byte [ebx + eax + 0x281], 0
je 0x415032
lea eax, [ebp - 0x118]
mov dword [ebp - 0x118], 8
push eax
mov dword [ebp - 0x114], edi
call dword [sym.imp.USER32.dll_GetLastInputInfo]
mov esi, dword [0x5664d0]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
imul ecx, dword [esi + ebx + 0x284], 0x3e8
sub eax, dword [ebp - 0x114]
cmp eax, ecx
jbe 0x41502c
cmp dword [0xb51a20], edi
jne 0x415026
mov edi, 2
mov dword [0xb51a20], 1
test edi, edi
je 0x415032
jmp 0x41506f
mov dword [0xb51a20], edi
mov eax, dword [0x5664d0]
cmp byte [ebx + eax + 0x288], 0
je 0x41506f
push 0
push 0xb51a1c
push 0
push 0x72
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [0xb51a1c]
test eax, eax
je 0x41506a
cmp dword [0xb51a18], 0
mov ecx, 3
cmove edi, ecx
mov dword [0xb51a18], eax
test edi, edi
je 0x415219
push edi
push 0x5199e4
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00407090
add esp, 0x10
lea eax, [ebp - 0x108]
sub edi, 1
je 0x4150b4
sub edi, 1
je 0x4150ad
sub edi, 1
jne 0x4150b9
mov eax, str.Screensaver_On
jmp 0x4150b9
mov eax, str.Input_Idle
jmp 0x4150b9
mov eax, str.Time
push eax
push str.UPD:_Event_Update___s_
call fcn.004133e0
mov edi, dword [0x5664d0]
add esp, 8
add edi, ebx
cmp byte [edi + 0x104], 0
je 0x415219
cmp byte [edi + 0xeb4], 0
je 0x415199
push edi
push str.PRF:_Updating_Profile___s_
call fcn.004133e0
mov eax, dword [edi + 0x268]
add esp, 8
mov byte [edi + 0xeb4], 0
sub eax, 0
je 0x41518a
sub eax, 1
je 0x415184
sub eax, 1
jne 0x415199
mov ecx, dword [edi + 0xe98]
xor esi, esi
cmp dword [ecx], esi
jle 0x415184
xor ebx, ebx
nop dword [eax]
mov edx, dword [ecx + 4]
add edx, ebx
test byte [edx + 0x108], 1
jne 0x41516d
test esi, esi
js 0x415166
mov eax, dword [ecx]
dec eax
cmp esi, eax
jg 0x415166
mov dword [ecx], eax
je 0x415166
sub eax, esi
imul eax, eax, 0x2740
push eax
lea eax, [edx + 0x2740]
push eax
push edx
call fcn.00482d10
add esp, 0xc
dec esi
sub ebx, 0x2740
mov ecx, dword [edi + 0xe98]
inc esi
add ebx, 0x2740
cmp esi, dword [ecx]
jl 0x415130
mov ebx, dword [ebp - 0x10c]
push 1
push 0
jmp 0x41518e
push 1
push 1
push 0xffffffffffffffff
push edi
call fcn.00411240
add esp, 0x10
cmp byte [edi + 0x26c], 0
je 0x4151c6
lea eax, [ebp - 0x120]
push eax
push 0
push edi
push 0x423590
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x4151c6
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x57c7d8]
test edx, edx
je 0x415219
imul eax, dword [0x57c900], 0xeb8
add eax, dword [0x5664d0]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x415200
test cl, cl
je 0x4151fc
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x415200
add edi, 2
add eax, 2
test cl, cl
jne 0x4151e0
xor eax, eax
jmp 0x415205
sbb eax, eax
or eax, 1
test eax, eax
jne 0x415219
push 0xffffffffffffffff
push 1
push 0x405
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [ebp - 0x110]
add ebx, 0xeb8
inc eax
mov dword [ebp - 0x10c], ebx
mov ecx, eax
mov dword [ebp - 0x110], eax
cmp eax, dword [0x5664cc]
jl 0x414f32
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00481761
mov esp, ebp
pop ebp
ret