Function at 0x140073220
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xc0
mov rax, qword [0x1402f9040]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rax, qword [0x140302358]
mov rbx, rcx
movss xmm0, dword [0x1403021a4]
mov qword [r11 + 0x18], rsi
mov qword [r11 - 0x10], rdi
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
movaps xmmword [r11 - 0x48], xmm8
movss dword [rcx + 8], xmm0
cmp byte [rax + 0x2b0], 0
movaps xmmword [r11 - 0x58], xmm9
movaps xmmword [r11 - 0x68], xmm10
je 0x1400732a8
mov rax, qword [0x140302360]
cmp byte [rax + 0x2b0], 0
je 0x1400732a8
divss xmm0, dword [0x1402c8278]
cvtps2pd xmm6, xmm0
mulsd xmm6, qword [0x1402c7e68]
mulsd xmm6, qword [0x1402c7f98]
jmp 0x1400732c3
divss xmm0, dword [0x1402c8278]
cvtps2pd xmm6, xmm0
mulsd xmm6, qword [0x1402c7e68]
mulsd xmm6, qword [0x1402c8020]
movaps xmm0, xmm6
movaps xmm8, xmm6
addsd xmm0, qword [0x1402c7e30]
addsd xmm8, qword [0x1402c7e80]
mov edi, reloc.WS2_32.dll_recv
mov rsi, rbx
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movsd xmm9, qword [0x1402c7fb0]
movaps xmm7, xmm0
movsd xmm10, qword [0x1402c7fb8]
movaps xmm0, xmm6
mulsd xmm7, xmm9
addsd xmm7, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mulsd xmm0, xmm9
addsd xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
cvttsd2si eax, xmm0
movaps xmm0, xmm7
mov dword [rbx + 0xc], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
cvttsd2si eax, xmm0
movaps xmm0, xmm8
mov dword [rdi + rbx], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mulsd xmm0, xmm9
addsd xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
cvttsd2si eax, xmm0
lea ecx, [rdi - 0xf]
mov dword [rbx + 0x14], eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm10, xmmword [rsp + 0x60]
test ax, ax
jns 0x140073458
movss xmm6, dword [0x1402c81a8]
xor edi, edi
mov qword [rsp + 0xb0], r14
call fcn.140146640
mov ecx, dword [0x1402f9488]
lea r9, [rsp + 0x30]
movsd xmm0, qword [0x1402f9480]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x38], ecx
movaps xmm2, xmm6
mov rcx, rax
movsd qword [rsp + 0x30], xmm0
call fcn.1401bf9a0
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
cmp rsi, r14
je 0x140073442
movss xmm8, dword [0x1402f9480]
movss xmm9, dword [0x1402f9488]
mov qword [rsp + 0xd8], rbp
nop dword [rax]
mov rbp, rdi
movaps xmm7, xmm6
mov rdi, qword [rsi]
movss xmm0, dword [rdi + 8]
movss xmm1, dword [rdi + 0x10]
subss xmm0, xmm8
subss xmm1, xmm9
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14007341a
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140073422
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jbe 0x14007342a
movaps xmm6, xmm0
comiss xmm7, xmm0
cmovbe rdi, rbp
add rsi, 8
cmp rsi, r14
jne 0x1400733e0
mov rbp, qword [rsp + 0xd8]
lea rcx, [rsp + 0x40]
call fcn.14002a9c0
mov r14, qword [rsp + 0xb0]
mov qword [rbx + 0x18], rdi
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
mov rsi, qword [rsp + 0xe0]
test ax, ax
jns 0x1400734f4
movss xmm0, dword [rbx + 0xc0]
ucomiss xmm0, dword [0x140302828]
jp 0x1400734f4
jne 0x1400734f4
movss xmm0, dword [rbx + 0xc4]
ucomiss xmm0, dword [0x14030282c]
jp 0x1400734f4
jne 0x1400734f4
movss xmm0, dword [rbx + 0xc8]
ucomiss xmm0, dword [0x140302830]
jp 0x1400734f4
jne 0x1400734f4
mov rax, qword [rbx + 0xb8]
cmp byte [rax + 0x2b0], 0
je 0x1400734f4
movsd xmm0, qword [0x1402f9480]
movsd qword [rbx + 0xc0], xmm0
mov eax, dword [0x1402f9488]
mov dword [rbx + 0xc8], eax
movss xmm0, dword [rbx + 0xc0]
ucomiss xmm0, dword [0x140302828]
jp 0x140073530
jne 0x140073530
lea rdi, [rbx + 0xc4]
movss xmm0, dword [rdi]
ucomiss xmm0, dword [0x14030282c]
jp 0x140073530
jne 0x140073530
movss xmm0, dword [rbx + 0xc8]
ucomiss xmm0, dword [0x140302830]
jp 0x140073530
je 0x140073573
mov rax, qword [rbx + 0xb8]
lea rdi, [rbx + 0xc4]
cmp byte [rax + 0x2b0], 0
je 0x140073573
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140073573
movsd xmm0, qword [0x1402f9480]
movsd qword [rbx + 0xcc], xmm0
mov eax, dword [0x1402f9488]
mov dword [rbx + 0xd4], eax
movss xmm1, dword [0x140302828]
movss xmm0, dword [rbx + 0xc0]
ucomiss xmm0, xmm1
jp 0x1400735b0
jne 0x1400735b0
movss xmm0, dword [rdi]
ucomiss xmm0, dword [0x14030282c]
jp 0x1400735b0
jne 0x1400735b0
movss xmm0, dword [rbx + 0xc8]
ucomiss xmm0, dword [0x140302830]
jp 0x1400735b0
je 0x14007363d
movss xmm0, dword [rbx + 0xcc]
ucomiss xmm0, xmm1
jp 0x1400735e5
jne 0x1400735e5
movss xmm0, dword [rbx + 0xd0]
ucomiss xmm0, dword [0x14030282c]
jp 0x1400735e5
jne 0x1400735e5
movss xmm0, dword [rbx + 0xd4]
ucomiss xmm0, dword [0x140302830]
jp 0x1400735e5
je 0x14007363d
mov rax, qword [rbx + 0xb8]
cmp byte [rax + 0x2b0], 0
je 0x14007363d
mov ecx, reloc.WS2_32.dll_select
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14007363d
movsd xmm0, qword [0x140302828]
movsd qword [rbx + 0xc0], xmm0
mov eax, dword [0x140302830]
mov dword [rbx + 0xc8], eax
movsd xmm0, qword [0x140302828]
movsd qword [rbx + 0xcc], xmm0
mov eax, dword [0x140302830]
mov dword [rbx + 0xd4], eax
mov rax, qword [rbx + 0x18]
mov rdi, qword [rsp + 0xb8]
test rax, rax
je 0x14007365f
cmp byte [rax + 0xa7], 0
jne 0x14007365f
mov qword [rbx + 0x18], 0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14022f560
add rsp, 0xc0
pop rbx
ret