Function at 0x140054404
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x140069040]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor esi, esi
cmp byte [0x1400a8251], sil
je 0x1400548b4
mov ecx, dword [0x1400a8254]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140054462
cmp byte [0x1400a8160], sil
sete byte [0x1400a8160]
mov rdx, qword [0x1400a6ca0]
lea r8, [rbp + 0x17]
mov rcx, qword [0x1400a6c40]
mov r15d, 8
add rdx, 0x10c8
mov qword [rbp + 0x17], rsi
mov r9d, r15d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp byte [0x1400a8160], sil
mov r9d, r15d
mov rcx, qword [0x1400a6c40]
mov qword [rsp + 0x20], rsi
je 0x14005489b
mov rdx, qword [0x1400a6d18]
lea r8, [rbp - 0x19]
add rdx, qword [0x1400a6c48]
mov qword [rbp - 0x19], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbx, qword [rbp - 0x19]
test rbx, rbx
je 0x1400548b4
mov rdx, qword [0x1400a6ca0]
lea r14d, [r15 + 4]
mov rcx, qword [0x1400a6c40]
lea r8, [rbp + 7]
add rdx, 0x90
mov qword [rsp + 0x20], rsi
mov r9d, r14d
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x1400a6ca0]
lea r8, [rbp - 0x11]
mov rcx, qword [0x1400a6c40]
add rdx, 0x30
mov r9d, r15d
mov qword [rbp - 0x11], rsi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp + 0x17]
lea r8, [rbp - 9]
mov rcx, qword [0x1400a6c40]
add rdx, 0x238
mov rdi, qword [rbp - 0x11]
mov r9d, r15d
mov qword [rbp - 9], 2
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140054580
movd xmm0, dword [0x1400a82b4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1400a82b0]
jmp 0x140054588
movss xmm0, dword [0x1400a82b0]
mov ecx, 0x57
movss dword [0x1400a7b10], xmm0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm6, xmm6
test ax, ax
jns 0x140054663
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x3d0]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 9]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm1, dword [rbp - 9]
ucomiss xmm1, xmm6
jp 0x14005461d
jne 0x14005461d
movss xmm0, dword [rbp - 5]
ucomiss xmm0, xmm6
jp 0x14005461d
jne 0x14005461d
movss xmm0, dword [rbp - 1]
ucomiss xmm0, xmm6
jp 0x14005461d
jne 0x14005461d
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x40]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 0x17]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rbp + 0x17]
mov eax, dword [rbp + 0x1f]
movsd qword [rbp - 9], xmm0
movss xmm1, dword [rbp - 9]
mov dword [rbp - 1], eax
movss xmm2, dword [0x1400a7b10]
movaps xmm0, xmm2
mulss xmm0, xmm1
movss xmm1, dword [rbp + 7]
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rbp - 5]
mulss xmm2, dword [rbp - 1]
movss dword [rbp + 7], xmm1
movss xmm1, dword [rbp + 0xb]
addss xmm1, xmm0
movss xmm0, dword [rbp + 0xf]
addss xmm0, xmm2
movss dword [rbp + 0xb], xmm1
movss dword [rbp + 0xf], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140054738
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x3d0]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 9]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm1, dword [rbp - 9]
ucomiss xmm1, xmm6
jp 0x1400546ed
jne 0x1400546ed
movss xmm0, dword [rbp - 5]
ucomiss xmm0, xmm6
jp 0x1400546ed
jne 0x1400546ed
movss xmm0, dword [rbp - 1]
ucomiss xmm0, xmm6
jp 0x1400546ed
jne 0x1400546ed
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x40]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 0x17]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rbp + 0x17]
mov eax, dword [rbp + 0x1f]
movsd qword [rbp - 9], xmm0
movss xmm1, dword [rbp - 9]
mov dword [rbp - 1], eax
movss xmm2, dword [0x1400a7b10]
movaps xmm0, xmm2
mulss xmm0, xmm1
movss xmm1, dword [rbp + 7]
subss xmm1, xmm0
movss xmm0, dword [rbp - 5]
mulss xmm0, xmm2
movss dword [rbp + 7], xmm1
movss xmm1, dword [rbp + 0xb]
subss xmm1, xmm0
movss xmm0, dword [rbp - 1]
mulss xmm0, xmm2
movss dword [rbp + 0xb], xmm1
movss xmm1, dword [rbp + 0xf]
subss xmm1, xmm0
movss dword [rbp + 0xf], xmm1
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400547bb
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x3d0]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 9]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 9]
ucomiss xmm0, xmm6
jp 0x1400547a9
jne 0x1400547a9
movss xmm0, dword [rbp - 5]
ucomiss xmm0, xmm6
jp 0x1400547a9
jne 0x1400547a9
movss xmm0, dword [rbp - 1]
ucomiss xmm0, xmm6
jp 0x1400547a9
jne 0x1400547a9
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x40]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 0x17]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp + 0xf]
addss xmm0, dword [0x1400a7b10]
movss dword [rbp + 0xf], xmm0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14005483e
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x3d0]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 9]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 9]
ucomiss xmm0, xmm6
jp 0x14005482c
jne 0x14005482c
movss xmm0, dword [rbp - 5]
ucomiss xmm0, xmm6
jp 0x14005482c
jne 0x14005482c
movss xmm0, dword [rbp - 1]
ucomiss xmm0, xmm6
jp 0x14005482c
jne 0x14005482c
mov rcx, qword [0x1400a6c40]
lea rdx, [rbx + 0x40]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 0x17]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp + 0xf]
subss xmm0, dword [0x1400a7b10]
movss dword [rbp + 0xf], xmm0
mov rdx, qword [0x1400a6ca0]
lea r8, [rbp + 7]
mov rcx, qword [0x1400a6c40]
add rdx, 0x90
mov r9, r14
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1400a6c40]
lea rdx, [rdi + 0x50]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 7]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1400a6c40]
lea rdx, [rdi + 0x30]
mov r9, r14
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 7]
jmp 0x1400548ae
mov rdx, qword [rbp + 0x17]
lea r8, [rbp - 9]
add rdx, 0x238
mov qword [rbp - 9], rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14000b7b0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret