Function at 0x18000eb90
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 [0x1800c4650]
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 [0x1800ddcb0], rax
mov qword [0x1800ddd58], rsi
mov qword [0x1800ddcb8], rsi
mov qword [0x1800ddcc8], rsi
mov qword [0x1800ddcd0], rsi
mov qword [0x1800ddcd8], rsi
mov qword [0x1800ddce0], rsi
mov qword [0x1800ddce8], rsi
mov qword [0x1800ddcf0], rsi
mov qword [0x1800ddcf8], rsi
mov qword [0x1800ddd00], rsi
mov qword [0x1800ddd08], rsi
mov qword [0x1800ddd10], rsi
mov qword [0x1800ddd18], rsi
mov qword [0x1800ddd20], rsi
mov qword [0x1800ddd28], rsi
mov qword [0x1800ddd30], rsi
mov qword [0x1800ddd38], rsi
mov qword [0x1800ddd40], rsi
mov qword [0x1800ddd48], rsi
mov qword [0x1800ddd50], rsi
mov dword [0x1800ddcc0], esi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1800ddcb8], 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.180034650
mov r8, qword [0x1800ddcb8]
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.18000eb60
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [0x1800ddcb8]
test rcx, rcx
je 0x18000eff8
lea rdx, str.SetHook
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.UnSetHook
mov qword [0x1800ddcc8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.SetKeyboardFilterHook
mov qword [0x1800ddcd0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.IsKeyboardHookSet
mov qword [0x1800ddcd8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.SetMouseFilterHook
mov qword [0x1800ddce0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.GetLastActiveTick
mov qword [0x1800ddce8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.LockDesktop
mov qword [0x1800ddcf0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.UnlockDesktop
mov qword [0x1800ddcf8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.IsLocked
mov qword [0x1800ddd00], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.AddHotkey
mov qword [0x1800ddd08], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.DelHotkey
mov qword [0x1800ddd10], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.DelHotkeyAll
mov qword [0x1800ddd18], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.DisablePrintScreen
mov qword [0x1800ddd20], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.EnablePrintScreen
mov qword [0x1800ddd28], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.IsDisablePrintScreen
mov qword [0x1800ddd30], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.RefreshPassthruProcess
mov qword [0x1800ddd38], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.SetCallWndProcHook
mov qword [0x1800ddd40], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800ddcb8]
lea rdx, str.ScanCodeLoginPid
mov qword [0x1800ddd48], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x1800ddcc8], rsi
mov qword [0x1800ddd50], rax
je 0x18000efc3
cmp qword [0x1800ddcd0], rsi
je 0x18000efc3
cmp qword [0x1800ddcd8], rsi
je 0x18000efc3
cmp qword [0x1800ddce0], rsi
je 0x18000efc3
cmp qword [0x1800ddce8], rsi
je 0x18000efc3
cmp qword [0x1800ddcf0], rsi
je 0x18000efc3
cmp qword [0x1800ddcf8], rsi
je 0x18000efc3
cmp qword [0x1800ddd00], rsi
je 0x18000efc3
cmp qword [0x1800ddd08], rsi
je 0x18000efc3
cmp qword [0x1800ddd10], rsi
je 0x18000efc3
cmp qword [0x1800ddd18], rsi
je 0x18000efc3
cmp qword [0x1800ddd20], rsi
je 0x18000efc3
cmp qword [0x1800ddd28], rsi
je 0x18000efc3
cmp qword [0x1800ddd30], rsi
je 0x18000efc3
cmp qword [0x1800ddd38], rsi
je 0x18000efc3
cmp qword [0x1800ddd40], rsi
je 0x18000efc3
cmp qword [0x1800ddd48], rsi
je 0x18000efc3
test rax, rax
je 0x18000efc3
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.180034650
mov r8, qword [0x1800ddcb8]
lea rdx, str._AgengU64__CThooks::CThooks___3__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.18000eb60
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x1800ddcc0], esi
je 0x18000efb7
call qword [0x1800ddd20]
mov dword [0x1800ddcc0], 1
jmp 0x18000effe
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x800
call fcn.180034650
mov r8, qword [0x1800ddcb8]
lea rdx, str._AgengU64__CThooks::CThooks___2__h:__08x_
lea rcx, [rsp + 0x30]
call fcn.18000eb60
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [0x1800ddcc0], esi
lea rax, [0x1800ddcb0]
mov rcx, qword [rsp + 0x830]
xor rcx, rsp
call fcn.1800327a0
lea r11, [rsp + 0x840]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret