Function at 0x18007ab90
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
lea eax, [rcx - 0x100]
mov r14d, 0x100
test eax, 0xfffffffb
mov rbp, r8
mov rdi, rdx
sete bl
cmp rdx, r14
jae 0x18007af21
mov qword [rsp + 0x40], rsi
mov ecx, 0x11
mov rsi, qword [0x1801f04a0]
add rsi, 8
movaps xmmword [rsp + 0x20], xmm6
call qword [sym.imp.USER32.dll_GetKeyState]
movss xmm6, dword [0x1801b3b50]
shr eax, 0xf
and al, 1
cmp byte [rsi + 0x37a1], 0
je 0x18007ac1b
test al, al
je 0x18007ac07
movaps xmm3, xmm6
jmp 0x18007ac0a
xorps xmm3, xmm3
movzx r8d, al
mov edx, 0x1000
mov rcx, rsi
call fcn.180062cc0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp byte [rsi + 0x37a1], 0
je 0x18007ac51
test al, al
je 0x18007ac3d
movaps xmm3, xmm6
jmp 0x18007ac40
xorps xmm3, xmm3
movzx r8d, al
mov edx, 0x2000
mov rcx, rsi
call fcn.180062cc0
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp byte [rsi + 0x37a1], 0
je 0x18007ac87
test al, al
je 0x18007ac73
movaps xmm3, xmm6
jmp 0x18007ac76
xorps xmm3, xmm3
movzx r8d, al
mov edx, 0x4000
mov rcx, rsi
call fcn.180062cc0
mov ecx, 0x5d
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp byte [rsi + 0x37a1], 0
je 0x18007acbd
test al, al
je 0x18007aca9
movaps xmm3, xmm6
jmp 0x18007acac
xorps xmm3, xmm3
movzx r8d, al
mov edx, 0x8000
mov rcx, rsi
call fcn.180062cc0
mov rsi, qword [rsp + 0x40]
cmp rdi, 0xd
jne 0x18007acd8
shr rbp, 0x10
mov eax, 0x10d
test r14w, bp
cmovne edi, eax
movsxd rcx, edi
call fcn.18007a640
test eax, eax
je 0x18007acf1
mov r8d, edi
movzx edx, bl
mov ecx, eax
call fcn.180079b00
cmp edi, 0x10
jne 0x18007adad
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x18007ad50
mov rdi, qword [0x1801f04a0]
cmp byte [rdi + 0x37a9], 0
je 0x18007ad3c
test bl, bl
je 0x18007ad27
movaps xmm3, xmm6
jmp 0x18007ad2a
xorps xmm3, xmm3
movzx r8d, bl
lea rcx, [rdi + 8]
mov edx, 0x210
call fcn.180062cc0
mov dword [rdi + 0x380], 0x210
mov dword [rdi + 0x940], 0xa0
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x18007af1c
mov rdi, qword [0x1801f04a0]
cmp byte [rdi + 0x37a9], 0
je 0x18007ad94
test bl, bl
jne 0x18007ad7f
xorps xmm6, xmm6
movaps xmm3, xmm6
lea rcx, [rdi + 8]
movzx r8d, bl
mov edx, 0x214
call fcn.180062cc0
mov dword [rdi + 0x384], 0x214
mov dword [rdi + 0x950], 0xa1
jmp 0x18007af1c
cmp edi, 0x11
jne 0x18007ae69
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x18007ae0c
mov rdi, qword [0x1801f04a0]
cmp byte [rdi + 0x37a9], 0
je 0x18007adf8
test bl, bl
je 0x18007ade3
movaps xmm3, xmm6
jmp 0x18007ade6
xorps xmm3, xmm3
movzx r8d, bl
lea rcx, [rdi + 8]
mov edx, 0x20f
call fcn.180062cc0
mov dword [rdi + 0x388], 0x20f
mov dword [rdi + 0x93c], 0xa2
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x18007af1c
mov rdi, qword [0x1801f04a0]
cmp byte [rdi + 0x37a9], 0
je 0x18007ae50
test bl, bl
jne 0x18007ae3b
xorps xmm6, xmm6
movaps xmm3, xmm6
lea rcx, [rdi + 8]
movzx r8d, bl
mov edx, 0x213
call fcn.180062cc0
mov dword [rdi + 0x38c], 0x213
mov dword [rdi + 0x94c], 0xa3
jmp 0x18007af1c
cmp edi, 0x12
jne 0x18007af1c
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x18007aec8
mov rdi, qword [0x1801f04a0]
cmp byte [rdi + 0x37a9], 0
je 0x18007aeb4
test bl, bl
je 0x18007ae9f
movaps xmm3, xmm6
jmp 0x18007aea2
xorps xmm3, xmm3
movzx r8d, bl
lea rcx, [rdi + 8]
mov edx, 0x211
call fcn.180062cc0
mov dword [rdi + 0x390], 0x211
mov dword [rdi + 0x944], 0xa4
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x18007af1c
mov rdi, qword [0x1801f04a0]
cmp byte [rdi + 0x37a9], 0
je 0x18007af08
test bl, bl
jne 0x18007aef3
xorps xmm6, xmm6
movaps xmm3, xmm6
lea rcx, [rdi + 8]
movzx r8d, bl
mov edx, 0x215
call fcn.180062cc0
mov dword [rdi + 0x394], 0x215
mov dword [rdi + 0x954], 0xa5
movaps xmm6, xmmword [rsp + 0x20]
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret