Function at 0x10060410
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x10141b14]
sub esp, 0x10
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [edi + 0x50], 0
cmp dword [eax + 0x4d28], 0
jne 0x1006043c
cmp byte [edi + 0x48], 0
sete al
mov byte [edi + 0x48], al
cmp dword [edi + 0x44], 0
je 0x1006061f
mov ecx, dword [0x10141b24]
lea edx, [ebp - 0x10]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 8], xmm0
vmovss dword [ebp - 0xc], xmm0
mov eax, dword [ecx]
vmovss dword [ebp - 0x10], xmm0
push edx
mov eax, dword [eax + 0x48]
call eax
vmovss xmm0, dword [ebp - 0xc]
vmovss dword [esi], xmm0
mov eax, dword [edi + 0x34]
test eax, eax
je 0x1006049e
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x1006049e
vmovss xmm0, dword [esi]
vaddss xmm0, xmm0, dword [0x101337b4]
vmovss dword [esi], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [edi + 0x38]
test eax, eax
je 0x100604c9
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x100604c9
vmovss xmm0, dword [esi]
vsubss xmm0, xmm0, dword [0x101337b4]
vmovss dword [esi], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
push esi
mov ecx, edi
call fcn.1005e370
push esi
mov ecx, edi
call fcn.1005f040
test al, al
jne case.default.0x100604ee
mov eax, dword [edi + 0x44]
dec eax
cmp eax, 5
ja case.default.0x100604ee
jmp dword [eax*4 + 0x10060628]
vmovss xmm0, dword [esi]
vaddss xmm0, xmm0, dword [0x101337dc]
jmp 0x100605e0
mov eax, dword [0x10141b18]
vmovss xmm0, dword [eax + 0x10]
vmulss xmm0, xmm0, dword [0x101337c8]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x10], xmm0
fld qword [ebp - 0x10]
fld qword [0x10133708]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x10]
vmovsd xmm0, qword [ebp - 0x10]
vcvtpd2ps xmm0, xmm0
vaddss xmm0, xmm0, dword [0x101337c8]
vaddss xmm0, xmm0, dword [esi]
jmp 0x100605e0
mov eax, dword [0x10141b18]
vmovss xmm0, dword [eax + 0x10]
vmulss xmm0, xmm0, dword [0x101337dc]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x10], xmm0
fld qword [ebp - 0x10]
fld qword [0x10133718]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp dword [esi]
jmp case.default.0x100604ee
mov eax, dword [0x10141b18]
vmovss xmm0, dword [eax + 0x10]
vmulss xmm0, xmm0, dword [0x1013382c]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [ebp - 0x10], xmm0
fld qword [ebp - 0x10]
fld qword [0x10133718]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp dword [esi]
jmp case.default.0x100604ee
mov eax, dword [0x10141f04]
sub esp, 8
vmovss xmm0, dword [0x101337dc]
mov eax, dword [eax]
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [0x101338c8]
mov dword [ebp - 8], eax
vmovss dword [esp], xmm0
call dword [ebp - 8]
fstp dword [esi]
add esp, 8
jmp case.default.0x100604ee
vmovss xmm0, dword [0x101337ac]
vmovss dword [esi], xmm0
cmp dword [ebp + 0xc], 2
jne 0x100605f1
vmovss xmm1, dword [edi + 0x20]
jmp 0x100605f6
vmovss xmm1, dword [edi + 0x18]
cmp byte [edi + 0x48], 0
je 0x10060606
vmovss xmm2, dword [0x10133618]
jmp 0x1006060e
vmovss xmm2, dword [0x10133884]
vmulss xmm0, xmm2, dword [edi + 0x1c]
vaddss xmm0, xmm0, xmm1
vaddss xmm0, xmm0, dword [esi]
vmovss dword [esi], xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8