Function at 0x140005f00
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0x100
mov rax, qword [0x14005c010]
xor rax, rsp
mov qword [rbp + 0x17], rax
cmp byte [0x14005c068], 0
je 0x1400063b6
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r14
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [r11 - 0x28], xmm7
movaps xmmword [r11 - 0x38], xmm8
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140005f67
imul rax, rax, 0x64
jmp 0x140005f85
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
sub rax, qword [0x14005c890]
mov esi, 1
movzx ecx, byte [0x14005c940]
cmp rax, 0xef5f4c0
cmovge ecx, esi
xor edx, edx
mov byte [0x14005c940], cl
mov edi, edx
mov ecx, dword [0x14005c060]
test ecx, ecx
je 0x140005fda
sub ecx, esi
je 0x140005fc5
sub ecx, esi
je 0x140005fd3
sub ecx, esi
je 0x140005fcc
cmp ecx, esi
jne 0x140005fdf
mov edi, 0x43
jmp 0x140005fdf
mov edi, 2
jmp 0x140005fdf
mov edi, 7
jmp 0x140005fdf
mov edi, 0x6d
mov eax, dword [0x14005c830]
xor r9d, r9d
mov rcx, qword [0x14005c838]
xor r8d, r8d
mov dword [rbp - 0x29], eax
mov rax, qword [0x14005c850]
mov qword [rbp - 0x19], rax
mov rax, qword [0x14005c970]
add rax, 0x198
mov dword [rsp + 0x48], 0x10
mov qword [rbp - 0x21], rax
lea rax, [rbp - 0x41]
mov qword [rbp - 0x11], rax
lea rax, [rbp - 0x29]
mov qword [rbp - 0x31], rax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x39]
mov dword [rsp + 0x38], 0x10
mov qword [rsp + 0x30], rax
lea rax, [rbp - 1]
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x41], rdx
mov dword [rbp - 0x25], edx
mov qword [rbp - 9], 8
mov dword [rbp - 0x39], 5
mov dword [rbp - 0x35], 2
call fcn.14004a160
mov rdx, qword [rbp - 0x41]
lea r8, [rbp - 0x59]
xorps xmm0, xmm0
lea rcx, [0x14005c830]
xorps xmm8, xmm8
add rdx, 0x120
mov r9d, 0x18
movsd qword [rbp - 0x49], xmm8
movups xmmword [rbp - 0x59], xmm0
call fcn.14000f570
movsd xmm0, qword [rbp - 0x51]
subsd xmm0, qword [0x14005c0f8]
movss xmm6, dword [0x140054700]
movaps xmm1, xmm6
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm7, xmm0
movaps xmm1, xmm6
movsd xmm0, qword [rbp - 0x59]
subsd xmm0, qword [0x14005c0f0]
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movsd xmm2, qword [rbp - 0x49]
addss xmm7, xmm0
subsd xmm2, qword [0x14005c100]
movaps xmm1, xmm6
cvtpd2ps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm7, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm7
ja 0x140006113
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x14000611b
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cmp byte [0x14005c06a], 0
xorps xmm6, xmm6
movaps xmm7, xmmword [rsp + 0xe0]
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x140054748]
cvtsd2ss xmm6, xmm0
je 0x14000614e
mov ecx, dword [0x14005c074]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx esi, ax
mov r14, qword [0x14005c970]
test r14, r14
je 0x140006385
movss xmm0, dword [0x140054800]
comiss xmm0, xmm6
jb 0x140006385
mov rdx, qword [0x14005c870]
lea r8, [rbp - 1]
mov rbx, qword [0x14005c898]
lea rcx, [0x14005c830]
xorps xmm0, xmm0
movsd qword [rbp + 0xf], xmm8
add rdx, 0x26a0
mov r9d, 0x18
movups xmmword [rbp - 1], xmm0
call fcn.14000f570
mov rcx, r14
call fcn.140003960
mov r9d, edi
lea rdx, [rbp - 0x59]
mov r8, rbx
mov rcx, rax
call fcn.140005bb0
movsd xmm2, qword [rbp - 0x59]
movsd xmm1, qword [0x140054728]
movaps xmm0, xmm2
movsd xmm3, qword [rbp - 1]
subsd xmm0, xmm1
comisd xmm3, xmm0
jb 0x140006385
addsd xmm2, xmm1
comisd xmm2, xmm3
jb 0x140006385
movsd xmm2, qword [rbp - 0x51]
movsd xmm3, qword [rbp + 7]
movaps xmm0, xmm2
subsd xmm0, xmm1
comisd xmm3, xmm0
jb 0x140006385
addsd xmm2, xmm1
comisd xmm2, xmm3
jb 0x140006385
movsd xmm2, qword [rbp - 0x49]
movsd xmm3, qword [rbp + 0xf]
movaps xmm0, xmm2
subsd xmm0, xmm1
comisd xmm3, xmm0
jb 0x140006385
addsd xmm2, xmm1
comisd xmm2, xmm3
jb 0x140006385
test esi, esi
je 0x140006385
cmp byte [0x14005c069], 0
je 0x140006262
cmp byte [0x14005c868], 2
jne 0x140006385
cmp byte [0x14005c88c], 0
je 0x1400062b5
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140006289
imul rax, rax, 0x64
jmp 0x1400062a7
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x14005c8a8], rax
mov byte [0x14005c88c], 0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1400062d3
imul rcx, rax, 0x64
jmp 0x1400062f4
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rcx, rax
imul rax, r8, 0x3b9aca00
add rcx, rax
mov qword [0x14005c8a0], rcx
movabs rax, 0x431bde82d7b634db
sub rcx, qword [0x14005c8a8]
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp edx, dword [0x14005c06c]
mov dword [0x14005c888], edx
jl 0x140006385
cmp byte [0x14005c940], 0
je 0x140006385
mov byte [0x14005c88c], 1
mov byte [0x14005c940], 0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140006360
imul rax, rax, 0x64
jmp 0x14000637e
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x14005c890], rax
movaps xmm6, xmmword [rsp + 0xf0]
mov r14, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0xd0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14004a180
add rsp, 0x100
pop rbp
ret