Function at 0x615f70
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 0x6165d0
test edi, edi
je 0x6165d0
mov eax, edi
call fcn.005645c4
test al, al
je 0x6165d0
mov eax, esi
call fcn.005645c4
test al, al
je 0x6165d0
mov eax, ebx
call fcn.00615f40
test al, al
je 0x616032
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x615fe1
push 0
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x616001
push 0
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6165d0
push 0
mov eax, dword [ebx + 0x94]
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
jmp 0x6165d0
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.00616984
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.00616d2c
call fcn.00607938
dec eax
test eax, eax
jl 0x616170
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00616d2c
mov edx, ebp
call fcn.00607984
cmp byte [eax + 0x69], 0
je 0x616165
mov eax, ebx
call fcn.00616d2c
mov edx, ebp
call fcn.00607984
call fcn.005641f0
cmp eax, dword [ebx + 0x3c]
je 0x616165
mov eax, ebx
call fcn.00616d2c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00607984
call fcn.005641f0
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3c4]
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.00413c88
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x61610f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x61611d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00413558
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x616141
lea eax, [esp + 0x34]
call fcn.00413558
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00413560
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x616165
lea eax, [esp + 0x34]
call fcn.00413560
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x61607e
cmp dword [esp + 4], 0
jl 0x61618a
lea eax, [esp + 0x24]
call fcn.00413558
cmp eax, dword [esp + 0xc]
jl 0x61618a
xor eax, eax
jmp 0x61618c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x6161aa
lea eax, [esp + 0x24]
call fcn.00413560
cmp eax, dword [esp + 0x10]
jl 0x6161aa
xor eax, eax
jmp 0x6161ac
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x6161e1
cmp byte [esp + 0x19], 0
jne 0x6161e1
cmp dword [esp + 4], 0
jl 0x6161db
lea eax, [esp + 0x24]
call fcn.00413558
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x6161db
xor eax, eax
jmp 0x6161dd
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x616212
cmp byte [esp + 0x1a], 0
jne 0x616212
cmp dword [esp + 8], 0
jl 0x61620c
lea eax, [esp + 0x24]
call fcn.00413560
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x61620c
xor eax, eax
jmp 0x61620e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x61626c
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61626c
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00413558
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.005641f0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x616298
cmp byte [esp + 0x19], 0
jne 0x616298
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x616298
push 0
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x61632c
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61632c
cmp byte [esp + 0x19], 0
je 0x6162eb
push 0x40
lea eax, [esp + 0x28]
call fcn.00413560
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.005641f0
push eax
call sub.user32.dll_SetWindowPos
jmp 0x616316
push 0x40
lea eax, [esp + 0x28]
call fcn.00413560
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.005641f0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x616358
cmp byte [esp + 0x1a], 0
jne 0x616358
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x616358
push 0
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00413558
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00413560
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.00616764
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x616424
cmp dword [esp + 4], 0
jle 0x616399
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00413558
cmp eax, dword [esp + 0xc]
jle 0x6163b5
lea eax, [esp + 0x24]
call fcn.00413558
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x616416
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6163e1
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0057578c
jmp 0x6163ea
mov edx, ebp
mov eax, esi
call fcn.0057578c
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.005755b8
mov eax, dword [esi + 0x2a4]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2b0]
mov word [esi + 0x2ba], ax
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6164d5
cmp dword [esp + 8], 0
jle 0x616446
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00413560
cmp eax, dword [esp + 0x10]
jle 0x616462
lea eax, [esp + 0x24]
call fcn.00413560
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x6164c7
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x616490
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0057578c
jmp 0x61649b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0057578c
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.005755b8
mov eax, dword [edi + 0x2a4]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2b0]
mov word [edi + 0x2ba], ax
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6164fc
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6164fc
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x616574
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x616574
mov eax, dword [ebx + 0x94]
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x616574
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 + 0x94]
call fcn.005641f0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
jmp 0x6165be
mov eax, esi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6165ab
mov eax, edi
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6165be
mov eax, dword [ebx + 0x94]
call fcn.005641f0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6165be
push 0
mov eax, dword [ebx + 0x94]
call fcn.005641f0
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x6165d0
movzx edx, byte [esp]
mov eax, ebx
call fcn.00615f70
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret