Function at 0x5a53ac
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 0x5a5a0c
test edi, edi
je 0x5a5a0c
mov eax, edi
call fcn.0050d558
test al, al
je 0x5a5a0c
mov eax, esi
call fcn.0050d558
test al, al
je 0x5a5a0c
mov eax, ebx
call fcn.005a537c
test al, al
je 0x5a546e
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a541d
push 0
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a543d
push 0
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x9c]
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5a0c
push 0
mov eax, dword [ebx + 0x9c]
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a5a0c
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005a5dc0
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.005a63fc
call fcn.00592a18
dec eax
test eax, eax
jl 0x5a55ac
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005a63fc
mov edx, ebp
call fcn.00592a64
cmp byte [eax + 0x69], 0
je 0x5a55a1
mov eax, ebx
call fcn.005a63fc
mov edx, ebp
call fcn.00592a64
call fcn.0050d0f0
cmp eax, dword [ebx + 0x44]
je 0x5a55a1
mov eax, ebx
call fcn.005a63fc
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00592a64
call fcn.0050d0f0
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.004120c8
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5a554b
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5a5559
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00411dc8
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5a557d
lea eax, [esp + 0x34]
call fcn.00411dc8
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00411dd8
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5a55a1
lea eax, [esp + 0x34]
call fcn.00411dd8
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5a54ba
cmp dword [esp + 4], 0
jl 0x5a55c6
lea eax, [esp + 0x24]
call fcn.00411dc8
cmp eax, dword [esp + 0xc]
jl 0x5a55c6
xor eax, eax
jmp 0x5a55c8
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5a55e6
lea eax, [esp + 0x24]
call fcn.00411dd8
cmp eax, dword [esp + 0x10]
jl 0x5a55e6
xor eax, eax
jmp 0x5a55e8
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5a561d
cmp byte [esp + 0x19], 0
jne 0x5a561d
cmp dword [esp + 4], 0
jl 0x5a5617
lea eax, [esp + 0x24]
call fcn.00411dc8
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5a5617
xor eax, eax
jmp 0x5a5619
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5a564e
cmp byte [esp + 0x1a], 0
jne 0x5a564e
cmp dword [esp + 8], 0
jl 0x5a5648
lea eax, [esp + 0x24]
call fcn.00411dd8
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5a5648
xor eax, eax
jmp 0x5a564a
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5a56a8
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a56a8
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00411dc8
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.0050d0f0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a56d4
cmp byte [esp + 0x19], 0
jne 0x5a56d4
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a56d4
push 0
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5a5768
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a5768
cmp byte [esp + 0x19], 0
je 0x5a5727
push 0x40
lea eax, [esp + 0x28]
call fcn.00411dd8
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.0050d0f0
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5a5752
push 0x40
lea eax, [esp + 0x28]
call fcn.00411dd8
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.0050d0f0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a5794
cmp byte [esp + 0x1a], 0
jne 0x5a5794
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5794
push 0
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00411dc8
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00411dd8
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005a5ba0
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5860
cmp dword [esp + 4], 0
jle 0x5a57d5
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00411dc8
cmp eax, dword [esp + 0xc]
jle 0x5a57f1
lea eax, [esp + 0x24]
call fcn.00411dc8
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5a5852
mov byte [ebx + 0xa0], 1
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a581d
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0052bfec
jmp 0x5a5826
mov edx, ebp
mov eax, esi
call fcn.0052bfec
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.0052be14
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.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5911
cmp dword [esp + 8], 0
jle 0x5a5882
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00411dd8
cmp eax, dword [esp + 0x10]
jle 0x5a589e
lea eax, [esp + 0x24]
call fcn.00411dd8
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5a5903
mov byte [ebx + 0xa1], 1
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a58cc
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0052bfec
jmp 0x5a58d7
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0052bfec
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.0052be14
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.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a5938
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a5938
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a59b0
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a59b0
mov eax, dword [ebx + 0x9c]
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a59b0
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.0050d0f0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x9c]
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a59fa
mov eax, esi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a59e7
mov eax, edi
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a59fa
mov eax, dword [ebx + 0x9c]
call fcn.0050d0f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a59fa
push 0
mov eax, dword [ebx + 0x9c]
call fcn.0050d0f0
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5a5a0c
movzx edx, byte [esp]
mov eax, ebx
call fcn.005a53ac
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret