Function at 0x607bf4
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 0x608254
test edi, edi
je 0x608254
mov eax, edi
call fcn.00559db4
test al, al
je 0x608254
mov eax, esi
call fcn.00559db4
test al, al
je 0x608254
mov eax, ebx
call fcn.00607bc4
test al, al
je 0x607cb6
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x607c65
push 0
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x607c85
push 0
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x608254
push 0
mov eax, dword [ebx + 0x94]
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
jmp 0x608254
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.00608608
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.006089b0
call fcn.005f939c
dec eax
test eax, eax
jl 0x607df4
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.006089b0
mov edx, ebp
call fcn.005f93e8
cmp byte [eax + 0x69], 0
je 0x607de9
mov eax, ebx
call fcn.006089b0
mov edx, ebp
call fcn.005f93e8
call fcn.005599e0
cmp eax, dword [ebx + 0x3c]
je 0x607de9
mov eax, ebx
call fcn.006089b0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005f93e8
call fcn.005599e0
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.00412dec
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x607d93
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x607da1
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00412634
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x607dc5
lea eax, [esp + 0x34]
call fcn.00412634
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0041263c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x607de9
lea eax, [esp + 0x34]
call fcn.0041263c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x607d02
cmp dword [esp + 4], 0
jl 0x607e0e
lea eax, [esp + 0x24]
call fcn.00412634
cmp eax, dword [esp + 0xc]
jl 0x607e0e
xor eax, eax
jmp 0x607e10
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x607e2e
lea eax, [esp + 0x24]
call fcn.0041263c
cmp eax, dword [esp + 0x10]
jl 0x607e2e
xor eax, eax
jmp 0x607e30
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x607e65
cmp byte [esp + 0x19], 0
jne 0x607e65
cmp dword [esp + 4], 0
jl 0x607e5f
lea eax, [esp + 0x24]
call fcn.00412634
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x607e5f
xor eax, eax
jmp 0x607e61
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x607e96
cmp byte [esp + 0x1a], 0
jne 0x607e96
cmp dword [esp + 8], 0
jl 0x607e90
lea eax, [esp + 0x24]
call fcn.0041263c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x607e90
xor eax, eax
jmp 0x607e92
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x607ef0
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x607ef0
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00412634
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.005599e0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x607f1c
cmp byte [esp + 0x19], 0
jne 0x607f1c
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x607f1c
push 0
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x607fb0
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x607fb0
cmp byte [esp + 0x19], 0
je 0x607f6f
push 0x40
lea eax, [esp + 0x28]
call fcn.0041263c
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.005599e0
push eax
call sub.user32.dll_SetWindowPos
jmp 0x607f9a
push 0x40
lea eax, [esp + 0x28]
call fcn.0041263c
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.005599e0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x607fdc
cmp byte [esp + 0x1a], 0
jne 0x607fdc
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x607fdc
push 0
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00412634
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0041263c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.006083e8
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6080a8
cmp dword [esp + 4], 0
jle 0x60801d
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00412634
cmp eax, dword [esp + 0xc]
jle 0x608039
lea eax, [esp + 0x24]
call fcn.00412634
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x60809a
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x608065
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0056af88
jmp 0x60806e
mov edx, ebp
mov eax, esi
call fcn.0056af88
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.0056adb4
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.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x608159
cmp dword [esp + 8], 0
jle 0x6080ca
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0041263c
cmp eax, dword [esp + 0x10]
jle 0x6080e6
lea eax, [esp + 0x24]
call fcn.0041263c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x60814b
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x608114
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0056af88
jmp 0x60811f
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0056af88
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.0056adb4
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.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x608180
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x608180
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6081f8
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x6081f8
mov eax, dword [ebx + 0x94]
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x6081f8
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.005599e0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
jmp 0x608242
mov eax, esi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x60822f
mov eax, edi
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x608242
mov eax, dword [ebx + 0x94]
call fcn.005599e0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x608242
push 0
mov eax, dword [ebx + 0x94]
call fcn.005599e0
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x608254
movzx edx, byte [esp]
mov eax, ebx
call fcn.00607bf4
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret