Function at 0x1400db320
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rax - 0x48], xmm6
mov rsi, rcx
movaps xmmword [rax - 0x58], xmm7
movabs r12, 0x7ffffffffff0bdbe
movaps xmmword [rax - 0x68], xmm8
movabs r15, 0x7fffffffffffffff
movaps xmmword [rax - 0x78], xmm9
xorps xmm8, xmm8
movss xmm9, dword [0x140111790]
xor r14d, r14d
movaps xmmword [rax - 0x88], xmm10
movss xmm10, dword [0x140111870]
movaps xmmword [rax - 0x98], xmm11
movss xmm11, dword [0x140111740]
movaps xmmword [rax - 0xa8], xmm12
movss xmm12, dword [0x140111694]
lea rcx, [rbp - 0x68]
call fcn.140011600
mov rax, qword [rbp - 0x68]
cmp rax, r12
jg 0x1400db3c6
add rax, 0xf4240
mov qword [rbp + 0x98], rax
jmp 0x1400db3cd
mov qword [rbp + 0x98], r15
lea rcx, [rbp + 0x98]
call fcn.140018db0
mov rax, qword [0x140130b48]
lea r8, [rsp + 0x70]
mov rcx, qword [0x140130b50]
add rax, 0x19a41c8
mov qword [rsp + 0x78], rax
mov r9d, 0x28
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x98]
mov qword [rbp - 0x80], rax
mov edx, 0x221a5c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x98], r14
mov qword [rbp - 0x78], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp qword [rbp + 0x98], r14
je 0x1400db3a5
mov rax, qword [0x140130b48]
lea r8, [rsp + 0x48]
mov rcx, qword [0x140130b50]
add rax, 0x19a41c8
mov qword [rsp + 0x50], rax
mov r9d, 0x28
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov edx, 0x221a5c
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x60], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x70]
mov rcx, qword [0x140130b50]
add rax, 0x7ec
mov qword [rsp + 0x78], rax
mov r9d, 0x28
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x98]
mov qword [rbp - 0x80], rax
mov edx, 0x221a5c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x98], r14d
mov qword [rbp - 0x78], 4
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [rbp + 0x98], r14d
je 0x1400db3a5
call fcn.1400f4aa0
test rax, rax
je 0x1400db3a5
call fcn.1400f5380
cmp eax, 1
jl 0x1400db3a5
call fcn.1400f5380
cmp eax, 0x64
jg 0x1400db3a5
cmp byte [rsi], r14b
je 0x1400db3a5
mov ebx, dword [0x140130b40]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
test rax, rax
je 0x1400db3a5
lea rdx, [rbp + 0xa0]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
je 0x1400db3a5
cmp dword [rbp + 0xa0], ebx
jne 0x1400db3a5
call fcn.1400f4610
test al, al
je 0x1400db3a5
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400db3a5
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400db3a5
xorps xmm6, xmm6
xorps xmm7, xmm7
mov edi, 1
nop word [rax + rax]
mov edx, edi
call fcn.1400ed2a0
mov rbx, rax
call fcn.1400f4aa0
cmp rbx, rax
jne 0x1400db658
xor eax, eax
mov edx, edi
mov qword [rbp + 0xa8], rax
call fcn.1400ed2a0
mov rcx, qword [0x140130b50]
lea r8, [rbp - 0x50]
add rax, 0x3e0
mov qword [rsp + 0x38], r14
mov qword [rbp - 0x48], rax
mov r9d, 0x28
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x30], r14
mov qword [rbp - 0x40], rax
mov edx, 0x221a5c
lea rax, [rbp - 0x50]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x38], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm6, dword [rbp + 0xa8]
movss xmm7, dword [rbp + 0xac]
inc edi
cmp edi, 0x40
jle 0x1400db5d0
andps xmm6, xmm10
comiss xmm6, xmm11
jae 0x1400db68d
andps xmm7, xmm10
comiss xmm7, xmm11
jae 0x1400db68d
xor r9d, r9d
xor edx, edx
mov cl, 0x41
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
jmp 0x1400db8ea
mov rcx, qword [0x140130b50]
lea r8, [rsp + 0x48]
xor eax, eax
mov qword [rsp + 0x38], r14
mov qword [rbp + 0x98], rax
mov r9d, 0x28
mov rax, qword [0x140130b48]
mov edx, 0x221a5c
add rax, 0x19c5958
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x60], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm0, dword [rbp + 0x9c]
subss xmm0, xmm8
comiss xmm0, xmm12
jae 0x1400db900
comiss xmm0, xmm9
jbe 0x1400db7ef
mov rcx, qword [0x140130b50]
lea r8, [rsp + 0x70]
xor eax, eax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rax
mov r9d, 0x28
mov rax, qword [0x140130b48]
mov edx, 0x221a5c
add rax, 0x19c5958
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x40]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x78], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [0x140130b50]
lea r8, [rsp + 0x48]
movss xmm8, dword [rsp + 0x44]
xor eax, eax
mov qword [rbp + 0x98], rax
mov r9d, 0x28
mov rax, qword [0x140130b48]
mov edx, 0x221a5c
add rax, 0x19c5958
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x60], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
jmp 0x1400db3a5
jae 0x1400dba11
xor r9d, r9d
xor edx, edx
mov cl, 0x41
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x44
call qword [sym.imp.USER32.dll_keybd_event]
mov eax, 0x64
cdq
idiv dword [rsi + 4]
mov ecx, eax
mov eax, 0xc350
cdq
idiv ecx
lea rcx, [rbp - 0x60]
movsxd rbx, eax
call fcn.140011600
mov rcx, qword [rbp - 0x60]
mov qword [rbp + 0x98], rcx
cmp rbx, 1
jl 0x1400db86c
imul rdx, rbx, 0x3e8
mov rax, r15
sub rax, rdx
cmp rcx, rax
jge 0x1400db865
lea rax, [rcx + rdx]
mov qword [rbp + 0x98], rax
jmp 0x1400db86c
mov qword [rbp + 0x98], r15
lea rcx, [rbp + 0x98]
call fcn.140018db0
mov rcx, qword [0x140130b50]
lea r8, [rsp + 0x48]
xor eax, eax
mov qword [rsp + 0x38], r14
mov qword [rbp + 0x98], rax
mov r9d, 0x28
mov rax, qword [0x140130b48]
mov edx, 0x221a5c
add rax, 0x19c5958
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x60], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm8, dword [rbp + 0x9c]
xor r9d, r9d
xor edx, edx
mov cl, 0x44
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
jmp 0x1400db3a5
jbe 0x1400dba11
xor r9d, r9d
xor edx, edx
mov cl, 0x44
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x41
call qword [sym.imp.USER32.dll_keybd_event]
mov eax, 0x64
cdq
idiv dword [rsi + 4]
mov ecx, eax
mov eax, 0xc350
cdq
idiv ecx
lea rcx, [rbp - 0x58]
movsxd rbx, eax
call fcn.140011600
mov rcx, qword [rbp - 0x58]
mov qword [rbp + 0x98], rcx
cmp rbx, 1
jl 0x1400db97d
imul rdx, rbx, 0x3e8
mov rax, r15
sub rax, rdx
cmp rcx, rax
jge 0x1400db976
lea rax, [rcx + rdx]
mov qword [rbp + 0x98], rax
jmp 0x1400db97d
mov qword [rbp + 0x98], r15
lea rcx, [rbp + 0x98]
call fcn.140018db0
mov rcx, qword [0x140130b50]
lea r8, [rsp + 0x48]
xor eax, eax
mov qword [rsp + 0x38], r14
mov qword [rbp + 0x98], rax
mov r9d, 0x28
mov rax, qword [0x140130b48]
mov edx, 0x221a5c
add rax, 0x19c5958
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x60], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm8, dword [rbp + 0x9c]
xor r9d, r9d
xor edx, edx
mov cl, 0x41
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_keybd_event]
jmp 0x1400db3a5
mov rcx, qword [0x140130b50]
lea r8, [rsp + 0x70]
xor eax, eax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rax
mov r9d, 0x28
mov rax, qword [0x140130b48]
mov edx, 0x221a5c
add rax, 0x19c5958
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x40]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x78], 8
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movss xmm8, dword [rsp + 0x44]
jmp 0x1400db3a5