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

Disassembly:
push ebp
lea ebp, [esp - 0xfdc]
mov eax, 0x105c
call fcn.005a41d0
mov eax, dword [0x61dc40]
xor eax, ebp
mov dword [ebp + 0xfd8], eax
mov ecx, dword [ebp + 0xfec]
push ebx
mov ebx, dword [ebp + 0xfe8]
push esi
mov esi, dword [ebp + 0xfe4]
mov eax, 0x102
push edi
mov dword [ebp - 0x74], ebx
cmp ecx, eax
ja 0x521661
je 0x521621
mov eax, ecx
sub eax, 7
je 0x5215b8
dec eax
je 0x521500
sub eax, 0xc
je 0x5214f8
sub eax, 0x1c
je 0x5214c4
sub eax, 0x4b
je 0x521495
sub eax, 0x85
jne 0x52184c
mov eax, dword [ebp + 0xff0]
xor edi, edi
mov dword [esi + 0x138], edi
mov dword [esi + 0x134], edi
cmp eax, 9
je 0x521820
cmp eax, 0xd
je 0x5217c4
cmp eax, 0x1b
je 0x5217a6
cmp eax, 0x2e
je 0x521652
cmp eax, 0x41
jne 0x52184c
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
je 0x52184c
mov eax, dword [esi + 0xf0]
cmp eax, edi
je 0x52184c
push 0xffffffffffffffff
push edi
push 0xb1
jmp 0x521845
call fcn.0052cdb1
call fcn.00531756
mov ecx, dword [esi + 0x110]
test ecx, ecx
je 0x52184c
push 6
push dword [esi + 0x84]
mov eax, dword [ecx]
push dword [esi + 0x14]
call dword [eax + 4]
xor eax, eax
jmp 0x52186d
push dword [ebp + 0xff4]
push dword [ebp + 0xff0]
push 0x30
push ebx
push dword [esi + 0x11c]
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 0x52186d
xor eax, eax
inc eax
jmp 0x52186d
xor edi, edi
mov dword [esi + 0x1c0], edi
cmp dword [esi + 0x148], edi
je 0x52153b
push edi
push dword [esi + 0xf0]
call dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
je 0x52153b
lea eax, [esi + 0x118]
mov ecx, dword [eax]
mov dword [eax], edi
mov eax, dword [esi + 0x14]
cmp eax, edi
je 0x52153b
cmp ecx, edi
je 0x52153b
call fcn.00527450
xor eax, eax
push 0x1046
mov word [ebp - 0x70], ax
lea eax, [ebp - 0x6e]
push edi
push eax
call fcn.00596530
add esp, 0xc
push 0x824
lea eax, [ebp - 0x70]
push eax
push dword [esi + 0xf0]
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0x70]
push eax
lea ebx, [esi + 0x1c]
push ebx
call fcn.00407af8
mov eax, dword [esi + 0x1c8]
cmp dword [eax - 0xc], edi
je 0x52184c
mov eax, dword [ebx]
cmp dword [eax - 0xc], edi
jne 0x52184c
cmp dword [esi + 0x140], edi
je 0x5215aa
push edi
push edi
push 0xcc
push dword [esi + 0xf0]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esi + 0x1c8]
push dword [esi + 0xf0]
jmp 0x521608
mov eax, dword [esi + 0x1c8]
xor edi, edi
mov dword [esi + 0x1c0], 1
cmp dword [eax - 0xc], edi
je 0x52184c
cmp dword [esi + 0x140], edi
je 0x5215f5
movzx eax, word [esi + 0x1c4]
push edi
push eax
push 0xcc
push dword [esi + 0xf0]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi + 0x1c]
cmp dword [eax - 0xc], edi
jne 0x52184c
push edi
push dword [esi + 0xf0]
lea ebx, [esi + 0x13c]
mov dword [ebx], 1
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [ebx], edi
jmp 0x52184c
mov eax, dword [ebp + 0xff0]
and dword [esi + 0x134], 0
cmp eax, 0xd
je 0x5214bd
cmp eax, 0x1b
je 0x5214bd
cmp eax, 9
je 0x5214bd
cmp eax, 8
jne 0x52184c
mov dword [esi + 0x134], 1
jmp 0x52184c
mov eax, ecx
sub eax, 0x104
je 0x521426
sub eax, 0xfd
je 0x521775
dec eax
je 0x52170d
dec eax
je 0x5216fc
dec eax
je 0x5216e3
dec eax
jne 0x52184c
xor edi, edi
cmp dword [esi + 0x110], edi
je 0x52184c
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, ebx
jne 0x5214bd
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov dword [ebp - 0x78], edi
xor eax, eax
lea edi, [ebp - 0x74]
stosd dword es:[edi], eax
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp ebx, eax
jne 0x5214bd
mov ecx, dword [esi + 0x110]
push 3
jmp 0x5214af
cmp dword [esi + 0x110], 0
je 0x52184c
push ebx
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x5214bd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x14c], eax
jmp 0x52184c
lea eax, [esi + 0x12c]
xor edi, edi
cmp dword [eax], edi
je 0x52184c
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 0x52184c
mov ecx, dword [esi + 0x114]
or dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x7c], edi
cmp ecx, edi
je 0x521760
mov eax, dword [ecx]
lea edx, [ebp - 0x80]
push edx
lea edx, [ebp - 0x7c]
push edx
push dword [esi + 0x84]
call dword [eax]
push dword [ebp - 0x80]
push dword [ebp - 0x7c]
push 0xb1
push dword [ebp - 0x74]
call ebx
jmp 0x52184c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
sub edi, dword [esi + 0x14c]
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
cmp edi, eax
jae 0x52184c
push 0xffffffffffffffff
push 0
push 0xb1
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5214bd
mov ecx, dword [esi + 0x110]
cmp ecx, edi
je 0x52184c
push dword [esi + 0x84]
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x52184c
xor eax, eax
push 0x1046
mov word [ebp - 0x70], ax
lea eax, [ebp - 0x6e]
push edi
push eax
mov dword [esi + 0x138], 1
call fcn.00596530
add esp, 0xc
push 0x824
lea eax, [ebp - 0x70]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [esi]
push edi
lea ecx, [ebp - 0x70]
push ecx
mov ecx, esi
call dword [eax + 0x64]
mov ecx, dword [esi + 0x110]
cmp ecx, edi
je 0x521817
push dword [esi + 0x84]
mov eax, dword [ecx]
call dword [eax + 0x10]
push edi
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x52184c
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
jne 0x52184c
push dword [ebp + 0xff4]
push 9
push 0x100
push 2
push ebx
call dword [sym.imp.USER32.dll_GetAncestor]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp + 0xff4]
push dword [ebp + 0xff0]
push dword [ebp + 0xfec]
push dword [ebp - 0x74]
push dword [esi + 0x11c]
call dword [sym.imp.USER32.dll_CallWindowProcW]
mov ecx, dword [ebp + 0xfd8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0058f3cf
add ebp, 0xfdc
leave
ret 0x14