Function at 0x7ff658212220
Capabilities:
Execute command
Log keystrokes via polling
Terminate process

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x7ff658221040]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rbx, qword [0x7ff658221928]
mov ecx, 0x2d
call qword [sym.imp.user32.dll_GetAsyncKeyState]
test al, 1
je 0x7ff658212266
cmp byte [0x7ff6582210d1], 0
sete al
mov byte [0x7ff6582210d1], al
jmp 0x7ff65821226d
movzx eax, byte [0x7ff6582210d1]
test al, al
je 0x7ff658212c2e
mov qword [rsp + 0x90], rdi
lea rcx, [0x7ff658221e80]
movaps xmmword [rsp + 0x70], xmm6
call qword [sym.imp.user32.dll_GetCursorPos]
movaps xmm0, xmmword [0x7ff65821a9e0]
lea rcx, [rbp - 0x40]
movd xmm1, dword [0x7ff658221e84]
movups xmmword [rbp - 0x40], xmm0
movd xmm0, dword [0x7ff658221e80]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
call fcn.7ff6581e4830
mov rcx, qword [0x7ff658221928]
lea rdx, [rbp - 0x30]
movss xmm2, dword [0x7ff65821a870]
add rcx, 0x1cc8
mov r9d, eax
mov dword [rsp + 0x20], 0x32
call fcn.7ff6582004c0
mov rax, qword [0x7ff658221928]
lea rcx, [0x7ff65821a660]
xor edx, edx
mov dword [rax + 0x1af4], 0x441b0000
lea r8d, [rdx + 0x2a]
mov dword [rax + 0x1af8], 0x43af0000
mov dword [rax + 0x1acc], 1
call fcn.7ff6581eb260
mov rcx, qword [0x7ff658221928]
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a690]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, dword [0x7ff65821a8b0]
addss xmm2, dword [0x7ff65821a8ac]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205910
mov rcx, qword [0x7ff658221928]
lea rdx, [rbp - 0x30]
movss xmm6, dword [0x7ff65821a8a4]
mov dword [rbp - 0x30], 0x42b20000
mov dword [rbp - 0x2c], 0x42000000
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a69c]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, xmm6
addss xmm2, dword [0x7ff65821a8bc]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205f90
xor edi, edi
test al, al
je 0x7ff658212448
mov dword [0x7ff658221e60], edi
mov rcx, qword [0x7ff658221928]
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x30], 0x42b20000
mov dword [rbp - 0x2c], 0x42000000
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a6a8]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, xmm6
addss xmm2, dword [0x7ff65821a8c4]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205f90
test al, al
je 0x7ff6582124e5
mov dword [0x7ff658221e60], 1
mov rcx, qword [0x7ff658221928]
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x30], 0x42b20000
mov dword [rbp - 0x2c], 0x42000000
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a6b0]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, xmm6
addss xmm2, dword [0x7ff65821a8d4]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205f90
test al, al
je 0x7ff658212582
mov dword [0x7ff658221e60], 2
mov rcx, qword [0x7ff658221928]
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x30], 0x42b20000
mov dword [rbp - 0x2c], 0x42000000
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a6b8]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, xmm6
addss xmm2, dword [0x7ff65821a8dc]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205f90
test al, al
je 0x7ff658212622
lea rcx, [0x7ff65821a6c0]
call qword [sym.imp.ucrtbase.dll_system]
mov rcx, qword [0x7ff658221928]
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x30], 0x42820000
mov dword [rbp - 0x2c], 0x41a00000
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a6e4]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, xmm6
addss xmm2, dword [0x7ff65821a8e4]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205f90
test al, al
je 0x7ff6582126be
xor ecx, ecx
call qword [sym.imp.ucrtbase.dll_exit]
int3
mov eax, dword [0x7ff658221e60]
mov dword [rbx + 0x1594], 0x41000000
mov dword [rbx + 0x1598], 0x41000000
test eax, eax
jne 0x7ff658212905
mov rbx, qword [0x7ff658221928]
lea rcx, [0x7ff65821a6f0]
xor edx, edx
mov dword [rbp - 0x30], 0x43e10000
mov dword [rbp - 0x2c], 0x438b8000
mov rax, qword [rbx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rbx + 0x19f8]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, dword [0x7ff65821a8d8]
addss xmm2, dword [0x7ff65821a8b4]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [rbx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rbx + 0x19f8]
movsxd r8, dword [rax + 0x1e0]
mov rax, qword [rax + 0x1e8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.7ff6581e40e0
cmp dword [rbx + 0x1a24], eax
jne 0x7ff6582127a4
mov dword [rbx + 0x1a2c], eax
cmp dword [rbx + 0x1a28], eax
jne 0x7ff6582127b3
mov byte [rbx + 0x1a37], 1
lea r8, [rbp - 0x30]
mov dword [rsp + 0x20], edi
mov edx, eax
lea rcx, [0x7ff65821a6f0]
call fcn.7ff6581e95d0
mov rcx, qword [0x7ff658221928]
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a700]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, dword [0x7ff65821a8a0]
addss xmm2, dword [0x7ff65821a894]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205910
lea rdx, [0x7ff65822120c]
lea rcx, [0x7ff65821a69c]
call fcn.7ff658206cb0
lea rdx, [0x7ff6582210c2]
lea rcx, [0x7ff65821a710]
call fcn.7ff658206cb0
movss xmm6, dword [0x7ff65821a7fc]
lea rax, [0x7ff65821a580]
movss dword [rsp + 0x30], xmm6
lea r9, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea r8, [0x7ff6582210b8]
lea rax, [rbp - 0x28]
mov dword [rbp - 0x28], 0x41700000
mov edx, 4
mov qword [rsp + 0x20], rax
lea rcx, [0x7ff65821a71c]
mov dword [rbp - 0x30], 0x40000000
call fcn.7ff658207810
movss dword [rsp + 0x30], xmm6
lea rax, [0x7ff658216984]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x28]
lea rax, [rbp - 0x30]
mov dword [rbp - 0x30], 0x258
lea r8, [0x7ff6582210b4]
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rbp - 0x28], 0x32
lea rcx, [0x7ff65821a728]
call fcn.7ff658207810
mov eax, dword [0x7ff658221e60]
cmp eax, 1
jne 0x7ff658212aa4
mov rbx, qword [0x7ff658221928]
lea rcx, [0x7ff65821a738]
xor edx, edx
mov dword [rbp - 0x30], 0x43e10000
mov dword [rbp - 0x2c], 0x438b8000
mov rax, qword [rbx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rbx + 0x19f8]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, dword [0x7ff65821a8d8]
addss xmm2, dword [0x7ff65821a8b4]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [rbx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rbx + 0x19f8]
movsxd r8, dword [rax + 0x1e0]
mov rax, qword [rax + 0x1e8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.7ff6581e40e0
cmp dword [rbx + 0x1a24], eax
jne 0x7ff6582129d2
mov dword [rbx + 0x1a2c], eax
cmp dword [rbx + 0x1a28], eax
jne 0x7ff6582129e1
mov byte [rbx + 0x1a37], 1
lea r8, [rbp - 0x30]
mov dword [rsp + 0x20], edi
mov edx, eax
lea rcx, [0x7ff65821a738]
call fcn.7ff6581e95d0
mov rcx, qword [0x7ff658221928]
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a748]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, dword [0x7ff65821a8a0]
addss xmm2, dword [0x7ff65821a894]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205910
lea rdx, [0x7ff6582210c1]
lea rcx, [0x7ff65821a758]
call fcn.7ff658206cb0
lea rdx, [0x7ff6582210c0]
lea rcx, [0x7ff65821a768]
call fcn.7ff658206cb0
mov eax, dword [0x7ff658221e60]
cmp eax, 2
jne 0x7ff658212c17
mov rbx, qword [0x7ff658221928]
lea rcx, [0x7ff65821a774]
xor edx, edx
mov dword [rbp - 0x30], 0x43e10000
mov dword [rbp - 0x2c], 0x438b8000
mov rax, qword [rbx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rbx + 0x19f8]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, dword [0x7ff65821a8d8]
addss xmm2, dword [0x7ff65821a8b4]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [rbx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rbx + 0x19f8]
movsxd r8, dword [rax + 0x1e0]
mov rax, qword [rax + 0x1e8]
mov r8d, dword [rax + r8*4 - 4]
call fcn.7ff6581e40e0
cmp dword [rbx + 0x1a24], eax
jne 0x7ff658212b71
mov dword [rbx + 0x1a2c], eax
cmp dword [rbx + 0x1a28], eax
jne 0x7ff658212b80
mov byte [rbx + 0x1a37], 1
lea r8, [rbp - 0x30]
mov dword [rsp + 0x20], edi
mov edx, eax
lea rcx, [0x7ff65821a774]
call fcn.7ff6581e95d0
mov rcx, qword [0x7ff658221928]
mov rax, qword [rcx + 0x19f8]
mov byte [rax + 0x7c], 1
mov rax, qword [rcx + 0x19f8]
lea rcx, [0x7ff65821a780]
movss xmm0, dword [rax + 0x10]
subss xmm0, dword [rax + 0x58]
movss xmm2, dword [rax + 0x14]
subss xmm2, dword [rax + 0x5c]
addss xmm0, dword [0x7ff65821a8a0]
addss xmm2, dword [0x7ff65821a894]
movss dword [rax + 0xc8], xmm0
movss dword [rax + 0xcc], xmm2
movss xmm1, dword [rax + 0xe0]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xe4]
maxss xmm0, xmm2
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
call fcn.7ff658205910
call fcn.7ff6581e9810
call fcn.7ff6581ee0a0
mov rdi, qword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0x70]
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.7ff658213b40
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rbp
ret