Function at 0x14001c100
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x70
mov rdi, rcx
xor esi, esi
mov dword [rbp + 0x28], esi
lea ecx, [rsi + 0x26]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c237
mov rax, qword [rdi + 0x28]
mov ecx, dword [rax + 8]
shr ecx, 0xf
test cl, 1
jne 0x14001c5cb
cmp byte [rdi + 0x3758], sil
jne 0x14001c5cb
mov byte [rdi + 0x3758], 1
xorps xmm1, xmm1
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QWidget::setWindowOpacity_double____ptr64]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QWidget::show_void____ptr64]
lea ecx, [rsi + 0x10]
call fcn.14002e000
mov rbx, rax
mov qword [rbp + 0x38], rax
lea r8d, [rsi - 1]
lea rdx, str.windowOpacity
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64]
nop
mov dword [rbp + 0x28], 1
xor r9d, r9d
lea r8, [rbp + 0x30]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QPropertyAnimation::constructor_class_QObject____ptr64__class_QByteArray_const____ptr64__class_QObject____ptr64____ptr64]
lea rax, vtable.QPropertyAnimation.0
mov qword [rbx], rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov edx, 0xc8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariantAnimation::setDuration_int____ptr64]
xorps xmm1, xmm1
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_double____ptr64]
nop
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariantAnimation::setStartValue_class_QVariant_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
movsd xmm1, qword [0x140062018]
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_double____ptr64]
nop
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariantAnimation::setEndValue_class_QVariant_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
mov rax, qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QAbstractAnimation::finished_void____ptr64]
mov qword [rbp + 0x28], rax
lea ecx, [rsi + 0x18]
call fcn.14002e000
lea rcx, [0x14001a9f0]
jmp 0x14001c345
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c3a6
mov rax, qword [rdi + 0x28]
mov ecx, dword [rax + 8]
shr ecx, 0xf
test cl, 1
je 0x14001c5cb
cmp byte [rdi + 0x3758], sil
jne 0x14001c5cb
mov byte [rdi + 0x3758], 1
mov ecx, recvfrom
call fcn.14002e000
mov rbx, rax
mov qword [rbp + 0x38], rax
mov r8d, 0xffffffff
lea rdx, str.windowOpacity
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64]
nop
mov dword [rbp + 0x28], 2
xor r9d, r9d
lea r8, [rbp + 0x30]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QPropertyAnimation::constructor_class_QObject____ptr64__class_QByteArray_const____ptr64__class_QObject____ptr64____ptr64]
lea rax, vtable.QPropertyAnimation.0
mov qword [rbx], rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov edx, 0xc8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariantAnimation::setDuration_int____ptr64]
movsd xmm1, qword [0x140062018]
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_double____ptr64]
nop
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariantAnimation::setStartValue_class_QVariant_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
xorps xmm1, xmm1
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::constructor_double____ptr64]
nop
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariantAnimation::setEndValue_class_QVariant_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QVariant::destructor_void____ptr64]
mov rax, qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QAbstractAnimation::finished_void____ptr64]
mov qword [rbp + 0x28], rax
mov ecx, 0x18
call fcn.14002e000
lea rcx, [0x14001ad10]
mov qword [rbp - 0x20], rax
mov dword [rax], 1
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdi
mov rcx, qword [sym.imp.Qt5Core.dll_struct_QMetaObject_const_QAbstractAnimation::staticMetaObject]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9, rbx
lea r8, [rbp + 0x28]
mov rdx, rbx
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_private:_static_class_QMetaObject::Connection___cdecl_QObject::connectImpl_class_QObject_const____ptr64__void____ptr64____ptr64__class_QObject_const____ptr64__void____ptr64____ptr64__class_QtPrivate::QSlotObjectBase____ptr64__enum_Qt::ConnectionType__int_const____ptr64__struct_QMetaObject_const____ptr64_]
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QAbstractAnimation::start_enum_QAbstractAnimation::DeletionPolicy____ptr64]
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001c3bd
mov byte [rdi + 0x36d4], 0
mov ecx, 0x24
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001c43f
cmp byte [rdi + 0x36d4], 0
jne 0x14001c43f
mov byte [rdi + 0x36d4], 1
mov ecx, 8
call fcn.14002e000
mov qword [rax], rdi
mov qword [rbp + 0x28], rax
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x1400111d0]
xor edx, edx
xor ecx, ecx
call fcn.14003d784
mov qword [rbp - 0x20], rax
test rax, rax
je 0x14001c5db
cmp dword [rbp - 0x18], 0
je 0x14001c5e9
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x10]
call fcn.14002d65c
test eax, eax
jne 0x14001c5e9
mov ecx, dword [rdi + 0x2b4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c45d
mov dword [rdi + 0x36dc], 1
jmp 0x14001c475
mov ecx, dword [rdi + 0x2b0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c475
mov dword [rdi + 0x36dc], esi
mov ecx, dword [rdi + 0x2b8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c4ae
mov dword [rdi + 0x26c], 1
lea r9, [rdi + 0x1a8]
cmp qword [r9 + 0x18], 0xf
jbe 0x14001c4a2
mov r9, qword [r9]
lea r8, [0x140061ae0]
jmp 0x14001c54e
mov ecx, dword [rdi + 0x2bc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c4e4
mov dword [rdi + 0x26c], 2
lea r9, [rdi + 0x1a8]
cmp qword [r9 + 0x18], 0xf
jbe 0x14001c4db
mov r9, qword [r9]
lea r8, [0x140061aec]
jmp 0x14001c54e
mov ecx, dword [rdi + 0x2c0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c51a
mov dword [rdi + 0x26c], 3
lea r9, [rdi + 0x1a8]
cmp qword [r9 + 0x18], 0xf
jbe 0x14001c511
mov r9, qword [r9]
lea r8, [0x140061afc]
jmp 0x14001c54e
mov ecx, dword [rdi + 0x2c4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c562
mov dword [rdi + 0x26c], 4
lea r9, [rdi + 0x1a8]
cmp qword [r9 + 0x18], 0xf
jbe 0x14001c547
mov r9, qword [r9]
lea r8, [0x140061b04]
lea rdx, str.shot_mode
lea rcx, str.MODE
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, 0xdd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
shr ebx, 0xf
mov ecx, 0xdb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
and bl, 1
jne 0x14001c59c
test al, al
je 0x14001c5bf
cmp byte [0x14067b041], bl
jne 0x14001c5bf
mov dword [rdi + 0x268], esi
jmp 0x14001c5bf
test al, al
je 0x14001c5ac
mov dword [rdi + 0x268], 2
jmp 0x14001c5bf
cmp byte [0x14067b040], 0
jne 0x14001c5bf
mov dword [rdi + 0x268], 1
mov byte [0x14067b040], bl
mov byte [0x14067b041], al
mov rbx, qword [rsp + 0x90]
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret
mov dword [rbp - 0x18], esi
mov ecx, 6
call fcn.14002d84c
nop
mov ecx, 1
call fcn.14002d84c
int3