Function at 0x1800a4180
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x28]
sub rsp, 0x110
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
mov rax, qword [0x180118028]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rdi, rcx
mov ecx, dword [rcx + 0xc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1800a424d
mov dword [rsp + 0x48], 0x18
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x4c], xmm0
mov dword [rsp + 0x5c], eax
lea rcx, [rsp + 0x48]
call qword [sym.imp.USER32.dll_GetCursorInfo]
test eax, eax
je 0x1800a422d
mov rax, qword [rsp + 0x50]
add rax, 0xffffffffffff3caf
cmp rax, 0xc34e
jbe 0x1800a424d
cmp byte [0x18011ab40], 0
jne 0x1800a424d
mov cl, 1
cmp byte [0x18011abea], 0
jne 0x1800a424f
cmp byte [rdi + 8], 0
sete al
mov byte [rdi + 8], al
jmp 0x1800a424f
xor cl, cl
mov byte [0x18011abea], cl
movss xmm0, dword [rdi + 0x20]
movss dword [0x18011a3b8], xmm0
movd xmm1, dword [rdi + 0x24]
cvtdq2ps xmm1, xmm1
movss dword [0x18011a3b4], xmm1
movzx eax, byte [rdi + 8]
mov byte [0x18011a39d], al
mov ecx, dword [0x180119e14]
mov rax, qword gs:[0x58]
mov r8d, 4
mov rdx, qword [rax + rcx*8]
xor r15d, r15d
mov eax, dword [r8 + rdx]
cmp dword [0x18011f0b0], eax
jle 0x1800a4317
lea rcx, [0x18011f0b0]
call fcn.1800aeeb8
cmp dword [0x18011f0b0], 0xffffffff
jne 0x1800a4317
mov qword [0x18011f0b8], r15
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800a42de
imul rax, rax, 0x64
jmp 0x1800a42f9
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [0x18011f0b8], rax
mov qword [0x18011f0c0], 0x32
lea rcx, [0x18011f0b0]
call fcn.1800aee58
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800a4335
imul rcx, rax, 0x64
jmp 0x1800a4350
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov rdx, rcx
sub rdx, qword [0x18011f0b8]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x18011f0c0]
je 0x1800a4397
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x1800a4d07
mov qword [0x18011f0b8], rcx
cmp byte [rdi + 8], r15b
je 0x1800a4d07
cmp byte [rdi + 0x2c], r15b
jne 0x1800a4d07
mov rcx, qword [0x18011ef38]
add rcx, 0x10
call fcn.18006a3a0
test al, al
jne 0x1800a43d0
cmp byte [rdi + 0x29], r15b
jne 0x1800a4d07
mov rcx, qword [0x18011ef38]
add rcx, 0x10
lea rdx, [rsp + 0x48]
call fcn.180069740
mov rcx, qword [0x18011ef38]
add rcx, 0x10
lea rdx, [rsp + 0x20]
call fcn.180069ab0
cmp byte [rdi + 0x2a], r15b
je 0x1800a4422
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, dword [rsp + 0x20]
jp 0x1800a4422
jne 0x1800a4422
movss xmm0, dword [rsp + 0x50]
ucomiss xmm0, dword [rsp + 0x28]
jp 0x1800a4422
je 0x1800a4d07
mov rcx, qword [0x18011ef38]
add rcx, 0x10
lea rdx, [rsp + 0x20]
call fcn.180069740
cmp qword [0x180118688], r15
je 0x1800a44e5
lea rcx, [0x18011a750]
call fcn.18006b5c0
movaps xmm1, xmm0
call fcn.18006baa0
lea rcx, [0x18011a780]
call fcn.18006b690
movaps xmm1, xmm0
call fcn.18006bb70
lea rcx, [0x18011a750]
call fcn.18006b760
movaps xmm1, xmm0
call fcn.18006bc40
lea rcx, [0x18011a750]
call fcn.18006b830
movaps xmm1, xmm0
call fcn.18006bd10
call fcn.18006b900
movaps xmm1, xmm0
call fcn.18006bde0
lea rcx, [0x18011a750]
call fcn.18006b9d0
movaps xmm1, xmm0
call fcn.18006beb0
cmp qword [0x18011ab38], r15
je 0x1800a44e5
mov rdx, qword [0x180118688]
test rdx, rdx
je 0x1800a44e5
mov rcx, qword [0x180118680]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [0x180118688], r15
mov rcx, qword [0x18011ef38]
add rcx, 0x50
lea rdx, [rsp + 0x60]
call fcn.18006ea00
nop
movss xmm7, dword [rsp + 0x28]
movss xmm8, dword [rsp + 0x24]
movss xmm9, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
cmp rbx, rsi
je 0x1800a4718
add rbx, 8
lea r14, vtable.EntityPlayer.0
movss xmm6, dword [0x180103e6c]
nop word [rax + rax]
mov rax, qword [0x18011ef38]
mov rdx, qword [rbx + 8]
mov r8, qword [rax + 0x20]
cmp rdx, r8
je 0x1800a4707
test rdx, rdx
je 0x1800a457a
test r8, r8
je 0x1800a457a
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
je 0x1800a4707
mov rax, qword [0x18011ef38]
mov rdx, qword [rbx + 8]
mov r8, qword [rax + 0x20]
cmp rdx, r8
je 0x1800a4707
test rdx, rdx
je 0x1800a45b4
test r8, r8
je 0x1800a45b4
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
je 0x1800a4707
cmp byte [0x180119f52], 0
je 0x1800a45e1
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1800678d0
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x30]
call fcn.1800ace70
test al, al
jne 0x1800a4707
cmp byte [0x18011a27c], 0
je 0x1800a460e
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1800678d0
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x30]
call fcn.1800ac780
test al, al
jne 0x1800a4707
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1800678d0
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x30]
call fcn.1800ac3d0
test al, al
jne 0x1800a4707
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1800a4707
mov rcx, qword [0x18011ef38]
add rcx, 0x10
call fcn.180069660
test al, al
je 0x1800a4707
lea rcx, [rbx - 8]
lea rdx, [rsp + 0x48]
call fcn.180069740
movss xmm1, dword [rsp + 0x50]
subss xmm1, xmm7
movss xmm0, dword [rsp + 0x4c]
subss xmm0, xmm8
movss xmm2, dword [rsp + 0x48]
subss xmm2, xmm9
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800a46aa
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800a46b2
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jb 0x1800a4707
mov rcx, qword [rbx]
mov qword [0x180118680], rcx
mov rdx, qword [0x180118688]
test rdx, rdx
je 0x1800a46e1
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rcx, qword [0x180118680]
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1800a4700
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
call r8
mov qword [0x180118688], rax
jmp 0x1800a4707
mov qword [0x180118688], r15
add rbx, 0x18
lea rax, [rbx - 8]
cmp rax, rsi
jne 0x1800a4540
lea rcx, [rsp + 0x60]
call fcn.18006e8d0
cvttss2si ebx, dword [0x18011a3b4]
mov dword [0x180118670], ebx
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
xorps xmm10, xmm10
subss xmm0, xmm10
addss xmm0, xmm10
mulss xmm0, dword [0x180103c08]
mulss xmm0, dword [0x180103e88]
addss xmm0, dword [0x180103cc4]
cvttss2si eax, xmm0
cmp eax, ebx
jg 0x1800a4cda
cmp qword [0x180118688], 0
je 0x1800a4d07
mov rcx, qword [0x18011ef38]
add rcx, 0x10
lea rdx, [rsp + 0x20]
call fcn.180069740
lea rdx, [rsp + 0x48]
lea rcx, vtable.EntityPlayer.0
call fcn.180069740
movss xmm14, dword [rsp + 0x50]
movaps xmm1, xmm14
subss xmm1, xmm7
movss xmm0, dword [rsp + 0x4c]
subss xmm0, xmm8
movss xmm13, dword [rsp + 0x48]
movaps xmm2, xmm13
subss xmm2, xmm9
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800a47fb
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x1800a4806
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
xorps xmm9, xmm9
cvtss2sd xmm9, xmm6
movss xmm1, dword [rdi + 0x20]
cvtps2pd xmm2, xmm1
addsd xmm2, qword [0x180103d38]
comisd xmm9, xmm2
ja 0x1800a4d07
movss xmm8, dword [0x180103e1c]
comiss xmm8, xmm6
jae 0x1800a4d07
cmp byte [rdi + 0x2b], 0
je 0x1800a4851
movaps xmm0, xmm8
call fcn.18009a7a0
movss dword [rdi + 0x20], xmm0
movss xmm11, dword [rsp + 0x28]
movaps xmm1, xmm11
subss xmm1, xmm14
movss xmm12, dword [rsp + 0x20]
movaps xmm0, xmm12
subss xmm0, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
movss xmm7, dword [rdi + 0x20]
subss xmm7, xmm8
comiss xmm6, xmm8
jbe 0x1800a48c1
movsd xmm5, qword [0x180103dc0]
movsd xmm4, qword [0x180103cd8]
movss xmm3, dword [0x180103fac]
nop
xorps xmm2, xmm2
cvtss2sd xmm2, xmm7
movaps xmm1, xmm2
addsd xmm1, xmm5
comisd xmm1, xmm9
jbe 0x1800a48c1
comisd xmm2, xmm4
jbe 0x1800a48c1
addss xmm7, xmm3
jmp 0x1800a48a0
comiss xmm7, xmm0
jbe 0x1800a48ca
subss xmm7, xmm0
movaps xmm9, xmm13
subss xmm9, xmm12
movaps xmm6, xmm14
subss xmm6, xmm11
movaps xmm0, xmm9
divss xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm8, xmm0
xorps xmm8, xmmword [0x1801044e0]
movss xmm11, dword [0x180103f34]
mulss xmm8, xmm11
movss xmm12, dword [0x180103e20]
divss xmm8, xmm12
comiss xmm10, xmm6
jbe 0x1800a496d
comiss xmm10, xmm9
jbe 0x1800a4943
divss xmm6, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm8, xmm0
mulss xmm8, xmm11
divss xmm8, xmm12
addss xmm8, dword [0x180103ef8]
jmp 0x1800a496d
comiss xmm9, xmm10
jbe 0x1800a496d
divss xmm6, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
movaps xmm8, xmm0
mulss xmm8, xmm11
divss xmm8, xmm12
subss xmm8, dword [0x180103ef8]
addss xmm8, dword [0x180103ef8]
mulss xmm8, xmm12
divss xmm8, xmm11
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm6, xmm7
subss xmm13, xmm6
mulss xmm0, xmm7
subss xmm14, xmm0
lea rdx, [rsp + 0x48]
lea rcx, vtable.EntityPlayer.0
call fcn.18006a6e0
mov rbx, rax
mov r9, qword [rax]
mov qword [0x18011a780], r9
mov rdx, qword [0x18011a788]
test rdx, rdx
je 0x1800a49e8
mov rcx, qword [r9]
mov r8, qword [rcx + 0xb0]
mov rcx, r9
call r8
mov r9, qword [0x18011a780]
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1800a4a0a
mov rax, qword [r9]
mov r8, qword [rax + 0xa8]
mov rcx, r9
call r8
mov qword [0x18011a788], rax
jmp 0x1800a4a11
mov qword [0x18011a788], r15
cmp qword [0x18011ab38], 0
je 0x1800a4a38
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x1800a4a38
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
lea rdx, [rsp + 0x48]
lea rcx, vtable.EntityPlayer.0
call fcn.18006a6e0
mov rbx, rax
mov r9, qword [rax]
mov qword [0x18011a750], r9
mov rdx, qword [0x18011a758]
test rdx, rdx
je 0x1800a4a79
mov rcx, qword [r9]
mov r8, qword [rcx + 0xb0]
mov rcx, r9
call r8
mov r9, qword [0x18011a750]
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1800a4a9b
mov rax, qword [r9]
mov r8, qword [rax + 0xa8]
mov rcx, r9
call r8
mov qword [0x18011a758], rax
jmp 0x1800a4aa2
mov qword [0x18011a758], r15
mov rax, qword [0x18011ab38]
test rax, rax
je 0x1800a4ad1
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x1800a4ad1
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rax, qword [0x18011ab38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], rax
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm10
addss xmm0, xmm10
movss xmm6, dword [0x180103c08]
mulss xmm0, xmm6
mulss xmm0, dword [0x180103f74]
addss xmm0, dword [0x180103f7c]
cvttss2si ebx, xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [0x18011aad0]
movsxd rdx, ebx
cmp rax, rdx
ja 0x1800a4bb4
cmp byte [rdi + 0x2b], 0
je 0x1800a4bb4
lea rcx, [0x18011a750]
call fcn.18006b5c0
movaps xmm1, xmm0
call fcn.18006baa0
lea rcx, [0x18011a780]
call fcn.18006b690
movaps xmm1, xmm0
call fcn.18006bb70
lea rcx, [0x18011a750]
call fcn.18006b760
movaps xmm1, xmm0
call fcn.18006bc40
lea rcx, [0x18011a750]
call fcn.18006b830
movaps xmm1, xmm0
call fcn.18006bd10
call fcn.18006b900
movaps xmm1, xmm0
call fcn.18006bde0
lea rcx, [0x18011a750]
call fcn.18006b9d0
movaps xmm1, xmm0
call fcn.18006beb0
jmp 0x1800a4cd8
cvttss2si ebx, dword [0x18011a3b4]
mov dword [0x180118670], ebx
lea rcx, [0x18011b480]
call fcn.18008fc60
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm10
addss xmm0, xmm10
mulss xmm0, xmm6
mulss xmm0, dword [0x180103e88]
addss xmm0, dword [0x180103cc4]
cvttss2si eax, xmm0
cmp eax, ebx
jg 0x1800a4c5a
movaps xmm1, xmm13
movss xmm6, dword [0x180103c68]
subss xmm1, xmm6
call fcn.18006baa0
lea rcx, [0x18011a780]
call fcn.18006b690
movaps xmm1, xmm0
call fcn.18006bb70
movaps xmm1, xmm14
subss xmm1, xmm6
call fcn.18006bc40
addss xmm13, xmm6
movaps xmm1, xmm13
call fcn.18006bd10
call fcn.18006b900
movaps xmm1, xmm0
call fcn.18006bde0
addss xmm14, xmm6
movaps xmm1, xmm14
jmp 0x1800a4cc6
lea rcx, [0x18011a750]
call fcn.18006b5c0
movaps xmm1, xmm0
call fcn.18006baa0
lea rcx, [0x18011a780]
call fcn.18006b690
movaps xmm1, xmm0
call fcn.18006bb70
lea rcx, [0x18011a750]
call fcn.18006b760
movaps xmm1, xmm0
call fcn.18006bc40
lea rcx, [0x18011a750]
call fcn.18006b830
movaps xmm1, xmm0
call fcn.18006bd10
call fcn.18006b900
movaps xmm1, xmm0
call fcn.18006bde0
lea rcx, [0x18011a750]
call fcn.18006b9d0
movaps xmm1, xmm0
call fcn.18006beb0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x18011aad0], rax
jmp 0x1800a4d07
cmp qword [0x18011ab38], 0
je 0x1800a4d07
mov rdx, qword [0x180118688]
test rdx, rdx
je 0x1800a4d07
mov rcx, qword [0x180118680]
mov rax, qword [rcx]
call qword [rax + 0xb0]
mov qword [0x180118688], r15
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1800aed10
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
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]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop rbp
ret