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

Disassembly:
sub esp, 0x3d4
mov eax, dword [0x47e378]
xor eax, esp
mov dword [esp + 0x3d0], eax
push ebx
push esi
mov esi, dword [esp + 0x3e0]
push edi
xor edi, edi
cmp dword [0x4805c8], edi
mov ebx, ecx
mov dword [esp + 0x14], ebx
jne 0x424897
cmp dword [esi + 0xa9fc], 5
push ebp
mov ebp, 1
jne 0x424327
mov dword [0x4805d0], ebp
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [esp + 0x14]
push eax
push 0x46cf64
push 0x15
push edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov edi, dword [sym.imp.ole32.dll_CoCreateInstance]
push 0x46d024
call edi
cmp dword [esi + 0x6a0], 2
jne 0x424417
mov eax, dword [esi + 0x694]
test al, 0xf0
mov ecx, dword [esi + 0x698]
mov edx, 3
mov dword [esi + 0x1388], eax
mov dword [esi + 0x4870], ecx
mov dword [esi + 0x6d4], eax
mov dword [esi + 0x6d8], ecx
mov dword [esi + 0xd30], eax
mov dword [esi + 0xd34], ecx
mov dword [esi + 0x1380], edx
mov dword [esi + 0x4868], edx
mov dword [esi + 0x6c8], ebp
mov dword [esi + 0xd24], ebp
je 0x4243db
cmp dword [esi + 0x1568], 0
jne 0x4243bd
mov dword [esi + 0x1568], ebp
cmp dword [esi + 0x167c], 0
jne 0x4243cc
mov dword [esi + 0x167c], ebp
cmp dword [esi + 0x161c], 0
jne 0x4243db
mov dword [esi + 0x161c], ebp
test cl, 0xf0
je 0x42440d
cmp dword [esi + 0x4a50], 0
jne 0x4243ef
mov dword [esi + 0x4a50], ebp
cmp dword [esi + 0x4b64], 0
jne 0x4243fe
mov dword [esi + 0x4b64], ebp
cmp dword [esi + 0x4b04], 0
jne 0x42440d
mov dword [esi + 0x4b04], ebp
mov dword [esi + 0x6a0], 0
cmp dword [esi + 0x6a0], ebp
jne 0x4247fe
lea ecx, [esp + 0x3d0]
push ecx
push str.Igfxsrvc.DisplayConfig
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
lea edx, [esp + 0x10]
push edx
push 0x46cf74
push 0x15
push 0
push 0x46d034
call edi
mov edi, dword [esp + 0x10]
test edi, edi
je 0x4246d6
push 0x31c
lea eax, [esp + 0xb8]
push 0
push eax
call fcn.004541e0
mov ecx, dword [edi]
mov eax, dword [ecx + 0x1c]
add esp, 0xc
lea edx, [esp + 0xb4]
push edx
push 0x31c
push edi
call eax
push 0x6c
lea ecx, [esp + 0x20]
push 0
push ecx
call fcn.004541e0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
lea ecx, [esp + 0x1c]
push ecx
push 0x6c
push eax
call edx
cmp dword [esp + 0x2c], ebp
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x5c]
jbe 0x4244d3
test ebx, ebx
jne 0x4244cb
test edi, edi
je 0x4244d3
mov ebx, edi
xor edi, edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x5c], edi
jmp 0x4244cf
test edi, edi
jne 0x4244d3
mov dword [esp + 0x2c], ebp
push 0x2c
lea eax, [esp + 0x8c]
push 0
push eax
call fcn.004541e0
mov eax, 0x100
add esp, 0xc
test dword [esp + 0xc8], eax
je 0x42453e
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x88]
push edx
push 0x2c
push eax
mov eax, dword [ecx + 0x38]
call eax
cmp dword [esp + 0x9c], ebp
je 0x424528
cmp dword [esp + 0xa0], ebp
je 0x424528
push 0
jmp 0x424529
push ebp
push 0x100
call fcn.00410ea0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x64]
add esp, 8
mov eax, 0x200
test dword [esp + 0xc8], eax
je 0x424595
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x88]
push edx
push 0x2c
push eax
mov eax, dword [ecx + 0x38]
call eax
cmp dword [esp + 0x9c], ebp
je 0x42457f
cmp dword [esp + 0xa0], ebp
je 0x42457f
push 0
jmp 0x424580
push ebp
push 0x200
call fcn.00410ea0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x64]
add esp, 8
push 0x690
lea ecx, [esi + 4]
push 0
push ecx
mov dword [esi + 0x138c], ebx
mov dword [esi + 0x4874], edi
call fcn.004541e0
xor ecx, ecx
add esp, 0xc
cmp ebx, ecx
je 0x424673
movzx edx, word [esp + 0x42]
movzx eax, word [esp + 0x40]
mov dword [esi + 0x4840], edx
movzx edx, word [esp + 0x3c]
mov dword [esi + 0x4838], edx
mov edx, dword [esp + 0x54]
mov dword [esi + 0x6a8], edx
mov edx, dword [esp + 0x58]
mov dword [esi + 0x6b4], edx
mov edx, dword [esp + 0x50]
mov dword [esi + 0x6b0], edx
mov edx, dword [esp + 0x4c]
mov dword [esi + 0x6ac], edx
mov edx, dword [esp + 0x80]
mov dword [esi + 0x6b8], edx
mov edx, dword [esp + 0x84]
mov dword [esi + 0x4834], eax
movzx eax, word [esp + 0x3e]
mov dword [esi + 0x6c4], edx
mov edx, dword [esp + 0x7c]
mov dword [esi + 0x483c], eax
mov eax, dword [esp + 0x2c]
cmp eax, 2
mov dword [esi + 0x6c0], edx
mov edx, dword [esp + 0x78]
mov dword [esi + 0x1388], ebx
mov dword [esi + 0x694], ebx
mov dword [esi + 0x698], edi
mov dword [esi + 0x69c], eax
mov dword [esi + 0x6bc], edx
jne 0x42466d
mov dword [esi + 0x1388], ebx
mov dword [esi + 0x4870], edi
mov dword [esi + 0x6d4], ebx
cmp edi, ecx
je 0x4246ab
movzx eax, word [esp + 0x6e]
movzx edx, word [esp + 0x68]
movzx ecx, word [esp + 0x6c]
mov dword [esi + 0x7d28], eax
movzx eax, word [esp + 0x6a]
mov dword [esi + 0x7d20], edx
mov dword [esi + 0x7d24], eax
mov dword [esi + 0x4870], edi
mov dword [esi + 0xd34], edi
jmp 0x4246c3
mov dword [esi + 0x7d28], ecx
mov dword [esi + 0x7d20], ecx
mov dword [esi + 0x7d24], ecx
mov dword [esi + 0x4870], ecx
mov dword [esi + 0x7d1c], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esi + 0x9c88], ecx
mov ebx, dword [esp + 0xcc]
test ebx, ebx
jbe 0x42471d
lea ecx, [esp + 0xcc]
lea edx, [esp + 0xd0]
lea edi, [esp + 0xc8]
sub ecx, esi
sub edx, esi
lea eax, [esi + 8]
sub edi, esi
nop
mov ebp, dword [ecx + eax]
mov dword [eax - 4], ebp
mov ebp, dword [edx + eax]
mov dword [eax], ebp
mov ebp, dword [edi + eax]
mov dword [eax + 4], ebp
mov ebp, 1
add eax, 0xc
sub ebx, ebp
jne 0x424700
mov eax, dword [esi + 0x1388]
mov ecx, dword [esi + 0x4870]
test ecx, ecx
mov dword [esi + 0x1404], eax
mov dword [esi + 0x1398], eax
mov dword [esi + 0x1480], eax
mov dword [esi + 0x14dc], eax
mov dword [esi + 0x177c], eax
je 0x424769
mov dword [esi + 0x48ec], ecx
mov dword [esi + 0x4880], ecx
mov dword [esi + 0x4968], ecx
mov dword [esi + 0x49c4], ecx
mov dword [esi + 0x4c64], ecx
test al, 0xf0
mov dword [esi + 0x6a0], 0
mov dword [esi + 0x1380], ebp
mov dword [esi + 0x4868], ebp
mov dword [esi + 0x1384], ebp
mov dword [esi + 0x486c], ebp
mov dword [esi + 0x6c8], ebp
mov dword [esi + 0xd24], ebp
je 0x4247c8
cmp dword [esi + 0x1568], 0
jne 0x4247aa
mov dword [esi + 0x1568], ebp
cmp dword [esi + 0x167c], 0
jne 0x4247b9
mov dword [esi + 0x167c], ebp
cmp dword [esi + 0x161c], 0
jne 0x4247c8
mov dword [esi + 0x161c], ebp
test cl, 0xf0
je 0x4247fa
cmp dword [esi + 0x4a50], 0
jne 0x4247dc
mov dword [esi + 0x4a50], ebp
cmp dword [esi + 0x4b64], 0
jne 0x4247eb
mov dword [esi + 0x4b64], ebp
cmp dword [esi + 0x4b04], 0
jne 0x4247fa
mov dword [esi + 0x4b04], ebp
mov ebx, dword [esp + 0x18]
push esi
mov ecx, ebx
call fcn.0041fb30
push esi
mov ecx, ebx
call fcn.004204f0
push esi
mov ecx, ebx
call fcn.0041e650
push esi
mov ecx, ebx
call fcn.004221d0
push esi
mov ecx, ebx
call fcn.0041f160
push esi
mov ecx, ebx
call fcn.0041e7b0
push esi
mov ecx, ebx
call fcn.0041f900
xor edi, edi
cmp dword [0x4805d0], edi
pop ebp
jne 0x424869
push esi
mov ecx, ebx
call fcn.0041e580
push esi
mov ecx, ebx
call fcn.0041e040
push esi
mov ecx, ebx
call fcn.0041e880
push esi
mov ecx, ebx
call fcn.0041ecf0
push esi
mov ecx, ebx
call fcn.0041d080
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x42487d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0xc]
cmp eax, edi
je 0x424891
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xc], edi
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x3dc]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.00454162
add esp, 0x3d4
ret 4