Function at 0x442ae0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x460
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
mov eax, dword [esi + 0xe4]
cmp eax, ebp
jne 0x442b05
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret
lea ecx, [eax + 0x20]
lea edx, [esp + 0x24]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov eax, dword [esi + 0xe4]
lea edx, [esp + 0x38]
push edx
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
cmp ecx, 3
je 0x442b49
cmp ecx, 2
je 0x442b49
cmp eax, ebp
jne 0x442b49
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret
xor ecx, ecx
cmp eax, ebp
sete cl
mov eax, ecx
lea edx, [esp + 0x28]
mov dword [esp + 0x24], eax
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 4]
push edx
push eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
sub eax, ecx
mov dword [esp + 0x128], 0x348
cdq
sub eax, edx
mov word [esp + 0x90], 0xdc
mov edi, eax
mov eax, dword [esp + 0x34]
sar edi, 1
add edi, ecx
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov word [esp + 0x92], bp
cdq
sub eax, edx
mov dword [esp + 0x94], 0x180020
mov ebx, eax
mov dword [esp + 0x10], ebp
sar ebx, 1
add ebx, ecx
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x128]
push ebp
push ecx
push edx
push ebp
call dword [sym.imp.USER32.dll_EnumDisplayDevicesW]
cmp eax, ebp
je 0x442c62
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x12c]
push eax
push 0xffffffffffffffff
push ecx
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
je 0x442c50
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], eax
add edx, eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], ecx
add eax, ecx
push ebx
lea ecx, [esp + 0x18]
push edi
push ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x442c62
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0xa
mov dword [esp + 0x10], eax
jl 0x442bdd
mov al, byte [0x52511c]
test al, 1
jne 0x442c9b
mov dl, al
push 0x443060
or dl, 1
mov dword [0x524ef8], ebp
mov byte [0x52511c], dl
mov dword [0x524efc], ebp
mov dword [0x524f00], ebp
mov dword [0x524f04], ebp
call fcn.004df638
add esp, 4
cmp dword [esp + 0x24], ebp
je 0x442e96
mov edx, dword [esi + 0xe4]
push 0x524ef8
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_ScreenToClient]
push 0x524ef8
push ecx
call edi
test eax, eax
je 0x442cda
mov edx, dword [esi + 4]
push 0x524f00
push edx
call edi
mov eax, dword [esi + 0xe4]
mov edi, dword [sym.imp.USER32.dll_GetWindowLongW]
add eax, 4
push 0xfffffffffffffff0
mov eax, dword [eax]
push eax
call edi
mov ecx, dword [esi + 0xe4]
mov ebx, dword [sym.imp.USER32.dll_SetWindowLongW]
or eax, 0xb700ffff
mov edx, dword [ecx + 4]
push eax
push 0xfffffffffffffff0
push edx
call ebx
mov eax, dword [esi + 0xe4]
push 0xffffffffffffffec
add eax, 4
mov eax, dword [eax]
push eax
call edi
mov ecx, dword [esi + 0xe4]
or al, 0x80
push eax
push 0xffffffffffffffec
mov edx, dword [ecx + 4]
push edx
call ebx
mov eax, dword [esi + 0xe4]
mov edi, dword [sym.imp.USER32.dll_SetParent]
push ebp
mov ecx, dword [eax + 4]
push ecx
call edi
mov ecx, dword [esi + 0xe4]
push 1
add ecx, 0x20
mov edx, dword [ecx]
call dword [edx + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
sub ecx, eax
push ebp
push ecx
mov ecx, dword [esp + 0x1c]
mov ebx, dword [sym.imp.USER32.dll_SetWindowPos]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0xe4]
push ecx
push 0xffffffffffffffff
mov ecx, dword [eax + 4]
push ecx
call ebx
mov ecx, dword [esi + 0x100]
cmp ecx, ebp
je 0x442e67
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x48], edx
call fcn.00410440
mov ecx, dword [esi + 0xe4]
mov eax, dword [esi + 0x100]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 4]
push edx
push ecx
call edi
mov edx, dword [esi + 0x100]
push 0
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 0x100]
call fcn.0040f7c0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
sub edx, eax
push 0
push edx
mov edx, dword [esp + 0x24]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0x100]
push ecx
push 0
mov ecx, dword [eax + 4]
push ecx
call ebx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0xe4]
sub edx, eax
add ecx, 0x20
add ebp, edx
lea edx, [esp + 0x10]
mov eax, dword [ecx]
push edx
call dword [eax + 0x7c]
mov eax, dword [esp + 0x10]
cmp eax, 0x13
je 0x442e3c
cmp eax, 0x14
jne 0x442e65
mov ecx, dword [esp + 0x3c]
push 1
mov edx, dword [esp + 0x44]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xe4]
mov dword [eax + 0xc], ebp
call fcn.00424310
xor ebp, ebp
cmp dword [0x525d90], 0x20e
jne 0x442e7b
push ebp
mov ecx, esi
call fcn.00443070
mov ecx, dword [esi + 0xe4]
call fcn.00424650
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x460
ret
mov eax, dword [esi + 0xe4]
push 0xfffffffffffffff0
add eax, 4
mov edx, dword [eax]
push edx
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0x3fffffff
or eax, 0x40000000
push eax
mov eax, dword [esi + 0xe4]
push 0xfffffffffffffff0
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov eax, dword [esi + 0xe4]
mov edx, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_SetParent]
push edx
mov ecx, dword [eax + 4]
push ecx
call edi
mov eax, dword [0x524efc]
mov edx, dword [0x524f04]
mov ecx, dword [0x524ef8]
sub edx, eax
push ebp
push edx
mov edx, dword [0x524f00]
mov ebx, dword [sym.imp.USER32.dll_SetWindowPos]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0xe4]
push ecx
push 0xfffffffffffffffe
mov ecx, dword [eax + 4]
push ecx
call ebx
mov ecx, dword [esi + 0xe4]
push ebp
add ecx, 0x20
mov edx, dword [ecx]
call dword [edx + 0x20]
mov eax, dword [0x524efc]
mov ecx, dword [0x524f04]
mov edx, dword [0x524f00]
sub ecx, eax
push 1
push ecx
mov ecx, dword [0x524ef8]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0xe4]
push ecx
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [esi + 0xe4]
lea eax, [esp + 0x10]
add ecx, 0x20
push eax
mov edx, dword [ecx]
call dword [edx + 0x7c]
mov eax, dword [esp + 0x10]
cmp eax, 0x13
je 0x442f72
cmp eax, 0x14
jne 0x442fa4
mov edx, dword [0x524ef8]
push ebp
mov eax, dword [0x524efc]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [0x524f00]
mov dword [ecx + 4], eax
mov eax, dword [0x524f04]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, dword [esi + 0xe4]
call fcn.00424310
mov ecx, dword [esi + 4]
push 0x524ef8
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esi + 0x100]
cmp eax, ebp
je 0x443027
mov edx, dword [esi + 4]
mov eax, dword [eax + 4]
push edx
push eax
call edi
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esi + 0x100]
call fcn.00410440
mov edx, dword [esi + 0x100]
push 5
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x100]
push 0x524ef8
call fcn.0040f7c0
mov eax, dword [0x524efc]
mov ecx, dword [0x524f04]
mov edx, dword [0x524f00]
sub ecx, eax
push ebp
push ecx
mov ecx, dword [0x524ef8]
sub edx, ecx
push edx
push eax
mov eax, dword [esi + 0x100]
push ecx
push 1
mov ecx, dword [eax + 4]
push ecx
call ebx
cmp dword [0x525d90], 0x20e
jne 0x44303c
push 1
mov ecx, esi
call fcn.00443070
mov ecx, dword [esi + 0xe4]
call fcn.00424650
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x460
ret