Function at 0x180002850
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
cmp dword [0x1801c1458], 0
je 0x18000286a
mov eax, 1
add rsp, 0x20
pop rbx
ret
lea rcx, [0x1801c1d00]
call fcn.18000bf40
test eax, eax
jne 0x180002880
add rsp, 0x20
pop rbx
ret
cmp dword [0x1801df0a0], 0
mov qword [rsp + 0x30], rdi
je 0x1800028ab
lea r9, str.CTSafeDoc::Initialize
lea r8, str.TIjtNecessity
lea rcx, [0x1801de7b8]
or edx, 0xffffffff
call fcn.18008da50
or rcx, 0xffffffffffffffff
lea rdx, [0x1801c1470]
xor eax, eax
mov rdi, rdx
mov ebx, 1
repne scasw ax, word [rdi]
mov dword [0x1801c1458], ebx
not rcx
cmp rcx, rbx
lea rcx, str.TSafeDoc64.dll
cmovne rcx, rdx
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, qword [rsp + 0x30]
mov qword [0x1801c1460], rax
test rax, rax
je 0x180002e6f
lea rdx, str.SDStart
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SDStartReadOnly
mov qword [0x1801c12b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SDStop
mov qword [0x1801c12c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsRunning
mov qword [0x1801c12c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsRunningEx
mov qword [0x1801c12d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SDStartKeyboardHook
mov qword [0x1801c12d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsProcessEnableSnapshot
mov qword [0x1801c12e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SetEncryption
mov qword [0x1801c12e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SetOffline
mov qword [0x1801c12f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateSDPolicy
mov qword [0x1801c12f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateSafeSoftLib
mov qword [0x1801c1300], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateSystemInfo
mov qword [0x1801c1308], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateSystemInfo2
mov qword [0x1801c1310], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateUserState
mov qword [0x1801c1318], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateDefaultSecuProperty
mov qword [0x1801c1320], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateCustomEncryption
mov qword [0x1801c1328], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UpdateTargetProcTable
mov qword [0x1801c1330], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.GetTargetProcTable
mov qword [0x1801c1360], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.GetTSDSafeProcInfo
mov qword [0x1801c1368], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.GetGlobalShareData
mov qword [0x1801c1370], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BackupOcularSD
mov qword [0x1801c1378], rax
mov rcx, qword [0x1801c1460]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.DeleteOcularSDBak
mov qword [0x1801c1380], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SetTargetProcessByName
mov qword [0x1801c1388], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SetTargetProcessByProcID
mov qword [0x1801c1390], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.SetTargetProcessByMatch
mov qword [0x1801c1398], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.DeleteTargetProcessByIndex
mov qword [0x1801c13a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.FilterShellExecuteExWReadOnly
mov qword [0x1801c13a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.FilterCreateProcessAReadOnly
mov qword [0x1801c13b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.FilterCreateProcessWReadOnly
mov qword [0x1801c13b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.FilterCreateProcessInternalWReadOnly
mov qword [0x1801c13c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.FilterIExecuteCommandExecuteReadOnly
mov qword [0x1801c13c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.FilterIExecuteCommandExecuteReadOnlyEx
mov qword [0x1801c13d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.EncryptAndDecryptSafeDiskFile
mov qword [0x1801c13d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsEncryptOrDecryptSafeDiskFile
mov qword [0x1801c1338], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsEncryptOrDecryptSafeDiskFile2
mov qword [0x1801c1340], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsShellEncryptOrDecryptSafeDiskFile2
mov qword [0x1801c1348], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsShellEncryptOrDecryptSafeDiskFile3
mov qword [0x1801c1350], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsFileInSafeDisk
mov qword [0x1801c1358], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsForbidCopyPaste
mov qword [0x1801c13e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsForbidCopyPaste2
mov qword [0x1801c13e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
mov qword [0x1801c13f0], rax
lea rdx, str.IsFileInReadonlyDirectory
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsSpecialSafeAreaFile
mov qword [0x1801c13f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.GetDecryptDirectory
mov qword [0x1801c1408], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.AddSaveFile
mov qword [0x1801c1400], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsEncryptedFile
mov qword [0x1801c1410], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.CallBackUPDLProcessing
mov qword [0x1801c1418], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsNotRunInSecuDesktopProcess
mov qword [0x1801c1420], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.InToSandBox
mov qword [0x1801c1428], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.RegisterCallbackFunc
mov qword [0x1801c1430], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.UnRegisterCallbackFunc
mov qword [0x1801c1438], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.GetAuthProcState
mov qword [0x1801c1440], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801c1460]
lea rdx, str.IsForbidOpenFileDlg
mov qword [0x1801c1448], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801c1450], rax
jmp 0x180002e76
mov rax, qword [0x1801c1450]
cmp qword [0x1801c12b8], 0
je 0x180003031
cmp qword [0x1801c12c8], 0
je 0x180003031
cmp qword [0x1801c12e0], 0
je 0x180003031
cmp qword [0x1801c12e8], 0
je 0x180003031
cmp qword [0x1801c12f0], 0
je 0x180003031
cmp qword [0x1801c12f8], 0
je 0x180003031
cmp qword [0x1801c1300], 0
je 0x180003031
cmp qword [0x1801c1308], 0
je 0x180003031
cmp qword [0x1801c1310], 0
je 0x180003031
cmp qword [0x1801c1318], 0
je 0x180003031
cmp qword [0x1801c1320], 0
je 0x180003031
cmp qword [0x1801c1328], 0
je 0x180003031
cmp qword [0x1801c1330], 0
je 0x180003031
cmp qword [0x1801c1360], 0
je 0x180003031
cmp qword [0x1801c1368], 0
je 0x180003031
cmp qword [0x1801c1370], 0
je 0x180003031
cmp qword [0x1801c1338], 0
je 0x180003031
cmp qword [0x1801c1340], 0
je 0x180003031
cmp qword [0x1801c1348], 0
je 0x180003031
cmp qword [0x1801c1350], 0
je 0x180003031
cmp qword [0x1801c1358], 0
je 0x180003031
cmp qword [0x1801c13e0], 0
je 0x180003031
cmp qword [0x1801c13e8], 0
je 0x180003031
cmp qword [0x1801c13f0], 0
je 0x180003031
cmp qword [0x1801c13f8], 0
je 0x180003031
cmp qword [0x1801c1408], 0
je 0x180003031
cmp qword [0x1801c1400], 0
je 0x180003031
cmp qword [0x1801c1410], 0
je 0x180003031
cmp qword [0x1801c1418], 0
je 0x180003031
cmp qword [0x1801c1420], 0
je 0x180003031
cmp qword [0x1801c1428], 0
je 0x180003031
cmp qword [0x1801c1430], 0
je 0x180003031
cmp qword [0x1801c1438], 0
je 0x180003031
cmp qword [0x1801c1440], 0
je 0x180003031
cmp qword [0x1801c1448], 0
je 0x180003031
test rax, rax
jne 0x180003033
xor ebx, ebx
mov eax, ebx
add rsp, 0x20
pop rbx
ret