Function at 0x40fe45
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffb0
push dword [0x56cee8]
call sub.USER32.dll_IsIconic
test eax, eax
je 0x40fed2
mov dword [esp + 0x14], 0x2c
lea eax, [esp + 0x14]
push eax
push dword [0x56cee8]
call sub.USER32.dll_GetWindowPlacement
test byte [esp + 0x18], 2
jne 0x410502
xor edx, edx
mov dword [esp + 0x44], edx
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x38]
sub edx, dword [esp + 0x30]
mov dword [esp + 0x48], edx
push 0x20
call fcn.00520172
add eax, eax
sub dword [esp + 0x48], eax
push 0x21
call fcn.00520172
mov ebx, eax
add ebx, ebx
push 4
call fcn.00520172
add ebx, eax
push 0xf
call fcn.00520172
add ebx, eax
sub dword [esp + 0x4c], ebx
jmp 0x40fee2
lea eax, [esp + 0x40]
push eax
push dword [0x56cee8]
call sub.USER32.dll_GetClientRect
xor edx, edx
mov dword [esp + 0xc], edx
mov edi, edx
mov dword [esp + 8], edx
mov dword [esp + 4], edx
xor eax, eax
mov ebx, eax
mov esi, eax
mov ebp, eax
mov dword [esp], eax
cmp dword [0x55d528], 0
je 0x41000a
cmp dword [0x55d520], 0
je 0x40fff2
cmp dword [0x55d2f8], 0
je 0x40ff54
cmp dword [0x55d2cc], 0
jne 0x40ff30
mov esi, 2
jmp 0x40ff59
mov eax, dword [0x55d2ec]
cmp eax, 1
je 0x40ff41
mov esi, 1
jmp 0x40ff59
cmp dword [0x5621bc], 0
je 0x40ff59
dec eax
jne 0x40ff59
mov esi, 3
jmp 0x40ff59
mov esi, 2
mov eax, dword [0x55d524]
sub eax, esi
push eax
mov edx, dword [esp + 0x4c]
add edx, 2
push edx
push 0x55d560
call fcn.0042feb8
mov ecx, dword [0x55d520]
cmp ecx, dword [0x55d02c]
jne 0x40ffb6
mov eax, dword [0x55d524]
sub eax, esi
cmp eax, dword [0x55d03c]
jne 0x40ffb6
push 0x50
mov edx, dword [0x55d524]
sub edx, esi
push edx
mov ecx, dword [esp + 0x50]
add ecx, 2
push ecx
push 0
push 0
push 0
push dword [0x55d528]
call sub.USER32.dll_SetWindowPos
jmp 0x40ffdc
push 0x98
mov eax, dword [0x55d524]
sub eax, esi
push eax
mov edx, dword [esp + 0x50]
add edx, 2
push edx
push 0
push 0
push 0
push dword [0x55d528]
call sub.USER32.dll_SetWindowPos
mov eax, dword [0x55d524]
sub eax, esi
mov edi, eax
mov dword [esp + 0xc], eax
mov dword [esp], 1
jmp 0x40ffff
push 0
push dword [0x55d528]
call sub.USER32.dll_ShowWindow
push dword [0x55d528]
call sub.USER32.dll_UpdateWindow
cmp dword [0x55d2f8], 0
je 0x41031f
cmp dword [0x55d2cc], 0
je 0x410307
mov eax, dword [esp + 0x4c]
add eax, 2
push eax
mov edx, dword [esp + 0x4c]
add edx, 2
push edx
push 0x55d30c
call fcn.0042feb8
cmp dword [0x55d2ec], 0
jne 0x41004c
mov ebx, 2
xor eax, eax
mov edx, dword [0x55d524]
sub edx, esi
cmp edx, dword [0x55d03c]
jne 0x41009d
mov ecx, dword [0x55d2cc]
cmp ecx, dword [0x55d030]
jne 0x41009d
mov edx, dword [0x55d2ec]
cmp edx, dword [0x55d034]
jne 0x41009d
mov ecx, dword [0x55d2c8]
sub ecx, ebx
cmp ecx, dword [0x55d038]
jne 0x41009d
mov edx, dword [0x55d520]
cmp edx, dword [0x55d02c]
jne 0x41009d
mov eax, 1
mov ebp, dword [0x55d2c8]
mov edx, dword [0x55d2e8]
test edx, edx
jl 0x4100b2
cmp edx, 3
jle 0x4100ba
xor ecx, ecx
mov dword [0x55d2e8], ecx
mov edx, dword [0x55d2e8]
test edx, edx
je 0x4100d2
mov ebp, edx
inc ebp
imul ebp, dword [0x55d2c8]
add edx, edx
sub ebp, edx
cmp dword [0x55d2ec], 3
jne 0x410161
xor ebx, ebx
xor edx, edx
mov dword [esp + 4], edx
mov ecx, dword [0x55d2dc]
mov dword [esp + 8], ecx
test eax, eax
je 0x41012b
push 0x10
mov eax, dword [esp + 0x50]
sub eax, edi
push eax
push dword [esp + 0x10]
push edi
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x18]
push eax
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
push 8
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
jmp 0x410300
push 0
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
push 0x10
mov edx, dword [esp + 0x50]
sub edx, edi
push edx
push dword [esp + 0x10]
push edi
mov ecx, dword [esp + 0x58]
sub ecx, dword [esp + 0x18]
push ecx
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
jmp 0x410300
cmp dword [0x55d2ec], 2
jne 0x4101dc
xor ebx, ebx
mov edx, dword [0x55d2dc]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
test eax, eax
je 0x4101ad
push 0x10
mov eax, dword [esp + 0x50]
sub eax, edi
push eax
push dword [esp + 0xc]
push edi
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
push 8
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
jmp 0x410300
push 0
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
push 0x10
mov ecx, dword [esp + 0x50]
sub ecx, edi
push ecx
push dword [esp + 0xc]
push edi
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
jmp 0x410300
cmp dword [0x55d2ec], 1
jne 0x410255
xor ebx, ebx
test eax, eax
je 0x410219
push 0x10
mov eax, ebp
sub eax, ebx
push eax
mov edx, dword [esp + 0x50]
add edx, 2
push edx
push edi
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
push 8
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
jmp 0x410245
push 0
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
push 0x10
mov ecx, ebp
sub ecx, ebx
push ecx
mov eax, dword [esp + 0x50]
add eax, 2
push eax
push edi
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
mov eax, ebp
sub eax, ebx
inc eax
add edi, eax
add dword [esp + 0xc], eax
jmp 0x410300
mov ebx, 2
xor edx, edx
mov dword [0x55d2ec], edx
mov ecx, ebp
sub ecx, ebx
mov edx, dword [esp + 0x4c]
sub edx, ecx
mov dword [esp + 0x10], edx
cmp dword [esp], 0
je 0x410288
mov edx, dword [0x55d524]
sub edx, esi
cmp edx, dword [esp + 0x10]
jle 0x410288
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0
jge 0x410295
xor ecx, ecx
mov dword [esp + 0x10], ecx
test eax, eax
je 0x4102ca
push 0x10
mov eax, ebp
sub eax, ebx
push eax
mov eax, dword [esp + 0x50]
add eax, 2
push eax
push dword [esp + 0x1c]
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
push 8
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
jmp 0x4102f9
push 0
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
push 0x10
mov edx, ebp
sub edx, ebx
push edx
mov ecx, dword [esp + 0x50]
add ecx, 2
push ecx
push dword [esp + 0x1c]
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
sub ebp, ebx
inc ebp
add dword [esp + 0xc], ebp
mov ebp, 1
jmp 0x410314
push 0
push dword [0x55d2f8]
call sub.USER32.dll_ShowWindow
push dword [0x55d2f8]
call sub.USER32.dll_UpdateWindow
mov eax, dword [0x55d520]
mov dword [0x55d02c], eax
mov edx, dword [0x55d2cc]
mov dword [0x55d030], edx
mov ecx, dword [0x55d2ec]
mov dword [0x55d034], ecx
mov eax, dword [0x55d2c8]
sub eax, ebx
mov dword [0x55d038], eax
mov edx, dword [0x55d524]
sub edx, esi
mov dword [0x55d03c], edx
push 0x10
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x10]
push ecx
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x10]
push eax
push edi
push dword [esp + 0x14]
push 1
push dword [0x56ceec]
call sub.USER32.dll_SetWindowPos
cmp dword [esp], 0
je 0x4103b8
push 0x53
push 0
push 0
push 0
push 0
push 0
push dword [0x55d528]
call sub.USER32.dll_SetWindowPos
push 0
push 0
push dword [0x55d528]
call sub.USER32.dll_InvalidateRect
push dword [0x55d528]
call sub.USER32.dll_UpdateWindow
test ebp, ebp
je 0x4103ed
push 0x53
push 0
push 0
push 0
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_SetWindowPos
push 0
push 0
push dword [0x55d2f8]
call sub.USER32.dll_InvalidateRect
push dword [0x55d2f8]
call sub.USER32.dll_UpdateWindow
xor esi, esi
push dword [0x56ceec]
call sub.USER32.dll_GetTopWindow
mov ebx, eax
test ebx, ebx
je 0x410438
push ebx
call sub.USER32.dll_IsZoomed
test eax, eax
je 0x410438
push ebx
call fcn.0051dd0a
mov esi, eax
test esi, esi
je 0x410438
cmp dword [esi + 0x8f8], 0
je 0x410438
cmp dword [esi + 0x6f8], 0
je 0x410430
push esi
call fcn.00472b5d
jmp 0x410438
push 0
push ebx
call fcn.00429c43
mov eax, dword [0x55e438]
test eax, eax
je 0x410464
cmp dword [eax + 0x8f8], 0
je 0x410464
push 1
push dword [eax]
call fcn.00429c43
test esi, esi
jne 0x410464
mov edx, dword [0x55e438]
push dword [edx]
call fcn.004299c3
push dword [0x56ceec]
call sub.USER32.dll_UpdateWindow
push dword [0x56cee8]
call sub.USER32.dll_UpdateWindow
push 0
push 0
push 0x228
push dword [0x56ceec]
call sub.USER32.dll_SendMessageA
push dword [0x56ceec]
call sub.USER32.dll_GetTopWindow
mov ebx, eax
test ebx, ebx
je 0x410502
push ebx
call sub.USER32.dll_IsZoomed
test eax, eax
jne 0x410502
cmp dword [0x562244], 0
je 0x4104c8
push 0
push 0x7a
push 0x111
push dword [0x56cee8]
call sub.USER32.dll_PostMessageA
jmp 0x4104e5
cmp dword [0x562248], 0
je 0x4104e5
push 0
push 0x7b
push 0x111
push dword [0x56cee8]
call sub.USER32.dll_PostMessageA
cmp dword [0x56224c], 0
je 0x410502
push 0
push 0x7c
push 0x111
push dword [0x56cee8]
call sub.USER32.dll_PostMessageA
add esp, 0x50
pop ebp
pop edi
pop esi
pop ebx
ret