Function at 0x6037b0
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 0x603e10
test edi, edi
je 0x603e10
mov eax, edi
call fcn.0054a71c
test al, al
je 0x603e10
mov eax, esi
call fcn.0054a71c
test al, al
je 0x603e10
mov eax, ebx
call fcn.00603780
test al, al
je 0x603872
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603821
push 0
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603841
push 0
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603e10
push 0
mov eax, dword [ebx + 0x94]
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
jmp 0x603e10
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.006041c4
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.0060456c
call fcn.005f21b4
dec eax
test eax, eax
jl 0x6039b0
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.0060456c
mov edx, ebp
call fcn.005f2200
cmp byte [eax + 0x69], 0
je 0x6039a5
mov eax, ebx
call fcn.0060456c
mov edx, ebp
call fcn.005f2200
call fcn.0054a348
cmp eax, dword [ebx + 0x3c]
je 0x6039a5
mov eax, ebx
call fcn.0060456c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005f2200
call fcn.0054a348
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.00412d54
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x60394f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x60395d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00412624
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x603981
lea eax, [esp + 0x34]
call fcn.00412624
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0041262c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x6039a5
lea eax, [esp + 0x34]
call fcn.0041262c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x6038be
cmp dword [esp + 4], 0
jl 0x6039ca
lea eax, [esp + 0x24]
call fcn.00412624
cmp eax, dword [esp + 0xc]
jl 0x6039ca
xor eax, eax
jmp 0x6039cc
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x6039ea
lea eax, [esp + 0x24]
call fcn.0041262c
cmp eax, dword [esp + 0x10]
jl 0x6039ea
xor eax, eax
jmp 0x6039ec
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x603a21
cmp byte [esp + 0x19], 0
jne 0x603a21
cmp dword [esp + 4], 0
jl 0x603a1b
lea eax, [esp + 0x24]
call fcn.00412624
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x603a1b
xor eax, eax
jmp 0x603a1d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x603a52
cmp byte [esp + 0x1a], 0
jne 0x603a52
cmp dword [esp + 8], 0
jl 0x603a4c
lea eax, [esp + 0x24]
call fcn.0041262c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x603a4c
xor eax, eax
jmp 0x603a4e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x603aac
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x603aac
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00412624
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.0054a348
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x603ad8
cmp byte [esp + 0x19], 0
jne 0x603ad8
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603ad8
push 0
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x603b6c
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x603b6c
cmp byte [esp + 0x19], 0
je 0x603b2b
push 0x40
lea eax, [esp + 0x28]
call fcn.0041262c
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.0054a348
push eax
call sub.user32.dll_SetWindowPos
jmp 0x603b56
push 0x40
lea eax, [esp + 0x28]
call fcn.0041262c
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.0054a348
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x603b98
cmp byte [esp + 0x1a], 0
jne 0x603b98
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603b98
push 0
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00412624
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0041262c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.00603fa4
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603c64
cmp dword [esp + 4], 0
jle 0x603bd9
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00412624
cmp eax, dword [esp + 0xc]
jle 0x603bf5
lea eax, [esp + 0x24]
call fcn.00412624
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x603c56
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603c21
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0056012c
jmp 0x603c2a
mov edx, ebp
mov eax, esi
call fcn.0056012c
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.0055ff58
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.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603d15
cmp dword [esp + 8], 0
jle 0x603c86
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0041262c
cmp eax, dword [esp + 0x10]
jle 0x603ca2
lea eax, [esp + 0x24]
call fcn.0041262c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x603d07
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603cd0
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0056012c
jmp 0x603cdb
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0056012c
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.0055ff58
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.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x603d3c
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x603d3c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603db4
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603db4
mov eax, dword [ebx + 0x94]
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x603db4
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.0054a348
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
jmp 0x603dfe
mov eax, esi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603deb
mov eax, edi
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x603dfe
mov eax, dword [ebx + 0x94]
call fcn.0054a348
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x603dfe
push 0
mov eax, dword [ebx + 0x94]
call fcn.0054a348
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x603e10
movzx edx, byte [esp]
mov eax, ebx
call fcn.006037b0
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret