Function at 0x4436a0
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 0x443720
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 0x4437ae
lea ebp, [esp + 0x17c]
mov eax, dword [ebp]
test al, 4
je 0x443767
test al, 1
je 0x443767
mov dword [esp + 0x30], edi
test al, 8
jne 0x443793
lea edx, [ebp + 4]
push edx
call fcn.004425a0
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 0x443793
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 0x443758
test byte [esp + 0x17c], 1
mov eax, dword [esp + 0x10]
jne 0x4437c0
mov eax, dword [esp + 0x38]
test byte [esp + 0x324], 1
je 0x4437ce
or eax, dword [esp + 0x14]
test byte [esp + 0x4cc], 1
je 0x4437dc
or eax, dword [esp + 0x18]
test byte [esp + 0x674], 1
je 0x4437ea
or eax, dword [esp + 0x1c]
test byte [esp + 0x81c], 1
je 0x4437f8
or eax, dword [esp + 0x20]
test byte [esp + 0x9c4], 1
je 0x443806
or eax, dword [esp + 0x24]
test byte [esp + 0xb6c], 1
je 0x443814
or eax, dword [esp + 0x28]
test byte [esp + 0xd14], 1
je 0x443820
or eax, esi
cmp eax, 3
jne 0x443974
xor esi, esi
lea edi, [esp + 0x180]
test byte [edi - 4], 1
je 0x443853
push edi
call fcn.004425a0
add esp, 4
test al, al
mov eax, dword [esp + 0x34]
jne 0x44384e
cmp eax, 2
jmp 0x443851
cmp eax, 1
je 0x44385f
inc esi
add edi, 0x1a8
cmp esi, 8
jb 0x443832
mov eax, dword [0x4910e8]
mov edi, 0x10000
test edi, eax
je 0x4438c8
push str.PowerXpressPreConditionCheck:_extended_desktop_across_DGPU_IGPU_n
call fcn.0040a4a0
mov eax, dword [0x4910e8]
add esp, 4
test edi, eax
je 0x4438c8
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.0040a4a0
mov eax, dword [0x4910e8]
add esp, 8
test edi, eax
je 0x4438c8
mov ecx, esi
imul ecx, ecx, 0x1a8
lea edx, [esp + ecx + 0xdc]
push edx
push str.PowerXpressPreConditionCheck:_extended_desktop__s_n
call fcn.0040a4a0
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 0x4439a2
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 0x443a1e
lea edi, [esp + 0x180]
lea ebx, [ebx]
test byte [edi - 4], 8
jne 0x443a01
push edi
call fcn.004425a0
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 0x4439e0
test byte [esp + 0x17c], 1
je 0x443a2c
mov ebx, dword [esp + 0x10]
test byte [esp + 0x324], 1
je 0x443a3a
or ebx, dword [esp + 0x14]
test byte [esp + 0x4cc], 1
je 0x443a48
or ebx, dword [esp + 0x18]
test byte [esp + 0x674], 1
je 0x443a56
or ebx, dword [esp + 0x1c]
test byte [esp + 0x81c], 1
je 0x443a64
or ebx, dword [esp + 0x20]
test byte [esp + 0x9c4], 1
je 0x443a72
or ebx, dword [esp + 0x24]
test byte [esp + 0xb6c], 1
je 0x443a80
or ebx, dword [esp + 0x28]
test byte [esp + 0xd14], 1
je 0x443a8c
or ebx, esi
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xe08
ret