Function at 0x180050f00
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rax - 0xc8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x38], xmm6
xor ebx, ebx
cmp byte [0x1803a352a], bl
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
lea edi, [rbx + 1]
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
je 0x180050f6d
mov ecx, dword [0x1803a3690]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
cmovne ebx, edi
cmp byte [0x1803a3530], 0
je 0x180050f89
mov ecx, dword [0x1803a367c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180050f89
inc ebx
cmp byte [0x1803a3646], 0
je 0x180050fa5
mov ecx, dword [0x1803a3688]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180050fa5
inc ebx
cmp byte [0x1803a3527], 0
je 0x180050fc1
mov ecx, dword [0x1803a366c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180050fc1
inc ebx
cmp byte [0x1803a359b], 0
je 0x180050fdd
mov ecx, dword [0x1803a3674]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180050fdd
inc ebx
cmp byte [0x1803a3628], 0
je 0x180050ff9
mov ecx, dword [0x1803a369c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180050ff9
inc ebx
cmp byte [0x1803a364e], 0
je 0x180051015
mov ecx, dword [0x1803a3668]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180051015
inc ebx
cmp byte [0x1803a360d], 0
je 0x180051031
mov ecx, dword [0x1803a3678]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180051031
inc ebx
cmp dword [0x1803a3624], 0
je 0x18005104d
mov ecx, dword [0x1803a3684]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18005104d
inc ebx
movabs r14, 0x92131bbc72f20a72
imul ebx, ebx, 0x19
movabs rsi, 0x2a5ed14d13ce8a05
lea rcx, [rbp - 0x30]
xor edx, edx
mov r8d, 0x1fb
lea eax, [rbx + 0x19]
movd xmm0, eax
mov rax, qword [0x1803a3798]
cvtdq2ps xmm0, xmm0
or dword [rax + 0x3fb0], 2
mov dword [rax + 0x3fd0], 0x43200000
mov dword [rax + 0x3fb8], edi
movss dword [rax + 0x3fd4], xmm0
movabs rax, 0x593abf2471b7ef6e
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x70], rsi
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x78], rax
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
call fcn.180075b90
mov rcx, qword [0x1803a3798]
movaps xmm0, xmmword [0x1801b9aa0]
movd xmm9, ebx
cvtdq2ps xmm9, xmm9
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], dil
mov rax, qword [rcx + 0x3ea0]
lea rcx, [rbp - 0x80]
movups xmmword [rbp - 0x80], xmm0
movss xmm13, dword [rax + 0x1c]
movss xmm12, dword [rax + 0x18]
addss xmm9, xmm13
mov rdi, qword [rax + 0x290]
movaps xmm10, xmm12
addss xmm10, dword [0x1801b9588]
movaps xmm7, xmm13
movss dword [rbp + 0xd0], xmm12
addss xmm7, dword [0x1801b94d4]
movaps xmm8, xmm9
movss dword [rbp + 0xd4], xmm13
addss xmm8, dword [0x1801b94d4]
movss dword [rbp + 0xd8], xmm10
movss dword [rbp + 0xdc], xmm8
call fcn.18006bd90
movss xmm11, dword [0x1801b9498]
lea rdx, [rbp + 0xd0]
mov r9d, eax
mov dword [rsp + 0x28], 0xf0
lea r8, [rbp + 0xd8]
movss dword [rsp + 0x20], xmm11
mov rcx, rdi
call fcn.180085760
movaps xmm0, xmmword [0x1801b9b00]
lea rcx, [rbp - 0x80]
movups xmmword [rbp - 0x80], xmm0
movss dword [rbp + 0xe0], xmm10
movss dword [rbp + 0xe4], xmm7
call fcn.18006bd90
mov r9d, eax
mov dword [rsp + 0x28], 0x30
lea rdx, [rbp + 0xd0]
movss dword [rsp + 0x20], xmm11
lea r8, [rbp + 0xe0]
mov rcx, rdi
call fcn.180085760
movaps xmm0, xmmword [0x1801b9af0]
movups xmmword [rbp - 0x80], xmm0
movss dword [rbp + 0xe8], xmm10
movss dword [rbp + 0xec], xmm8
movss dword [rbp - 0x60], xmm12
movaps xmm6, xmm13
lea rcx, [rbp - 0x80]
addss xmm6, dword [0x1801b94d0]
movss dword [rbp - 0x5c], xmm6
call fcn.18006bd90
xorps xmm14, xmm14
mov dword [rsp + 0x28], 0
mov r9d, eax
movss dword [rsp + 0x20], xmm14
lea rdx, [rbp - 0x60]
mov rcx, rdi
lea r8, [rbp + 0xe8]
call fcn.180085760
movaps xmm0, xmmword [0x1801b9bf0]
lea rcx, [rbp - 0x80]
movups xmmword [rbp - 0x80], xmm0
movss dword [rbp - 0x58], xmm10
movss dword [rbp - 0x54], xmm7
movss dword [rbp - 0x50], xmm12
movss dword [rbp - 0x4c], xmm6
call fcn.18006bd90
mov r9d, eax
mov dword [rsp + 0x28], 0x30
lea rdx, [rbp - 0x50]
movss dword [rsp + 0x20], xmm14
lea r8, [rbp - 0x58]
mov rcx, rdi
call fcn.180085760
movaps xmm0, xmmword [0x1801b9bf0]
lea rcx, [rbp - 0x80]
addss xmm9, dword [0x1801b94d8]
movss dword [rbp - 0x48], xmm10
movss dword [rbp - 0x40], xmm12
movss dword [rbp - 0x3c], xmm8
movups xmmword [rbp - 0x80], xmm0
movss dword [rbp - 0x44], xmm9
call fcn.18006bd90
mov r9d, eax
mov dword [rsp + 0x28], 0xc0
lea rdx, [rbp - 0x40]
movss dword [rsp + 0x20], xmm14
lea r8, [rbp - 0x48]
mov rcx, rdi
call fcn.180085760
movss xmm6, dword [0x1801b94a4]
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x30], 0
movabs rbx, 0x593abf2471b7ef4e
mov qword [rbp + 0xd8], rbx
movaps xmm2, xmm6
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0xd8], r14
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x18], rax
mov qword [rbp + 0xd8], rsi
mov rax, qword [rbp + 0xd8]
mov qword [rbp], rax
mov qword [rbp + 0xd8], r14
mov rax, qword [rbp + 0xd8]
mov rcx, qword [0x1803a3710]
mov qword [rbp + 8], rax
lea rax, [rbp - 0x20]
movdqa xmm0, xmmword [rbp]
xorps xmm0, xmmword [rbp - 0x20]
mov qword [rsp + 0x28], rax
movdqa xmmword [rbp - 0x20], xmm0
movss dword [rsp + 0x20], xmm14
call fcn.1800889c0
mov qword [rbp + 0xd8], rbx
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0xd8], r14
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x68], rax
mov qword [rbp + 0xd8], rsi
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0xd8], r14
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x58], rax
movdqa xmm0, xmmword [rsp + 0x50]
lea rcx, [rsp + 0x50]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm0, xmmword [0x1801b9ce0]
movups xmmword [rsp + 0x50], xmm0
call fcn.18006bd90
movss xmm0, dword [rbp - 0xc]
addss xmm12, xmm11
mulss xmm0, dword [0x1801b8f9c]
mov r8d, eax
mov rcx, qword [0x1803a3710]
addss xmm13, dword [0x1801b94a0]
movss dword [rbp - 0x38], xmm12
subss xmm13, xmm0
movss dword [rbp - 0x34], xmm13
test eax, 0xff000000
je 0x1800514cc
lea rdx, [rbp - 0x70]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180051462
lea rdx, [rbp - 0x70]
add rdx, rax
lea rax, [rbp - 0x70]
cmp rax, rdx
je 0x1800514cc
test rcx, rcx
jne 0x180051488
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [rdi + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rbp - 0x70]
movss dword [rsp + 0x40], xmm14
lea r9, [rbp - 0x38]
mov qword [rsp + 0x38], rdx
movaps xmm2, xmm6
mov qword [rsp + 0x30], rax
mov rdx, rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
movups xmmword [rsp + 0x50], xmm0
call fcn.180088bf0
mov rdx, qword [0x1803c4b30]
lea rax, str.Manipulator
cmp rdx, qword [0x1803c4b38]
movsd xmm6, qword [rbp + 0xd0]
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a3690]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18005152a
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x18005153b
lea r8, [rsp + 0x50]
call fcn.180066260
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rax, str.Long_Neck
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a3688]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18005158a
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x18005159b
lea r8, [rsp + 0x50]
call fcn.180066260
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rax, str.Desync
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a366c]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x1800515ea
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x1800515fb
lea r8, [rsp + 0x50]
call fcn.180066260
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rax, str.Zoom
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a3674]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18005164a
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x18005165b
lea r8, [rsp + 0x50]
call fcn.180066260
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rax, str.Debug
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a369c]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x1800516aa
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x1800516bb
lea r8, [rsp + 0x50]
call fcn.180066260
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rax, str.Time_Scale
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a3668]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18005170a
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x18005171b
lea r8, [rsp + 0x50]
call fcn.180066260
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rax, str.Fake_Shoots
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a3678]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18005176a
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x18005177b
lea r8, [rsp + 0x50]
call fcn.180066260
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rax, str.ModelState
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a3684]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x1800517ca
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c4b30]
add rdx, 0x20
mov qword [0x1803c4b30], rdx
jmp 0x1800517e1
lea r8, [rsp + 0x50]
call fcn.180066260
mov eax, dword [0x1803a3684]
mov rdx, qword [0x1803c4b30]
cmp rdx, qword [0x1803c4b38]
lea rcx, str.ModelStatekey
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
mov dword [rsp + 0x68], eax
je 0x180051820
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
add qword [0x1803c4b30], 0x20
jmp 0x18005182a
lea r8, [rsp + 0x50]
call fcn.180066260
lea r11, [rsp + 0x1a0]
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 r14
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.180077f60