Function at 0x1400063d0
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 r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x270
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14005c010]
xor rax, rsp
mov qword [rbp + 0xc0], rax
movdqa xmm0, xmmword [0x140054900]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm0
xor r13d, r13d
xorps xmm0, xmm0
xorps xmm15, xmm15
mov qword [0x14005c898], r13
movups xmmword [0x14005c908], xmm0
movsd qword [0x14005c918], xmm15
movups xmmword [0x14005c8b0], xmm1
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 0x14000649d
imul rbx, rax, 0x64
jmp 0x1400064be
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
movss xmm14, dword [0x140054690]
movabs r14, 0x7fffffffffffffff
movss xmm13, dword [0x140054700]
xorps xmm11, xmm11
nop
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1400064fe
imul rax, rax, 0x64
jmp 0x14000651c
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov rcx, rax
sub rcx, rbx
cmp rcx, 0x4c4b40
jl 0x1400064e0
mov rbx, rax
call fcn.140005f00
cmp qword [0x14005c880], r13
je 0x140006a2c
mov r12, qword [0x14005c128]
mov rdi, qword [0x14005c120]
mov dword [0x14005c978], 0x7f7fffff
mov qword [0x14005c970], r13
cmp rdi, r12
je 0x140006e20
nop dword [rax + rax]
mov rsi, qword [rdi]
mov rcx, rsi
call fcn.140003960
cmp byte [0x14005c052], r13b
mov r14, rax
mov r15, qword [rdi + 0x18]
je 0x1400065c5
lea rdx, [rax + 0x2e8]
call fcn.140006ed0
lea rdx, [r14 + 0x2f0]
movaps xmm6, xmm0
call fcn.140006ed0
addss xmm0, dword [0x140054664]
comiss xmm0, xmm6
setae al
cmp byte [0x14005c052], r13b
je 0x1400065c5
test al, al
je 0x1400066e1
lea rdx, [rsi + 0x758]
lea rcx, [0x14005c830]
call fcn.140006fa0
test al, 0xf8
jne 0x1400066e1
mov rdx, qword [rdi + 8]
lea rcx, [0x14005c830]
add rdx, 0x1211
call fcn.140002f60
cmp dword [0x14005c878], eax
je 0x1400066e1
cmp byte [0x14005c050], r13b
je 0x1400066e1
mov r9d, 0x6e
lea rdx, [rbp + 0x90]
mov r8, r15
mov rcx, r14
call fcn.140005bb0
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x28]
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x70], xmm1
call fcn.140005890
movss xmm0, dword [0x14005c858]
movsd xmm2, qword [rsp + 0x30]
movsd xmm3, qword [rsp + 0x28]
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x14005c85c]
subsd xmm3, xmm1
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
mulsd xmm3, xmm3
xorps xmm0, xmm0
subsd xmm2, xmm1
mulsd xmm2, xmm2
addsd xmm2, xmm3
cvtpd2ps xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x14000669f
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400066a7
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, dword [0x14005c058]
lea ecx, [rax + rax*4]
add ecx, ecx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1400066e1
movss xmm1, dword [0x14005c978]
comiss xmm1, xmm0
jbe 0x1400066e1
movss dword [0x14005c978], xmm0
mov qword [0x14005c970], rsi
mov qword [0x14005c898], r15
add rdi, 0x40
cmp rdi, r12
jne 0x140006570
cmp qword [0x14005c970], r13
je 0x140006e20
mov ecx, dword [0x14005c060]
test ecx, ecx
je 0x1400069ac
sub ecx, 1
je 0x140006952
sub ecx, 1
je 0x1400068f5
sub ecx, 1
je 0x140006898
cmp ecx, 1
jne 0x140006a22
mov rdi, r13
mov rcx, qword [0x14005c970]
call fcn.140003960
mov r9d, dword [rsp + rdi*4 + 0x48]
lea rdx, [rbp + 0xa8]
mov r8, qword [0x14005c898]
mov rcx, rax
call fcn.140005bb0
movups xmm0, xmmword [rbp + 0xa8]
lea r8, [rbp - 0x80]
movsd xmm10, qword [rbp + 0xb8]
lea rdx, [rsp + 0x38]
movaps xmmword [rbp - 0x80], xmm0
movsd qword [rbp - 0x70], xmm10
call fcn.140005890
movss xmm1, dword [0x14005c85c]
movss xmm0, dword [0x14005c858]
movsd xmm11, qword [rsp + 0x40]
mulss xmm0, xmm14
mulss xmm1, xmm14
cvtps2pd xmm8, xmm0
cvtps2pd xmm7, xmm1
movaps xmm1, xmm13
movaps xmm0, xmm7
subsd xmm0, xmm11
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movsd xmm12, qword [rsp + 0x38]
movaps xmm6, xmm0
movaps xmm0, xmm8
movaps xmm1, xmm13
subsd xmm0, xmm12
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x1400067f1
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1400067f9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subsd xmm7, qword [0x14005c8b8]
xorps xmm9, xmm9
movaps xmm1, xmm13
cvtss2sd xmm9, xmm0
cvtpd2ps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm8, qword [0x14005c8b0]
movaps xmm6, xmm0
movaps xmm1, xmm13
cvtpd2ps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x140006846
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14000684e
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
comisd xmm0, xmm9
jbe 0x140006882
movups xmm0, xmmword [rbp + 0xa8]
movsd qword [0x14005c918], xmm10
movups xmmword [0x14005c908], xmm0
movsd qword [0x14005c8b0], xmm12
movsd qword [0x14005c8b8], xmm11
inc rdi
cmp rdi, 3
jl 0x140006730
xorps xmm11, xmm11
jmp 0x140006a22
mov rcx, qword [0x14005c970]
call fcn.140003960
mov r8, qword [0x14005c898]
lea rdx, [rbp + 0xa8]
mov r9d, 2
mov rcx, rax
call fcn.140005bb0
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x40]
movups xmm0, xmmword [rax]
movups xmmword [0x14005c908], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [0x14005c918], xmm1
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x60], xmm0
movsd qword [rbp - 0x50], xmm1
jmp 0x140006a04
mov rcx, qword [0x14005c970]
call fcn.140003960
mov r8, qword [0x14005c898]
lea rdx, [rbp + 0xa8]
mov r9d, 7
mov rcx, rax
call fcn.140005bb0
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x50]
movups xmm0, xmmword [rax]
movups xmmword [0x14005c908], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [0x14005c918], xmm1
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x40], xmm0
movsd qword [rbp - 0x30], xmm1
jmp 0x140006a04
mov rcx, qword [0x14005c970]
call fcn.140003960
mov r8, qword [0x14005c898]
lea rdx, [rbp + 0xa8]
mov r9d, 0x43
mov rcx, rax
call fcn.140005bb0
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x60]
movups xmm0, xmmword [rax]
movups xmmword [0x14005c908], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [0x14005c918], xmm1
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
jmp 0x140006a04
mov rcx, qword [0x14005c970]
call fcn.140003960
mov r8, qword [0x14005c898]
lea rdx, [rbp + 0xa8]
mov r9d, 0x6e
mov rcx, rax
call fcn.140005bb0
lea r8, [rbp]
lea rdx, [rbp + 0x70]
movups xmm0, xmmword [rax]
movups xmmword [0x14005c908], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [0x14005c918], xmm1
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp], xmm0
movsd qword [rbp + 0x10], xmm1
call fcn.140005890
movsd xmm0, qword [rax]
movsd qword [0x14005c8b0], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14005c8b8], xmm1
movabs r14, 0x7fffffffffffffff
cmp qword [0x14005c970], r13
je 0x140006e20
cmp qword [0x14005c880], r13
je 0x140006e20
mov ecx, dword [0x14005c064]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140006e20
movsd xmm7, qword [0x14005c8b0]
ucomisd xmm7, xmm15
movsd xmm2, qword [0x14005c8b8]
jp 0x140006a81
jne 0x140006a81
ucomisd xmm2, xmm15
jp 0x140006a81
je 0x140006e20
movss xmm1, dword [0x14005c85c]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x14005c058]
mov eax, r13d
mulss xmm1, xmm14
comiss xmm0, xmm1
xorps xmm1, xmm1
setae al
cvtsi2sd xmm1, eax
subsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss xmm1, dword [0x140054700]
call fcn.14004b2b0
movss xmm1, dword [0x14005c858]
movaps xmm6, xmm0
mulss xmm1, xmm14
cvtps2pd xmm2, xmm1
movaps xmm1, xmm13
subsd xmm2, xmm7
cvtpd2ps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x140006af7
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x140006aff
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
ucomiss xmm0, xmm11
jp 0x140006b0b
je 0x140006e20
mov rcx, qword [0x14005c880]
call fcn.140003890
movsd xmm0, qword [0x14005c908]
movaps xmm1, xmm13
subsd xmm0, qword [0x14005c0f0]
movsd xmm6, qword [0x14005c910]
mov rdi, rax
movsd xmm7, qword [0x14005c918]
cvtpd2ps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm6, qword [0x14005c0f8]
movaps xmm8, xmm0
movaps xmm1, xmm13
cvtpd2ps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
subsd xmm7, qword [0x14005c100]
addss xmm8, xmm0
movaps xmm1, xmm13
cvtpd2ps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x140006b92
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x140006b9b
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm7, xmm7
lea rdx, [rdi + 0x1a78]
cvtss2sd xmm7, xmm0
call fcn.140006ed0
lea rdx, [rdi + 0x1ce4]
movaps xmm6, xmm0
call fcn.140006ed0
cmp byte [0x14005c868], 1
movaps xmm8, xmm0
je 0x140006cfd
ucomiss xmm6, xmm11
jp 0x140006bda
je 0x140006cfd
ucomiss xmm8, xmm11
jp 0x140006be6
je 0x140006cfd
test rdi, rdi
je 0x140006cfd
cmp byte [0x14005c051], r13b
je 0x140006cfd
mov rdx, qword [0x14005c970]
add rdx, 0x198
call fcn.1400045a0
xorps xmm0, xmm0
movsd qword [rbp + 0xb8], xmm15
mov r9d, 0x18
lea r8, [rbp + 0xa8]
lea rcx, [0x14005c830]
lea rdx, [rax + 0x168]
movups xmmword [rbp + 0xa8], xmm0
call fcn.14000f570
mulss xmm8, dword [0x140054884]
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x80]
cvtpd2ps xmm0, xmm7
andps xmm8, xmmword [0x140054d80]
divss xmm0, xmm6
mulss xmm8, xmm14
cvtps2pd xmm1, xmm0
mulss xmm0, xmm0
movaps xmm6, xmm1
movaps xmm7, xmm1
mulsd xmm1, qword [rbp + 0xb8]
mulsd xmm6, qword [rbp + 0xa8]
mulsd xmm7, qword [rbp + 0xb0]
mulss xmm8, xmm0
addsd xmm6, qword [0x14005c908]
addsd xmm7, qword [0x14005c910]
cvtss2sd xmm8, xmm8
movaps xmm0, xmm6
unpcklpd xmm0, xmm7
addsd xmm8, xmm1
movups xmmword [0x14005c908], xmm0
movaps xmmword [rbp + 0x20], xmm0
addsd xmm8, qword [0x14005c918]
movsd qword [0x14005c918], xmm8
movsd qword [rbp + 0x30], xmm8
call fcn.140005890
movsd xmm9, qword [rax]
movsd qword [0x14005c8b0], xmm9
movsd xmm10, qword [rax + 8]
movsd qword [0x14005c8b8], xmm10
jmp 0x140006d28
movsd xmm10, qword [0x14005c8b8]
movsd xmm9, qword [0x14005c8b0]
movsd xmm8, qword [0x14005c918]
movsd xmm7, qword [0x14005c910]
movsd xmm6, qword [0x14005c908]
ucomisd xmm6, xmm15
jp 0x140006d47
jne 0x140006d47
ucomisd xmm7, xmm15
jp 0x140006d47
jne 0x140006d47
ucomisd xmm8, xmm15
jp 0x140006d47
je 0x1400064e0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
ucomisd xmm9, xmm15
jp 0x140006d61
je 0x140006d67
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
ucomisd xmm10, xmm15
jp 0x140006d70
je 0x140006d76
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cmp byte [0x14005c078], r13b
je 0x1400064e0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x55555556
imul r8d
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
sub r8d, ecx
inc r8d
movsxd rsi, r8d
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x140006dc5
imul rax, rax, 0x64
jmp 0x140006de3
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov qword [rsp + 0x20], rax
cmp rsi, 1
jl 0x140006eb8
imul rdx, rsi, 0xf4240
mov rcx, r14
sub rcx, rdx
cmp rax, rcx
jge 0x140006eb3
lea rcx, [rdx + rax]
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x20]
call fcn.140004d80
jmp 0x1400064e0
xorps xmm0, xmm0
movsd qword [0x14005c918], xmm15
xorps xmm1, xmm1
mov qword [0x14005c970], r13
movups xmmword [0x14005c908], xmm0
movups xmmword [0x14005c8b0], xmm1
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x140006e62
imul rax, rax, 0x64
jmp 0x140006e80
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
movabs rcx, 0x7ffffffffff0bdbe
movabs r14, 0x7fffffffffffffff
cmp rax, rcx
jg 0x140006eb3
add rax, 0xf4240
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.140004d80
jmp 0x1400064e0
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x20]
call fcn.140004d80
jmp 0x1400064e0