Function at 0x180071950
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
xor ebx, ebx
cmp byte [0x180286d13], bl
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
lea edi, [rbx + 1]
movaps xmmword [rax - 0x68], xmm9
je 0x180071995
mov ecx, dword [0x180286e34]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
cmovne ebx, edi
cmp byte [0x180286dfb], 0
je 0x1800719b1
mov ecx, dword [0x180286e28]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800719b1
inc ebx
cmp byte [0x180286d11], 0
je 0x1800719cd
mov ecx, dword [0x180286e18]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800719cd
inc ebx
cmp byte [0x180286d62], 0
je 0x1800719e9
mov ecx, dword [0x180286e14]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800719e9
inc ebx
cmp byte [0x180286de2], 0
je 0x180071a05
mov ecx, dword [0x180286e3c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180071a05
inc ebx
cmp byte [0x180286e01], 0
je 0x180071a21
mov ecx, dword [0x180286e10]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180071a21
inc ebx
cmp byte [0x180286dcc], 0
je 0x180071a3d
mov ecx, dword [0x180286e1c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180071a3d
inc ebx
lea eax, [rbx + 1]
movabs r14, 0xae556ff668a21f06
imul ecx, eax, 0x19
movabs rsi, 0xd8adb53fba395e01
mov rax, qword [0x180286e98]
xor edx, edx
mov r8d, 0x1fb
or dword [rax + 0x3fa8], 2
mov dword [rax + 0x3fc8], 0x42fa0000
mov dword [rax + 0x3fb0], edi
movd xmm0, ecx
lea rcx, [rbp - 0x50]
cvtdq2ps xmm0, xmm0
movss dword [rax + 0x3fcc], xmm0
movabs rax, 0xabc9db56d8403b6a
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x70], rsi
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x68], rax
movdqa xmm0, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
call fcn.1800ace30
mov rcx, qword [0x180286e98]
movaps xmm0, xmmword [0x180175600]
movups xmmword [rbp - 0x70], xmm0
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], dil
mov rax, qword [rcx + 0x3ea0]
lea rcx, [rbp - 0x70]
movss xmm9, dword [rax + 0x18]
movss xmm8, dword [rax + 0x1c]
movaps xmm6, xmm9
addss xmm6, dword [0x180175244]
mov rbx, qword [rax + 0x298]
movaps xmm0, xmm8
addss xmm0, dword [0x180175184]
movss dword [rbp + 0x60], xmm9
movss dword [rbp + 0x64], xmm8
movss dword [rbp + 0x68], xmm6
movss dword [rbp + 0x6c], xmm0
call fcn.1800a2ed0
xorps xmm7, xmm7
mov dword [rsp + 0x28], 0
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea rdx, [rbp + 0x60]
mov rcx, rbx
lea r8, [rbp + 0x68]
call fcn.1800bcc90
movaps xmm0, xmmword [0x180175680]
lea rcx, [rbp - 0x70]
movaps xmm1, xmm8
movss dword [rbp + 0x70], xmm6
addss xmm1, dword [0x1801750d0]
movups xmmword [rbp - 0x70], xmm0
movss dword [rbp + 0x74], xmm1
call fcn.1800a2ed0
mov r9d, eax
mov dword [rsp + 0x28], 0
lea rdx, [rbp + 0x60]
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x70]
mov rcx, rbx
call fcn.1800bcc90
movabs rdi, 0xabc9db56d8403b4a
mov qword [rbp + 0x68], rdi
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x68], r14
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x68], rsi
mov rax, qword [rbp + 0x68]
lea rdx, [rbp + 0x78]
movss xmm6, dword [0x180175160]
mov qword [rbp - 0x20], rax
movaps xmm2, xmm6
mov qword [rsp + 0x30], 0
mov qword [rbp + 0x68], r14
mov rax, qword [rbp + 0x68]
mov rcx, qword [0x180286e88]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x40]
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp - 0x40]
mov qword [rsp + 0x28], rax
movdqa xmmword [rbp - 0x40], xmm0
movss dword [rsp + 0x20], xmm7
call fcn.1800bfba0
mov qword [rbp + 0x68], rdi
lea rcx, [rsp + 0x50]
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x68], r14
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x68], rsi
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x50], rax
mov qword [rbp + 0x68], r14
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x58], rax
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm0, xmmword [0x180175a60]
movups xmmword [rsp + 0x50], xmm0
call fcn.1800a2ed0
movss xmm0, dword [rbp + 0x78]
movaps xmm1, xmm9
mulss xmm0, dword [0x180174c84]
mov r8d, eax
mov rcx, qword [0x180286e88]
addss xmm1, dword [0x1801751ec]
subss xmm1, xmm0
movss xmm0, dword [rbp + 0x7c]
mulss xmm0, dword [0x180174c84]
movss dword [rbp - 0x60], xmm1
movaps xmm1, xmm8
addss xmm1, dword [0x18017515c]
subss xmm1, xmm0
movss dword [rbp - 0x5c], xmm1
test eax, 0xff000000
je 0x180071d60
lea rdx, [rbp - 0x80]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180071cf7
lea rdx, [rbp - 0x80]
add rdx, rax
lea rax, [rbp - 0x80]
cmp rax, rdx
je 0x180071d60
test rcx, rcx
jne 0x180071d1d
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [rbx + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rbp - 0x80]
movss dword [rsp + 0x40], xmm7
lea r9, [rbp - 0x60]
mov qword [rsp + 0x38], rdx
movaps xmm2, xmm6
mov qword [rsp + 0x30], rax
mov rdx, rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
movups xmmword [rsp + 0x50], xmm0
call fcn.1800bfdd0
mov rdx, qword [0x1802a82b8]
lea rax, str.Manipulator
cmp rdx, qword [0x1802a82c0]
movsd xmm6, qword [rbp + 0x60]
mov qword [rsp + 0x60], rax
mov eax, dword [0x180286e34]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rbx
movsd qword [rsp + 0x58], xmm6
je 0x180071dbb
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802a82b8]
add rdx, 0x20
mov qword [0x1802a82b8], rdx
jmp 0x180071dcc
lea r8, [rsp + 0x50]
call fcn.18009e910
mov rdx, qword [0x1802a82b8]
cmp rdx, qword [0x1802a82c0]
lea rax, str.Long_Neck
mov qword [rsp + 0x60], rax
mov eax, dword [0x180286e28]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rbx
movsd qword [rsp + 0x58], xmm6
je 0x180071e1b
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802a82b8]
add rdx, 0x20
mov qword [0x1802a82b8], rdx
jmp 0x180071e2c
lea r8, [rsp + 0x50]
call fcn.18009e910
mov rdx, qword [0x1802a82b8]
cmp rdx, qword [0x1802a82c0]
lea rax, str.Zoom
mov qword [rsp + 0x60], rax
mov eax, dword [0x180286e14]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rbx
movsd qword [rsp + 0x58], xmm6
je 0x180071e7b
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802a82b8]
add rdx, 0x20
mov qword [0x1802a82b8], rdx
jmp 0x180071e8c
lea r8, [rsp + 0x50]
call fcn.18009e910
mov rdx, qword [0x1802a82b8]
cmp rdx, qword [0x1802a82c0]
lea rax, str.Debug
mov qword [rsp + 0x60], rax
mov eax, dword [0x180286e3c]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rbx
movsd qword [rsp + 0x58], xmm6
je 0x180071edb
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802a82b8]
add rdx, 0x20
mov qword [0x1802a82b8], rdx
jmp 0x180071eec
lea r8, [rsp + 0x50]
call fcn.18009e910
mov rdx, qword [0x1802a82b8]
cmp rdx, qword [0x1802a82c0]
lea rax, str.Speed_Hack
mov qword [rsp + 0x60], rax
mov eax, dword [0x180286e10]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rbx
movsd qword [rsp + 0x58], xmm6
je 0x180071f3b
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802a82b8]
add rdx, 0x20
mov qword [0x1802a82b8], rdx
jmp 0x180071f4c
lea r8, [rsp + 0x50]
call fcn.18009e910
mov rdx, qword [0x1802a82b8]
cmp rdx, qword [0x1802a82c0]
lea rax, str.Fake_Shoots
mov qword [rsp + 0x60], rax
mov eax, dword [0x180286e1c]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rbx
movsd qword [rsp + 0x58], xmm6
je 0x180071f91
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
add qword [0x1802a82b8], 0x20
jmp 0x180071f9b
lea r8, [rsp + 0x50]
call fcn.18009e910
call fcn.1800af200
movss xmm0, dword [0x180174b40]
lea rax, [0x180285070]
addss xmm9, dword [0x18017512c]
movd xmm1, dword [0x180285f04]
lea r9, [rbp - 0x30]
movd xmm5, dword [0x180285ef8]
mov rcx, rbx
movd xmm3, dword [0x180285efc]
movd xmm2, dword [0x180285f00]
addss xmm8, dword [0x180174db4]
movss xmm4, dword [0x180175180]
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x28], rax
cvtdq2ps xmm5, xmm5
mulss xmm1, xmm0
mulss xmm5, xmm0
movss dword [rbp - 0x24], xmm1
movss xmm1, dword [0x180175228]
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm3, xmm0
mulss xmm2, xmm0
movaps xmm0, xmm7
unpcklps xmm1, xmm4
unpcklps xmm9, xmm8
movq r8, xmm1
unpcklps xmm0, xmm7
movq rdx, xmm9
movss dword [rbp - 0x30], xmm5
movss dword [rbp - 0x2c], xmm3
movss dword [rbp - 0x28], xmm2
movsd qword [rsp + 0x20], xmm0
call fcn.1800229d0
lea r11, [rsp + 0x130]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret