Function at 0x18000fe50
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 [0x1800cb660]
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 [0x1800e5150], rax
mov qword [0x1800e51f8], rsi
mov qword [0x1800e5158], rsi
mov qword [0x1800e5168], rsi
mov qword [0x1800e5170], rsi
mov qword [0x1800e5178], rsi
mov qword [0x1800e5180], rsi
mov qword [0x1800e5188], rsi
mov qword [0x1800e5190], rsi
mov qword [0x1800e5198], rsi
mov qword [0x1800e51a0], rsi
mov qword [0x1800e51a8], rsi
mov qword [0x1800e51b0], rsi
mov qword [0x1800e51b8], rsi
mov qword [0x1800e51c0], rsi
mov qword [0x1800e51c8], rsi
mov qword [0x1800e51d0], rsi
mov qword [0x1800e51d8], rsi
mov qword [0x1800e51e0], rsi
mov qword [0x1800e51e8], rsi
mov qword [0x1800e51f0], rsi
mov dword [0x1800e5160], esi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1800e5158], 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.180037550
mov r8, qword [0x1800e5158]
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.18000fe20
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [0x1800e5158]
test rcx, rcx
je 0x1800102b8
lea rdx, str.SetHook
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.UnSetHook
mov qword [0x1800e5168], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.SetKeyboardFilterHook
mov qword [0x1800e5170], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.IsKeyboardHookSet
mov qword [0x1800e5178], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.SetMouseFilterHook
mov qword [0x1800e5180], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.GetLastActiveTick
mov qword [0x1800e5188], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.LockDesktop
mov qword [0x1800e5190], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.UnlockDesktop
mov qword [0x1800e5198], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.IsLocked
mov qword [0x1800e51a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.AddHotkey
mov qword [0x1800e51a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.DelHotkey
mov qword [0x1800e51b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.DelHotkeyAll
mov qword [0x1800e51b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.DisablePrintScreen
mov qword [0x1800e51c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.EnablePrintScreen
mov qword [0x1800e51c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.IsDisablePrintScreen
mov qword [0x1800e51d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.RefreshPassthruProcess
mov qword [0x1800e51d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.SetCallWndProcHook
mov qword [0x1800e51e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800e5158]
lea rdx, str.ScanCodeLoginPid
mov qword [0x1800e51e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x1800e5168], rsi
mov qword [0x1800e51f0], rax
je 0x180010283
cmp qword [0x1800e5170], rsi
je 0x180010283
cmp qword [0x1800e5178], rsi
je 0x180010283
cmp qword [0x1800e5180], rsi
je 0x180010283
cmp qword [0x1800e5188], rsi
je 0x180010283
cmp qword [0x1800e5190], rsi
je 0x180010283
cmp qword [0x1800e5198], rsi
je 0x180010283
cmp qword [0x1800e51a0], rsi
je 0x180010283
cmp qword [0x1800e51a8], rsi
je 0x180010283
cmp qword [0x1800e51b0], rsi
je 0x180010283
cmp qword [0x1800e51b8], rsi
je 0x180010283
cmp qword [0x1800e51c0], rsi
je 0x180010283
cmp qword [0x1800e51c8], rsi
je 0x180010283
cmp qword [0x1800e51d0], rsi
je 0x180010283
cmp qword [0x1800e51d8], rsi
je 0x180010283
cmp qword [0x1800e51e0], rsi
je 0x180010283
cmp qword [0x1800e51e8], rsi
je 0x180010283
test rax, rax
je 0x180010283
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.180037550
mov r8, qword [0x1800e5158]
lea rdx, str._AgengU64__CThooks::CThooks___3__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.18000fe20
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x1800e5160], esi
je 0x180010277
call qword [0x1800e51c0]
mov dword [0x1800e5160], 1
jmp 0x1800102be
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.180037550
mov r8, qword [0x1800e5158]
lea rdx, str._AgengU64__CThooks::CThooks___2__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.18000fe20
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [0x1800e5160], esi
lea rax, [0x1800e5150]
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.1800356a0
lea r11, [rsp + 0x840]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret