Function at 0x4432e0
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 0x443360
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 0x4433ee
lea ebp, [esp + 0x17c]
mov eax, dword [ebp]
test al, 4
je 0x4433a7
test al, 1
je 0x4433a7
mov dword [esp + 0x30], edi
test al, 8
jne 0x4433d3
lea edx, [ebp + 4]
push edx
call fcn.004421e0
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 0x4433d3
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 0x443398
test byte [esp + 0x17c], 1
mov eax, dword [esp + 0x10]
jne 0x443400
mov eax, dword [esp + 0x38]
test byte [esp + 0x324], 1
je 0x44340e
or eax, dword [esp + 0x14]
test byte [esp + 0x4cc], 1
je 0x44341c
or eax, dword [esp + 0x18]
test byte [esp + 0x674], 1
je 0x44342a
or eax, dword [esp + 0x1c]
test byte [esp + 0x81c], 1
je 0x443438
or eax, dword [esp + 0x20]
test byte [esp + 0x9c4], 1
je 0x443446
or eax, dword [esp + 0x24]
test byte [esp + 0xb6c], 1
je 0x443454
or eax, dword [esp + 0x28]
test byte [esp + 0xd14], 1
je 0x443460
or eax, esi
cmp eax, 3
jne 0x4435b4
xor esi, esi
lea edi, [esp + 0x180]
test byte [edi - 4], 1
je 0x443493
push edi
call fcn.004421e0
add esp, 4
test al, al
mov eax, dword [esp + 0x34]
jne 0x44348e
cmp eax, 2
jmp 0x443491
cmp eax, 1
je 0x44349f
inc esi
add edi, 0x1a8
cmp esi, 8
jb 0x443472
mov eax, dword [0x4900e8]
mov edi, 0x10000
test edi, eax
je 0x443508
push str.PowerXpressPreConditionCheck:_extended_desktop_across_DGPU_IGPU_n
call fcn.0040aab0
mov eax, dword [0x4900e8]
add esp, 4
test edi, eax
je 0x443508
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 0x443508
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 0x4435e2
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 0x44365e
lea edi, [esp + 0x180]
lea ebx, [ebx]
test byte [edi - 4], 8
jne 0x443641
push edi
call fcn.004421e0
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 0x443620
test byte [esp + 0x17c], 1
je 0x44366c
mov ebx, dword [esp + 0x10]
test byte [esp + 0x324], 1
je 0x44367a
or ebx, dword [esp + 0x14]
test byte [esp + 0x4cc], 1
je 0x443688
or ebx, dword [esp + 0x18]
test byte [esp + 0x674], 1
je 0x443696
or ebx, dword [esp + 0x1c]
test byte [esp + 0x81c], 1
je 0x4436a4
or ebx, dword [esp + 0x20]
test byte [esp + 0x9c4], 1
je 0x4436b2
or ebx, dword [esp + 0x24]
test byte [esp + 0xb6c], 1
je 0x4436c0
or ebx, dword [esp + 0x28]
test byte [esp + 0xd14], 1
je 0x4436cc
or ebx, esi
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xe08
ret