Function at 0x180007620
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
lea rax, [rcx - 0xfed1]
movabs rsi, 0x7fffffefffd
mov rdi, rcx
cmp rax, rsi
ja 0x180007905
mov edx, 8
add rcx, 0x130
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x180007905
mov rax, qword [rdi + 0x130]
test rax, rax
je 0x180007905
lea rcx, [rax + 0x11c]
lea rax, [rcx - 0x10001]
cmp rax, rsi
ja 0x18000769f
mov edx, 0xc
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov rbx, qword [rdi + 0x6669]
test rbx, rbx
je 0x180007905
movaps xmmword [rsp + 0x70], xmm6
mov ecx, 0x57
movaps xmmword [rsp + 0x60], xmm7
movss xmm7, dword [0x180043010]
movaps xmmword [rsp + 0x50], xmm8
movaps xmmword [rsp + 0x40], xmm9
movaps xmmword [rsp + 0x30], xmm10
mulss xmm7, xmm7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm9, dword [0x18003199c]
movss xmm10, dword [0x180031938]
test ax, ax
je 0x180007747
mov rax, qword [0x180044b10]
movss xmm6, dword [rax + 0x10]
divss xmm6, xmm9
mulss xmm6, xmm10
movaps xmm0, xmm6
call fcn.180019c70
mulss xmm0, xmm7
movss dword [rbp - 0x60], xmm0
movaps xmm0, xmm6
call fcn.18001b5b0
mulss xmm0, xmm7
lea rdx, [rbp - 0x60]
mov r8b, 1
mov dword [rbp - 0x58], 0
mov rcx, rbx
movss dword [rbp - 0x5c], xmm0
call fcn.18000b2a0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm8, dword [0x180031b20]
test ax, ax
je 0x1800077b6
mov rax, qword [0x180044b10]
mov dword [rbp - 0x58], 0
movss xmm6, dword [rax + 0x10]
divss xmm6, xmm9
mulss xmm6, xmm10
movaps xmm0, xmm6
call fcn.180019c70
mulss xmm0, xmm7
xorps xmm0, xmm8
movss dword [rbp - 0x60], xmm0
movaps xmm0, xmm6
call fcn.18001b5b0
mulss xmm0, xmm7
lea rdx, [rbp - 0x60]
mov r8b, 1
mov rcx, rbx
xorps xmm0, xmm8
movss dword [rbp - 0x5c], xmm0
call fcn.18000b2a0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180007818
mov rax, qword [0x180044b10]
mov dword [rbp - 0x58], 0
movss xmm6, dword [rax + 0x10]
divss xmm6, xmm9
mulss xmm6, xmm10
movaps xmm0, xmm6
call fcn.18001b5b0
mulss xmm0, xmm7
movss dword [rbp - 0x60], xmm0
movaps xmm0, xmm6
call fcn.180019c70
mulss xmm0, xmm7
lea rdx, [rbp - 0x60]
mov r8b, 1
mov rcx, rbx
xorps xmm0, xmm8
movss dword [rbp - 0x5c], xmm0
call fcn.18000b2a0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000787a
mov rax, qword [0x180044b10]
mov dword [rbp - 0x58], 0
movss xmm6, dword [rax + 0x10]
divss xmm6, xmm9
mulss xmm6, xmm10
movaps xmm0, xmm6
call fcn.18001b5b0
mulss xmm0, xmm7
xorps xmm0, xmm8
movss dword [rbp - 0x60], xmm0
movaps xmm0, xmm6
call fcn.180019c70
mulss xmm0, xmm7
lea rdx, [rbp - 0x60]
mov r8b, 1
mov rcx, rbx
movss dword [rbp - 0x5c], xmm0
call fcn.18000b2a0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm6, dword [0x180031904]
movaps xmm10, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
test ax, ax
je 0x1800078c1
movaps xmm0, xmm7
mov qword [rbp - 0x60], 0
mulss xmm0, xmm6
lea rdx, [rbp - 0x60]
mov r8b, 1
mov rcx, rbx
movss dword [rbp - 0x58], xmm0
call fcn.18000b2a0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800078f5
xorps xmm7, xmm8
mov qword [rbp - 0x60], 0
mulss xmm7, xmm6
lea rdx, [rbp - 0x60]
mov r8b, 1
mov rcx, rbx
movss dword [rbp - 0x58], xmm7
call fcn.18000b2a0
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x50]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret