Function at 0x18002a930
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x58]
sub rsp, 0x150
cmp byte [0x1801f2321], 0
je 0x18002ad0b
mov qword [rax - 0x10], rsi
movaps xmmword [rax - 0x28], xmm6
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
call fcn.18000a910
mov ecx, eax
lea rdx, [rbp + 0x68]
call fcn.180029ae0
call fcn.18001b160
call fcn.18000a910
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.18001ab60
movss xmm1, dword [rbp - 0x78]
movss xmm2, dword [rbp - 0x68]
mulss xmm1, dword [0x1801ba7f0]
mulss xmm2, dword [0x1801ba7f0]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.18014fc83
movaps xmm8, xmm0
lea rcx, [rbp - 0x78]
shufps xmm8, xmm0, 0xe
movaps xmm1, xmm0
movaps xmm10, xmm8
shufps xmm1, xmm0, 1
andps xmm1, xmmword [0x1801bc070]
movaps xmm9, xmm0
mulss xmm10, xmm1
shufps xmm8, xmm8, 1
mulss xmm8, xmm1
xorps xmm10, xmmword [0x1801bc090]
call fcn.1800282f0
call fcn.18000a910
mov edx, eax
lea rcx, [rsp + 0x70]
mov r8d, 1
call fcn.1800080c0
movss xmm0, dword [rsp + 0x70]
movaps xmm11, xmm10
subss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rsp + 0x78]
movaps xmm12, xmm8
subss xmm1, dword [rbp - 0x70]
movaps xmm13, xmm9
cvtps2pd xmm2, xmm0
movss xmm0, dword [rbp - 0x80]
subss xmm0, dword [rbp - 0x68]
cvtps2pd xmm3, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm3, xmm3
mulsd xmm2, xmm2
addsd xmm3, xmm2
addsd xmm3, xmm0
sqrtpd xmm0, xmm3
cvtpd2ps xmm1, xmm0
addss xmm1, dword [0x1801ba930]
mulss xmm11, xmm1
mulss xmm12, xmm1
addss xmm11, dword [rbp - 0x78]
mulss xmm13, xmm1
addss xmm12, dword [rbp - 0x70]
addss xmm13, dword [rbp - 0x68]
call fcn.18001b160
cmp byte [0x1801f234b], 0
mov esi, eax
je 0x18002aca1
call fcn.18001b160
mov ecx, eax
lea rdx, [rbp + 0x60]
call fcn.180029530
test eax, eax
je 0x18002aca1
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002aca1
mov edx, dword [rbp + 0x60]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x170], rbx
xor r8d, r8d
mov qword [rsp + 0x140], rdi
movaps xmmword [rsp + 0x120], xmm7
call fcn.1800080c0
mov edx, 1
mov ecx, esi
call fcn.18001b190
mov ecx, dword [rbp + 0x60]
call fcn.180028380
test eax, eax
je 0x18002ab2f
mov ecx, dword [rbp + 0x60]
mov edx, 1
call fcn.180009f20
test eax, eax
je 0x18002ab2f
mov ecx, dword [rbp + 0x60]
xor edx, edx
call fcn.18000a110
mov edi, eax
mov dword [rbp + 0x60], eax
jmp 0x18002ab32
mov edi, dword [rbp + 0x60]
mov ecx, edi
call fcn.180009660
xor ebx, ebx
nop dword [rax + rax]
mov ecx, edi
call fcn.1800096a0
test eax, eax
jne 0x18002ab73
mov rax, qword gs:[0x20]
mov rcx, qword [rax]
mov byte [rcx + 0x20], 0
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov ecx, edi
call fcn.180009660
inc ebx
cmp ebx, 0x32
jle 0x18002ab40
mov ecx, dword [rbp + 0x60]
call fcn.1800283c0
mov rdi, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x170]
test eax, eax
je 0x18002aba1
mov ecx, esi
call fcn.180008190
mov ecx, dword [rbp + 0x60]
movaps xmm1, xmm0
call fcn.180008af0
mov ecx, esi
call fcn.1800286d0
mov edx, 2
lea rcx, [rbp - 0x78]
call fcn.18001ab60
mov edx, 2
lea rcx, [rsp + 0x70]
movss xmm7, dword [rax + 0x10]
call fcn.18001ab60
mov edx, 2
lea rcx, [rbp - 0x60]
movss xmm6, dword [rax + 8]
call fcn.18001ab60
mov dword [rsp + 0x28], 1
movaps xmm3, xmm7
movaps xmm2, xmm6
mov dword [rsp + 0x20], 2
mov ecx, esi
movss xmm1, dword [rax]
call fcn.180008c00
xor r8d, r8d
mov edx, 0xff
mov ecx, esi
call fcn.180008db0
mov ecx, dword [rbp + 0x60]
movaps xmm3, xmm13
movaps xmm2, xmm12
mov dword [rsp + 0x30], 0
movaps xmm1, xmm11
call fcn.180008a10
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm7, xmmword [rsp + 0x120]
test ax, ax
je 0x18002aca1
mov ecx, esi
call fcn.180008190
mov ecx, dword [rbp + 0x60]
movaps xmm1, xmm0
call fcn.180008af0
movss xmm0, dword [0x1801bb2f0]
mov ecx, dword [rbp + 0x60]
mulss xmm8, xmm0
mov dword [rsp + 0x48], 0
mulss xmm10, xmm0
mov dword [rsp + 0x40], 0
mulss xmm9, xmm0
movaps xmm3, xmm8
movaps xmm2, xmm10
movss dword [rsp + 0x20], xmm9
call fcn.180028520
xor edx, edx
mov byte [0x1801f234b], 0
mov ecx, esi
call fcn.18001b190
call fcn.18001b160
mov ecx, eax
lea rdx, [rbp + 0x60]
call fcn.180029530
movaps xmm13, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x130]
test eax, eax
jne 0x18002ad03
xor edx, edx
mov byte [0x1801f234b], 1
mov ecx, esi
call fcn.18001b190
mov rsi, qword [rsp + 0x148]
add rsp, 0x150
pop rbp
ret