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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4331d8
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x448620]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push esi
push edi
mov eax, dword [0x448620]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
call fcn.0040ca7a
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x4079c7
push 0x80004005
call fcn.00403290
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x70], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x2e]
push edi
push eax
movzx eax, word [esp + 0x34]
push eax
movzx eax, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x38]
push eax
movzx eax, word [esp + 0x3a]
push eax
movzx eax, word [esp + 0x3a]
push eax
movzx eax, word [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push str._d__02d__02d__02d:_02d:_02d._003d__s
push eax
call fcn.004074e0
add esp, 0x28
test esi, esi
je 0x407a41
mov ecx, esi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407a30
sub ecx, edx
sar ecx, 1
jne 0x407a46
mov esi, 0x440f4c
call fcn.0040ca7a
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x407a62
push 0x80004005
call fcn.00403290
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x70], 1
mov eax, dword [0x44d88c]
mov edi, dword [esp + 0x1c]
push eax
push edi
inc eax
push esi
mov dword [0x44d88c], eax
lea eax, [esp + 0x20]
push str._s__s___d_
push eax
call fcn.004074e0
mov eax, dword [0x44d730]
add esp, 0x14
test eax, eax
je 0x407aad
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x407abf
push str.EpicScaleWWWwindow
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x44d730], eax
mov esi, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], 0
mov word [esp + 0x30], ax
cmp word [esi], ax
jne 0x407ae3
xor ecx, ecx
jmp 0x407aff
mov ecx, esi
lea edx, [ecx + 2]
jmp 0x407af0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407af0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [esp + 0x38]
call fcn.004041a0
mov byte [esp + 0x70], 2
lea ecx, [esp + 0x30]
cmp dword [esp + 0x44], 8
mov eax, dword [esp + 0x40]
cmovae ecx, dword [esp + 0x30]
push dword [esp + 0x18]
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
lea eax, [ecx + eax*2]
mov byte [esp + 0x4c], 0
lea ecx, [esp + 0x34]
cmovae ecx, dword [esp + 0x34]
push eax
push ecx
lea ecx, [esp + 0x54]
call fcn.00404730
mov byte [esp + 0x70], 3
or ebx, 0xffffffff
mov ecx, dword [0x44d730]
test ecx, ecx
je 0x407c7f
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x407c7f
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x20], 0x4bc
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x24], eax
lea eax, [esp + 0x48]
cmovae eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [0x44d72c]
test eax, eax
je 0x407ba6
mov eax, dword [eax]
jmp 0x407bac
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push 0
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x14]
push 0x4a
push dword [0x44d730]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x18], eax
cmp eax, 0x4bc
je 0x407c91
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x44d888]
cmp eax, 0xea60
jb 0x407c7f
call fcn.0040ca7a
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x407c13
push 0x80004005
call fcn.00403290
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x70], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x18]
push str._23_
push str._s_ERROR:_SendMessage_to_Watcher_failed:__d__u
push eax
call fcn.004074e0
add esp, 0x14
lea ecx, [esp + 0x10]
mov edx, 0x44d828
call fcn.00407d50
call esi
mov byte [esp + 0x70], 3
mov ecx, ebx
mov esi, dword [esp + 0x10]
add esi, 0xfffffff0
mov dword [0x44d888], eax
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x407c7f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, 0x44d828
lea ecx, [esp + 0x14]
call fcn.004077d0
mov esi, dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [esp + 0x5c], 0x10
mov dword [0x44d734], eax
jb 0x407caf
push dword [esp + 0x48]
call fcn.0040c46c
add esp, 4
cmp dword [esp + 0x44], 8
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
jb 0x407cd7
push dword [esp + 0x30]
call fcn.0040c46c
add esp, 4
xor eax, eax
mov dword [esp + 0x44], 7
add esi, 0xfffffff0
mov word [esp + 0x30], ax
mov byte [esp + 0x70], al
mov ecx, ebx
mov dword [esp + 0x40], 0
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x407d0b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov dword [esp + 0x70], 0xffffffff
lea eax, [edi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x407d2a
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.0041b38f
mov esp, ebp
pop ebp
ret