Function at 0x668a98
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 + 0x90]
mov edi, dword [ebx + 0xa0]
test esi, esi
je 0x6690f8
test edi, edi
je 0x6690f8
mov eax, edi
call fcn.0057c718
test al, al
je 0x6690f8
mov eax, esi
call fcn.0057c718
test al, al
je 0x6690f8
mov eax, ebx
call fcn.00668a68
test al, al
je 0x668b5a
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668b09
push 0
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668b29
push 0
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x98]
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6690f8
push 0
mov eax, dword [ebx + 0x98]
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
jmp 0x6690f8
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.006694ac
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.00669ae0
call fcn.00655d4c
dec eax
test eax, eax
jl 0x668c98
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00669ae0
mov edx, ebp
call fcn.00655d98
cmp byte [eax + 0x69], 0
je 0x668c8d
mov eax, ebx
call fcn.00669ae0
mov edx, ebp
call fcn.00655d98
call fcn.0057c340
cmp eax, dword [ebx + 0x40]
je 0x668c8d
mov eax, ebx
call fcn.00669ae0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00655d98
call fcn.0057c340
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3d0]
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.004141c0
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x668c37
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x668c45
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00413a7c
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x668c69
lea eax, [esp + 0x34]
call fcn.00413a7c
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00413a8c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x668c8d
lea eax, [esp + 0x34]
call fcn.00413a8c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x668ba6
cmp dword [esp + 4], 0
jl 0x668cb2
lea eax, [esp + 0x24]
call fcn.00413a7c
cmp eax, dword [esp + 0xc]
jl 0x668cb2
xor eax, eax
jmp 0x668cb4
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x668cd2
lea eax, [esp + 0x24]
call fcn.00413a8c
cmp eax, dword [esp + 0x10]
jl 0x668cd2
xor eax, eax
jmp 0x668cd4
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x668d09
cmp byte [esp + 0x19], 0
jne 0x668d09
cmp dword [esp + 4], 0
jl 0x668d03
lea eax, [esp + 0x24]
call fcn.00413a7c
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x668d03
xor eax, eax
jmp 0x668d05
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x668d3a
cmp byte [esp + 0x1a], 0
jne 0x668d3a
cmp dword [esp + 8], 0
jl 0x668d34
lea eax, [esp + 0x24]
call fcn.00413a8c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x668d34
xor eax, eax
jmp 0x668d36
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x668d94
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x668d94
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00413a7c
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.0057c340
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x668dc0
cmp byte [esp + 0x19], 0
jne 0x668dc0
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668dc0
push 0
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x668e54
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x668e54
cmp byte [esp + 0x19], 0
je 0x668e13
push 0x40
lea eax, [esp + 0x28]
call fcn.00413a8c
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.0057c340
push eax
call sub.user32.dll_SetWindowPos
jmp 0x668e3e
push 0x40
lea eax, [esp + 0x28]
call fcn.00413a8c
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.0057c340
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x668e80
cmp byte [esp + 0x1a], 0
jne 0x668e80
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668e80
push 0
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00413a7c
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00413a8c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.0066928c
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668f4c
cmp dword [esp + 4], 0
jle 0x668ec1
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00413a7c
cmp eax, dword [esp + 0xc]
jle 0x668edd
lea eax, [esp + 0x24]
call fcn.00413a7c
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x668f3e
mov byte [ebx + 0x9c], 1
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668f09
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0059d584
jmp 0x668f12
mov edx, ebp
mov eax, esi
call fcn.0059d584
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.0059d3ac
mov eax, dword [esi + 0x2ac]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x9c], 0
movzx eax, word [esi + 0x2b8]
mov word [esi + 0x2c2], ax
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668ffd
cmp dword [esp + 8], 0
jle 0x668f6e
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00413a8c
cmp eax, dword [esp + 0x10]
jle 0x668f8a
lea eax, [esp + 0x24]
call fcn.00413a8c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x668fef
mov byte [ebx + 0x9d], 1
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x668fb8
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0059d584
jmp 0x668fc3
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0059d584
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.0059d3ac
mov eax, dword [edi + 0x2ac]
mov dword [ebx + 0xc0], eax
mov byte [ebx + 0x9d], 0
movzx eax, word [edi + 0x2b8]
mov word [edi + 0x2c2], ax
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x669024
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x669024
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x66909c
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x66909c
mov eax, dword [ebx + 0x98]
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x66909c
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 + 0x98]
call fcn.0057c340
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x98]
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
jmp 0x6690e6
mov eax, esi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6690d3
mov eax, edi
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6690e6
mov eax, dword [ebx + 0x98]
call fcn.0057c340
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6690e6
push 0
mov eax, dword [ebx + 0x98]
call fcn.0057c340
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x6690f8
movzx edx, byte [esp]
mov eax, ebx
call fcn.00668a98
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret