Function at 0x140005b40
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x160
mov rax, qword [0x14000e040]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov ebp, edx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor esi, esi
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_GetKeyboardState]
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
movzx ebx, ax
shr ebx, 0xf
and bl, 1
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
movzx r14d, ax
and r14b, 1
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140005bc9
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140005bc9
mov dl, 1
jmp 0x140005bcb
xor dl, dl
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x14000b5a0]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], sil
lea eax, [rbp - 0x41]
cmp eax, 0x19
ja 0x140005c55
test r14b, r14b
je 0x140005c4b
test bl, bl
jne 0x140005c4f
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x14000b5b0]
movsx eax, bpl
movzx eax, al
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], 0
movups xmm2, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm2
movups xmmword [rdi + 0x10], xmm1
mov rax, rdi
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140009910
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
test bl, bl
jne 0x140005bf7
add bpl, 0x20
jmp 0x140005bf7
cmp ebp, 0x30
jb 0x140005c5f
cmp ebp, 0x39
jbe 0x140005bf7
add ebp, 0xfffffff8
cmp ebp, 0xd6
ja case.0x140005c85.10
lea r8, [0x140000000]
movzx eax, byte [r8 + rbp + 0x627c]
mov ecx, dword [r8 + rax*4 + 0x621c]
add rcx, r8
jmp rcx
lea rax, [0x14000b4b4]
lea r14, [0x14000b4b8]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005cb0
movabs rbp, 0x7fffffffffffffff
cmp rbx, rbp
ja 0x14000620d
cmp rbx, 0xf
jbe 0x1400060d8
mov rcx, rbx
or rcx, 0xf
cmp rcx, rbp
jbe 0x140005cf3
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140005d29
mov rbp, rcx
mov eax, 0x16
cmp rcx, rax
cmovb rbp, rax
lea rcx, [rbp + 1]
test rcx, rcx
je 0x14000615c
cmp rcx, 0x1000
jb 0x140006154
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006213
mov rcx, rax
call fcn.140009930
test rax, rax
je 0x14000614d
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14000615c
test dl, dl
je 0x140005d58
lea r14, str.__23______.__
jmp 0x140005d6c
lea rax, [0x14000b4c0]
lea r14, [0x14000b4c4]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005d80
movabs rbp, 0x7fffffffffffffff
cmp rbx, rbp
ja 0x14000620d
cmp rbx, 0xf
ja 0x140005cd7
jmp 0x1400060d8
test dl, dl
je 0x140005db9
lea r14, [0x14000b4c8]
jmp 0x140005dcd
lea rax, [0x14000b4cc]
lea r14, [0x14000b4d0]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005de0
jmp 0x140005d8a
lea rax, [0x14000b4d4]
lea r14, [0x14000b4d8]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005e12
jmp 0x140005d8a
lea rax, [0x14000b4dc]
lea r14, [0x14000b4e0]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005e50
jmp 0x140005d8a
lea rax, [0x14000b4e4]
lea r14, [0x14000b4e8]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005e85
jmp 0x140005d8a
lea rax, [0x14000b4c0]
lea r14, [0x14000b4ec]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005ec0
movabs rbp, 0x7fffffffffffffff
cmp rbx, rbp
ja 0x14000620d
cmp rbx, 0xf
ja 0x140005cd7
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
jmp 0x140005c20
lea rax, [0x14000b4f0]
lea r14, [0x14000b4f4]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140005f30
movabs rbp, 0x7fffffffffffffff
cmp rbx, rbp
ja 0x14000620d
cmp rbx, 0xf
jbe 0x140005ee7
mov rcx, rbx
or rcx, 0xf
cmp rcx, rbp
jbe 0x140005f6f
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140005f9d
mov rbp, rcx
mov eax, 0x16
cmp rcx, rax
cmovb rbp, rax
lea rcx, [rbp + 1]
test rcx, rcx
je 0x140005fc4
cmp rcx, 0x1000
jb 0x140005fbc
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006213
mov rcx, rax
call fcn.140009930
test rax, rax
je 0x14000614d
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140005fc4
call fcn.140009930
mov rsi, rax
mov qword [rdi], rsi
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbp
mov r8, rbx
mov rdx, r14
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi], 0
jmp 0x140005c20
lea rax, [0x14000b4f8]
lea r14, [0x14000b4fc]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140006010
jmp 0x140005d8a
lea rax, [0x14000b500]
lea r14, [0x14000b504]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140006045
jmp 0x140005d8a
lea rax, [0x14000b508]
lea r14, [0x14000b50c]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x140006080
jmp 0x140005d8a
lea rax, [0x14000b510]
lea r14, [0x14000b514]
test bl, bl
cmovne r14, rax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x1400060b5
movabs rbp, 0x7fffffffffffffff
cmp rbx, rbp
ja 0x14000620d
cmp rbx, 0xf
ja 0x1400060fb
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rbx], 0
jmp 0x140005c20
mov rcx, rbx
or rcx, 0xf
cmp rcx, rbp
jbe 0x14000611a
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140005d29
mov rbp, rcx
mov eax, 0x16
cmp rcx, rax
cmovb rbp, rax
lea rcx, [rbp + 1]
test rcx, rcx
je 0x14000615c
cmp rcx, 0x1000
jb 0x140006154
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006213
jmp 0x140005d29
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009930
mov rsi, rax
mov qword [rdi], rsi
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbp
mov r8, rbx
mov rdx, r14
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
jmp 0x140005c20
mov rcx, rdi
call fcn.140006360
jmp 0x140005c20
mov rcx, rdi
call fcn.1400065e0
jmp 0x140005c20
mov rcx, rdi
call fcn.140006a40
jmp 0x140005c20
mov rcx, rdi
call fcn.1400067b0
jmp 0x140005c20
mov rcx, rdi
call fcn.140006cc0
jmp 0x140005c20
mov rcx, rdi
call fcn.140006f10
jmp 0x140005c20
mov rcx, rdi
call fcn.140007160
jmp 0x140005c20
mov rcx, rdi
call fcn.1400073e0
jmp 0x140005c20
mov rcx, rdi
call fcn.140007580
jmp 0x140005c20
mov rcx, rdi
call fcn.140007740
jmp 0x140005c20
mov rcx, rdi
call fcn.140007900
jmp 0x140005c20
call fcn.140001200
int3
call fcn.140001160
int3