Function at 0x14010841e
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x14016bf00
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x750
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x13c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x778]
mov rax, qword [0x140441900]
xor rax, rbp
mov qword [rbp + 0x728], rax
lea rcx, [0x14046963d]
call fcn.14010bbb9
movzx eax, byte [0x1403b319b]
test eax, eax
je 0x14016bf5a
jmp 0x14016c33c
movzx eax, byte [0x14044395e]
test eax, eax
jne 0x14016bf6a
jmp 0x14016c33c
mov rax, qword [rbp + 0x750]
add rax, 0xb0
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.140107997
lea rdx, [rbp + 8]
lea rcx, [0x140443828]
call fcn.140109a21
movzx eax, al
test eax, eax
je 0x14016bfb1
mov byte [0x140443966], 0
lea rdx, [rbp + 8]
lea rcx, [0x140443828]
call fcn.14010ae35
mov edx, 0x20
lea rcx, [rbp + 0x48]
call fcn.140107613
lea rcx, [rbp + 0x344]
call fcn.140107e1a
mov qword [rbp + 0x708], rax
lea rdx, str.smokegrenade
lea rcx, [rbp + 0x520]
call fcn.140109251
lea rdx, str.flashbang
lea rcx, [rbp + 0x548]
call fcn.140109251
lea rdx, str.hegrenade
lea rcx, [rbp + 0x570]
call fcn.140109251
lea rdx, str.molotov
lea rcx, [rbp + 0x598]
call fcn.140109251
lea rdx, str.decoy
lea rcx, [rbp + 0x5c0]
call fcn.140109251
lea rdx, str.incgrenade
lea rcx, [rbp + 0x5e8]
call fcn.140109251
lea rdx, [0x140331ddc]
lea rcx, [rbp + 0x610]
call fcn.140109251
lea rdx, str.ssg08
lea rcx, [rbp + 0x638]
call fcn.140109251
lea rdx, [0x140331db8]
lea rcx, [rbp + 0x660]
call fcn.140109251
lea rdx, str.sg556
lea rcx, [rbp + 0x688]
call fcn.140109251
lea rdx, str.knife
lea rcx, [rbp + 0x6b0]
call fcn.140109251
lea rdx, [0x140331e24]
lea rcx, [rbp + 0x6d8]
call fcn.140109251
lea rax, [rbp + 0x700]
mov r8, rax
lea rdx, [rbp + 0x520]
lea rcx, [rbp + 0x368]
call fcn.14010b8ad
lea rcx, [rbp + 0x398]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x4f0]
lea rcx, [rbp + 0x398]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov r8, qword [rbp + 0x708]
lea rdx, [rbp + 0x4f0]
lea rcx, [rbp + 0x48]
call fcn.14010a7d2
lea r9, [fcn.140107d57]
mov r8d, 0xc
mov edx, 0x28
lea rcx, [rbp + 0x520]
call fcn.140108234
lea rax, [rbp + 0x3e8]
mov qword [rbp + 0x418], rax
mov rdx, qword [rbp + 0x418]
lea rcx, [rbp + 0x48]
call fcn.14010a2aa
mov qword [rbp + 0x708], rax
lea rax, [rbp + 0x438]
mov qword [rbp + 0x468], rax
mov rdx, qword [rbp + 0x468]
lea rcx, [rbp + 0x48]
call fcn.1401082d4
mov qword [rbp + 0x710], rax
lea r9, [rbp + 8]
mov r8, qword [rbp + 0x708]
mov rdx, qword [rbp + 0x710]
lea rcx, [rbp + 0x488]
call fcn.14010b763
mov qword [rbp + 0x718], rax
lea rdx, [rbp + 0x4b8]
lea rcx, [rbp + 0x48]
call fcn.14010a2aa
mov qword [rbp + 0x720], rax
mov rdx, qword [rbp + 0x720]
mov rcx, qword [rbp + 0x718]
call fcn.14010b83f
mov byte [rbp + 0x3c4], al
lea rcx, [rbp + 0x4b8]
call fcn.140107569
lea rcx, [rbp + 0x488]
call fcn.140107569
movzx eax, byte [rbp + 0x3c4]
test eax, eax
je 0x14016c210
lea rcx, [rbp + 0x48]
call fcn.14010b894
lea rcx, [rbp + 8]
call fcn.140107d57
jmp 0x14016c33c
mov eax, dword [0x1403b3374]
mov rcx, qword [rbp + 0x750]
add rax, qword [rcx + 0x50]
lea r8, [rbp + 0x88]
mov rdx, rax
lea rcx, [0x140442640]
call fcn.14010b69b
mov eax, dword [0x1403b3420]
mov rcx, qword [rbp + 0x88]
add rcx, rax
mov rax, rcx
lea r8, [rbp + 0xa4]
mov rdx, rax
lea rcx, [0x140442640]
call fcn.140109e13
movzx eax, byte [rbp + 0xa4]
test eax, eax
je 0x14016c272
mov byte [0x140443966], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp + 0xc4], eax
movzx eax, byte [0x1403b31ad]
test eax, eax
jne 0x14016c2ef
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14016c2ef
mov eax, dword [0x140443674]
mov ecx, dword [rbp + 0xc4]
sub ecx, eax
mov eax, ecx
cmp eax, 0x1f4
jb 0x14016c2ef
movzx eax, byte [0x140443966]
test eax, eax
jne 0x14016c2cc
mov dword [rbp + 0x704], 1
jmp 0x14016c2d6
mov dword [rbp + 0x704], 0
movzx eax, byte [rbp + 0x704]
mov byte [0x140443966], al
mov eax, dword [rbp + 0xc4]
mov dword [0x140443674], eax
movzx eax, byte [0x140443966]
test eax, eax
je 0x14016c32a
mov dword [rbp + 0xe4], 0x2d
mov eax, dword [0x1403b33c4]
mov rcx, qword [rbp + 0x750]
add rax, qword [rcx]
lea r8, [rbp + 0xe4]
mov rdx, rax
lea rcx, [0x140442640]
call fcn.1401071db
lea rcx, [rbp + 0x48]
call fcn.14010b894
lea rcx, [rbp + 8]
call fcn.140107d57
lea rcx, [rbp - 0x20]
lea rdx, [0x140335500]
call fcn.14010af02
nop
mov rcx, qword [rbp + 0x728]
xor rcx, rbp
call fcn.14010946d
lea rsp, [rbp + 0x730]
pop rdi
pop rsi
pop rbp
ret