Function at 0x1400a5150
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x1401c43b8]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov rsi, rdx
mov rdi, rcx
mov qword [rbp - 0x48], rcx
xor r12d, r12d
mov ebx, r12d
mov dword [rsp + 0x30], ebx
test r8d, r8d
je 0x1400a51f1
lea rax, [0x140154440]
mov qword [rcx + 0x38], rax
lea rax, [0x140154450]
mov qword [rcx + 0xb8], rax
lea rax, vtable.Movavi::CaptuRE::IDeviceMonitorObserver.0
mov qword [rcx + 0xb0], rax
mov dword [rsp + 0x30], 1
movsxd rax, dword [0x140154454]
lea rcx, vtable.Movavi::Util::EventHandlerThreadSafe_class_Movavi::CaptuRE::IDeviceMonitorObserver_.0
mov qword [rax + rdi + 0xb8], rcx
lea rcx, [rdi + 0xc0]
call qword [sym.imp.MQtUtil.dll_public:_void___cdecl_Movavi::Util::FunctorExecutionForwarder::constructor_void____ptr64]
nop
mov ebx, 3
mov dword [rsp + 0x30], ebx
mov r8d, r12d
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.Qt5Widgets.dll_public:_void___cdecl_QFrame::constructor_class_QWidget____ptr64__class_QFlags_enum_Qt::WindowType_____ptr64]
nop
lea rax, vtable.Movavi::VideoCapture::DeviceMonitorEventHandlerUI.0
mov qword [rdi + 0x30], rax
mov rax, qword [rdi + 0x38]
movsxd rcx, dword [rax + 4]
lea rax, vtable.Movavi::VideoCapture::DeviceMonitorEventHandlerUI.1.0
mov qword [rcx + rdi + 0x38], rax
lea rax, vtable.Movavi::VideoCapture::CaptureSettingsBox.0
mov qword [rdi], rax
lea rax, vtable.Movavi::VideoCapture::CaptureSettingsBox.1.0
mov qword [rdi + 0x10], rax
lea rax, vtable.Movavi::VideoCapture::CaptureSettingsBox.2.0
mov qword [rdi + 0x30], rax
mov rax, qword [rdi + 0x38]
movsxd rcx, dword [rax + 4]
lea rax, vtable.Movavi::VideoCapture::CaptureSettingsBox.3.0
mov qword [rcx + rdi + 0x38], rax
mov ecx, 0xc0
call fcn.1401144bc
mov qword [rdi + 0x40], rax
call fcn.1400b8950
lea rdx, [rdi + 0x48]
mov rcx, rax
call fcn.1400b87d0
nop
mov qword [rdi + 0x50], r12
mov qword [rdi + 0x58], r12
mov qword [rdi + 0x60], r12
mov qword [rdi + 0x68], r12
mov qword [rdi + 0x70], r12
mov qword [rdi + 0x78], r12
mov qword [rdi + 0x80], r12
mov qword [rdi + 0x88], r12
mov qword [rdi + 0x90], r12
mov qword [rdi + 0x98], 1
call qword [sym.imp.Qt5Core.dll_public:_static_class_QCoreApplication____ptr64___cdecl_QCoreApplication::instance_void_]
mov rdx, rax
lea rcx, [0x14015c4f0]
call qword [sym.imp.Qt5Core.dll_public:_class_QObject____ptr64___cdecl_QMetaObject::cast_class_QObject____ptr64_const___ptr64]
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.1400625f0
cmp dword [rax + 4], 0
sete al
mov byte [rdi + 0xa0], al
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QCoreApplication____ptr64___cdecl_QCoreApplication::instance_void_]
mov rdx, rax
lea rcx, [0x14015c4f0]
call qword [sym.imp.Qt5Core.dll_public:_class_QObject____ptr64___cdecl_QMetaObject::cast_class_QObject____ptr64_const___ptr64]
lea rdx, [rbp - 0x28]
mov rcx, rax
call fcn.1400625f0
cmp dword [rax + 8], 0
sete al
mov byte [rdi + 0xa1], al
lea rcx, [rbp - 0x18]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov esi, 0xffffffff
mov dword [rdi + 0xa4], esi
mov byte [rdi + 0xa8], 0
call fcn.1400a00b0
mov r15d, eax
mov edx, dword [0x1401cdd60]
mov rcx, qword gs:[0x58]
mov eax, 4
mov rcx, qword [rcx + rdx*8]
mov edx, dword [rax + rcx]
cmp dword [0x1401cd938], edx
jg 0x1400a584a
mov edx, r15d
lea rcx, [0x1401cd920]
call qword [sym.imp.Qt5Core.dll_private:_static_bool___cdecl_QMetaType::registerComparatorFunction_struct_QtPrivate::AbstractComparatorFunction_const____ptr64__int_]
mov rdx, rdi
mov rcx, qword [rdi + 0x40]
call fcn.1400abb90
mov rdx, qword [rdi + 0x48]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rdx, 8
add rcx, rdx
mov rax, qword [rcx]
mov r8, qword [rax]
mov rax, qword [rdi + 0x38]
movsxd rdx, dword [rax + 4]
add rdx, 0x38
add rdx, rdi
call r8
mov rdx, qword [rdi + 0x40]
mov dword [rsp + 0x28], r12d
lea rax, str.1onVideoComboboxIndexChanged_int_
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.2currentIndexChanged_int_
mov rdx, qword [rdx + 0x38]
lea rcx, [rbp - 0x80]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QMetaObject::Connection___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_]
lea rcx, [rbp - 0x80]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov rdx, qword [rdi + 0x40]
mov dword [rsp + 0x28], r12d
lea rax, str.1onAudioComboboxIndexChanged_int_
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.2currentIndexChanged_int_
mov rdx, qword [rdx + 0xa8]
lea rcx, [rbp - 0x78]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QMetaObject::Connection___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_]
lea rcx, [rbp - 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov edx, 0x30
lea rcx, str.2videoDeviceChanged_SP_CaptuRE::ICaptureDevice__
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [0x1401cd178]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerEmitter_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x30
lea rcx, str.2audioDeviceChanged_SP_CaptuRE::ICaptureDevice__
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x48], rax
xor r9d, r9d
lea r8, [rsp + 0x48]
mov rdx, rdi
lea rcx, [0x1401cd190]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerEmitter_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x34
lea rcx, str.2videoSettingsChanged_SP_CaptuRE::ICaptureSettings__
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x50], rax
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, rdi
lea rcx, [0x1401cd1f0]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerEmitter_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x34
lea rcx, str.2audioSettingsChanged_SP_CaptuRE::ICaptureSettings__
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x58], rax
xor r9d, r9d
lea r8, [rsp + 0x58]
mov rdx, rdi
lea rcx, [0x1401cd0e8]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerEmitter_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x17
lea rcx, str.2awaitedDeviceArrived__
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x60], rax
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, rdi
lea rcx, [0x1401cd170]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerEmitter_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x22
lea rcx, str.1updateCaptureType_CaptureTypeGUI_
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x68], rax
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rdi
lea rcx, [0x1401cd1a0]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerReceiver_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x12
lea rcx, str.1setDisabled_bool_
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x70], rax
xor r9d, r9d
lea r8, [rsp + 0x70]
mov rdx, rdi
lea rcx, [0x1401cd1a8]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerReceiver_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x1a
lea rcx, str.1onDevicesCheckLimitOver__
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x78], rax
xor r9d, r9d
lea r8, [rsp + 0x78]
mov rdx, rdi
lea rcx, [0x1401cd170]
call qword [sym.imp.MQtUtil.dll_public:_static_void___cdecl_Movavi::Util::ObjectsConnector::registerReceiver_class_QString_const____ptr64__class_QObject____ptr64__class_QString_const____ptr64__bool_]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov dword [rsp + 0x28], r12d
lea rax, str.1resetVideoSettings_SP_CaptuRE::ICaptureDevice__
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.2videoDeviceChanged_SP_CaptuRE::ICaptureDevice__
mov rdx, rdi
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QMetaObject::Connection___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_]
or ebx, 4
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov rdx, qword [rdi + 0x40]
mov dword [rsp + 0x28], r12d
lea rax, str.1resetFrequencySettings_int_
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.2currentIndexChanged_int_
mov rdx, qword [rdx + 0x70]
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QMetaObject::Connection___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_]
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov rdx, qword [rdi + 0x40]
mov dword [rsp + 0x28], r12d
lea rax, str.1onVideoSettingsBeingChanged__
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.2currentIndexChanged_int_
mov rdx, qword [rdx + 0x90]
lea rcx, [rbp - 0x60]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QMetaObject::Connection___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_]
lea rcx, [rbp - 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov dword [rsp + 0x28], r12d
lea rax, str.1resetAudioSettings_SP_CaptuRE::ICaptureDevice__
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.2audioDeviceChanged_SP_CaptuRE::ICaptureDevice__
mov rdx, rdi
lea rcx, [rbp - 0x58]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QMetaObject::Connection___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_]
or ebx, 8
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov rdx, qword [rdi + 0x40]
mov dword [rsp + 0x28], r12d
lea rax, str.1onAudioSettingsBeingChanged__
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.2currentIndexChanged_int_
mov rdx, qword [rdx + 0xb8]
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QMetaObject::Connection___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_]
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMetaObject::Connection::destructor_void____ptr64]
mov rax, qword [rdi + 0x40]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx]
movzx edx, byte [rdi + 0xa0]
call qword [rax + 0x58]
mov rax, qword [rdi + 0x40]
mov rcx, qword [rax + 0x50]
mov rax, qword [rcx]
movzx edx, byte [rdi + 0xa0]
call qword [rax + 0x58]
mov rax, qword [rdi + 0x40]
mov rcx, qword [rax + 0xb0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x58]
mov rax, qword [rdi + 0x40]
mov rcx, qword [rax + 0xb8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x58]
mov rcx, rdi
call fcn.1400a8a40
mov rcx, qword [rdi + 0x40]
mov rax, qword [rcx + 0x38]
mov qword [rbp - 0x10], rax
mov rax, qword [rcx + 0xa8]
mov qword [rbp - 8], rax
mov rax, qword [rcx + 0x90]
mov qword [rbp], rax
mov rax, qword [rcx + 0x70]
mov qword [rbp + 8], rax
mov rax, qword [rcx + 0xb8]
mov qword [rbp + 0x10], rax
mov rax, qword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov qword [rsp + 0x38], rax
cmp dword [rax + 4], 5
jge 0x1400a57c9
mov ecx, dword [rax]
mov edx, 5
cmp ecx, 1
lea rcx, [rsp + 0x38]
jbe 0x1400a57c3
call fcn.1400a8630
jmp 0x1400a57c9
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QListData::realloc_int____ptr64]
lea rbx, [rbp - 0x10]
nop dword [rax]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1400a8180
add rbx, 8
lea rax, [rbp + 0x18]
cmp rbx, rax
jne 0x1400a57d0
lea rcx, [rsp + 0x38]
call fcn.1400acfe0
nop
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400a5813
cmp ecx, 0xffffffff
je 0x1400a581f
mov rcx, qword [rsp + 0x38]
lock xadd dword [rcx], esi
cmp esi, 1
jne 0x1400a581f
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data____ptr64_]
nop
mov rax, rdi
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.140114e30
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
lea rcx, [0x1401cd938]
call fcn.140114b84
cmp dword [0x1401cd938], esi
jne 0x1400a535f
lea rax, [0x1400a9910]
mov qword [0x1401cd920], rax
lea rax, [0x1400a8990]
mov qword [0x1401cd928], rax
lea rax, [0x1400a8620]
mov qword [0x1401cd930], rax
lea rcx, [0x1401cd938]
call fcn.140114b24
jmp 0x1400a535f