Function at 0x102cf5d
Capabilities:
Log keystrokes via polling

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x1038008]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x2c], 0
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
push edi
mov edi, dword [ebp + 0x18]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x30], 0x10121d4
call fcn.0102be9c
mov ecx, dword [ebp - 0x28]
push edi
xor eax, eax
push ebx
push dword [ebp + 0x10]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x30]
push eax
push esi
push dword [ebp + 8]
mov dword [ebp - 0x38], 0x10121d4
call fcn.0102c67a
mov esi, eax
test esi, esi
jge 0x102cdf5
push dword [ebp - 0x34]
mov edi, 0x10121d4
mov dword [ebp - 0x38], edi
call fcn.01030013
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], edi
call fcn.01030013
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.010015a8
leave
ret 0x14
mov ecx, dword [0x1038f0c]
test ecx, ecx
je 0x102ce1b
lea eax, [ecx + 0xac]
test byte [eax], 0x30
je 0x102ce1b
and dword [eax], 0xffffffef
and dword [ecx + 0xac], 0xffffffdf
mov dword [ebp - 0x44], 1
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 8]
call fcn.0102beb7
mov dword [ebp - 0x28], eax
test eax, eax
jge 0x102ce5b
mov edi, eax
push dword [ebp - 0x34]
mov esi, 0x10121d4
mov dword [ebp - 0x38], esi
call fcn.01030013
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], esi
call fcn.01030013
mov eax, edi
jmp 0x102cde4
mov edi, dword [edi + 4]
mov dword [ebp - 0x54], edi
test edi, edi
jne 0x102ce6c
mov edi, 0x80004005
jmp 0x102ce33
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x50], ebx
test ebx, ebx
je 0x102ce65
mov edi, dword [ebp - 0x60]
xor ecx, ecx
push 0x24
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01029f64
mov ebx, eax
pop ecx
mov dword [ebp - 0x40], ebx
test ebx, ebx
jne 0x102cea0
mov edi, 0x8007000e
jmp 0x102ce33
test edi, edi
jbe 0x102cf11
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x48], edi
push 9
pop ecx
xor eax, eax
lea edx, [ebp - 0x14]
push edx
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x50]
push dword [esi]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
test eax, eax
jl 0x102cf02
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
and dword [ebp - 0x3c], 0
lea edx, [ebp - 0x24]
push edx
lea edx, [ebp - 0x3c]
push edx
lea edx, [ebp - 0x14]
push edx
push eax
call dword [ecx + 0x14]
test eax, eax
jl 0x102ceef
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x14]
jmp 0x102cef3
or dword [ebx + 0x20], 0xffffffff
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x102cf06
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x102cf06
or dword [ebx + 0x20], 0xffffffff
add esi, dword [ebp - 0x58]
add ebx, 0x24
dec dword [ebp - 0x48]
jne 0x102ceaa
mov eax, dword [0x1038f0c]
test eax, eax
je 0x102cf1f
mov edi, dword [eax + 0x58]
jmp 0x102cf21
xor edi, edi
test edi, edi
jne 0x102cf33
push dword [ebp - 0x40]
call fcn.01029f57
pop ecx
jmp 0x102ce65
cmp dword [ebp - 0x34], 0
je 0x102cf66
cmp dword [ebp - 0x44], 0
jne 0x102cf66
mov esi, dword [edi]
push 0xffffffffffffffff
push ecx
lea eax, [ebp - 0x34]
mov ecx, esp
push eax
add esi, 0x10
call fcn.01028d39
xor eax, eax
push eax
push eax
push ecx
mov ecx, esp
push eax
call fcn.0102ba85
mov ecx, edi
call dword [esi]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x2c], 0
je 0x102cf97
push dword [ebp - 0x4c]
mov esi, dword [edi]
push ecx
mov ecx, esp
push 0
add esi, 0x10
call fcn.0102ba85
push dword [ebp - 0x60]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x40]
push ecx
mov ecx, esp
push eax
call fcn.01028d39
mov ecx, edi
call dword [esi]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x40]
call fcn.01029f57
mov edi, dword [ebp - 0x28]
pop ecx
jmp 0x102ce33