Function at 0x56aed0
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 0x56b508
test edi, edi
je 0x56b508
mov eax, edi
call fcn.004f6f50
test al, al
je 0x56b508
mov eax, esi
call fcn.004f6f50
test al, al
je 0x56b508
mov eax, ebx
call fcn.0056aea0
test al, al
je 0x56af6a
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56af41
push 0
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b508
push 0
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
jmp 0x56b508
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.0056b890
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.0056bbe8
call fcn.0055db08
dec eax
test eax, eax
jl 0x56b0a8
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.0056bbe8
mov edx, ebp
call fcn.0055db54
cmp byte [eax + 0x61], 0
je 0x56b09d
mov eax, ebx
call fcn.0056bbe8
mov edx, ebp
call fcn.0055db54
call fcn.004f6b9c
cmp eax, dword [ebx + 0x3c]
je 0x56b09d
mov eax, ebx
call fcn.0056bbe8
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.0055db54
call fcn.004f6b9c
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x394]
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.0040eaec
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x56b047
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x56b055
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040e830
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x56b079
lea eax, [esp + 0x34]
call fcn.0040e830
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040e838
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x56b09d
lea eax, [esp + 0x34]
call fcn.0040e838
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x56afb6
cmp dword [esp + 4], 0
jl 0x56b0c2
lea eax, [esp + 0x24]
call fcn.0040e830
cmp eax, dword [esp + 0xc]
jl 0x56b0c2
xor eax, eax
jmp 0x56b0c4
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x56b0e2
lea eax, [esp + 0x24]
call fcn.0040e838
cmp eax, dword [esp + 0x10]
jl 0x56b0e2
xor eax, eax
jmp 0x56b0e4
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x56b119
cmp byte [esp + 0x19], 0
jne 0x56b119
cmp dword [esp + 4], 0
jl 0x56b113
lea eax, [esp + 0x24]
call fcn.0040e830
sub eax, dword [edi + 0x50]
cmp eax, dword [esp + 0xc]
jl 0x56b113
xor eax, eax
jmp 0x56b115
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x56b14a
cmp byte [esp + 0x1a], 0
jne 0x56b14a
cmp dword [esp + 8], 0
jl 0x56b144
lea eax, [esp + 0x24]
call fcn.0040e838
sub eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x10]
jl 0x56b144
xor eax, eax
jmp 0x56b146
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x56b1a4
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x56b1a4
push 0x40
mov eax, dword [esi + 0x54]
push eax
lea eax, [esp + 0x2c]
call fcn.0040e830
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x56b1d0
cmp byte [esp + 0x19], 0
jne 0x56b1d0
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b1d0
push 0
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x56b264
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x56b264
cmp byte [esp + 0x19], 0
je 0x56b223
push 0x40
lea eax, [esp + 0x28]
call fcn.0040e838
sub eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
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.004f6b9c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x56b24e
push 0x40
lea eax, [esp + 0x28]
call fcn.0040e838
push eax
mov ebp, dword [edi + 0x50]
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.004f6b9c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x56b290
cmp byte [esp + 0x1a], 0
jne 0x56b290
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b290
push 0
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040e830
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040e838
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.0056b670
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b35c
cmp dword [esp + 4], 0
jle 0x56b2d1
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040e830
cmp eax, dword [esp + 0xc]
jle 0x56b2ed
lea eax, [esp + 0x24]
call fcn.0040e830
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x56b34e
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b319
mov edx, ebp
sub edx, dword [edi + 0x50]
mov eax, esi
call fcn.00507444
jmp 0x56b322
mov edx, ebp
mov eax, esi
call fcn.00507444
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.00507270
mov eax, dword [esi + 0x28c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x298]
mov word [esi + 0x2a2], ax
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b40d
cmp dword [esp + 8], 0
jle 0x56b37e
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040e838
cmp eax, dword [esp + 0x10]
jle 0x56b39a
lea eax, [esp + 0x24]
call fcn.0040e838
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x56b3ff
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b3c8
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x54]
mov eax, edi
call fcn.00507444
jmp 0x56b3d3
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00507444
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.00507270
mov eax, dword [edi + 0x28c]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x298]
mov word [edi + 0x2a2], ax
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x56b434
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x56b434
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b4ac
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b4ac
mov eax, dword [ebx + 0x94]
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x56b4ac
push 0x40
mov eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x94]
call fcn.004f6b9c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
jmp 0x56b4f6
mov eax, esi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b4e3
mov eax, edi
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x56b4f6
mov eax, dword [ebx + 0x94]
call fcn.004f6b9c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x56b4f6
push 0
mov eax, dword [ebx + 0x94]
call fcn.004f6b9c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x56b508
movzx edx, byte [esp]
mov eax, ebx
call fcn.0056aed0
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret