Function at 0x18001ece0
Capabilities:
Link many functions at runtime

Disassembly:
push rdi
sub rsp, 0x20
cmp dword [0x180151238], 0
je 0x18001ecfa
mov eax, 1
add rsp, 0x20
pop rdi
ret
or rcx, 0xffffffffffffffff
lea rdx, [0x180151250]
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
lea rcx, str.tsafedoc64.dll
cmovne rcx, rdx
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, 1
mov qword [0x180151240], rax
test rax, rax
je 0x18001f190
lea rdx, str.SDStart
mov rcx, rax
mov dword [0x180151238], edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SDStartReadOnly
mov qword [0x1801510f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SDStop
mov qword [0x1801510f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsRunning
mov qword [0x180151100], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsRunningEx
mov qword [0x180151108], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SDStartKeyboardHook
mov qword [0x180151110], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SDStarWndRetHook
mov qword [0x180151118], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsProcessEnableSnapshot
mov qword [0x180151120], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SetEncryption
mov qword [0x180151128], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SetOffline
mov qword [0x180151130], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateSDPolicy
mov qword [0x180151138], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateSafeSoftLib
mov qword [0x180151140], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateSystemInfo
mov qword [0x180151148], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateSystemInfo2
mov qword [0x180151150], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateUserState
mov qword [0x180151158], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateDefaultSecuProperty
mov qword [0x180151160], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateCustomEncryption
mov qword [0x180151168], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.UpdateTargetProcTable
mov qword [0x180151170], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.GetTargetProcInfoTable
mov qword [0x180151178], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.GetTSDSafeProcInfo
mov qword [0x180151180], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180151188], rax
mov rcx, qword [0x180151240]
lea rdx, str.GetGlobalShareData
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.BackupOcularSD
mov qword [0x180151190], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.ClearOcularSD
mov qword [0x180151198], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.DeleteOcularSDBak
mov qword [0x1801511a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.DeleteOcularSDRescue
mov qword [0x1801511a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SetTargetProcessByName
mov qword [0x1801511b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SetTargetProcessByProcID
mov qword [0x1801511b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.SetTargetProcessByMatch
mov qword [0x1801511c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.DeleteTargetProcessByIndex
mov qword [0x1801511c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.FilterShellExecuteExWReadOnly
mov qword [0x1801511d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.FilterCreateProcessAReadOnly
mov qword [0x1801511d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.FilterCreateProcessWReadOnly
mov qword [0x1801511e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.FilterCreateProcessInternalWReadOnly
mov qword [0x1801511e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.FilterIExecuteCommandExecuteReadOnly
mov qword [0x1801511f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsMatchPassthruFile
mov qword [0x1801511f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsAllowUserLogout
mov qword [0x180151200], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsAllowUserLogoutEx
mov qword [0x180151208], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsAllowSnapshot
mov qword [0x180151210], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.IsFileInSafeDisk
mov qword [0x180151218], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180151240]
lea rdx, str.GetAllNeedEncryptDoc
mov qword [0x180151220], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.UpdateIsHadEncryptDataInClipboard
mov qword [0x180151228], rax
mov rcx, qword [0x180151240]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180151230], rax
jmp 0x18001f197
mov rax, qword [0x180151230]
cmp qword [0x1801510f0], 0
je 0x18001f398
cmp qword [0x1801510f8], 0
je 0x18001f398
cmp qword [0x180151100], 0
je 0x18001f398
cmp qword [0x180151108], 0
je 0x18001f398
cmp qword [0x180151110], 0
je 0x18001f398
cmp qword [0x180151118], 0
je 0x18001f398
cmp qword [0x180151120], 0
je 0x18001f398
cmp qword [0x180151128], 0
je 0x18001f398
cmp qword [0x180151130], 0
je 0x18001f398
cmp qword [0x180151138], 0
je 0x18001f398
cmp qword [0x180151140], 0
je 0x18001f398
cmp qword [0x180151148], 0
je 0x18001f398
cmp qword [0x180151150], 0
je 0x18001f398
cmp qword [0x180151158], 0
je 0x18001f398
cmp qword [0x180151160], 0
je 0x18001f398
cmp qword [0x180151168], 0
je 0x18001f398
cmp qword [0x180151170], 0
je 0x18001f398
cmp qword [0x180151178], 0
je 0x18001f398
cmp qword [0x180151180], 0
je 0x18001f398
cmp qword [0x180151188], 0
je 0x18001f398
cmp qword [0x180151190], 0
je 0x18001f398
cmp qword [0x180151198], 0
je 0x18001f398
cmp qword [0x1801511a0], 0
je 0x18001f398
cmp qword [0x1801511a8], 0
je 0x18001f398
cmp qword [0x1801511b0], 0
je 0x18001f398
cmp qword [0x1801511b8], 0
je 0x18001f398
cmp qword [0x1801511c0], 0
je 0x18001f398
cmp qword [0x1801511c8], 0
je 0x18001f398
cmp qword [0x1801511d0], 0
je 0x18001f398
cmp qword [0x1801511d8], 0
je 0x18001f398
cmp qword [0x1801511e0], 0
je 0x18001f398
cmp qword [0x1801511e8], 0
je 0x18001f398
cmp qword [0x1801511f0], 0
je 0x18001f398
cmp qword [0x1801511f8], 0
je 0x18001f398
cmp qword [0x180151200], 0
je 0x18001f398
cmp qword [0x180151208], 0
je 0x18001f398
cmp qword [0x180151210], 0
je 0x18001f398
cmp qword [0x180151218], 0
je 0x18001f398
cmp qword [0x180151220], 0
je 0x18001f398
cmp qword [0x180151228], 0
je 0x18001f398
test rax, rax
jne 0x18001f39a
xor edi, edi
mov eax, edi
add rsp, 0x20
pop rdi
ret