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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5e9c84
mov eax, dword fs:[0]
push eax
sub esp, 0x590
mov eax, dword [0x70b744]
xor eax, esp
mov dword [esp + 0x588], eax
push ebx
push esi
push edi
mov eax, dword [0x70b744]
xor eax, esp
push eax
lea eax, [esp + 0x5a0]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x34], edi
call fcn.004c1998
cmp eax, 6
jne 0x545929
xor esi, esi
push esi
mov dword [esp + 0x34], esi
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [esp + 0x2c], eax
push esi
mov dword [esp + 0x5ac], esi
push eax
lea esi, [esp + 0x24]
call fcn.00543c47
push ecx
lea eax, [esp + 0x20]
mov esi, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00457a01
push 0x769998
mov ecx, edi
call fcn.004ba3bc
push ecx
lea eax, [esp + 0x24]
mov esi, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00457a01
push 0x7699b4
mov ecx, edi
call fcn.004ba3bc
or dword [esp + 0x5a8], 0xffffffff
lea esi, [esp + 0x2c]
call fcn.00453741
jmp 0x545979
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call esi
push ecx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00411379
push 0x769998
mov ecx, edi
call fcn.004ba3bc
push 0x4f
call esi
push ecx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00411379
push 0x7699b4
mov ecx, edi
call fcn.004ba3bc
push dword [0x762d10]
mov ebx, 0x762d08
mov edi, ebx
lea esi, [esp + 0x28]
call fcn.00403607
push dword [0x762d0c]
lea esi, [esp + 0x20]
call fcn.00403607
push dword [esp + 0x28]
lea eax, [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x28]
push eax
call fcn.00457423
lea eax, [esp + 0x4c]
push eax
xor edi, edi
push edi
push 0x544557
push edi
push edi
call fcn.004ca46f
add esp, 0x14
test al, al
jne 0x545a04
push str.EnumDisplayMonitors___not_found__..Win32Desktop.cpp__304_
lea ecx, [esp + 0x78]
call fcn.00403e35
push eax
mov dword [esp + 0x5ac], 1
call fcn.004b9585
or dword [esp + 0x5ac], 0xffffffff
pop ecx
lea ecx, [esp + 0x74]
call fcn.00401441
mov eax, ebx
call fcn.0041cf99
cmp eax, edi
jne 0x545ab7
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x1c4], edi
mov dword [esp + 0x1c8], edi
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1d0], edi
call fcn.0041212f
lea ecx, [esp + 0x1f4]
call fcn.0041212f
mov ecx, dword [esp + 0x34]
push 0x7699b4
mov dword [esp + 0x5ac], 2
call fcn.004bb12e
mov ecx, dword [esp + 0x34]
push 0x769998
mov esi, eax
call fcn.004bb12e
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
lea esi, [esp + 0x3c]
lea edi, [esp + 0x1c4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x1c4]
push eax
movsd dword es:[edi], dword [esi]
call fcn.004572d6
or dword [esp + 0x5a8], 0xffffffff
lea esi, [esp + 0x1c4]
call fcn.0041ceff
xor edi, edi
jmp 0x545ef6
cmp eax, edi
mov dword [esp + 0x14], edi
jbe 0x545eef
push dword [esp + 0x14]
mov esi, ebx
call fcn.0041cf55
add eax, 0x10
push 0x6ad370
mov ecx, eax
call fcn.00410d6e
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], 1
mov dword [esp + 0x1c], edi
mov esi, 0x1a8
push esi
lea eax, [esp + 0x3f0]
push edi
push eax
call fcn.00522720
add esp, 0xc
lea eax, [esp + 0x38]
push eax
push edi
lea eax, [esp + 0x3f4]
push eax
push dword [esp + 0x24]
mov dword [esp + 0x3fc], esi
push dword [esp + 0x24]
mov esi, ebx
call fcn.0041cf55
sub esp, 0x1c
add eax, 0x30
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
call fcn.0041186e
lea eax, [esp + 0x7c]
push eax
call fcn.004adf6c
add esp, 0x20
mov dword [esp + 0x5b8], 3
cmp dword [eax + 0x18], 0x10
jb 0x545b5d
mov eax, dword [eax + 4]
jmp 0x545b60
add eax, 4
push eax
call fcn.004ca496
or dword [esp + 0x5bc], 0xffffffff
add esp, 0x14
push edi
push 1
lea ecx, [esp + 0x58]
call fcn.004108b7
cmp byte [0x76a6c8], 0
jne 0x545d92
push 0x3e
lea eax, [esp + 0x312]
push edi
push eax
mov word [esp + 0x318], di
call fcn.00522720
add esp, 0xc
push 0x9c
lea eax, [esp + 0x350]
push edi
push eax
call fcn.00522720
add esp, 0xc
push dword [esp + 0x14]
mov esi, ebx
mov word [esp + 0x354], 0xdc
call fcn.0041cf55
add eax, 0x30
cmp dword [eax + 0x18], 8
jb 0x545bde
mov eax, dword [eax + 4]
jmp 0x545be1
add eax, 4
lea ecx, [esp + 0x30c]
push ecx
push 0xffffffffffffffff
push eax
call dword [0x71f720]
test eax, eax
jne 0x545c75
push str._1___..Win32Desktop.cpp__337_
lea ecx, [esp + 0x78]
call fcn.00403e35
mov edi, eax
mov dword [esp + 0x5a8], 4
cmp byte [edi + 0x30], 0
je 0x545c1e
mov ecx, edi
call fcn.004070b9
call fcn.00457f98
inc dword [edi + 0x28]
mov eax, dword [edi + 0x28]
lea esi, [edi + 0x10]
cmp dword [esi], 0
je 0x545c5b
cmp eax, dword [edi + 0x2c]
jge 0x545c5b
push eax
lea eax, [esp + 0x40]
push eax
mov ecx, esi
call fcn.00406178
mov ecx, eax
call fcn.004063ae
test al, al
je 0x545c5b
inc dword [edi + 0x28]
mov eax, dword [edi + 0x28]
mov ecx, eax
cmp ecx, dword [edi + 0x2c]
jl 0x545c36
push edi
call fcn.004b9585
or dword [esp + 0x5ac], 0xffffffff
pop ecx
lea ecx, [esp + 0x74]
call fcn.00401441
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x3e
lea eax, [esp + 0x21a]
push edi
push eax
mov word [esp + 0x220], di
call fcn.00522720
add esp, 0xc
push 0x9c
lea eax, [esp + 0x258]
push edi
push eax
call fcn.00522720
add esp, 0xc
push edi
lea ecx, [esp + 0x2f4]
mov dword [esp + 0x30c], 7
call fcn.00410c09
mov dword [esp + 0x5a8], 5
push dword [esp + 0x14]
mov esi, ebx
call fcn.0041cf55
push 0xffffffffffffffff
add eax, 0x30
push edi
push eax
lea ecx, [esp + 0x2fc]
call fcn.004106e6
push 0x37
pop ecx
lea esi, [esp + 0x30c]
lea edi, [esp + 0x214]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x34]
mov edi, dword [esi + 0x948]
add esi, 0x944
test edi, edi
jne 0x545d1a
and dword [esp + 0x2c], edi
jmp 0x545d2b
mov eax, dword [esi + 0xc]
sub eax, edi
cdq
mov ecx, pe_nt_image_headers32
idiv ecx
mov dword [esp + 0x2c], eax
mov eax, esi
call fcn.004573e9
cmp eax, dword [esp + 0x2c]
jae 0x545d4f
lea eax, [esp + 0x214]
push eax
push 1
push dword [esi + 8]
call fcn.0045778d
mov dword [esi + 8], eax
jmp 0x545d78
mov eax, dword [esi + 8]
cmp edi, eax
mov dword [esp + 0x2c], eax
jbe 0x545d5f
call fcn.0051e314
push dword [esp + 0x2c]
lea eax, [esp + 0x218]
push esi
push eax
lea eax, [esp + 0x78]
push eax
mov eax, esi
call fcn.00457704
or dword [esp + 0x5a8], 0xffffffff
push 0
push 1
lea ecx, [esp + 0x2f8]
call fcn.00410779
xor edi, edi
cmp dword [esp + 0x38], edi
je 0x545da2
test byte [esp + 0x490], 1
jne 0x545db2
inc dword [esp + 0x18]
cmp dword [esp + 0x38], edi
jne 0x545aed
jmp 0x545e1f
sub esp, 0x1c
lea eax, [esp + 0x42c]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.00410b44
lea eax, [esp + 0x6c]
push eax
call fcn.004ae022
add esp, 0x20
mov dword [esp + 0x1c], eax
mov dword [esp + 0x5a8], 6
push dword [esp + 0x14]
mov esi, ebx
call fcn.0041cf55
push 0xffffffffffffffff
push edi
push dword [esp + 0x24]
add eax, 0x10
mov ecx, eax
call fcn.004106e6
or dword [esp + 0x5a8], 0xffffffff
push edi
push 1
lea ecx, [esp + 0x58]
call fcn.00410779
mov eax, dword [esp + 0x490]
mov dword [esp + 0x1c], eax
push dword [esp + 0x14]
mov esi, ebx
call fcn.0041cf55
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 4]
push dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
call fcn.0041cf55
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
push str.Monitors:__1____2____3_x_4___flags_5___..Win32Desktop.cpp__355_
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x120]
call fcn.00403e35
mov dword [esp + 0x2c], eax
mov dword [esp + 0x5a8], 7
push dword [esp + 0x14]
call fcn.0041cf55
add eax, 0x10
push eax
push dword [esp + 0x30]
call fcn.00405a7c
pop ecx
pop ecx
push dword [esp + 0x14]
mov dword [esp + 0x30], eax
call fcn.0041cf55
add eax, 0x30
push eax
push dword [esp + 0x30]
call fcn.00405a7c
pop ecx
pop ecx
lea ecx, [esp + 0x18]
push ecx
push ecx
lea ecx, [esp + 0x2c]
push ecx
call fcn.0041e85f
add esp, 4
call fcn.0041e85f
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.0041d1e8
push eax
call fcn.004b9585
or dword [esp + 0x5b4], 0xffffffff
add esp, 0xc
lea ecx, [esp + 0x11c]
call fcn.00401441
inc dword [esp + 0x14]
mov eax, ebx
call fcn.0041cf99
cmp dword [esp + 0x14], eax
jb 0x545ac3
mov byte [0x76a6c8], 1
mov eax, ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
call fcn.0041cf99
test eax, eax
jbe 0x545f4f
push edi
mov esi, ebx
call fcn.0041cf55
mov ecx, dword [esp + 0x14]
cmp dword [eax + 4], ecx
jge 0x545f27
push edi
call fcn.0041cf55
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
push edi
mov esi, ebx
call fcn.0041cf55
mov ecx, dword [esp + 0x18]
cmp dword [eax], ecx
jge 0x545f43
push edi
call fcn.0041cf55
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, ebx
inc edi
call fcn.0041cf99
cmp edi, eax
jb 0x545f09
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00411379
mov ecx, dword [esp + 0x38]
push 0x7699d0
call fcn.004ba3bc
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00411379
mov ecx, dword [esp + 0x38]
push 0x7699ec
call fcn.004ba3bc
mov ecx, dword [esp + 0x5a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x588]
xor ecx, esp
call fcn.0051d721
mov esp, ebp
pop ebp
ret