Function at 0x140031c50
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xe0
mov rax, qword [0x140041040]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140041e98], eax
jle 0x140031cb5
lea rcx, [0x140041e98]
call fcn.140034354
cmp dword [0x140041e98], 0xffffffff
jne 0x140031cb5
lea rcx, [0x140041ea0]
call fcn.140033120
lea rcx, [0x140041e98]
call fcn.1400342e8
lea rcx, [rbp - 0x31]
call fcn.140033120
mov r8d, dword [0x140041e64]
mov rax, qword [rbp - 0x31]
inc r8d
mov rcx, rax
mov dword [0x140041e64], r8d
sub rcx, qword [0x140041ea0]
cmp rcx, 0x3baa0c40
jl 0x140031d00
mov dword [0x140041e68], r8d
mov dword [0x140041e64], 0
mov qword [0x140041ea0], rax
jmp 0x140031d07
mov r8d, dword [0x140041e68]
lea rdx, str.FPS:__03d
lea rcx, [rbp - 9]
call fcn.1400154a0
movaps xmm0, xmmword [0x14003a9e0]
lea rcx, [rbp - 0x31]
mov r8, qword [0x140041928]
movups xmmword [rbp - 0x31], xmm0
call fcn.140004a00
movss xmm2, dword [0x14003a898]
mov r9d, eax
mov r11, qword [r8 + 0x18f0]
test eax, 0xff000000
je 0x140031df6
lea rax, [rbp - 9]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x140031d60
lea rdx, [rbp - 9]
add rdx, rcx
lea rax, [rbp - 9]
cmp rax, rdx
je 0x140031df6
test r11, r11
jne 0x140031d89
mov rax, qword [r8 + 0x1d00]
mov r11, qword [rax + 8]
mov rax, qword [r8 + 0x1d30]
xorps xmm1, xmm1
movsxd rcx, dword [r8 + 0x1d28]
mov byte [rsp + 0x48], 0
add rcx, rcx
movss dword [rsp + 0x40], xmm1
mov qword [rsp + 0x38], rdx
lea rdx, [r8 + 0x1cc8]
movups xmm0, xmmword [rax + rcx*8 - 0x10]
lea rax, [rbp - 9]
mov rcx, r11
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x31]
movups xmmword [rbp - 0x31], xmm0
mov qword [rsp + 0x28], rax
movaps xmm0, xmm2
mov dword [rsp + 0x20], r9d
unpcklps xmm0, xmm2
movss xmm2, dword [0x14003a880]
movq r9, xmm0
call fcn.140023530
mov r8, qword [0x140041928]
cmp byte [0x140041214], 0
je 0x140031e54
movaps xmm0, xmmword [0x14003aa40]
lea rcx, [rbp - 0x31]
movups xmmword [rbp - 0x31], xmm0
mov dword [rbp - 0x39], 0x44700000
mov dword [rbp - 0x35], 0x44070000
call fcn.140004a00
movd xmm2, dword [0x1400410b4]
lea rcx, [r8 + 0x1cc8]
movss xmm0, dword [0x14003a80c]
lea rdx, [rbp - 0x39]
cvtdq2ps xmm2, xmm2
mov r9d, eax
movss dword [rsp + 0x28], xmm0
call fcn.1400206b0
mov r8, qword [0x140041928]
cmp byte [0x140041215], 0
je 0x14003205e
movaps xmm0, xmmword [0x14003aa40]
lea rcx, [rbp - 0x21]
mov eax, dword [0x1400419c4]
cdq
movaps xmmword [rsp + 0xd0], xmm6
sub eax, edx
sar eax, 1
movups xmmword [rbp - 0x21], xmm0
movd xmm1, eax
mov eax, dword [0x1400419c0]
cvtdq2ps xmm1, xmm1
cdq
sub eax, edx
sar eax, 1
movaps xmm0, xmm1
movss dword [rbp - 0x31], xmm1
subss xmm0, dword [0x140041210]
movss dword [rbp - 0x39], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x35], xmm0
movss dword [rbp - 0x2d], xmm0
call fcn.140004a00
movss xmm6, dword [0x14003a7dc]
lea rcx, [r8 + 0x1cc8]
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x31]
call fcn.1400200d0
movaps xmm0, xmmword [0x14003aa40]
lea rcx, [rbp - 0x21]
mov eax, dword [0x1400419c4]
cdq
sub eax, edx
sar eax, 1
movups xmmword [rbp - 0x21], xmm0
movd xmm1, eax
mov eax, dword [0x1400419c0]
cvtdq2ps xmm1, xmm1
cdq
sub eax, edx
sar eax, 1
movaps xmm0, xmm1
movss dword [rbp - 0x39], xmm1
addss xmm0, dword [0x140041210]
movss dword [rbp - 0x31], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x2d], xmm0
movss dword [rbp - 0x35], xmm0
call fcn.140004a00
mov rcx, qword [0x140041928]
lea r8, [rbp - 0x31]
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea rdx, [rbp - 0x39]
call fcn.1400200d0
movaps xmm0, xmmword [0x14003aa40]
lea rcx, [rbp - 0x21]
mov eax, dword [0x1400419c4]
cdq
sub eax, edx
sar eax, 1
movups xmmword [rbp - 0x21], xmm0
movd xmm2, eax
mov eax, dword [0x1400419c0]
cdq
cvtdq2ps xmm2, xmm2
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x31], xmm2
movaps xmm0, xmm1
movss dword [rbp - 0x39], xmm2
subss xmm0, dword [0x140041210]
movss dword [rbp - 0x35], xmm1
movss dword [rbp - 0x2d], xmm0
call fcn.140004a00
mov rcx, qword [0x140041928]
lea r8, [rbp - 0x31]
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea rdx, [rbp - 0x39]
call fcn.1400200d0
movaps xmm0, xmmword [0x14003aa40]
lea rcx, [rbp - 0x21]
mov eax, dword [0x1400419c4]
cdq
sub eax, edx
sar eax, 1
movups xmmword [rbp - 0x21], xmm0
movd xmm2, eax
mov eax, dword [0x1400419c0]
cdq
cvtdq2ps xmm2, xmm2
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x31], xmm2
movaps xmm0, xmm1
movss dword [rbp - 0x39], xmm2
addss xmm0, dword [0x140041210]
movss dword [rbp - 0x35], xmm1
movss dword [rbp - 0x2d], xmm0
call fcn.140004a00
mov rcx, qword [0x140041928]
lea r8, [rbp - 0x31]
add rcx, 0x1cc8
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea rdx, [rbp - 0x39]
call fcn.1400200d0
movaps xmm6, xmmword [rsp + 0xd0]
call fcn.1400015e0
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140032081
cmp byte [0x14004120c], 0
je 0x140032081
call fcn.140001050
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140034010
add rsp, 0xe0
pop rbp
ret