Function at 0x140001749
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140011650
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa0
mov rax, qword [0x1400cb008]
xor rax, rsp
mov qword [rbp + 0xf], rax
movsxd rsi, r9d
mov r14, r8
mov r12, rdx
mov r15, rcx
mov rcx, r8
call fcn.140011a40
mov ebx, eax
cmp eax, 0xffffffff
jne 0x14001182b
mov ecx, dword [0x1400cc4e8]
mov rax, qword gs:[0x58]
mov edx, 0x104
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1400cc46c], ecx
jg 0x14001191c
cmp byte [0x1400cc468], 0
je 0x1400118f8
xor edi, edi
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], dil
lea ecx, [rdi + 0x50]
call fcn.14000125d
mov rbx, rax
mov qword [rbp - 0x11], 0x4f
movzx ecx, byte [rbp - 0x29]
mov byte [rax], cl
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x19], 0x22
lea r8d, [rdi + 0x22]
lea rdx, str.Discarding_invalid_UTF_8_sequence:
mov rcx, rax
call fcn.1400048c7
mov byte [rbx + 0x22], dil
test rsi, rsi
jle 0x1400117cc
mov ebx, edi
lea r15, [0x1400ab630]
nop dword [rax]
mov rcx, qword [rbp - 0x19]
mov rdx, qword [rbp - 0x11]
cmp rcx, rdx
jae 0x14001175a
lea rax, [rcx + 1]
mov qword [rbp - 0x19], rax
lea rax, [rbp - 0x29]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x29]
mov word [rax + rcx], 0x20
jmp 0x14001176d
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x29]
call fcn.140003332
movzx ecx, byte [rbx + r14]
mov eax, ecx
shr rax, 4
movzx eax, byte [rax + r15]
mov byte [rbp - 0x41], al
and ecx, 0xf
movzx eax, byte [rcx + r15]
mov byte [rbp - 0x40], al
mov byte [rbp - 0x3f], 0
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x31], 2
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [rbp - 9], xmm0
movsd xmm1, qword [rbp - 0x31]
movsd qword [rbp + 7], xmm1
mov r8d, 2
lea rdx, [rbp - 9]
lea rcx, [rbp - 0x29]
call fcn.140004840
inc rbx
cmp rbx, rsi
jl 0x140011730
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rdx, qword [rbp - 0x29]
lea rcx, [0x1400aad6c]
call fcn.140004610
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400118f8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140011821
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140011916
call fcn.140003b75
jmp 0x1400118f8
movzx esi, byte [rbp + 0x7f]
cmp ebx, 0xffff
jbe 0x140011845
xor edi, edi
movzx r11d, di
movzx ecx, di
mov r9d, ebx
jmp 0x1400118bc
movzx ecx, bx
call qword [sym.imp.USER32.dll_VkKeyScanW]
movzx r8d, ax
xor edi, edi
mov r11d, edi
mov ecx, edi
mov r9d, ebx
cmp ax, 0xffff
je 0x1400118bc
movzx r11d, ax
mov eax, 0xff
and r11w, ax
movzx ecx, r8w
shr cx, 4
and cx, 0x10
movzx eax, r8w
mov edx, 0x200
and ax, dx
movzx edx, cx
or dx, 8
test ax, ax
cmove dx, cx
mov eax, 0x400
and r8w, ax
movzx eax, dx
or ax, 1
test r8w, r8w
cmove ax, dx
movzx ecx, ax
test sil, sil
je 0x1400118bc
test al, 8
je 0x1400118bc
mov r9d, edi
movzx r10d, si
add r10w, r10w
movzx eax, cx
or ax, 2
test sil, sil
cmove ax, cx
cmove edi, r9d
mov word [rsp + 0x38], r10w
mov dword [rsp + 0x30], ebx
mov word [rsp + 0x28], ax
mov dword [rsp + 0x20], edi
movzx r8d, r11w
mov rdx, r12
mov rcx, r15
call fcn.14000247d
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1400029d2
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14000215d
int3
lea rcx, [0x1400cc46c]
call fcn.140003f49
cmp dword [0x1400cc46c], 0xffffffff
jne 0x1400116bb
call fcn.140003396
test al, al
je 0x140011952
lea rcx, str.input
call fcn.140004746
test al, al
je 0x140011952
mov al, 1
jmp 0x140011954
xor al, al
mov byte [0x1400cc468], al
lea rcx, [0x1400cc46c]
call fcn.140004106
jmp 0x1400116bb