Function at 0x681170
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 0x6817d0
test edi, edi
je 0x6817d0
mov eax, edi
call fcn.005ccd28
test al, al
je 0x6817d0
mov eax, esi
call fcn.005ccd28
test al, al
je 0x6817d0
mov eax, ebx
call fcn.00681140
test al, al
je 0x681232
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6811e1
push 0
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x681201
push 0
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x98]
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6817d0
push 0
mov eax, dword [ebx + 0x98]
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
jmp 0x6817d0
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.00681b84
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.006821b8
call fcn.00671240
dec eax
test eax, eax
jl 0x681370
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.006821b8
mov edx, ebp
call fcn.0067128c
cmp byte [eax + 0x69], 0
je 0x681365
mov eax, ebx
call fcn.006821b8
mov edx, ebp
call fcn.0067128c
call fcn.005cc950
cmp eax, dword [ebx + 0x40]
je 0x681365
mov eax, ebx
call fcn.006821b8
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.0067128c
call fcn.005cc950
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.00414364
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x68130f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x68131d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00413c3c
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x681341
lea eax, [esp + 0x34]
call fcn.00413c3c
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00413c4c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x681365
lea eax, [esp + 0x34]
call fcn.00413c4c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x68127e
cmp dword [esp + 4], 0
jl 0x68138a
lea eax, [esp + 0x24]
call fcn.00413c3c
cmp eax, dword [esp + 0xc]
jl 0x68138a
xor eax, eax
jmp 0x68138c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x6813aa
lea eax, [esp + 0x24]
call fcn.00413c4c
cmp eax, dword [esp + 0x10]
jl 0x6813aa
xor eax, eax
jmp 0x6813ac
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x6813e1
cmp byte [esp + 0x19], 0
jne 0x6813e1
cmp dword [esp + 4], 0
jl 0x6813db
lea eax, [esp + 0x24]
call fcn.00413c3c
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x6813db
xor eax, eax
jmp 0x6813dd
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x681412
cmp byte [esp + 0x1a], 0
jne 0x681412
cmp dword [esp + 8], 0
jl 0x68140c
lea eax, [esp + 0x24]
call fcn.00413c4c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x68140c
xor eax, eax
jmp 0x68140e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x68146c
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x68146c
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00413c3c
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.005cc950
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x681498
cmp byte [esp + 0x19], 0
jne 0x681498
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x681498
push 0
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x68152c
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x68152c
cmp byte [esp + 0x19], 0
je 0x6814eb
push 0x40
lea eax, [esp + 0x28]
call fcn.00413c4c
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.005cc950
push eax
call sub.user32.dll_SetWindowPos
jmp 0x681516
push 0x40
lea eax, [esp + 0x28]
call fcn.00413c4c
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.005cc950
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x681558
cmp byte [esp + 0x1a], 0
jne 0x681558
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x681558
push 0
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00413c3c
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00413c4c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.00681964
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x681624
cmp dword [esp + 4], 0
jle 0x681599
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00413c3c
cmp eax, dword [esp + 0xc]
jle 0x6815b5
lea eax, [esp + 0x24]
call fcn.00413c3c
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x681616
mov byte [ebx + 0x9c], 1
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6815e1
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.005df184
jmp 0x6815ea
mov edx, ebp
mov eax, esi
call fcn.005df184
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.005defac
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.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6816d5
cmp dword [esp + 8], 0
jle 0x681646
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00413c4c
cmp eax, dword [esp + 0x10]
jle 0x681662
lea eax, [esp + 0x24]
call fcn.00413c4c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x6816c7
mov byte [ebx + 0x9d], 1
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x681690
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.005df184
jmp 0x68169b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.005df184
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.005defac
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.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6816fc
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6816fc
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x681774
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x681774
mov eax, dword [ebx + 0x98]
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x681774
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.005cc950
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x98]
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
jmp 0x6817be
mov eax, esi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6817ab
mov eax, edi
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6817be
mov eax, dword [ebx + 0x98]
call fcn.005cc950
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6817be
push 0
mov eax, dword [ebx + 0x98]
call fcn.005cc950
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x6817d0
movzx edx, byte [esp]
mov eax, ebx
call fcn.00681170
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret