Function at 0x5c20e8
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 0x5c2748
test edi, edi
je 0x5c2748
mov eax, edi
call fcn.00510960
test al, al
je 0x5c2748
mov eax, esi
call fcn.00510960
test al, al
je 0x5c2748
mov eax, ebx
call fcn.005c20b8
test al, al
je 0x5c21aa
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2159
push 0
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2179
push 0
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2748
push 0
mov eax, dword [ebx + 0x94]
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5c2748
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005c2adc
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.005c2e34
call fcn.005b1c34
dec eax
test eax, eax
jl 0x5c22e8
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005c2e34
mov edx, ebp
call fcn.005b1c80
cmp byte [eax + 0x69], 0
je 0x5c22dd
mov eax, ebx
call fcn.005c2e34
mov edx, ebp
call fcn.005b1c80
call fcn.0051058c
cmp eax, dword [ebx + 0x3c]
je 0x5c22dd
mov eax, ebx
call fcn.005c2e34
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005b1c80
call fcn.0051058c
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3c4]
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.004115f8
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5c2287
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5c2295
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.004112d0
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5c22b9
lea eax, [esp + 0x34]
call fcn.004112d0
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.004112e0
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5c22dd
lea eax, [esp + 0x34]
call fcn.004112e0
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5c21f6
cmp dword [esp + 4], 0
jl 0x5c2302
lea eax, [esp + 0x24]
call fcn.004112d0
cmp eax, dword [esp + 0xc]
jl 0x5c2302
xor eax, eax
jmp 0x5c2304
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5c2322
lea eax, [esp + 0x24]
call fcn.004112e0
cmp eax, dword [esp + 0x10]
jl 0x5c2322
xor eax, eax
jmp 0x5c2324
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5c2359
cmp byte [esp + 0x19], 0
jne 0x5c2359
cmp dword [esp + 4], 0
jl 0x5c2353
lea eax, [esp + 0x24]
call fcn.004112d0
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5c2353
xor eax, eax
jmp 0x5c2355
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5c238a
cmp byte [esp + 0x1a], 0
jne 0x5c238a
cmp dword [esp + 8], 0
jl 0x5c2384
lea eax, [esp + 0x24]
call fcn.004112e0
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5c2384
xor eax, eax
jmp 0x5c2386
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5c23e4
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c23e4
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.004112d0
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.0051058c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5c2410
cmp byte [esp + 0x19], 0
jne 0x5c2410
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2410
push 0
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5c24a4
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c24a4
cmp byte [esp + 0x19], 0
je 0x5c2463
push 0x40
lea eax, [esp + 0x28]
call fcn.004112e0
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.0051058c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5c248e
push 0x40
lea eax, [esp + 0x28]
call fcn.004112e0
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.0051058c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5c24d0
cmp byte [esp + 0x1a], 0
jne 0x5c24d0
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c24d0
push 0
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.004112d0
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.004112e0
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005c28bc
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c259c
cmp dword [esp + 4], 0
jle 0x5c2511
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.004112d0
cmp eax, dword [esp + 0xc]
jle 0x5c252d
lea eax, [esp + 0x24]
call fcn.004112d0
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5c258e
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2559
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0052bc58
jmp 0x5c2562
mov edx, ebp
mov eax, esi
call fcn.0052bc58
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.0052ba84
mov eax, dword [esi + 0x2a4]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2b0]
mov word [esi + 0x2ba], ax
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c264d
cmp dword [esp + 8], 0
jle 0x5c25be
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.004112e0
cmp eax, dword [esp + 0x10]
jle 0x5c25da
lea eax, [esp + 0x24]
call fcn.004112e0
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5c263f
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2608
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0052bc58
jmp 0x5c2613
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0052bc58
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.0052ba84
mov eax, dword [edi + 0x2a4]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2b0]
mov word [edi + 0x2ba], ax
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c2674
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c2674
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c26ec
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c26ec
mov eax, dword [ebx + 0x94]
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c26ec
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.0051058c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5c2736
mov eax, esi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2723
mov eax, edi
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5c2736
mov eax, dword [ebx + 0x94]
call fcn.0051058c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5c2736
push 0
mov eax, dword [ebx + 0x94]
call fcn.0051058c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5c2748
movzx edx, byte [esp]
mov eax, ebx
call fcn.005c20e8
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret