Function at 0x10022320
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp dword [0xe609e8], 4
jne 0x10022cd3
mov eax, 0x482b70
call eax
movzx ecx, byte [eax + 0x849c]
test ecx, ecx
jne 0x1002296f
cmp dword [0xe60b4c], 0
jl 0x100223f1
cmp dword [0xe60b4c], 4
jg 0x100223f1
movss xmm0, dword [0x1020aba4]
comiss xmm0, dword [0x101fa89c]
jb 0x100223b1
movss xmm0, dword [0x101fa068]
comiss xmm0, dword [0x1020aba4]
jb 0x100223b1
cvtss2sd xmm0, dword [0x1020aba4]
addsd xmm0, qword [0x101f9a38]
cvtsd2ss xmm0, xmm0
movss dword [0x1020aba4], xmm0
push 0
push 0
push 0x1b
mov edx, 0x6d6c20
call edx
add esp, 0xc
movss xmm0, dword [0x1020aba0]
comiss xmm0, dword [0x101fa60c]
jb 0x100223ef
movss xmm0, dword [0x101fa6b0]
comiss xmm0, dword [0x1020aba0]
jb 0x100223ef
cvtss2sd xmm0, dword [0x1020aba0]
subsd xmm0, qword [0x101f9a38]
cvtsd2ss xmm0, xmm0
movss dword [0x1020aba0], xmm0
jmp 0x10022411
movss xmm0, dword [0x101fa89c]
movss dword [0x1020aba4], xmm0
movss xmm0, dword [0x101fa6b0]
movss dword [0x1020aba0], xmm0
push 0
mov eax, 0x402bc0
call eax
mov edx, 0x96a4c0
mov ecx, eax
call edx
movzx eax, byte [eax + 0x30c]
test eax, eax
je 0x100224a2
push 1
mov ecx, 0x402bc0
call ecx
mov edx, 0x96a4c0
mov ecx, eax
call edx
movzx eax, byte [eax + 0x30c]
test eax, eax
je 0x100224a2
push 2
mov ecx, 0x402bc0
call ecx
mov edx, 0x96a4c0
mov ecx, eax
call edx
movzx eax, byte [eax + 0x30c]
test eax, eax
je 0x100224a2
push 3
mov ecx, 0x402bc0
call ecx
mov edx, 0x96a4c0
mov ecx, eax
call edx
movzx eax, byte [eax + 0x30c]
test eax, eax
je 0x100224a2
push 4
mov ecx, 0x402bc0
call ecx
mov edx, 0x96a4c0
mov ecx, eax
call edx
movzx eax, byte [eax + 0x30c]
test eax, eax
jne 0x100224f2
movss xmm0, dword [0x1020ab9c]
comiss xmm0, dword [0x101fa8a8]
jb 0x100224f0
movss xmm0, dword [0x101fa074]
comiss xmm0, dword [0x1020ab9c]
jb 0x100224f0
push 0
push 0
push 0x1b
mov ecx, 0x6d6c20
call ecx
add esp, 0xc
cvtss2sd xmm0, dword [0x1020ab9c]
addsd xmm0, qword [0x101f9a00]
cvtsd2ss xmm0, xmm0
movss dword [0x1020ab9c], xmm0
jmp 0x10022502
movss xmm0, dword [0x101fa8a8]
movss dword [0x1020ab9c], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9384]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f9400]
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 [0x101fa2c0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa310]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1020ab9c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa3fc]
movss dword [esp], xmm0
push 0x10
mov edx, 0x637c60
call edx
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9558]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f9430]
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 [0x101fa11c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa330]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa288]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1020aba4]
movss dword [esp], xmm0
push 0x12
mov eax, 0x637c60
call eax
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9558]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f9430]
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 [0x101fa11c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa330]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa288]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1020aba0]
movss dword [esp], xmm0
push 0x16
mov ecx, 0x637c60
call ecx
add esp, 0x30
push 0x17
push 0x70
movss xmm0, dword [0x1020ab9c]
addss xmm0, dword [0x101fa1fc]
cvttss2si edx, xmm0
push edx
push 0x108
mov eax, 0x790b10
call eax
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x10022791
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movsx edx, ax
and edx, 0x8000
je 0x1002270a
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
push 0
push 0
push 0x1b
mov ecx, 0x6d6c20
call ecx
add esp, 0xc
mov edx, 0x482b70
call edx
add eax, 0x8490
mov dword [ebp - 4], eax
mov eax, 0x482b70
call eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, 0x483b20
mov ecx, dword [ebp - 8]
call edx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9450]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f94e4]
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 [0x101fa040]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa228]
movss dword [esp], xmm0
movss xmm0, dword [0x1020ab9c]
addss xmm0, dword [0x101fa1fc]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa450]
movss dword [esp], xmm0
push 0x11
mov eax, 0x637c60
call eax
add esp, 0x30
push 0x12
push 0x3c
push 0x92
movss xmm0, dword [0x1020aba0]
addss xmm0, dword [0x101fa014]
cvttss2si ecx, xmm0
push ecx
mov edx, 0x790b10
call edx
add esp, 0x10
movzx eax, al
test eax, eax
je 0x10022881
mov ecx, dword [0xe60b4c]
mov dword [0xe61730], ecx
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movsx edx, ax
and edx, 0x8000
je 0x100227fa
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
mov ecx, 0x4d6a60
call ecx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9374]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f9544]
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 [0x101fa01c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa118]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa2bc]
movss dword [esp], xmm0
movss xmm0, dword [0x1020aba0]
addss xmm0, dword [0x101fa014]
push ecx
movss dword [esp], xmm0
push 0x15
mov edx, 0x637c60
call edx
add esp, 0x30
push 0x12
push 0x3c
push 0x92
movss xmm0, dword [0x1020aba4]
addss xmm0, dword [0x101fa1f0]
cvttss2si eax, xmm0
push eax
mov ecx, 0x790b10
call ecx
add esp, 0x10
movzx edx, al
test edx, edx
je 0x1002296f
mov eax, dword [0xe60b4c]
mov dword [0xe61730], eax
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x100228e8
push 0
push 0
push 0x19
mov edx, 0x6d6c20
call edx
add esp, 0xc
mov eax, 0x405b10
call eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9374]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f9544]
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 [0x101fa01c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa118]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa2bc]
movss dword [esp], xmm0
movss xmm0, dword [0x1020aba4]
addss xmm0, dword [0x101fa1f0]
push ecx
movss dword [esp], xmm0
push 0x13
mov ecx, 0x637c60
call ecx
add esp, 0x30
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9384]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f946c]
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 [0x101fa0a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa364]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa628]
movss dword [esp], xmm0
push 0xc
mov edx, 0x637c60
call edx
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f9384]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa7f8]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f946c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa0a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa364]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xc
mov eax, 0x637c60
call eax
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f958c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f94c0]
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 [0x101fa43c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa1fc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f9a98]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa684]
movss dword [esp], xmm0
push 0xd
mov ecx, 0x637c60
call ecx
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f958c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa7fc]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f94c0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa43c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa1fc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f9a98]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xd
mov edx, 0x637c60
call edx
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f94e0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f94c0]
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 [0x101fa3d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa1fc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa440]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa684]
movss dword [esp], xmm0
push 0xe
mov eax, 0x637c60
call eax
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f94e0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa7fc]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f94c0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa3d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa1fc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa440]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0xe
mov ecx, 0x637c60
call ecx
add esp, 0x2c
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101f935c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f958c]
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 [0x101fa150]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa43c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa364]
movss dword [esp], xmm0
push 0xf
mov edx, 0x637c60
call edx
add esp, 0x30
mov esp, ebp
pop ebp
ret