Function at 0x4264a4
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x64
mov eax, 0x4ab130
call fcn.0045edc9
mov ebx, ecx
mov ecx, dword [ebp + 0x14]
xor edx, edx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov byte [ecx], 1
cmp eax, 0x56
jg 0x426799
je 0x42678b
cmp eax, 0x16
jg 0x4265ac
je case.0x4264f9.11
add eax, 0xfffffff8
cmp eax, 0xc
ja case.0x4264f9.10
jmp dword [eax*4 + 0x426a9c]
mov edi, dword [ebx + 0x3c]
test edi, edi
je case.0x4264f9.11
mov edi, dword [edi + 0xc]
test edi, edi
je case.0x4264f9.11
push 0xff
push dword [ebx + 0x20]
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call fcn.0042409c
push eax
push ecx
mov ecx, esp
push esi
call fcn.0040bfb4
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 4]
jmp 0x426887
mov edi, dword [ebx + 0x3c]
test edi, edi
je case.0x4264f9.11
mov edi, dword [edi]
jmp 0x42650e
push str.UIObject_Window
mov ecx, edi
call fcn.0040f04a
jmp 0x4268d5
push edx
push esi
push edi
push 0x13
mov ecx, ebx
call fcn.004252b3
jmp 0x426899
push edx
push esi
push edi
push 0x14
jmp 0x426565
mov ecx, ebx
call fcn.0040e417
test eax, eax
je 0x4268d5
mov ecx, ebx
call fcn.0040e417
mov esi, eax
cmp dword [esi + 0x84], 0
jne 0x4265a4
call fcn.00423816
mov dword [esi + 0x84], eax
mov esi, dword [esi + 0x84]
jmp 0x426622
cmp eax, 0x2c
jg 0x42669f
je case.0x4264f9.10
sub eax, 0x19
je case.0x4264f9.11
sub eax, 1
je 0x42668f
sub eax, 1
je case.0x4264f9.11
sub eax, 8
je 0x426668
sub eax, 6
jne case.0x4264f9.10
push 1
lea eax, [ebp - 0x38]
mov ecx, ebx
push eax
call fcn.00423990
mov esi, dword [ebx + 0x40]
lea edi, [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x70], edx
stosd dword es:[edi], eax
push 5
pop ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea edi, [ebp - 0x24]
test esi, esi
jne 0x426609
lea esi, [ebp - 0x70]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0x24], esi
jne 0x42662c
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
jne 0x42662c
mov eax, dword [ebp - 0x44]
mov byte [eax], dl
mov esi, edx
mov eax, esi
call fcn.0045ed73
ret 0x10
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp dword [ebp - 0x24], esi
push edx
sete cl
shr eax, 0x10
test ax, ax
cwde
jle 0x42664b
push eax
push dword [ecx*4 + 0x4c8fa0]
jmp 0x426655
neg eax
push eax
push dword [ecx*4 + str._t_tWV_b_b]
push dword [ecx*4 + 0x4c8f98]
mov ecx, ebx
call fcn.004252b3
jmp 0x426887
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], edx
push eax
mov dword [ebp - 0x4c], edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x44]
movzx ecx, word [ebp - 0x4c]
push eax
movzx eax, word [ebp - 0x50]
shl ecx, 0x10
or ecx, eax
push ecx
jmp 0x426783
mov ecx, edi
call fcn.004125f1
jmp 0x426887
mov byte [ecx], dl
jmp case.0x4264f9.11
sub eax, 0x2d
je 0x426759
sub eax, 6
je 0x426745
sub eax, 4
je 0x426704
sub eax, 1
jne case.0x4264f9.10
mov eax, esi
mov byte [ecx], dl
shr eax, 0x10
lea ecx, [ebp - 0x50]
cwde
push eax
movsx eax, si
push eax
call fcn.00408f26
mov eax, dword [edi + 8]
dec eax
sub eax, 1
je 0x4266f7
dec eax
sub eax, 1
jne 0x4268d5
mov eax, dword [ebp - 0x44]
mov ecx, ebx
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00424e39
jmp 0x426899
xor eax, eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], eax
jmp 0x426a7a
cmp dword [ebx + 0x2c], edx
je case.0x4264f9.10
push 0x4000
mov ecx, ebx
call fcn.0040f137
test al, al
je 0x426735
mov ecx, dword [ebx + 0x2c]
push 0x4000
call fcn.0040f137
test al, al
jne 0x426735
mov eax, dword [ebp - 0x44]
mov byte [eax], 1
jmp 0x426887
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebx + 0x2c]
push eax
push esi
push edi
push 0x37
jmp 0x42665e
xor esi, esi
inc esi
call fcn.0042331d
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x426622
cmp edi, 0x5d
je 0x426780
cmp edi, 0x79
jne case.0x4264f9.11
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x426887
mov ecx, dword [ebp - 0x44]
push ecx
push 0xffffffffffffffff
push ebx
push 0x37
jmp 0x426565
push esi
push edi
mov ecx, ebx
call fcn.00424a84
jmp 0x426887
cmp eax, 0x67
jg 0x42691c
je 0x4268e7
sub eax, 0x57
je 0x4268dc
sub eax, 9
je 0x4268ce
dec eax
sub eax, 1
je 0x4268a0
dec eax
sub eax, 1
je 0x42688f
sub eax, 1
je 0x4267eb
sub eax, 1
jne case.0x4264f9.10
push ecx
push edi
push ecx
mov ecx, ebx
call fcn.00426319
jmp 0x426899
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x48], eax
test eax, eax
je case.0x4264f9.11
mov ecx, eax
call fcn.004105d0
mov ecx, edi
mov ebx, eax
call fcn.00404890
mov ecx, edi
lea esi, [eax + 8]
call fcn.0040487d
mov ecx, dword [esi]
sub ecx, dword [eax]
sar ecx, 2
cmp ecx, ebx
jae 0x426838
cmp ebx, 0x3fffffff
jbe 0x426830
push str.vector_T__too_long
call fcn.0045adad
push ebx
mov ecx, edi
call fcn.00427090
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
call fcn.00426e59
mov ecx, dword [ebp - 0x48]
mov ebx, dword [eax]
lea eax, [ebp - 0x5c]
push eax
call fcn.00426dfe
mov ecx, dword [ebp - 0x48]
mov edi, dword [eax]
lea eax, [ebp - 0x4c]
push eax
call fcn.00426e59
mov ecx, dword [ebp - 0x54]
mov esi, dword [eax]
call fcn.0040487d
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 0x48], 0
push dword [ebp - 0x48]
push edi
push esi
push ebx
call fcn.004272cd
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x48]
push eax
call fcn.00426e59
mov esi, dword [ebp - 0x40]
jmp 0x426622
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00426256
mov esi, eax
jmp 0x426622
mov ecx, ebx
call fcn.0040d543
test al, al
je 0x426887
push 0x200
mov ecx, ebx
call fcn.0040f137
test al, al
je 0x426887
push esi
push edi
push ebx
mov ecx, ebx
call fcn.0040e417
mov ecx, eax
call fcn.004323d7
jmp 0x426887
mov ecx, ebx
call fcn.00424ae8
xor esi, esi
jmp 0x426622
push esi
push edi
mov ecx, ebx
call fcn.00424a20
jmp 0x426887
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je case.0x4264f9.11
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je case.0x4264f9.11
mov eax, dword [ecx]
lea edx, [ebp - 0x3c]
push ebx
push edx
call dword [eax + 4]
push eax
mov ecx, edi
call fcn.004046b8
lea ecx, [ebp - 0x3c]
call fcn.0040a301
jmp 0x426a7a
sub eax, 0x68
je 0x426a82
dec eax
sub eax, 1
je 0x4269d3
sub eax, 1
je 0x4269aa
sub eax, 8
je 0x426958
dec eax
sub eax, 1
jne case.0x4264f9.10
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je case.0x4264f9.11
push edx
push esi
push edi
push 0x75
jmp 0x426567
mov byte [ecx], dl
mov ecx, ebx
push 0x400
call fcn.0040f137
test al, al
je 0x426983
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x426983
mov eax, dword [ebp - 0x44]
push eax
push esi
push 0
push 0x73
call fcn.004252b3
mov esi, eax
jmp 0x426986
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp byte [eax], 0
jne 0x426622
test edi, edi
je 0x426622
mov ecx, dword [ebp - 0x48]
push eax
push ecx
push 0
push 0x74
mov ecx, edi
jmp 0x426567
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je case.0x4264f9.11
test esi, esi
je 0x4269be
mov ecx, dword [ecx + 4]
jmp 0x4269c1
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4269cc
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, eax
mov eax, edx
jmp 0x426624
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je 0x4269fa
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x4269fa
mov eax, dword [ecx]
lea edx, [ebp - 0x50]
push ebx
push edx
call dword [eax + 4]
mov ecx, dword [eax]
mov dword [esi], ecx
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
jmp 0x426a7a
push edx
push edx
push edx
push 0x1b
mov ecx, ebx
call fcn.004252b3
test eax, eax
je 0x426887
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
call fcn.0040d5e8
mov esi, eax
xor eax, eax
mov ecx, ebx
push eax
push eax
push eax
push 0xf
mov dword [ebp - 4], eax
call fcn.004252b3
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0040a2c4
push eax
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.0044f0a0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
add esp, 0x1c
call fcn.0040a301
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push eax
call fcn.00408f26
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 4], eax
xor esi, esi
inc esi
jmp 0x426622
push esi
push edi
lea ecx, [ebp - 0x58]
call fcn.00408f26
push eax
mov ecx, ebx
call fcn.0042484f
jmp 0x426899