Function at 0x140097810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
mov r8d, dword [rdx + 0xc]
lea eax, [r8 - 0x3e8]
cmp eax, 0x3e8
ja 0x140097845
add rsp, 0x70
pop rdi
pop rsi
pop rbx
jmp 0x140097ae0
cmp r8d, 0x1a
jg 0x140097a39
je 0x140097a06
sub r8d, 1
je 0x1400979c2
sub r8d, 5
je 0x140097985
sub r8d, 6
je 0x14009796e
sub r8d, 1
je 0x14009789a
cmp r8d, 1
jne 0x140097ac9
mov rcx, qword [rcx + 0x18]
call fcn.140095cc0
mov byte [rsi + 8], 1
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rsp + 0x38]
call qword [sym.imp.FCore.dll_public:_void___cdecl_FFOpenFeatureTryLimitDlgMessage::constructor_enum_FFVBLMODEL::FFFeatureType__class_QWidget____ptr64____ptr64]
nop
lea rdx, [rsp + 0x38]
mov rcx, rdi
call qword [sym.imp.FFCore.dll_public:_void___cdecl_FFPresenter::sendMessageToScene_class_FFMessage____ptr64____ptr64]
call qword [sym.imp.FFFilmoraCore.dll_public:_static_class_FFConfig____ptr64___cdecl_FFConfig::Instance_void_]
mov rbx, rax
lea rdx, str.record_pc_screen
lea rcx, [rsp + 0xa0]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.FFFilmoraCore.dll_public:_void___cdecl_FFConfig::SetLoginSourceForTrackEvent_class_QString____ptr64]
mov edx, 0xb
lea rcx, [rsp + 0x98]
call qword [sym.imp.FFAppLicense.dll_public:_void___cdecl_FLoginSource::constructor_enum_FLoginSourceType____ptr64]
nop
cmp byte [rsp + 0x60], 0
je 0x14009791c
call qword [sym.imp.FCore.dll_public:_static_class_FUserOperationCenter____ptr64___cdecl_FFLazySingleton_class_FUserOperationCenter_::instance_void_]
mov rcx, rax
call qword [sym.imp.FCore.dll_public:_bool___cdecl_FUserOperationCenter::foureUserLogin_void_const___ptr64]
test al, al
je 0x14009791c
mov rcx, qword [rdi + 0x18]
call fcn.14009b460
call qword [sym.imp.FFFilmoraCore.dll_public:_static_class_FFConfig____ptr64___cdecl_FFConfig::Instance_void_]
mov rbx, rax
lea rdx, [0x1402f0230]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_char_const____ptr64____ptr64]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.FFFilmoraCore.dll_public:_void___cdecl_FFConfig::SetLoginSourceForTrackEvent_class_QString____ptr64]
mov byte [rsi + 8], 1
lea rcx, [rsp + 0x98]
call qword [sym.imp.FFAppLicense.dll_public:_void___cdecl_FLoginSource::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.FCore.dll_public_virtual:_void___cdecl_FFOpenFeatureTryLimitDlgMessage::destructor_void____ptr64]
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [rcx + 0x18]
call fcn.14009db60
mov byte [rsi + 8], 1
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rcx]
call qword [rax + 0x68]
test rax, rax
je 0x1400979a1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x68]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.FCommonView.dll_public:_static_class_FFeedBackDialog____ptr64___cdecl_FFeedBackDialog::CreateExceptFeedback_enum_FFeedBackPanel::ExceptionFeedBackType__class_QWidget____ptr64_]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + Ordinal_450]
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.FFAppSettings.dll_public:_static_class_FFAppSettings____ptr64___cdecl_FFAppSettings::GetInstance_void_]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FSettings____ptr64___cdecl_FFAppSettings::GetSettings_void____ptr64]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FGeneralSettings____ptr64___cdecl_FSettings::GetGeneralSetting_void____ptr64]
mov dl, 1
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_void___cdecl_FGeneralSettings::SetMediaMatchProjShow_bool____ptr64]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + Ordinal_98]
mov edx, 0x138a
mov rcx, rdi
call qword [sym.imp.FFCore.dll_public:_void___cdecl_FFPresenter::sendMessageToScene_int____ptr64]
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
mov rbx, qword [rcx + 0x18]
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x140097ac9
call qword [sym.imp.WsAP_FilmoraX.dll_Ordinal_1358]
test al, al
je 0x140097ac9
mov rcx, qword [rbx + 0x48]
call qword [sym.imp.WsAP_FilmoraX.dll_Ordinal_9046]
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
sub r8d, 0xbce
je 0x140097a94
sub r8d, 3
je 0x140097a81
sub r8d, 0x7b8
je 0x140097a70
cmp r8d, 1
jne 0x140097ac9
xor edx, edx
call fcn.1400330c0
mov rcx, rdi
call fcn.1400320e0
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
mov dl, 1
call fcn.1400330c0
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [rcx + 0x18]
call fcn.14009a130
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
mov rbx, qword [rcx + 0x18]
xor eax, eax
mov dword [rsp + 0x20], eax
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll___RTDynamicCast
mov rdx, qword [rax + 0x18]
cmp byte [rdx], 0
je 0x140097ac9
xor edx, edx
mov rcx, rbx
call fcn.14009a130
mov al, 1
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x40]
sub rsp, reloc.WsAP_FilmoraX.dll_Ordinal_320
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x160], rbx
mov rsi, rdx
mov rbx, rcx
mov byte [rdx + 8], 1
mov eax, dword [rdx + 0xc]
add eax, 0xfffffc17
cmp eax, 0x29
ja case.0x140097b37.1002
cdqe
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x9804c]
mov r8d, dword [rcx + rax*4 + 0x9800c]
add r8, rcx
jmp r8
xor edx, edx
mov rcx, rbx
call fcn.140032fe0
jmp case.0x140097b37.1002
xor edi, edi
mov dword [rsp + 0x20], edi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll___RTDynamicCast
test rax, rax
je case.0x140097b37.1002
mov rax, qword [rax + 0x18]
test rax, rax
je case.0x140097b37.1002
mov edx, dword [rax]
mov rcx, rbx
call fcn.140033080
jmp case.0x140097b37.1002
xor edi, edi
mov dword [rsp + 0x20], edi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll___RTDynamicCast
test rax, rax
je case.0x140097b37.1002
mov rdx, qword [rax + 0x18]
test rdx, rdx
je case.0x140097b37.1002
mov rcx, rbx
call fcn.140032e20
jmp case.0x140097b37.1002
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x68]
test rax, rax
je 0x140097bf1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x68]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
mov rdi, rax
jmp 0x140097bf3
xor edi, edi
mov rcx, rdi
call qword [sym.imp.FCommonView.dll_public:_static_class_FFeedBackDialog____ptr64___cdecl_FFeedBackDialog::getInstanceOfInfo_class_QWidget____ptr64_]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + Ordinal_450]
jmp case.0x140097b37.1002
lea rcx, [rbp - 0x40]
call qword [sym.imp.FCore.dll_public:_void___cdecl_FFMediaLibraryGoToMsg::constructor_void____ptr64]
nop
mov byte [rbp - 0x18], 0
mov dword [rbp + 0x20], 7
mov dword [rbp + 0x24], 0x3f
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.FFCore.dll_public:_void___cdecl_FFPresenter::sendMessageToScene_class_FFMessage____ptr64____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.FCore.dll_public_virtual:_void___cdecl_FFMediaLibraryGoToMsg::destructor_void____ptr64]
jmp case.0x140097b37.1002
xor edi, edi
mov dword [rsp + 0x20], edi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll___RTDynamicCast
test rax, rax
je 0x140097df2
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140097df2
mov esi, dword [rcx]
mov edx, esi
lea rcx, [rsp + 0x68]
call qword [sym.imp.FCore.dll_public:_void___cdecl_FAICopyWritingPositionEvent::constructor_enum_FAICopyWritingPositionEvent::Position____ptr64]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.FFVBLModel.dll_public_virtual:_void___cdecl_FFTrackEvent::sendEvent_void____ptr64]
mov rax, qword [sym.imp.Qt5Core.dll_struct_QMapDataBase_const_QMapDataBase::shared_null]
mov qword [rsp + 0x30], rax
mov dword [rbp + 0x68], edi
mov dword [rbp + 0x70], edi
lea r9, [rbp + 0x68]
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.1400994a0
mov dword [rbp + 0x78], 1
mov dword [rsp + 0x38], 2
lea r9, [rbp + 0x78]
lea r8, [rsp + 0x38]
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x30]
call fcn.1400994a0
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x40], 3
lea r9, [rsp + 0x3c]
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.1400994a0
mov dword [rsp + 0x44], 1
mov dword [rsp + 0x48], 4
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x30]
call fcn.1400994a0
mov dword [rsp + 0x4c], 2
mov dword [rsp + 0x50], 1
lea r9, [rsp + 0x4c]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400994a0
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140097d94
mov ecx, edi
nop dword [rax]
cmp dword [rax + 0x18], esi
jl 0x140097d7e
mov rcx, rax
mov rax, qword [rax + 8]
jmp 0x140097d82
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140097d70
test rcx, rcx
je 0x140097d94
cmp esi, dword [rcx + 0x18]
jl 0x140097d94
mov edi, dword [rcx + 0x1c]
mov ecx, edi
call qword [sym.imp.FCommonView.dll_public:_static_void___cdecl_FAIWritingDialog::showAIWritingDialog_enum_FAIWritingDialog::fromPosition_]
nop
mov eax, dword [rbx]
test eax, eax
je 0x140097dbb
cmp eax, 0xffffffff
je 0x140097de2
mov ecx, 0xffffffff
mov rax, qword [rsp + 0x30]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x140097de2
mov rdx, qword [rbx + 0x10]
mov rbx, qword [rsp + 0x30]
test rdx, rdx
je 0x140097dd8
mov r8d, 8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMapDataBase::freeTree_struct_QMapNodeBase____ptr64__int____ptr64]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QMapDataBase::freeData_struct_QMapDataBase____ptr64_]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.FCore.dll_public_virtual:_void___cdecl_FAICopyWritingPositionEvent::destructor_void____ptr64]
jmp case.0x140097b37.1002
mov edx, 1
lea rcx, [rsp + 0x78]
call qword [sym.imp.FCore.dll_public:_void___cdecl_FAICopyWritingPositionEvent::constructor_enum_FAICopyWritingPositionEvent::Position____ptr64]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.FFVBLModel.dll_public_virtual:_void___cdecl_FFTrackEvent::sendEvent_void____ptr64]
mov ecx, 2
call qword [sym.imp.FCommonView.dll_public:_static_void___cdecl_FAIWritingDialog::showAIWritingDialog_enum_FAIWritingDialog::fromPosition_]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.FCore.dll_public_virtual:_void___cdecl_FAICopyWritingPositionEvent::destructor_void____ptr64]
jmp case.0x140097b37.1002
mov rcx, qword [rbx + 0x18]
call fcn.14009c9d0
jmp case.0x140097b37.1002
mov rdx, qword [rdx + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14009c310
jmp case.0x140097b37.1002
mov edx, 6
lea rcx, [rbp - 0x48]
call qword [sym.imp.FCore.dll_public:_static_class_ExcludeDialogSetter___cdecl_FPopupEventProcMgr::start_enum_FPopupEventProcMgr::WindowName_]
xor r9d, r9d
mov r8, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14009bc10
mov ecx, 6
call qword [sym.imp.FCore.dll_public:_static_void___cdecl_FPopupEventProcMgr::finished_enum_FPopupEventProcMgr::WindowName_]
jmp case.0x140097b37.1002
mov r9d, 1
mov r8, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14009bc10
jmp case.0x140097b37.1002
call qword [sym.imp.FFVBLModel.dll_public:_static_class_IFFProjectManager____ptr64___cdecl_IFFProjectManager::getInstance_void_]
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 0xb0]
call qword [sym.imp.FFAppSettings.dll_public:_static_class_FFAppSettings____ptr64___cdecl_FFAppSettings::GetInstance_void_]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FSettings____ptr64___cdecl_FFAppSettings::GetSettings_void____ptr64]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FFSaveSettings____ptr64___cdecl_FSettings::GetSaveSettings_void____ptr64]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_bool___cdecl_FFSaveSettings::GetAutoBackupProject_void____ptr64]
movzx edx, al
mov rcx, rdi
call rbx
mov byte [rsi + 8], 1
jmp case.0x140097b37.1002
call qword [sym.imp.FFVBLModel.dll_public:_static_class_IFFProjectManager____ptr64___cdecl_IFFProjectManager::getInstance_void_]
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 0xb8]
call qword [sym.imp.FFAppSettings.dll_public:_static_class_FFAppSettings____ptr64___cdecl_FFAppSettings::GetInstance_void_]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FSettings____ptr64___cdecl_FFAppSettings::GetSettings_void____ptr64]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FFSaveSettings____ptr64___cdecl_FSettings::GetSaveSettings_void____ptr64]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_int___cdecl_FFSaveSettings::GetAutoBackupProjectTime_void____ptr64]
imul edx, eax, 0x3c
mov r8d, 0xa
mov rcx, rdi
call rbx
mov byte [rsi + 8], 1
jmp case.0x140097b37.1002
call qword [sym.imp.FFVBLModel.dll_public:_static_class_IFFProjectManager____ptr64___cdecl_IFFProjectManager::getInstance_void_]
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 0xc8]
call qword [sym.imp.FFAppSettings.dll_public:_static_class_FFAppSettings____ptr64___cdecl_FFAppSettings::GetInstance_void_]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FSettings____ptr64___cdecl_FFAppSettings::GetSettings_void____ptr64]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FFSaveSettings____ptr64___cdecl_FSettings::GetSaveSettings_void____ptr64]
lea rdx, [rsp + 0x58]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_QString___cdecl_FFSaveSettings::GetBackupProjectFile_void____ptr64]
nop
mov rdx, rax
mov rcx, rdi
call rbx
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov byte [rsi + 8], 1
jmp case.0x140097b37.1002
mov rcx, qword [rbx + 0x18]
call fcn.14009a130
jmp case.0x140097b37.1002
call qword [sym.imp.FFVBLModel.dll_public:_static_class_IFFProjectManager____ptr64___cdecl_IFFProjectManager::getInstance_void_]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x88]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x78]
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x18]
call qword [sym.imp.FFAppSettings.dll_public:_static_class_FFAppSettings____ptr64___cdecl_FFAppSettings::GetInstance_void_]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FSettings____ptr64___cdecl_FFAppSettings::GetSettings_void____ptr64]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_FFolderSettings____ptr64___cdecl_FSettings::GetFolderSettings_void____ptr64]
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.FFAppSettings.dll_public:_class_QString___cdecl_FFolderSettings::GetDownloadFileFolder_void____ptr64]
nop
mov rdx, rax
mov rcx, rdi
call rbx
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x88]
xor al, al
mov rbx, qword [rsp + 0x160]
add rsp, reloc.WsAP_FilmoraX.dll_Ordinal_320
pop rdi
pop rsi
pop rbp
ret