Function at 0x100111c0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x820
mov eax, dword [0x101b31c0]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x80c]
push 0x7ff
push 0
push eax
call fcn.101456e0
add esp, 0xc
lea eax, [ebp + 0x14]
push eax
push 0
push dword [ebp + 0x10]
lea eax, [ebp - 0x80c]
push 0x7ff
push eax
call sym.Main.dll__vsprintf_s_l
add esp, 0x14
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x81c]
push eax
call fcn.10011ae0
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x10011315
movss xmm4, dword [esi + 0x18]
movd xmm2, dword [0x879340c]
movaps xmm0, xmm4
movss xmm1, dword [esi]
movss xmm3, dword [esi + 4]
addss xmm0, xmm1
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm2
jb 0x100112a7
comiss xmm2, xmm1
jb 0x100112a7
movd xmm2, dword [0x8793410]
movss xmm0, dword [0x105b5400]
cvtdq2ps xmm2, xmm2
addss xmm0, xmm3
comiss xmm0, xmm2
jb 0x100112a7
comiss xmm2, xmm3
jb 0x100112a7
cmp byte [esi + 0x2a], 0
lea eax, [esi + 0x2a]
jne 0x100112af
mov byte [eax], 1
movd xmm0, dword [0x879340c]
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x10], xmm0
movd xmm0, dword [0x8793410]
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x14], xmm0
jmp 0x100112aa
lea eax, [esi + 0x2a]
cmp byte [eax], 0
je 0x1001131f
xorps xmm2, xmm2
xorps xmm0, xmm0
cvtsi2ss xmm2, dword [0x879340c]
subss xmm2, dword [esi + 0x10]
addss xmm2, xmm1
xorps xmm1, xmm1
movss dword [esi], xmm2
addss xmm2, xmm4
cvtsi2ss xmm1, dword [0x8793410]
subss xmm1, dword [esi + 0x14]
addss xmm1, xmm3
movss dword [esi + 4], xmm1
cvtsi2ss xmm0, dword [0x879340c]
addss xmm1, dword [esi + 0x1c]
movss dword [esi + 0x10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x8793410]
movss dword [esi + 0x20], xmm2
movss dword [esi + 0x14], xmm0
movss dword [esi + 0x24], xmm1
jmp 0x1001131f
cmp byte [esi + 0x2a], 0
je 0x1001131f
mov byte [esi + 0x2a], 0
movss xmm6, dword [0x101a594c]
mov eax, 0x637c60
movss xmm1, dword [esi + 0x1c]
movaps xmm4, xmm6
divss xmm4, xmm1
push ecx
mov dword [esp], 0
push 1
push 0
sub esp, 0x20
movaps xmm7, xmm6
movss xmm0, dword [0xe7c3d8]
divss xmm7, dword [esi + 0x18]
mulss xmm1, dword [0x101a4724]
movaps xmm2, xmm6
divss xmm7, dword [0xe7c3d4]
mulss xmm1, dword [0x101a55a0]
movss xmm5, dword [esi + 4]
divss xmm4, xmm0
mulss xmm0, dword [0x101a5338]
movss dword [0x105b5400], xmm1
addss xmm1, xmm5
divss xmm2, xmm7
subss xmm1, dword [ebp - 0x810]
movss dword [0x105b5408], xmm4
movss dword [0x105b5404], xmm7
movss xmm3, dword [esi]
subss xmm1, xmm0
movaps xmm0, xmm6
divss xmm0, xmm2
movss dword [0x105b540c], xmm1
movaps xmm1, xmm6
divss xmm1, xmm4
divss xmm7, xmm0
divss xmm6, xmm1
divss xmm4, xmm6
movss dword [esp + 0x1c], xmm4
movss dword [esp + 0x18], xmm7
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm5
movss dword [esp], xmm3
push 0xf1007
call eax
lea eax, [ebp - 0x80c]
push eax
cvttss2si eax, dword [ebp - 0x810]
push 3
push eax
cvttss2si eax, dword [esi + 0x18]
push eax
cvttss2si eax, dword [0x105b540c]
push 0
push 0xffffffffffffffff
push eax
cvttss2si eax, dword [esi]
push eax
push dword [0x1036df14]
push 0x1036df10
call fcn.100466d0
movss xmm1, dword [esi]
add esp, 0x58
movd xmm3, dword [0x879340c]
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x18]
movss xmm2, dword [esi + 4]
cvtdq2ps xmm3, xmm3
comiss xmm0, xmm3
jb 0x100114a0
comiss xmm3, xmm1
jb 0x100114a0
movd xmm1, dword [0x8793410]
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x1c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jb 0x100114a0
comiss xmm1, xmm2
jb 0x100114a0
mov al, 1
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10142fe4
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
xor al, al
xor ecx, ebp
pop esi
call fcn.10142fe4
mov esp, ebp
pop ebp
ret