Function at 0x5552d4
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 0x55590c
test edi, edi
je 0x55590c
mov eax, edi
call fcn.0057ddd8
test al, al
je 0x55590c
mov eax, esi
call fcn.0057ddd8
test al, al
je 0x55590c
mov eax, ebx
call fcn.005552a4
test al, al
je 0x55536e
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x555345
push 0
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x55590c
push 0
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
jmp 0x55590c
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.00555c94
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.00555fec
call fcn.00545b28
dec eax
test eax, eax
jl 0x5554ac
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00555fec
mov edx, ebp
call fcn.00545b74
cmp byte [eax + 0x61], 0
je 0x5554a1
mov eax, ebx
call fcn.00555fec
mov edx, ebp
call fcn.00545b74
call fcn.0057da24
cmp eax, dword [ebx + 0x3c]
je 0x5554a1
mov eax, ebx
call fcn.00555fec
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00545b74
call fcn.0057da24
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.0040c1d8
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x55544b
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x555459
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040bf1c
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x55547d
lea eax, [esp + 0x34]
call fcn.0040bf1c
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040bf24
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5554a1
lea eax, [esp + 0x34]
call fcn.0040bf24
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5553ba
cmp dword [esp + 4], 0
jl 0x5554c6
lea eax, [esp + 0x24]
call fcn.0040bf1c
cmp eax, dword [esp + 0xc]
jl 0x5554c6
xor eax, eax
jmp 0x5554c8
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5554e6
lea eax, [esp + 0x24]
call fcn.0040bf24
cmp eax, dword [esp + 0x10]
jl 0x5554e6
xor eax, eax
jmp 0x5554e8
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x55551d
cmp byte [esp + 0x19], 0
jne 0x55551d
cmp dword [esp + 4], 0
jl 0x555517
lea eax, [esp + 0x24]
call fcn.0040bf1c
sub eax, dword [edi + 0x50]
cmp eax, dword [esp + 0xc]
jl 0x555517
xor eax, eax
jmp 0x555519
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x55554e
cmp byte [esp + 0x1a], 0
jne 0x55554e
cmp dword [esp + 8], 0
jl 0x555548
lea eax, [esp + 0x24]
call fcn.0040bf24
sub eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x10]
jl 0x555548
xor eax, eax
jmp 0x55554a
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5555a8
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5555a8
push 0x40
mov eax, dword [esi + 0x54]
push eax
lea eax, [esp + 0x2c]
call fcn.0040bf1c
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.0057da24
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5555d4
cmp byte [esp + 0x19], 0
jne 0x5555d4
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5555d4
push 0
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x555668
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x555668
cmp byte [esp + 0x19], 0
je 0x555627
push 0x40
lea eax, [esp + 0x28]
call fcn.0040bf24
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.0057da24
push eax
call sub.user32.dll_SetWindowPos
jmp 0x555652
push 0x40
lea eax, [esp + 0x28]
call fcn.0040bf24
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.0057da24
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x555694
cmp byte [esp + 0x1a], 0
jne 0x555694
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x555694
push 0
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040bf1c
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040bf24
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.00555a74
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x555760
cmp dword [esp + 4], 0
jle 0x5556d5
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040bf1c
cmp eax, dword [esp + 0xc]
jle 0x5556f1
lea eax, [esp + 0x24]
call fcn.0040bf1c
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x555752
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x55571d
mov edx, ebp
sub edx, dword [edi + 0x50]
mov eax, esi
call fcn.004e4bd4
jmp 0x555726
mov edx, ebp
mov eax, esi
call fcn.004e4bd4
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.004e4a00
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.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x555811
cmp dword [esp + 8], 0
jle 0x555782
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040bf24
cmp eax, dword [esp + 0x10]
jle 0x55579e
lea eax, [esp + 0x24]
call fcn.0040bf24
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x555803
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5557cc
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x54]
mov eax, edi
call fcn.004e4bd4
jmp 0x5557d7
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.004e4bd4
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.004e4a00
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.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x555838
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x555838
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5558b0
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5558b0
mov eax, dword [ebx + 0x94]
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5558b0
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.0057da24
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
jmp 0x5558fa
mov eax, esi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5558e7
mov eax, edi
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5558fa
mov eax, dword [ebx + 0x94]
call fcn.0057da24
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5558fa
push 0
mov eax, dword [ebx + 0x94]
call fcn.0057da24
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x55590c
movzx edx, byte [esp]
mov eax, ebx
call fcn.005552d4
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret