Function at 0x180002f00
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 [0x18009c160]
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 [0x1800b19e0], rax
mov qword [0x1800b1a70], rsi
mov qword [0x1800b19e8], rsi
mov qword [0x1800b19f8], rsi
mov qword [0x1800b1a00], rsi
mov qword [0x1800b1a08], rsi
mov qword [0x1800b1a10], rsi
mov qword [0x1800b1a18], rsi
mov qword [0x1800b1a20], rsi
mov qword [0x1800b1a28], rsi
mov qword [0x1800b1a30], rsi
mov qword [0x1800b1a38], rsi
mov qword [0x1800b1a40], rsi
mov qword [0x1800b1a48], rsi
mov qword [0x1800b1a50], rsi
mov qword [0x1800b1a58], rsi
mov qword [0x1800b1a60], rsi
mov qword [0x1800b1a68], rsi
mov dword [0x1800b19f0], esi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1800b19e8], 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.18001ab30
mov r8, qword [0x1800b19e8]
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.180003360
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [0x1800b19e8]
test rcx, rcx
je 0x1800032db
lea rdx, str.SetHook
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.UnSetHook
mov qword [0x1800b19f8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.SetKeyboardFilterHook
mov qword [0x1800b1a00], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.IsKeyboardHookSet
mov qword [0x1800b1a08], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.SetMouseFilterHook
mov qword [0x1800b1a10], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.GetLastActiveTick
mov qword [0x1800b1a18], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.LockDesktop
mov qword [0x1800b1a20], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.UnlockDesktop
mov qword [0x1800b1a28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.IsLocked
mov qword [0x1800b1a30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.AddHotkey
mov qword [0x1800b1a38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.DelHotkey
mov qword [0x1800b1a40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.DelHotkeyAll
mov qword [0x1800b1a48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.DisablePrintScreen
mov qword [0x1800b1a50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.EnablePrintScreen
mov qword [0x1800b1a58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800b19e8]
lea rdx, str.IsDisablePrintScreen
mov qword [0x1800b1a60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800b1a68], rax
cmp qword [0x1800b19f8], rsi
je 0x1800032a6
cmp qword [0x1800b1a00], rsi
je 0x1800032a6
cmp qword [0x1800b1a08], rsi
je 0x1800032a6
cmp qword [0x1800b1a10], rsi
je 0x1800032a6
cmp qword [0x1800b1a18], rsi
je 0x1800032a6
cmp qword [0x1800b1a20], rsi
je 0x1800032a6
cmp qword [0x1800b1a28], rsi
je 0x1800032a6
cmp qword [0x1800b1a30], rsi
je 0x1800032a6
cmp qword [0x1800b1a38], rsi
je 0x1800032a6
cmp qword [0x1800b1a40], rsi
je 0x1800032a6
cmp qword [0x1800b1a48], rsi
je 0x1800032a6
cmp qword [0x1800b1a50], rsi
je 0x1800032a6
cmp qword [0x1800b1a58], rsi
je 0x1800032a6
cmp qword [0x1800b1a60], rsi
je 0x1800032a6
test rax, rax
je 0x1800032a6
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.18001ab30
mov r8, qword [0x1800b19e8]
lea rdx, str._AgengU64__CThooks::CThooks___3__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.180003360
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x1800b19f0], esi
je 0x18000329a
call qword [0x1800b1a50]
mov dword [0x1800b19f0], 1
jmp 0x1800032e1
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.18001ab30
mov r8, qword [0x1800b19e8]
lea rdx, str._AgengU64__CThooks::CThooks___2__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.180003360
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [0x1800b19f0], esi
lea rax, [0x1800b19e0]
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.1800190b0
lea r11, [rsp + 0x840]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret