Function at 0x5c6004
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 0x5c6664
test edi, edi
je 0x5c6664
mov eax, edi
call fcn.00521bcc
test al, al
je 0x5c6664
mov eax, esi
call fcn.00521bcc
test al, al
je 0x5c6664
mov eax, ebx
call fcn.005c5fd4
test al, al
je 0x5c60c6
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6075
push 0
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6095
push 0
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6664
push 0
mov eax, dword [ebx + 0x94]
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
jmp 0x5c6664
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005c69ec
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.005c6d44
call fcn.005b7d5c
dec eax
test eax, eax
jl 0x5c6204
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005c6d44
mov edx, ebp
call fcn.005b7da8
cmp byte [eax + 0x69], 0
je 0x5c61f9
mov eax, ebx
call fcn.005c6d44
mov edx, ebp
call fcn.005b7da8
call fcn.005217f8
cmp eax, dword [ebx + 0x3c]
je 0x5c61f9
mov eax, ebx
call fcn.005c6d44
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005b7da8
call fcn.005217f8
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.004127f4
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5c61a3
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5c61b1
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00412108
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5c61d5
lea eax, [esp + 0x34]
call fcn.00412108
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00412110
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5c61f9
lea eax, [esp + 0x34]
call fcn.00412110
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5c6112
cmp dword [esp + 4], 0
jl 0x5c621e
lea eax, [esp + 0x24]
call fcn.00412108
cmp eax, dword [esp + 0xc]
jl 0x5c621e
xor eax, eax
jmp 0x5c6220
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5c623e
lea eax, [esp + 0x24]
call fcn.00412110
cmp eax, dword [esp + 0x10]
jl 0x5c623e
xor eax, eax
jmp 0x5c6240
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5c6275
cmp byte [esp + 0x19], 0
jne 0x5c6275
cmp dword [esp + 4], 0
jl 0x5c626f
lea eax, [esp + 0x24]
call fcn.00412108
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5c626f
xor eax, eax
jmp 0x5c6271
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5c62a6
cmp byte [esp + 0x1a], 0
jne 0x5c62a6
cmp dword [esp + 8], 0
jl 0x5c62a0
lea eax, [esp + 0x24]
call fcn.00412110
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5c62a0
xor eax, eax
jmp 0x5c62a2
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5c6300
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c6300
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00412108
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.005217f8
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5c632c
cmp byte [esp + 0x19], 0
jne 0x5c632c
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c632c
push 0
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5c63c0
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c63c0
cmp byte [esp + 0x19], 0
je 0x5c637f
push 0x40
lea eax, [esp + 0x28]
call fcn.00412110
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.005217f8
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5c63aa
push 0x40
lea eax, [esp + 0x28]
call fcn.00412110
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.005217f8
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5c63ec
cmp byte [esp + 0x1a], 0
jne 0x5c63ec
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c63ec
push 0
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00412108
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00412110
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005c67cc
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c64b8
cmp dword [esp + 4], 0
jle 0x5c642d
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00412108
cmp eax, dword [esp + 0xc]
jle 0x5c6449
lea eax, [esp + 0x24]
call fcn.00412108
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5c64aa
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6475
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00532c00
jmp 0x5c647e
mov edx, ebp
mov eax, esi
call fcn.00532c00
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.00532a2c
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.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6569
cmp dword [esp + 8], 0
jle 0x5c64da
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00412110
cmp eax, dword [esp + 0x10]
jle 0x5c64f6
lea eax, [esp + 0x24]
call fcn.00412110
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5c655b
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6524
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00532c00
jmp 0x5c652f
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00532c00
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.00532a2c
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.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c6590
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c6590
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6608
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6608
mov eax, dword [ebx + 0x94]
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c6608
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.005217f8
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
jmp 0x5c6652
mov eax, esi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c663f
mov eax, edi
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c6652
mov eax, dword [ebx + 0x94]
call fcn.005217f8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c6652
push 0
mov eax, dword [ebx + 0x94]
call fcn.005217f8
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5c6664
movzx edx, byte [esp]
mov eax, ebx
call fcn.005c6004
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret