Function at 0x14001bca0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x40
mov rdi, rcx
xor r14d, r14d
mov dword [rbp + 0x38], r14d
lea ecx, [r14 + 0x26]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001bde0
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_bool___cdecl_QWidget::isVisible_void_const___ptr64]
test al, al
jne 0x14001c2be
cmp byte [rdi + 0x4530], r14b
jne 0x14001c2be
mov byte [rdi + 0x4530], 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, [r14 + 0x10]
call fcn.140035b60
mov rbx, rax
mov qword [rbp + 0x48], rax
lea r8d, [r14 - 1]
lea rdx, str.windowOpacity
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64]
nop
mov dword [rbp + 0x38], 1
xor r9d, r9d
lea r8, [rbp + 0x40]
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 + 0x40]
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 [0x14006e218]
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 rdx, rdi
lea rcx, [rbp + 0x48]
call fcn.140005740
mov r9, qword [rax]
mov r8, qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QAbstractAnimation::finished_void____ptr64]
mov rdx, rbx
lea rcx, [rbp + 0x38]
call fcn.14000fbe0
jmp 0x14001bef2
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001bf0a
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_bool___cdecl_QWidget::isVisible_void_const___ptr64]
test al, al
je 0x14001c2be
cmp byte [rdi + 0x4530], r14b
jne 0x14001c2be
mov byte [rdi + 0x4530], 1
mov ecx, sendto
call fcn.140035b60
mov rbx, rax
mov qword [rbp + 0x48], rax
mov r8d, 0xffffffff
lea rdx, str.windowOpacity
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64]
nop
mov dword [rbp + 0x38], 2
xor r9d, r9d
lea r8, [rbp + 0x40]
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 + 0x40]
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 [0x14006e218]
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 rdx, rdi
lea rcx, [rbp + 0x48]
call fcn.140005740
mov r9, qword [rax]
mov r8, qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QAbstractAnimation::finished_void____ptr64]
mov rdx, rbx
lea rcx, [rbp + 0x38]
call fcn.14000fae0
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 0x14001bf73
lea rdx, str.:_all_img_begin.png
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Gui.dll_public:_void___cdecl_QIcon::constructor_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rbx, [rdi + 0x45e8]
mov rax, qword [rbx]
lea rdx, [rbp + 0x40]
mov rcx, qword [rax + 0x4a0]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QAbstractButton::setIcon_class_QIcon_const____ptr64____ptr64]
mov byte [rdi + 0x449c], 0
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Gui.dll_public:_void___cdecl_QIcon::destructor_void____ptr64]
jmp 0x14001bf7a
lea rbx, [rdi + 0x45e8]
mov rsi, rbx
mov ecx, 0x24
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001c043
cmp byte [rdi + 0x449c], 0
jne 0x14001c043
mov byte [rdi + 0x449c], 1
lea rdx, [0x14006dd68]
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
mov rdx, rax
mov rcx, rdi
call fcn.140034c80
lea rdx, str.:_all_img_stop.png
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Gui.dll_public:_void___cdecl_QIcon::constructor_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, qword [rbx]
lea rdx, [rbp + 0x40]
mov rcx, qword [rax + 0x4a0]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QAbstractButton::setIcon_class_QIcon_const____ptr64____ptr64]
lea rax, [0x140032620]
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], r14d
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea r8, [rbp - 0x20]
mov rdx, rdi
lea rcx, [rbp - 0x10]
call fcn.140010600
lea rcx, [rbp - 0x10]
call sub.Qt5Core.dll_public_virtual:_void___cdecl_QFutureInterfaceBase::destructor_void____ptr64
nop
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Gui.dll_public:_void___cdecl_QIcon::destructor_void____ptr64]
lea rsi, [rdi + 0x45e8]
mov ecx, dword [rdi + 0x254]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c061
mov dword [rdi + 0x44a4], 1
jmp 0x14001c07d
mov ecx, dword [rdi + 0x250]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c07d
mov dword [rdi + 0x44a4], r14d
mov rbx, rsi
mov ecx, dword [rdi + 0x258]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c0c5
mov dword [rdi + 0x20c], 1
mov rax, qword [rbx]
lea rdx, [rdi + 0x48]
mov rcx, qword [rax + 0x170]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QLabel::setText_class_QString_const____ptr64____ptr64]
lea rcx, [rdi + 0x188]
call fcn.140003630
lea r8, [0x14006d94c]
jmp 0x14001c195
mov ecx, dword [rdi + 0x25c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c10d
mov dword [rdi + 0x20c], 2
mov rax, qword [rbx]
lea rdx, [rdi + 0x50]
mov rcx, qword [rax + 0x170]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QLabel::setText_class_QString_const____ptr64____ptr64]
lea rcx, [rdi + 0x188]
call fcn.140003630
lea r8, [0x14006db60]
jmp 0x14001c195
mov ecx, dword [rdi + 0x260]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c152
mov dword [rdi + 0x20c], 3
mov rax, qword [rbx]
lea rdx, [rdi + 0x58]
mov rcx, qword [rax + 0x170]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QLabel::setText_class_QString_const____ptr64____ptr64]
lea rcx, [rdi + 0x188]
call fcn.140003630
lea r8, [0x14006dd30]
jmp 0x14001c195
mov ecx, dword [rdi + 0x264]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x14001c1ac
mov dword [rdi + 0x20c], 4
mov rax, qword [rbx]
lea rdx, [rdi + 0x60]
mov rcx, qword [rax + 0x170]
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QLabel::setText_class_QString_const____ptr64____ptr64]
lea rcx, [rdi + 0x188]
call fcn.140003630
lea r8, [0x14006dd64]
mov r9, rax
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 esi, ax
shr esi, 0xf
mov ecx, 0xdb
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
shr ebx, 0xf
and bl, 1
and sil, 1
jne 0x14001c2c9
test bl, bl
je 0x14001c2b1
cmp byte [0x140098fd2], sil
jne 0x14001c2fb
mov dword [rdi + 0x208], r14d
lea rax, [0x14006e080]
lea rdx, str....
test sil, sil
cmovne rdx, rax
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
mov rdx, rax
mov rcx, rdi
call fcn.140034c20
mov rax, qword [rdi + 0x45e8]
mov r14, qword [rax + 0x278]
test sil, sil
jne 0x14001c23f
test bl, bl
lea rdx, str.3:
je 0x14001c246
lea rdx, str.1:
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x38]
mov rcx, r14
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QLabel::setText_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, qword [rdi + 0x45e8]
mov rdi, qword [rax + 0x2c0]
test sil, sil
jne 0x14001c287
test bl, bl
lea rdx, str.4:
je 0x14001c28e
lea rdx, str.2:
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [rbp + 0x38]
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QLabel::setText_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov byte [0x140098fd1], sil
mov byte [0x140098fd2], bl
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
test bl, bl
je 0x14001c2e3
mov dword [rdi + 0x208], 2
lea rdx, [0x14006e070]
jmp 0x14001c20c
cmp byte [0x140098fd1], 0
jne 0x14001c2fb
mov dword [rdi + 0x208], 1
jmp 0x14001c1f7
test sil, sil
je 0x14001c1f7
test bl, bl
je 0x14001c1f7
lea rdx, [0x14006e070]
jmp 0x14001c20c