Function at 0x10018340
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x1032a2e8], 0
xorps xmm0, xmm0
movss dword [ebp - 4], xmm0
je 0x1001837f
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x101a27e8]
subss xmm0, dword [0x101a36f0]
movss dword [ebp - 4], xmm0
cmp dword [0xe609e8], 4
jne 0x10018b60
push esi
mov eax, 0x482b70
call eax
mov esi, 0x637c60
cmp byte [eax + 0x849c], 0
jne 0x100188a8
cmp dword [0xe60b4c], 4
push ebx
mov ebx, 0x6d6c20
ja 0x10018434
movss xmm1, dword [0x101b1c9c]
comiss xmm1, dword [0x101a3910]
movsd xmm2, qword [0x101a2d48]
jb 0x10018401
movss xmm0, dword [0x101a3334]
comiss xmm0, xmm1
jb 0x10018401
cvtps2pd xmm0, xmm1
push 0
push 0
push 0x1b
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [0x101b1c9c], xmm0
call ebx
movsd xmm2, qword [0x101a2d48]
add esp, 0xc
movss xmm1, dword [0x101b1c98]
comiss xmm1, dword [0x101a37f8]
jb 0x10018448
movss xmm0, dword [0x101a3878]
comiss xmm0, xmm1
jb 0x10018448
cvtps2pd xmm0, xmm1
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [0x101b1c98], xmm0
jmp 0x10018448
mov dword [0x101b1c9c], 0xc3040000
mov dword [0x101b1c98], 0x44110000
push edi
push 0
mov edi, 0x402bc0
call edi
mov edx, 0x96a4c0
mov ecx, eax
call edx
cmp byte [eax + 0x30c], 0
je 0x100184c6
push 1
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x100184c6
push 2
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x100184c6
push 3
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x100184c6
push 4
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x100184c6
movss xmm1, dword [0x101a3914]
jmp 0x10018506
movss xmm1, dword [0x101b1c94]
comiss xmm1, dword [0x101a3914]
jb 0x1001850e
movss xmm0, dword [0x101a3340]
comiss xmm0, xmm1
jb 0x1001850e
push 0
push 0
push 0x1b
call ebx
movss xmm0, dword [0x101b1c94]
add esp, 0xc
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x101a2d10]
cvtpd2ps xmm1, xmm0
movss dword [0x101b1c94], xmm1
movss xmm0, dword [ebp - 4]
cvtps2pd xmm0, xmm0
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x101a3070]
mov dword [esp + 0x1c], 0x3f140000
mov dword [esp + 0x18], 0x3f2c0000
mov dword [esp + 0x14], 0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x43140000
mov dword [esp + 8], 0x432c0000
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0x10
call esi
movss xmm0, dword [ebp - 4]
add esp, 0x2c
addss xmm0, dword [0x101b1c9c]
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f740000
mov dword [esp + 0x18], 0x3f330000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42740000
mov dword [esp + 8], 0x43330000
mov dword [esp + 4], 0x43040000
movss dword [esp], xmm0
push 0x12
call esi
movss xmm0, dword [ebp - 4]
add esp, 0x2c
addss xmm0, dword [0x101b1c98]
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f740000
mov dword [esp + 0x18], 0x3f330000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42740000
mov dword [esp + 8], 0x43330000
mov dword [esp + 4], 0x43040000
movss dword [esp], xmm0
push 0x16
call esi
movss xmm0, dword [0x101b1c94]
movss xmm1, dword [ebp - 4]
addss xmm0, dword [0x101a3498]
cvtps2pd xmm1, xmm1
push 0x17
push 0x70
cvttss2si eax, xmm0
addsd xmm1, qword [0x101a30c0]
push eax
cvttsd2si eax, xmm1
movsd qword [ebp - 0x10], xmm1
push eax
mov eax, 0x790b10
call eax
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0x40
test al, al
je 0x10018722
push 1
call edi
test ax, ax
jns 0x100186b8
push 0
push 0
push 0x19
call ebx
push 0
push 0
push 0x1b
call ebx
add esp, 0x18
mov eax, 0x482b70
call eax
lea esi, [eax + 0x8490]
mov eax, 0x482b70
call eax
push esi
mov edx, 0x483b20
mov ecx, eax
call edx
mov esi, 0x637c60
movss xmm0, dword [0x101b1c94]
addss xmm0, dword [0x101a3498]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f380000
mov dword [esp + 0x18], 0x3f600000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b80000
mov dword [esp + 8], 0x42e00000
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x11
call esi
add esp, 0x30
movss xmm0, dword [0x101b1c98]
addss xmm0, dword [0x101a32f8]
push 0x12
push 0x3c
push 0x92
addss xmm0, dword [ebp - 4]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x100187e4
mov eax, dword [0xe60b4c]
push 1
mov dword [0xe61730], eax
call edi
test ax, ax
jns 0x1001877c
push 0
push 0
push 0x19
call ebx
add esp, 0xc
mov eax, 0x4d6a60
call eax
movss xmm0, dword [0x101b1c98]
addss xmm0, dword [0x101a32f8]
push ecx
mov dword [esp], 0
push 1
push 1
addss xmm0, dword [ebp - 4]
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f100000
mov dword [esp + 0x18], 0x3f700000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41900000
mov dword [esp + 8], 0x42700000
mov dword [esp + 4], 0x43120000
movss dword [esp], xmm0
push 0x15
call esi
add esp, 0x30
movss xmm0, dword [0x101b1c9c]
addss xmm0, dword [0x101a348c]
push 0x12
push 0x3c
push 0x92
addss xmm0, dword [ebp - 4]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x100188a6
mov eax, dword [0xe60b4c]
push 1
mov dword [0xe61730], eax
call edi
test ax, ax
jns 0x1001883e
push 0
push 0
push 0x19
call ebx
add esp, 0xc
mov eax, 0x405b10
call eax
movss xmm0, dword [0x101b1c9c]
addss xmm0, dword [0x101a348c]
push ecx
mov dword [esp], 0
push 1
push 1
addss xmm0, dword [ebp - 4]
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f100000
mov dword [esp + 0x18], 0x3f700000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41900000
mov dword [esp + 8], 0x42700000
mov dword [esp + 4], 0x43120000
movss dword [esp], xmm0
push 0x13
call esi
add esp, 0x30
pop edi
pop ebx
movss xmm1, dword [ebp - 4]
cvtps2pd xmm0, xmm1
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x101a31a8]
mov dword [esp + 0x1c], 0x3f140000
mov dword [esp + 0x18], 0x3f400000
mov dword [esp + 0x14], 0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x42140000
mov dword [esp + 8], 0x43400000
mov dword [esp + 4], 0
movss dword [esp], xmm0
push 0xc
call esi
movss xmm0, dword [ebp - 4]
add esp, 0x2c
cvtps2pd xmm0, xmm0
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x101a2670]
mov dword [esp + 0x1c], 0x3f140000
mov dword [esp + 0x18], 0xbf400000
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x3f400000
mov dword [esp + 0xc], 0x42140000
mov dword [esp + 8], 0x43400000
mov dword [esp + 4], 0
movss dword [esp], xmm0
push 0xc
movss dword [ebp - 8], xmm0
call esi
add esp, 0x30
cmp dword [0x1032a2e8], 0
jne 0x10018af8
movss xmm0, dword [ebp - 4]
push ecx
mov dword [esp], 0
cvtps2pd xmm0, xmm0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x101a3218]
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f540000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
cvtpd2ps xmm1, xmm0
mov dword [esp + 0xc], 0x43800000
mov dword [esp + 8], 0x42d40000
mov dword [esp + 4], 0x40400000
movss dword [esp], xmm1
push 0xd
movss dword [ebp - 0xc], xmm1
call esi
movss xmm0, dword [ebp - 8]
add esp, 0x2c
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0xbf540000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x3f540000
mov dword [esp + 0xc], 0x43800000
mov dword [esp + 8], 0x42d40000
mov dword [esp + 4], 0x40400000
movss dword [esp], xmm0
push 0xd
call esi
movss xmm0, dword [ebp - 0xc]
add esp, 0x2c
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f5e0000
mov dword [esp + 0x18], 0x3f540000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x435e0000
mov dword [esp + 8], 0x42d40000
mov dword [esp + 4], 0x43818000
movss dword [esp], xmm0
push 0xe
call esi
movss xmm0, dword [ebp - 8]
add esp, 0x2c
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f5e0000
mov dword [esp + 0x18], 0xbf540000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x3f540000
mov dword [esp + 0xc], 0x435e0000
mov dword [esp + 8], 0x42d40000
mov dword [esp + 4], 0x43818000
movss dword [esp], xmm0
push 0xe
call esi
add esp, 0x30
movss xmm0, dword [ebp - 4]
push ecx
mov dword [esp], 0
cvtps2pd xmm0, xmm0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x101a3020]
mov dword [esp + 0x1c], 0x3f0c0000
mov dword [esp + 0x18], 0x3f800000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
cvtpd2ps xmm0, xmm0
mov dword [esp + 0xc], 0x428c0000
mov dword [esp + 8], 0x43800000
mov dword [esp + 4], 0
movss dword [esp], xmm0
push 0xf
call esi
add esp, 0x30
pop esi
mov esp, ebp
pop ebp
ret