Function at 0x18004e2e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x80]
sub rsp, 0x180
cmp byte [0x1800a6f99], 0
mov rdi, qword [0x1800a6de8]
je 0x18004e319
mov rax, qword [rdi + 0x300]
movss xmm0, dword [0x1800a3f78]
movss dword [rax + 0x1f8], xmm0
cmp byte [0x1800a6e4e], 0
je 0x18004e332
movss xmm0, dword [0x1800a3f84]
movss dword [rdi + 0xd4], xmm0
cmp byte [0x1800a6efd], 0
movaps xmmword [rsp + 0x170], xmm6
je 0x18004e36c
mov dl, 0x97
mov rcx, rdi
call fcn.180003e90
mov dl, 1
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180003e90
comiss xmm0, xmm6
jbe 0x18004e36c
movaps xmm2, xmm0
mov dl, 0x97
mov rcx, rdi
call fcn.180003b70
cmp byte [0x1800a6efa], 0
je 0x18004e39e
mov dl, 0x98
mov rcx, rdi
call fcn.180003e90
mov dl, 2
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180003e90
comiss xmm0, xmm6
jbe 0x18004e39e
movaps xmm2, xmm0
mov dl, 0x98
mov rcx, rdi
call fcn.180003b70
cmp byte [0x1800a6e4f], 0
je 0x18004e3d0
mov dl, 0x9e
mov rcx, rdi
call fcn.180003e90
mov dl, 8
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180003e90
comiss xmm0, xmm6
jbe 0x18004e3d0
movaps xmm2, xmm0
mov dl, 0x9e
mov rcx, rdi
call fcn.180003b70
cmp byte [0x1800a6e23], 0
je 0x18004e402
mov dl, 0xbf
mov rcx, rdi
call fcn.180003e90
mov dl, 0x27
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180003e90
comiss xmm0, xmm6
jbe 0x18004e402
movaps xmm2, xmm0
mov dl, 0xbf
mov rcx, rdi
call fcn.180003b70
cmp byte [0x1800a6eff], 0
je 0x18004e434
mov dl, 0xc9
mov rcx, rdi
call fcn.180003e90
mov dl, 0x10
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180003e90
comiss xmm0, xmm6
jbe 0x18004e434
movaps xmm2, xmm0
mov dl, 0xc9
mov rcx, rdi
call fcn.180003b70
cmp byte [0x1800a6ef9], 0
je 0x18004e466
mov dl, 0xca
mov rcx, rdi
call fcn.180003e90
mov dl, 0x11
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180003e90
comiss xmm0, xmm6
jbe 0x18004e466
movaps xmm2, xmm0
mov dl, 0xca
mov rcx, rdi
call fcn.180003b70
cmp byte [0x1800a6efb], 0
je 0x18004e498
mov dl, 0xbd
mov rcx, rdi
call fcn.180003e90
mov dl, 0xf
mov rcx, rdi
movaps xmm6, xmm0
call fcn.180003e90
comiss xmm0, xmm6
jbe 0x18004e498
movaps xmm2, xmm0
mov dl, 0xbd
mov rcx, rdi
call fcn.180003b70
cmp byte [0x1800a6e4c], 0
je 0x18004e7e7
mov rax, qword [0x1800a6de0]
mov ecx, 0xa0
movss xmm6, dword [0x1800927b8]
mov qword [rsp + 0x198], rsi
mov rsi, qword [rax + 0x330]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18004e4db
movss xmm6, dword [0x1800927dc]
mov ecx, 0x57
mov qword [rsp + 0x190], rbx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18004e562
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.180006790
lea rdx, [rsp + 0x60]
mov rcx, rsi
mov rbx, rax
call fcn.180005e30
cvtps2pd xmm6, xmm6
lea r9, [rbp - 0x80]
mov byte [rsp + 0x20], 1
lea rdx, [rsp + 0x30]
mov rcx, rdi
movaps xmm0, xmm6
movaps xmm1, xmm6
mulsd xmm0, qword [rax]
mulsd xmm1, qword [rax + 8]
addsd xmm0, qword [rbx]
addsd xmm1, qword [rbx + 8]
movsd qword [rsp + 0x30], xmm0
movaps xmm0, xmm6
mulsd xmm0, qword [rax + 0x10]
movsd qword [rsp + 0x38], xmm1
addsd xmm0, qword [rbx + 0x10]
movsd qword [rsp + 0x40], xmm0
call fcn.180005740
jmp 0x18004e565
cvtps2pd xmm6, xmm6
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18004e5eb
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180006790
lea rdx, [rsp + 0x48]
mov rcx, rsi
mov rbx, rax
call fcn.180005e30
movsd xmm0, qword [rbx]
lea r9, [rbp - 0x80]
movaps xmm1, xmm6
mov byte [rsp + 0x20], 1
movaps xmm2, xmm6
lea rdx, [rsp + 0x30]
mulsd xmm1, qword [rax]
mov rcx, rdi
mulsd xmm2, qword [rax + 8]
subsd xmm0, xmm1
movaps xmm1, xmm6
mulsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [rbx + 8]
subsd xmm0, xmm2
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rbx + 0x10]
subsd xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
call fcn.180005740
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18004e671
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180006790
lea rdx, [rsp + 0x48]
mov rcx, rsi
mov rbx, rax
call fcn.180006150
movsd xmm0, qword [rbx]
lea r9, [rbp - 0x80]
movaps xmm1, xmm6
mov byte [rsp + 0x20], 1
movaps xmm2, xmm6
lea rdx, [rsp + 0x30]
mulsd xmm1, qword [rax]
mov rcx, rdi
mulsd xmm2, qword [rax + 8]
subsd xmm0, xmm1
movaps xmm1, xmm6
mulsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [rbx + 8]
subsd xmm0, xmm2
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rbx + 0x10]
subsd xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
call fcn.180005740
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18004e6e8
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180006790
lea rdx, [rsp + 0x48]
mov rcx, rsi
mov rbx, rax
call fcn.180006150
movaps xmm0, xmm6
mov byte [rsp + 0x20], 1
movaps xmm1, xmm6
lea r9, [rbp - 0x80]
lea rdx, [rsp + 0x30]
mov rcx, rdi
mulsd xmm0, qword [rax]
mulsd xmm1, qword [rax + 8]
mulsd xmm6, qword [rax + 0x10]
addsd xmm0, qword [rbx]
addsd xmm1, qword [rbx + 8]
addsd xmm6, qword [rbx + 0x10]
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x38], xmm1
movsd qword [rsp + 0x40], xmm6
call fcn.180005740
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm6, qword [0x180092778]
test ax, ax
jns 0x18004e761
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180006790
lea rdx, [rsp + 0x48]
mov rcx, rsi
mov rbx, rax
call fcn.180006470
movdqa xmm1, xmmword [0x180092d50]
lea rdx, [rsp + 0x30]
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov rcx, rdi
movups xmm0, xmmword [rax]
mulpd xmm1, xmm0
movups xmm0, xmmword [rbx]
addpd xmm1, xmm0
movsd xmm0, qword [rax + 0x10]
mulsd xmm0, xmm6
movups xmmword [rsp + 0x30], xmm1
addsd xmm0, qword [rbx + 0x10]
movsd qword [rsp + 0x40], xmm0
call fcn.180005740
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18004e7d7
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180006790
lea rdx, [rsp + 0x48]
mov rcx, rsi
mov rbx, rax
call fcn.180006470
movdqa xmm1, xmmword [0x180092d50]
lea r9, [rbp - 0x80]
movups xmm2, xmmword [rbx]
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x20], 1
movups xmm0, xmmword [rax]
mov rcx, rdi
mulpd xmm1, xmm0
movsd xmm0, qword [rbx + 0x10]
subpd xmm2, xmm1
movsd xmm1, qword [rax + 0x10]
mulsd xmm1, xmm6
movups xmmword [rsp + 0x30], xmm2
subsd xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
call fcn.180005740
mov rbx, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x198]
movaps xmm6, xmmword [rsp + 0x170]
mov rdi, qword [rsp + 0x1a0]
add rsp, 0x180
pop rbp
ret