Function at 0x1000b700
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov dword [ebp - 0x30], ecx
mov ecx, dword [0x102bd158]
call fcn.100090e0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [0x102bd160]
call fcn.10008f20
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x1000b734
jmp 0x1000b9fa
cmp dword [0x10288ab0], 0xffffffff
je 0x1000b9fa
mov ecx, dword [0x10288ab0]
push ecx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
test edx, edx
je 0x1000b9fa
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 4]
call fcn.100092e0
mov ecx, eax
call fcn.10009510
fstp dword [ebp - 0x2c]
movss xmm0, dword [0x100e6fc8]
comiss xmm0, dword [ebp - 0x2c]
jbe 0x1000b9fa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
and edx, 0x80000001
jns 0x1000b794
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x1000b7a1
mov dword [ebp - 8], 1
jmp 0x1000b7a8
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp - 8]
mov byte [eax], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
and eax, 0x80000001
jns 0x1000b7c2
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1000b98d
movzx ecx, byte [0x102714c4]
test ecx, ecx
je 0x1000b8a8
movzx edx, byte [0x102714c6]
test edx, edx
jne 0x1000b7ed
mov dword [ebp - 0xc], 1
jmp 0x1000b7f4
mov dword [ebp - 0xc], 0
mov al, byte [ebp - 0xc]
mov byte [0x102714c6], al
movzx ecx, byte [0x102714c6]
test ecx, ecx
je 0x1000b810
mov dword [ebp - 0x10], 0x78
jmp 0x1000b817
mov dword [ebp - 0x10], 0xffffff88
cvtsi2ss xmm0, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
movss xmm1, dword [edx + 0x10]
subss xmm1, xmm0
mov eax, dword [ebp + 8]
movss dword [eax + 0x10], xmm1
mov byte [0x102714c4], 0
mov ecx, dword [ebp + 8]
movss xmm0, dword [ecx + 0x24]
ucomiss xmm0, dword [0x100e6ac8]
lahf
test ah, 0x44
jp 0x1000b8a3
movzx edx, byte [0x102714c7]
test edx, edx
jne 0x1000b860
mov dword [ebp - 0x14], 1
jmp 0x1000b867
mov dword [ebp - 0x14], 0
mov al, byte [ebp - 0x14]
mov byte [0x102714c7], al
movzx ecx, byte [0x102714c7]
test ecx, ecx
je 0x1000b889
movsd xmm0, qword [0x100e6fb8]
movsd qword [ebp - 0x38], xmm0
jmp 0x1000b896
movsd xmm0, qword [str._np]
movsd qword [ebp - 0x38], xmm0
cvtsd2ss xmm0, qword [ebp - 0x38]
mov edx, dword [ebp + 8]
movss dword [edx + 0x24], xmm0
jmp 0x1000b9fa
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
and ecx, 0x80000007
jns 0x1000b8bb
dec ecx
or ecx, 0xfffffff8
inc ecx
test ecx, ecx
jne 0x1000b98b
mov byte [0x102714c4], 1
movzx edx, byte [0x102714c5]
test edx, edx
jne 0x1000b8de
mov dword [ebp - 0x18], 1
jmp 0x1000b8e5
mov dword [ebp - 0x18], 0
mov al, byte [ebp - 0x18]
mov byte [0x102714c5], al
mov ecx, dword [ebp + 8]
movss xmm0, dword [ecx + 0x24]
ucomiss xmm0, dword [0x100e6ac8]
lahf
test ah, 0x44
jp 0x1000b959
movzx edx, byte [0x102714c7]
test edx, edx
jne 0x1000b916
mov dword [ebp - 0x1c], 1
jmp 0x1000b91d
mov dword [ebp - 0x1c], 0
mov al, byte [ebp - 0x1c]
mov byte [0x102714c7], al
movzx ecx, byte [0x102714c7]
test ecx, ecx
je 0x1000b93f
movsd xmm0, qword [0x100e6fb8]
movsd qword [ebp - 0x40], xmm0
jmp 0x1000b94c
movsd xmm0, qword [str._np]
movsd qword [ebp - 0x40], xmm0
cvtsd2ss xmm0, qword [ebp - 0x40]
mov edx, dword [ebp + 8]
movss dword [edx + 0x24], xmm0
movzx eax, byte [0x102714c5]
test eax, eax
je 0x1000b96d
mov dword [ebp - 0x20], 0xffffff8d
jmp 0x1000b974
mov dword [ebp - 0x20], 0x73
cvtsi2ss xmm0, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
addss xmm0, dword [ecx + 0x10]
mov edx, dword [ebp + 8]
movss dword [edx + 0x10], xmm0
jmp 0x1000b9fa
jmp 0x1000b9fa
mov eax, dword [ebp + 8]
movss xmm0, dword [eax + 0x24]
ucomiss xmm0, dword [0x100e6ac8]
lahf
test ah, 0x44
jp 0x1000b9fa
movzx ecx, byte [0x102714c8]
test ecx, ecx
jne 0x1000b9b6
mov dword [ebp - 0x24], 1
jmp 0x1000b9bd
mov dword [ebp - 0x24], 0
mov dl, byte [ebp - 0x24]
mov byte [0x102714c8], dl
movzx eax, byte [0x102714c8]
test eax, eax
je 0x1000b9e0
movsd xmm0, qword [0x100e6fb0]
movsd qword [ebp - 0x48], xmm0
jmp 0x1000b9ed
movsd xmm0, qword [0x100e7000]
movsd qword [ebp - 0x48], xmm0
cvtsd2ss xmm0, qword [ebp - 0x48]
mov ecx, dword [ebp + 8]
movss dword [ecx + 0x24], xmm0
mov esp, ebp
pop ebp
ret 8