Function at 0x40ec40
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push edi
mov dword [ebp - 4], 0
mov dword [ebp - 8], 1
mov ecx, 0x10
xor eax, eax
mov edi, 0x429b20
rep stosd dword es:[edi], eax
push str.gdi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40ec7e
xor eax, eax
jmp 0x40ee46
push str.D3DKMTCreateAllocation
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b20], eax
push str.D3DKMTQueryResourceInfo
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b24], eax
push str.D3DKMTOpenResource
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b28], eax
push str.D3DKMTDestroyAllocation
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b2c], eax
push str.D3DKMTSetAllocationPriority
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b30], eax
push str.D3DKMTQueryAllocationResidency
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b34], eax
push str.D3DKMTCreateDevice
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b38], eax
push str.D3DKMTDestroyDevice
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b3c], eax
push str.D3DKMTQueryAdapterInfo
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b40], eax
push str.D3DKMTLock
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b44], eax
push str.D3DKMTUnlock
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b48], eax
push str.D3DKMTRender
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b4c], eax
push str.D3DKMTOpenAdapterFromHdc
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b50], eax
push str.D3DKMTGetSharedPrimaryHandle
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b54], eax
push str.D3DKMTEscape
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b58], eax
push str.D3DKMTCloseAdapter
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429b5c], eax
cmp dword [0x429b20], 0
je 0x40ee3c
cmp dword [0x429b24], 0
je 0x40ee3c
cmp dword [0x429b28], 0
je 0x40ee3c
cmp dword [0x429b2c], 0
je 0x40ee3c
cmp dword [0x429b38], 0
je 0x40ee3c
cmp dword [0x429b3c], 0
je 0x40ee3c
cmp dword [0x429b40], 0
je 0x40ee3c
cmp dword [0x429b44], 0
je 0x40ee3c
cmp dword [0x429b48], 0
je 0x40ee3c
cmp dword [0x429b4c], 0
je 0x40ee3c
cmp dword [0x429b50], 0
je 0x40ee3c
cmp dword [0x429b54], 0
je 0x40ee3c
cmp dword [0x429b58], 0
je 0x40ee3c
cmp dword [0x429b5c], 0
jne 0x40ee43
mov dword [ebp - 8], 0
mov eax, dword [ebp - 8]
pop edi
mov esp, ebp
pop ebp
ret