Function at 0x5a4750
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 0x5a4db0
test edi, edi
je 0x5a4db0
mov eax, edi
call fcn.005265d4
test al, al
je 0x5a4db0
mov eax, esi
call fcn.005265d4
test al, al
je 0x5a4db0
mov eax, ebx
call fcn.005a4720
test al, al
je 0x5a4812
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a47c1
push 0
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a47e1
push 0
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0xa0]
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4db0
push 0
mov eax, dword [ebx + 0xa0]
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a4db0
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005a5194
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.005a597c
call fcn.00594448
dec eax
test eax, eax
jl 0x5a4950
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005a597c
mov edx, ebp
call fcn.00594494
cmp byte [eax + 0x69], 0
je 0x5a4945
mov eax, ebx
call fcn.005a597c
mov edx, ebp
call fcn.00594494
call fcn.0052616c
cmp eax, dword [ebx + 0x44]
je 0x5a4945
mov eax, ebx
call fcn.005a597c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00594494
call fcn.0052616c
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.00412388
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5a48ef
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5a48fd
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00412088
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5a4921
lea eax, [esp + 0x34]
call fcn.00412088
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00412098
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5a4945
lea eax, [esp + 0x34]
call fcn.00412098
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5a485e
cmp dword [esp + 4], 0
jl 0x5a496a
lea eax, [esp + 0x24]
call fcn.00412088
cmp eax, dword [esp + 0xc]
jl 0x5a496a
xor eax, eax
jmp 0x5a496c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5a498a
lea eax, [esp + 0x24]
call fcn.00412098
cmp eax, dword [esp + 0x10]
jl 0x5a498a
xor eax, eax
jmp 0x5a498c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5a49c1
cmp byte [esp + 0x19], 0
jne 0x5a49c1
cmp dword [esp + 4], 0
jl 0x5a49bb
lea eax, [esp + 0x24]
call fcn.00412088
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5a49bb
xor eax, eax
jmp 0x5a49bd
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5a49f2
cmp byte [esp + 0x1a], 0
jne 0x5a49f2
cmp dword [esp + 8], 0
jl 0x5a49ec
lea eax, [esp + 0x24]
call fcn.00412098
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5a49ec
xor eax, eax
jmp 0x5a49ee
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5a4a4c
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a4a4c
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00412088
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.0052616c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a4a78
cmp byte [esp + 0x19], 0
jne 0x5a4a78
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4a78
push 0
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5a4b0c
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a4b0c
cmp byte [esp + 0x19], 0
je 0x5a4acb
push 0x40
lea eax, [esp + 0x28]
call fcn.00412098
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.0052616c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5a4af6
push 0x40
lea eax, [esp + 0x28]
call fcn.00412098
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.0052616c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5a4b38
cmp byte [esp + 0x1a], 0
jne 0x5a4b38
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4b38
push 0
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00412088
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00412098
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005a4f44
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4c04
cmp dword [esp + 4], 0
jle 0x5a4b79
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00412088
cmp eax, dword [esp + 0xc]
jle 0x5a4b95
lea eax, [esp + 0x24]
call fcn.00412088
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5a4bf6
mov byte [ebx + 0xa4], 1
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4bc1
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00538f24
jmp 0x5a4bca
mov edx, ebp
mov eax, esi
call fcn.00538f24
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.00538d4c
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.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4cb5
cmp dword [esp + 8], 0
jle 0x5a4c26
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00412098
cmp eax, dword [esp + 0x10]
jle 0x5a4c42
lea eax, [esp + 0x24]
call fcn.00412098
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5a4ca7
mov byte [ebx + 0xa5], 1
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4c70
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00538f24
jmp 0x5a4c7b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00538f24
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.00538d4c
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.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a4cdc
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a4cdc
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4d54
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4d54
mov eax, dword [ebx + 0xa0]
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a4d54
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.0052616c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0xa0]
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5a4d9e
mov eax, esi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4d8b
mov eax, edi
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a4d9e
mov eax, dword [ebx + 0xa0]
call fcn.0052616c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a4d9e
push 0
mov eax, dword [ebx + 0xa0]
call fcn.0052616c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5a4db0
movzx edx, byte [esp]
mov eax, ebx
call fcn.005a4750
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret