Function at 0x5a53d0
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 0x5a5a30
test edi, edi
je 0x5a5a30
mov eax, edi
call fcn.0050d57c
test al, al
je 0x5a5a30
mov eax, esi
call fcn.0050d57c
test al, al
je 0x5a5a30
mov eax, ebx
call fcn.005a53a0
test al, al
je 0x5a5492
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5441
push 0
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5461
push 0
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x9c]
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5a30
push 0
mov eax, dword [ebx + 0x9c]
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a5a30
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005a5de4
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.005a6420
call fcn.00592a3c
dec eax
test eax, eax
jl 0x5a55d0
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005a6420
mov edx, ebp
call fcn.00592a88
cmp byte [eax + 0x69], 0
je 0x5a55c5
mov eax, ebx
call fcn.005a6420
mov edx, ebp
call fcn.00592a88
call fcn.0050d114
cmp eax, dword [ebx + 0x44]
je 0x5a55c5
mov eax, ebx
call fcn.005a6420
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00592a88
call fcn.0050d114
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 0x5a556f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5a557d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00411dc8
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5a55a1
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 0x5a55c5
lea eax, [esp + 0x34]
call fcn.00411dd8
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5a54de
cmp dword [esp + 4], 0
jl 0x5a55ea
lea eax, [esp + 0x24]
call fcn.00411dc8
cmp eax, dword [esp + 0xc]
jl 0x5a55ea
xor eax, eax
jmp 0x5a55ec
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5a560a
lea eax, [esp + 0x24]
call fcn.00411dd8
cmp eax, dword [esp + 0x10]
jl 0x5a560a
xor eax, eax
jmp 0x5a560c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5a5641
cmp byte [esp + 0x19], 0
jne 0x5a5641
cmp dword [esp + 4], 0
jl 0x5a563b
lea eax, [esp + 0x24]
call fcn.00411dc8
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5a563b
xor eax, eax
jmp 0x5a563d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5a5672
cmp byte [esp + 0x1a], 0
jne 0x5a5672
cmp dword [esp + 8], 0
jl 0x5a566c
lea eax, [esp + 0x24]
call fcn.00411dd8
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5a566c
xor eax, eax
jmp 0x5a566e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5a56cc
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a56cc
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.0050d114
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a56f8
cmp byte [esp + 0x19], 0
jne 0x5a56f8
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a56f8
push 0
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5a578c
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a578c
cmp byte [esp + 0x19], 0
je 0x5a574b
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.0050d114
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5a5776
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.0050d114
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a57b8
cmp byte [esp + 0x1a], 0
jne 0x5a57b8
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a57b8
push 0
mov eax, edi
call fcn.0050d114
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.005a5bc4
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5884
cmp dword [esp + 4], 0
jle 0x5a57f9
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00411dc8
cmp eax, dword [esp + 0xc]
jle 0x5a5815
lea eax, [esp + 0x24]
call fcn.00411dc8
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5a5876
mov byte [ebx + 0xa0], 1
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5841
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0052c010
jmp 0x5a584a
mov edx, ebp
mov eax, esi
call fcn.0052c010
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.0052be38
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.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5935
cmp dword [esp + 8], 0
jle 0x5a58a6
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00411dd8
cmp eax, dword [esp + 0x10]
jle 0x5a58c2
lea eax, [esp + 0x24]
call fcn.00411dd8
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5a5927
mov byte [ebx + 0xa1], 1
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a58f0
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0052c010
jmp 0x5a58fb
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0052c010
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.0052be38
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.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a595c
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a595c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a59d4
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a59d4
mov eax, dword [ebx + 0x9c]
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a59d4
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.0050d114
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x9c]
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a5a1e
mov eax, esi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5a0b
mov eax, edi
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a5a1e
mov eax, dword [ebx + 0x9c]
call fcn.0050d114
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a5a1e
push 0
mov eax, dword [ebx + 0x9c]
call fcn.0050d114
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5a5a30
movzx edx, byte [esp]
mov eax, ebx
call fcn.005a53d0
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret