Function at 0x140070990
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
xor esi, esi
mov rbx, qword [0x140175650]
mov dword [rbp - 0x39], 0x16
movups xmm0, xmmword [rbx + 0x185c]
movups xmmword [rbp - 0x35], xmm0
lea rcx, [rbx + 0x1ed8]
lea rdx, [rbp - 0x39]
call fcn.140029700
mov dword [rbx + 0x185c], 0x3e851eb8
mov dword [rbx + 0x1860], 0x3e851eb8
mov qword [rbx + 0x1864], 0x3e851eb8
mov rbx, qword [0x140175650]
mov dword [rbp - 0x39], 0x17
movups xmm0, xmmword [rbx + 0x186c]
movups xmmword [rbp - 0x35], xmm0
lea rcx, [rbx + 0x1ed8]
lea rdx, [rbp - 0x39]
call fcn.140029700
mov qword [rbx + 0x186c], rsi
mov qword [rbx + 0x1874], rsi
mov rbx, qword [0x140175650]
mov dword [rbp - 0x39], 0x18
movups xmm0, xmmword [rbx + 0x187c]
movups xmmword [rbp - 0x35], xmm0
lea rcx, [rbx + 0x1ed8]
lea rdx, [rbp - 0x39]
call fcn.140029700
mov dword [rbx + 0x187c], 0x3e851eb8
mov dword [rbx + 0x1880], 0x3e851eb8
mov qword [rbx + 0x1884], 0x3e851eb8
mov rbx, qword [0x140175650]
mov dword [rbp - 0x39], esi
lea rdx, [rbp - 0x39]
movups xmm0, xmmword [rbx + 0x16fc]
lea rcx, [rbx + 0x1ed8]
movups xmmword [rbp - 0x35], xmm0
cmp byte [0x1400c60e8], sil
je 0x140070ace
call fcn.140029700
mov dword [rbx + 0x16fc], 0x3f800000
mov dword [rbx + 0x1700], 0x3f800000
mov dword [rbx + 0x1704], 0x3f800000
jmp 0x140070af1
call fcn.140029700
mov dword [rbx + 0x16fc], 0x3ec28f5c
mov dword [rbx + 0x1700], 0x3ec28f5c
mov dword [rbx + 0x1704], 0x3ec28f5c
mov dword [rbx + 0x1708], 0x3f800000
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x140175f70], eax
jle 0x140070b8a
lea rcx, [0x140175f70]
call fcn.140086ca0
cmp dword [0x140175f70], 0xffffffff
jne 0x140070b8a
xorps xmm0, xmm0
movups xmmword [0x140175ff0], xmm0
mov qword [0x140176000], 0xa
mov qword [0x140176008], 0xf
movsd xmm0, qword [str._none_34]
movsd qword [0x140175ff0], xmm0
movzx eax, word [0x1400b7fd0]
mov word [0x140175ff8], ax
mov byte [0x140175ffa], 0
lea rcx, [0x14008a880]
call fcn.1400870bc
nop
lea rcx, [0x140175f70]
call fcn.140086c34
mov dword [rbp - 0x19], 0x43000000
mov dword [rbp - 0x15], 0x41d80000
lea rdi, [0x140175ff0]
mov rcx, rdi
cmp qword [0x140176008], 0xf
cmova rcx, qword [0x140175ff0]
lea rdx, [rbp - 0x19]
call fcn.140043b60
test al, al
je 0x140070bc8
mov byte [0x1401758a0], 1
jmp 0x140070bd5
cmp byte [0x1401758a0], 0
je 0x140070c6c
mov ebx, 1
nop word [rax + rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140070c07
cmp ebx, 0xc
je 0x140070c07
mov eax, ebx
cmp ebx, 0x1b
cmove eax, esi
mov dword [0x14017583c], eax
mov byte [0x1401758a0], 0
inc ebx
cmp ebx, 0x100
jl 0x140070be0
mov rax, qword [0x140176008]
cmp rax, 7
jb 0x140070c53
cmp rax, 0xf
cmova rdi, qword [0x140175ff0]
mov qword [0x140176000], 7
mov r8d, 7
lea rdx, str....34
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + 7], 0
jmp 0x140070eda
lea r9, str....34
mov edx, 7
mov rcx, rdi
call fcn.140085c80
jmp 0x140070eda
mov edx, dword [0x14017583c]
test edx, edx
jne 0x140070cc8
mov rax, qword [0x140176008]
cmp rax, 8
jb 0x140070caf
cmp rax, 0xf
cmova rdi, qword [0x140175ff0]
mov qword [0x140176000], 8
movabs rax, 0x34332323656e6f6e
mov qword [rdi], rax
mov byte [rdi + 8], dl
jmp 0x140070eda
lea r9, str.none34
mov edx, 8
mov rcx, rdi
call fcn.140085c80
jmp 0x140070eda
lea rcx, [rbp + 0xf]
call fcn.140063ee0
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x11], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 1], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdi, [rbp - 0x11]
cmp qword [rbp + 7], 0xf
cmova rdi, qword [rbp - 0x11]
lea r14, [0x14008bbfa]
mov r8, qword [rbp - 1]
cmp r14, rdi
jbe 0x140070d32
lea rax, [r8 + rdi]
cmp r14, rax
ja 0x140070d32
cmp rdi, r14
jbe 0x140070d32
mov rbx, rdi
sub rbx, r14
jmp 0x140070d35
mov rbx, rsi
inc r8
mov rdx, rdi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rdi + rbx]
mov r8, rbx
neg r8
lea rdx, [rbx + r14]
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rbp - 0x39], xmm0
movups xmm1, xmmword [rbp - 1]
movdqu xmmword [rbp - 0x29], xmm1
mov qword [rbp - 1], rsi
mov qword [rbp + 7], 0xf
mov byte [rbp - 0x11], 0
movq rcx, xmm1
psrldq xmm1, 8
movq rdx, xmm1
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x140070dc7
lea rax, [rcx + 4]
mov qword [rbp - 0x29], rax
lea rax, [rbp - 0x39]
cmp rdx, 0xf
cmova rax, qword [rbp - 0x39]
mov dword [rax + rcx], 0x34332323
mov byte [rax + rcx + 4], 0
lea rax, [rbp - 0x39]
jmp 0x140070de5
mov qword [rsp + 0x20], 4
lea r9, str.34
mov edx, 4
lea rcx, [rbp - 0x39]
call fcn.140085af0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [0x140176008]
cmp rdx, 0xf
jbe 0x140070e3f
inc rdx
mov rcx, qword [0x140175ff0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070e3a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140070e3a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140086b80
movups xmmword [0x140175ff0], xmm6
movups xmmword [0x140176000], xmm7
mov rdx, qword [rbp - 0x21]
cmp rdx, 0xf
jbe 0x140070e8b
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070e86
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140070e86
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140086b80
movdqa xmm0, xmmword [0x1400b9b30]
movdqu xmmword [rbp - 0x29], xmm0
mov byte [rbp - 0x39], 0
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x140070eda
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140070ed5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140070ed5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140086b80
mov ecx, 4
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
jmp fcn.140003cc0