Function at 0x5adf9c
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 0x5ae5d4
test edi, edi
je 0x5ae5d4
mov eax, edi
call fcn.0052349c
test al, al
je 0x5ae5d4
mov eax, esi
call fcn.0052349c
test al, al
je 0x5ae5d4
mov eax, ebx
call fcn.005adf6c
test al, al
je 0x5ae036
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae00d
push 0
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae5d4
push 0
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
jmp 0x5ae5d4
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005ae95c
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.005aecb4
call fcn.0059fe78
dec eax
test eax, eax
jl 0x5ae174
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005aecb4
mov edx, ebp
call fcn.0059fec4
cmp byte [eax + 0x61], 0
je 0x5ae169
mov eax, ebx
call fcn.005aecb4
mov edx, ebp
call fcn.0059fec4
call fcn.005230e8
cmp eax, dword [ebx + 0x3c]
je 0x5ae169
mov eax, ebx
call fcn.005aecb4
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.0059fec4
call fcn.005230e8
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x394]
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.0040fa74
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5ae113
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5ae121
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040f380
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5ae145
lea eax, [esp + 0x34]
call fcn.0040f380
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040f388
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5ae169
lea eax, [esp + 0x34]
call fcn.0040f388
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5ae082
cmp dword [esp + 4], 0
jl 0x5ae18e
lea eax, [esp + 0x24]
call fcn.0040f380
cmp eax, dword [esp + 0xc]
jl 0x5ae18e
xor eax, eax
jmp 0x5ae190
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5ae1ae
lea eax, [esp + 0x24]
call fcn.0040f388
cmp eax, dword [esp + 0x10]
jl 0x5ae1ae
xor eax, eax
jmp 0x5ae1b0
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5ae1e5
cmp byte [esp + 0x19], 0
jne 0x5ae1e5
cmp dword [esp + 4], 0
jl 0x5ae1df
lea eax, [esp + 0x24]
call fcn.0040f380
sub eax, dword [edi + 0x50]
cmp eax, dword [esp + 0xc]
jl 0x5ae1df
xor eax, eax
jmp 0x5ae1e1
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5ae216
cmp byte [esp + 0x1a], 0
jne 0x5ae216
cmp dword [esp + 8], 0
jl 0x5ae210
lea eax, [esp + 0x24]
call fcn.0040f388
sub eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x10]
jl 0x5ae210
xor eax, eax
jmp 0x5ae212
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5ae270
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ae270
push 0x40
mov eax, dword [esi + 0x54]
push eax
lea eax, [esp + 0x2c]
call fcn.0040f380
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5ae29c
cmp byte [esp + 0x19], 0
jne 0x5ae29c
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae29c
push 0
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5ae330
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ae330
cmp byte [esp + 0x19], 0
je 0x5ae2ef
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f388
sub eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
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.005230e8
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5ae31a
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f388
push eax
mov ebp, dword [edi + 0x50]
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.005230e8
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5ae35c
cmp byte [esp + 0x1a], 0
jne 0x5ae35c
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae35c
push 0
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040f380
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040f388
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005ae73c
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae428
cmp dword [esp + 4], 0
jle 0x5ae39d
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040f380
cmp eax, dword [esp + 0xc]
jle 0x5ae3b9
lea eax, [esp + 0x24]
call fcn.0040f380
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5ae41a
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae3e5
mov edx, ebp
sub edx, dword [edi + 0x50]
mov eax, esi
call fcn.00533d14
jmp 0x5ae3ee
mov edx, ebp
mov eax, esi
call fcn.00533d14
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.00533b40
mov eax, dword [esi + 0x28c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x298]
mov word [esi + 0x2a2], ax
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae4d9
cmp dword [esp + 8], 0
jle 0x5ae44a
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040f388
cmp eax, dword [esp + 0x10]
jle 0x5ae466
lea eax, [esp + 0x24]
call fcn.0040f388
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5ae4cb
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae494
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x54]
mov eax, edi
call fcn.00533d14
jmp 0x5ae49f
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00533d14
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.00533b40
mov eax, dword [edi + 0x28c]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x298]
mov word [edi + 0x2a2], ax
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ae500
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ae500
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae578
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae578
mov eax, dword [ebx + 0x94]
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ae578
push 0x40
mov eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x94]
call fcn.005230e8
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
jmp 0x5ae5c2
mov eax, esi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae5af
mov eax, edi
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ae5c2
mov eax, dword [ebx + 0x94]
call fcn.005230e8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ae5c2
push 0
mov eax, dword [ebx + 0x94]
call fcn.005230e8
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5ae5d4
movzx edx, byte [esp]
mov eax, ebx
call fcn.005adf9c
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret