Function at 0x2e0a8476
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x18]
xor ebx, ebx
mov eax, pe_nt_image_headers32
mov dword [ebp - 4], ebx
mov byte [edi], 1
mov edx, 0x202
cmp ecx, eax
ja 0x2e0a862b
je 0x2e0a85c4
mov eax, ecx
sub eax, 7
je 0x2e0a858b
dec eax
je 0x2e0a8563
sub eax, 0x7c
je 0x2e0a855a
sub eax, 0x1c
je 0x2e0a86dc
dec eax
jne 0x2e0a8759
mov eax, dword [esi + 0x18]
mov byte [edi], bl
mov dword [ebp + 0x10], eax
cmp dword [esi + 0x18], ebx
je 0x2e0a84ec
cmp ecx, edx
jne 0x2e0a84ec
mov byte [edi], 1
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov ebx, 0xa1
cmp dword [ebp + 0xc], ebx
mov ecx, esi
sete al
movzx eax, al
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 0x14]
call fcn.2e0a6145
push dword [ebp - 8]
mov ecx, esi
push dword [ebp - 0xc]
call fcn.2e0a7408
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0xc], ebx
jne 0x2e0a86bc
test eax, eax
je 0x2e0a8759
push eax
mov ecx, esi
call fcn.2e0a7495
test eax, eax
je 0x2e0a8759
cmp byte [eax + 0x44], 0
je 0x2e0a8759
mov eax, dword [ebp + 0x14]
push dword [esi]
mov dword [esi + 0x18], eax
call dword [sym.imp.USER32.dll_SetCapture]
mov byte [edi], 1
jmp 0x2e0a8759
mov dword [ebp - 4], 2
jmp 0x2e0a8552
mov byte [edi], bl
mov eax, dword [esi + 0x1c]
push eax
mov ecx, esi
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], ebx
call fcn.2e0a7495
cmp eax, ebx
je 0x2e0a8759
push ebx
mov ecx, eax
call fcn.2e0a6d9d
jmp 0x2e0a8759
mov byte [edi], bl
mov edi, dword [esi + 0x20]
push edi
mov ecx, esi
call fcn.2e0a7495
cmp eax, ebx
je 0x2e0a85b5
cmp byte [eax + 0x46], bl
jne 0x2e0a85b5
push 1
mov ecx, esi
call fcn.2e0a842c
mov edi, dword [esi + 0x20]
push edi
mov ecx, esi
call fcn.2e0a7495
mov dword [esi + 0x1c], edi
cmp eax, ebx
je 0x2e0a8759
push 1
jmp 0x2e0a857f
mov eax, dword [ebp + 0x10]
sub eax, 9
je 0x2e0a85fe
sub eax, 4
je 0x2e0a85e6
sub eax, 0x13
je 0x2e0a85e6
sub eax, 5
je 0x2e0a85fe
dec eax
dec eax
je 0x2e0a85fe
mov byte [edi], bl
jmp 0x2e0a8759
mov eax, dword [esi + 0x1c]
cmp eax, ebx
je 0x2e0a8759
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx]
push eax
call dword [edx]
jmp 0x2e0a8759
cmp dword [ebp + 0x10], 0x27
je 0x2e0a861b
cmp dword [ebp + 0x10], 9
jne 0x2e0a8617
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x2e0a861b
xor al, al
jmp 0x2e0a861e
xor eax, eax
inc eax
push eax
mov ecx, esi
call fcn.2e0a842c
jmp 0x2e0a8759
cmp ecx, 0x200
je 0x2e0a86dc
cmp ecx, edx
je 0x2e0a84d2
cmp ecx, 0x215
je 0x2e0a8681
cmp ecx, 0x2a1
jbe 0x2e0a8759
cmp ecx, 0x2a3
ja 0x2e0a8759
push dword [esi + 0x14]
mov ecx, esi
call fcn.2e0a7495
cmp eax, ebx
je 0x2e0a85df
push ebx
mov ecx, eax
call fcn.2e0a5e19
mov dword [esi + 0x14], ebx
jmp 0x2e0a85df
mov byte [edi], bl
cmp dword [esi + 0x18], ebx
je 0x2e0a8759
mov eax, dword [esi]
cmp eax, dword [ebp + 0x14]
je 0x2e0a8759
push dword [esi + 0x14]
mov ecx, esi
mov dword [esi + 0x18], ebx
call fcn.2e0a7495
cmp eax, ebx
je 0x2e0a8759
push ebx
mov ecx, eax
call fcn.2e0a5e19
mov dword [esi + 0x14], ebx
jmp 0x2e0a8759
cmp dword [ebp + 0x10], 0
je 0x2e0a8759
cmp dword [ebp + 0x10], eax
jne 0x2e0a8552
mov ecx, dword [esi + 0x24]
mov edx, dword [ecx]
push eax
call dword [edx]
jmp 0x2e0a8552
cmp ecx, 0xa0
sete al
movzx eax, al
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 0x14]
mov ecx, esi
call fcn.2e0a6145
push dword [ebp - 8]
mov ecx, esi
push dword [ebp - 0xc]
call fcn.2e0a7408
mov ebx, eax
mov eax, dword [esi + 0x14]
cmp ebx, eax
je 0x2e0a8756
push eax
mov ecx, esi
call fcn.2e0a7495
test eax, eax
je 0x2e0a8722
push 0
mov ecx, eax
call fcn.2e0a5e19
and dword [esi + 0x14], 0
push ebx
mov ecx, esi
call fcn.2e0a7495
test eax, eax
je 0x2e0a874f
cmp byte [eax + 0x44], 0
je 0x2e0a874f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x2e0a8743
cmp edx, ebx
jne 0x2e0a874f
push 1
mov ecx, eax
call fcn.2e0a5e19
mov dword [esi + 0x14], ebx
mov ecx, esi
call fcn.2e0a72c2
mov byte [edi], 0
mov ecx, esi
call fcn.2e0a82a4
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0x14