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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1054
call fcn.004e84e0
mov eax, dword [0x52ec00]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov eax, 0x104
push edi
mov dword [ebp - 0x1050], ebx
cmp ecx, eax
ja 0x474f50
je 0x474e22
mov eax, ecx
sub eax, 7
je 0x474e13
dec eax
je 0x474d93
sub eax, 0xc
je 0x474d8b
sub eax, 0x1c
je 0x474d5d
sub eax, 0xd0
je 0x474e22
dec eax
dec eax
jne 0x475046
and dword [esi + 0xf0], eax
cmp dword [ebp + 0x14], 0xd
je 0x475095
cmp dword [ebp + 0x14], 9
je 0x475095
cmp dword [ebp + 0x14], 8
jne 0x475046
mov dword [esi + 0xf0], 1
jmp 0x475046
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push 0x30
push ebx
push dword [esi + 0xd8]
call dword [sym.imp.USER32.dll_CallWindowProcW]
push 0
push 3
push 0xd3
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, esi
jmp 0x47505c
xor eax, eax
inc eax
jmp 0x47505c
xor edi, edi
push edi
push dword [esi + 0xb0]
mov dword [esi + 0x16c], edi
call dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
je 0x474dc8
lea eax, [esi + 0xd4]
mov ecx, dword [eax]
mov dword [eax], edi
mov eax, dword [esi + 0x14]
cmp eax, edi
je 0x474dc8
cmp ecx, edi
je 0x474dc8
push 1
call fcn.0047a23a
xor eax, eax
push 0x1046
mov word [ebp - 0x104c], ax
lea eax, [ebp - 0x104a]
push edi
push eax
call fcn.004dbcc0
add esp, 0xc
push 0x824
lea eax, [ebp - 0x104c]
push eax
push dword [esi + 0xb0]
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0x104c]
push eax
lea eax, [esi + 0x1c]
push eax
call fcn.00406723
jmp 0x475046
mov dword [esi + 0x16c], 1
jmp 0x475046
mov eax, dword [ebp + 0x14]
xor edi, edi
mov dword [esi + 0xf4], edi
mov dword [esi + 0xf0], edi
cmp eax, 9
je 0x474f1e
cmp eax, 0xd
je 0x474eb6
cmp eax, 0x1b
je 0x474e86
cmp eax, 0x2e
je 0x474d4e
cmp eax, 0x41
jne 0x475046
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
je 0x475046
mov eax, dword [esi + 0xb0]
cmp eax, edi
je 0x475046
push 0xffffffffffffffff
push edi
push 0xb1
jmp 0x474f44
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, ebx
jne 0x475046
push dword [esi + 0x1c]
mov dword [esi + 0x28], 1
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xffffffffffffffff
push edi
push 0xb1
mov dword [esi + 0x28], edi
push ebx
jmp 0x474f45
xor eax, eax
push 0x1046
mov word [ebp - 0x104c], ax
lea eax, [ebp - 0x104a]
push edi
push eax
mov dword [esi + 0xf4], 1
call fcn.004dbcc0
add esp, 0xc
push 0x824
lea eax, [ebp - 0x104c]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x104c]
push ecx
mov ecx, esi
call dword [eax + 0x5c]
mov ecx, dword [esi + 0xd0]
cmp ecx, edi
je 0x474f12
push dword [esi + 0x74]
mov eax, dword [ecx]
call dword [eax + 0x10]
push edi
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x475046
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
jne 0x475046
push dword [ebp + 0x18]
push 9
push 0x100
push 2
push ebx
call dword [sym.imp.USER32.dll_GetAncestor]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x475046
mov eax, ecx
sub eax, 0x201
je 0x47506d
dec eax
je 0x475008
dec eax
je 0x474ffa
dec eax
je 0x474fe5
dec eax
jne 0x475046
xor edi, edi
cmp dword [esi + 0xd0], edi
je 0x475046
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, ebx
jne 0x475095
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov dword [ebp - 0x1054], edi
xor eax, eax
lea edi, [ebp - 0x1050]
stosd dword es:[edi], eax
lea eax, [ebp - 0x1054]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp - 0x1050]
push dword [ebp - 0x1054]
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp ebx, eax
jne 0x475095
mov ecx, dword [esi + 0xd0]
mov eax, dword [ecx]
push 2
push dword [esi + 0x74]
push dword [esi + 0x14]
call dword [eax + 4]
jmp 0x475095
cmp dword [esi + 0xd0], 0
je 0x475046
push ebx
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x475095
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0xf8], eax
jmp 0x475046
lea eax, [esi + 0xe8]
xor edi, edi
cmp dword [eax], edi
je 0x475046
push edi
push edi
push 0xb0
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [eax], edi
call ebx
mov ecx, eax
shr ecx, 0x10
cmp ax, cx
jne 0x475040
push 0xffffffffffffffff
push edi
push 0xb1
push dword [ebp - 0x1050]
call ebx
mov ebx, dword [ebp - 0x1050]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push dword [esi + 0xd8]
call dword [sym.imp.USER32.dll_CallWindowProcW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d5a7d
leave
ret 0x14
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
sub edi, dword [esi + 0xf8]
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
cmp edi, eax
jae 0x475046
push 0xffffffffffffffff
push 0
push 0xb1
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
jmp 0x47505c