Function at 0x40305e
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1020
call fcn.00417a80
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x5291e8]
xor esi, esi
cmp eax, 0x2710
ja 0x4030b0
cmp dword [ebp + 8], esi
jne 0x403166
cmp dword [ebp + 0xc], esi
jne 0x40331b
cmp dword [ebp + 0x10], esi
jne 0x40331b
cmp dword [ebp + 0x14], esi
jne 0x40331b
cmp dword [ebp + 0x18], esi
jne 0x40331b
mov ebx, 0x421610
push ebx
mov edi, 0x421608
push edi
push esi
push 0x421640
mov esi, 0x4215f8
push esi
call fcn.00402b17
push ebx
push edi
push 0xffffffffffffffff
push 0x42163c
push esi
mov dword [0x5291e4], eax
call fcn.00402b17
push ebx
push edi
push 3
push 0x421634
push esi
mov dword [0x5291e0], eax
call fcn.00402b17
push ebx
push edi
push 0x200
push 0x42162c
push esi
mov dword [0x42723c], eax
call fcn.00402ab7
add esp, 0x50
push 0x105
push 0x5290d8
mov dword [0x427238], eax
call fcn.00402f61
test byte [0x42723c], 4
pop ecx
pop ecx
je 0x40314f
push dword [0x5290d0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x40314f
push eax
push 0x42161c
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x5290d0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp + 8], 0
mov dword [0x5291e8], eax
je 0x40331b
xor esi, esi
cmp dword [ebp + 0x14], esi
jne 0x403175
mov eax, dword [0x42723c]
mov dword [ebp + 0x14], eax
jmp 0x40319c
test byte [ebp + 0x14], 4
je 0x40319c
push dword [0x5290d0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x40319c
push esi
push 0x42161c
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x5290d0], eax
mov ebx, dword [ebp + 0xc]
test dword [0x5291e4], ebx
je 0x40331b
mov eax, dword [ebp + 0x10]
test dword [0x5291e0], eax
je 0x40331b
xor eax, eax
mov byte [ebp - 0x80c], 0
mov ecx, 0x1ff
lea edi, [ebp - 0x80b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, 0x800
push esi
stosb byte es:[edi], al
lea eax, [ebp - 0x80c]
push 0
push eax
call fcn.00416860
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.00402630
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.00402e27
add esp, 0x1c
push 0x421618
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.004025ff
push ebx
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.00402ee0
add esp, 0xc
push dword [ebp + 8]
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.004025ff
push 0x421614
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.004025ff
test byte [ebp + 0x14], 1
je 0x403271
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x40325b
mov eax, 0x5290d8
push dword [0x427238]
push eax
lea eax, [ebp - 0x80c]
push eax
call fcn.00402c88
add esp, 0xc
test byte [ebp + 0x14], 2
je 0x403284
lea eax, [ebp - 0x80c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test byte [ebp + 0x14], 4
je 0x40331b
push dword [0x5290d0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40331b
mov edi, 0x814
push edi
lea eax, [ebp - 0x1020]
push 0
push eax
call fcn.00416860
add esp, 0xc
mov dword [ebp - 0x1020], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x101c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x1018], eax
push esi
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x100c]
push eax
mov dword [ebp - 0x1014], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [ebp + 0x10]
and dword [ebp - 0xc], 0
mov dword [ebp - 0x1010], eax
lea eax, [ebp - 0x1020]
mov dword [ebp - 4], eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0x4a
push dword [0x5290d0]
mov dword [ebp - 8], edi
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebx
leave
ret