Function at 0x140065ad0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x4b8]
sub rsp, 0x5a0
vmovaps xmmword [rax - 0x28], xmm6
vmovaps xmmword [rax - 0x38], xmm7
vmovaps xmmword [rax - 0x48], xmm8
vmovaps xmmword [rax - 0x58], xmm9
vmovaps xmmword [rax - 0x68], xmm10
vmovaps xmmword [rax - 0x78], xmm11
vmovaps xmmword [rax - 0x88], xmm12
mov rax, qword [0x1400ff080]
xor rax, rsp
mov qword [rbp + 0x420], rax
mov rsi, rcx
xor r14d, r14d
mov dword [rsp + 0x48], r14d
mov edx, dword [0x1400ffe80]
add rdx, qword [rcx + 0x38]
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006644c
cmp dword [0x1400ffd40], r14d
je 0x14006644c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006644c
mov eax, dword [rsp + 0x48]
cmp eax, 0xffffffff
je 0x14006644c
shr eax, 9
lea eax, [rax*8 + 0x10]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], r14d
lea ecx, [r14 + 8]
call fcn.140094860
mov qword [rsp + 0x30], rax
lea rdx, [rax + 8]
mov qword [rsp + 0x40], rdx
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
mov qword [rsp + 0x38], rdx
lea r8, [rsp + 0x30]
mov rdx, qword [0x140103d18]
call fcn.140009460
test rax, rax
je 0x14006644c
mov qword [rsp + 0x58], r14
mov ecx, dword [rsp + 0x48]
and ecx, 0x1ff
imul edx, ecx, 0x78
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006644c
cmp dword [0x1400ffd40], r14d
je 0x14006644c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 8]
lea r8, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006644c
xor edx, edx
mov r8d, 0xe8
lea rcx, [rsp + 0x70]
call fcn.140097140
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r14
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], r14b
mov qword [rbp - 0x58], r14
vmovdqu xmmword [rbp - 0x50], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp - 0x40], xmm1
vmovups xmmword [rbp - 0x30], xmm0
vmovups xmmword [rbp - 0x20], xmm1
vxorps xmm8, xmm8, xmm8
vmovss dword [rbp - 0x10], xmm8
vmovss dword [rbp - 0xc], xmm8
vmovups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 0xf
mov byte [rbp - 8], r14b
vmovss dword [rbp + 0x1c], xmm8
vmovss dword [rbp + 0x20], xmm8
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], r14
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14006640c
mov qword [rbp - 0x58], rax
mov edx, dword [0x1400ffe08]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0xc]
lea r8, [rbp - 0x14]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffdf0]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0xc]
lea r8, [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe04]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 8]
lea r8, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
lea rcx, [rbp - 0x58]
call fcn.1400096b0
test al, al
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe18]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 8]
lea r8, [rbp + 0x1c]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe10]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rbp + 0x18]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffdf8]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe24]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rbp + 0x3c]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov qword [rsp + 0x50], r14
mov edx, dword [0x1400ffe28]
add rdx, qword [rbp - 0x58]
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 8]
lea r8, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe2c]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe34]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 8]
lea r8, [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe30]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 4]
lea r8, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14006640c
mov edx, dword [0x1400ffe1c]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 0x10]
lea r8, [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14006640c
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r14
mov edx, dword [0x1400ffd5c]
add rdx, rax
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 8]
lea r8, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
mov edx, dword [0x1400ffd60]
add rdx, qword [rsp + 0x68]
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 8]
lea r8, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
xor edx, edx
mov r8d, 0x3c0
lea rcx, [rbp + 0x60]
call fcn.140097140
lea rcx, [rbp + 0x60]
call fcn.1400030e0
mov rcx, qword [0x1400ffd38]
test rcx, rcx
je 0x14006640c
cmp dword [0x1400ffd40], r14d
je 0x14006640c
mov qword [rsp + 0x20], r14
mov r9d, 0x3c0
lea r8, [rbp + 0x60]
mov rdx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14006640c
lea rbx, [rbp + 0x60]
lea edi, [r14 + 0x1e]
vmovss xmm10, dword [0x1400e79d0]
vmovsd xmm11, qword [0x1400e7a28]
vmovss xmm12, dword [0x1400e7a20]
mov rcx, qword [rbp - 0x40]
vmovaps xmm4, xmm8
vmovaps xmm2, xmm8
mov rax, qword [0x140103d98]
vmulss xmm9, xmm10, dword [rax + 0xec]
vmovss xmm5, dword [rbx + 4]
vmovss xmm6, dword [rbx]
vmovss xmm7, dword [rbx + 8]
vmulss xmm0, xmm6, dword [0x140103d88]
vfmadd231ss xmm0, xmm5, dword [0x140103d8c]
vfmadd231ss xmm0, xmm7, dword [0x140103d90]
vaddss xmm1, xmm0, dword [0x140103d94]
vcvtss2sd xmm0, xmm1, xmm1
vcomisd xmm0, xmm11
ja 0x1400661d9
xor dl, dl
jmp 0x140066243
vdivss xmm3, xmm12, xmm1
vmulss xmm0, xmm6, dword [0x140103d58]
vfmadd231ss xmm0, xmm5, dword [0x140103d5c]
vfmadd231ss xmm0, xmm7, dword [0x140103d60]
vaddss xmm0, xmm0, dword [0x140103d64]
vfmadd213ss xmm0, xmm3, xmm12
vmulss xmm0, xmm0, dword [rax + 0xe8]
vmulss xmm4, xmm0, xmm10
vmulss xmm2, xmm6, dword [0x140103d68]
vfmadd231ss xmm2, xmm5, dword [0x140103d6c]
vfmadd231ss xmm2, xmm7, dword [0x140103d70]
vaddss xmm0, xmm2, dword [0x140103d74]
vmulss xmm1, xmm0, xmm3
vmovaps xmm2, xmm9
vfnmadd231ss xmm2, xmm9, xmm1
mov dl, 1
vmovsd xmm0, qword [rbx]
vmovsd qword [rsp + 0x30], xmm0
mov eax, dword [rbx + 8]
mov dword [rsp + 0x38], eax
vmovss dword [rsp + 0x3c], xmm4
vmovss dword [rsp + 0x40], xmm2
mov byte [rsp + 0x44], dl
cmp rcx, qword [rbp - 0x38]
je 0x14006628d
vmovups xmm0, xmmword [rsp + 0x30]
vmovups xmmword [rcx], xmm0
vmovsd xmm1, qword [rsp + 0x40]
vmovsd qword [rcx + 0x10], xmm1
mov rcx, qword [rbp - 0x40]
add rcx, 0x18
mov qword [rbp - 0x40], rcx
jmp 0x1400662a2
lea r8, [rsp + 0x30]
mov rdx, rcx
lea rcx, [rbp - 0x48]
call fcn.140003550
mov rcx, qword [rbp - 0x40]
add rbx, 0x20
sub rdi, 1
jne 0x140066181
sub rcx, qword [rbp - 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14006640c
cmp byte [0x1400ffce0], dil
je 0x1400662ed
mov eax, dword [rbp + 0x3c]
cmp dword [rsi + 0xcc], eax
je 0x14006640c
cmp dword [rbp + 0x38], 0
jle 0x14006640c
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x140103eb0], eax
jle 0x140066372
lea rcx, [0x140103eb0]
call fcn.1400947e8
cmp dword [0x140103eb0], 0xffffffff
jne 0x140066372
call fcn.140071b9c
mov rbx, rax
call fcn.140071b80
cmp rbx, 0x989680
jne 0x140066344
imul rax, rax, 0x64
jmp 0x14006635f
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [0x140103eb8], rax
lea rcx, [0x140103eb0]
call fcn.14009477c
call fcn.140071b9c
mov rbx, rax
call fcn.140071b80
cmp rbx, 0x989680
jne 0x14006638e
imul rbx, rax, 0x64
jmp 0x1400663aa
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
mov eax, dword [0x1400ffca0]
imul rcx, rax, 0xf4240
mov rax, rbx
sub rax, qword [0x140103eb8]
cmp rax, rcx
jl 0x14006640c
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr ax, 0xf
test al, al
jne 0x140066405
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [0x140103eb8], rbx
lea rcx, [rbp - 0x58]
call fcn.140008aa0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14006644c
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066447
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006649d
call fcn.140094bbc
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.140094720
lea r11, [rsp + 0x5a0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.14009b434
int3