Function at 0x1800399b0
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
mov eax, dword [0x180170630]
mov rdx, rcx
test eax, eax
jne 0x180039dab
test rdx, rdx
mov qword [rsp + 0x20], rbx
mov rbx, qword [0x180170638]
lea rcx, str.DtFrame64.dll
cmovne rcx, rdx
test rbx, rbx
jne 0x1800399fa
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [0x180170638], rax
mov eax, dword [0x180170630]
test rbx, rbx
je 0x180039da6
lea rdx, str.SetFlags
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetFlags
mov rcx, rbx
mov qword [0x1801704f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.SetNoCheckCalling
mov rcx, rbx
mov qword [0x1801704f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RmLoadLibrary
mov rcx, rbx
mov qword [0x180170540], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RmLoadLibrary21
mov rcx, rbx
mov qword [0x180170500], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.AddPassthru
mov rcx, rbx
mov qword [0x180170508], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DelPassthru
mov rcx, rbx
mov qword [0x180170510], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.AddLocalPassthru
mov rcx, rbx
mov qword [0x180170518], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DelLocalPassthru
mov rcx, rbx
mov qword [0x180170520], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetNextCB
mov rcx, rbx
mov qword [0x180170528], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RegisterUnloadNotify
mov rcx, rbx
mov qword [0x180170530], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtTransactionBegin
mov rcx, rbx
mov qword [0x180170538], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtTransactionBeginEx
mov rcx, rbx
mov qword [0x180170548], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtTransactionCommit
mov rcx, rbx
mov qword [0x180170550], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtInstallOne
mov rcx, rbx
mov qword [0x180170558], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtInstallOne2
mov rcx, rbx
mov qword [0x180170560], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtUninstallOne
mov rcx, rbx
mov qword [0x180170568], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtSuspendOne
mov rcx, rbx
mov qword [0x180170570], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtResumeOne
mov rcx, rbx
mov qword [0x180170578], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtGetRealPPointer
mov rcx, rbx
mov qword [0x180170580], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtInstallRaw
mov qword [0x180170598], rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtUninstallRaw
mov rcx, rbx
mov qword [0x180170588], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtCheckFuncInc
mov rcx, rbx
mov qword [0x180170590], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DtRecoverFuncInc
mov rcx, rbx
mov qword [0x1801705a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.GetRestoredHookAPI
mov rcx, rbx
mov qword [0x1801705a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DelRestoredHookAPI
mov rcx, rbx
mov qword [0x1801705b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATTransactionBegin
mov rcx, rbx
mov qword [0x1801705b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATTransactionBeginEx
mov rcx, rbx
mov qword [0x1801705c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATTransactionCommit
mov rcx, rbx
mov qword [0x1801705c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATInstallOne
mov rcx, rbx
mov qword [0x1801705d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATUninstallOne
mov rcx, rbx
mov qword [0x1801705d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATInstallOneDWMsApi
mov rcx, rbx
mov qword [0x1801705e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATUninstallOneDWMsApi
mov rcx, rbx
mov qword [0x1801705e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATSuspendOne
mov rcx, rbx
mov qword [0x1801705f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATResumeOne
mov rcx, rbx
mov qword [0x1801705f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IEATGetRealPPointer
mov rcx, rbx
mov qword [0x180170600], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IATInstallRaw
mov rcx, rbx
mov qword [0x180170608], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.IATUninstallRaw
mov rcx, rbx
mov qword [0x180170610], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.EATInstallRaw
mov rcx, rbx
mov qword [0x180170618], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.EATUninstallRaw
mov rcx, rbx
mov qword [0x180170620], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180170628], rax
mov eax, 1
mov dword [0x180170630], eax
mov rbx, qword [rsp + 0x20]
add rsp, 0x28
ret
jmp 0x1800399b0