Function at 0x5ce760
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffac
mov byte [esp], dl
mov ebx, eax
mov esi, dword [ebx + 0x8c]
mov edi, dword [ebx + 0x9c]
test esi, esi
je 0x5cedc0
test edi, edi
je 0x5cedc0
mov eax, edi
call fcn.005221c4
test al, al
je 0x5cedc0
mov eax, esi
call fcn.005221c4
test al, al
je 0x5cedc0
mov eax, ebx
call fcn.005ce730
test al, al
je 0x5ce822
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce7d1
push 0
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce7f1
push 0
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5cedc0
push 0
mov eax, dword [ebx + 0x94]
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5cedc0
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005cf148
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], 0x7fffffff
mov dword [esp + 0xc], 0x80000001
mov dword [esp + 0x10], 0x80000001
mov eax, ebx
call fcn.005cf4a0
call fcn.005c04b8
dec eax
test eax, eax
jl 0x5ce960
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005cf4a0
mov edx, ebp
call fcn.005c0504
cmp byte [eax + 0x69], 0
je 0x5ce955
mov eax, ebx
call fcn.005cf4a0
mov edx, ebp
call fcn.005c0504
call fcn.00521df0
cmp eax, dword [ebx + 0x3c]
je 0x5ce955
mov eax, ebx
call fcn.005cf4a0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005c0504
call fcn.00521df0
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3bc]
push eax
call sub.user32.dll_GetWindowRect
mov ecx, dword [esp + 0x48]
neg ecx
mov edx, dword [esp + 0x44]
neg edx
lea eax, [esp + 0x34]
call fcn.00412850
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5ce8ff
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5ce90d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00412164
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5ce931
lea eax, [esp + 0x34]
call fcn.00412164
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0041216c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5ce955
lea eax, [esp + 0x34]
call fcn.0041216c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5ce86e
cmp dword [esp + 4], 0
jl 0x5ce97a
lea eax, [esp + 0x24]
call fcn.00412164
cmp eax, dword [esp + 0xc]
jl 0x5ce97a
xor eax, eax
jmp 0x5ce97c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5ce99a
lea eax, [esp + 0x24]
call fcn.0041216c
cmp eax, dword [esp + 0x10]
jl 0x5ce99a
xor eax, eax
jmp 0x5ce99c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5ce9d1
cmp byte [esp + 0x19], 0
jne 0x5ce9d1
cmp dword [esp + 4], 0
jl 0x5ce9cb
lea eax, [esp + 0x24]
call fcn.00412164
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5ce9cb
xor eax, eax
jmp 0x5ce9cd
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5cea02
cmp byte [esp + 0x1a], 0
jne 0x5cea02
cmp dword [esp + 8], 0
jl 0x5ce9fc
lea eax, [esp + 0x24]
call fcn.0041216c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5ce9fc
xor eax, eax
jmp 0x5ce9fe
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5cea5c
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5cea5c
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00412164
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5cea88
cmp byte [esp + 0x19], 0
jne 0x5cea88
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5cea88
push 0
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5ceb1c
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ceb1c
cmp byte [esp + 0x19], 0
je 0x5ceadb
push 0x40
lea eax, [esp + 0x28]
call fcn.0041216c
sub eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5ceb06
push 0x40
lea eax, [esp + 0x28]
call fcn.0041216c
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5ceb48
cmp byte [esp + 0x1a], 0
jne 0x5ceb48
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ceb48
push 0
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00412164
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0041216c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005cef28
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5cec14
cmp dword [esp + 4], 0
jle 0x5ceb89
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00412164
cmp eax, dword [esp + 0xc]
jle 0x5ceba5
lea eax, [esp + 0x24]
call fcn.00412164
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5cec06
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5cebd1
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00538464
jmp 0x5cebda
mov edx, ebp
mov eax, esi
call fcn.00538464
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 4]
dec eax
push eax
mov edx, dword [esp + 8]
neg edx
xor ecx, ecx
mov eax, esi
call fcn.00538290
mov eax, dword [esi + 0x29c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2a8]
mov word [esi + 0x2b2], ax
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5cecc5
cmp dword [esp + 8], 0
jle 0x5cec36
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0041216c
cmp eax, dword [esp + 0x10]
jle 0x5cec52
lea eax, [esp + 0x24]
call fcn.0041216c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5cecb7
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5cec80
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00538464
jmp 0x5cec8b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00538464
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 8]
dec eax
push eax
mov edx, dword [esp + 0xc]
neg edx
xor ecx, ecx
mov eax, edi
call fcn.00538290
mov eax, dword [edi + 0x29c]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2a8]
mov word [edi + 0x2b2], ax
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5cecec
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5cecec
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ced64
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ced64
mov eax, dword [ebx + 0x94]
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ced64
push 0x40
mov eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x94]
call fcn.00521df0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5cedae
mov eax, esi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ced9b
mov eax, edi
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5cedae
mov eax, dword [ebx + 0x94]
call fcn.00521df0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5cedae
push 0
mov eax, dword [ebx + 0x94]
call fcn.00521df0
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5cedc0
movzx edx, byte [esp]
mov eax, ebx
call fcn.005ce760
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret