Function at 0x61d960
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 0x61df98
test edi, edi
je 0x61df98
mov eax, edi
call fcn.0054af2c
test al, al
je 0x61df98
mov eax, esi
call fcn.0054af2c
test al, al
je 0x61df98
mov eax, ebx
call fcn.0061d930
test al, al
je 0x61d9fa
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61d9d1
push 0
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61df98
push 0
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
jmp 0x61df98
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.0061e320
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.0061e678
call fcn.0060d4c4
dec eax
test eax, eax
jl 0x61db38
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.0061e678
mov edx, ebp
call fcn.0060d510
cmp byte [eax + 0x69], 0
je 0x61db2d
mov eax, ebx
call fcn.0061e678
mov edx, ebp
call fcn.0060d510
call fcn.0054ab5c
cmp eax, dword [ebx + 0x3c]
je 0x61db2d
mov eax, ebx
call fcn.0061e678
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.0060d510
call fcn.0054ab5c
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3a4]
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.004100ec
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x61dad7
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x61dae5
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040f9f8
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x61db09
lea eax, [esp + 0x34]
call fcn.0040f9f8
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040fa00
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x61db2d
lea eax, [esp + 0x34]
call fcn.0040fa00
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x61da46
cmp dword [esp + 4], 0
jl 0x61db52
lea eax, [esp + 0x24]
call fcn.0040f9f8
cmp eax, dword [esp + 0xc]
jl 0x61db52
xor eax, eax
jmp 0x61db54
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x61db72
lea eax, [esp + 0x24]
call fcn.0040fa00
cmp eax, dword [esp + 0x10]
jl 0x61db72
xor eax, eax
jmp 0x61db74
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x61dba9
cmp byte [esp + 0x19], 0
jne 0x61dba9
cmp dword [esp + 4], 0
jl 0x61dba3
lea eax, [esp + 0x24]
call fcn.0040f9f8
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x61dba3
xor eax, eax
jmp 0x61dba5
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x61dbda
cmp byte [esp + 0x1a], 0
jne 0x61dbda
cmp dword [esp + 8], 0
jl 0x61dbd4
lea eax, [esp + 0x24]
call fcn.0040fa00
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x61dbd4
xor eax, eax
jmp 0x61dbd6
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x61dc34
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61dc34
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.0040f9f8
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.0054ab5c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x61dc60
cmp byte [esp + 0x19], 0
jne 0x61dc60
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61dc60
push 0
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x61dcf4
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61dcf4
cmp byte [esp + 0x19], 0
je 0x61dcb3
push 0x40
lea eax, [esp + 0x28]
call fcn.0040fa00
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.0054ab5c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x61dcde
push 0x40
lea eax, [esp + 0x28]
call fcn.0040fa00
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.0054ab5c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x61dd20
cmp byte [esp + 0x1a], 0
jne 0x61dd20
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61dd20
push 0
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040f9f8
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040fa00
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.0061e100
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61ddec
cmp dword [esp + 4], 0
jle 0x61dd61
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040f9f8
cmp eax, dword [esp + 0xc]
jle 0x61dd7d
lea eax, [esp + 0x24]
call fcn.0040f9f8
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x61ddde
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61dda9
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0056a5d0
jmp 0x61ddb2
mov edx, ebp
mov eax, esi
call fcn.0056a5d0
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.0056a3fc
mov eax, dword [esi + 0x294]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2a0]
mov word [esi + 0x2aa], ax
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61de9d
cmp dword [esp + 8], 0
jle 0x61de0e
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040fa00
cmp eax, dword [esp + 0x10]
jle 0x61de2a
lea eax, [esp + 0x24]
call fcn.0040fa00
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x61de8f
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61de58
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0056a5d0
jmp 0x61de63
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0056a5d0
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.0056a3fc
mov eax, dword [edi + 0x294]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2a0]
mov word [edi + 0x2aa], ax
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61dec4
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61dec4
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61df3c
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61df3c
mov eax, dword [ebx + 0x94]
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61df3c
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.0054ab5c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
jmp 0x61df86
mov eax, esi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61df73
mov eax, edi
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x61df86
mov eax, dword [ebx + 0x94]
call fcn.0054ab5c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x61df86
push 0
mov eax, dword [ebx + 0x94]
call fcn.0054ab5c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x61df98
movzx edx, byte [esp]
mov eax, ebx
call fcn.0061d960
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret