Function at 0x180006480
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0xe0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x60], xmm13
mov rax, qword [0x180037040]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rsi, r8
mov qword [rsp + 0x40], rdx
xor ebx, ebx
inc dword [0x180039024]
movss xmm1, dword [0x180037a8c]
movaps xmm6, xmm1
movss xmm8, dword [0x180031af8]
addss xmm6, xmm8
addss xmm6, dword [0x180039028]
movss xmm7, dword [0x180037a88]
movss xmm0, dword [0x180031ad8]
addss xmm7, xmm0
addss xmm7, dword [0x180039020]
movss xmm10, dword [rsp + 0x44]
movss xmm11, dword [0x180031a58]
cmp byte [0x180038dfc], bl
je 0x180006564
movss xmm7, dword [0x18003b5f0]
addss xmm7, dword [0x18003b600]
addss xmm7, xmm0
movss xmm6, dword [0x18003b5f4]
mulss xmm6, xmm11
addss xmm6, dword [0x18003b604]
movaps xmm0, xmm10
mulss xmm0, xmm11
subss xmm6, xmm0
xorps xmm13, xmm13
cmp byte [0x180038dd6], bl
je 0x180006593
movss xmm6, dword [0x180038f0c]
mov byte [0x180038dd6], bl
mov dword [0x180038f0c], ebx
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [0x180039028], xmm0
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm1, dword [rsp + 0x24]
cvtdq2ps xmm1, xmm1
movd xmm2, dword [rsp + 0x20]
cvtdq2ps xmm2, xmm2
movss xmm12, dword [rsp + 0x40]
comiss xmm2, xmm7
jbe 0x1800065e0
comiss xmm1, xmm6
jbe 0x1800065e0
movaps xmm0, xmm7
addss xmm0, xmm12
comiss xmm0, xmm2
jbe 0x1800065e0
movaps xmm0, xmm6
addss xmm0, xmm10
comiss xmm0, xmm1
jbe 0x1800065e0
mov dil, 1
jmp 0x1800065e3
xor dil, dil
movaps xmm5, xmm6
subss xmm5, dword [0x180031a6c]
movaps xmm4, xmm7
subss xmm4, dword [0x180031a6c]
movups xmm0, xmmword [0x1800318b8]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm2, xmm10
addss xmm2, dword [0x180031a98]
movaps xmm1, xmm12
addss xmm1, dword [0x180031a98]
lea r9, [rsp + 0x40]
unpcklps xmm4, xmm5
movq rcx, xmm4
call fcn.180003f70
lea r9, [rsp + 0x40]
movaps xmm2, xmm10
movaps xmm1, xmm12
test dil, dil
je 0x180006668
movups xmm0, xmmword [0x180031908]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.180003f70
mov byte [0x180038dd7], 1
jmp 0x180006685
movups xmm0, xmmword [0x1800318a8]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.180003f70
cmp byte [0x180038dfc], bl
jne 0x1800066aa
movaps xmm0, xmm10
addss xmm0, xmm8
movss xmm1, dword [0x180039028]
addss xmm1, xmm0
movss dword [0x180039028], xmm1
mov eax, dword [0x180039024]
cmp dword [0x180037aa0], eax
jne 0x1800067cb
movaps xmm1, xmm12
mulss xmm1, xmm11
addss xmm1, xmm7
movaps xmm2, xmm10
mulss xmm2, xmm11
addss xmm2, xmm6
movabs rax, 0xec2d6e96995d68e7
mov qword [rsp + 0x40], rax
movabs rax, 0x339065770cb0884c
mov qword [rsp + 0x48], rax
movabs rax, 0xcc4c4ee5ea381ab7
mov qword [rsp + 0x20], rax
movabs rax, 0x339065770cc9ed27
mov qword [rsp + 0x28], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1800318b8]
movdqa xmmword [rsp + 0x40], xmm0
lea r8, [rsp + 0x40]
unpcklps xmm1, xmm2
movq rdx, xmm1
lea rcx, [rsp + 0x20]
call fcn.180003cb0
cmp byte [0x180038f18], bl
jne 0x180006777
cmp byte [0x180038f19], bl
jne 0x180006777
cmp byte [0x180038f1a], bl
jne 0x180006777
cmp byte [0x180038f1b], bl
jne 0x180006777
cmp byte [0x180038f1c], bl
jne 0x180006777
mov byte [0x18003b679], bl
jmp 0x180006783
cmp byte [0x18003b679], bl
jne 0x180006913
mov edi, ebx
mov edx, dword [0x18003b718]
test edx, edx
jne 0x1800067a4
call fcn.180001410
test rax, rax
mov edx, ebx
je 0x18000679e
mov edx, dword [rax + 4]
mov dword [0x18003b718], edx
mov ecx, edi
call fcn.18000d560
test ax, ax
je 0x1800067bc
mov dword [rsi], edi
mov dword [0x180037aa0], 0xffffffff
inc edi
cmp edi, 0xff
jl 0x180006785
jmp 0x180006913
movaps xmm9, xmm10
mulss xmm9, xmm11
addss xmm9, xmm6
movaps xmm8, xmm12
mulss xmm8, xmm11
addss xmm8, xmm7
movups xmm11, xmmword [0x1800318b8]
movzx edx, byte [rsi]
lea rcx, [rsp + 0x20]
call fcn.1800060c0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x180006807
mov rax, qword [rax]
movdqa xmmword [rsp + 0x40], xmm11
lea r8, [rsp + 0x40]
movaps xmm0, xmm8
unpcklps xmm0, xmm9
movq rdx, xmm0
mov rcx, rax
call fcn.180003cb0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x180006866
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006861
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800069a6
call fcn.18000de70
test dil, dil
je 0x1800068ce
movsxd rdx, dword [0x180039024]
cmp byte [0x180038f18], 0
je 0x1800068b4
lea rax, [0x180038f20]
cmp byte [rdx + rax], 0
jne 0x180006913
mov byte [rdx + rax], 1
mov byte [0x18003b679], 1
mov dword [0x180037aa0], edx
nop dword [rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x1800068a0
jmp 0x180006913
cmp rdx, 0x100
jae 0x1800069ac
lea rax, [0x180038f20]
mov byte [rdx + rax], 0
jmp 0x180006913
movsxd rcx, dword [0x180039024]
cmp byte [0x180038f18], 0
je 0x1800068fb
lea rax, [0x180038f20]
cmp byte [rcx + rax], 0
jne 0x180006913
mov byte [rcx + rax], 1
mov dword [0x180037aa0], 0xffffffff
jmp 0x180006913
cmp rcx, 0x100
jae 0x1800069ac
lea rax, [0x180038f20]
mov byte [rcx + rax], 0
mov byte [0x180038dfc], 0
movss dword [0x18003b600], xmm7
movss dword [0x18003b604], xmm6
movss dword [0x18003b5f0], xmm12
movss dword [0x18003b5f4], xmm10
movss xmm0, dword [0x18003b5e8]
ucomiss xmm0, xmm13
jp 0x18000695c
jne 0x18000695c
movss dword [0x18003b5e8], xmm7
movss dword [0x18003b5ec], xmm6
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.18000d730
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop rdi
ret
call fcn.180016d08
int3
call fcn.18000d858
int3