Function at 0x180032fa0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0xf0
mov rsi, qword [0x180163220]
mov edi, 2
mov rbx, qword [0x180163218]
cmp rbx, rsi
je 0x180033269
mov qword [rax + 0x18], rbp
lea rbp, [0x1801186c6]
mov qword [rax + 0x20], r14
lea r14, [0x1801186c4]
movaps xmmword [rax - 0x58], xmm9
xorps xmm9, xmm9
movaps xmmword [rax - 0x68], xmm10
movss xmm10, dword [0x18011ac98]
movaps xmmword [rax - 0x78], xmm11
movss xmm11, dword [0x18011aca0]
movaps xmmword [rax - 0x88], xmm12
movss xmm12, dword [0x18011acc4]
movaps xmmword [rsp + 0x70], xmm13
movss xmm13, dword [0x18011ad34]
movaps xmmword [rsp + 0x60], xmm14
movss xmm14, dword [0x18011ac7c]
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov ecx, dword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800331ea
movaps xmm0, xmmword [0x18011b530]
lea rcx, [rsp + 0x50]
mov r11, qword [rbx]
mov r9, qword [rbx + 0x10]
movups xmmword [rsp + 0x50], xmm0
call fcn.18003e510
movss xmm7, dword [rbx + 8]
mov edx, eax
movss xmm6, dword [rbx + 0xc]
movaps xmm0, xmm7
mov r8, qword [0x180141f50]
addss xmm0, xmm14
movd xmm8, edi
mov r10, r11
cvtdq2ps xmm8, xmm8
movss dword [rsp + 0x110], xmm0
movaps xmm0, xmm6
addss xmm0, xmm12
addss xmm0, xmm8
movss dword [rsp + 0x114], xmm0
test eax, 0xff000000
je 0x18003314b
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [r9 + rcx], 0
jne 0x1800330d0
add rcx, r9
cmp r9, rcx
je 0x18003314b
test r8, r8
jne 0x1800330ef
mov rax, qword [r11 + 0x38]
mov r8, qword [rax + 8]
movups xmm0, xmmword [r11 + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x50]
movss dword [rsp + 0x40], xmm9
movaps xmm2, xmm10
mov qword [rsp + 0x38], rcx
mov rcx, r8
mov qword [rsp + 0x30], r9
lea r9, [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov rdx, r11
movups xmmword [rsp + 0x50], xmm0
call fcn.180059aa0
mov r10, qword [rbx]
mov r8, qword [0x180141f50]
movss xmm7, dword [rbx + 8]
movss xmm6, dword [rbx + 0xc]
movaps xmm0, xmmword [0x18011b3f0]
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
call fcn.18003e510
addss xmm6, xmm12
mov ecx, eax
addss xmm7, xmm13
addss xmm6, xmm8
movss dword [rsp + 0x118], xmm7
movss dword [rsp + 0x11c], xmm6
test eax, 0xff000000
je 0x1800331e0
test r8, r8
jne 0x180033198
mov rax, qword [r10 + 0x38]
mov r8, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x50]
movss dword [rsp + 0x40], xmm9
lea r9, [rsp + 0x118]
mov qword [rsp + 0x38], rbp
movaps xmm2, xmm10
mov qword [rsp + 0x30], r14
mov rdx, r10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rcx, r8
movups xmmword [rsp + 0x50], xmm0
call fcn.180059aa0
addss xmm8, xmm11
cvttss2si edi, xmm8
add rbx, 0x20
cmp rbx, rsi
jne 0x180033040
mov rax, qword [0x180163218]
movaps xmm14, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r14, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x120]
mov qword [0x180163220], rax
add rsp, 0xf0
pop rdi
pop rsi
pop rbx
ret
mov qword [0x180163220], rbx
add rsp, 0xf0
pop rdi
pop rsi
pop rbx
ret