Function at 0x10010030
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x814
mov eax, dword [0x1019a06c]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x80c]
push 0x7ff
push 0
push eax
call fcn.10131ef0
add esp, 0xc
lea eax, [ebp + 0x14]
push eax
push 0
push dword [ebp + 0x10]
lea eax, [ebp - 0x80c]
push 0x7ff
push eax
call sym.Main.dll__vsprintf_s_l
add esp, 0x14
mov eax, 0x401c10
call eax
lea eax, [ebp - 0x80c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
mov eax, 0x41fe10
call eax
mov edx, 0x41ff80
mov ecx, eax
call edx
lea ecx, [ebp - 0x814]
push ecx
push esi
lea ecx, [ebp - 0x80c]
push ecx
push eax
mov eax, 0x9593b0
call eax
push 0x39
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
movd xmm0, dword [ebp - 0x810]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movss xmm0, dword [0xe7c3d8]
cvtps2pd xmm0, xmm0
cmp al, 1
jne 0x100100f1
divsd xmm0, qword [0x1018cb10]
jmp 0x100100f9
divsd xmm0, qword [0x1018caf0]
divsd xmm1, xmm0
push 1
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0x810], xmm0
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x10010209
movss xmm4, dword [edi + 0x18]
movd xmm2, dword [0x879340c]
movaps xmm0, xmm4
movss xmm1, dword [edi]
movss xmm3, dword [edi + 4]
addss xmm0, xmm1
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm2
jb 0x10010198
comiss xmm2, xmm1
jb 0x10010198
movd xmm2, dword [0x8793410]
movaps xmm0, xmm3
addss xmm0, dword [0x10598874]
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm2
jb 0x10010198
comiss xmm2, xmm3
jb 0x10010198
mov al, byte [edi + 0x2a]
test al, al
jne 0x1001019f
mov byte [edi + 0x2a], 1
mov al, 1
movd xmm0, dword [0x879340c]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x10], xmm0
movd xmm0, dword [0x8793410]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x14], xmm0
jmp 0x1001019b
mov al, byte [edi + 0x2a]
test al, al
je 0x10010213
xorps xmm2, xmm2
xorps xmm0, xmm0
cvtsi2ss xmm2, dword [0x879340c]
subss xmm2, dword [edi + 0x10]
addss xmm2, xmm1
xorps xmm1, xmm1
movss dword [edi], xmm2
addss xmm2, xmm4
cvtsi2ss xmm1, dword [0x8793410]
subss xmm1, dword [edi + 0x14]
addss xmm1, xmm3
movss dword [edi + 4], xmm1
cvtsi2ss xmm0, dword [0x879340c]
movss dword [edi + 0x10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x8793410]
movss dword [edi + 0x20], xmm2
movss dword [edi + 0x14], xmm0
movss xmm0, dword [edi + 0x1c]
addss xmm0, xmm1
movss dword [edi + 0x24], xmm0
jmp 0x10010213
cmp byte [edi + 0x2a], 0
je 0x10010213
mov byte [edi + 0x2a], 0
movss xmm5, dword [0x1018d65c]
mov eax, 0x637c60
movss xmm1, dword [edi + 0x1c]
movaps xmm4, xmm5
divss xmm4, xmm1
push ecx
mov dword [esp], 0
push 1
push 0
sub esp, 0x20
movaps xmm7, xmm5
movss xmm0, dword [0xe7c3d8]
divss xmm7, dword [edi + 0x18]
mulss xmm1, dword [0x1018c618]
movaps xmm2, xmm5
divss xmm7, dword [0xe7c3d4]
mulss xmm1, dword [0x1018d37c]
movss xmm6, dword [edi + 4]
divss xmm4, xmm0
mulss xmm0, dword [0x1018d110]
movss dword [0x10598874], xmm1
addss xmm1, xmm6
divss xmm2, xmm7
subss xmm1, dword [ebp - 0x810]
movss dword [0x1059887c], xmm4
movss dword [0x10598878], xmm7
movss xmm3, dword [edi]
subss xmm1, xmm0
movaps xmm0, xmm5
divss xmm0, xmm2
movss dword [0x10598880], xmm1
movaps xmm1, xmm5
divss xmm1, xmm4
divss xmm7, xmm0
divss xmm5, xmm1
divss xmm4, xmm5
movss dword [esp + 0x1c], xmm4
movss dword [esp + 0x18], xmm7
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm6
movss dword [esp], xmm3
push 0xf1007
call eax
lea eax, [ebp - 0x80c]
push eax
cvttss2si eax, dword [ebp - 0x810]
push 3
push eax
cvttss2si eax, dword [edi + 0x18]
push eax
cvttss2si eax, dword [0x10598880]
push 0
push 0xffffffffffffffff
push eax
cvttss2si eax, dword [edi]
push eax
push dword [0x1035028c]
push 0x10350288
call fcn.10044f00
movss xmm1, dword [edi]
add esp, 0x58
movd xmm2, dword [0x879340c]
movaps xmm0, xmm1
addss xmm0, dword [edi + 0x18]
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm2
jb 0x10010396
comiss xmm2, xmm1
jb 0x10010396
movd xmm2, dword [0x8793410]
movss xmm1, dword [edi + 4]
movss xmm0, dword [edi + 0x1c]
cvtdq2ps xmm2, xmm2
addss xmm0, xmm1
comiss xmm0, xmm2
jb 0x10010396
comiss xmm2, xmm1
jb 0x10010396
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100e34d0
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
xor al, al
pop edi
xor ecx, ebp
pop esi
call fcn.100e34d0
mov esp, ebp
pop ebp
ret