Function at 0x5ba038
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 0x5ba670
test edi, edi
je 0x5ba670
mov eax, edi
call fcn.0050b878
test al, al
je 0x5ba670
mov eax, esi
call fcn.0050b878
test al, al
je 0x5ba670
mov eax, ebx
call fcn.005ba008
test al, al
je 0x5ba0d2
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba0a9
push 0
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba670
push 0
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
jmp 0x5ba670
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005ba9f8
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.005bad50
call fcn.005aa414
dec eax
test eax, eax
jl 0x5ba210
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005bad50
mov edx, ebp
call fcn.005aa460
cmp byte [eax + 0x61], 0
je 0x5ba205
mov eax, ebx
call fcn.005bad50
mov edx, ebp
call fcn.005aa460
call fcn.0050b4c4
cmp eax, dword [ebx + 0x3c]
je 0x5ba205
mov eax, ebx
call fcn.005bad50
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005aa460
call fcn.0050b4c4
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.0040d04c
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5ba1af
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5ba1bd
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040ccd4
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5ba1e1
lea eax, [esp + 0x34]
call fcn.0040ccd4
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040ccdc
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5ba205
lea eax, [esp + 0x34]
call fcn.0040ccdc
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5ba11e
cmp dword [esp + 4], 0
jl 0x5ba22a
lea eax, [esp + 0x24]
call fcn.0040ccd4
cmp eax, dword [esp + 0xc]
jl 0x5ba22a
xor eax, eax
jmp 0x5ba22c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5ba24a
lea eax, [esp + 0x24]
call fcn.0040ccdc
cmp eax, dword [esp + 0x10]
jl 0x5ba24a
xor eax, eax
jmp 0x5ba24c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5ba281
cmp byte [esp + 0x19], 0
jne 0x5ba281
cmp dword [esp + 4], 0
jl 0x5ba27b
lea eax, [esp + 0x24]
call fcn.0040ccd4
sub eax, dword [edi + 0x50]
cmp eax, dword [esp + 0xc]
jl 0x5ba27b
xor eax, eax
jmp 0x5ba27d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5ba2b2
cmp byte [esp + 0x1a], 0
jne 0x5ba2b2
cmp dword [esp + 8], 0
jl 0x5ba2ac
lea eax, [esp + 0x24]
call fcn.0040ccdc
sub eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x10]
jl 0x5ba2ac
xor eax, eax
jmp 0x5ba2ae
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5ba30c
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ba30c
push 0x40
mov eax, dword [esi + 0x54]
push eax
lea eax, [esp + 0x2c]
call fcn.0040ccd4
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.0050b4c4
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5ba338
cmp byte [esp + 0x19], 0
jne 0x5ba338
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba338
push 0
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5ba3cc
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ba3cc
cmp byte [esp + 0x19], 0
je 0x5ba38b
push 0x40
lea eax, [esp + 0x28]
call fcn.0040ccdc
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.0050b4c4
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5ba3b6
push 0x40
lea eax, [esp + 0x28]
call fcn.0040ccdc
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.0050b4c4
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5ba3f8
cmp byte [esp + 0x1a], 0
jne 0x5ba3f8
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba3f8
push 0
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040ccd4
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040ccdc
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005ba7d8
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba4c4
cmp dword [esp + 4], 0
jle 0x5ba439
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040ccd4
cmp eax, dword [esp + 0xc]
jle 0x5ba455
lea eax, [esp + 0x24]
call fcn.0040ccd4
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5ba4b6
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba481
mov edx, ebp
sub edx, dword [edi + 0x50]
mov eax, esi
call fcn.00523c88
jmp 0x5ba48a
mov edx, ebp
mov eax, esi
call fcn.00523c88
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.00523ab4
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.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba575
cmp dword [esp + 8], 0
jle 0x5ba4e6
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040ccdc
cmp eax, dword [esp + 0x10]
jle 0x5ba502
lea eax, [esp + 0x24]
call fcn.0040ccdc
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5ba567
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba530
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x54]
mov eax, edi
call fcn.00523c88
jmp 0x5ba53b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00523c88
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.00523ab4
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.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ba59c
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ba59c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba614
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba614
mov eax, dword [ebx + 0x94]
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ba614
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.0050b4c4
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
jmp 0x5ba65e
mov eax, esi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba64b
mov eax, edi
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5ba65e
mov eax, dword [ebx + 0x94]
call fcn.0050b4c4
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5ba65e
push 0
mov eax, dword [ebx + 0x94]
call fcn.0050b4c4
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5ba670
movzx edx, byte [esp]
mov eax, ebx
call fcn.005ba038
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret