Function at 0x14005eb80
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xc8
mov rax, qword [0x140413c00]
xor rax, rsp
mov qword [rsp + 0xb0], rax
cmp qword [0x140414de8], 0
je 0x14005ebb4
cmp qword [0x140414de0], 0
jne 0x14005ebb9
jmp 0x14005effb
movzx eax, byte [0x140414cf9]
test eax, eax
je 0x14005ebd5
mov ecx, dword [0x140414cfc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x14005ec08
movzx eax, byte [0x140414e44]
test eax, eax
je 0x14005ebfc
mov rax, qword [0x140414de0]
add rax, 0x2c
movss xmm1, dword [0x140414e40]
mov rcx, rax
call fcn.14005e050
nop
mov byte [0x140414e44], 0
jmp 0x14005effb
movzx eax, byte [0x140414e44]
test eax, eax
jne 0x14005ec4b
mov rax, qword [0x140414de0]
add rax, 0x2c
mov rcx, rax
call fcn.14005df90
movss dword [0x140414e40], xmm0
mov rax, qword [0x140414de0]
add rax, 0x2c
xorps xmm1, xmm1
mov rcx, rax
call fcn.14005e050
mov byte [0x140414e44], 1
cvtsi2ss xmm0, dword [0x140414d00]
divss xmm0, dword [0x140135c3c]
movss dword [rsp + 0x40], xmm0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14005ec85
movss xmm0, dword [rsp + 0x40]
mulss xmm0, dword [0x140138950]
movss dword [rsp + 0x40], xmm0
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x80]
call fcn.14005b900
nop
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14005ed08
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x80]
addss xmm0, dword [rax]
movss dword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x84]
addss xmm0, dword [rax + 4]
movss dword [rsp + 0x84], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x88]
addss xmm0, dword [rax + 8]
movss dword [rsp + 0x88], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14005ed74
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x80]
subss xmm0, dword [rax]
movss dword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x84]
subss xmm0, dword [rax + 4]
movss dword [rsp + 0x84], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x88]
subss xmm0, dword [rax + 8]
movss dword [rsp + 0x88], xmm0
movss xmm3, dword [0x140135c28]
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x70]
call fcn.14005b900
mov qword [rsp + 0x48], rax
mov r8, qword [rsp + 0x48]
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0xe0]
call fcn.14005e740
nop
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14005ee0d
movss xmm0, dword [rsp + 0x80]
subss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [rsp + 0x84]
subss xmm0, dword [rsp + 0x94]
movss dword [rsp + 0x84], xmm0
movss xmm0, dword [rsp + 0x88]
subss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x88], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14005ee6e
movss xmm0, dword [rsp + 0x80]
addss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [rsp + 0x84]
addss xmm0, dword [rsp + 0x94]
movss dword [rsp + 0x84], xmm0
movss xmm0, dword [rsp + 0x88]
addss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x88], xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14005ee98
movss xmm0, dword [rsp + 0x88]
addss xmm0, dword [0x140135c28]
movss dword [rsp + 0x88], xmm0
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14005eec2
movss xmm0, dword [rsp + 0x88]
subss xmm0, dword [0x140135c28]
movss dword [rsp + 0x88], xmm0
movss xmm0, dword [rsp + 0x80]
mulss xmm0, dword [rsp + 0x80]
movss xmm1, dword [rsp + 0x84]
mulss xmm1, dword [rsp + 0x84]
addss xmm0, xmm1
movss xmm1, dword [rsp + 0x88]
mulss xmm1, dword [rsp + 0x88]
addss xmm0, xmm1
call fcn.140060e40
movss dword [rsp + 0x44], xmm0
movss xmm0, dword [rsp + 0x44]
comiss xmm0, dword [0x140135c20]
jbe 0x14005ef74
movss xmm0, dword [rsp + 0x80]
divss xmm0, dword [rsp + 0x44]
mulss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x80], xmm0
movss xmm0, dword [rsp + 0x84]
divss xmm0, dword [rsp + 0x44]
mulss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x84], xmm0
movss xmm0, dword [rsp + 0x88]
divss xmm0, dword [rsp + 0x44]
mulss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x88], xmm0
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0xa0]
lea rcx, [0x140414e00]
call fcn.14005bc70
lea rax, [rsp + 0x50]
lea rcx, [rsp + 0xa0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x60]
lea rcx, [rsp + 0xa0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [0x140414df0]
mov rdx, qword [0x140414de8]
lea rcx, [0x1404148a0]
call fcn.140070020
nop
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14011cd30
add rsp, 0xc8
pop rdi
pop rsi
ret