Function at 0x140001cc0
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
lea rbp, [rax - 0x338]
sub rsp, 0x410
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400140c0]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
xor edi, edi
mov esi, edi
mov dword [rsp + 0x20], edi
call fcn.140001bd0
mov r15d, 0xffff8001
lea rbx, [0x140000000]
lea r13, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
movabs r14, 0x2aaaaaaaaaaaaaa
nop word [rax + rax]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r12d, 8
mov ecx, r12d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp ax, r15w
jne 0x1400025fb
lea eax, [r12 + 0x42]
cmp eax, 0x6a
ja case.0x140001d76.52
cdqe
movzx eax, byte [rbx + rax + 0x266c]
mov ecx, dword [rbx + rax*4 + 0x2630]
add rcx, rbx
jmp rcx
lea rdx, [0x14000f958]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
lea rdx, [0x14000f958]
lea rcx, [rbp - 0x80]
call fcn.1400036c0
mov rbx, rax
mov rdx, qword [rax + 0x18]
cmp rdx, 0xf
jbe 0x140001dd8
mov rcx, qword [rax]
inc rdx
cmp rdx, 0x1000
jb 0x140001dd3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140002610
mov rcx, r8
call fcn.14000caf4
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
jmp 0x1400025f4
lea rdx, [0x14000f95c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov word [rsp + 0x28], 0xa
jmp 0x1400025fb
lea rdx, [0x14000f930]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov word [rsp + 0x28], 0x2e
jmp 0x1400025fb
lea rdx, str.SHIFT
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
mov rax, qword [str.SHIFT]
mov dword [rsp + 0x28], eax
movzx eax, word [0x14000f964]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x14000f966]
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], 0
jmp 0x1400025fb
lea rdx, [0x14000f968]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov word [rsp + 0x28], 8
jmp 0x1400025fb
lea rdx, str.R_CLICK
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
movsd xmm0, qword [str.R_CLICK]
movsd qword [rbp - 0x80], xmm0
movzx eax, byte [0x14000f978]
mov byte [rbp - 0x78], al
jmp 0x1400025fb
lea rdx, str.CAPS_LOCK
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
movsd xmm0, qword [str.CAPS_LCOK]
movsd qword [rbp - 0x80], xmm0
movzx eax, word [0x14000f998]
mov word [rbp - 0x78], ax
jmp 0x1400025fb
lea rdx, str.TAB
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x28], 0x42415423
mov byte [rsp + 0x2c], 0
jmp 0x1400025fb
lea rdx, [0x14000f9a4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
movsd xmm0, qword [str.UP_ARROW_KEY]
movsd qword [rsp + 0x28], xmm0
mov eax, dword [0x14000f9b0]
mov dword [rsp + 0x30], eax
movzx eax, byte [0x14000f9b4]
mov byte [rsp + 0x34], al
jmp 0x1400025fb
lea rdx, str.DOWN
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
movsd xmm0, qword [str.DOWN_ARROW_KEY]
movsd qword [rsp + 0x28], xmm0
mov eax, dword [0x14000f9c8]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14000f9cc]
mov word [rsp + 0x34], ax
movzx eax, byte [0x14000f9ce]
mov byte [rsp + 0x36], al
jmp 0x1400025fb
lea rdx, str.LEFT
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
movsd xmm0, qword [str.LEFT_ARROW_KEY]
movsd qword [rsp + 0x28], xmm0
mov eax, dword [0x14000f9e0]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14000f9e4]
mov word [rsp + 0x34], ax
movzx eax, byte [0x14000f9e6]
mov byte [rsp + 0x36], al
jmp 0x1400025fb
lea rdx, str.RIGHT
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
mov ecx, 0x20
call fcn.14000c7a0
movups xmm0, xmmword [str.RIGHT_ARROW_KEY]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0
mov edx, 0x20
mov rcx, rax
call fcn.14000caf4
jmp 0x1400025fb
lea rdx, str.CONTROL
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
jmp 0x1400025fb
lea rdx, str.ALT
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140003d50
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x28], 0x544c4123
mov byte [rsp + 0x2c], 0
jmp 0x1400025fb
lea rcx, [rbp + 0x1e0]
call fcn.140001c00
nop
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp + 0x200]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbx + 0xfad0]
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x288]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or esi, 2
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x200]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x200]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x200], rax
mov rax, qword [rbp + 0x200]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x1fc], edx
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
mov qword [rbp + 0x208], r13
mov qword [rbp + 0x270], rdi
mov dword [rbp + 0x278], 4
lea rdx, str._computerName_:__
lea rcx, [rbp + 0x200]
call fcn.140003d50
lea rdx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0xf
cmova rdx, qword [rbp + 0x1e0]
mov r8, qword [rbp + 0x1f0]
mov rcx, rax
call fcn.140005020
lea rdx, str.___key_:_
mov rcx, rax
call fcn.140003d50
mov rcx, rax
movzx edx, r12b
call fcn.140003f30
mov rcx, rax
lea rdx, [0x14000fa40]
call fcn.140003d50
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
mov r13, rdi
mov qword [rbp + 0x1d0], rdi
mov qword [rbp + 0x1d8], 0xf
mov byte [rbp + 0x1c0], 0
or esi, 8
mov dword [rsp + 0x20], esi
xor eax, eax
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
mov ecx, dword [rbp + 0x278]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140002231
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
test rax, rax
je 0x14000222b
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbase_void_const___ptr64]
mov rdi, rax
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov rbx, rax
cmp rax, qword [rbp + 0x270]
cmovb rbx, qword [rbp + 0x270]
sub rbx, rdi
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
jmp 0x140002277
mov ecx, dword [rbp + 0x278]
test cl, 4
jne 0x14000226d
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
test rax, rax
je 0x14000226d
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
mov rdi, rax
lea rcx, [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::egptr_void_const___ptr64]
mov rbx, rax
sub rbx, rdi
jmp 0x140002277
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x140002295
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x1c0]
call fcn.140003ab0
mov r13, qword [rbp + 0x1d0]
and esi, 0xfffffff7
or esi, 4
mov dword [rsp + 0x20], esi
lea rdx, str.Content_Type
lea rcx, [rbp - 0x30]
call fcn.1400036c0
nop
lea rdx, str.application_json
lea rcx, [rbp - 0x10]
call fcn.1400036c0
nop
xor esi, esi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov ecx, 0x60
call fcn.14000c7a0
mov r15, rax
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x48], rax
lea rbx, [rbp - 0x30]
nop dword [rax]
nop dword [rax + rax]
mov r9, rbx
mov r8, r15
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140005b70
movups xmm6, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rsp + 0x70], xmm0
cmp byte [rsp + 0x70], 0
jne 0x1400023b8
cmp qword [rsp + 0x50], r14
je 0x140002617
mov r14, qword [rsp + 0x48]
lea rax, [rsp + 0x48]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rsi
mov ecx, 0x60
call fcn.14000c7a0
mov rsi, rax
mov qword [rbp - 0x58], rax
lea rdi, [rax + 0x20]
mov qword [rsp + 0x60], rdi
mov rdx, rbx
mov rcx, rdi
call fcn.1400037e0
nop
lea rcx, [rdi + 0x20]
lea rdx, [rbx + 0x20]
call fcn.1400037e0
nop
mov qword [rsi], r14
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r14
mov word [rsi + 0x18], 0
xor edi, edi
mov qword [rbp - 0x58], rdi
movaps xmmword [rsp + 0x60], xmm6
mov r8, rsi
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140005610
xor esi, esi
movabs r14, 0x2aaaaaaaaaaaaaa
add rbx, 0x40
lea rax, [rbp + 0x10]
cmp rbx, rax
jne 0x140002300
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
lea rdi, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0xf
cmova rdi, qword [rbp + 0x1c0]
movabs r15, 0x7fffffffffffffff
cmp r13, r15
ja 0x14000262a
cmp r13, 0xf
ja 0x140002426
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], 0xf
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x28], xmm0
jmp 0x1400024bc
mov rbx, r13
or rbx, 0xf
cmp rbx, r15
jbe 0x140002445
mov rbx, r15
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140002476
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140002460
mov rax, rsi
jmp 0x14000249d
cmp rcx, 0x1000
jb 0x140002498
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002624
mov rcx, rax
call fcn.14000c7a0
mov rcx, rax
test rax, rax
je 0x14000261d
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000249d
call fcn.14000c7a0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], rbx
lea r8, [r13 + 1]
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
lea rax, [rsp + 0x28]
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x38]
call fcn.140001ba0
mov rbx, rax
lea rdx, str.http:__localhost:3000_a
lea rcx, [rbp - 0x80]
call fcn.1400036c0
nop
lea rax, [rbp - 0x80]
mov qword [rbp - 0x40], rax
lea rax, [rbp - 0x60]
mov qword [rbp - 0x38], rax
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x10]
call fcn.140001a70
nop
lea r9, [rsp + 0x48]
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140004100
lea rcx, [rbp + 0x80]
call fcn.140002860
nop
lea rcx, [rbp + 0x10]
call fcn.140001b30
nop
lea r9, [fcn.140003660]
mov edx, 0x20
mov r8d, 1
lea rcx, [rbp - 0x80]
call fcn.14000c7dc
nop
lea rcx, [rbp + 0x38]
call fcn.140001b30
nop
lea r9, [fcn.140003660]
mov edx, 0x20
mov r8d, 1
lea rcx, [rsp + 0x28]
call fcn.14000c7dc
nop
lea rcx, [rsp + 0x48]
call fcn.1400027f0
nop
lea r9, [fcn.140002740]
mov edx, 0x40
mov r8d, 1
lea rcx, [rbp - 0x30]
call fcn.14000c7dc
nop
lea rcx, [rbp + 0x1c0]
call fcn.140003660
nop
lea rcx, [rbp + 0x200]
call fcn.1400026e0
nop
lea rcx, [rbp + 0x1e0]
call fcn.140003660
mov esi, dword [rsp + 0x20]
xor edi, edi
mov r15d, 0xffff8001
lea r13, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea rbx, [0x140000000]
inc r12d
cmp r12d, 0xbe
jle 0x140001d41
jmp 0x140001d30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140001a50
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001840
int3
call fcn.1400018e0
int3