Function at 0x14003e370
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
sub rsp, 0xc8
mov rax, qword [0x1400c4010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, qword [0x1400e4450]
cmp byte [rax + 0xf4], 0
je 0x14003e799
cmp byte [rax + 0xf5], 0
mov qword [r11 + 8], rbx
mov qword [r11 - 8], rdi
movaps xmmword [r11 - 0x18], xmm6
movss xmm6, dword [0x1400bb044]
movaps xmmword [r11 - 0x28], xmm7
movss xmm7, dword [0x1400bb0f0]
movaps xmmword [r11 - 0x38], xmm8
xorps xmm8, xmm8
movaps xmmword [r11 - 0x48], xmm9
je 0x14003e4ac
mov rax, qword [0x1400e42c8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4ae0]
mov rcx, qword [rcx]
call fcn.140007bf0
movaps xmm0, xmmword [0x1400bb630]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov rbx, rax
call fcn.140003a20
mov edi, eax
mov rax, qword [0x1400e4450]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movd xmm2, dword [rax + 0xf8]
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [rsp + 0x40], xmm0
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x44], xmm1
test edi, 0xff000000
je 0x14003e4ac
comiss xmm6, xmm2
ja 0x14003e4ac
subss xmm2, xmm6
mov dword [rsp + 0x28], 0x63
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm7
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140027cb0
movss xmm0, dword [0x1400bb088]
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rcx, rbx
mov rdx, qword [rbx + 0x80]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
call fcn.1400262f0
mov dword [rbx + 0x78], 0
mov rax, qword [0x1400e4450]
cmp byte [rax + 0xf6], 0
je 0x14003e569
mov rax, qword [0x1400e42c8]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax + 0x4ae0]
mov rcx, qword [rcx]
call fcn.140007bf0
movaps xmm0, xmmword [0x1400bb3f0]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov rbx, rax
call fcn.140003a20
mov rcx, qword [0x1400e4450]
mov edi, eax
movss xmm0, dword [rcx]
movss xmm1, dword [rcx + 4]
movd xmm2, dword [rcx + 0xf8]
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [rsp + 0x40], xmm0
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x44], xmm1
test eax, 0xff000000
je 0x14003e569
comiss xmm6, xmm2
ja 0x14003e569
mov dword [rsp + 0x28], 0x63
lea rdx, [rsp + 0x40]
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm7
mov rcx, rbx
call fcn.140027cb0
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140027220
mov dword [rbx + 0x78], 0
call fcn.14003e120
mov rcx, qword [0x1400e4450]
mov r8, rax
mov rdi, qword [rsp + 0xc0]
xorps xmm9, xmm9
mov edx, dword [rcx + 0x108]
test edx, edx
jne 0x14003e59e
mov rcx, qword [0x1400e4470]
mov r9d, dword [rcx + 0xe8]
jmp 0x14003e61a
cmp edx, 1
jne 0x14003e5b3
mov rax, qword [0x1400e4470]
mov r9d, dword [rax + 0xec]
jmp 0x14003e61a
cmp edx, 2
jne 0x14003e5c8
mov rax, qword [0x1400e4470]
mov r9d, dword [rax + 0xfc]
jmp 0x14003e61a
cmp edx, 3
jne 0x14003e5dd
mov rax, qword [0x1400e4470]
mov r9d, dword [rax + 0xf0]
jmp 0x14003e61a
cmp edx, 4
jne 0x14003e5f2
mov rax, qword [0x1400e4470]
mov r9d, dword [rax + 0xf4]
jmp 0x14003e61a
cmp edx, 5
jne 0x14003e607
mov rax, qword [0x1400e4470]
mov r9d, dword [rax + 0xf8]
jmp 0x14003e61a
cmp edx, 6
jne 0x14003e62f
mov rax, qword [0x1400e4470]
mov r9d, dword [rax + 0x100]
lea rdx, [rsp + 0x40]
call fcn.14004f9b0
movss xmm8, dword [rax]
movss xmm9, dword [rax + 4]
mov rax, qword [0x1400e4450]
cmp byte [rax + 0xf7], 0
je 0x14003e670
movaps xmm0, xmmword [0x1400bb4a0]
lea rax, [rsp + 0x40]
movss xmm3, dword [0x1400bb0b4]
movaps xmm2, xmm9
mov qword [rsp + 0x28], rax
movaps xmm1, xmm8
movss dword [rsp + 0x20], xmm3
movaps xmmword [rsp + 0x40], xmm0
call fcn.14004b080
mov rax, qword [0x1400e4450]
mov ecx, dword [rax + 0x100]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003e76f
mov rbx, qword [0x1400e4450]
cmp dword [rbx + 0x104], 0
jne 0x14003e76f
movsd xmm1, qword [0x1400bb0b8]
movaps xmmword [rsp + 0x70], xmm10
movss xmm10, dword [rbx]
movaps xmmword [rsp + 0x60], xmm11
movss xmm11, dword [rbx + 4]
mulss xmm11, xmm6
mulss xmm10, xmm6
movaps xmm0, xmm11
subss xmm0, xmm9
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x1400bb0b8]
movaps xmm2, xmm10
subss xmm2, xmm8
movaps xmm7, xmm0
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x14003e70f
sqrtss xmm0, xmm0
jmp 0x14003e714
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [rbx + 0xf8]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jb 0x14003e763
movd xmm0, dword [rbx + 0xfc]
subss xmm9, xmm11
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x20], 0
xor r9d, r9d
subss xmm8, xmm10
divss xmm9, xmm0
lea ecx, [r9 + 1]
divss xmm8, xmm0
cvttss2si r8, xmm9
cvttss2si rdx, xmm8
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140051cb0
add rsp, 0xc8
ret