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 [0x1020bba4]
comiss xmm0, dword [0x101fb9b4]
jb 0x100223b1
movss xmm0, dword [0x101fb180]
comiss xmm0, dword [0x1020bba4]
jb 0x100223b1
cvtss2sd xmm0, dword [0x1020bba4]
addsd xmm0, qword [0x101fab50]
cvtsd2ss xmm0, xmm0
movss dword [0x1020bba4], xmm0
push 0
push 0
push 0x1b
mov edx, 0x6d6c20
call edx
add esp, 0xc
movss xmm0, dword [0x1020bba0]
comiss xmm0, dword [0x101fb724]
jb 0x100223ef
movss xmm0, dword [0x101fb7c8]
comiss xmm0, dword [0x1020bba0]
jb 0x100223ef
cvtss2sd xmm0, dword [0x1020bba0]
subsd xmm0, qword [0x101fab50]
cvtsd2ss xmm0, xmm0
movss dword [0x1020bba0], xmm0
jmp 0x10022411
movss xmm0, dword [0x101fb9b4]
movss dword [0x1020bba4], xmm0
movss xmm0, dword [0x101fb7c8]
movss dword [0x1020bba0], 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 [0x1020bb9c]
comiss xmm0, dword [0x101fb9c0]
jb 0x100224f0
movss xmm0, dword [0x101fb18c]
comiss xmm0, dword [0x1020bb9c]
jb 0x100224f0
push 0
push 0
push 0x1b
mov ecx, 0x6d6c20
call ecx
add esp, 0xc
cvtss2sd xmm0, dword [0x1020bb9c]
addsd xmm0, qword [0x101fab18]
cvtsd2ss xmm0, xmm0
movss dword [0x1020bb9c], xmm0
jmp 0x10022502
movss xmm0, dword [0x101fb9c0]
movss dword [0x1020bb9c], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 1
push 1
push ecx
movss xmm0, dword [0x101fa484]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa500]
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 [0x101fb3d8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb428]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1020bb9c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb514]
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 [0x101fa670]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa534]
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 [0x101fb234]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb448]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb3a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1020bba4]
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 [0x101fa670]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa534]
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 [0x101fb234]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb448]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb3a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1020bba0]
movss dword [esp], xmm0
push 0x16
mov ecx, 0x637c60
call ecx
add esp, 0x30
push 0x17
push 0x70
movss xmm0, dword [0x1020bb9c]
addss xmm0, dword [0x101fb314]
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 [0x101fa55c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa5f4]
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 [0x101fb158]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb340]
movss dword [esp], xmm0
movss xmm0, dword [0x1020bb9c]
addss xmm0, dword [0x101fb314]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb568]
movss dword [esp], xmm0
push 0x11
mov eax, 0x637c60
call eax
add esp, 0x30
push 0x12
push 0x3c
push 0x92
movss xmm0, dword [0x1020bba0]
addss xmm0, dword [0x101fb12c]
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 [0x101fa474]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa658]
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 [0x101fb134]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb230]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb3d4]
movss dword [esp], xmm0
movss xmm0, dword [0x1020bba0]
addss xmm0, dword [0x101fb12c]
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 [0x1020bba4]
addss xmm0, dword [0x101fb308]
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 [0x101fa474]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa658]
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 [0x101fb134]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb230]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb3d4]
movss dword [esp], xmm0
movss xmm0, dword [0x1020bba4]
addss xmm0, dword [0x101fb308]
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 [0x101fa484]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa57c]
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 [0x101fb1c0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb47c]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb740]
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 [0x101fa484]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb910]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa57c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb1c0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb47c]
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 [0x101fa6a4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa5d0]
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 [0x101fb554]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb314]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fabb0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb79c]
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 [0x101fa6a4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb914]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa5d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb554]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb314]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fabb0]
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 [0x101fa5f0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa5d0]
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 [0x101fb4e8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb314]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb558]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb79c]
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 [0x101fa5f0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb914]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa5d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb4e8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb314]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb558]
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 [0x101fa45c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fa6a4]
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 [0x101fb268]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb554]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101fb47c]
movss dword [esp], xmm0
push 0xf
mov edx, 0x637c60
call edx
add esp, 0x30
mov esp, ebp
pop ebp
ret