Function at 0x18001d6e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov byte [rsp + 8], cl
push rbp
push rsi
push rdi
sub rsp, 0x210
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x4c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
movzx ecx, byte [rsp + 0x238]
mov rax, qword [0x1801c1fc0]
xor rax, rbp
mov qword [rbp + 0x1e0], rax
lea rcx, [0x1801d842d]
call fcn.180149ac0
nop
movzx eax, byte [0x1801c2722]
test eax, eax
jne 0x18001d73a
jmp 0x18001da5e
mov dword [rbp + 4], 0xffffffff
movzx eax, byte [0x1801c2721]
test eax, eax
jne 0x18001d837
mov ecx, 0x35
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x18001d778
mov dword [rbp + 4], 0
mov byte [0x1801c2721], 1
jmp 0x18001d832
mov ecx, 0x36
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x18001d7a0
mov dword [rbp + 4], 1
mov byte [0x1801c2721], 1
jmp 0x18001d832
mov ecx, 0x37
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x18001d7c5
mov dword [rbp + 4], 2
mov byte [0x1801c2721], 1
jmp 0x18001d832
mov ecx, 0x38
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x18001d7ea
mov dword [rbp + 4], 3
mov byte [0x1801c2721], 1
jmp 0x18001d832
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x18001d80f
mov dword [rbp + 4], 4
mov byte [0x1801c2721], 1
jmp 0x18001d832
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x18001d832
mov dword [rbp + 4], 5
mov byte [0x1801c2721], 1
jmp 0x18001d8bc
mov ecx, 0x35
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x18001d8bc
mov ecx, 0x36
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x18001d8bc
mov ecx, 0x37
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x18001d8bc
mov ecx, 0x38
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x18001d8bc
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x18001d8bc
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x18001d8bc
mov byte [0x1801c2721], 0
cmp dword [rbp + 4], 0
jl 0x18001da5e
movsxd rax, dword [rbp + 4]
mov qword [rbp + 0x1d8], rax
lea rcx, [0x1801c97e0]
call fcn.18000c630
mov rcx, qword [rbp + 0x1d8]
cmp rcx, rax
jae 0x18001da5e
mov dword [rbp + 0x24], 0
lea rax, [0x1801c97e0]
mov qword [rbp + 0x48], rax
mov rcx, qword [rbp + 0x48]
call fcn.18001dd70
mov qword [rbp + 0x68], rax
mov rcx, qword [rbp + 0x48]
call fcn.18001ddb0
mov qword [rbp + 0x88], rax
jmp 0x18001d92a
mov rax, qword [rbp + 0x68]
add rax, 0x68
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x88]
cmp qword [rbp + 0x68], rax
je 0x18001da5e
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
movzx eax, byte [rax + 8]
movzx ecx, byte [rbp + 0x210]
cmp eax, ecx
je 0x18001da59
mov rax, qword [rbp + 0xa8]
movzx eax, byte [rax + 9]
test eax, eax
je 0x18001da59
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x24], eax
jne 0x18001da51
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax]
cmp qword [0x1801c2728], rax
jne 0x18001d99d
call fcn.18001d400
nop
jmp 0x18001da5e
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax]
mov qword [0x1801c2728], rax
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax]
add rax, 0xee4
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.1800067b0
nop
movss xmm0, dword [rbp + 0xd0]
addss xmm0, dword [0x180158bb0]
movss dword [rbp + 0xd0], xmm0
movss xmm0, dword [rbp + 0xc8]
addss xmm0, dword [0x18015666c]
movss dword [rbp + 0xc8], xmm0
cmp qword [0x1801c2718], 0
je 0x18001da3e
lea rax, [rbp + 0x1c0]
lea rcx, [rbp + 0xc8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [0x1801c2718]
add rax, 0x38
lea rdx, [rbp + 0x1c0]
mov rcx, rax
call fcn.18000ca20
nop
movzx eax, byte [0x1801c2720]
test eax, eax
jne 0x18001da4f
call fcn.18001d480
nop
jmp 0x18001da5e
mov eax, dword [rbp + 0x24]
inc eax
mov dword [rbp + 0x24], eax
jmp 0x18001d91e
lea rcx, [rbp - 0x20]
lea rdx, [0x180158a60]
call fcn.180149890
mov rcx, qword [rbp + 0x1e0]
xor rcx, rbp
call fcn.180149d60
lea rsp, [rbp + 0x1f0]
pop rdi
pop rsi
pop rbp
ret