Function at 0x10088da
Capabilities:
Log keystrokes via polling

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x184c
call fcn.0101bc80
mov eax, dword [0x1030118]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x28]
xor eax, eax
push edi
mov dword [ebp - 0x1810], ecx
xor ecx, ecx
push 0x12
mov word [ebp - 0x804], cx
mov word [ebp - 0x1004], cx
pop ebx
lea ecx, [ebp - 0x1004]
mov dword [ebp - 0x1818], eax
mov dword [ebp - 0x1814], eax
mov dword [ebp - 0x1824], eax
mov dword [ebp - 0x181c], eax
mov dword [ebp - 0x184c], 0x11
mov dword [ebp - 0x1848], 0x1031688
mov dword [ebp - 0x1844], ebx
mov dword [ebp - 0x1840], 0x1031788
mov dword [ebp - 0x183c], 0x10
mov dword [ebp - 0x1838], 0x1031888
mov dword [ebp - 0x1834], 0x5b
mov dword [ebp - 0x1830], 0x1031988
mov dword [ebp - 0x182c], 0x5c
mov dword [ebp - 0x1828], 0x1031a88
mov dword [ebp - 0x1820], 0x400
mov dword [ebp - 0x1808], ecx
mov dword [ebp - 0x180c], eax
mov eax, dword [ebp - 0x180c]
mov edi, dword [ebp + eax*8 - 0x184c]
push edi
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1008a35
cmp esi, edi
je 0x1008a35
cmp edi, 0x11
jne 0x10089db
mov dword [ebp - 0x1818], 1
jmp 0x10089ff
cmp edi, ebx
jne 0x10089eb
mov dword [ebp - 0x1814], 1
jmp 0x10089ff
cmp edi, 0x5b
je 0x10089f5
cmp edi, 0x5c
jne 0x10089ff
mov dword [ebp - 0x1824], 1
mov eax, dword [ebp - 0x180c]
push dword [ebp + eax*8 - 0x1848]
lea eax, [ebp - 0x1820]
push 0x1001c74
push 0
push eax
lea eax, [ebp - 0x1808]
push eax
push dword [ebp - 0x1820]
push dword [ebp - 0x1808]
call fcn.010067e6
add esp, 0x1c
inc dword [ebp - 0x180c]
cmp dword [ebp - 0x180c], 5
jb 0x10089a8
xor edi, edi
inc edi
xor ebx, ebx
xor eax, eax
xor edx, edx
cmp dword [ebp + 0xac], 0x105
mov dword [ebp - 0x1808], edi
je 0x1008a71
cmp dword [ebp + 0xac], 0x101
je 0x1008a71
xor edi, edi
xor ecx, ecx
cmp esi, dword [ecx + 0x1001be0]
jne 0x1008a9c
cmp edi, ebx
je 0x1008b8f
and dword [ebp - 0x1808], 0
xor eax, eax
inc eax
cmp esi, 0x5b
je 0x1008a97
cmp esi, 0x5c
jne 0x1008a9a
xor edx, edx
inc edx
xor ebx, ebx
add ecx, 4
cmp ecx, 0x2c
jb 0x1008a73
cmp eax, ebx
jne 0x1008bd7
lea eax, [esi - 0x70]
cmp eax, 0x17
jbe 0x1008bd7
cmp esi, 0x2e
ja 0x1008adc
cmp esi, 0x2d
jae case.0x1008ad5.33
lea eax, [esi - 8]
cmp eax, 0x24
ja case.0x1008ad5.10
movzx eax, byte [eax + 0x1008cc2]
jmp dword [eax*4 + 0x1008cb6]
cmp esi, 0x2f
je case.0x1008ad5.8
cmp esi, 0x5d
je case.0x1008ad5.8
cmp esi, 0x5f
je case.0x1008ad5.8
cmp esi, 0x90
je case.0x1008ad5.33
cmp esi, 0x91
je case.0x1008ad5.8
cmp esi, 0xa5
jbe case.0x1008ad5.10
cmp esi, 0xb5
jbe case.0x1008ad5.8
mov edi, 0x400
xor eax, eax
cmp ax, word [ebp - 0x804]
jne 0x1008c1e
cmp dword [ebp - 0x1818], ebx
jne 0x1008b4f
cmp dword [ebp - 0x1814], ebx
jne 0x1008b4f
cmp dword [ebp - 0x1824], ebx
je 0x1008b9e
cmp dword [ebp + 0x2c], ebx
je 0x1008b9e
push edi
lea eax, [ebp - 0x1804]
push eax
push ebx
push 1
push dword [ebp + 0x2c]
push ebx
call fcn.010087f3
test eax, eax
jl 0x1008b8f
lea eax, [ebp - 0x1804]
push eax
lea eax, [ebp - 0x1004]
push eax
push 0x1001c64
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.01005835
add esp, 0x14
xor eax, eax
cmp ax, word [ebp - 0x804]
jne 0x1008c1e
mov esi, dword [ebp - 0x1810]
add esi, 0x33cc0
cmp dword [esi], ebx
jne 0x1008c95
push 0x1001c5c
push 0x800
lea eax, [ebp - 0x804]
push eax
call fcn.0100671e
mov dword [esi], 1
jmp 0x1008c2a
xor edx, edx
inc edx
jmp 0x1008bd7
xor edx, edx
mov edi, 0x400
push edi
lea eax, [ebp - 0x1804]
push eax
push edx
push dword [ebp - 0x1808]
push ebx
push esi
call fcn.010087f3
test eax, eax
jl 0x1008b8f
lea eax, [ebp - 0x1804]
push eax
lea eax, [ebp - 0x1004]
push eax
push 0x1001c64
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.010067aa
add esp, 0x14
jmp 0x1008b28
mov eax, dword [ebp - 0x1810]
mov dword [eax + 0x33cc0], ebx
xor eax, eax
cmp ax, word [ebp - 0x804]
je 0x1008c95
mov esi, dword [ebp - 0x1810]
add esi, 0x23cbc
cmp ax, word [esi]
je 0x1008c56
push 0x1001c58
push 0x8000
push esi
call fcn.0100837f
lea eax, [ebp - 0x804]
push eax
push 0x8000
push esi
call fcn.0100837f
cmp eax, ebx
jge 0x1008c95
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x1008c9f
test byte [ecx + 0x1c], 1
je 0x1008c9f
push eax
push 0x1001bd0
push 0x26
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010062be
jmp 0x1008c9f
mov dword [ebp - 0x181c], 1
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x181c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0101bc5d
leave
ret 0xcc