Function at 0x180015db0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xd0
mov rdi, qword [0x1800a9c10]
call fcn.18000f4e0
test rax, rax
je 0x1800161d2
test rdi, rdi
je 0x1800161d2
call fcn.18000f4e0
mov rcx, rax
call fcn.18000f210
test rax, rax
je 0x1800161d2
mov rcx, rdi
call fcn.18000d640
test al, al
jne 0x1800161d2
cmp byte [0x1800a9d0e], al
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf0], rsi
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x70], xmm11
je 0x180015ea0
mov ecx, dword [0x1800932d0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180015ea0
call fcn.18000f4e0
mov ebx, 0x2f
lea rdx, [rbp - 0x19]
mov r8d, ebx
mov rcx, rax
call fcn.18000ee00
movss xmm1, dword [rax + 4]
movss xmm2, dword [rax + 8]
movss xmm0, dword [rax]
lea rax, [rbp - 0x49]
addss xmm1, dword [0x180088ad8]
movss dword [rbp - 0x49], xmm0
movss dword [rbp - 0x41], xmm2
movss dword [rbp - 0x45], xmm1
jmp 0x180015eb9
call fcn.18000f4e0
mov ebx, 0x2f
lea rdx, [rbp - 0x29]
mov r8d, ebx
mov rcx, rax
call fcn.18000ee00
cmp byte [0x1800a9c70], 0
movsd xmm6, qword [rax]
mov esi, dword [rax + 8]
movsd qword [rbp - 0x39], xmm6
mov dword [rbp - 0x31], esi
je 0x180015edc
lea rdx, [rbp - 0x19]
mov ebx, 0x12
jmp 0x180015ee0
lea rdx, [rbp - 0x29]
mov r8d, ebx
mov rcx, rdi
call fcn.18000ee00
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x49], xmm0
mov dword [rbp - 0x41], eax
call fcn.18000f4e0
mov rcx, rax
call fcn.18000f210
mov rcx, rax
call fcn.18000e3e0
mov ecx, eax
call fcn.180015810
movaps xmm7, xmm0
call fcn.180015860
mov rax, qword gs:[0x58]
movaps xmm8, xmm0
mov ecx, dword [0x1800a9688]
mov edx, 4
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x1800aa1d4], eax
jg 0x1800161e3
mov rax, qword [0x1800aa548]
lea r8, [rbp - 0x29]
movaps xmm3, xmm8
movss dword [rsp + 0x20], xmm7
lea rdx, [rbp - 0x49]
movsd qword [rbp - 0x19], xmm6
lea rcx, [rbp - 0x19]
mov dword [rbp - 0x11], esi
movsd xmm0, qword [rax + rdi]
mov eax, dword [rax + rdi + 8]
movsd qword [rbp - 0x29], xmm0
mov dword [rbp - 0x21], eax
call fcn.180015460
movss xmm0, dword [rbp - 0x35]
subss xmm0, dword [rbp - 0x45]
movss xmm7, dword [rbp - 0x39]
subss xmm7, dword [rbp - 0x49]
movss xmm6, dword [rbp - 0x31]
subss xmm6, dword [rbp - 0x41]
movaps xmm3, xmm0
mulss xmm3, xmm0
movaps xmm1, xmm7
movaps xmm2, xmm6
mulss xmm1, xmm7
mulss xmm2, xmm6
addss xmm3, xmm1
addss xmm3, xmm2
xorps xmm2, xmm2
sqrtss xmm2, xmm3
divss xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
xorps xmm6, xmmword [0x1800895b0]
movaps xmm10, xmm0
mulss xmm10, dword [0x180088df8]
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm6, xmm0
mulss xmm6, dword [0x180089004]
call fcn.18000f4e0
mov rsi, qword [rsp + 0xf0]
xor edi, edi
movabs rbx, 0x7fffffff0000
lea rcx, [rax + 0x4f0]
cmp rcx, 0x40000
jbe 0x180016044
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x180016044
mov rcx, qword [rcx]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x180016044
lea rax, [rcx + 8]
cmp rax, rbx
jb 0x18001604c
mov qword [rbp + 0x67], rdi
lea rcx, [rbp + 0x67]
subss xmm10, dword [rcx]
movss xmm11, dword [0x180089008]
subss xmm6, dword [rcx + 4]
comiss xmm10, xmm11
jae 0x18001606b
movaps xmm10, xmm11
jmp 0x180016074
minss xmm10, dword [0x180088e2c]
comiss xmm6, dword [0x180089020]
movaps xmmword [rsp + 0x90], xmm9
movss xmm9, dword [0x180088ed4]
jae 0x180016096
addss xmm6, xmm9
jmp 0x1800160a1
comiss xmm6, xmm9
jbe 0x1800160a1
subss xmm6, xmm9
call fcn.18000f4e0
lea rcx, [rax + 0x4f0]
cmp rcx, 0x40000
jbe 0x1800160d8
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800160d8
mov rcx, qword [rcx]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x1800160d8
lea rax, [rcx + 8]
cmp rax, rbx
jb 0x1800160e0
mov qword [rbp + 0x67], rdi
lea rcx, [rbp + 0x67]
cmp byte [0x1800a9c6b], dil
movss xmm8, dword [rcx]
movss xmm7, dword [rcx + 4]
addss xmm8, xmm10
movaps xmm10, xmmword [rsp + 0x80]
addss xmm7, xmm6
movaps xmm6, xmmword [rsp + 0xc0]
movss dword [rbp + 0x67], xmm8
movss dword [rbp + 0x6b], xmm7
je 0x18001612c
lea rcx, [rbp + 0x67]
call fcn.180015af0
movss xmm7, dword [rbp + 0x6b]
movss xmm8, dword [rbp + 0x67]
comiss xmm8, xmm11
jae 0x180016138
movaps xmm8, xmm11
jmp 0x18001614b
comiss xmm8, dword [0x180088e2c]
jbe 0x18001614b
movss xmm8, dword [0x180088e2c]
comiss xmm7, dword [0x180089020]
movaps xmm11, xmmword [rsp + 0x70]
jae 0x180016161
addss xmm7, xmm9
jmp 0x18001616f
comiss xmm7, xmm9
jbe 0x18001616f
addss xmm7, dword [0x180089020]
call fcn.18000f4e0
movaps xmm9, xmmword [rsp + 0x90]
lea rcx, [rax + 0x4f0]
cmp rcx, 0x40000
jbe 0x1800161b9
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800161b9
mov rcx, qword [rcx]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x1800161b9
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x1800161b9
movss dword [rcx], xmm8
movss dword [rcx + 4], xmm7
movaps xmm7, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0xe8]
movaps xmm8, xmmword [rsp + 0xa0]
mov rdi, qword [rsp + 0xf8]
add rsp, 0xd0
pop rbp
ret
lea rcx, [0x1800aa1d4]
call fcn.18007e4cc
cmp dword [0x1800aa1d4], 0xffffffff
jne 0x180015f49
mov ecx, 0xcf100582
call fcn.1800075b0
lea rcx, [0x1800aa1d4]
mov qword [0x1800aa548], rax
call fcn.18007e46c
jmp 0x180015f49