Function at 0x1400ab5f0
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x70
movsx ebx, cl
cmp bl, 0x21
jl 0x1400abdd8
cmp bl, 0x7e
jg 0x1400abdd8
xor eax, eax
mov qword [rsp + 0x80], rdi
xorps xmm0, xmm0
mov qword [rbp - 0x30], rax
movups xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x50], 1
lea ecx, [rax + 0x14]
movups xmmword [rbp - 0x40], xmm0
call qword [sym.imp.USER32.dll_GetKeyState]
lea ecx, [rbx - 0x30]
movzx edi, ax
cmp cl, 9
ja 0x1400ab64d
mov ecx, ebx
jmp 0x1400abd96
lea eax, [rbx - 0x41]
cmp al, 0x19
ja 0x1400ab712
test di, di
jne 0x1400ab695
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, ebx
mov edx, 4
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 8
mov word [rbp - 0x46], ax
call fcn.1400aa080
mov ecx, Ordinal_41
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 0xa
call fcn.1400aa080
test di, di
jne case.0x1400ab7cc.48
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 0xa
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov word [rbp - 0x1e], ax
lea rdx, [rbp - 0x28]
jmp 0x1400abdcb
lea eax, [rbx - 0x61]
cmp al, 0x19
ja 0x1400ab7a5
test di, di
je 0x1400ab75a
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
lea ecx, [rbx - 0x20]
mov edx, 4
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 8
mov word [rbp - 0x46], ax
call fcn.1400aa080
mov ecx, Ordinal_41
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 0xa
call fcn.1400aa080
test di, di
je case.0x1400ab7cc.48
jmp 0x1400ab6da
lea eax, [rbx - 0x21]
cmp eax, 0x5d
ja case.0x1400ab7cc.48
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0xabe68]
mov ecx, dword [rdx + rax*4 + 0xabde8]
add rcx, rdx
jmp rcx
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, Ordinal_50
mov edx, 4
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 8
mov word [rbp - 0x46], ax
call fcn.1400aa080
mov ecx, Ordinal_41
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 0xa
call fcn.1400aa080
jmp 0x1400ab6da
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xde
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0x33
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0x34
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, gethostname
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, gethostname
jmp 0x1400ab80b
mov ecx, 0xde
jmp 0x1400abd96
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, reloc.WS2_32.dll_gethostname
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, Ordinal_50
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, gethostname
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xbb
jmp 0x1400ab80b
mov ecx, 0xbc
jmp 0x1400abd96
mov ecx, 0xbd
jmp 0x1400abd96
mov ecx, 0xbe
jmp 0x1400abd96
mov ecx, 0xbf
jmp 0x1400abd96
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xba
jmp 0x1400ab80b
mov ecx, 0xba
jmp 0x1400abd96
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xbc
jmp 0x1400ab80b
mov ecx, 0xbb
jmp 0x1400abd96
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xbe
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xbf
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, reloc.WLDAP32.dll_Ordinal_50
jmp 0x1400ab80b
mov ecx, 0xdb
jmp 0x1400abd96
mov ecx, 0xdc
jmp 0x1400abd96
mov ecx, 0xdd
jmp 0x1400abd96
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, gethostname
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xbd
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xdb
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xdc
jmp 0x1400ab80b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x18], xmm0
lea edx, [rax + 4]
mov dword [rbp - 0x28], 1
lea ecx, [rax + 0x10]
mov dword [rbp - 0x1c], 8
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x28]
mov word [rbp - 0x1e], ax
call fcn.1400aa080
mov ecx, 0xdd
jmp 0x1400ab80b
mov ecx, 0xc0
mov edx, 4
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 8
mov word [rbp - 0x46], ax
call fcn.1400aa080
mov ecx, Ordinal_41
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x44], 0xa
call fcn.1400aa080
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
add rsp, 0x70
pop rbp
ret