Function at 0x140072ab0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0xc0
mov rax, qword [0x1402f2018]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rax, qword [0x1402fb560]
mov rbx, rcx
movss xmm0, dword [0x1402fb3b0]
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x18], r15
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 0x140072b3c
mov rax, qword [0x1402fb558]
cmp byte [rax + 0x2b0], 0
je 0x140072b3c
divss xmm0, dword [0x1402c1a68]
cvtps2pd xmm6, xmm0
mulsd xmm6, qword [0x1402c1690]
mulsd xmm6, qword [0x1402c17a8]
jmp 0x140072b57
divss xmm0, dword [0x1402c1a68]
cvtps2pd xmm6, xmm0
mulsd xmm6, qword [0x1402c1690]
mulsd xmm6, qword [0x1402c1828]
movaps xmm0, xmm6
movaps xmm8, xmm6
addsd xmm0, qword [0x1402c1660]
addsd xmm8, qword [0x1402c16a8]
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 [0x1402c17c0]
movaps xmm7, xmm0
movsd xmm10, qword [0x1402c17c8]
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, xmm8
mov dword [rbx + 0xc], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movaps xmm6, xmm0
movaps xmm0, xmm7
mulsd xmm6, xmm9
addsd xmm6, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
cvttsd2si eax, xmm0
movaps xmm0, xmm6
mov dword [rdi + rbx], eax
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]
bt ax, 0xf
movaps xmm10, xmmword [rsp + 0x60]
jae 0x140072cf8
movss xmm6, dword [0x1402c1998]
xor edi, edi
mov qword [rsp + 0xb8], r14
call fcn.14013e9d0
mov ecx, dword [0x1402f2d60]
lea r9, [rsp + 0x30]
movsd xmm0, qword [0x1402f2d58]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x38], ecx
movaps xmm2, xmm6
mov rcx, rax
movsd qword [rsp + 0x30], xmm0
call fcn.1401b61b0
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
cmp rsi, r14
je 0x140072ce2
movss xmm8, dword [0x1402f2d58]
movss xmm9, dword [0x1402f2d60]
mov qword [rsp + 0xd8], rbp
nop dword [rax + 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 0x140072cba
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140072cc2
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jbe 0x140072cca
movaps xmm6, xmm0
comiss xmm7, xmm0
cmovbe rdi, rbp
add rsi, 8
cmp rsi, r14
jne 0x140072c80
mov rbp, qword [rsp + 0xd8]
lea rcx, [rsp + 0x40]
call fcn.140033e60
mov r14, qword [rsp + 0xb8]
mov qword [rbx + 0x18], rdi
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
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]
jae 0x140072d96
movss xmm0, dword [rbx + 0xc0]
ucomiss xmm0, dword [0x1402fba30]
jp 0x140072d96
jne 0x140072d96
movss xmm0, dword [rbx + 0xc4]
ucomiss xmm0, dword [0x1402fba34]
jp 0x140072d96
jne 0x140072d96
movss xmm0, dword [rbx + 0xc8]
ucomiss xmm0, dword [0x1402fba38]
jp 0x140072d96
jne 0x140072d96
mov rax, qword [rbx + 0xb8]
cmp byte [rax + 0x2b0], 0
je 0x140072d96
movsd xmm0, qword [0x1402f2d58]
movsd qword [rbx + 0xc0], xmm0
mov eax, dword [0x1402f2d60]
mov dword [rbx + 0xc8], eax
movss xmm0, dword [rbx + 0xc0]
ucomiss xmm0, dword [0x1402fba30]
jp 0x140072dd2
jne 0x140072dd2
lea rdi, [rbx + 0xc4]
movss xmm0, dword [rdi]
ucomiss xmm0, dword [0x1402fba34]
jp 0x140072dd2
jne 0x140072dd2
movss xmm0, dword [rbx + 0xc8]
ucomiss xmm0, dword [0x1402fba38]
jp 0x140072dd2
je 0x140072e17
mov rax, qword [rbx + 0xb8]
lea rdi, [rbx + 0xc4]
cmp byte [rax + 0x2b0], 0
je 0x140072e17
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x140072e17
movsd xmm0, qword [0x1402f2d58]
movsd qword [rbx + 0xcc], xmm0
mov eax, dword [0x1402f2d60]
mov dword [rbx + 0xd4], eax
movss xmm1, dword [0x1402fba30]
movss xmm0, dword [rbx + 0xc0]
ucomiss xmm0, xmm1
jp 0x140072e54
jne 0x140072e54
movss xmm0, dword [rdi]
ucomiss xmm0, dword [0x1402fba34]
jp 0x140072e54
jne 0x140072e54
movss xmm0, dword [rbx + 0xc8]
ucomiss xmm0, dword [0x1402fba38]
jp 0x140072e54
je 0x140072ee3
movss xmm0, dword [rbx + 0xcc]
ucomiss xmm0, xmm1
jp 0x140072e89
jne 0x140072e89
movss xmm0, dword [rbx + 0xd0]
ucomiss xmm0, dword [0x1402fba34]
jp 0x140072e89
jne 0x140072e89
movss xmm0, dword [rbx + 0xd4]
ucomiss xmm0, dword [0x1402fba38]
jp 0x140072e89
je 0x140072ee3
mov rax, qword [rbx + 0xb8]
cmp byte [rax + 0x2b0], 0
je 0x140072ee3
mov ecx, reloc.WS2_32.dll_select
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x140072ee3
movsd xmm0, qword [0x1402fba30]
movsd qword [rbx + 0xc0], xmm0
mov eax, dword [0x1402fba38]
mov dword [rbx + 0xc8], eax
movsd xmm0, qword [0x1402fba30]
movsd qword [rbx + 0xcc], xmm0
mov eax, dword [0x1402fba38]
mov dword [rbx + 0xd4], eax
mov rax, qword [rbx + 0x18]
mov r15, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xe8]
test rax, rax
je 0x140072f0d
cmp byte [rax + 0xa7], 0
jne 0x140072f0d
mov qword [rbx + 0x18], 0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1402283f0
add rsp, 0xc0
pop rbx
ret