Function at 0x1800adb20
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x330
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x1800f6768]
xor rax, rsp
mov qword [rbp + 0x188], rax
movabs r14, 0xd80958fc74e988a6
mov rcx, r14
call fcn.180084f40
xor edx, edx
mov ecx, eax
call fcn.1800ac000
movzx edi, al
mov rcx, qword [0x1800f7a98]
movsd xmm0, qword [rcx + 0x90]
movsd qword [rsp + 0x48], xmm0
mov ecx, dword [rcx + 0x98]
mov dword [rsp + 0x50], ecx
lea rax, [rsp + 0x60]
mov qword [rbp - 0x60], rax
xor esi, esi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 0xf
lea r8d, [rsi + 0xc]
lea rdx, [0x1800e2138]
lea rcx, [rsp + 0x60]
call fcn.180093360
nop
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], 0xf
lea r8d, [rsi + 5]
lea rdx, str.hacks
lea rcx, [rbp - 0x80]
call fcn.180093360
nop
movss xmm2, dword [0x1800d2270]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.1800a7000
movaps xmm12, xmm0
test dil, dil
jne 0x1800adc7c
mov dword [rbp - 0x60], 0xffffffff
lea rdx, [rbp - 0x60]
movabs rcx, 0x43a66c31c68491c0
call fcn.180085040
movss xmm10, dword [rsp + 0x4c]
movss xmm9, dword [rsp + 0x50]
movss dword [rsp + 0x44], xmm10
movss dword [rsp + 0x58], xmm9
jmp 0x1800adcea
mov rax, qword [0x1800f7a98]
cmp dword [rax + 0x14a7], 0
jne 0x1800adcab
mov rcx, qword [rax + 0xd10]
movsd xmm0, qword [rcx + 0x90]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rcx + 0x98]
mov dword [rsp + 0x50], eax
mov dword [rbp - 0x60], 0xffffffff
lea rdx, [rbp - 0x60]
movabs rcx, 0x43a66c31c68491c0
call fcn.180085040
xor edx, edx
mov ecx, eax
call fcn.1800a87d0
movss xmm10, dword [rsp + 0x4c]
movss xmm9, dword [rsp + 0x50]
movss dword [rsp + 0x44], xmm10
movss dword [rsp + 0x58], xmm9
movss xmm11, dword [rsp + 0x48]
movss dword [rbp - 0x60], xmm11
movaps xmm14, xmm9
movaps xmm13, xmm10
mov ebx, eax
movabs r15, 0x743607648add4587
mov rcx, r15
call fcn.180085170
movaps xmm6, xmm0
mov rcx, r14
call fcn.180084f40
mov ecx, eax
call fcn.1800a7860
addss xmm0, xmm6
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
mulsd xmm6, qword [0x1800e47e0]
divsd xmm6, qword [0x1800e47e8]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm0, xmmword [0x1800d6c90]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm15, xmm15
cvtsd2ss xmm15, xmm0
movabs r14, 0x3a6867b4845beda2
mov rcx, r14
call fcn.180085170
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x1800e47e0]
divsd xmm0, qword [0x1800e47e8]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
movaps xmm2, xmm15
mulss xmm2, xmm15
movss xmm3, dword [rsp + 0x40]
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm2, xmm0
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800addd5
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800adde3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm3, dword [rsp + 0x40]
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
xorps xmm0, xmm0
ucomisd xmm2, xmm0
jp 0x1800addf5
je 0x1800ade2c
cvtps2pd xmm0, xmm3
divsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x40], xmm0
cvtps2pd xmm1, xmm15
divsd xmm1, xmm2
cvtpd2ps xmm15, xmm1
cvtps2pd xmm0, xmm7
divsd xmm0, xmm2
cvtpd2ps xmm7, xmm0
movss xmm13, dword [rsp + 0x44]
movss xmm14, dword [rsp + 0x58]
mov rcx, r15
call fcn.180085170
movaps xmm6, xmm0
mov ecx, ebx
call fcn.1800a7860
addss xmm0, xmm6
movss dword [rsp + 0x44], xmm0
mov rcx, r14
call fcn.180085170
movss dword [rsp + 0x58], xmm0
movaps xmm8, xmm12
mulss xmm8, dword [rsp + 0x40]
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800ade98
movss xmm11, dword [rbp - 0x60]
addss xmm11, xmm8
movaps xmm10, xmm15
mulss xmm10, xmm12
addss xmm10, xmm13
movaps xmm9, xmm7
mulss xmm9, xmm12
addss xmm9, xmm14
movaps xmm6, xmm12
mulss xmm6, xmm7
movaps xmm7, xmm12
mulss xmm7, xmm15
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800adec8
subss xmm11, xmm8
subss xmm10, xmm7
subss xmm9, xmm6
mov ecx, 0x45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800adedd
addss xmm9, xmm12
mov ecx, 0x51
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800adef2
subss xmm9, xmm12
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
movaps xmm3, xmm9
movaps xmm2, xmm10
movaps xmm1, xmm11
mov ecx, ebx
call fcn.1800c2200
test dil, dil
je 0x1800ae085
xor eax, eax
mov dword [rbp - 0x4c], eax
xor edx, edx
mov r8d, 0x1c4
lea rcx, [rbp - 0x3c]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x88]
mov qword [rbp - 0x48], rax
lea rax, [rbp + 0x88]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x40], esi
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x88]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rbp - 0x50]
mov qword [rbp + rax*8 + 0x88], rsi
mov eax, dword [rbp - 0x50]
mov dword [rbp + rax*8 + 0x88], ebx
mov eax, dword [rbp - 0x50]
inc eax
mov dword [rbp - 0x50], eax
mov qword [rbp + rax*8 + 0x88], rsi
mov eax, dword [rbp - 0x50]
movss xmm0, dword [rsp + 0x58]
movss dword [rbp + rax*8 + 0x88], xmm0
mov eax, dword [rbp - 0x50]
inc eax
mov dword [rbp - 0x50], eax
mov qword [rbp + rax*8 + 0x88], rsi
mov eax, dword [rbp - 0x50]
mov dword [rbp + rax*8 + 0x88], esi
mov eax, dword [rbp - 0x50]
inc eax
mov dword [rbp - 0x50], eax
mov qword [rbp + rax*8 + 0x88], rsi
mov eax, dword [rbp - 0x50]
movss xmm0, dword [rsp + 0x44]
movss dword [rbp + rax*8 + 0x88], xmm0
mov eax, dword [rbp - 0x50]
inc eax
mov dword [rbp - 0x50], eax
mov qword [rbp + rax*8 + 0x88], rsi
mov eax, dword [rbp - 0x50]
mov dword [rbp + rax*8 + 0x88], esi
mov eax, dword [rbp - 0x50]
inc eax
mov dword [rbp - 0x50], eax
mov qword [rbp + rax*8 + 0x88], rsi
mov eax, dword [rbp - 0x50]
mov byte [rbp + rax*8 + 0x88], 1
inc dword [rbp - 0x50]
mov rax, qword [0x1800fcc88]
mov rcx, qword [0x1800fcc90]
cmp rax, rcx
je 0x1800ae07b
movabs rdx, 0x8524a8b0171d5e07
nop dword [rax + rax]
cmp qword [rax], rdx
je 0x1800ae040
add rax, 0x10
cmp rax, rcx
jne 0x1800ae030
jmp 0x1800ae07b
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800ae07b
cmp dword [0x1800fb490], 1
jne 0x1800ae060
mov rax, qword [0x1800f80a8]
mov rcx, rdx
call rax
jmp 0x1800ae070
mov rax, qword [0x1800f80a0]
mov rcx, qword [0x1800f80b8]
call rax
test rax, rax
je 0x1800ae07b
lea rcx, [rbp - 0x58]
call rax
lea rcx, [rbp - 0x58]
call qword [0x1800f80c0]
mov rcx, qword [rbp + 0x188]
xor rcx, rsp
call fcn.1800cc000
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop rbp
ret