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

Disassembly:
sub esp, 0x5c
mov eax, dword [esp + 0x6c]
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ebp, dword [esp + 0x78]
push esi
mov dword [eax], 1
mov eax, dword [esp + 0x74]
push edi
xor edi, edi
cmp eax, edi
mov dword [ebp], edi
mov dword [esp + 0x28], ecx
mov dword [ebx], edi
mov dword [esp + 0x10], 0xffffffff
je 0x417c58
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x70]
cmp esi, 1
ja 0x417f2c
cmp dword [esp + 0x74], edi
je 0x417f2c
push esi
add ecx, 0x2c
call fcn.00432070
mov edx, dword [esp + 0x74]
lea ecx, [esi + esi*8]
mov dword [esp + 0x1c], eax
lea eax, [edx + ecx*8]
mov ecx, dword [eax + 0x12c]
mov dword [ebp], ecx
mov edx, dword [eax + 0x130]
mov dword [ebx], edx
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x84], ecx
jmp 0x417cf0
mov eax, dword [esp + 0x2c]
jmp 0x417cf0
mov edx, 1
shl edx, cl
test dword [eax + 0x114], edx
je 0x417ef1
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x80], edi
call fcn.004372c0
test eax, eax
jbe 0x417ef1
mov edx, dword [esp + 0x84]
lea ecx, [esi + esi*8]
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x74]
lea edx, [ecx + eax*4 + 0x118]
xor esi, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x88], esi
jmp 0x417d50
mov ecx, dword [esp + 0x80]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x30]
test dword [ecx], eax
je 0x417ebb
mov edx, dword [esp + 0x10]
test edx, eax
je 0x417ebb
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x18]
push edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [esp + 0x28]
push eax
mov eax, dword [ebp]
push edx
push eax
push ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
call fcn.00422d00
add esp, 0x1c
test eax, eax
jne 0x417dfb
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x417ebb
mov ecx, dword [esp + 0x18]
cmp ecx, edi
je 0x417ebb
mov edx, dword [ebp]
cmp edx, eax
jbe 0x417de0
mov edx, dword [esp + 0x7c]
mov dword [ebp], eax
mov dword [ebx], ecx
mov dword [esp + esi + 0x34], eax
mov dword [esp + esi + 0x50], ecx
mov dword [edx], edi
jmp 0x417ebb
jne 0x417de8
cmp dword [ebx], ecx
jbe 0x417de8
mov dword [ebx], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + esi + 0x34], eax
mov dword [esp + esi + 0x50], ecx
mov dword [edx], edi
jmp 0x417ebb
mov dword [esp + 0x78], edi
nop
mov eax, dword [esp + 0x88]
xor esi, esi
cmp eax, edi
jbe 0x417ea2
mov ecx, dword [esp + esi*4 + 0x34]
cmp ecx, edi
je 0x417e92
mov edx, dword [esp + esi*4 + 0x50]
cmp edx, edi
je 0x417e92
mov eax, dword [ebp]
cmp ecx, eax
jne 0x417e2c
cmp edx, dword [ebx]
je 0x417e92
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x24]
push edx
push ecx
mov ecx, esi
mov edx, 1
shl edx, cl
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
push edx
push eax
push eax
mov eax, dword [esp + 0x34]
push eax
call fcn.00422d00
add esp, 0x1c
test eax, eax
jne 0x417e92
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x417e92
mov ecx, dword [esp + 0x24]
cmp ecx, edi
je 0x417e92
mov edx, dword [ebp]
cmp edx, eax
jbe 0x417e7c
mov dword [ebp], eax
jmp 0x417e82
jne 0x417e84
cmp dword [ebx], ecx
jbe 0x417e84
mov dword [ebx], ecx
mov dword [esp + esi*4 + 0x50], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + esi*4 + 0x34], eax
mov dword [ecx], edi
mov eax, dword [esp + 0x80]
inc esi
cmp esi, eax
jb 0x417e11
mov eax, dword [esp + 0x78]
inc eax
cmp eax, 2
mov dword [esp + 0x78], eax
jb 0x417e00
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0xc]
inc eax
add esi, 4
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], esi
call fcn.004372c0
cmp dword [esp + 0x80], eax
jb 0x417d50
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
inc ecx
cmp ecx, 2
mov dword [esp + 0x84], ecx
jb 0x417ce0
mov eax, dword [ebx]
mov ecx, dword [ebp]
push eax
push ecx
push str.CAutoDisplay::CheckModeSupported__ulBestSupportedWidth_d__ulBestSupportedHeight_d_n
call fcn.0040aab0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret 0x1c
push str.CAutoDisplay.:CheckModeSupported.__ERROR_.n___1___pDIDeviceprofile__n
call fcn.0040aab0
mov edx, dword [esp + 0x8c]
add esp, 4
pop edi
pop esi
pop ebp
mov dword [edx], 9
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x1c