Function at 0x18004e7b0
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 [0x1803a05e1], 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 0x18004e81d
mov ecx, dword [0x1803a074c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
cmovne ebx, edi
cmp byte [0x1803a05e8], 0
je 0x18004e839
mov ecx, dword [0x1803a0738]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e839
inc ebx
cmp byte [0x1803a06ff], 0
je 0x18004e855
mov ecx, dword [0x1803a0744]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e855
inc ebx
cmp byte [0x1803a05de], 0
je 0x18004e871
mov ecx, dword [0x1803a0728]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e871
inc ebx
cmp byte [0x1803a0649], 0
je 0x18004e88d
mov ecx, dword [0x1803a0730]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e88d
inc ebx
cmp byte [0x1803a06dd], 0
je 0x18004e8a9
mov ecx, dword [0x1803a0754]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e8a9
inc ebx
cmp byte [0x1803a0707], 0
je 0x18004e8c5
mov ecx, dword [0x1803a0724]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e8c5
inc ebx
cmp byte [0x1803a06c3], 0
je 0x18004e8e1
mov ecx, dword [0x1803a0734]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e8e1
inc ebx
cmp dword [0x1803a06d8], 0
je 0x18004e8fd
mov ecx, dword [0x1803a0740]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004e8fd
inc ebx
movabs r14, 0x3a4cad0a434b3806
imul ebx, ebx, 0x19
movabs rsi, 0x2db5214b235f7359
lea rcx, [rbp - 0x30]
xor edx, edx
mov r8d, 0x1fb
lea eax, [rbx + 0x19]
movd xmm0, eax
mov rax, qword [0x1803a0850]
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, 0x5ed14f2241261632
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]
pxor xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
call fcn.180075c30
mov rcx, qword [0x1803a0850]
movaps xmm0, xmmword [0x1801b6b60]
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 [0x1801b651c]
movaps xmm7, xmm13
movss dword [rbp + 0xd0], xmm12
addss xmm7, dword [0x1801b6468]
movaps xmm8, xmm9
movss dword [rbp + 0xd4], xmm13
addss xmm8, dword [0x1801b6468]
movss dword [rbp + 0xd8], xmm10
movss dword [rbp + 0xdc], xmm8
call fcn.18006be60
movss xmm11, dword [0x1801b642c]
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.1800854a0
movaps xmm0, xmmword [0x1801b6bd0]
lea rcx, [rbp - 0x80]
movups xmmword [rbp - 0x80], xmm0
movss dword [rbp + 0xe0], xmm10
movss dword [rbp + 0xe4], xmm7
call fcn.18006be60
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.1800854a0
movaps xmm0, xmmword [0x1801b6bb0]
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 [0x1801b6464]
movss dword [rbp - 0x5c], xmm6
call fcn.18006be60
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.1800854a0
movaps xmm0, xmmword [0x1801b6d30]
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.18006be60
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.1800854a0
movaps xmm0, xmmword [0x1801b6d30]
lea rcx, [rbp - 0x80]
addss xmm9, dword [0x1801b646c]
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.18006be60
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.1800854a0
movss xmm6, dword [0x1801b6438]
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x30], 0
movabs rbx, 0x5ed14f2241261612
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 [0x1803a07c8]
mov qword [rbp + 8], rax
lea rax, [rbp - 0x20]
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rbp - 0x20]
mov qword [rsp + 0x28], rax
movdqa xmmword [rbp - 0x20], xmm0
movss dword [rsp + 0x20], xmm14
call fcn.180088700
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]
pxor xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm0, xmmword [0x1801b6e60]
movups xmmword [rsp + 0x50], xmm0
call fcn.18006be60
movss xmm0, dword [rbp - 0xc]
addss xmm12, xmm11
mulss xmm0, dword [0x1801b5f2c]
mov r8d, eax
mov rcx, qword [0x1803a07c8]
addss xmm13, dword [0x1801b6434]
movss dword [rbp - 0x38], xmm12
subss xmm13, xmm0
movss dword [rbp - 0x34], xmm13
test eax, 0xff000000
je 0x18004ed7f
lea rdx, [rbp - 0x70]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x18004ed15
lea rdx, [rbp - 0x70]
add rdx, rax
lea rax, [rbp - 0x70]
cmp rax, rdx
je 0x18004ed7f
test rcx, rcx
jne 0x18004ed3b
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.180088930
mov rdx, qword [0x1803c1bd0]
lea rax, str.Manipulator
cmp rdx, qword [0x1803c1bd8]
movsd xmm6, qword [rbp + 0xd0]
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a074c]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004eddd
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004edee
lea r8, [rsp + 0x50]
call fcn.180066330
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
lea rax, str.Long_Neck
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a0744]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004ee3d
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004ee4e
lea r8, [rsp + 0x50]
call fcn.180066330
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
lea rax, str.Desync
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a0728]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004ee9d
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004eeae
lea r8, [rsp + 0x50]
call fcn.180066330
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
lea rax, str.Zoom
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a0730]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004eefd
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004ef0e
lea r8, [rsp + 0x50]
call fcn.180066330
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
lea rax, str.Debug
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a0754]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004ef5d
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004ef6e
lea r8, [rsp + 0x50]
call fcn.180066330
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
lea rax, str.Time_Scale
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a0724]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004efbd
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004efce
lea r8, [rsp + 0x50]
call fcn.180066330
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
lea rax, str.Fake_Shoots
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a0734]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004f01d
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004f02e
lea r8, [rsp + 0x50]
call fcn.180066330
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
lea rax, str.ModelState
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803a0740]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x50], rdi
movsd qword [rsp + 0x58], xmm6
je 0x18004f07d
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1803c1bd0]
add rdx, 0x20
mov qword [0x1803c1bd0], rdx
jmp 0x18004f094
lea r8, [rsp + 0x50]
call fcn.180066330
mov eax, dword [0x1803a0740]
mov rdx, qword [0x1803c1bd0]
cmp rdx, qword [0x1803c1bd8]
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 0x18004f0d3
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x10], xmm1
add qword [0x1803c1bd0], 0x20
jmp 0x18004f0dd
lea r8, [rsp + 0x50]
call fcn.180066330
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.180078020