Function at 0x14003dd90
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x290
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
mov rax, qword [0x14007c040]
xor rax, rsp
mov qword [rbp + 0x138], rax
mov edi, ecx
mov rcx, qword [0x140098bf8]
test rcx, rcx
je 0x14003e7ce
call fcn.140032e10
mov rbx, rax
test rax, rax
jne 0x14003de15
mov dword [0x140097ab0], 0x7f7fffff
xor edi, edi
mov qword [0x140098bf8], rdi
jmp 0x14003e7ce
lea rcx, [rax + 0x600]
call fcn.140048150
shl eax, 4
movsxd rcx, eax
add rcx, 0x570
add rcx, rbx
call fcn.140048050
lea ecx, [rdi + rdi*2]
shl ecx, 5
movsxd rdx, ecx
add rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140048320
lea rdx, [rbx + 0x1c0]
lea rcx, [rbp + 0xc0]
call fcn.140048320
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0xc0]
call fcn.140031c00
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140031c00
movaps xmmword [rbp + 0xc0], xmm6
movaps xmmword [rbp + 0xd0], xmm7
movaps xmmword [rbp + 0xe0], xmm8
movaps xmmword [rbp + 0xf0], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x50], xmm1
lea r8, [rbp + 0xc0]
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x60]
call fcn.140031e20
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0xd0], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0xe0], xmm0
movups xmm2, xmmword [rax + 0x30]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rbp + 0xc0], xmm0
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [rbp + 0xc8], xmm0
shufps xmm2, xmm2, 0xaa
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rbp + 0xd0], xmm0
mov r8, qword [0x140098658]
lea rdx, [rbp + 0xa0]
call fcn.1400327c0
nop
mov rcx, qword [0x140098bf8]
call fcn.140032330
lea rdx, [rax + 0x168]
lea rcx, [rbp + 0x120]
call fcn.140048240
cmp byte [0x140098c45], 0
je 0x14003dfd6
movups xmm8, xmmword [0x140098798]
movsd xmm6, qword [0x1400987a8]
movups xmm9, xmmword [rbp + 0x120]
movsd xmm7, qword [rbp + 0x130]
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x80]
call fcn.14003eb00
movaps xmmword [rsp + 0x20], xmm8
movsd qword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x60], xmm9
movsd qword [rsp + 0x70], xmm7
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0xc0]
mov rcx, rax
call fcn.14003d740
movups xmm0, xmmword [rbp + 0xc0]
movaps xmmword [rsp + 0x20], xmm0
movsd xmm1, qword [rbp + 0xd0]
movsd qword [rsp + 0x30], xmm1
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
call fcn.140032f10
mov eax, dword [0x1400986d4]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2pd xmm7, xmm7
mov eax, dword [0x1400986d0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm9, qword [rbp - 0x80]
subsd xmm0, xmm9
movsd xmm1, qword [0x140072478]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm8, xmm0
movsd xmm10, qword [rbp - 0x78]
subsd xmm7, xmm10
movsd xmm1, qword [0x140072478]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm8, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm8
ja 0x14003e074
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x14003e07d
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movd xmm1, dword [0x140097a98]
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
ja 0x14003e817
xorps xmm0, xmm0
ucomisd xmm9, xmm0
jp 0x14003e0a3
je 0x14003e817
ucomisd xmm10, xmm0
jp 0x14003e0b0
je 0x14003e817
mov ebx, dword [0x140097a9c]
mov r13, qword [rbp + 0xb8]
mov r12, qword [rbp + 0xa0]
cmp byte [0x140098c49], 0
je 0x14003e2be
lea rsi, [rbp + 0xa0]
cmp r13, 0xf
cmova rsi, r12
mov rdi, qword [rbp + 0xb0]
cmp rdi, 7
jb 0x14003e146
lea r14, [rdi + rsi]
lea r8, [r14 - 6]
sub r8, rsi
mov edx, 0x53
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14003e146
nop word [rax + rax]
cmp dword [rax], 0x746f6853
jne 0x14003e12a
cmp word [rax + 4], 0x7567
jne 0x14003e12a
cmp byte [rax + 6], 0x6e
je 0x14003e271
inc rax
lea r8, [r14 - 6]
sub r8, rax
mov edx, 0x53
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14003e110
lea rsi, [rbp + 0xa0]
cmp r13, 0xf
cmova rsi, r12
cmp rdi, 3
jb 0x14003e1a5
lea r14, [rdi + rsi]
lea r8, [r14 - 2]
sub r8, rsi
mov edx, 0x53
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14003e1a5
cmp word [rax], 0x4d53
jne 0x14003e189
cmp byte [rax + 2], 0x47
je 0x14003e286
inc rax
lea r8, [r14 - 2]
sub r8, rax
mov edx, 0x53
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14003e178
lea rsi, [rbp + 0xa0]
cmp r13, 0xf
cmova rsi, r12
cmp rdi, 5
jb 0x14003e205
lea r14, [rdi + rsi]
lea r8, [r14 - 4]
sub r8, rsi
mov edx, 0x52
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14003e205
cmp dword [rax], 0x6c666952
jne 0x14003e1e9
cmp byte [rax + 4], 0x65
je 0x14003e29b
inc rax
lea r8, [r14 - 4]
sub r8, rax
mov edx, 0x52
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14003e1d7
lea rsi, [rbp + 0xa0]
cmp r13, 0xf
cmova rsi, r12
cmp rdi, 6
jb 0x14003e2be
lea r8, [rdi - 5]
add r8, rsi
sub r8, rsi
mov edx, 0x53
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14003e2be
nop
cmp dword [rax], 0x70696e53
jne 0x14003e250
cmp word [rax + 4], 0x7265
je 0x14003e2b0
inc rax
lea r8, [rdi - 5]
add r8, rsi
sub r8, rax
mov edx, 0x53
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14003e240
jmp 0x14003e2be
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x14003e146
mov ebx, dword [0x140097a8c]
jmp 0x14003e2be
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x14003e1a5
mov ebx, dword [0x140097a74]
jmp 0x14003e2be
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x14003e205
mov ebx, dword [0x140097a84]
jmp 0x14003e2be
sub rax, rsi
cmp rax, 0xffffffffffffffff
cmovne ebx, dword [0x140097a7c]
mov rax, qword [0x1400985b0]
movss xmm5, dword [rax + 0x10]
mulss xmm5, dword [0x140072410]
movss xmm4, dword [rax + 0x14]
mulss xmm4, dword [0x140072410]
xorps xmm6, xmm6
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm9
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm10
movss xmm9, dword [0x140072cd0]
ucomiss xmm8, xmm6
jp 0x14003e30a
je 0x14003e365
comiss xmm8, xmm5
jbe 0x14003e33d
movaps xmm3, xmm5
subss xmm3, xmm8
xorps xmm3, xmm9
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm5
movaps xmm0, xmm5
addss xmm0, xmm5
comiss xmm1, xmm0
jbe 0x14003e33d
xorps xmm3, xmm3
comiss xmm5, xmm8
jbe 0x14003e365
movaps xmm3, xmm8
subss xmm3, xmm5
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movaps xmm1, xmm3
addss xmm1, xmm5
comiss xmm6, xmm1
jbe 0x14003e365
xorps xmm3, xmm3
ucomiss xmm7, xmm6
jp 0x14003e36c
je 0x14003e3c3
comiss xmm7, xmm4
jbe 0x14003e39d
movaps xmm2, xmm4
subss xmm2, xmm7
xorps xmm2, xmm9
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm4
movaps xmm0, xmm4
addss xmm0, xmm4
comiss xmm1, xmm0
jbe 0x14003e39d
xorps xmm2, xmm2
comiss xmm4, xmm7
jbe 0x14003e3c3
movaps xmm2, xmm7
subss xmm2, xmm4
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm4
comiss xmm6, xmm1
jbe 0x14003e3c3
xorps xmm2, xmm2
xor edi, edi
mov dword [rbp + 0xc0], edi
cvttss2si eax, xmm3
mov dword [rbp + 0xc8], eax
cvttss2si eax, xmm2
mov dword [rbp + 0xcc], eax
mov dword [rbp + 0xd4], 1
mov dword [rbp + 0xd0], edi
mov dword [rbp + 0xd8], edi
mov qword [rbp + 0xe0], rdi
mov r8d, 0x28
lea rdx, [rbp + 0xc0]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
mov dword [0x140097ab0], 0x7f7fffff
mov qword [0x140098bf8], rdi
cmp byte [0x140098c4b], dil
je 0x14003e796
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs rbx, 0xcccccccccccccccc
movabs r14, 0x7fffffffffbffffe
movss xmm7, dword [0x140072438]
test ax, ax
je 0x14003e690
mov esi, edi
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x140098648]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
add rcx, 0x2a8
je 0x14003e4af
cmp rcx, rbx
je 0x14003e4af
cmp rcx, 0xffffffffffffffff
je 0x14003e4af
lea rax, [rcx - 0x400001]
cmp rax, r14
ja 0x14003e4af
mov r8d, 0x10
lea rdx, [rsp + 0x60]
call fcn.140031b70
cmp esi, dword [rsp + 0x68]
jae 0x14003e57b
mov rcx, qword [0x140098648]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
add rcx, 0x2a8
je 0x14003e4f8
cmp rcx, rbx
je 0x14003e4f8
cmp rcx, 0xffffffffffffffff
je 0x14003e4f8
lea rax, [rcx - 0x400001]
cmp rax, r14
ja 0x14003e4f8
mov r8d, 0x10
lea rdx, [rsp + 0x40]
call fcn.140031b70
cmp esi, dword [rsp + 0x48]
jae 0x14003e574
mov ecx, esi
mov rax, qword [rsp + 0x40]
lea rcx, [rax + rcx*8]
call fcn.140048050
mov r14, rax
test rax, rax
je 0x14003e56a
cmp rax, qword [0x140098650]
je 0x14003e56a
mov rcx, rax
call fcn.140032430
mov r15, rax
test rax, rax
je 0x14003e56a
mov rcx, qword [0x140098640]
add rcx, 0x11d1
call fcn.140048150
mov ebx, eax
lea rcx, [r14 + 0x11d1]
call fcn.140048150
cmp eax, ebx
je 0x14003e560
lea rcx, [r15 + 0x68]
movaps xmm1, xmm6
call fcn.140048cf0
movabs rbx, 0xcccccccccccccccc
movabs r14, 0x7fffffffffbffffe
inc esi
jmp 0x14003e470
mov esi, edi
nop dword [rax]
mov rcx, qword [0x140098648]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
add rcx, 0x2a8
je 0x14003e5bf
cmp rcx, rbx
je 0x14003e5bf
cmp rcx, 0xffffffffffffffff
je 0x14003e5bf
lea rax, [rcx - 0x400001]
cmp rax, r14
ja 0x14003e5bf
mov r8d, 0x10
lea rdx, [rsp + 0x20]
call fcn.140031b70
cmp esi, dword [rsp + 0x28]
jae 0x14003e690
mov rcx, qword [0x140098648]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
add rcx, 0x2a8
je 0x14003e608
cmp rcx, rbx
je 0x14003e608
cmp rcx, 0xffffffffffffffff
je 0x14003e608
lea rax, [rcx - 0x400001]
cmp rax, r14
ja 0x14003e608
mov r8d, 0x10
lea rdx, [rsp + 0x50]
call fcn.140031b70
cmp esi, dword [rsp + 0x58]
jae 0x14003e684
mov ecx, esi
mov rax, qword [rsp + 0x50]
lea rcx, [rax + rcx*8]
call fcn.140048050
mov rbx, rax
test rax, rax
je 0x14003e67a
cmp rax, qword [0x140098650]
je 0x14003e67a
mov rcx, rax
call fcn.140032430
mov r14, rax
test rax, rax
je 0x14003e670
lea rcx, [rbx + 0x11d1]
call fcn.140048150
mov ebx, eax
mov rcx, qword [0x140098640]
add rcx, 0x11d1
call fcn.140048150
cmp ebx, eax
je 0x14003e670
lea rcx, [r14 + 0x68]
movaps xmm1, xmm7
call fcn.140048cf0
movabs r14, 0x7fffffffffbffffe
movabs rbx, 0xcccccccccccccccc
inc esi
jmp 0x14003e580
mov rcx, qword [0x140098648]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
add rcx, 0x2a8
je 0x14003e6d3
cmp rcx, rbx
je 0x14003e6d3
cmp rcx, 0xffffffffffffffff
je 0x14003e6d3
lea rax, [rcx - 0x400001]
cmp rax, r14
ja 0x14003e6d3
mov r8d, 0x10
lea rdx, [rbp + 0xc0]
call fcn.140031b70
cmp edi, dword [rbp + 0xc8]
jae 0x14003e796
mov rcx, qword [0x140098648]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
add rcx, 0x2a8
je 0x14003e71c
cmp rcx, rbx
je 0x14003e71c
cmp rcx, 0xffffffffffffffff
je 0x14003e71c
lea rax, [rcx - 0x400001]
cmp rax, r14
ja 0x14003e71c
mov r8d, 0x10
lea rdx, [rbp - 0x80]
call fcn.140031b70
cmp edi, dword [rbp - 0x78]
jae 0x14003e78f
mov ecx, edi
mov rax, qword [rbp - 0x80]
lea rcx, [rax + rcx*8]
call fcn.140048050
mov rbx, rax
test rax, rax
je 0x14003e785
cmp rax, qword [0x140098650]
je 0x14003e785
mov rcx, rax
call fcn.140032430
mov rsi, rax
test rax, rax
je 0x14003e785
lea rcx, [rbx + 0x11d1]
call fcn.140048150
mov ebx, eax
mov rcx, qword [0x140098640]
add rcx, 0x11d1
call fcn.140048150
cmp ebx, eax
je 0x14003e785
lea rcx, [rsi + 0x168]
movaps xmm1, xmm7
call fcn.140048cf0
movabs rbx, 0xcccccccccccccccc
inc edi
jmp 0x14003e690
cmp r13, 0xf
jbe 0x14003e7ce
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x14003e7c6
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003e86a
mov rcx, r12
call fcn.14004ad80
mov rcx, qword [rbp + 0x138]
xor rcx, rsp
call fcn.14004a930
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov dword [0x140097ab0], 0x7f7fffff
xor edi, edi
mov qword [0x140098bf8], rdi
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x14003e7ce
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e7c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003e7c9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3