Function at 0x140050010
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
push r12
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov rax, qword [0x1400df080]
xor rax, rsp
mov qword [rbp - 0x19], rax
mov rax, qword gs:[0x58]
mov r12, qword [0x1400e0060]
mov edx, 4
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e0598], eax
jle 0x140050084
lea rcx, [0x1400e0598]
call fcn.1400b45a8
cmp dword [0x1400e0598], 0xffffffff
jne 0x140050084
lea rcx, [0x1400e05a8]
call fcn.14004f8f0
lea rcx, [0x1400e0598]
call fcn.1400b453c
mov rsi, qword [0x1400e04a8]
mov r15, qword [0x1400e04b0]
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], r14
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0x80], xmm10
cmp rsi, r15
je 0x140050249
movsd xmm10, qword [0x1400ce048]
xor r14d, r14d
movsd xmm7, qword [0x1400ce080]
xorps xmm6, xmm6
mov r8, rsi
mov rdx, r12
call fcn.140051170
mov rbx, rax
test rax, rax
je 0x14005023c
mov rcx, qword [0x1400e03a0]
lea rax, [rbp - 0x59]
mov r9d, 8
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x49]
movsd qword [rbp - 0x49], xmm6
mov rdx, rbx
movsd qword [rbp - 0x51], xmm6
mov qword [rbp - 0x59], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140050219
cmp qword [rbp - 0x59], 8
jne 0x140050219
mov rcx, qword [0x1400e03a0]
lea rax, [rbp - 0x59]
lea rdx, [rbx + 8]
mov qword [rsp + 0x20], rax
mov r9d, 8
mov qword [rbp - 0x59], r14
lea r8, [rbp - 0x51]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140050219
cmp qword [rbp - 0x59], 8
jne 0x140050219
mov rdi, qword [0x1400e0508]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14005023c
movsd xmm8, qword [rbp - 0x49]
movsd xmm9, qword [rbp - 0x51]
nop word [rax + rax]
movsd xmm1, qword [rbx + 0x18]
ucomisd xmm1, xmm6
jp 0x1400501bd
je 0x14005020f
movsd xmm2, qword [rbx + 0x20]
ucomisd xmm2, xmm6
jp 0x1400501ca
je 0x14005020f
movaps xmm0, xmm8
subsd xmm0, xmm1
movaps xmm1, xmm9
subsd xmm1, xmm2
mulsd xmm0, xmm0
mulsd xmm1, xmm1
mulsd xmm1, xmm10
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x1400501fd
xorps xmm0, xmm0
sqrtsd xmm0, xmm1
jmp 0x140050205
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
comisd xmm7, xmm0
ja 0x1400502b6
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1400501b0
jmp 0x14005023c
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Error_reading_local_player_coordinates
call fcn.14004d710
lea rdx, [0x14004d910]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
add rsi, 0x28
cmp rsi, r15
jne 0x1400500f5
lea rcx, [rbp - 0x59]
call fcn.14004f8f0
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
mov r14, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xf0]
mov rcx, qword [rbp - 0x19]
xor rcx, rsp
call fcn.1400b44e0
mov rsi, qword [rsp + 0x108]
add rsp, 0xd0
pop r15
pop r12
pop rbp
ret
lea rcx, [rbp - 0x59]
call fcn.14004f8f0
mov rax, qword [rbp - 0x59]
sub rax, qword [0x1400e05a8]
cmp rax, 0x17d78400
jl 0x140050252
lea rcx, reloc.WS2_32.dll_bind
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400502ef
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1400df16c], 0x7fffffff
jne 0x140050311
mov ecx, 6
mov dword [0x1400df16c], 0x7ffffffe
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, 1
lea rcx, reloc.WS2_32.dll_bind
xchg byte [0x1400dffea], al
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x41], xmm0
mov cl, 0x5a
mov dword [rbp - 0x41], 1
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], rax
call qword [sym.imp.USER32.dll_VkKeyScanA]
mov r8d, Ordinal_41
mov dword [rbp - 0x35], r14d
lea rdx, [rbp - 0x41]
mov word [rbp - 0x39], ax
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
lea rcx, [rbp - 0x51]
mov qword [rbp - 0x51], 0x64
call fcn.140051310
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x41], xmm0
mov cl, 0x5a
mov dword [rbp - 0x41], 1
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], rax
call qword [sym.imp.USER32.dll_VkKeyScanA]
mov r8d, Ordinal_41
mov dword [rbp - 0x35], 2
lea rdx, [rbp - 0x41]
mov word [rbp - 0x39], ax
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
mov rax, qword [rbp - 0x59]
mov qword [0x1400e05a8], rax
xchg byte [0x1400dffea], r14b
jmp 0x140050252