Function at 0x100102d0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x10066080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0xb93530]
push esi
mov esi, ecx
cmp eax, 0x100000
jbe 0x10010531
cmp dword [eax + 0x4810], 0
je 0x10010531
mov ecx, dword [0x100688fc]
test ecx, ecx
jne 0x1001031c
push 0x100688fc
push esi
call dword [sym.imp.d3dx9_43.dll_D3DXCreateSprite]
mov ecx, dword [0x100688fc]
cmp dword [0x10068818], 0
jne 0x1001033c
push 0x10068818
push str.DataSistemasRebornReborn.dds
push esi
call dword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileA]
mov ecx, dword [0x100688fc]
mov eax, dword [ecx]
push 0x10
push ecx
call dword [eax + 0x20]
push 0x10068858
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0x10068858
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp byte [0x10068a5d], 0
je 0x1001049a
movq xmm0, qword [0x1005afc4]
lea edx, [ebp - 0x10]
mov eax, dword [0x1005afcc]
movq qword [ebp - 0x10], xmm0
movups xmm0, xmmword [0x1005a924]
push 0xffffffffffffffff
push edx
movups xmmword [ebp - 0x20], xmm0
lea edx, [ebp - 0x20]
mov dword [ebp - 8], eax
movd xmm0, dword [0x10068a84]
mov eax, dword [0x100688fc]
cvtdq2ps xmm0, xmm0
push 0
push edx
push dword [0x10068818]
addss xmm0, dword [ebp - 0x10]
push eax
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0xc]
addss xmm0, dword [0x1005f7cc]
movss dword [ebp - 0xc], xmm0
mov ecx, dword [eax]
call dword [ecx + 0x24]
movq xmm0, qword [0x1005afd0]
lea edx, [ebp - 0x10]
mov eax, dword [0x1005afd8]
movq qword [ebp - 0x10], xmm0
movups xmm0, xmmword [0x1005ab38]
push 0xffffffffffffffff
push edx
movups xmmword [ebp - 0x20], xmm0
lea edx, [ebp - 0x20]
mov dword [ebp - 8], eax
movd xmm0, dword [0x10068a84]
mov eax, dword [0x100688fc]
cvtdq2ps xmm0, xmm0
push 0
push edx
push dword [0x10068818]
addss xmm0, dword [ebp - 0x10]
push eax
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0xc]
addss xmm0, dword [0x1005f7cc]
movss dword [ebp - 0xc], xmm0
mov ecx, dword [eax]
call dword [ecx + 0x24]
movq xmm0, qword [0x1005ae44]
lea edx, [ebp - 0x10]
mov eax, dword [0x1005ae4c]
movq qword [ebp - 0x10], xmm0
movups xmm0, xmmword [0x1005abec]
push 0xffffffffffffffff
push edx
movups xmmword [ebp - 0x20], xmm0
lea edx, [ebp - 0x20]
mov dword [ebp - 8], eax
movd xmm0, dword [0x10068a84]
mov eax, dword [0x100688fc]
cvtdq2ps xmm0, xmm0
push 0
push edx
push dword [0x10068818]
addss xmm0, dword [ebp - 0x10]
push eax
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0xc]
addss xmm0, dword [0x1005f7cc]
movss dword [ebp - 0xc], xmm0
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 1
call esi
test ax, ax
jns 0x10010516
movd xmm1, dword [0x10068a84]
movd xmm2, dword [0x10068858]
movss xmm0, dword [0x1005afd4]
addss xmm0, dword [0x1005f7cc]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
addss xmm1, dword [0x1005afd0]
comiss xmm2, xmm1
jbe 0x10010516
addss xmm1, dword [0x1005f840]
subss xmm1, dword [0x1005f83c]
comiss xmm1, xmm2
jbe 0x10010516
movd xmm1, dword [0x1006885c]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x10010516
addss xmm0, dword [0x1005f7d4]
subss xmm0, dword [0x1005f7c0]
comiss xmm0, xmm1
ja 0x1001051f
push 0x1b
call esi
test ax, ax
jns 0x10010526
mov byte [0x10068a5d], 0
mov eax, dword [0x100688fc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1002c727
mov esp, ebp
pop ebp
ret