Function at 0x5ce254
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 0x5ce88c
test edi, edi
je 0x5ce88c
mov eax, edi
call fcn.0053c684
test al, al
je 0x5ce88c
mov eax, esi
call fcn.0053c684
test al, al
je 0x5ce88c
mov eax, ebx
call fcn.005ce224
test al, al
je 0x5ce2ee
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce2c5
push 0
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce88c
push 0
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
jmp 0x5ce88c
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005cec14
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.005cef6c
call fcn.005bddd4
dec eax
test eax, eax
jl 0x5ce42c
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005cef6c
mov edx, ebp
call fcn.005bde20
cmp byte [eax + 0x69], 0
je 0x5ce421
mov eax, ebx
call fcn.005cef6c
mov edx, ebp
call fcn.005bde20
call fcn.0053c2ac
cmp eax, dword [ebx + 0x3c]
je 0x5ce421
mov eax, ebx
call fcn.005cef6c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005bde20
call fcn.0053c2ac
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x39c]
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.0040fdc8
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5ce3cb
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5ce3d9
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040f6b0
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5ce3fd
lea eax, [esp + 0x34]
call fcn.0040f6b0
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040f6b8
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5ce421
lea eax, [esp + 0x34]
call fcn.0040f6b8
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5ce33a
cmp dword [esp + 4], 0
jl 0x5ce446
lea eax, [esp + 0x24]
call fcn.0040f6b0
cmp eax, dword [esp + 0xc]
jl 0x5ce446
xor eax, eax
jmp 0x5ce448
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5ce466
lea eax, [esp + 0x24]
call fcn.0040f6b8
cmp eax, dword [esp + 0x10]
jl 0x5ce466
xor eax, eax
jmp 0x5ce468
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5ce49d
cmp byte [esp + 0x19], 0
jne 0x5ce49d
cmp dword [esp + 4], 0
jl 0x5ce497
lea eax, [esp + 0x24]
call fcn.0040f6b0
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5ce497
xor eax, eax
jmp 0x5ce499
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5ce4ce
cmp byte [esp + 0x1a], 0
jne 0x5ce4ce
cmp dword [esp + 8], 0
jl 0x5ce4c8
lea eax, [esp + 0x24]
call fcn.0040f6b8
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5ce4c8
xor eax, eax
jmp 0x5ce4ca
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5ce528
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ce528
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.0040f6b0
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.0053c2ac
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5ce554
cmp byte [esp + 0x19], 0
jne 0x5ce554
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce554
push 0
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5ce5e8
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ce5e8
cmp byte [esp + 0x19], 0
je 0x5ce5a7
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f6b8
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.0053c2ac
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5ce5d2
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f6b8
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.0053c2ac
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5ce614
cmp byte [esp + 0x1a], 0
jne 0x5ce614
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce614
push 0
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040f6b0
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040f6b8
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005ce9f4
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce6e0
cmp dword [esp + 4], 0
jle 0x5ce655
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040f6b0
cmp eax, dword [esp + 0xc]
jle 0x5ce671
lea eax, [esp + 0x24]
call fcn.0040f6b0
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5ce6d2
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce69d
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0054eb78
jmp 0x5ce6a6
mov edx, ebp
mov eax, esi
call fcn.0054eb78
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.0054e9a4
mov eax, dword [esi + 0x294]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2a0]
mov word [esi + 0x2aa], ax
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce791
cmp dword [esp + 8], 0
jle 0x5ce702
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040f6b8
cmp eax, dword [esp + 0x10]
jle 0x5ce71e
lea eax, [esp + 0x24]
call fcn.0040f6b8
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5ce783
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce74c
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0054eb78
jmp 0x5ce757
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0054eb78
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.0054e9a4
mov eax, dword [edi + 0x294]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2a0]
mov word [edi + 0x2aa], ax
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ce7b8
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ce7b8
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce830
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce830
mov eax, dword [ebx + 0x94]
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ce830
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.0053c2ac
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
jmp 0x5ce87a
mov eax, esi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce867
mov eax, edi
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ce87a
mov eax, dword [ebx + 0x94]
call fcn.0053c2ac
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ce87a
push 0
mov eax, dword [ebx + 0x94]
call fcn.0053c2ac
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5ce88c
movzx edx, byte [esp]
mov eax, ebx
call fcn.005ce254
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret