Function at 0x140009740
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa0
mov rax, qword [0x140045010]
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.140007b90
mov edi, eax
cmp eax, 0xffffffff
jne 0x140009934
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140046e78], eax
jle 0x1400097e6
lea rcx, [0x140046e78]
call fcn.140017ea8
cmp dword [0x140046e78], 0xffffffff
jne 0x1400097e6
call fcn.140014330
test al, al
je 0x1400097d2
lea rcx, str.input
call fcn.1400143d0
test al, al
je 0x1400097d2
mov al, 1
jmp 0x1400097d4
xor al, al
mov byte [0x140046e74], al
lea rcx, [0x140046e78]
call fcn.140017e48
cmp byte [0x140046e74], 0
je 0x140009a01
xor ebx, ebx
mov qword [rbp - 0x29], rbx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], bl
lea edx, [rbx + 0x40]
lea rcx, [rbp - 0x29]
call fcn.14000a590
mov qword [rbp - 0x19], rbx
lea r8d, [rbx + 0x22]
lea rdx, str.Discarding_invalid_UTF_8_sequence:
lea rcx, [rbp - 0x29]
call fcn.140005870
test rsi, rsi
jle 0x1400098d5
mov edi, ebx
lea r15, str.0123456789abcdefnewLength___1
nop
mov rcx, qword [rbp - 0x19]
mov rdx, qword [rbp - 0x11]
cmp rcx, rdx
jae 0x14000986a
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 0x140009876
mov r9b, 0x20
lea rcx, [rbp - 0x29]
call fcn.140007880
movzx ecx, byte [rdi + 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], rbx
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.140005870
inc rdi
cmp rdi, rsi
jl 0x140009840
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rdx, qword [rbp - 0x29]
lea rcx, [0x14003bdfc]
call fcn.1400149c0
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x140009a01
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000992a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009a1f
call fcn.140017cec
jmp 0x140009a01
movzx esi, byte [rbp + 0x7f]
cmp edi, 0xffff
jbe 0x14000994e
xor ebx, ebx
movzx r11d, bx
movzx ecx, bx
mov r9d, edi
jmp 0x1400099c5
movzx ecx, di
call qword [sym.imp.USER32.dll_VkKeyScanW]
movzx r8d, ax
xor ebx, ebx
mov r11d, ebx
mov ecx, ebx
mov r9d, edi
cmp ax, 0xffff
je 0x1400099c5
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 0x1400099c5
test al, 8
je 0x1400099c5
mov r9d, ebx
movzx r10d, si
add r10w, r10w
movzx eax, cx
or ax, 2
test sil, sil
cmove ax, cx
cmove ebx, r9d
mov word [rsp + 0x38], r10w
mov dword [rsp + 0x30], edi
mov word [rsp + 0x28], ax
mov dword [rsp + 0x20], ebx
movzx r8d, r11w
mov rdx, r12
mov rcx, r15
call fcn.140009a30
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.140017c90
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14001e704
int3