Function at 0x57e8b0
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ce38d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
push ebx
push esi
push edi
xor edi, edi
push edi
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0xc
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push edi
mov dword [esp + 0x14], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp + 0xc]
push 2
push eax
mov dword [esp + 0xc8], 0x48
call dword [sym.imp.USER32.dll_MonitorFromWindow]
mov ecx, dword [ebp + 8]
lea edx, [esp + 0xc0]
push edx
push eax
mov dword [ecx + 0xa4], eax
call dword [sym.imp.USER32.dll_GetMonitorInfoA]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
push 0x9c
lea eax, [esp + 0x24]
push edi
push eax
mov dword [esp + 0x120], edi
xor esi, esi
call fcn.0052e6e0
mov ebx, dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
add esp, 0xc
lea edx, [esp + 0x20]
push edx
push edi
lea eax, [esp + 0xf0]
mov ecx, 0x9c
push eax
mov word [esp + 0x50], cx
call ebx
test eax, eax
je 0x57ea01
mov ecx, dword [ebp + 0x10]
cmp dword [esp + 0x8c], ecx
jb 0x57e9b6
mov edx, dword [ebp + 0x14]
cmp dword [esp + 0x90], edx
jb 0x57e9b6
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x88], eax
jne 0x57e9b6
mov eax, dword [ebp + 0x18]
cmp eax, edi
je 0x57e9a8
cmp dword [esp + 0x98], eax
jne 0x57e9b6
lea ecx, [esp + 0x10]
push ecx
lea eax, [esp + 0x24]
call fcn.00425960
push 0x9c
lea edx, [esp + 0x24]
push edi
push edx
inc esi
call fcn.0052e6e0
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
push esi
lea edx, [esp + 0xf0]
mov eax, 0x9c
push edx
mov word [esp + 0x50], ax
call ebx
test eax, eax
jne 0x57e973
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp edi, eax
jne 0x57ea1a
test edi, edi
je 0x57ea01
push edi
call fcn.0052d217
add esp, 4
xor al, al
mov ecx, dword [esp + 0x10c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
sub eax, edi
mov ecx, eax
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
or ebx, 0xffffffff
add ecx, edx
je 0x57ea78
lea eax, [edi + 0x6c]
mov edx, ecx
jmp 0x57ea40
test ebx, ebx
js 0x57ea53
mov ecx, dword [eax + 4]
sub ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0x14]
add ecx, dword [eax]
cmp ebx, ecx
jle 0x57ea70
mov ebx, dword [eax + 4]
sub ebx, dword [ebp + 0x10]
lea esi, [eax - 0x6c]
sub ebx, dword [ebp + 0x14]
mov ecx, 0x27
add ebx, dword [eax]
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x10]
add eax, 0x9c
dec edx
jne 0x57ea40
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0xb0]
mov eax, dword [ecx]
lea esi, [ebx + 0xb0]
mov dword [ecx], ecx
mov ecx, dword [esi]
mov dword [ecx + 4], ecx
mov dword [esi + 4], 0
cmp eax, dword [esi]
je 0x57eab4
jmp 0x57eaa0
mov ebx, dword [eax]
push eax
call fcn.0052d217
add esp, 4
mov eax, ebx
cmp ebx, dword [esi]
jne 0x57eaa0
mov ebx, dword [ebp + 8]
push esi
push 0x57e680
call dword [sym.imp.USER32.dll_EnumWindows]
push 0
push 4
push 0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0xf8]
push eax
call dword [sym.imp.USER32.dll_ChangeDisplaySettingsExA]
mov edx, dword [ebx + 0xc0]
mov eax, dword [edx + 4]
lea ecx, [ebx + 0xc0]
call eax
mov byte [ebx + 0xbc], 1
test edi, edi
je 0x57eafe
push edi
call fcn.0052d217
add esp, 4
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14