Function at 0x1005e880
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x1009c018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100a04f0]
push esi
push edi
cmp byte [eax + 0x44], 0
je 0x1005eb06
mov eax, dword [0x1009c02c]
cmp dword [eax + 0x28], 3
je 0x1005eb06
mov eax, dword [0x100a04f8]
push dword [eax + 8]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1005eb06
mov esi, dword [0x1009c02c]
movss xmm1, dword [esi + 0x256ac]
movss dword [ebp - 0xc], xmm1
fld dword [ebp - 0xc]
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
fld qword [0x10093bc0]
ucomiss xmm0, xmm0
setp al
cmp al, 1
jne 0x1005ea68
mov dword [esi + 0x256ac], 0
fstp st(0)
mov eax, dword [0x100a04f4]
lea ecx, [ebp - 8]
mov dl, byte [eax + 0x44]
call fcn.10006cb0
movaps xmm1, xmm0
ucomiss xmm1, dword [0x10093d58]
movss dword [ebp - 0xc], xmm1
movss dword [ebp - 0x14], xmm1
lahf
test ah, 0x44
jnp 0x1005eb06
fld dword [ebp - 0x14]
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
ucomiss xmm0, xmm0
setp al
cmp al, 1
je 0x1005eb06
mov eax, dword [0xcc5ff8]
mov edx, dword [0x797520]
dec eax
and eax, 0x7f
shl eax, 5
cmp edx, 0x3fe
jne 0x1005e993
cmp byte [eax + 0xcc500e], 0
jle 0x1005eb06
cmp byte [eax + 0xcc500f], 0
je 0x1005eb06
cmp byte [eax + 0xcc500e], 0
jne 0x1005e9a9
cmp byte [eax + 0xcc500f], 0
je 0x1005eb06
mov edi, dword [0x1009fca8]
mov esi, edi
sub esi, dword [0x1009fcd0]
sub edi, dword [0x1009fccc]
cmp edx, 0x3ff
mov ecx, dword [0x100a0500]
mov edx, dword [0x100a04fc]
movss xmm4, dword [0x10093af0]
jne 0x1005e9e7
movss xmm0, dword [edx + 0xc]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x1005ea11
test esi, esi
jle 0x1005e9f3
cmp esi, 0x12c
jl 0x1005e9ff
cmp edi, 0xc8
jge 0x1005eab6
movss xmm0, dword [ecx + 0xc]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x1005eab6
mov eax, dword [0x1009c02c]
movss xmm5, dword [0x10093c34]
movss xmm3, dword [eax + 0x25690]
xor eax, eax
movaps xmm2, xmm3
subss xmm2, xmm1
andps xmm2, xmmword [0x10094200]
comiss xmm2, xmm5
seta al
cmp eax, 1
jne 0x1005ea50
movss xmm0, dword [0x10093c90]
subss xmm0, xmm2
movaps xmm2, xmm0
comiss xmm2, xmm4
jbe 0x1005eab6
cmp esi, 0x190
jge 0x1005ea9f
subss xmm1, xmm3
divss xmm1, dword [ecx + 0xc]
jmp 0x1005eaad
comiss xmm1, dword [0x10093ce4]
ja 0x1005ea82
movss xmm0, dword [0x10093d5c]
comiss xmm0, xmm1
jbe 0x1005e916
cvtps2pd xmm0, xmm1
movsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
fxch st(1)
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp dword [esi + 0x256ac]
jmp 0x1005e918
comiss xmm5, xmm2
jbe 0x1005eab6
subss xmm1, xmm3
divss xmm1, dword [edx + 0xc]
addss xmm1, xmm3
movss dword [ebp - 0xc], xmm1
mov esi, dword [0x1009c02c]
movss xmm0, dword [esi + 0x25690]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x18], xmm0
fld qword [ebp - 0x18]
fld qword [0x10093bc0]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x18]
movsd xmm1, qword [ebp - 0x18]
cvtpd2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, xmm1
subss xmm0, dword [ebp - 0xc]
subss xmm1, xmm0
addss xmm1, dword [esi + 0x256ac]
movss dword [esi + 0x256ac], xmm1
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1007e605
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret