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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1020
call fcn.00417df0
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x538c08]
xor esi, esi
cmp eax, 0x2710
ja 0x403413
cmp dword [ebp + 8], esi
jne 0x4034c9
cmp dword [ebp + 0xc], esi
jne 0x40367e
cmp dword [ebp + 0x10], esi
jne 0x40367e
cmp dword [ebp + 0x14], esi
jne 0x40367e
cmp dword [ebp + 0x18], esi
jne 0x40367e
mov ebx, 0x42e788
push ebx
mov edi, 0x42e780
push edi
push esi
push 0x42e7ec
mov esi, 0x42e770
push esi
call fcn.00402aa9
push ebx
push edi
push 0xffffffffffffffff
push 0x42e7e8
push esi
mov dword [0x538c04], eax
call fcn.00402aa9
push ebx
push edi
push 3
push 0x42e7e0
push esi
mov dword [0x538c00], eax
call fcn.00402aa9
push ebx
push edi
push 0x200
push 0x42e7d8
push esi
mov dword [0x4362fc], eax
call fcn.00402a49
add esp, 0x50
push 0x105
push 0x538af8
mov dword [0x4362f8], eax
call fcn.00402ff6
test byte [0x4362fc], 4
pop ecx
pop ecx
je 0x4034b2
push dword [0x538af0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4034b2
push eax
push 0x42e7c8
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x538af0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp + 8], 0
mov dword [0x538c08], eax
je 0x40367e
xor esi, esi
cmp dword [ebp + 0x14], esi
jne 0x4034d8
mov eax, dword [0x4362fc]
mov dword [ebp + 0x14], eax
jmp 0x4034ff
test byte [ebp + 0x14], 4
je 0x4034ff
push dword [0x538af0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4034ff
push esi
push 0x42e7c8
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x538af0], eax
mov ebx, dword [ebp + 0xc]
test dword [0x538c04], ebx
je 0x40367e
mov eax, dword [ebp + 0x10]
test dword [0x538c00], eax
je 0x40367e
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.00417520
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.0040247b
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.00402ec3
add esp, 0x1c
push 0x42e7c4
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.0040244a
push ebx
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.00402f7c
add esp, 0xc
push dword [ebp + 8]
lea eax, [ebp - 0x80c]
push esi
push eax
call fcn.0040244a
push 0x42e7c0
push esi
lea eax, [ebp - 0x80c]
push eax
call fcn.0040244a
test byte [ebp + 0x14], 1
je 0x4035d4
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4035be
mov eax, 0x538af8
push dword [0x4362f8]
push eax
lea eax, [ebp - 0x80c]
push eax
call fcn.00402d24
add esp, 0xc
test byte [ebp + 0x14], 2
je 0x4035e7
lea eax, [ebp - 0x80c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test byte [ebp + 0x14], 4
je 0x40367e
push dword [0x538af0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40367e
mov edi, 0x814
push edi
lea eax, [ebp - 0x1020]
push 0
push eax
call fcn.00417520
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 [0x538af0]
mov dword [ebp - 8], edi
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebx
leave
ret