Function at 0x5a79f4
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 + 0x98]
mov edi, dword [ebx + 0xa8]
test esi, esi
je 0x5a8054
test edi, edi
je 0x5a8054
mov eax, edi
call fcn.0051e3a4
test al, al
je 0x5a8054
mov eax, esi
call fcn.0051e3a4
test al, al
je 0x5a8054
mov eax, ebx
call fcn.005a79c4
test al, al
je 0x5a7ab6
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7a65
push 0
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7a85
push 0
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0xa0]
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a8054
push 0
mov eax, dword [ebx + 0xa0]
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a8054
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005a8438
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.005a8c20
call fcn.005945c4
dec eax
test eax, eax
jl 0x5a7bf4
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005a8c20
mov edx, ebp
call fcn.00594610
cmp byte [eax + 0x69], 0
je 0x5a7be9
mov eax, ebx
call fcn.005a8c20
mov edx, ebp
call fcn.00594610
call fcn.0051df3c
cmp eax, dword [ebx + 0x44]
je 0x5a7be9
mov eax, ebx
call fcn.005a8c20
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00594610
call fcn.0051df3c
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x420]
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.00412954
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5a7b93
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5a7ba1
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00412654
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5a7bc5
lea eax, [esp + 0x34]
call fcn.00412654
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00412664
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5a7be9
lea eax, [esp + 0x34]
call fcn.00412664
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5a7b02
cmp dword [esp + 4], 0
jl 0x5a7c0e
lea eax, [esp + 0x24]
call fcn.00412654
cmp eax, dword [esp + 0xc]
jl 0x5a7c0e
xor eax, eax
jmp 0x5a7c10
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5a7c2e
lea eax, [esp + 0x24]
call fcn.00412664
cmp eax, dword [esp + 0x10]
jl 0x5a7c2e
xor eax, eax
jmp 0x5a7c30
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5a7c65
cmp byte [esp + 0x19], 0
jne 0x5a7c65
cmp dword [esp + 4], 0
jl 0x5a7c5f
lea eax, [esp + 0x24]
call fcn.00412654
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5a7c5f
xor eax, eax
jmp 0x5a7c61
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5a7c96
cmp byte [esp + 0x1a], 0
jne 0x5a7c96
cmp dword [esp + 8], 0
jl 0x5a7c90
lea eax, [esp + 0x24]
call fcn.00412664
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5a7c90
xor eax, eax
jmp 0x5a7c92
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5a7cf0
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a7cf0
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00412654
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.0051df3c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a7d1c
cmp byte [esp + 0x19], 0
jne 0x5a7d1c
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7d1c
push 0
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5a7db0
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a7db0
cmp byte [esp + 0x19], 0
je 0x5a7d6f
push 0x40
lea eax, [esp + 0x28]
call fcn.00412664
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.0051df3c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5a7d9a
push 0x40
lea eax, [esp + 0x28]
call fcn.00412664
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.0051df3c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a7ddc
cmp byte [esp + 0x1a], 0
jne 0x5a7ddc
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7ddc
push 0
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00412654
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00412664
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005a81e8
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7ea8
cmp dword [esp + 4], 0
jle 0x5a7e1d
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00412654
cmp eax, dword [esp + 0xc]
jle 0x5a7e39
lea eax, [esp + 0x24]
call fcn.00412654
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5a7e9a
mov byte [ebx + 0xa4], 1
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7e65
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00530cfc
jmp 0x5a7e6e
mov edx, ebp
mov eax, esi
call fcn.00530cfc
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.00530b24
mov eax, dword [esi + 0x2cc]
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xa4], 0
movzx eax, word [esi + 0x2d8]
mov word [esi + 0x2e2], ax
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7f59
cmp dword [esp + 8], 0
jle 0x5a7eca
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00412664
cmp eax, dword [esp + 0x10]
jle 0x5a7ee6
lea eax, [esp + 0x24]
call fcn.00412664
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5a7f4b
mov byte [ebx + 0xa5], 1
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7f14
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00530cfc
jmp 0x5a7f1f
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00530cfc
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.00530b24
mov eax, dword [edi + 0x2cc]
mov dword [ebx + 0xc8], eax
mov byte [ebx + 0xa5], 0
movzx eax, word [edi + 0x2d8]
mov word [edi + 0x2e2], ax
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a7f80
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a7f80
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7ff8
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a7ff8
mov eax, dword [ebx + 0xa0]
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a7ff8
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 + 0xa0]
call fcn.0051df3c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0xa0]
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a8042
mov eax, esi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a802f
mov eax, edi
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a8042
mov eax, dword [ebx + 0xa0]
call fcn.0051df3c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a8042
push 0
mov eax, dword [ebx + 0xa0]
call fcn.0051df3c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5a8054
movzx edx, byte [esp]
mov eax, ebx
call fcn.005a79f4
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret