Function at 0x10026a50
Capabilities:
Get graphical window text
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10153123
mov eax, dword fs:[0]
push eax
sub esp, 0x380
mov eax, dword [0x10209f80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x20
lea ecx, [ebp - 0x35c]
call fcn.1000f450
lea ecx, [ebp - 0x35c]
call fcn.10023f10
mov ecx, section..data
mov dword [ebp - 4], 0
call fcn.100252b0
sub esp, 0x18
mov esi, eax
mov ecx, esp
push str.Width_Height
call fcn.100124d0
lea eax, [ebp - 0x374]
mov ecx, esi
push eax
call fcn.1000b340
push str.Width:
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 1
call fcn.100124d0
push str.Width
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 2
call fcn.100124d0
push 1
lea eax, [ebp - 0x38c]
mov byte [ebp - 4], 3
push eax
push 0x1020b090
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x35c]
call fcn.10025410
lea ecx, [ebp - 0x33c]
call fcn.100122f0
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 1
call fcn.100122f0
push str.Height:
lea ecx, [ebp - 0x33c]
call fcn.100124d0
push str.Height
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 4
call fcn.100124d0
push 1
lea eax, [ebp - 0x33c]
mov byte [ebp - 4], 5
push eax
push 0x1020b094
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x35c]
call fcn.10025410
lea ecx, [ebp - 0x38c]
call fcn.100122f0
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 1
call fcn.100122f0
push str.ServerState:
lea ecx, [ebp - 0x33c]
call fcn.100124d0
push str.ServerState
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 6
call fcn.100124d0
push 1
lea eax, [ebp - 0x33c]
mov byte [ebp - 4], 7
push eax
push 0x1020b08c
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x35c]
call fcn.10025410
lea ecx, [ebp - 0x38c]
call fcn.100122f0
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 1
call fcn.100122f0
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x35c]
call fcn.100263f0
mov ebx, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov esi, dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea eax, [ebp - 0x320]
push eax
call esi
push eax
call ebx
call edi
cmp eax, dword [ebp - 0x320]
jne 0x10026c14
call edi
mov dword [0x1020b098], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov dword [0x1020b09c], eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
call esi
lea ecx, [ebp - 0x334]
mov dword [0x1020b0a0], eax
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [0x1020b090]
push 0x104
mov eax, dword [eax]
mov dword [0x1020b0a8], eax
mov eax, dword [0x1020b094]
mov eax, dword [eax]
mov dword [0x1020b0ac], eax
lea eax, [ebp - 0x114]
push eax
push dword [0x1020b0a0]
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x114]
mov dword [0x1020b0b0], eax
lea eax, [ebp - 0x218]
push 0x104
push eax
push dword [0x1020b0a0]
call dword [sym.imp.USER32.dll_GetClassNameA]
lea eax, [ebp - 0x218]
push 0x104
mov dword [0x1020b0b4], eax
lea eax, [ebp - 0x31c]
push eax
push 0
push dword [0x1020b0a0]
call sub.KERNEL32.dll_K32GetModuleFileNameExA
lea eax, [ebp - 0x31c]
mov dword [0x1020b0b8], eax
lea eax, [ebp - 0x320]
push eax
call fcn.10023860
add esp, 4
mov ecx, 0x10209004
push eax
call fcn.100223a0
lea ecx, [ebp - 0x320]
call fcn.10024b10
lea eax, [ebp - 0x320]
push eax
call fcn.100238e0
add esp, 4
mov ecx, 0x10209044
push eax
call fcn.100223e0
lea ecx, [ebp - 0x320]
call fcn.10024b30
lea eax, [ebp - 0x320]
push eax
call fcn.10023810
add esp, 4
mov ecx, 0x10209008
push eax
call fcn.10022360
lea ecx, [ebp - 0x320]
call fcn.10024af0
lea eax, [ebp - 0x320]
push eax
call fcn.10023760
add esp, 4
mov ecx, 0x1020903c
push eax
call fcn.10022330
lea ecx, [ebp - 0x320]
call fcn.10024ad0
mov eax, dword [0x1020b08c]
cmp dword [eax], 0xb
jge 0x10026da6
nop dword [eax + eax]
push 0
lea eax, [ebp - 0x324]
push 0x3e8
push eax
call fcn.100253f0
push eax
call fcn.10023c10
mov eax, dword [0x1020b08c]
add esp, 0x10
cmp dword [eax], 0xb
jl 0x10026d80
mov ecx, 0x10209004
call fcn.100252b0
mov ecx, eax
call fcn.1002b610
mov eax, dword [0x1020b0c0]
test eax, eax
je 0x10026e31
mov edi, dword [eax + 0x7c]
test edi, edi
je 0x10026e31
mov ecx, section..data
call fcn.100252b0
mov ecx, edi
mov esi, eax
call fcn.10090bd0
push eax
lea ecx, [ebp - 0x33c]
call fcn.100124d0
push eax
lea eax, [ebp - 0x38c]
mov byte [ebp - 4], 8
push str.Connected_n:bust_in_silhouette:_Account_Name:__
push eax
call fcn.100151a0
sub esp, 0xc
mov byte [ebp - 4], 9
mov ecx, esp
push str.__r_n
push eax
push ecx
call fcn.10015270
add esp, 0xc
mov ecx, esi
call fcn.1000be40
lea ecx, [ebp - 0x38c]
call fcn.100122f0
lea ecx, [ebp - 0x33c]
call fcn.100122f0
push 1
mov ecx, 0x1020b0bc
call fcn.10025290
mov ecx, 0x1020b0bc
call fcn.100252a0
test al, al
je 0x10026ec1
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x2d
call edi
test al, 1
je 0x10026e8b
mov ecx, 0x10209044
call fcn.100252b0
cmp byte [eax + 0x60], 0
lea ecx, [eax + 0x60]
sete al
mov byte [ecx], al
mov ecx, 0x10209044
call fcn.100252b0
mov ecx, 0x10209008
mov esi, eax
call fcn.100252b0
mov cl, byte [esi + 0x60]
mov byte [eax + 0x3c], cl
push 0x23
call edi
test al, 1
je 0x10026e9a
mov byte [0x1020b0bd], 1
push 0
lea eax, [ebp - 0x324]
push 1
push eax
call fcn.100253f0
push eax
call fcn.10023c10
add esp, 0x10
mov ecx, 0x1020b0bc
call fcn.100252a0
test al, al
jne 0x10026e51
push 0
push dword [0x1020b0a4]
call dword [sym.imp.KERNEL32.dll_FreeLibraryAndExitThread]