Function at 0x18003b6d0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov eax, dword [0x18017081c]
test eax, eax
jne 0x18003ba37
cmp dword [0x180170818], 3
jge 0x18003ba37
lea rax, str.DocWaterMark.dll
lea r8, str.DocWaterMark64.dll
cmp dword [0x1801571dc], 0
cmove r8, rax
mov rdx, qword [0x180170810]
lea rcx, [rsp + 0x50]
call fcn.18002d8e0
nop
cmp dword [0x1801730a0], 0
je 0x18003b755
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, str.DocWaterMark::Initialize___s_
lea r8, [0x180103320]
or edx, 0xffffffff
lea rcx, [0x1801727b8]
call fcn.18009ee20
inc dword [0x180170818]
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.180057e70
mov rcx, rax
xor edx, edx
lea r8d, [rdx + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
test rax, rax
je 0x18003ba27
lea rdx, str.DWMOpen
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170728], rax
lea rdx, str.DWMSave
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170730], rax
lea rdx, str.DWMClose
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170738], rax
lea rdx, str.DWMGetWorkSpaceCount
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170740], rax
lea rdx, str.DWMGetWorkSpacePageSetup
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170748], rax
lea rdx, str.DWMGetTextSize
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170750], rax
lea rdx, str.DWMSetWaterMark
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170758], rax
lea rdx, str.DWMReplaceWaterMark
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170760], rax
lea rdx, str.DWMGetWaterMark
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170768], rax
lea rdx, str.DWMGetAllWaterMark
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170770], rax
lea rdx, str.DWMDelWaterMark
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170778], rax
lea rdx, str.DWMInitDocWaterMarkParam
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170780], rax
lea rdx, str.DWMInitFontNameMap
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170788], rax
lea rdx, str.DWMSetBlindWord
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170790], rax
lea rdx, str.DWMGetFileType
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170798], rax
lea rdx, str.DWMFinalize
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707a0], rax
lea rdx, str.DWMIsImgFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707a8], rax
lea rdx, str.DWMSaveBmpData
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707b0], rax
lea rdx, str.DWMGetAllFontName
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707b8], rax
lea rdx, str.DWMDestroyFontNameBuf
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707c0], rax
lea rdx, str.DWMGetFileTypeEx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707c8], rax
lea rdx, str.DWMIsInstallWPS
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707d0], rax
lea rdx, str.DFCreateGetDataProtol
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707d8], rax
lea rdx, str.DFCreateDoProtol
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707e0], rax
lea rdx, str.DFDestroyProtolBuf
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707e8], rax
lea rdx, str.DFOpen
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707f0], rax
lea rdx, str.DFParseDoResult
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801707f8], rax
lea rdx, str.DFParseDoResultEx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170800], rax
lea rdx, str.DWMIsFileHasWatermark
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170808], rax
mov dword [0x18017081c], 1
lea rcx, [rsp + 0x50]
call fcn.180057b10
mov eax, dword [0x18017081c]
add rsp, 0x40
pop rbx
ret