Function at 0x14011f980
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xe0
mov rax, qword [0x1401be040]
xor rax, rsp
mov qword [rbp + 7], rax
cmp qword [0x140241a60], 0
je 0x14011fe0d
mov rdx, qword [0x140241a98]
test rdx, rdx
je 0x14011fe0d
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x49]
mov qword [rbp - 0x29], 4
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x49], rax
lea rax, [rdx + 0x8d8]
mov qword [rbp - 0x41], rax
mov edx, 8
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x69]
mov qword [rbp - 0x31], rax
call fcn.14014aa73
mov eax, dword [rbp - 0x69]
shr eax, 8
test al, 1
je 0x14011fe0d
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x49]
mov edx, 8
mov qword [rbp - 0x29], 4
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x49], rax
mov rax, qword [0x140241a98]
add rax, 0x25c
mov qword [rbp - 0x41], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x69]
mov qword [rbp - 0x31], rax
call fcn.14014aa73
cmp dword [rbp - 0x69], 0
jne 0x14011fe0d
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x49]
mov edx, 8
mov qword [rsp + 0xf8], rsi
mov qword [rbp - 0x29], 8
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x49], rax
mov rax, qword [0x140241a98]
add rax, 0x6a8
mov qword [rbp - 0x41], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x69]
mov qword [rbp - 0x31], rax
call fcn.14014aa73
mov rsi, qword [rbp - 0x69]
test rsi, rsi
je 0x14011fe05
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x49]
mov edx, 8
mov qword [rsp + 0x100], rdi
mov qword [rbp - 0x29], 8
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x49], rax
mov rax, qword [0x140241a98]
add rax, 0x810
mov qword [rbp - 0x41], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x69]
mov qword [rbp - 0x31], rax
call fcn.14014aa73
mov rdi, qword [rbp - 0x69]
test rdi, rdi
je 0x14011fdfd
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x21]
mov edx, 8
mov qword [rsp + 0x108], r14
mov qword [rbp - 1], 8
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x21], rax
mov rax, qword [0x140241a98]
add rax, 0x8e0
mov qword [rbp - 0x19], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x11], rax
lea rax, [rbp - 0x59]
mov qword [rbp - 9], rax
call fcn.14014aa73
mov r14, qword [rbp - 0x59]
test r14, r14
je 0x14011fdf5
cmp byte [0x14023c71f], 0
je 0x14011fbb9
mov rcx, rdi
mov qword [rsp + 0xf0], rbx
call fcn.14010ea60
mov edx, 4
mov rcx, rdi
mov ebx, eax
call fcn.14010eb40
test al, al
je 0x14011fba7
sub ebx, 4
mov edx, ebx
mov rcx, rdi
call fcn.14010ead0
mov rbx, qword [rsp + 0xf0]
cmp byte [0x14023c720], 0
je 0x14011fdf5
movsxd rcx, dword [0x14023c724]
lea rax, [0x14023cbd0]
mov ecx, dword [rax + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011fde0
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x21]
mov qword [rbp - 0x59], 0
mov edx, 8
mov dword [rbp - 0x51], 0
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x21], rax
lea rax, [rbp - 0x59]
mov qword [rbp - 0x19], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm8
xorps xmm8, xmm8
mov qword [rbp - 0x11], rax
lea rax, [rsi + 0x34]
mov qword [rbp - 9], rax
movaps xmmword [rsp + 0xa0], xmm9
mov qword [rbp - 1], 0xc
call fcn.14014aa73
mov ecx, 0x57
xorps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011fc76
movss xmm6, dword [0x1401aef34]
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011fc8e
addss xmm6, dword [0x1401af184]
mov ecx, 0x41
xorps xmm7, xmm7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011fcae
movss xmm7, dword [0x1401af184]
addss xmm6, xmm8
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011fccb
addss xmm7, dword [0x1401aef34]
addss xmm6, xmm8
mov ecx, 0x20
xorps xmm9, xmm9
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011fcf2
movss xmm9, dword [0x1401aef34]
addss xmm7, xmm8
addss xmm6, xmm8
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011fd15
addss xmm9, dword [0x1401af184]
addss xmm7, xmm8
addss xmm6, xmm8
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm8, xmmword [rsp + 0xb0]
test ax, ax
je 0x14011fd43
movss xmm0, dword [0x1401af058]
mulss xmm7, xmm0
mulss xmm9, xmm0
mulss xmm6, xmm0
movss xmm0, dword [0x140241bc0]
lea r8, [rbp - 0x21]
mov rcx, qword [0x140241b60]
addss xmm0, xmm7
movss xmm1, dword [0x140241bc4]
mov edx, 8
movss xmm2, dword [0x140241bc8]
addss xmm1, xmm9
addss xmm2, xmm6
mov qword [rbp - 1], 0xc
unpcklps xmm0, xmm1
movsd qword [0x140241bc0], xmm0
movsd qword [rbp - 0x59], xmm0
movss dword [0x140241bc8], xmm2
movss dword [rbp - 0x51], xmm2
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x21], rax
lea rax, [rbp - 0x59]
mov qword [rbp - 0x19], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x11], rax
lea rax, [r14 + 0x38]
mov qword [rbp - 9], rax
call fcn.14014aa73
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
jmp 0x14011fdf5
mov qword [0x140241bc0], 0
mov dword [0x140241bc8], 0
mov r14, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0xf8]
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.14014b630
add rsp, 0xe0
pop rbp
ret