Function at 0x140023e20
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
lea rax, vtable.InterfaceD3DKMT.0
xor edi, edi
mov qword [rcx], rax
mov rbx, rcx
mov dword [rcx + 8], edi
mov qword [rcx + 0x10], rdi
lea rcx, str.gdi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140023e85
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x1400240d9
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_LoadLibrary_for_Gdi32.dll_failed
mov edx, 0x8000
call fcn.140032710
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rdx, str.D3DKMTCloseAdapter
mov qword [rbx + 0x18], rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x140023ebf
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140023ebf
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTCloseAdapter_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, str.D3DKMTEnumAdapters
mov qword [rbx + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x140023efa
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140023efa
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTEnumAdapters_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, str.D3DKMTEscape
mov qword [rbx + 0x28], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
test rax, rax
jne 0x140023f35
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140023f35
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTEscape_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, str.D3DKMTInvalidateActiveVidPn
mov qword [rbx + 0x30], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
test rax, rax
jne 0x140023f70
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140023f70
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_m_pfnD3DKMTInvalidateActiveVidPn_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, str.D3DKMTOpenAdapterFromDeviceName
mov qword [rbx + 0x38], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x38], rax
test rax, rax
jne 0x140023fab
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140023fab
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromDeviceName_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, str.D3DKMTOpenAdapterFromHdc
mov qword [rbx + 0x40], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x40], rax
test rax, rax
jne 0x140023fe6
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140023fe6
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromHdc_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, str.D3DKMTOpenAdapterFromGdiDisplayName
mov qword [rbx + 0x48], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x48], rax
test rax, rax
jne 0x140024021
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140024021
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromGdiDisplayName_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, str.D3DKMTOpenAdapterFromLuid
mov qword [rbx + 0x50], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x50], rax
test rax, rax
jne 0x14002405c
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x14002405c
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromLuid_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, [0x140095198]
mov qword [rbx + 0x58], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x58], rax
test rax, rax
jne 0x140024097
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x140024097
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTPollDisplayChildren_failed
mov edx, 0x8000
call fcn.140032710
mov rcx, qword [rbx + 0x10]
lea rdx, [0x140095218]
mov qword [rbx + 0x60], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x60], rax
test rax, rax
jne 0x1400240d2
mov rcx, qword [0x1400b80b8]
test rcx, rcx
je 0x1400240d2
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTQueryAdapterInfo_failed
mov edx, 0x8000
call fcn.140032710
mov dword [rbx + 8], 1
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret