Function at 0x18000e560
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x840
mov rax, qword [0x1800bc650]
xor rax, rsp
mov qword [rsp + 0x830], rax
xor esi, esi
lea rax, vtable.CThooks.0
lea rdi, str.thooksv364.dll
mov rcx, rdi
mov qword [0x1800d59e0], rax
mov qword [0x1800d5a88], rsi
mov qword [0x1800d59e8], rsi
mov qword [0x1800d59f8], rsi
mov qword [0x1800d5a00], rsi
mov qword [0x1800d5a08], rsi
mov qword [0x1800d5a10], rsi
mov qword [0x1800d5a18], rsi
mov qword [0x1800d5a20], rsi
mov qword [0x1800d5a28], rsi
mov qword [0x1800d5a30], rsi
mov qword [0x1800d5a38], rsi
mov qword [0x1800d5a40], rsi
mov qword [0x1800d5a48], rsi
mov qword [0x1800d5a50], rsi
mov qword [0x1800d5a58], rsi
mov qword [0x1800d5a60], rsi
mov qword [0x1800d5a68], rsi
mov qword [0x1800d5a70], rsi
mov qword [0x1800d5a78], rsi
mov qword [0x1800d5a80], rsi
mov dword [0x1800d59f0], esi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1800d59e8], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x7fe
mov word [rsp + 0x30], si
mov ebx, eax
call fcn.180031610
mov r8, qword [0x1800d59e8]
lea rdx, str._AgengU64__CThooks::CThooks___1__h:__08x___e:__08x___n:__s_
lea rcx, [rsp + 0x30]
mov r9d, ebx
mov qword [rsp + 0x20], rdi
call fcn.18000e530
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [0x1800d59e8]
test rcx, rcx
je 0x18000e9c8
lea rdx, str.SetHook
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.UnSetHook
mov qword [0x1800d59f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.SetKeyboardFilterHook
mov qword [0x1800d5a00], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.IsKeyboardHookSet
mov qword [0x1800d5a08], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.SetMouseFilterHook
mov qword [0x1800d5a10], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.GetLastActiveTick
mov qword [0x1800d5a18], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.LockDesktop
mov qword [0x1800d5a20], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.UnlockDesktop
mov qword [0x1800d5a28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.IsLocked
mov qword [0x1800d5a30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.AddHotkey
mov qword [0x1800d5a38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.DelHotkey
mov qword [0x1800d5a40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.DelHotkeyAll
mov qword [0x1800d5a48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.DisablePrintScreen
mov qword [0x1800d5a50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.EnablePrintScreen
mov qword [0x1800d5a58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.IsDisablePrintScreen
mov qword [0x1800d5a60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.RefreshPassthruProcess
mov qword [0x1800d5a68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.SetCallWndProcHook
mov qword [0x1800d5a70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d59e8]
lea rdx, str.ScanCodeLoginPid
mov qword [0x1800d5a78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x1800d59f8], rsi
mov qword [0x1800d5a80], rax
je 0x18000e993
cmp qword [0x1800d5a00], rsi
je 0x18000e993
cmp qword [0x1800d5a08], rsi
je 0x18000e993
cmp qword [0x1800d5a10], rsi
je 0x18000e993
cmp qword [0x1800d5a18], rsi
je 0x18000e993
cmp qword [0x1800d5a20], rsi
je 0x18000e993
cmp qword [0x1800d5a28], rsi
je 0x18000e993
cmp qword [0x1800d5a30], rsi
je 0x18000e993
cmp qword [0x1800d5a38], rsi
je 0x18000e993
cmp qword [0x1800d5a40], rsi
je 0x18000e993
cmp qword [0x1800d5a48], rsi
je 0x18000e993
cmp qword [0x1800d5a50], rsi
je 0x18000e993
cmp qword [0x1800d5a58], rsi
je 0x18000e993
cmp qword [0x1800d5a60], rsi
je 0x18000e993
cmp qword [0x1800d5a68], rsi
je 0x18000e993
cmp qword [0x1800d5a70], rsi
je 0x18000e993
cmp qword [0x1800d5a78], rsi
je 0x18000e993
test rax, rax
je 0x18000e993
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.180031610
mov r8, qword [0x1800d59e8]
lea rdx, str._AgengU64__CThooks::CThooks___3__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.18000e530
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x1800d59f0], esi
je 0x18000e987
call qword [0x1800d5a50]
mov dword [0x1800d59f0], 1
jmp 0x18000e9ce
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.180031610
mov r8, qword [0x1800d59e8]
lea rdx, str._AgengU64__CThooks::CThooks___2__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.18000e530
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [0x1800d59f0], esi
lea rax, [0x1800d59e0]
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.18002f7c0
lea r11, [rsp + 0x840]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret