Function at 0x140138e8e
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x1401d9d70
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x450
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0xa4
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x478]
mov rax, qword [0x1405cda80]
xor rax, rbp
mov qword [rbp + 0x400], rax
lea rcx, [0x1405fb96c]
call fcn.14013b9db
nop
cmp qword [0x1405cf2c0], 0
jne 0x1401d9dca
jmp 0x1401da19b
cmp qword [0x1405cf2b8], 0
jne 0x1401d9dd9
jmp 0x1401da19b
movzx eax, byte [0x1405cf176]
test eax, eax
je 0x1401d9df5
mov ecx, dword [0x1405cf178]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x1401d9e28
movzx eax, byte [0x1405cf2dc]
test eax, eax
je 0x1401d9e1c
mov rax, qword [0x1405cf2b8]
add rax, 0x2c
movss xmm1, dword [0x1405cf32c]
mov rcx, rax
call fcn.14013404b
nop
mov byte [0x1405cf2dc], 0
jmp 0x1401da19b
movzx eax, byte [0x1405cf2dc]
test eax, eax
jne 0x1401d9e6c
mov rax, qword [0x1405cf2b8]
add rax, 0x2c
mov rcx, rax
call fcn.140138d8f
movss dword [0x1405cf32c], xmm0
mov rax, qword [0x1405cf2b8]
add rax, 0x2c
xorps xmm1, xmm1
mov rcx, rax
call fcn.14013404b
nop
mov byte [0x1405cf2dc], 1
movss xmm0, dword [0x1405cf17c]
divss xmm0, dword [0x1403cd908]
movss dword [rbp + 4], xmm0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401d9ea3
movss xmm0, dword [rbp + 4]
mulss xmm0, dword [0x1403cd8ec]
movss dword [rbp + 4], xmm0
lea rax, [rbp + 0x28]
lea rcx, [0x1405cf2d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401d9f3f
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x204]
mov rcx, qword [rbp + 0x430]
call fcn.140135ced
movss xmm0, dword [rbp + 0x28]
addss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x224]
mov rcx, qword [rbp + 0x430]
call fcn.140135ced
movss xmm0, dword [rbp + 0x2c]
addss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x244]
mov rcx, qword [rbp + 0x430]
call fcn.140135ced
movss xmm0, dword [rbp + 0x30]
addss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401d9fc3
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x264]
mov rcx, qword [rbp + 0x430]
call fcn.140135ced
movss xmm0, dword [rbp + 0x28]
subss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x284]
mov rcx, qword [rbp + 0x430]
call fcn.140135ced
movss xmm0, dword [rbp + 0x2c]
subss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x2a4]
mov rcx, qword [rbp + 0x430]
call fcn.140135ced
movss xmm0, dword [rbp + 0x30]
subss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
movss xmm3, dword [0x1403bce8c]
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x2c4]
call fcn.14013b4cc
mov qword [rbp + 0x3f8], rax
mov r8, qword [rbp + 0x3f8]
lea rdx, [rbp + 0x58]
mov rcx, qword [rbp + 0x430]
call fcn.140137a6b
nop
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401da077
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x2e4]
lea rcx, [rbp + 0x58]
call fcn.140135ced
movss xmm0, dword [rbp + 0x28]
subss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x304]
lea rcx, [rbp + 0x58]
call fcn.140135ced
movss xmm0, dword [rbp + 0x2c]
subss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x324]
lea rcx, [rbp + 0x58]
call fcn.140135ced
movss xmm0, dword [rbp + 0x30]
subss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401da0f2
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x344]
lea rcx, [rbp + 0x58]
call fcn.140135ced
movss xmm0, dword [rbp + 0x28]
addss xmm0, dword [rax]
movss dword [rbp + 0x28], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x364]
lea rcx, [rbp + 0x58]
call fcn.140135ced
movss xmm0, dword [rbp + 0x2c]
addss xmm0, dword [rax + 4]
movss dword [rbp + 0x2c], xmm0
movss xmm2, dword [rbp + 4]
lea rdx, [rbp + 0x384]
lea rcx, [rbp + 0x58]
call fcn.140135ced
movss xmm0, dword [rbp + 0x30]
addss xmm0, dword [rax + 8]
movss dword [rbp + 0x30], xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401da111
movss xmm0, dword [rbp + 0x30]
addss xmm0, dword [rbp + 4]
movss dword [rbp + 0x30], xmm0
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401da130
movss xmm0, dword [rbp + 0x30]
subss xmm0, dword [rbp + 4]
movss dword [rbp + 0x30], xmm0
lea rax, [rbp + 0x3e0]
lea rcx, [rbp + 0x28]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x3b0]
lea rcx, [rbp + 0x28]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x30], 0
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3b0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [0x1405cf2c8]
mov rdx, qword [0x1405cf2c0]
lea rcx, [0x1405cec00]
call fcn.140139285
nop
lea rcx, [rbp - 0x40]
lea rdx, [0x1403cd5c0]
call fcn.14013a469
mov rcx, qword [rbp + 0x400]
xor rcx, rbp
call fcn.1401379df
lea rsp, [rbp + 0x410]
pop rdi
pop rsi
pop rbp
ret