Function at 0x10018390
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x1032a2f8], 0
xorps xmm0, xmm0
movss dword [ebp - 4], xmm0
je 0x100183cf
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x101a27a0]
subss xmm0, dword [0x101a36a8]
movss dword [ebp - 4], xmm0
cmp dword [0xe609e8], 4
jne 0x10018bb0
push esi
mov eax, 0x482b70
call eax
mov esi, 0x637c60
cmp byte [eax + 0x849c], 0
jne 0x100188f8
cmp dword [0xe60b4c], 4
push ebx
mov ebx, 0x6d6c20
ja 0x10018484
movss xmm1, dword [0x101b1cac]
comiss xmm1, dword [0x101a38c8]
movsd xmm2, qword [0x101a2d00]
jb 0x10018451
movss xmm0, dword [0x101a32ec]
comiss xmm0, xmm1
jb 0x10018451
cvtps2pd xmm0, xmm1
push 0
push 0
push 0x1b
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [0x101b1cac], xmm0
call ebx
movsd xmm2, qword [0x101a2d00]
add esp, 0xc
movss xmm1, dword [0x101b1ca8]
comiss xmm1, dword [0x101a37b0]
jb 0x10018498
movss xmm0, dword [0x101a3830]
comiss xmm0, xmm1
jb 0x10018498
cvtps2pd xmm0, xmm1
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [0x101b1ca8], xmm0
jmp 0x10018498
mov dword [0x101b1cac], 0xc3040000
mov dword [0x101b1ca8], 0x44110000
push edi
push 0
mov edi, 0x402bc0
call edi
mov edx, 0x96a4c0
mov ecx, eax
call edx
cmp byte [eax + 0x30c], 0
je 0x10018516
push 1
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x10018516
push 2
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x10018516
push 3
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x10018516
push 4
call edi
mov ecx, eax
mov eax, 0x96a4c0
call eax
cmp byte [eax + 0x30c], 0
je 0x10018516
movss xmm1, dword [0x101a38cc]
jmp 0x10018556
movss xmm1, dword [0x101b1ca4]
comiss xmm1, dword [0x101a38cc]
jb 0x1001855e
movss xmm0, dword [0x101a32f8]
comiss xmm0, xmm1
jb 0x1001855e
push 0
push 0
push 0x1b
call ebx
movss xmm0, dword [0x101b1ca4]
add esp, 0xc
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x101a2cc8]
cvtpd2ps xmm1, xmm0
movss dword [0x101b1ca4], 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 [0x101a3028]
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 [0x101b1cac]
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 [0x101b1ca8]
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 [0x101b1ca4]
movss xmm1, dword [ebp - 4]
addss xmm0, dword [0x101a3450]
cvtps2pd xmm1, xmm1
push 0x17
push 0x70
cvttss2si eax, xmm0
addsd xmm1, qword [0x101a3078]
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 0x10018772
push 1
call edi
test ax, ax
jns 0x10018708
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 [0x101b1ca4]
addss xmm0, dword [0x101a3450]
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 [0x101b1ca8]
addss xmm0, dword [0x101a32b0]
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 0x10018834
mov eax, dword [0xe60b4c]
push 1
mov dword [0xe61730], eax
call edi
test ax, ax
jns 0x100187cc
push 0
push 0
push 0x19
call ebx
add esp, 0xc
mov eax, 0x4d6a60
call eax
movss xmm0, dword [0x101b1ca8]
addss xmm0, dword [0x101a32b0]
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 [0x101b1cac]
addss xmm0, dword [0x101a3444]
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 0x100188f6
mov eax, dword [0xe60b4c]
push 1
mov dword [0xe61730], eax
call edi
test ax, ax
jns 0x1001888e
push 0
push 0
push 0x19
call ebx
add esp, 0xc
mov eax, 0x405b10
call eax
movss xmm0, dword [0x101b1cac]
addss xmm0, dword [0x101a3444]
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 [0x101a3160]
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 [0x101a2628]
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 [0x1032a2f8], 0
jne 0x10018b48
movss xmm0, dword [ebp - 4]
push ecx
mov dword [esp], 0
cvtps2pd xmm0, xmm0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x101a31d0]
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 [0x101a2fd8]
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