Function at 0x442de0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xe08
xor eax, eax
mov dword [esp + 0x2d], eax
mov dword [esp + 0x31], eax
mov dword [esp + 0x35], eax
mov dword [esp + 0x39], eax
mov dword [esp + 0x3d], eax
mov dword [esp + 0x41], eax
push ebx
mov dword [esp + 0x49], eax
push ebp
mov word [esp + 0x51], ax
xor ebx, ebx
push esi
xor esi, esi
push edi
mov ecx, 0x1f
lea edi, [esp + 0x5c]
mov byte [esp + 0x3c], bl
mov byte [esp + 0x5b], al
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
rep stosd dword es:[edi], eax
lea edx, [esp + 0xd8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov ebp, 8
lea esp, [esp]
xor eax, eax
mov edi, edx
mov ecx, 0x6a
rep stosd dword es:[edi], eax
mov dword [edx], 0x1a8
add edx, 0x1a8
dec ebp
jne 0x442e60
push ebx
lea ecx, [esp + 0xdc]
push ecx
push ebx
push ebx
xor edi, edi
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x442eee
lea ebp, [esp + 0x17c]
mov eax, dword [ebp]
test al, 4
je 0x442ea7
test al, 1
je 0x442ea7
mov dword [esp + 0x30], edi
test al, 8
jne 0x442ed3
lea edx, [ebp + 4]
push edx
call fcn.00441ce0
xor ecx, ecx
add esp, 4
test al, al
setne cl
inc ecx
mov eax, ecx
cmp edi, dword [esp + 0x30]
mov dword [esp + edi*4 + 0x10], eax
mov esi, dword [esp + 0x2c]
jne 0x442ed3
mov dword [esp + 0x34], eax
push ebx
add ebp, 0x1a8
lea edx, [ebp - 0xa4]
push edx
inc edi
push edi
push ebx
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
jne 0x442e98
test byte [esp + 0x17c], 1
mov eax, dword [esp + 0x10]
jne 0x442f00
mov eax, dword [esp + 0x38]
test byte [esp + 0x324], 1
je 0x442f0e
or eax, dword [esp + 0x14]
test byte [esp + 0x4cc], 1
je 0x442f1c
or eax, dword [esp + 0x18]
test byte [esp + 0x674], 1
je 0x442f2a
or eax, dword [esp + 0x1c]
test byte [esp + 0x81c], 1
je 0x442f38
or eax, dword [esp + 0x20]
test byte [esp + 0x9c4], 1
je 0x442f46
or eax, dword [esp + 0x24]
test byte [esp + 0xb6c], 1
je 0x442f54
or eax, dword [esp + 0x28]
test byte [esp + 0xd14], 1
je 0x442f60
or eax, esi
cmp eax, 3
jne 0x4430b4
xor esi, esi
lea edi, [esp + 0x180]
test byte [edi - 4], 1
je 0x442f93
push edi
call fcn.00441ce0
add esp, 4
test al, al
mov eax, dword [esp + 0x34]
jne 0x442f8e
cmp eax, 2
jmp 0x442f91
cmp eax, 1
je 0x442f9f
inc esi
add edi, 0x1a8
cmp esi, 8
jb 0x442f72
mov eax, dword [0x4900e8]
mov edi, 0x10000
test edi, eax
je 0x443008
push str.PowerXpressPreConditionCheck:_extended_desktop_across_DGPU_IGPU_n
call fcn.0040aab0
mov eax, dword [0x4900e8]
add esp, 4
test edi, eax
je 0x443008
mov eax, dword [esp + 0x30]
imul eax, eax, 0x1a8
lea eax, [esp + eax + 0xdc]
push eax
push str.PowerXpressPreConditionCheck:_primary__desktop__s_n
call fcn.0040aab0
mov eax, dword [0x4900e8]
add esp, 8
test edi, eax
je 0x443008
mov ecx, esi
imul ecx, ecx, 0x1a8
lea edx, [esp + ecx + 0xdc]
push edx
push str.PowerXpressPreConditionCheck:_extended_desktop__s_n
call fcn.0040aab0
add esp, 8
imul esi, esi, 0x1a8
lea eax, [esp + 0x3c]
push eax
push 0xffffffffffffffff
lea esi, [esp + esi + 0xe4]
push esi
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
mov edi, dword [sym.imp.USER32.dll_ChangeDisplaySettingsExA]
push ebx
push 2
push ebx
lea ecx, [esp + 0x48]
push ecx
mov ebp, 0x7c00a0
push esi
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
call edi
push ebx
push 0x10000001
push ebx
lea edx, [esp + 0x48]
push edx
push esi
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
call edi
push ebx
push ebx
push ebx
push ebx
push ebx
call edi
xor esi, esi
lea edx, [esp + 0xd8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov ebp, 8
xor eax, eax
mov edi, edx
mov ecx, 0x6a
rep stosd dword es:[edi], eax
mov dword [edx], 0x1a8
add edx, 0x1a8
dec ebp
jne 0x4430e2
xor ebp, ebp
push ebp
lea eax, [esp + 0xdc]
push eax
push ebp
push ebp
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
je 0x44315e
lea edi, [esp + 0x180]
lea ebx, [ebx]
test byte [edi - 4], 8
jne 0x443141
push edi
call fcn.00441ce0
xor ecx, ecx
add esp, 4
test al, al
setne cl
inc ecx
mov eax, ecx
mov dword [esp + ebp*4 + 0x10], eax
mov esi, dword [esp + 0x2c]
push 0
add edi, 0x1a8
lea edx, [edi - 0xa8]
push edx
inc ebp
push ebp
push 0
call dword [sym.imp.USER32.dll_EnumDisplayDevicesA]
test eax, eax
jne 0x443120
test byte [esp + 0x17c], 1
je 0x44316c
mov ebx, dword [esp + 0x10]
test byte [esp + 0x324], 1
je 0x44317a
or ebx, dword [esp + 0x14]
test byte [esp + 0x4cc], 1
je 0x443188
or ebx, dword [esp + 0x18]
test byte [esp + 0x674], 1
je 0x443196
or ebx, dword [esp + 0x1c]
test byte [esp + 0x81c], 1
je 0x4431a4
or ebx, dword [esp + 0x20]
test byte [esp + 0x9c4], 1
je 0x4431b2
or ebx, dword [esp + 0x24]
test byte [esp + 0xb6c], 1
je 0x4431c0
or ebx, dword [esp + 0x28]
test byte [esp + 0xd14], 1
je 0x4431cc
or ebx, esi
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xe08
ret