Function at 0x18002b080
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x58]
sub rsp, 0x150
cmp byte [0x1801f22b1], 0
je 0x18002b45b
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.18000a950
mov ecx, eax
lea rdx, [rbp + 0x68]
call fcn.18002a230
call fcn.18001b880
call fcn.18000a950
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.18001b280
movss xmm1, dword [rbp - 0x60]
movss xmm2, dword [rbp - 0x50]
mulss xmm1, dword [0x1801ba7f0]
mulss xmm2, dword [0x1801ba7f0]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.180150473
movaps xmm8, xmm0
lea rcx, [rbp - 0x78]
shufps xmm8, xmm0, 0xe
movaps xmm1, xmm0
movaps xmm10, xmm8
shufps xmm1, xmm0, 1
andps xmm1, xmmword [0x1801bbfe0]
movaps xmm9, xmm0
mulss xmm10, xmm1
shufps xmm8, xmm8, 1
mulss xmm8, xmm1
xorps xmm10, xmmword [0x1801bc000]
call fcn.180028a40
call fcn.18000a950
mov edx, eax
lea rcx, [rsp + 0x70]
mov r8d, 1
call fcn.180008100
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.18001b880
cmp byte [0x1801f22db], 0
mov esi, eax
je 0x18002b3f1
call fcn.18001b880
mov ecx, eax
lea rdx, [rbp + 0x60]
call fcn.180029c80
test eax, eax
je 0x18002b3f1
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002b3f1
mov edx, dword [rbp + 0x60]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x170], rbx
xor r8d, r8d
mov qword [rsp + 0x140], rdi
movaps xmmword [rsp + 0x120], xmm7
call fcn.180008100
mov edx, 1
mov ecx, esi
call fcn.18001b8b0
mov ecx, dword [rbp + 0x60]
call fcn.180028ad0
test eax, eax
je 0x18002b27f
mov ecx, dword [rbp + 0x60]
mov edx, 1
call fcn.180009f60
test eax, eax
je 0x18002b27f
mov ecx, dword [rbp + 0x60]
xor edx, edx
call fcn.18000a150
mov edi, eax
mov dword [rbp + 0x60], eax
jmp 0x18002b282
mov edi, dword [rbp + 0x60]
mov ecx, edi
call fcn.1800096a0
xor ebx, ebx
nop dword [rax + rax]
mov ecx, edi
call fcn.1800096e0
test eax, eax
jne 0x18002b2c3
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.1800096a0
inc ebx
cmp ebx, 0x32
jle 0x18002b290
mov ecx, dword [rbp + 0x60]
call fcn.180028b10
mov rdi, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x170]
test eax, eax
je 0x18002b2f1
mov ecx, esi
call fcn.1800081d0
mov ecx, dword [rbp + 0x60]
movaps xmm1, xmm0
call fcn.180008b30
mov ecx, esi
call fcn.180028e20
mov edx, 2
lea rcx, [rbp - 0x60]
call fcn.18001b280
mov edx, 2
lea rcx, [rbp - 0x78]
movss xmm7, dword [rax + 0x10]
call fcn.18001b280
mov edx, 2
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax + 8]
call fcn.18001b280
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.180008c40
xor r8d, r8d
mov edx, 0xff
mov ecx, esi
call fcn.180008df0
mov ecx, dword [rbp + 0x60]
movaps xmm3, xmm13
movaps xmm2, xmm12
mov dword [rsp + 0x30], 0
movaps xmm1, xmm11
call fcn.180008a50
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm7, xmmword [rsp + 0x120]
test ax, ax
je 0x18002b3f1
mov ecx, esi
call fcn.1800081d0
mov ecx, dword [rbp + 0x60]
movaps xmm1, xmm0
call fcn.180008b30
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.180028c70
xor edx, edx
mov byte [0x1801f22db], 0
mov ecx, esi
call fcn.18001b8b0
call fcn.18001b880
mov ecx, eax
lea rdx, [rbp + 0x60]
call fcn.180029c80
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 0x18002b453
xor edx, edx
mov byte [0x1801f22db], 1
mov ecx, esi
call fcn.18001b8b0
mov rsi, qword [rsp + 0x148]
add rsp, 0x150
pop rbp
ret