Function at 0x1400d3e10
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov esi, dword [rbp + 0x6f]
xor r14d, r14d
movaps xmmword [rsp + 0xa0], xmm6
xor r15d, r15d
mov qword [rbp - 0x49], 0
mov rbx, rcx
movsd xmm6, qword [rbp - 0x49]
movabs r13, 0x7fffffffffb3b4be
movabs r12, 0x7fffffffffffffff
lea rcx, [rbp - 0x49]
call fcn.140011640
mov rax, qword [rbp - 0x49]
cmp rax, r13
jg 0x1400d3e7f
add rax, 0x4c4b40
mov qword [rbp + 0x6f], rax
jmp 0x1400d3e83
mov qword [rbp + 0x6f], r12
lea rcx, [rbp + 0x6f]
call fcn.140018df0
mov dword [rbp + 0x6f], r15d
call fcn.1400f4f50
mov rcx, qword [0x140132b50]
lea r8, [rbp - 0x19]
add rax, 0x324
mov qword [rsp + 0x38], r15
mov qword [rbp - 0x11], rax
mov r9d, 0x28
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], r15
mov qword [rbp - 9], rax
mov edx, 0x221a5c
lea rax, [rbp - 0x19]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rbp - 1], 4
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [rbp + 0x6f], r15d
jle 0x1400d3e61
mov dword [rbp + 0x6f], r15d
call fcn.1400f4f50
mov rcx, qword [0x140132b50]
lea r8, [rbp - 0x19]
add rax, 0x324
mov qword [rsp + 0x38], r15
mov qword [rbp - 0x11], rax
mov r9d, 0x28
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], r15
mov qword [rbp - 9], rax
mov edx, 0x221a5c
lea rax, [rbp - 0x19]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rbp - 1], 4
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [rbp + 0x6f], 0x64
jg 0x1400d3e61
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400d3e61
mov edi, dword [0x140132b40]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
test rax, rax
je 0x1400d3e61
lea rdx, [rbp + 0x77]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x1400d3e61
cmp dword [rbp + 0x77], edi
jne 0x1400d3e61
call fcn.1400f5180
movsx rcx, ax
lea eax, [rcx - 1]
cmp eax, 0x3f
ja 0x1400d3fc0
movabs rdx, 0xd0000008a000000f
bt rdx, rax
jb 0x1400d4065
cmp ecx, 0x3c
ja 0x1400d3fd5
movabs rdx, 0x1000008000012580
bt rdx, rcx
jb 0x1400d404d
cmp ecx, 0x22
ja 0x1400d3fea
movabs rdx, 0x6058a0000
bt rdx, rcx
jb 0x1400d4036
cmp ecx, 0x1d
ja 0x1400d3ff9
mov eax, 0x3a004000
bt eax, ecx
jb 0x1400d401f
cmp ecx, 0x28
ja 0x1400d400e
movabs rax, 0x14000000a00
bt rax, rcx
jb 0x1400d4065
mov ecx, esi
sub ecx, 1
je 0x1400d404d
sub ecx, 1
je 0x1400d4036
cmp ecx, 1
jne 0x1400d4065
cmp byte [rbx + 0x24], r15b
je 0x1400d4065
movzx eax, byte [rbx + 0x25]
mov byte [rbx], al
mov eax, dword [rbx + 0x28]
mov dword [rbx + 4], eax
mov eax, dword [rbx + 0x2c]
jmp 0x1400d4062
cmp byte [rbx + 0x18], r15b
je 0x1400d4065
movzx eax, byte [rbx + 0x19]
mov byte [rbx], al
mov eax, dword [rbx + 0x1c]
mov dword [rbx + 4], eax
mov eax, dword [rbx + 0x20]
jmp 0x1400d4062
cmp byte [rbx + 0xc], r15b
je 0x1400d4065
movzx eax, byte [rbx + 0xd]
mov byte [rbx], al
mov eax, dword [rbx + 0x10]
mov dword [rbx + 4], eax
mov eax, dword [rbx + 0x14]
mov dword [rbx + 8], eax
cmp byte [rbx], r15b
je 0x1400d3e61
call fcn.1400f4ec0
cmp eax, 1
jle 0x1400d40b2
lea r8, [rbp - 0x39]
movsd qword [rbp - 0x39], xmm6
lea rdx, [rbp + 0x7f]
mov dword [rbp - 0x31], r14d
mov rcx, rbx
call fcn.1400d40d0
cvttss2si r8, dword [rbp + 0x83]
xor r9d, r9d
mov qword [rsp + 0x20], r15
lea ecx, [r9 + 1]
cvttss2si rdx, dword [rbp + 0x7f]
call qword [sym.imp.USER32.dll_mouse_event]
lea rdx, [rbp - 0x29]
call fcn.1400f5620
movsd xmm6, qword [rax]
mov r14d, dword [rax + 8]
jmp 0x1400d3e61