Function at 0x14006d540
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x40
mov ecx, dword [0x1400cf068]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14006db07
mov ecx, dword [0x1400cf074]
mov qword [rsp + 0x58], rdi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ebx, ebx
lea rdi, str.no_weapon
test al, 1
je 0x14006d5d7
cmp byte [0x1400cf06c], bl
sete al
mov byte [0x1400cf06c], al
cmp al, 1
jne 0x14006d5b3
lea rax, [0x1400aff78]
mov dword [0x1400cf06d], ebx
mov qword [str.NONE], rax
mov word [0x1400cf071], bx
mov dword [0x1400cf0d4], 1
jmp 0x14006d5d7
test al, al
jne 0x14006d5d7
mov dword [0x1400cf06c], ebx
mov word [0x1400cf070], bx
mov byte [0x1400cf072], bl
mov dword [0x1400cf0d4], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf078]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d644
cmp byte [0x1400cf06d], bl
sete al
mov byte [0x1400cf06d], al
cmp al, 1
jne 0x14006d620
lea rax, [0x1400aff80]
mov byte [0x1400cf06c], bl
mov qword [str.NONE], rax
mov dword [0x1400cf06e], ebx
mov dword [0x1400cf0d4], 2
jmp 0x14006d63e
test al, al
jne 0x14006d644
mov dword [0x1400cf06c], ebx
mov word [0x1400cf070], bx
mov dword [0x1400cf0d4], ebx
mov qword [str.NONE], rdi
mov byte [0x1400cf072], bl
mov ecx, dword [0x1400cf07c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d6b2
cmp byte [0x1400cf06e], bl
sete al
mov byte [0x1400cf06e], al
cmp al, 1
jne 0x14006d68e
lea rax, str.Mp5a4
mov word [0x1400cf06c], bx
mov qword [str.NONE], rax
mov dword [0x1400cf06f], ebx
mov dword [0x1400cf0d4], 3
jmp 0x14006d6b2
test al, al
jne 0x14006d6b2
mov dword [0x1400cf06c], ebx
mov word [0x1400cf070], bx
mov byte [0x1400cf072], bl
mov dword [0x1400cf0d4], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf080]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d720
cmp byte [0x1400cf06f], bl
sete al
mov byte [0x1400cf06f], al
cmp al, 1
jne 0x14006d6fc
lea rax, str.Custom_Smg
mov word [0x1400cf06c], bx
mov qword [str.NONE], rax
mov byte [0x1400cf06e], bl
mov dword [0x1400cf0d4], 4
jmp 0x14006d713
test al, al
jne 0x14006d720
mov dword [0x1400cf06c], ebx
mov dword [0x1400cf0d4], ebx
mov qword [str.NONE], rdi
mov byte [0x1400cf072], bl
mov word [0x1400cf070], bx
mov ecx, dword [0x1400cf084]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d788
cmp byte [0x1400cf070], bl
sete al
mov byte [0x1400cf070], al
cmp al, 1
jne 0x14006d764
lea rax, str.Thommy_Smg
mov word [0x1400cf071], bx
mov qword [str.NONE], rax
mov dword [0x1400cf0d4], 5
jmp 0x14006d782
test al, al
jne 0x14006d788
mov word [0x1400cf070], bx
mov byte [0x1400cf072], bl
mov dword [0x1400cf0d4], ebx
mov qword [str.NONE], rdi
mov dword [0x1400cf06c], ebx
mov ecx, dword [0x1400cf088]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d7ef
cmp byte [0x1400cf071], bl
sete al
mov byte [0x1400cf071], al
cmp al, 1
jne 0x14006d7cb
lea rax, str.Semi_Rifle
mov byte [0x1400cf070], bl
mov qword [str.NONE], rax
mov dword [0x1400cf0d4], 6
jmp 0x14006d7e3
test al, al
jne 0x14006d7ef
mov word [0x1400cf070], bx
mov dword [0x1400cf0d4], ebx
mov qword [str.NONE], rdi
mov byte [0x1400cf072], bl
mov dword [0x1400cf06c], ebx
mov ecx, dword [0x1400cf08c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d850
cmp byte [0x1400cf072], bl
sete al
mov byte [0x1400cf072], al
cmp al, 1
jne 0x14006d82c
lea rax, [0x1400a07a0]
mov dword [0x1400cf0d4], 7
mov qword [str.NONE], rax
jmp 0x14006d843
test al, al
jne 0x14006d850
mov byte [0x1400cf072], bl
mov dword [0x1400cf0d4], ebx
mov qword [str.NONE], rdi
mov word [0x1400cf070], bx
mov dword [0x1400cf06c], ebx
mov ecx, dword [0x1400cf0a4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea rdi, str.no_scope
test al, 1
je 0x14006d8b8
cmp byte [0x1400cf0a0], bl
sete al
mov byte [0x1400cf0a0], al
cmp al, 1
jne 0x14006d8a1
lea rax, str.Holo_Sight
mov word [0x1400cf0a1], bx
mov qword [str.NONE], rax
mov byte [0x1400cf0a3], bl
mov dword [0x1400cf0d8], 3
jmp 0x14006d8b8
test al, al
jne 0x14006d8b8
mov dword [0x1400cf0a0], ebx
mov dword [0x1400cf0d8], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf0ac]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d919
cmp byte [0x1400cf0a2], bl
sete al
mov byte [0x1400cf0a2], al
cmp al, 1
jne 0x14006d902
lea rax, [0x1400b1100]
mov word [0x1400cf0a0], bx
mov qword [str.NONE], rax
mov byte [0x1400cf0a3], bl
mov dword [0x1400cf0d8], 1
jmp 0x14006d919
test al, al
jne 0x14006d919
mov dword [0x1400cf0a0], ebx
mov dword [0x1400cf0d8], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf0a8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d97a
cmp byte [0x1400cf0a1], bl
sete al
mov byte [0x1400cf0a1], al
cmp al, 1
jne 0x14006d963
lea rax, str.Simple_Sight
mov byte [0x1400cf0a0], bl
mov qword [str.NONE], rax
mov word [0x1400cf0a2], bx
mov dword [0x1400cf0d8], 4
jmp 0x14006d97a
test al, al
jne 0x14006d97a
mov dword [0x1400cf0a0], ebx
mov dword [0x1400cf0d8], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf0b0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006d9db
cmp byte [0x1400cf0a3], bl
sete al
mov byte [0x1400cf0a3], al
cmp al, 1
jne 0x14006d9c4
lea rax, [0x1400b1104]
mov word [0x1400cf0a0], bx
mov qword [str.NONE], rax
mov byte [0x1400cf0a2], bl
mov dword [0x1400cf0d8], 2
jmp 0x14006d9db
test al, al
jne 0x14006d9db
mov dword [0x1400cf0a0], ebx
mov dword [0x1400cf0d8], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf094]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea rdi, str.no_barrel
test al, 1
je 0x14006da3d
cmp byte [0x1400cf090], bl
sete al
mov byte [0x1400cf090], al
cmp al, 1
jne 0x14006da1f
lea rax, [0x1400b0218]
mov dword [0x1400cf0dc], 1
mov qword [str.P_b_n_], rax
jmp 0x14006da3d
test al, al
jne 0x14006da3d
mov word [0x1400cf090], bx
mov byte [0x1400cf092], bl
mov dword [0x1400cf0dc], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf098]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006da98
cmp byte [0x1400cf091], bl
sete al
mov byte [0x1400cf091], al
cmp al, 1
jne 0x14006da7a
lea rax, str.Muzzle_Boost
mov dword [0x1400cf0dc], 2
mov qword [str.P_b_n_], rax
jmp 0x14006da98
test al, al
jne 0x14006da98
mov word [0x1400cf090], bx
mov byte [0x1400cf092], bl
mov dword [0x1400cf0dc], ebx
mov qword [str.NONE], rdi
mov ecx, dword [0x1400cf09c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14006dafc
cmp byte [0x1400cf092], bl
sete al
mov byte [0x1400cf092], al
cmp al, 1
jne 0x14006dade
mov rdi, qword [rsp + 0x58]
lea rax, str.Muzzle_Break
mov qword [str.P_b_n_], rax
mov dword [0x1400cf0dc], 3
add rsp, 0x40
pop rbx
ret
test al, al
jne 0x14006dafc
mov word [0x1400cf090], bx
mov byte [0x1400cf092], bl
mov dword [0x1400cf0dc], ebx
mov qword [str.NONE], rdi
mov rdi, qword [rsp + 0x58]
add rsp, 0x40
pop rbx
ret
lea rdx, str.C:WindowsTemp_
lea rcx, [rsp + 0x20]
call fcn.140005770
mov rcx, rax
call fcn.14006b730
lea rdx, str.C:WindowsPrefetch_
lea rcx, [rsp + 0x20]
call fcn.140005770
mov rcx, rax
call fcn.14006b730
call fcn.14006c1d0
lea rcx, [rsp + 0x20]
call fcn.14006dd40
lea rcx, [fcn.14006d350]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcessId]
xor r8d, r8d
mov rdx, rbx
mov ecx, eax
call fcn.14006c210
xor ecx, ecx
call fcn.140087c84
int3