Function at 0x5c3914
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 0x5c3f4c
test edi, edi
je 0x5c3f4c
mov eax, edi
call fcn.0052070c
test al, al
je 0x5c3f4c
mov eax, esi
call fcn.0052070c
test al, al
je 0x5c3f4c
mov eax, ebx
call fcn.005c38e4
test al, al
je 0x5c39ae
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3985
push 0
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3f4c
push 0
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5c3f4c
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005c42d4
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.005c462c
call fcn.005b58c8
dec eax
test eax, eax
jl 0x5c3aec
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005c462c
mov edx, ebp
call fcn.005b5914
cmp byte [eax + 0x69], 0
je 0x5c3ae1
mov eax, ebx
call fcn.005c462c
mov edx, ebp
call fcn.005b5914
call fcn.0052033c
cmp eax, dword [ebx + 0x3c]
je 0x5c3ae1
mov eax, ebx
call fcn.005c462c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005b5914
call fcn.0052033c
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3a4]
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.00410a24
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5c3a8b
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5c3a99
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00410330
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5c3abd
lea eax, [esp + 0x34]
call fcn.00410330
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00410338
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5c3ae1
lea eax, [esp + 0x34]
call fcn.00410338
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5c39fa
cmp dword [esp + 4], 0
jl 0x5c3b06
lea eax, [esp + 0x24]
call fcn.00410330
cmp eax, dword [esp + 0xc]
jl 0x5c3b06
xor eax, eax
jmp 0x5c3b08
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5c3b26
lea eax, [esp + 0x24]
call fcn.00410338
cmp eax, dword [esp + 0x10]
jl 0x5c3b26
xor eax, eax
jmp 0x5c3b28
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5c3b5d
cmp byte [esp + 0x19], 0
jne 0x5c3b5d
cmp dword [esp + 4], 0
jl 0x5c3b57
lea eax, [esp + 0x24]
call fcn.00410330
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5c3b57
xor eax, eax
jmp 0x5c3b59
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5c3b8e
cmp byte [esp + 0x1a], 0
jne 0x5c3b8e
cmp dword [esp + 8], 0
jl 0x5c3b88
lea eax, [esp + 0x24]
call fcn.00410338
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5c3b88
xor eax, eax
jmp 0x5c3b8a
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5c3be8
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c3be8
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00410330
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.0052033c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5c3c14
cmp byte [esp + 0x19], 0
jne 0x5c3c14
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3c14
push 0
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5c3ca8
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c3ca8
cmp byte [esp + 0x19], 0
je 0x5c3c67
push 0x40
lea eax, [esp + 0x28]
call fcn.00410338
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.0052033c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5c3c92
push 0x40
lea eax, [esp + 0x28]
call fcn.00410338
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.0052033c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5c3cd4
cmp byte [esp + 0x1a], 0
jne 0x5c3cd4
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3cd4
push 0
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00410330
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00410338
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005c40b4
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3da0
cmp dword [esp + 4], 0
jle 0x5c3d15
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00410330
cmp eax, dword [esp + 0xc]
jle 0x5c3d31
lea eax, [esp + 0x24]
call fcn.00410330
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5c3d92
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3d5d
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00531278
jmp 0x5c3d66
mov edx, ebp
mov eax, esi
call fcn.00531278
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.005310a4
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.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3e51
cmp dword [esp + 8], 0
jle 0x5c3dc2
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00410338
cmp eax, dword [esp + 0x10]
jle 0x5c3dde
lea eax, [esp + 0x24]
call fcn.00410338
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5c3e43
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3e0c
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00531278
jmp 0x5c3e17
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00531278
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.005310a4
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.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c3e78
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c3e78
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3ef0
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3ef0
mov eax, dword [ebx + 0x94]
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c3ef0
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.0052033c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5c3f3a
mov eax, esi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3f27
mov eax, edi
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c3f3a
mov eax, dword [ebx + 0x94]
call fcn.0052033c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c3f3a
push 0
mov eax, dword [ebx + 0x94]
call fcn.0052033c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5c3f4c
movzx edx, byte [esp]
mov eax, ebx
call fcn.005c3914
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret