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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1034
call fcn.10008250
mov eax, dword [0x1001b128]
push ebx
mov ebx, dword [ebp + 8]
xor eax, ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1038], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [esp + 0x10], eax
call esi
mov edx, dword [0x1001bec8]
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
sub eax, edx
cmp eax, 0x2710
ja 0x100045fd
test ebx, ebx
jne 0x100046c8
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x100048d4
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x100048d4
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x100048d4
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x100048d4
push 0x100163bc
push 0
push 0x100163b4
mov edx, 0x100163c4
mov ecx, 0x100163f4
call fcn.100036e0
push 0x100163bc
push 0xffffffffffffffff
push 0x100163b4
mov edx, 0x100163c4
mov ecx, 0x100163f0
mov dword [0x1001bec4], eax
call fcn.100036e0
push 0x100163bc
push 3
push 0x100163b4
mov edx, 0x100163c4
mov ecx, 0x100163e8
mov dword [0x1001bec0], eax
call fcn.100036e0
push 0x100163bc
push 0x200
push 0x100163b4
mov edx, 0x100163c4
mov ecx, 0x100163e0
mov dword [0x1001b07c], eax
call fcn.100035b0
push 0x105
push 0x1001bdb8
mov dword [0x1001b078], eax
call fcn.10004310
mov al, byte [0x1001b07c]
add esp, 0x38
test al, 4
je 0x100046b9
mov ecx, dword [0x1001bdb4]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100046b9
push eax
push 0x100163d0
call edi
mov dword [0x1001bdb4], eax
call esi
test ebx, ebx
mov dword [0x1001bec8], eax
je 0x100048d4
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x100046da
mov edx, dword [0x1001b07c]
mov dword [ebp + 0x14], edx
jmp 0x100046fb
test al, 4
je 0x100046fb
mov eax, dword [0x1001bdb4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100046fb
push eax
push 0x100163d0
call edi
mov dword [0x1001bdb4], eax
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x838]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x838]
push 0x800
push ecx
call fcn.10002ff0
lea edx, [esp + 0x840]
push 0x800
push edx
call fcn.10004170
add esp, 0x10
mov ecx, 0x800
lea eax, [esp + 0x838]
mov edi, edi
cmp byte [eax], 0
je 0x1000474b
inc eax
dec ecx
jne 0x10004740
jmp 0x10004770
test ecx, ecx
je 0x10004770
mov eax, 0x800
sub eax, ecx
push 0x100163cc
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x840]
push edx
call fcn.10002500
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0x83c]
push 0x800
push ecx
call fcn.10004260
add esp, 0xc
mov ecx, 0x800
lea eax, [esp + 0x838]
cmp byte [eax], 0
je 0x100047a0
inc eax
dec ecx
jne 0x10004795
jmp 0x100047c1
test ecx, ecx
je 0x100047c1
mov eax, 0x800
sub eax, ecx
push ebx
mov edx, 0x800
sub edx, eax
push edx
lea eax, [esp + eax + 0x840]
push eax
call fcn.10002500
mov ecx, 0x800
lea eax, [esp + 0x838]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x100047db
inc eax
dec ecx
jne 0x100047d0
jmp 0x10004800
test ecx, ecx
je 0x10004800
mov eax, 0x800
sub eax, ecx
push 0x100163c8
mov ecx, 0x800
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x840]
push edx
call fcn.10002500
mov bl, byte [ebp + 0x14]
test bl, 1
je 0x1000482d
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10004815
mov eax, 0x1001bdb8
mov ecx, dword [0x1001b078]
push ecx
push eax
lea edx, [esp + 0x840]
push edx
call fcn.10003f20
add esp, 0xc
test bl, 2
je 0x10004840
lea eax, [esp + 0x838]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test bl, 4
je 0x100048d4
mov ecx, dword [0x1001bdb4]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x100048d4
xor eax, eax
mov ecx, 0x205
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov esi, 0x814
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
push 0x800
lea eax, [esp + 0x83c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov dword [esp + 0x38], edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x14]
push ecx
push 0
mov dword [esp + 0x38], edx
mov edx, dword [0x1001bdb4]
push 0x4a
lea eax, [esp + 0x2c]
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 0
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x103c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10007bf7
mov esp, ebp
pop ebp
ret