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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
xor ebx, ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
call fcn.00404ce0
xor eax, eax
push ebp
push 0x469f78
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
call sub.gdi32.dll_DeleteColorSpace
push edx
nop
nop
mov edx, 0xf6
inc edx
nop
nop
nop
pop edx
push dword [ebp - 4]
push 0x469f94
push dword [ebp - 8]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404bf4
call sub.user32.dll_DestroyCaret
push esi
push ebx
mov ebx, 0x178
xchg ebx, esi
xchg esi, ebx
mov ebx, 0xba
add esi, 0x18b
dec esi
dec esi
xchg ebx, ebx
sub ebx, 0x17a
pop ebx
pop esi
lea eax, [ebp - 0x64]
xor ecx, ecx
mov edx, 0x44
call fcn.00403388
push 1
call sub.gdi32.dll_DeleteColorSpace
push edx
nop
nop
mov edx, 0xf6
inc edx
nop
nop
nop
pop edx
mov byte [ebp - 0xd], 1
cmp dword [ebp - 0xc], 0
jne 0x469c22
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 4]
call fcn.00408fd0
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0xc]
call fcn.0040cec4
call sub.kernel32.dll_GetTickCount
push eax
push ebx
dec ebx
inc ebx
inc eax
inc eax
nop
nop
nop
nop
nop
xor ebx, 0x181
or eax, 0x6e
xchg ebx, eax
pop ebx
pop eax
mov dword [ebp - 0x64], 0x44
push 1
call sub.gdi32.dll_GetObjectType
push edx
push ebx
nop
nop
and ebx, 0x195
push edx
pop edx
or edx, 0xbf
add ebx, 0x7c
and edx, 0xc8
nop
nop
inc edx
and edx, 0x5d
xchg ebx, edx
pop ebx
pop edx
lea ecx, [ebp - 0x7c]
mov edx, 8
mov eax, 0x469fa0
call fcn.00469694
mov eax, dword [ebp - 0x7c]
call fcn.00404cf0
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebp - 0x1c], eax
push 0x469fcc
call sub.kernel32.dll_GlobalAddAtomA
lea ecx, [ebp - 0x80]
mov edx, 7
mov eax, 0x469ff0
call fcn.00469694
mov eax, dword [ebp - 0x80]
call fcn.00404cf0
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x20], eax
call sub.user32.dll_GetActiveWindow
push esi
push edx
or esi, 0xbd
xor edx, 0x63
sub esi, 0xa
push edx
pop edx
xchg edx, esi
pop edx
pop esi
mov dword [ebp - 0x38], 1
push 0x46a020
call sub.kernel32.dll_GlobalAddAtomA
mov word [ebp - 0x34], 0
cmp dword [ebp - 0xc], 0
je 0x469d08
mov eax, dword [ebp - 0xc]
call fcn.00404cf0
mov dword [ebp - 0x18], eax
jmp 0x469d0d
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x18]
push eax
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x14]
call fcn.00404cf0
push eax
push 0
call dword [ebp - 0x20]
test eax, eax
jne 0x469e18
push 1
call sub.gdi32.dll_GetStockObject
push eax
nop
nop
nop
and eax, 0x99
sub eax, 0x13b
push eax
pop eax
nop
nop
sub eax, 0xb0
xor eax, 0xac
add eax, 0x6f
mov eax, 0x23
pop eax
mov byte [ebp - 0xd], 0
push 1
call sub.gdi32.dll_DeleteColorSpace
push edx
nop
nop
mov edx, 0xf6
inc edx
nop
nop
nop
pop edx
call sub.kernel32.dll_GetLastError
mov edx, dword [ebp + 8]
mov dword [edx], eax
call sub.user32.dll_DestroyCaret
push esi
push ebx
mov ebx, 0x178
xchg ebx, esi
xchg esi, ebx
mov ebx, 0xba
add esi, 0x18b
dec esi
dec esi
xchg ebx, ebx
sub ebx, 0x17a
pop ebx
pop esi
jmp 0x469f4d
call sub.kernel32.dll_GetTickCount
push eax
push ebx
dec ebx
inc ebx
inc eax
inc eax
nop
nop
nop
nop
nop
xor ebx, 0x181
or eax, 0x6e
xchg ebx, eax
pop ebx
pop eax
push 1
call sub.gdi32.dll_GetObjectType
push edx
push ebx
nop
nop
and ebx, 0x195
push edx
pop edx
or edx, 0xbf
add ebx, 0x7c
and edx, 0xc8
nop
nop
inc edx
and edx, 0x5d
xchg ebx, edx
pop ebx
pop edx
mov eax, dword [ebp - 0x70]
push eax
call sub.kernel32.dll_CloseHandle
push 1
call sub.gdi32.dll_GetStockObject
push eax
nop
nop
nop
and eax, 0x99
sub eax, 0x13b
push eax
pop eax
nop
nop
sub eax, 0xb0
xor eax, 0xac
add eax, 0x6f
mov eax, 0x23
pop eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0x74]
push eax
call sub.kernel32.dll_WaitForSingleObject
call sub.user32.dll_DestroyCaret
push esi
push ebx
mov ebx, 0x178
xchg ebx, esi
xchg esi, ebx
mov ebx, 0xba
add esi, 0x18b
dec esi
dec esi
xchg ebx, ebx
sub ebx, 0x17a
pop ebx
pop esi
mov eax, dword [ebp - 0x74]
push eax
call sub.kernel32.dll_CloseHandle
push edi
push eax
push edi
pop edi
and eax, 0x8a
or edi, 0x7f
xor edi, 0x12
xor eax, 0x18f
push edi
pop edi
pop eax
pop edi
call sub.kernel32.dll_GetTickCount
push edx
push ebx
xor ebx, 0x15f
and ebx, 0x76
and edx, 0x5a
xchg edx, edx
xor ebx, 0x19d
sub ebx, 0xa1
pop ebx
pop edx
push eax
push ebx
dec ebx
inc ebx
inc eax
inc eax
nop
nop
nop
nop
nop
xor ebx, 0x181
or eax, 0x6e
xchg ebx, eax
pop ebx
pop eax
push 0x46a054
call sub.kernel32.dll_GlobalAddAtomA
push esi
or esi, 0x14a
nop
nop
or esi, 0x1e
mov esi, 0x111
or esi, 0x51
xchg esi, esi
dec esi
inc esi
nop
nop
nop
nop
nop
or esi, 0x5c
pop esi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469f7f
lea eax, [ebp - 0x80]
mov edx, 3
call fcn.00404884
lea eax, [ebp - 0x14]
call fcn.00404860
lea eax, [ebp - 0xc]
call fcn.00404860
ret