Function at 0x5d8c84
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 + 0x98]
mov edi, dword [ebx + 0xa8]
test esi, esi
je 0x5d92e4
test edi, edi
je 0x5d92e4
mov eax, edi
call fcn.006085c0
test al, al
je 0x5d92e4
mov eax, esi
call fcn.006085c0
test al, al
je 0x5d92e4
mov eax, ebx
call fcn.005d8c54
test al, al
je 0x5d8d46
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d8cf5
push 0
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d8d15
push 0
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0xa0]
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d92e4
push 0
mov eax, dword [ebx + 0xa0]
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d92e4
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005d96c8
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.005d9eb0
call fcn.005c5c94
dec eax
test eax, eax
jl 0x5d8e84
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005d9eb0
mov edx, ebp
call fcn.005c5ce0
cmp byte [eax + 0x69], 0
je 0x5d8e79
mov eax, ebx
call fcn.005d9eb0
mov edx, ebp
call fcn.005c5ce0
call fcn.00608158
cmp eax, dword [ebx + 0x44]
je 0x5d8e79
mov eax, ebx
call fcn.005d9eb0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005c5ce0
call fcn.00608158
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x420]
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.00415630
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5d8e23
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5d8e31
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.004151e0
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5d8e55
lea eax, [esp + 0x34]
call fcn.004151e0
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.004151f0
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5d8e79
lea eax, [esp + 0x34]
call fcn.004151f0
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5d8d92
cmp dword [esp + 4], 0
jl 0x5d8e9e
lea eax, [esp + 0x24]
call fcn.004151e0
cmp eax, dword [esp + 0xc]
jl 0x5d8e9e
xor eax, eax
jmp 0x5d8ea0
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5d8ebe
lea eax, [esp + 0x24]
call fcn.004151f0
cmp eax, dword [esp + 0x10]
jl 0x5d8ebe
xor eax, eax
jmp 0x5d8ec0
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5d8ef5
cmp byte [esp + 0x19], 0
jne 0x5d8ef5
cmp dword [esp + 4], 0
jl 0x5d8eef
lea eax, [esp + 0x24]
call fcn.004151e0
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5d8eef
xor eax, eax
jmp 0x5d8ef1
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5d8f26
cmp byte [esp + 0x1a], 0
jne 0x5d8f26
cmp dword [esp + 8], 0
jl 0x5d8f20
lea eax, [esp + 0x24]
call fcn.004151f0
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5d8f20
xor eax, eax
jmp 0x5d8f22
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5d8f80
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d8f80
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.004151e0
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.00608158
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d8fac
cmp byte [esp + 0x19], 0
jne 0x5d8fac
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d8fac
push 0
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5d9040
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9040
cmp byte [esp + 0x19], 0
je 0x5d8fff
push 0x40
lea eax, [esp + 0x28]
call fcn.004151f0
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.00608158
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5d902a
push 0x40
lea eax, [esp + 0x28]
call fcn.004151f0
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.00608158
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d906c
cmp byte [esp + 0x1a], 0
jne 0x5d906c
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d906c
push 0
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.004151e0
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.004151f0
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005d9478
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9138
cmp dword [esp + 4], 0
jle 0x5d90ad
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.004151e0
cmp eax, dword [esp + 0xc]
jle 0x5d90c9
lea eax, [esp + 0x24]
call fcn.004151e0
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5d912a
mov byte [ebx + 0xa4], 1
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d90f5
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00543b60
jmp 0x5d90fe
mov edx, ebp
mov eax, esi
call fcn.00543b60
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.00543988
mov eax, dword [esi + 0x2cc]
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xa4], 0
movzx eax, word [esi + 0x2d8]
mov word [esi + 0x2e2], ax
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d91e9
cmp dword [esp + 8], 0
jle 0x5d915a
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.004151f0
cmp eax, dword [esp + 0x10]
jle 0x5d9176
lea eax, [esp + 0x24]
call fcn.004151f0
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5d91db
mov byte [ebx + 0xa5], 1
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d91a4
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00543b60
jmp 0x5d91af
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00543b60
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.00543988
mov eax, dword [edi + 0x2cc]
mov dword [ebx + 0xc8], eax
mov byte [ebx + 0xa5], 0
movzx eax, word [edi + 0x2d8]
mov word [edi + 0x2e2], ax
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9210
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9210
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9288
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9288
mov eax, dword [ebx + 0xa0]
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9288
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 + 0xa0]
call fcn.00608158
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0xa0]
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d92d2
mov eax, esi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d92bf
mov eax, edi
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d92d2
mov eax, dword [ebx + 0xa0]
call fcn.00608158
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d92d2
push 0
mov eax, dword [ebx + 0xa0]
call fcn.00608158
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5d92e4
movzx edx, byte [esp]
mov eax, ebx
call fcn.005d8c84
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret