Function at 0x140023bd0
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 0x140023c35
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023e89
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_LoadLibrary_for_Gdi32.dll_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023c6f
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023c6f
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTCloseAdapter_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023caa
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023caa
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTEnumAdapters_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023ce5
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023ce5
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTEscape_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023d20
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023d20
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_m_pfnD3DKMTInvalidateActiveVidPn_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023d5b
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023d5b
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromDeviceName_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023d96
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023d96
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromHdc_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023dd1
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023dd1
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromGdiDisplayName_failed
mov edx, 0x8000
call fcn.14002ffd0
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 0x140023e0c
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023e0c
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTOpenAdapterFromLuid_failed
mov edx, 0x8000
call fcn.14002ffd0
mov rcx, qword [rbx + 0x10]
lea rdx, [0x140092108]
mov qword [rbx + 0x58], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x58], rax
test rax, rax
jne 0x140023e47
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023e47
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTPollDisplayChildren_failed
mov edx, 0x8000
call fcn.14002ffd0
mov rcx, qword [rbx + 0x10]
lea rdx, [0x140092188]
mov qword [rbx + 0x60], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x60], rax
test rax, rax
jne 0x140023e82
mov rcx, qword [0x1400b5090]
test rcx, rcx
je 0x140023e82
lea r8, str.InterfaceD3DKMT::InterfaceD3DKMT_GetProcAddress_for_D3DKMTQueryAdapterInfo_failed
mov edx, 0x8000
call fcn.14002ffd0
mov dword [rbx + 8], 1
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret