Function at 0x1400091c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x110
movaps xmmword [rax - 0x38], xmm6
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x140185640]
xor rax, rsp
mov qword [rbp + 0xa0], rax
call qword [sym.imp.KERNEL32.dll_AllocConsole]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rax
lea rdx, [0x1400c3a58]
lea rcx, [0x1400c3a60]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen]
mov ecx, 0x80
call fcn.1400b2d60
xorps xmm0, xmm0
mov rcx, rax
mov rdi, rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x70], xmm0
call fcn.14001dd70
xor r15d, r15d
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
lea ecx, [r15 + 0x48]
call fcn.1400b2d60
lea ecx, [r15 + 0x48]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x20], r15
mov qword [rdi + 0x28], r15
call fcn.1400b2d60
lea rcx, [rdi + 8]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x30], r15
mov qword [rdi + 0x38], r15
mov qword [rdi + 0x40], r15
mov qword [rdi + 0x48], r15
mov qword [rdi + 0x50], r15
mov qword [rdi + 0x58], r15
mov qword [rdi + 0x60], r15
mov qword [rdi + 0x68], r15
mov qword [rdi + 0x70], r15
call fcn.14001f450
mov rbx, qword [0x14021b4f8]
mov qword [0x14021b4f8], rdi
test rbx, rbx
je 0x140009301
lea rcx, [rbx + 8]
call fcn.140008fd0
mov edx, 0x80
mov rcx, rbx
call fcn.1400b30c4
mov ecx, 0x58
call fcn.1400b2d60
mov rdi, rax
xorps xmm0, xmm0
xor eax, eax
lea rcx, [rdi + 0x18]
movabs rdx, 0x1965f1da1356c05c
movabs r12, 0xa0bc69edff8ba0a5
mov qword [rbp + 0x98], rdx
movabs rsi, 0xaec4db002c617d22
movups xmmword [rdi], xmm0
mov qword [rbp + 0x20], r12
mov rbx, 0xffffffffffffffff
movups xmmword [rdi + 0x10], xmm0
mov qword [rbp + 0x28], rsi
mov r8, rbx
movups xmmword [rdi + 0x20], xmm0
mov qword [rbp + 0x38], rdx
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm0
mov qword [rdi + 0x50], rax
movabs rax, 0x919346d78fffd4cd
mov qword [rbp + 0x80], rax
movabs rax, 0x9feaeb2e1c4f4a10
mov qword [rbp + 0x88], rax
movabs rax, 0x6941996f6be94a3d
mov qword [rbp + 0x90], rax
movabs rax, 0x6941995f5bd97f07
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x80]
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x80]
vmovdqa ymmword [rbp + 0x80], ymm1
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], r15
vzeroupper
inc r8
cmp byte [rax + r8], r15b
jne 0x1400093d1
lea rdx, [rbp + 0x80]
call fcn.14000b7d0
lea rcx, [rdi + 0x38]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor r8d, r8d
mov qword [rcx + 0x10], r15
lea rdx, [0x1400c3a10]
mov qword [rcx + 0x18], r15
call fcn.14000b7d0
mov rdx, qword [0x14021b4f0]
mov qword [0x14021b4f0], rdi
test rdx, rdx
je 0x140009426
call fcn.14000a0e0
mov rdi, qword [0x14021b4f0]
lea rdx, [rbp + 0x20]
call fcn.14001d6c0
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x14000943c
mov r8, qword [rax]
movabs rcx, 0x7826109d97149c38
lea r14, [rbp + 0x70]
mov qword [rbp + 0x78], rcx
movabs rax, 0xe9fb452c4bc247fb
mov qword [rbp + 0x70], rax
movabs rax, 0xe9fb19402aa128b7
movdqa xmm0, xmmword [rbp + 0x70]
mov qword [rbp + 0x88], rcx
lea rcx, [r14 - 1]
mov qword [rbp + 0x80], rax
pxor xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x70], xmm0
nop word [rax + rax]
cmp byte [rcx + 1], r15b
lea rcx, [rcx + 1]
jne 0x140009490
xor edx, edx
nop dword [rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400094a0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1400094ee
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400094e9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400094e9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b30c4
xor r9d, r9d
mov qword [rsp + 0x28], r14
xor edx, edx
mov qword [rbp + 0x30], r15
mov rcx, rbx
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x20], r15b
lea r8d, [r9 + 4]
mov dword [rsp + 0x20], pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rdi + 8], rax
test rax, rax
je 0x14000955a
xor r9d, r9d
mov qword [rsp + 0x20], pe_nt_image_headers64
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x140009609
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movabs rax, 0xd2ce0ccd97ffd5e4
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x70], rax
movabs rax, 0xaec4db002c610f4d
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x70]
movdqa xmm0, xmmword [rbp + 0x70]
mov qword [rbp + 0x88], rsi
pxor xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x70], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], r15
nop dword [rax]
inc rbx
cmp byte [rax + rbx], r15b
jne 0x1400095b0
mov r8, rbx
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.14000b7d0
lea rcx, [rbp + 0x20]
call fcn.140009140
xor eax, eax
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400b2d40
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, rdi
call fcn.14000d9f0
test al, al
je 0x14000955a
mov rcx, qword [0x14021b4f0]
call fcn.14000f160
test al, al
je 0x14000955a
mov qword [rbp + 0x78], rsi
lea rcx, [rbp + 0x70]
movabs rax, 0xa0bc69a1b8c1f7e9
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x70], rax
xor edx, edx
movdqa xmm0, xmmword [rbp + 0x70]
mov qword [rbp + 0x88], rsi
pxor xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x70], xmm0
call qword [sym.imp.USER32.dll_FindWindowA]
mov rcx, rax
lea rdx, [rbp]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ebx, dword [rbp]
xor edx, edx
mov r8d, ebx
mov dword [rbp + 0x6c], r15d
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
lea rdx, [0x1401856b0]
mov dword [rbp + 0x68], ebx
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x70]
lea rax, [rbp + 0x60]
mov qword [rbp + 0x70], rax
call fcn.14005e750
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140009918
movsd xmm6, qword [0x1401754c0]
movabs rsi, 0x311cdad160000
movabs r13, 0x7fffffffff67697e
movabs r12, 0x7fffffffffffffff
movabs r14, 0x112e0be826d694b3
mov rbx, qword [0x14021b4f8]
lea rcx, [rbp + 0x20]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x140009752
nop word [rax + rax]
lea rcx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_DispatchMessageA]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp + 0x20]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x140009720
lea rcx, [rbx + 8]
call fcn.14001e680
call fcn.140028670
call fcn.140028a40
movss xmm2, dword [0x1401856ac]
lea r8, [0x14021c130]
movss xmm1, dword [0x1401856a4]
movaps xmm0, xmm2
mulss xmm0, dword [0x1401856a0]
xor r9d, r9d
mov rcx, qword [0x14021c1a0]
mulss xmm1, xmm2
movss dword [rbp + 0x70], xmm0
lea edx, [r9 + 1]
movss xmm0, dword [0x1401856a8]
mulss xmm0, xmm2
movss dword [rbp + 0x74], xmm1
movss dword [rbp + 0x7c], xmm2
movss dword [rbp + 0x78], xmm0
mov rax, qword [rcx]
call qword [rax + 0x108]
mov rcx, qword [0x14021c1a0]
lea r8, [rbp + 0x70]
mov rdx, qword [0x14021c130]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rax, qword [0x14021c1c0]
mov rcx, qword [rax + 0x4b10]
mov rax, qword [rcx]
mov rcx, r15
add rax, 0x48
cmp byte [rax], r15b
cmovne rcx, rax
call fcn.14004be30
mov rcx, qword [0x14021c138]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 1]
call qword [rax + 0x40]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140009833
imul rax, rax, 0x64
jmp 0x140009851
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
lea rdi, [rax + 0x989680]
cmp rax, r13
jle 0x140009860
mov rdi, r12
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14000987e
imul rax, rax, 0x64
jmp 0x14000989c
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rdi, rax
je 0x140009904
jl 0x140009904
mov rbx, rdi
sub rbx, rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
imul rcx, rax, 0x64
comisd xmm0, xmm6
jbe 0x1400098c6
add rcx, rsi
jmp 0x1400098c9
add rcx, rbx
mov rax, r14
imul rcx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0x3b9aca00
mov qword [rbp + 0x80], rdx
sub ecx, eax
mov dword [rbp + 0x88], ecx
lea rcx, [rbp + 0x80]
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x140009860
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400096f2
mov rsi, qword [0x14021c270]
mov r14, qword [0x14021c278]
cmp rsi, r14
je 0x140009a6e
movabs r12, 0x1fffffffffffffff
nop dword [rax]
xorps xmm0, xmm0
lea rcx, [rbp + 0x20]
xor eax, eax
mov rdx, rsi
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x50], rax
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
call fcn.140009f10
mov rdx, qword [rsi + 0x28]
xorps xmm0, xmm0
sub rdx, qword [rsi + 0x20]
sar rdx, 3
mov qword [rbp + 0x50], r15
movdqu xmmword [rbp + 0x40], xmm0
test rdx, rdx
je 0x1400099b8
cmp rdx, r12
ja 0x140009ab8
lea rcx, [rbp + 0x40]
call fcn.14000bf30
mov rdx, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rbp + 0x40]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 3
lea rdx, [rdi + rbx*8]
mov qword [rbp + 0x48], rdx
jmp 0x1400099bc
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
cmp rcx, rdx
je 0x1400099e4
nop word [rax + rax]
mov rax, qword [rcx]
add rcx, 8
mov byte [rax + 0x28], r15b
cmp rcx, rdx
jne 0x1400099d0
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x140009a2a
mov rdx, qword [rbp + 0x50]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x140009a19
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009ab1
call fcn.1400b30c4
xorps xmm0, xmm0
mov qword [rbp + 0x50], r15
movdqu xmmword [rbp + 0x40], xmm0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140009a61
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009a5c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009ab1
call fcn.1400b30c4
add rsi, 0x38
cmp rsi, r14
jne 0x140009940
mov rcx, qword [0x14021b4f0]
call fcn.14000e630
call fcn.14001e230
call qword [sym.imp.KERNEL32.dll_FreeConsole]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x1400095d2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400095d2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000abf0
int3