Function at 0x180009ee0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rax, qword [0x1800da0c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
lea rcx, str.Hooks:_Starting_to_initialize
call fcn.180055d10
lea rcx, [0x1800de960]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
setne byte [0x1800de7ce]
lea rcx, [0x1800de968]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
movabs rax, qword [0x1453cf948]
mov rdi, qword [rax]
test rdi, rdi
jne 0x180009f83
lea rcx, str.Unable_to_locate_SwapChain_virtual_table_
call fcn.180055d50
mov r9d, 0x10
lea r8, str.Camera_ToolKit_v1.6.3
lea rdx, str.Unable_to_locate_SwapChain_virtual_table_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, str.Error
call fcn.1800096f0
jmp 0x18000a811
lea rcx, str.Hooks:_Retrieved_present_function
call fcn.180055d90
lea r9, [rbp - 0x18]
mov edx, 2
mov r8d, 0x40
movabs rcx, 0x1422e6827
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x18]
mov edx, 6
mov r8d, 0x40
movabs rcx, 0x14093bf54
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x20]
mov edx, 6
mov r8d, 0x40
mov rcx, qword [0x1800dae90]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x18]
mov edx, 2
mov r8d, 0x40
mov rcx, qword [0x1800dae88]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x20]
mov edx, 6
mov r8d, 0x40
mov rcx, qword [0x1800daeb0]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x18]
mov edx, 4
mov r8d, 0x40
mov rcx, qword [0x1800daea0]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x20]
mov edx, 4
mov r8d, 0x40
mov rcx, qword [0x1800daea8]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x18]
mov edx, 4
mov r8d, 0x40
mov rcx, qword [0x1800dae80]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea r9, [rbp - 0x20]
mov edx, 3
mov r8d, 0x40
mov rcx, qword [0x1800dae98]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea rcx, str.Hooks:_Asm_hooks_initialized
call fcn.180055d90
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
lea r14, vtable.HookX64::Jump.0
mov qword [rbx], r14
movabs rax, 0x14163e280
mov qword [rbx + 8], rax
lea rax, [0x180006c30]
mov qword [rbx + 0x10], rax
xor esi, esi
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0x13
mov byte [rbx + 0x24], sil
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9c0], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a122
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a12b
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x1408ed1e0
mov qword [rbx + 8], rax
lea rax, [0x180006e90]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xf
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de998], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a1a7
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a1b0
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x14236bd80
mov qword [rbx + 8], rax
lea rax, [0x180007000]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xd
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9d0], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a22c
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a235
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x1411b6ee0
mov qword [rbx + 8], rax
lea rax, [0x180006c10]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xc
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9f0], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a2b1
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a2ba
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x141393120
mov qword [rbx + 8], rax
lea rax, [0x1800096b0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xf
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9c8], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a336
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a33f
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x140dbd300
mov qword [rbx + 8], rax
lea rax, [0x180009130]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xc
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9b8], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a3bb
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a3c4
lea r8, [rbp - 0x20]
call fcn.18000a860
lea r9, [rbp - 0x20]
mov edx, 5
mov r8d, 0x40
movabs rbx, 0x142bc8dbb
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movabs r15, 0x9090909090909090
mov dword [rbx], r15d
mov byte [rbx + 4], r15b
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x142bc8db0
mov qword [rbx + 8], rax
lea rax, [0x180007410]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0x10
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de980], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a473
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a47c
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x142c07900
mov qword [rbx + 8], rax
lea rax, [0x180007070]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xe
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9a8], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a4f8
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a501
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x142de9f30
mov qword [rbx + 8], rax
lea rax, [0x1800070c0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xf
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9e8], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a57d
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a586
lea r8, [rbp - 0x20]
call fcn.18000a860
lea r9, [rbp - 0x20]
mov edx, 2
mov r8d, 0x40
movabs rcx, 0x141c3d5ed
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rax, r15
movabs word [0x141c3d5ed], ax
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x141c289e0
mov qword [rbx + 8], rax
lea rax, [0x1800080e0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0x10
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de990], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a62e
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a637
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x140f135f0
mov qword [rbx + 8], rax
lea rax, [0x180008110]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xc
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de9a0], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a6b3
mov qword [rdx], rbx
add qword [0x1800debb8], 8
jmp 0x18000a6bc
lea r8, [rbp - 0x20]
call fcn.18000a860
lea r9, [rbp - 0x20]
mov edx, 1
mov r8d, 0x40
movabs rcx, 0x141804cb7
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [rdi + 0x40]
mov ecx, 0x28
call fcn.18007c480
mov rdi, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
mov qword [rdi + 0x20], rax
mov qword [rdi], r14
mov qword [rdi + 8], rbx
lea rax, [0x180009a60]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rsi
mov dword [rdi + 0x20], 0xe
mov byte [rdi + 0x24], 0
mov rcx, rdi
call fcn.180005df0
mov qword [0x1800de978], rax
mov qword [rbp - 0x20], rdi
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a751
mov qword [rdx], rdi
add qword [0x1800debb8], 8
jmp 0x18000a75a
lea r8, [rbp - 0x20]
call fcn.18000a860
mov ecx, 0x28
call fcn.18007c480
mov rbx, rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
mov qword [rbx], r14
movabs rax, 0x14242da90
mov qword [rbx + 8], rax
lea rax, [0x180009e90]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rsi
mov dword [rbx + 0x20], 0xe
mov byte [rbx + 0x24], 0
mov rcx, rbx
call fcn.180005df0
mov qword [0x1800de988], rax
mov qword [rbp - 0x20], rbx
mov rdx, qword [0x1800debb8]
cmp rdx, qword [0x1800debc0]
je 0x18000a7e0
mov qword [rdx], rbx
mov rdi, qword [0x1800debb8]
add rdi, 8
mov qword [0x1800debb8], rdi
jmp 0x18000a7f0
lea r8, [rbp - 0x20]
call fcn.18000a860
mov rdi, qword [0x1800debb8]
mov rbx, qword [0x1800debb0]
cmp rbx, rdi
je 0x18000a811
nop dword [rax]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax]
add rbx, 8
cmp rbx, rdi
jne 0x18000a800
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.18007c0e0
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rbp
ret