Function at 0x401240
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [0x589908]
test eax, eax
je 0x40124f
mov eax, 1
ret
push esi
mov esi, 0x589910
push esi
mov dword [0x589908], 1
call fcn.00422fc1
add esp, 4
test eax, eax
jne 0x401271
mov esi, str.tsafedoc2.dll
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [0x58990c], eax
je 0x401582
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SDStart
push eax
call esi
mov dword [0x589864], eax
mov eax, dword [0x58990c]
push str.SDStartReadOnly
push eax
call esi
mov ecx, dword [0x58990c]
push str.SDStop
push ecx
mov dword [0x589868], eax
call esi
mov edx, dword [0x58990c]
push str.IsRunning
push edx
mov dword [0x58986c], eax
call esi
mov dword [0x589870], eax
mov eax, dword [0x58990c]
push str.IsRunningEx
push eax
call esi
mov ecx, dword [0x58990c]
push str.SDStartKeyboardHook
push ecx
mov dword [0x589874], eax
call esi
mov edx, dword [0x58990c]
push str.IsProcessEnableSnapshot
push edx
mov dword [0x589878], eax
call esi
mov dword [0x58987c], eax
mov eax, dword [0x58990c]
push str.SetEncryption
push eax
call esi
mov ecx, dword [0x58990c]
push str.SetOffline
push ecx
mov dword [0x589880], eax
call esi
mov edx, dword [0x58990c]
push str.UpdateSDPolicy
push edx
mov dword [0x589884], eax
call esi
mov dword [0x589888], eax
mov eax, dword [0x58990c]
push str.UpdateSafeSoftLib
push eax
call esi
mov ecx, dword [0x58990c]
push str.UpdateSystemInfo
push ecx
mov dword [0x58988c], eax
call esi
mov edx, dword [0x58990c]
push str.UpdateSystemInfo2
push edx
mov dword [0x589890], eax
call esi
mov dword [0x589894], eax
mov eax, dword [0x58990c]
push str.UpdateUserState
push eax
call esi
mov ecx, dword [0x58990c]
push str.UpdateDefaultSecuProperty
push ecx
mov dword [0x589898], eax
call esi
mov edx, dword [0x58990c]
push str.UpdateCustomEncryption
push edx
mov dword [0x58989c], eax
call esi
mov dword [0x5898a0], eax
push str.UpdateTargetProcTable
mov eax, dword [0x58990c]
push eax
call esi
mov ecx, dword [0x58990c]
push str.GetTargetProcTable
push ecx
mov dword [0x5898b0], eax
call esi
mov edx, dword [0x58990c]
push str.GetTSDSafeProc
push edx
mov dword [0x5898b4], eax
call esi
mov dword [0x5898b8], eax
mov eax, dword [0x58990c]
push str.GetGlobalShareData
push eax
call esi
mov ecx, dword [0x58990c]
push str.BackupOcularSD
push ecx
mov dword [0x5898bc], eax
call esi
mov edx, dword [0x58990c]
push str.DeleteOcularSDBak
push edx
mov dword [0x5898c0], eax
call esi
mov dword [0x5898c4], eax
mov eax, dword [0x58990c]
push str.SetTargetProcessByName
push eax
call esi
mov ecx, dword [0x58990c]
push str.SetTargetProcessByProcID
push ecx
mov dword [0x5898c8], eax
call esi
mov edx, dword [0x58990c]
push str.SetTargetProcessByMatch
push edx
mov dword [0x5898cc], eax
call esi
mov dword [0x5898d0], eax
mov eax, dword [0x58990c]
push str.DeleteTargetProcessByIndex
push eax
call esi
mov ecx, dword [0x58990c]
push str.FilterShellExecuteExWReadOnly
push ecx
mov dword [0x5898d4], eax
call esi
mov edx, dword [0x58990c]
push str.FilterCreateProcessAReadOnly
push edx
mov dword [0x5898d8], eax
call esi
mov dword [0x5898dc], eax
mov eax, dword [0x58990c]
push str.FilterCreateProcessWReadOnly
push eax
call esi
mov ecx, dword [0x58990c]
push str.FilterCreateProcessInternalWReadOnly
push ecx
mov dword [0x5898e0], eax
call esi
mov edx, dword [0x58990c]
push str.FilterIExecuteCommandExecuteReadOnly
push edx
mov dword [0x5898e4], eax
call esi
mov dword [0x5898e8], eax
mov eax, dword [0x58990c]
push str.FilterIExecuteCommandExecuteReadOnlyEx
push eax
call esi
mov ecx, dword [0x58990c]
mov dword [0x5898ec], eax
push str.EncryptAndDecryptSafeDiskFile
push ecx
call esi
mov edx, dword [0x58990c]
push str.IsEncryptOrDecryptSafeDiskFile
push edx
mov dword [0x5898a4], eax
call esi
mov dword [0x5898a8], eax
mov eax, dword [0x58990c]
push str.IsShellEncryptOrDecryptSafeDiskFile
push eax
call esi
mov ecx, dword [0x58990c]
push str.IsFileInSafeDisk
push ecx
mov dword [0x5898ac], eax
call esi
mov edx, dword [0x58990c]
push str.IsForbidCopyPaste
push edx
mov dword [0x5898f0], eax
call esi
mov dword [0x5898f4], eax
mov eax, dword [0x58990c]
push str.IsFileInReadonlyDirectory
push eax
call esi
mov ecx, dword [0x58990c]
push str.GetTargetProcSandBoxTable
push ecx
mov dword [0x5898f8], eax
call esi
mov edx, dword [0x58990c]
push str.SetSandBoxName
push edx
mov dword [0x5898fc], eax
call esi
mov dword [0x589900], eax
mov eax, dword [0x58990c]
push str.IsShowNeedAuthWarning
push eax
call esi
mov dword [0x589904], eax
mov eax, dword [0x589864]
pop esi
test eax, eax
je 0x401696
mov eax, dword [0x58986c]
test eax, eax
je 0x401696
mov eax, dword [0x589878]
test eax, eax
je 0x401696
mov eax, dword [0x58987c]
test eax, eax
je 0x401696
mov eax, dword [0x589880]
test eax, eax
je 0x401696
mov eax, dword [0x589884]
test eax, eax
je 0x401696
mov eax, dword [0x589888]
test eax, eax
je 0x401696
mov eax, dword [0x58988c]
test eax, eax
je 0x401696
mov eax, dword [0x589890]
test eax, eax
je 0x401696
mov eax, dword [0x589894]
test eax, eax
je 0x401696
mov eax, dword [0x589898]
test eax, eax
je 0x401696
mov eax, dword [0x58989c]
test eax, eax
je 0x401696
mov eax, dword [0x5898a0]
test eax, eax
je 0x401696
mov eax, dword [0x5898b0]
test eax, eax
je 0x401696
mov eax, dword [0x5898b4]
test eax, eax
je 0x401696
mov eax, dword [0x5898b8]
test eax, eax
je 0x401696
mov eax, dword [0x5898a4]
test eax, eax
je 0x401696
mov eax, dword [0x5898a8]
test eax, eax
je 0x401696
mov eax, dword [0x5898ac]
test eax, eax
je 0x401696
mov eax, dword [0x5898f0]
test eax, eax
je 0x401696
mov eax, dword [0x5898f4]
test eax, eax
je 0x401696
mov eax, dword [0x5898f8]
test eax, eax
je 0x401696
mov eax, dword [0x5898fc]
test eax, eax
je 0x401696
mov eax, dword [0x589900]
test eax, eax
je 0x401696
mov eax, dword [0x589904]
test eax, eax
je 0x401696
mov eax, 1
ret
xor eax, eax
ret