Function at 0x1800399c0
Capabilities:
Enumerate gui resources
Register raw input devices

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rdi, rcx
call fcn.18000cfd0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor esi, esi
lea rdx, [rsp + 0x20]
lea rcx, [0x18003b230]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], rsi
call qword [sym.imp.USER32.dll_EnumWindows]
mov rdx, qword [rsp + 0x28]
mov qword [rbx + 0xa8], rdx
call fcn.18003bea0
lea r9, [0x180096740]
lea r8, [0x18000e1a0]
lea rdx, [0x180080850]
lea rcx, str.xinput1_3
call fcn.18003be10
test eax, eax
je 0x180039a47
call fcn.1800017d0
lea rdx, str.Hooking_XInput1_3_failed_
mov rcx, rax
call fcn.1800107d0
call fcn.1800017d0
lea r9, [0x180096748]
lea r8, [0x18000e200]
lea rdx, str.GetMessageA
lea rcx, str.user32
call fcn.18003be10
test eax, eax
je 0x180039a85
call fcn.1800017d0
lea rdx, str.Hooking_GetMessageA_failed_
mov rcx, rax
call fcn.1800107d0
call fcn.1800017d0
lea r9, [0x180096750]
lea r8, [0x18000e230]
lea rdx, str.GetMessageW
lea rcx, str.user32
call fcn.18003be10
test eax, eax
je 0x180039ac3
call fcn.1800017d0
lea rdx, str.Hooking_GetMessageW_failed_
mov rcx, rax
call fcn.1800107d0
call fcn.1800017d0
lea r9, [0x180096758]
lea r8, [0x18000e260]
lea rdx, str.PeekMessageA
lea rcx, str.user32
call fcn.18003be10
test eax, eax
je 0x180039b01
call fcn.1800017d0
lea rdx, str.Hooking_PeekMessageA_failed_
mov rcx, rax
call fcn.1800107d0
call fcn.1800017d0
lea r9, [0x180096760]
lea r8, [0x18000e2a0]
lea rdx, str.PeekMessageW
lea rcx, str.user32
call fcn.18003be10
test eax, eax
je 0x180039b3f
call fcn.1800017d0
lea rdx, str.Hooking_PeekMessageW_failed_
mov rcx, rax
call fcn.1800107d0
call fcn.1800017d0
xor ecx, ecx
call fcn.18003be90
test eax, eax
jne 0x180039b65
call fcn.1800017d0
lea rdx, str.All_hooks_enabled.
mov rcx, rax
call fcn.180010920
jmp 0x180039b79
call fcn.1800017d0
lea rdx, str.Enabling_hooks_failed.
mov rcx, rax
call fcn.1800107d0
call fcn.18003a340
mov ebx, 1
mov qword [rsp + 0x20], 0x20001
call fcn.18000cfd0
lea r8d, [rbx + 0xf]
mov edx, ebx
mov rcx, qword [rax + 0xa8]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_RegisterRawInputDevices]
test eax, eax
jne 0x180039bd4
call fcn.1800017d0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Couldnt_register_raw_input._Error_code:__010x
mov rcx, rbx
mov r8d, eax
call fcn.1800107d0
jmp 0x180039bd9
call fcn.1800017d0
mov edx, dword [rdi + 0x28]
lea r8, [rdi + 0x30]
mov rcx, qword [rdi + 0x20]
call fcn.18000e390
lea rcx, [rdi + 0x30]
call fcn.18000f580
call fcn.1800017d0
lea rdx, str.Waiting_for_camera_struct_interception...
mov rcx, rax
call fcn.180010920
cmp qword [0x180092ed0], rsi
jne 0x180039c2c
nop
mov rcx, rdi
call fcn.180038740
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [0x180092ed0], rsi
je 0x180039c10
mov eax, dword [0x180083240]
lea rcx, [rsp + 0x20]
movsd xmm0, qword [str.Camera_found.]
mov dword [rsp + 0x28], eax
movzx eax, byte [0x180083244]
mov byte [rsp + 0x2c], al
mov word [rsp + 0x2e], si
mov qword [rsp + 0x30], 0xd
mov qword [rsp + 0x38], 0xf
movsd qword [rsp + 0x20], xmm0
mov byte [rsp + 0x2d], sil
call fcn.180011090
call fcn.1800017d0
mov r8, qword [0x180092ed0]
lea rdx, str.Camera_struct_address:__p
mov rcx, rax
call fcn.1800107c0
lea rcx, [rdi + 0x30]
call fcn.18000f760
mov rbx, qword [rsp + 0x58]
mov byte [rdi + 0x2d], 1
mov qword [rdi + 0x10], rsi
mov dword [rdi + 0xc], esi
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret