Function at 0x420f20
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x54]
push 0xfffffffffffffff0
mov esi, ecx
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, eax
mov eax, dword [esi + 0x110]
xor ebp, ebp
cmp eax, ebp
jne 0x420f51
mov eax, ebx
or eax, 0xcf0000
mov dword [esi + 0x110], eax
cmp dword [esp + 0x58], ebp
je 0x421259
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x44]
mov ecx, dword [0x4b5820]
sub edx, eax
mov eax, dword [0x4b5828]
sub eax, ecx
cmp edx, eax
jle 0x420fa7
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov eax, dword [0x4b581c]
sub ecx, edx
mov edx, dword [0x4b5824]
sub edx, eax
cmp ecx, edx
jg 0x4210fd
push ebp
mov ebp, dword [sym.imp.USER32.dll_SetWindowLongA]
push 0xfffffffffffffff4
push edi
call ebp
push 0
lea ecx, [esi + 0x148]
mov dword [esi + 0x114], eax
call fcn.0045c364
push 0
lea ecx, [esi + 0x1e4]
call fcn.0045c364
and ebx, 0xffb4ffff
push ebx
push 0xfffffffffffffff0
push edi
call ebp
push edi
call dword [sym.imp.USER32.dll_IsZoomed]
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
je 0x420ff5
push 9
push edi
call ebx
push 3
push edi
call ebx
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
sub ecx, eax
push 0x74
push ecx
mov ecx, dword [esp + 0x38]
add eax, 0xfffffffa
sub edx, ecx
add ecx, 0xfffffffa
push edx
push eax
push ecx
push 0
mov ecx, esi
call fcn.0045c315
mov ecx, esi
call fcn.0046bc1b
test eax, eax
je 0x421049
push 0
mov ecx, eax
call fcn.0046155f
mov eax, dword [0x4b58a0]
mov eax, dword [eax + 0x90]
sub eax, 0
je 0x421085
dec eax
jne 0x4210e2
lea edi, [esi + 0x31c]
push 0
mov ecx, edi
call fcn.004672b9
mov ecx, dword [0x4b585c]
mov edx, dword [0x4b5858]
push 0x55
push 0
push 0
push ecx
push edx
jmp 0x4210a7
lea edi, [esi + 0x3b8]
push 0
mov ecx, edi
call fcn.004672b9
mov eax, dword [0x4b585c]
mov ecx, dword [0x4b5858]
push 0x55
push 0
push 0
push eax
push ecx
push 0
mov ecx, edi
call fcn.0045c315
push 0x4ab698
mov ecx, edi
call fcn.0045c23a
mov ecx, dword [0x4b585c]
mov eax, dword [0x4b5858]
push 0x2000
push ecx
push eax
push edi
mov ecx, esi
call fcn.0046ce3d
push 0
push 1
push edi
mov ecx, esi
call fcn.0046bca7
mov edx, dword [0x4b58a0]
pop edi
pop esi
pop ebp
mov eax, dword [edx + 0x88]
pop ebx
mov dword [0x4b5630], eax
add esp, 0x40
ret 8
or ebx, dword [esi + 0x110]
push ebx
mov ebx, dword [sym.imp.USER32.dll_SetWindowLongA]
push 0xfffffffffffffff0
push edi
call ebx
cmp dword [esi + 0x114], ebp
jne 0x421139
mov ecx, dword [esi + 0x1c]
push 0xfffffffffffffff4
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
je 0x421139
mov edx, dword [esi + 0x1c]
push 0xfffffffffffffff4
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0x114]
push eax
push 0xfffffffffffffff4
push edi
call ebx
mov ecx, dword [esi + 0x164]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
push ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
call edi
test eax, eax
je 0x42117a
mov eax, dword [esi + 0x164]
lea edx, [esp + 0x30]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esi + 0x200]
mov dword [esp + 0x20], ebp
push ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
call edi
test eax, eax
je 0x4211a9
mov eax, dword [esi + 0x200]
lea edx, [esp + 0x20]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [0x4b581c]
mov edx, dword [0x4b5820]
mov eax, dword [0x4b5824]
mov dword [esp + 0x10], ecx
mov ecx, dword [0x4b5828]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.0045c1be
mov edx, dword [esi + 0x110]
push eax
push 1
lea eax, [esp + 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
sub ecx, ebx
sub edx, eax
inc ecx
push 0x76
inc edx
push ecx
push edx
push ebp
push ebp
push ebp
mov ecx, esi
call fcn.0045c315
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
sub eax, edi
sub eax, edx
push 0x76
sub eax, ecx
mov ecx, dword [esp + 0x40]
add eax, ebx
lea edx, [eax + ecx + 2]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push edx
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
push ebp
push ebp
push ebp
call fcn.0045c315
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 8
mov eax, dword [esi + 0x114]
or ebx, 0xcf0000
cmp eax, ebp
jne 0x421289
mov ecx, dword [esi + 0x1c]
mov ebp, dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xfffffffffffffff4
push ecx
call ebp
test eax, eax
je 0x421289
mov edx, dword [esi + 0x1c]
push 0xfffffffffffffff4
push edx
call ebp
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0x114]
mov ebp, dword [sym.imp.USER32.dll_SetWindowLongA]
push eax
push 0xfffffffffffffff4
push edi
call ebp
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x44]
mov ecx, dword [0x4b5820]
sub edx, eax
mov eax, dword [0x4b5828]
sub eax, ecx
cmp edx, eax
jle 0x4212e3
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov eax, dword [0x4b581c]
sub ecx, edx
mov edx, dword [0x4b5824]
sub edx, eax
cmp ecx, edx
jg 0x42130e
push 5
lea ecx, [esi + 0x148]
call fcn.0045c364
push 5
lea ecx, [esi + 0x1e4]
call fcn.0045c364
push ebx
push 0xfffffffffffffff0
push edi
call ebp
push 9
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x421348
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x30]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
sub edx, edi
sub eax, ebp
sub edx, 4
push 0x56
sub eax, 4
push edx
push eax
push 0
push 0
push 0
mov ecx, esi
call fcn.0045c315
mov ecx, dword [0x4b58a0]
mov eax, 0xa
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x90]
sub eax, 0
je 0x421395
dec eax
jne 0x4213e1
mov edx, dword [esi + 0x338]
mov ebx, dword [sym.imp.USER32.dll_GetParent]
push edx
call ebx
push eax
call fcn.004591f6
mov edi, eax
push 0
lea eax, [esi + 0x31c]
push 0
push eax
jmp 0x4213b7
mov ecx, dword [esi + 0x3d4]
mov ebx, dword [sym.imp.USER32.dll_GetParent]
push ecx
call ebx
push eax
call fcn.004591f6
push 0
lea edx, [esi + 0x3b8]
push 0
mov edi, eax
push edx
mov ecx, esi
call fcn.0046bca7
test edi, edi
je 0x4213e1
mov eax, dword [edi + 0x1c]
push eax
call ebx
push eax
call fcn.004591f6
test eax, eax
je 0x4213e1
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov dword [0x4b5858], eax
mov dword [0x4b585c], ecx
pop ebx
add esp, 0x40
ret 8