Function at 0x140001200
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x40
mov rax, qword [0x1400a47b8]
xor esi, esi
mov rbx, rcx
test rax, rax
je 0x140001224
mov rcx, qword [rax + 0xa0]
jmp 0x140001227
mov rcx, rsi
cmp qword [rcx + 0x18], rsi
jne 0x140001248
test rax, rax
je 0x140001248
mov rcx, qword [rax + 0xa0]
test rcx, rcx
je 0x140001248
cmp qword [rcx], rsi
je 0x140001248
call fcn.14002b3c0
call fcn.14002bdd0
call fcn.140008ec0
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400a4b38], eax
jle 0x140001295
lea rcx, [0x1400a4b38]
call fcn.140032f8c
cmp dword [0x1400a4b38], 0xffffffff
jne 0x140001295
lea rcx, [0x1400a4b38]
mov dword [0x1400a4b30], esi
call fcn.140032f20
mov eax, dword [0x1400a4b30]
test eax, eax
jne 0x1400012a9
mov dword [0x1400a4b34], 2
cmp eax, 1
jne 0x1400012b8
mov dword [0x1400a4b34], 0x12
cmp eax, 2
jne 0x1400012c7
mov dword [0x1400a4b34], 0x11
cmp eax, 3
jne 0x1400012d6
mov dword [0x1400a4b34], 4
cmp eax, 4
jne 0x1400012e5
mov dword [0x1400a4b34], 5
cmp eax, 5
jne 0x1400012f4
mov dword [0x1400a4b34], 6
cmp eax, 6
jne 0x140001303
mov dword [0x1400a4b34], 1
mov ecx, 0x24
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140001322
cmp byte [rbx + 0x158], sil
sete al
mov byte [rbx + 0x158], al
cmp byte [rbx + 0x158], sil
je 0x14000133b
mov rcx, rbx
call fcn.140031020
mov r8d, 0xa0
jmp 0x140001341
mov r8d, 0x800a0
mov rcx, qword [rbx + 0x50]
mov edx, 0xffffffec
call qword [sym.imp.USER32.dll_SetWindowLongA]
movzx eax, byte [rbx + 0x158]
mov rcx, qword [0x1400a47b8]
mov byte [rcx + 0x78], al
movzx eax, byte [rbx + 0x158]
mov byte [rcx + 0xd9], al
call fcn.14000ab60
mov rcx, qword [rbx + 8]
xor r8d, r8d
mov edx, 7
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [rbx + 8]
xor r8d, r8d
mov edx, 0x1b
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [rbx + 8]
xor r8d, r8d
mov edx, 0xae
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [rbx + 8]
mov r9d, 1
movss xmm0, dword [0x14009a448]
xor r8d, r8d
mov dword [rsp + 0x30], esi
xor edx, edx
movss dword [rsp + 0x28], xmm0
mov rax, qword [rcx]
mov dword [rsp + 0x20], esi
call qword [rax + 0x158]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x140001424
call fcn.14000af20
mov rax, qword [0x1400a47b8]
mov rcx, qword [rax + 0x4878]
mov rcx, qword [rcx]
add rcx, 0x48
cmp byte [rcx], sil
cmove rcx, rsi
call fcn.14002ae00
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [rbx + 8]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x140001503
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x140001503
mov qword [rsp + 0x50], rdi
mov rdi, qword [0x1400a47b8]
test rdi, rdi
je 0x1400014c8
mov rdi, qword [rdi + 0xa0]
test rdi, rdi
je 0x1400014c8
cmp qword [rdi], rsi
je 0x1400014c8
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140001493
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 8], rsi
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1400014a6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x10], rsi
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1400014c8
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [0x1400a47b8]
mov qword [rdi + 0x18], rsi
mov rcx, qword [rax + 0x58]
mov qword [rcx + 8], rsi
mov rcx, qword [rbx + 8]
lea rdx, [rbx + 0xa0]
mov rax, qword [rcx]
call qword [rax + 0x80]
mov rax, qword [0x1400a47b8]
mov rdi, qword [rsp + 0x50]
test rax, rax
je 0x140001503
mov rax, qword [rax + 0xa0]
test rax, rax
je 0x140001503
cmp qword [rax], rsi
je 0x140001503
call fcn.14002b3c0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rsi
ret