Function at 0x5d9800
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 + 0x94]
mov edi, dword [ebx + 0xa4]
test esi, esi
je 0x5d9e60
test edi, edi
je 0x5d9e60
mov eax, edi
call fcn.005463f0
test al, al
je 0x5d9e60
mov eax, esi
call fcn.005463f0
test al, al
je 0x5d9e60
mov eax, ebx
call fcn.005d97d0
test al, al
je 0x5d98c2
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9871
push 0
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9891
push 0
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x9c]
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9e60
push 0
mov eax, dword [ebx + 0x9c]
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d9e60
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005da214
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.005da850
call fcn.005c92bc
dec eax
test eax, eax
jl 0x5d9a00
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005da850
mov edx, ebp
call fcn.005c9308
cmp byte [eax + 0x69], 0
je 0x5d99f5
mov eax, ebx
call fcn.005da850
mov edx, ebp
call fcn.005c9308
call fcn.00545f88
cmp eax, dword [ebx + 0x44]
je 0x5d99f5
mov eax, ebx
call fcn.005da850
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005c9308
call fcn.00545f88
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3d0]
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.00413b44
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5d999f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5d99ad
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0041341c
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5d99d1
lea eax, [esp + 0x34]
call fcn.0041341c
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0041342c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5d99f5
lea eax, [esp + 0x34]
call fcn.0041342c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5d990e
cmp dword [esp + 4], 0
jl 0x5d9a1a
lea eax, [esp + 0x24]
call fcn.0041341c
cmp eax, dword [esp + 0xc]
jl 0x5d9a1a
xor eax, eax
jmp 0x5d9a1c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5d9a3a
lea eax, [esp + 0x24]
call fcn.0041342c
cmp eax, dword [esp + 0x10]
jl 0x5d9a3a
xor eax, eax
jmp 0x5d9a3c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5d9a71
cmp byte [esp + 0x19], 0
jne 0x5d9a71
cmp dword [esp + 4], 0
jl 0x5d9a6b
lea eax, [esp + 0x24]
call fcn.0041341c
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5d9a6b
xor eax, eax
jmp 0x5d9a6d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5d9aa2
cmp byte [esp + 0x1a], 0
jne 0x5d9aa2
cmp dword [esp + 8], 0
jl 0x5d9a9c
lea eax, [esp + 0x24]
call fcn.0041342c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5d9a9c
xor eax, eax
jmp 0x5d9a9e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5d9afc
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9afc
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.0041341c
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.00545f88
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d9b28
cmp byte [esp + 0x19], 0
jne 0x5d9b28
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9b28
push 0
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5d9bbc
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9bbc
cmp byte [esp + 0x19], 0
je 0x5d9b7b
push 0x40
lea eax, [esp + 0x28]
call fcn.0041342c
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.00545f88
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5d9ba6
push 0x40
lea eax, [esp + 0x28]
call fcn.0041342c
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.00545f88
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d9be8
cmp byte [esp + 0x1a], 0
jne 0x5d9be8
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9be8
push 0
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0041341c
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0041342c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005d9ff4
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9cb4
cmp dword [esp + 4], 0
jle 0x5d9c29
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0041341c
cmp eax, dword [esp + 0xc]
jle 0x5d9c45
lea eax, [esp + 0x24]
call fcn.0041341c
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5d9ca6
mov byte [ebx + 0xa0], 1
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9c71
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.005589a8
jmp 0x5d9c7a
mov edx, ebp
mov eax, esi
call fcn.005589a8
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.005587d0
mov eax, dword [esi + 0x2b4]
mov dword [ebx + 0xc0], eax
mov byte [ebx + 0xa0], 0
movzx eax, word [esi + 0x2c0]
mov word [esi + 0x2ca], ax
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9d65
cmp dword [esp + 8], 0
jle 0x5d9cd6
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0041342c
cmp eax, dword [esp + 0x10]
jle 0x5d9cf2
lea eax, [esp + 0x24]
call fcn.0041342c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5d9d57
mov byte [ebx + 0xa1], 1
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9d20
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.005589a8
jmp 0x5d9d2b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.005589a8
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.005587d0
mov eax, dword [edi + 0x2b4]
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xa1], 0
movzx eax, word [edi + 0x2c0]
mov word [edi + 0x2ca], ax
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9d8c
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9d8c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9e04
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9e04
mov eax, dword [ebx + 0x9c]
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9e04
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 + 0x9c]
call fcn.00545f88
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x9c]
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d9e4e
mov eax, esi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9e3b
mov eax, edi
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9e4e
mov eax, dword [ebx + 0x9c]
call fcn.00545f88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9e4e
push 0
mov eax, dword [ebx + 0x9c]
call fcn.00545f88
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5d9e60
movzx edx, byte [esp]
mov eax, ebx
call fcn.005d9800
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret