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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x582251
mov eax, dword fs:[0]
push eax
sub esp, 0x208
push ebx
push esi
push edi
mov eax, dword [0x67d978]
xor eax, esp
push eax
lea eax, [esp + 0x218]
mov dword fs:[0], eax
call fcn.00463055
cmp eax, 6
jne 0x485d30
xor ebx, ebx
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.00415775
mov dword [esp + 0x220], ebx
cmp dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jne 0x485d01
lea eax, [esp + 0x18]
jmp 0x485d0f
push ebx
push dword [esp + 0x24]
lea edi, [esp + 0x20]
call fcn.004853b4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
or dword [esp + 0x220], 0xffffffff
lea eax, [esp + 0x20]
push eax
call fcn.0041146e
jmp 0x485d48
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call esi
push 0x4f
mov dword [esp + 0x3c], eax
call esi
mov dword [esp + 0x3c], eax
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x220], 1
mov eax, dword [0x68bd3c]
cmp eax, ebx
je 0x485dbe
lea ecx, [esp + 0x28]
push ecx
push 0x4863e8
push ebx
push ebx
call eax
cmp eax, ebx
jne 0x485d84
push str.MonitorInfo::GetMonitorInfos__:_EnumDisplayMonitors_failed
call fcn.0042e877
cmp dword [esp + 0x2c], ebx
je 0x485d9b
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x2c]
sar eax, 3
jne 0x485e2c
push 0x170
call fcn.00536391
pop ecx
mov dword [esp + 0x40], eax
mov byte [esp + 0x220], 2
cmp eax, ebx
je 0x485dca
push eax
call fcn.00484de3
jmp 0x485dcc
push str.MonitorInfo::GetMonitorInfos__:_EnumDisplayMonitors_not_found
call fcn.00438337
jmp 0x485d84
xor eax, eax
mov byte [esp + 0x220], 1
lea ecx, [esp + 0x18]
push ecx
mov edi, eax
call fcn.00487c33
mov byte [esp + 0x220], 3
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
lea esi, [esp + 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x2c]
movsd dword es:[edi], dword [esi]
call fcn.004867ac
mov byte [esp + 0x220], 1
lea eax, [esp + 0x18]
push eax
call fcn.00405946
lea ecx, [esp + 0x4c]
call fcn.00486289
mov byte [esp + 0x220], 4
push dword [esp + 0x2c]
lea edi, [esp + 0x2c]
lea esi, [esp + 0x1c]
call fcn.0046d3df
push dword [esp + 0x30]
lea edi, [esp + 0x2c]
lea esi, [esp + 0x78]
call fcn.0046d3df
mov esi, dword [esp + 0x18]
cmp esi, ebx
je 0x485e6d
cmp esi, dword [esp + 0x74]
je 0x485e72
call fcn.00536646
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x78]
je 0x48613a
cmp esi, ebx
jne 0x485e89
call fcn.00536646
cmp edi, dword [esi + 8]
jb 0x485e93
call fcn.00536646
push edi
lea eax, [esp + 0x24]
push eax
call fcn.0041d783
mov byte [esp + 0x220], 5
mov eax, dword [esp + 0x20]
mov word [eax + 0xd8], 0xdc
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x90], 8
jb 0x485ec5
mov ecx, dword [eax + 0x7c]
jmp 0x485ec8
lea ecx, [eax + 0x7c]
add eax, 0x94
push eax
push 0xffffffffffffffff
push ecx
call dword [0x689528]
test eax, eax
jne 0x485f26
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x14], eax
push str.Could_not_read_the_current_screen_resolution:__1_
lea eax, [esp + 0xc8]
push eax
call fcn.00409f00
mov byte [esp + 0x220], 6
lea ecx, [esp + 0x14]
push ecx
mov esi, eax
call fcn.0040a170
push eax
call fcn.00401068
mov byte [esp + 0x220], 5
lea eax, [esp + 0xc4]
push eax
call fcn.00402184
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x20]
add ebx, 0x78
push ebx
lea eax, [esp + 0x5c]
push eax
lea edi, [esp + 0x54]
call fcn.0048701e
mov eax, dword [esp + 0x50]
mov dword [esp + 0x88], eax
mov eax, edi
lea edi, [esp + 0x84]
lea esi, [esp + 0x58]
mov dword [esp + 0x84], eax
call fcn.004c5408
test al, al
jne 0x485f7e
mov eax, dword [esp + 0x5c]
add eax, 0xc
mov ecx, ebx
call fcn.00417512
test eax, eax
jl 0x485f7e
mov eax, esi
jmp 0x485f95
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x7c]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x4c]
lea edi, [esp + 0x60]
lea esi, [esp + 0x44]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x60], eax
call fcn.004c5408
test al, al
jne 0x486067
mov esi, dword [esp + 0x44]
xor edi, edi
cmp esi, edi
jne 0x485fd6
call fcn.00536646
cmp ebx, dword [esi + 4]
jne 0x485fe0
call fcn.00536646
lea eax, [ebx + 0x4c]
push eax
lea ecx, [esp + 0x90]
call fcn.00414eb2
mov byte [esp + 0x220], 7
lea edx, [esp + 0x8c]
lea ecx, [esp + 0xa8]
call fcn.004639f9
mov byte [esp + 0x220], 8
mov ecx, dword [esp + 0x20]
push 0xffffffffffffffff
push edi
add ecx, 0x10
push eax
call fcn.00413799
mov byte [esp + 0x220], 7
push edi
push 1
lea ecx, [esp + 0xb0]
call fcn.0041382c
mov byte [esp + 0x220], 5
push edi
push 1
lea ecx, [esp + 0x94]
call fcn.00411efe
cmp ebx, dword [esi + 4]
jne 0x48605b
call fcn.00536646
mov eax, dword [ebx + 0xcc]
mov dword [esp + 0x14], eax
jmp 0x486078
mov ecx, dword [esp + 0x20]
add ecx, 0x10
push 0x624460
call fcn.00414331
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 4]
push str.Monitors:__1____2____3_x_4___flags_5_
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 8]
sub ecx, dword [eax]
lea eax, [esp + 0x170]
push eax
mov dword [esp + 0x48], ecx
call fcn.00409f00
mov byte [esp + 0x220], 9
lea ecx, [esp + 0x14]
push ecx
push ecx
lea ecx, [esp + 0x78]
push ecx
push ecx
lea ecx, [esp + 0x50]
push ecx
push ecx
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 0x78]
push edx
push ecx
add ecx, 0x10
push ecx
mov esi, eax
call fcn.0040a212
pop ecx
mov esi, eax
call fcn.0040a212
pop ecx
mov esi, eax
call fcn.0048e327
pop ecx
mov esi, eax
call fcn.0048e327
pop ecx
mov esi, eax
call fcn.0040a170
push eax
call fcn.00401000
mov byte [esp + 0x220], 5
lea eax, [esp + 0x16c]
push eax
call fcn.00402184
mov byte [esp + 0x220], 4
lea eax, [esp + 0x20]
push eax
call fcn.00405946
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 8]
jb 0x48612e
call fcn.00536646
add dword [esp + 0x1c], 8
xor ebx, ebx
jmp 0x485e4e
mov eax, dword [esp + 0x2c]
xor edi, edi
mov dword [esp + 0x14], edi
test eax, eax
je 0x4861d7
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jae 0x4861d7
shl esi, 3
mov ecx, dword [esi + eax]
cmp dword [ecx + 4], edi
jge 0x48618a
test eax, eax
je 0x48617b
mov ecx, dword [esp + 0x30]
sub ecx, eax
sar ecx, 3
cmp dword [esp + 0x14], ecx
jb 0x486184
call fcn.00536646
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + eax]
mov edi, dword [ecx + 4]
test eax, eax
je 0x48619d
mov ecx, dword [esp + 0x30]
sub ecx, eax
sar ecx, 3
cmp dword [esp + 0x14], ecx
jb 0x4861a6
call fcn.00536646
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + eax]
cmp dword [ecx], ebx
jge 0x4861ce
test eax, eax
je 0x4861c0
mov ecx, dword [esp + 0x30]
sub ecx, eax
sar ecx, 3
cmp dword [esp + 0x14], ecx
jb 0x4861c9
call fcn.00536646
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + eax]
mov ebx, dword [ecx]
inc dword [esp + 0x14]
jmp 0x486144
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov dword [esi + 0x34], ebx
add ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x38], edi
add edi, eax
lea eax, [esi + 0x24]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
push eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], edi
mov byte [esp + 0x4c], 0
call fcn.004072ef
mov byte [esp + 0x220], 0xa
lea eax, [esp + 0x28]
push eax
lea eax, [esi + 4]
call fcn.004866a8
mov byte [esp + 0x220], 4
lea eax, [esp + 0x44]
call fcn.00406b4a
mov byte [esp + 0x220], 1
lea eax, [esp + 0x4c]
push eax
call fcn.00486269
or dword [esp + 0x220], 0xffffffff
lea esi, [esp + 0x28]
call fcn.0044334a
mov ecx, dword [esp + 0x218]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4