Function at 0x10017830
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0xe609e8], 4
jne 0x10018269
cmp dword [0x1032a2f8], 0
xorps xmm0, xmm0
movss dword [ebp - 4], xmm0
je 0x1001787c
movd xmm0, dword [0xe61e58]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0xe7c3d8]
mulss xmm0, dword [0x101a27a0]
subss xmm0, dword [0x101a36a8]
movss dword [ebp - 4], xmm0
push esi
push edi
mov eax, 0x482b70
call eax
mov edi, 0x637c60
cmp byte [eax + 0x849c], 0
je 0x10017fa6
movss xmm2, dword [0x101b1ca0]
addss xmm2, dword [0x101a32b4]
movss xmm0, dword [0x101a3338]
comiss xmm2, xmm0
movss dword [0x101b1ca0], xmm2
jb 0x100178c7
movaps xmm2, xmm0
movss dword [0x101b1ca0], xmm2
movss xmm0, dword [ebp - 4]
push ecx
mov dword [esp], 0
cvtps2pd xmm0, xmm0
push 1
push 1
sub esp, 0x20
addsd xmm0, qword [0x101a2ff0]
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x18], 0x3f700000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
cvtpd2ps xmm1, xmm0
mov dword [esp + 0xc], 0x43800000
mov dword [esp + 8], 0x43700000
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
push 0x17
movss dword [ebp - 8], xmm1
call edi
movss xmm0, dword [0x101b1ca0]
add esp, 0x2c
addss xmm0, dword [0x101a3630]
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f0c0000
mov dword [esp + 0x18], 0x3f700000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x420c0000
mov dword [esp + 8], 0x43700000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 8]
movss dword [esp], xmm0
push 0x18
call edi
mov eax, dword [0x1025c068]
add esp, 0x30
xor esi, esi
test eax, eax
jne 0x100179a6
lea esi, [eax + 6]
jmp 0x100179c5
cmp eax, 1
jne 0x100179b0
lea esi, [eax + 2]
jmp 0x100179c5
cmp eax, 2
jne 0x100179ba
lea esi, [eax + 2]
jmp 0x100179c5
cmp eax, 3
mov ecx, 5
cmove esi, ecx
movss xmm0, dword [ebp - 4]
cvtps2pd xmm1, xmm0
push 0x14
push 0x13
movss xmm0, dword [0x101b1ca0]
addss xmm0, dword [0x101a35e4]
addsd xmm1, qword [0x101a3070]
cvttss2si eax, xmm0
movsd qword [ebp - 0x10], xmm1
push eax
cvttsd2si eax, xmm1
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
mov ecx, 0x791070
test al, al
je 0x10017ab9
push 1
call ecx
add esp, 4
test eax, eax
je 0x10017ab9
mov eax, dword [0x1032a234]
cmp eax, esi
jl 0x10017a2c
cmp eax, 1
jle 0x10017a35
cmp eax, 1
jl 0x10017a40
cmp eax, esi
jg 0x10017a40
dec eax
mov dword [0x1032a234], eax
call fcn.100177e0
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
movss xmm0, dword [0x101b1ca0]
add esp, 8
addss xmm0, dword [0x101a35e4]
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f200000
mov dword [esp + 0x18], 0x3f180000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
mov dword [esp + 8], 0x41980000
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x1a
call edi
add esp, 0x30
movss xmm0, dword [0x101b1ca0]
movss xmm1, dword [ebp - 4]
addss xmm0, dword [0x101a35e4]
cvtps2pd xmm1, xmm1
push 0x14
push 0x13
cvttss2si eax, xmm0
addsd xmm1, qword [0x101a30f8]
push eax
cvttsd2si eax, xmm1
movsd qword [ebp - 0x10], xmm1
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10017bb3
push 1
mov eax, 0x791070
call eax
add esp, 4
test eax, eax
je 0x10017bb3
mov ecx, dword [0x1032a234]
test ecx, ecx
js 0x10017b23
lea eax, [esi - 1]
cmp ecx, eax
jle 0x10017b2e
lea eax, [esi - 1]
cmp ecx, eax
jl 0x10017b3a
test ecx, ecx
jg 0x10017b3a
inc ecx
mov dword [0x1032a234], ecx
call fcn.100177e0
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
movss xmm0, dword [0x101b1ca0]
add esp, 8
addss xmm0, dword [0x101a35e4]
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f200000
mov dword [esp + 0x18], 0x3f180000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
mov dword [esp + 8], 0x41980000
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x1b
call edi
add esp, 0x30
mov eax, dword [0x1032a234]
mov ecx, 0x635fd0
mov edi, dword [sym.imp.OPENGL32.dll_glColor4f]
cmp eax, 6
ja case.default.0x10017bcc
jmp dword [eax*4 + 0x10018270]
push 1
call ecx
mov dword [esp], 0x3f4ccccd
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call edi
movss xmm0, dword [0x101b1ca0]
mov eax, 0x6378a0
addss xmm0, dword [0x101a35e4]
push 0
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
mov dword [esp + 8], 0x41980000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x101a3070]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call eax
mov eax, 0x636070
call eax
push 1
mov eax, 0x635fd0
call eax
add esp, 0xc
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call edi
push 0x14
jmp 0x10017ca1
push 0x15
jmp 0x10017ca1
push 0x16
jmp 0x10017ca1
push 0x17
jmp 0x10017ca1
push 0x18
jmp 0x10017ca1
push 0x697
jmp 0x10017ca1
push 0xc4e
mov ecx, 0x41fe10
mov eax, 0x402320
call eax
movss xmm0, dword [0x101b1ca0]
addss xmm0, dword [0x101a35f0]
push eax
push 3
push 0x32
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x101a3680]
push eax
cvttss2si eax, xmm0
push eax
push 0xffffffffffffffff
call fcn.10016940
add esp, 0x18
mov ecx, 0x635fd0
cmp dword [0x1032a234], esi
jne 0x10017da2
push 1
call ecx
mov dword [esp], 0x3f4ccccd
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call edi
movss xmm0, dword [0x101b1ca0]
mov eax, 0x6378a0
addss xmm0, dword [0x101a35e4]
push 0
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41a00000
mov dword [esp + 8], 0x41980000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x101a30f8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
call eax
mov eax, 0x636070
call eax
push 1
mov eax, 0x635fd0
call eax
add esp, 0xc
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call edi
movss xmm0, dword [0x101b1ca0]
addss xmm0, dword [0x101a35a0]
mov ecx, dword [0xe8c544]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 4]
addss xmm0, dword [0x101a3678]
push eax
cvttss2si eax, xmm0
push eax
mov eax, 0x417ec0
call eax
movss xmm0, dword [0x101b1ca0]
movss xmm1, dword [ebp - 4]
addss xmm0, dword [0x101a3628]
cvtps2pd xmm1, xmm1
push 0x17
push 0x3a
cvttss2si eax, xmm0
addsd xmm1, qword [0x101a3060]
push eax
cvttsd2si eax, xmm1
movsd qword [ebp - 0x10], xmm1
push eax
mov eax, 0x790b10
call eax
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
add esp, 0x10
test al, al
je 0x10017ec3
push 1
call esi
test ax, ax
jns 0x10017e52
mov edi, 0x482b70
call edi
add eax, 0x8490
push eax
call edi
mov edx, 0x483b50
mov ecx, eax
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
movss xmm0, dword [0x101b1ca0]
mov edi, 0x637c60
addss xmm0, dword [0x101a3628]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f380000
mov dword [esp + 0x18], 0x3f680000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b80000
mov dword [esp + 8], 0x42680000
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x1c
call edi
add esp, 0x30
jmp 0x10017ec8
mov edi, 0x637c60
movss xmm0, dword [0x101b1ca0]
movss xmm1, dword [ebp - 4]
addss xmm0, dword [0x101a3628]
cvtps2pd xmm1, xmm1
push 0x17
push 0x3a
cvttss2si eax, xmm0
addsd xmm1, qword [0x101a30c8]
push eax
cvttsd2si eax, xmm1
movsd qword [ebp - 0x10], xmm1
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x10017fb0
push 1
call esi
test ax, ax
jns 0x10017f3a
mov eax, 0x482b70
call eax
mov edx, 0x403e00
lea ecx, [eax + 0x8490]
call edx
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0xc
movss xmm0, dword [0x101b1ca0]
addss xmm0, dword [0x101a3628]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f380000
mov dword [esp + 0x18], 0x3f680000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41b80000
mov dword [esp + 8], 0x42680000
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x10]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x1d
call edi
add esp, 0x30
jmp 0x10017fb0
mov dword [0x101b1ca0], 0xc3800000
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 edi
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 edi
add esp, 0x30
cmp dword [0x1032a2f8], 0
jne 0x10018200
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 edi
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 edi
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 edi
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 edi
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 edi
add esp, 0x30
pop edi
pop esi
mov esp, ebp
pop ebp
ret