Function at 0x41863e
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x5836e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x110], eax
xor ebx, ebx
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x114], eax
mov esi, ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x100], eax
push edi
test eax, eax
jne 0x41867c
call fcn.00424422
and dword [ebp - 0x104], ebx
mov edi, eax
mov eax, dword [esi + 0x78b8]
and dword [ebp - 0xfc], ebx
mov ecx, dword [esi + 0x3e68]
mov dword [ebp - 0x10c], eax
mov eax, dword [esi + 0x78c0]
mov byte [ebp - 0xf6], bl
mov dword [ebp - 0x108], eax
test ecx, ecx
je 0x418704
push edi
call fcn.0044fccb
test al, al
je 0x418704
cmp dword [ebp - 0x100], ebx
je 0x4186c9
push 8
pop ebx
jmp 0x418704
mov ecx, dword [esi + 0x3e68]
call fcn.0044ea52
mov dword [ebp - 0x104], eax
test eax, eax
je 0x418704
and dword [ebp - 0x100], ebx
lea ecx, [ebp - 0x100]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [ebp - 0x100], eax
push 8
pop ecx
cmove ebx, ecx
cmp edi, dword [esi + 0x78b8]
je 0x41885c
xor al, al
mov byte [ebp - 0xf5], al
test edi, edi
je 0x41880e
cmp edi, dword [0x5a22a4]
jne 0x41872d
or ebx, 1
jmp 0x418770
lea eax, [ebp - 0xfc]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [ebp - 0xfc], eax
jne 0x41874e
or ebx, 2
jmp 0x418770
mov ecx, dword [esi + 0x3e68]
test ecx, ecx
je 0x418762
push edi
call fcn.0044fccb
test al, al
jne 0x418770
push edi
call fcn.004d7f24
pop ecx
test al, al
je 0x418770
or ebx, 4
cmp dword [ebp - 0xfc], 0
je 0x41880e
test ebx, ebx
jne 0x41880e
mov eax, dword [esi + 0x3e7c]
test eax, eax
je 0x41880e
cmp byte [eax + 7], bl
je 0x41880e
cmp byte [eax + 5], bl
je 0x41880e
mov eax, dword [0x5a23ec]
cmp byte [eax + 0xa5c], bl
je 0x41880e
call fcn.004244be
test al, al
je 0x41880e
mov ecx, dword [esi + 0x3e7c]
push ebx
push ebx
push 1
push dword [ebp - 0xfc]
push edi
call fcn.0040f553
test al, al
je 0x41880e
push edi
call fcn.0040fa63
pop ecx
test al, al
jne 0x4187f8
push dword [ebp - 0xfc]
lea eax, [ebp - 0xf4]
mov byte [ebp - 0xf5], 1
push edi
push str.____DefTerm::CheckForeground_skipped__timer___x_08X_PID_u_is_non_responsive____
push eax
call fcn.00403213
add esp, 0x10
jmp 0x41880e
mov ecx, dword [esi + 0x3e7c]
push 1
push 1
push dword [ebp - 0xfc]
push edi
call fcn.0040bc0c
mov eax, dword [esi + 0x78c4]
mov cl, byte [ebp - 0xf5]
mov byte [ebp - 0xf6], 1
test eax, eax
je 0x418829
test cl, cl
je 0x418831
cmp eax, dword [ebp - 0xfc]
je 0x418854
xor eax, eax
test cl, cl
cmovne eax, dword [ebp - 0xfc]
mov dword [esi + 0x78c4], eax
je 0x41884c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x41884e
xor eax, eax
mov dword [esi + 0x78c8], eax
cmp edi, dword [esi + 0x78b8]
jne 0x41886c
mov eax, dword [ebp - 0x104]
cmp dword [esi + 0x78bc], eax
je 0x418893
jmp 0x418872
mov eax, dword [ebp - 0x104]
cmp dword [esi + 0x78c0], ebx
je 0x418887
mov byte [ebp - 0xf6], 1
mov dword [esi + 0x78c0], ebx
mov dword [esi + 0x78b8], edi
mov dword [esi + 0x78bc], eax
cmp byte [ebp - 0xf6], 0
je 0x4188ed
push dword [ebp - 0x108]
lea eax, [ebp - 0xf4]
push dword [ebp - 0x10c]
push dword [ebp - 0xfc]
push edi
push ebx
push dword [ebp - 0x110]
push str.Foreground_state_changed___s_:_Statex_02X_HWNDx_08X_PID_u_OldHWNDx_08X_OldStatex_02X
push eax
call fcn.00403213
mov ecx, dword [0x5a23ec]
add esp, 0x20
push 1
call fcn.004673c5
test eax, eax
je 0x4188ed
push 1
push 1
lea eax, [ebp - 0xf4]
mov ecx, esi
push eax
call fcn.00410feb
xor ebx, ebx
cmp dword [esi + 0x78c4], ebx
je 0x418957
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x78c8]
cmp eax, 0x5dc
jbe 0x418957
lea eax, [ebp - 0xfc]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0xfc]
cmp eax, dword [esi + 0x78c4]
jne 0x41894b
push edi
call fcn.0040fa63
pop ecx
test al, al
je 0x418957
mov ecx, dword [esi + 0x3e7c]
push 1
push 1
push dword [ebp - 0xfc]
push edi
call fcn.0040bc0c
test al, al
je 0x418957
mov dword [esi + 0x78c8], ebx
mov dword [esi + 0x78c4], ebx
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x418963
mov dword [eax], edi
mov al, byte [esi + 0x78c0]
mov ecx, dword [ebp - 4]
and al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f4166
leave
ret 0xc