Function at 0x1400edea0
Capabilities:
Log keystrokes via polling

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rax, qword [0x14082e958]
xor rax, rsp
mov qword [rsp + 0xc0], rax
call fcn.14001d470
mov rsi, rax
call fcn.1400edd90
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x38], rdx
mov rax, qword [rsp + 0x38]
mov rax, qword [rsp + 0x38]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetClientRect]
movq xmm0, qword [rsp + 0xa8]
movq xmm1, qword [rsp + 0xa0]
psubd xmm0, xmm1
cvtdq2ps xmm0, xmm0
mov eax, dword [0x140837998]
mov ecx, dword [0x14083799c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rsp + 0x50]
mov edx, 0x1d25f4f3
mov eax, 0xd927f682
cmove eax, edx
cmp ecx, 0xa
setl byte [rsp + 0x58]
cmovl eax, edx
mov edx, 0x3af614fb
mov ecx, 0x1d1b83ff
nop word [rax + rax]
cmp edx, 0x1d25f4f2
jg 0x1400edf80
cmp edx, 0xd927f682
je 0x1400edfa9
cmp edx, 0x1d1b83ff
jne 0x1400edf60
mov edx, eax
jmp 0x1400edf60
cmp edx, 0x1d25f4f3
je 0x1400edfb0
cmp edx, 0x3af614fb
jne 0x1400edf60
movzx ebx, byte [rsp + 0x50]
cmp byte [rsp + 0x58], 0
mov edx, 0xd927f682
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x1400edf60
mov edx, 0x1d1b83ff
jmp 0x1400edf60
movss dword [rsi + 8], xmm0
pshufd xmm0, xmm0, 0x55
movd dword [rsi + 0xc], xmm0
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x98], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x30]
mov rdx, rax
sub rdx, qword [rcx + 0x18]
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
mov rdx, qword [rsp + 0x30]
xorps xmm1, xmm1
cvtsi2ss xmm1, qword [rdx + 0x20]
divss xmm0, xmm1
mov qword [rsp + 0x90], rsi
movss dword [rsi + 0x10], xmm0
mov qword [rcx + 0x18], rax
call fcn.1400edd90
mov qword [rsp + 0x70], rax
call fcn.14001d470
mov qword [rsp + 0x40], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x48]
cmp rax, qword [rcx]
sete byte [rsp + 0x28]
mov al, byte [rsp + 0x28]
mov eax, 0x2cc0f784
lea rdi, [rsp + 0xb0]
mov r14d, 0xc85c7889
lea rbx, [rsp + 0xb8]
mov r12d, 0x6c31c087
mov r15d, 0x3a7b6264
mov r13d, 0xab98c071
mov esi, 0xce70da42
mov ebp, 0xc40782cb
jmp 0x1400ee0a0
mov eax, 0xce70da42
nop word cs:[rax + rax]
nop
cmp eax, 0x2711d3c
jle 0x1400ee0f0
cmp eax, 0x2cc0f783
jg 0x1400ee150
cmp eax, 0x12ba6e6c
jg 0x1400ee1fa
cmp eax, 0x2711d3d
je 0x1400ee33d
cmp eax, 0x6cbcbe4
je 0x1400ee369
cmp eax, 0xaf1e0bc
jne 0x1400ee0a0
mov rax, qword [rsp + 0x40]
mov eax, 0x6c31c087
jmp 0x1400ee0a0
cmp eax, 0xc85c7888
jle 0x1400ee1b0
cmp eax, 0xe59db58b
jg 0x1400ee243
cmp eax, 0xc85c7889
je 0x1400ee380
cmp eax, 0xce70da42
je 0x1400ee38a
cmp eax, 0xdb9f145e
jne 0x1400ee0a0
mov rax, qword [rsp + 0x50]
mov edx, dword [rax]
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov eax, 0x3115766d
jmp 0x1400ee0a0
cmp eax, 0x4619c50f
jg 0x1400ee27e
cmp eax, 0x2cc0f784
je 0x1400ee3b2
cmp eax, 0x3115766d
je 0x1400ee3c9
cmp eax, 0x3a7b6264
jne 0x1400ee0a0
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xe59db58c
cmove eax, r13d
cmp dword [0x1408379a4], 0xa
cmovl eax, r13d
jmp 0x1400ee0a0
cmp eax, 0xbf11db3b
jg 0x1400ee2e4
cmp eax, 0x931ac9bd
je 0x1400ee090
cmp eax, 0xab98c071
je 0x1400ee3f9
cmp eax, 0xaccc4683
jne 0x1400ee0a0
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xed021d7a
mov ecx, 0xc6eb6b7f
jmp 0x1400ee32b
cmp eax, 0x12ba6e6d
je 0x1400ee403
cmp eax, 0x198165e8
je 0x1400ee41e
cmp eax, 0x2a0916ed
jne 0x1400ee0a0
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xaf1e0bc
cmove eax, r12d
cmp dword [0x1408379a4], 0xa
cmovl eax, r12d
jmp 0x1400ee0a0
cmp eax, 0xe59db58c
je 0x1400ee48e
cmp eax, 0xed021d7a
je 0x1400ee498
cmp eax, 0xf5bb63fb
jne 0x1400ee0a0
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
mov eax, 0xbf11db3c
mov ecx, 0x12ba6e6d
cmove eax, ecx
jmp 0x1400ee0a0
cmp eax, 0x4619c510
je 0x1400ee4b3
cmp eax, 0x535c83be
je 0x1400ee4de
cmp eax, 0x6c31c087
jne 0x1400ee0a0
mov rax, qword [rsp + 0x40]
mov ecx, 0xcb
add rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
setne byte [rsp + 0x2a]
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xaf1e0bc
cmove eax, ebp
cmp dword [0x1408379a4], 0xa
cmovl eax, ebp
jmp 0x1400ee0a0
cmp eax, 0xc40782cb
je 0x1400ee505
cmp eax, 0xc6eb6b7f
jne 0x1400ee51c
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, rdi
call qword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
setne byte [rsp + 0x2b]
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xed021d7a
mov ecx, 0x6cbcbe4
cmove eax, ecx
cmp dword [0x1408379a4], 0xa
cmovl eax, ecx
jmp 0x1400ee0a0
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [rsp + 0xb4]
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
call fcn.140004f90
mov eax, 0x4619c510
jmp 0x1400ee0a0
cmp byte [rsp + 0x2b], 0
mov eax, 0x4619c510
mov ecx, 0x2711d3d
cmovne eax, ecx
jmp 0x1400ee0a0
mov eax, 0xbf11db3c
jmp 0x1400ee0a0
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x931ac9bd
cmove eax, r14d
cmp dword [0x1408379a4], 0xa
cmovl eax, r14d
jmp 0x1400ee0a0
cmp byte [rsp + 0x28], 0
mov eax, 0xbf11db3c
mov ecx, 0x2a0916ed
cmovne eax, ecx
jmp 0x1400ee0a0
mov rax, qword [rsp + 0x80]
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xe59db58c
cmove eax, r15d
cmp dword [0x1408379a4], 0xa
cmovl eax, r15d
jmp 0x1400ee0a0
mov eax, 0xf5bb63fb
jmp 0x1400ee0a0
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x10], 0
mov eax, 0xbf11db3c
mov ecx, 0x535c83be
cmove eax, ecx
jmp 0x1400ee0a0
mov qword [rsp + 0x80], rbx
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], rbx
mov rax, qword [rsp + 0x40]
cvttss2si ecx, dword [rax + 0xd8c]
mov rdx, qword [rsp + 0x88]
mov dword [rdx], ecx
lea rcx, [rsp + 0xbc]
mov qword [rsp + 0x50], rcx
cvttss2si eax, dword [rax + 0xd90]
mov rcx, qword [rsp + 0x50]
mov dword [rcx], eax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, rbx
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
mov eax, 0xdb9f145e
mov ecx, 0x3115766d
cmove eax, ecx
jmp 0x1400ee0a0
mov eax, 0x3a7b6264
jmp 0x1400ee0a0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, rdi
call qword [sym.imp.USER32.dll_ScreenToClient]
mov eax, 0xc6eb6b7f
jmp 0x1400ee0a0
mov rax, qword [rsp + 0x58]
mov eax, dword [0x1408379a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x931ac9bd
cmove eax, esi
cmp dword [0x1408379a4], 0xa
cmovl eax, esi
jmp 0x1400ee0a0
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
mov eax, 0xaccc4683
mov ecx, 0x4619c510
cmove eax, ecx
jmp 0x1400ee0a0
cmp byte [rsp + 0x2a], 0
mov eax, 0xf5bb63fb
mov ecx, 0x198165e8
cmovne eax, ecx
jmp 0x1400ee0a0
cmp eax, 0xbf11db3c
jne 0x1400ee0a0
mov ecx, 0x39859bff
mov rsi, qword [sym.imp.USER32.dll_GetKeyState]
jmp 0x1400ee540
cmp eax, 0xa
cmovl ecx, edx
nop dword [rax + rax]
cmp ecx, 0x229a8183
jle 0x1400ee590
cmp ecx, 0x596f3bac
jg 0x1400ee5e0
cmp ecx, 0x261cc5e3
jg 0x1400ee673
cmp ecx, 0x229a8184
je 0x1400ee755
cmp ecx, 0x25890b9d
jne 0x1400ee540
mov ecx, 0x5b
call rsi
mov ecx, 0x8391189f
test ax, ax
js 0x1400ee540
mov ecx, 0x261cc5e4
jmp 0x1400ee540
cmp ecx, 0xcdf88f5c
jg 0x1400ee630
cmp ecx, 0x8c719dc7
jg 0x1400ee6ac
cmp ecx, 0x8198a8c5
je 0x1400ee774
cmp ecx, 0x8391189f
jne 0x1400ee540
mov ecx, 0x216
call fcn.14006f000
mov ecx, 0x61e6f935
test al, al
jne 0x1400ee540
mov ecx, 0xecb219aa
jmp 0x1400ee540
cmp ecx, 0x61e6f934
jg 0x1400ee6e5
cmp ecx, 0x596f3bad
je 0x1400ee77e
cmp ecx, 0x6093995c
jne 0x1400ee540
mov ecx, 0x210
xor edx, edx
mov r8d, 0xa0
mov r9d, 0xffffffff
call fcn.1400efa60
mov ecx, 0xbc68eb93
jmp 0x1400ee540
cmp ecx, 0xecb219a9
jg 0x1400ee728
cmp ecx, 0xcdf88f5d
je 0x1400ee7a0
cmp ecx, 0xdb4031fb
jne 0x1400ee540
mov ecx, 0xa0
call rsi
mov ecx, 0xbc68eb93
test ax, ax
js 0x1400ee540
mov ecx, 0x6093995c
jmp 0x1400ee540
cmp ecx, 0x261cc5e4
je 0x1400ee7e8
cmp ecx, 0x39859bff
jne 0x1400ee540
mov ecx, 0x210
call fcn.14006f000
mov ecx, 0xdb4031fb
test al, al
jne 0x1400ee540
mov ecx, 0xbc68eb93
jmp 0x1400ee540
cmp ecx, 0x8c719dc8
je 0x1400ee80a
cmp ecx, 0xbc68eb93
jne 0x1400ee540
mov ecx, 0x214
call fcn.14006f000
mov ecx, 0x229a8184
test al, al
jne 0x1400ee540
mov ecx, 0x1a6a596
jmp 0x1400ee540
cmp ecx, 0x61e6f935
je 0x1400ee82c
cmp ecx, 0x7e6ac631
jne 0x1400ee540
mov ecx, dword [0x1408381b8]
mov eax, dword [0x1408381bc]
lea ebp, [rcx - 1]
imul ebp, ecx
mov edx, 0xcdf88f5d
mov ecx, 0xcdf88f5d
test bpl, 1
je 0x1400ee535
jmp 0x1400ee7de
cmp ecx, 0x1a6a596
jne 0x1400ee84b
mov ecx, 0x212
call fcn.14006f000
mov ecx, 0x25890b9d
test al, al
jne 0x1400ee540
mov ecx, 0x8391189f
jmp 0x1400ee540
mov ecx, 0xa1
call rsi
mov ecx, 0x1a6a596
test ax, ax
js 0x1400ee540
mov ecx, 0x8c719dc8
jmp 0x1400ee540
mov ecx, 0xecb219aa
jmp 0x1400ee540
mov ecx, 0x216
xor edx, edx
mov r8d, 0x5c
mov r9d, 0xffffffff
call fcn.1400efa60
mov ecx, 0xcdf88f5d
jmp 0x1400ee540
mov ecx, 0x216
xor edx, edx
mov r8d, 0x5c
mov r9d, 0xffffffff
call fcn.1400efa60
mov ecx, dword [0x1408381b8]
mov eax, dword [0x1408381bc]
lea ebp, [rcx - 1]
imul ebp, ecx
mov edx, 0x8198a8c5
mov ecx, 0x8198a8c5
test bpl, 1
je 0x1400ee535
mov ecx, 0x596f3bad
jmp 0x1400ee535
mov ecx, 0x212
xor edx, edx
mov r8d, 0x5b
mov r9d, 0xffffffff
call fcn.1400efa60
mov ecx, 0x8391189f
jmp 0x1400ee540
mov ecx, 0x214
xor edx, edx
mov r8d, 0xa1
mov r9d, 0xffffffff
call fcn.1400efa60
mov ecx, 0x1a6a596
jmp 0x1400ee540
mov ecx, 0x5c
call rsi
mov ecx, 0xecb219aa
test ax, ax
js 0x1400ee540
mov ecx, 0x7e6ac631
jmp 0x1400ee540
cmp ecx, 0xecb219aa
jne 0x1400ee540
mov rax, qword [rsp + 0x90]
mov al, byte [rax + 0x68]
mov byte [rsp + 0x29], al
mov edi, 0x6cc651ff
jmp 0x1400ee890
call fcn.1400ef0f0
mov rax, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov edi, 0x55a388f3
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp edi, 0x532c80e5
jg 0x1400ee8d0
cmp edi, 0xaeec60d0
jg 0x1400ee910
cmp edi, 0x86f4e4ec
je 0x1400ee997
cmp edi, 0x8814ea68
jne 0x1400ee890
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x2c]
mov dword [rax], ecx
call fcn.1400eea10
mov edi, 0x23d691b9
jmp 0x1400ee890
cmp edi, 0x6cc651fe
jle 0x1400ee94b
cmp edi, 0x731ecedf
je 0x1400ee9a8
cmp edi, 0x6cc651ff
jne 0x1400ee890
test byte [rsp + 0x29], 1
mov edi, 0x86f4e4ec
je 0x1400ee8fd
mov edi, 0x731ecedf
mov esi, 0xffffffff
jmp 0x1400ee890
cmp edi, 0xaeec60d1
je 0x1400ee86d
cmp edi, 0x23d691b9
jne 0x1400ee890
mov ecx, dword [0x1408381b0]
mov eax, dword [0x1408381b4]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0x55a388f3
mov edi, 0x55a388f3
test dl, 1
jne 0x1400ee987
jmp 0x1400ee98c
cmp edi, 0x55a388f3
jne 0x1400ee9da
call fcn.1400ef0f0
mov rax, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov ecx, dword [0x1408381b0]
mov eax, dword [0x1408381b4]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, 0x532c80e6
mov edi, 0x532c80e6
test dl, 1
je 0x1400ee98c
mov edi, 0xaeec60d1
cmp eax, 0xa
cmovl edi, ecx
jmp 0x1400ee890
mov edi, 0x731ecedf
call fcn.14006f980
mov esi, eax
jmp 0x1400ee890
mov dword [rsp + 0x2c], esi
mov rax, qword [rsp + 0x30]
add rax, 0x28
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov edi, 0x23d691b9
cmp eax, dword [rsp + 0x2c]
je 0x1400ee890
mov edi, 0x8814ea68
jmp 0x1400ee890
cmp edi, 0x532c80e6
jne 0x1400ee890
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140384540
nop
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret