Function at 0x100a8400
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 8], ecx
push ecx
movss xmm0, dword [ebp + 0x18]
movss dword [esp], xmm0
call fcn.100a6040
add esp, 4
call fcn.101d4670
mov word [ebp - 2], ax
push ecx
movss xmm0, dword [ebp + 0x14]
movss dword [esp], xmm0
call fcn.100a6020
add esp, 4
call fcn.101d4670
mov word [ebp - 4], ax
movzx eax, word [ebp - 2]
push eax
movzx ecx, word [ebp - 4]
push ecx
cvttss2si edx, dword [ebp + 0x10]
movzx eax, dx
push eax
cvttss2si ecx, dword [ebp + 0xc]
movzx edx, cx
push edx
call fcn.100a60b0
add esp, 0x10
movzx eax, al
test eax, eax
je 0x100a85c5
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x100a851c
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 0
movss xmm0, dword [ebp + 0x20]
divss xmm0, dword [ebp + 0x28]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp + 0x1c]
divss xmm0, dword [ebp + 0x24]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp + 0x20]
divss xmm0, dword [ebp + 0x28]
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x101f98d8]
cvtsd2ss xmm0, xmm0
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x18]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x14]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x10]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0xc]
movss dword [esp], xmm0
mov edx, dword [ebp + 8]
push edx
mov eax, 0x637c60
call eax
add esp, 0x30
jmp 0x100a859c
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 0
movss xmm0, dword [ebp + 0x20]
divss xmm0, dword [ebp + 0x28]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp + 0x1c]
divss xmm0, dword [ebp + 0x24]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp + 0x20]
divss xmm0, dword [ebp + 0x28]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x18]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x14]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x10]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0xc]
movss dword [esp], xmm0
mov ecx, dword [ebp + 8]
push ecx
mov edx, 0x637c60
call edx
add esp, 0x30
push 1
mov eax, 0x791050
call eax
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x100a85c1
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
push eax
call dword [ebp - 0xc]
add esp, 4
jmp 0x100a863e
jmp 0x100a863e
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 0
movss xmm0, dword [ebp + 0x20]
divss xmm0, dword [ebp + 0x28]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp + 0x1c]
divss xmm0, dword [ebp + 0x24]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x18]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x14]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x10]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0xc]
movss dword [esp], xmm0
mov ecx, dword [ebp + 8]
push ecx
mov edx, 0x637c60
call edx
add esp, 0x30
mov esp, ebp
pop ebp
ret 0x28